Human-readable changelog

This commit is contained in:
Michael Martin 2024-07-28 16:49:45 -07:00
parent 3b1d4df2e7
commit a388b29dd9
5 changed files with 76 additions and 6 deletions

View File

@ -10,5 +10,6 @@ include src/tools/opcodes/gensets.py
include src/tools/opcodes/README.md
include src/tools/charmaps/*.map
include src/tools/charmaps/*.py
include WhatsNew
graft examples
graft platform

8
README
View File

@ -1,9 +1,7 @@
Ophis is a cross-assembler for the 65xx series of chips. It supports
the stock 6502 opcodes, the 65c02 extensions, experimental support
for the 4502/4510 used in the Commodore 65 prototypes, and syntax for
the "undocumented opcodes" in the 6510 chip used on the Commodore
64. (Syntax for these opcodes matches those given in the VICE team's
documentation.)
the stock 6502 opcodes, the 65c02 extensions, the 4502/4510 used in
the Commodore 65 prototypes, and syntax for the "undocumented opcodes"
in the 6510 chip used on the Commodore 64.
Ophis is written in pure Python and should be highly portable.

70
WhatsNew Normal file
View File

@ -0,0 +1,70 @@
Ophis 2.2: 28 Jul 2024
- Codebase updated to Python 3: new minimum version is 3.6
- New delivery option: pip and pipx (ophis-asm project). Older
ad-hoc standalone script delivery options have been retired.
- 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
- Bugfix: charmap now applies to every string in a data directive
- Bugfix: ASR instructions on the 4502 now properly emit Zero Page
addressing modes when possible
- Bugfix: original Atari 2600 example program now runs properly on a
Harmony cartridge
Ophis 2.1: 24 May 2014
- Listfile support: passing "-l <filename>" will produce a human-
readable version of the generated binary, annotated with addresses
and disassemblies where appropriate
- Mapfile support: passing "-m <filename>" will produce a map from
raw addresses in the binary to locations in the code where that
address was defined
- Success or failure is now reflected in the process exit code
- Additional platform headers for the VIC-20
- Platform headers for interacting with C64 BASIC's floating-point
libraries
- Support for the 4502 chip
- Bugfix: BBXn instructions on the 6502 are now correctly emitted
- Bugfix: The startup stub code for the C64 now properly handles
cases where the BASIC program is overwritten during
program run
Ophis 2.0: 16 Jun 2012
- Codebase updated: new minimum version is Python 2.3
- New delivery option: Windows EXE with installer
- The .include directive now computes relative paths relative to the
source file rather than the CWD
- The .incbin directive now accepts start/length arguments to include
only parts of a binary file
- New directives: .advance, .outfile
- Directives deprecated in 1.0 release removed: .address, .ascii,
.code, .link, and .segment. These are replicated by .byte, .word,
.text, and .org/.include pairs.
- The file "-" may be passed as input or output to represent stdin
and stdout
- Out-of-bounds branches will be translated into legal code with a
warning
- Instructions with both Zero Page and Absolute modes may force
Absolute by appending ".W" to the instruction
- Sample code, platform headers, and test suite
Ophis 1.0: 3 Oct 2007
- New directives: .charmap, .charmapbin
- Support for the 65c02 chip
Ophis 0.7.2: 17 Jul 2003
- Bugfix: indexed LSR instructions parsed incorrectly
Ophis 0.7.1: 10 Jul 2003
- Bugfix: Macros without arguments now work properly
Ophis 0.7: 1 Jan 2003
- Codebase updated: new minimum version is 2.1
- New directives: .macro, .macend, .invoke, .require
- Standalone script instead of invoking Ophis.Main directly
- Circularity check for labels
Ophis 0.2: 28 Nov 2002
- New directives: .wordbe, .dwordbe, .scope, .scend
Ophis 0.1: 15 Aug 2002
- First public release

View File

@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "ophis-asm"
version = "2.2.0"
version = "2.2.0-1"
authors = [
{ name="Michael Martin", email="mcmartin@gmail.com" },
]

View File

@ -64,6 +64,7 @@ Section "Ophis" SEC01
SetOutPath "$INSTDIR"
SetOverwrite try
File /oname=README.txt "..\..\README"
File /oname=WhatsNew.txt "..\..\WhatsNew"
File "..\dist\ophis.exe"
File "..\dist\libcrypto-1_1.dll"
File "..\dist\libffi-7.dll"