Releases: michaelcmartin/Ophis
Releases · michaelcmartin/Ophis
Ophis 2.2
Ophis 2.2 has been released! The work here is mostly internal for compatibility but there are a few bugfixes and cleanups too.
New Features
- All instructions with Absolute modes may force them with a
.W
suffix to the instruction - New example code for Atari 2600, Atari 800, and Apple II
- 4502 CPU support is now stable
- Systems equipped with
pip
orpipx
may install the program withpip install --user ophis-asm
or similar.
Bugfixes
- The current character map now applies to every string in a data directive
- 4502 only:
ASR
instructions now properly collapse to Zero Page instructions when possible - The Atari 2600 program is now built in a way that makes it compatible with the Harmony cartridge
Internal changes
- Codebase updated to Python 3; minimum version is now 3.6
Ophis 2.1
Ophis 2.1 has been released! This includes a handful of bugfixes and a sizable number of new features and resources.
New Features
- Listfile support: the
-l filename
option will produce a human-readable version of the generated binary, annotated with addresses and disassemblies where appropriate. - Mapfile support: the
-m filename
option will produce a map from raw addresses in the binary to locations in the code where that address was defined. - VIC-20 headers are now available.
- C64 headers have been split out into a simple header for small programs or those that wish to interact with BASIC somehow and a more sophisticated header that wipes BASIC out of the memory space for the duration of the program. A version of this was available in 2.0, but this one captures 16 more bytes of zero page and 126 more bytes of main RAM, allowing safe use of the entire range from $0800-$CFFF.
- Experimental support for using the C64 BASIC ROM's software floating point support in machine language programs.
- Experimental support for the 4502 chip (
-4
option), which is not a strict superset of the 6502 but was used in the Commodore 65 prototype.
Bugfixes
- The
BBXn
instructions on 65C02 were not being properly generated. This is now working. - The scripts are now invoked via /usr/bin/env, which should make them run unmodified on more platforms.
- Ophis now returns different exit codes on errors, which should make it easier to work into makefiles.
c64_0.oph
no longer produces strange errors from the BASIC interpreter if the BASIC part of the program changes during runtime.
Many thanks to Paul Gardners and Chris Pressey for their contributions to this release.