Skip to content

Releases: Voblit/py2ez80

1.1.2 [compilation fix]

Choose a tag to compare

@Voblit Voblit released this 23 Jul 13:39
31aa793

A huge problem with D is that it requires some dlls at runtime. I tried throwing them into the dependencies, but a nicer way would just be to make it compile an .exe that doesn't need allathat.

release_1 1 2
  • Fixed missing runtime DLL dependency by switching executable builds to static 32-bit OMF compilation (-m32).
  • Embedded C and D runtime libraries directly into py2ez80.exe, eliminating external Visual C++ Redistributable requirements.
  • Resolved execution crashes (0xc000007b and missing msvcr120.dll) when running on clean Windows environments without DMD installed.

1.2 [Wizard]

Choose a tag to compare

@Voblit Voblit released this 23 Jul 21:43
3b0da6d

Finally, we've added an interactive wizard, and flags to allow for multiple files compiled, and to only compile to C.

fourth_release
  • Interactive CLI Wizard: Added an interactive terminal wizard triggered automatically when launching py2ez80.exe without arguments or via the --wizard flag.
  • C-Only Output Flag (--only-c): Added support to transpile Python files directly to standalone C99 (.c) source code without invoking the CEdev build pipeline.
  • Batch Compilation (--multi): Introduced multi-file processing support to sequentially transpile and compile multiple Python scripts in a single command.
  • ANSI Color Output: Added multi-colored ANSI terminal styling across standard build logs, status messages, and the terminal header banner.

1.1.1 [bug fix]

Choose a tag to compare

@Voblit Voblit released this 22 Jul 22:03
5bce8fc

After another batch of testing, I discovered that the input function didn't work, so here is the patch...

first_release(2)
  • Fixed input() variable type inference: Updated AssignNode checking in codegen.d to detect input() calls and track target variables as const char* pointers, preventing invalid C99 implicit integer conversion assignments.
  • Resolved missing system input header: Added explicit #include <ti/screen.h> header to the code generator preamble to properly expose the native CEdev toolchain declaration for os_GetStringInput.
  • Integrated native OS input prompt: Lowered Python's input() function to os_GetStringInput(":", buf, sizeof(buf) - 1) runtime calls, enabling native, full-line text input on the TI-84 Plus CE keypad.

As always, all the .exe needs is to be within the same folder as the input python file and the CEdev folder, so all you need is this file...

1.1 [Random Lib]

Choose a tag to compare

@Voblit Voblit released this 22 Jul 14:07
3d7bada

This new release adds the "random" library

first_release(1)
  • Added random module support: Integrated lowering for random.seed(), random.random(), random.randint(), and random.randrange() in codegen.d.
  • Fixed missing expression semicolons: Ensured top-level method calls like random.seed(42) correctly append terminating semicolons to generated main statements.
  • Resolved printf format mismatches: Updated CallNode print handling to dynamically emit %f for float/double variables instead of defaulting to %d.
  • Fixed statement lowering error: Corrected CCodegen.generate main loop iteration to handle pre-compiled C statement strings directly without calling compileNode.

Technically, all the .exe needs is to be within the same folder as the input python file and the CEdev folder, so all you need is this file...

1.0.1 [bug fix]

Choose a tag to compare

@Voblit Voblit released this 22 Jul 13:32
5bce8fc

We where aware with a critical bug in the import math system and have fixed it.

first_release(3)
  • Resolved strict C99 implicit function errors: Added explicit #include <math.h> and #include <stdio.h> headers directly to the code generator preamble to prevent fatal LLVM/CEdev toolchain failures.
  • Fixed import math module mapping: Corrected ImportNode lowering in codegen.d so importing Python's math library properly includes native C <math.h> headers during compilation.

Technically, all the .exe needs is to be within the same folder as the input python file and the CEdev folder, so all you need is this file...

1.0

1.0

Choose a tag to compare

@Voblit Voblit released this 22 Jul 00:36
cb33f4e

First release! Technically, all the .exe needs is to be within the same folder as the input python file and the CEdev folder, so all you need is this file...

first_release

Has following features:

  • Variables and Types: Implicit typing for integers, floats, booleans, and strings.
  • Operators: Arithmetic (+, -, *, /, %), comparison (==, !=, <, >, <=, >=), and logical (and, or, not) operators.
  • Assignments: Standard (=) and compound assignments (+=, -=, *=, /=).
  • Conditionals: if, elif, and else logic.
  • Loops: while loops and for loops using range().
  • Loop Control: break, continue, and pass statements.
  • Data Structures: List declaration, indexing, assignments, and .append() methods, alongside basic tuple and dictionary literal parsing.
  • Functions: Custom function definitions (def) with parameter passing and return statements.
  • Built-ins and Modules: Built-in print(), len(), and input() functions, plus math module mapping (e.g., math.sqrt()).
  • Classes and OOP: Class definitions and method calls compiled to C structs.
  • Exception Handling: Emulated try, except, and raise blocks using standard C jumps.