Releases: snakebyte69/agon-ez80asm
ez80asm - Mac OS Version 1.2
ez80asm macOS Version v1.2
Increased performance, is the main purpose of this release.
The code was ported to the AgDev compiler suite and numerous parts where rewritten for optimal performance. The assembler makes heavy use of the underlying filesystem, where IO calls to the MOS are costly. Additional steps have been taken to make the absolute minimum number of IO calls. Pearson hash tables are now in use, which are optimized for 8/16bit systems and parts of old ZDSII code, which were necessary before the AgDev standard library came into existence, have been removed completely.
The mosloader (the ez80asm.bin file) that loads the ez80asm.ldr payload to 0x40000 from the /mos moslet area has been rewritten (in ez80asm assembly) to allow it to be easily adaptable to other payloads.
Overall, this release shows a 30% performance increase compared to v1.0 (on actual hardware)
Additional features:
- The '-x' commandline option shows job statistics
Additionally, the following bugs were fixed:
- Labels aren't case sensitive (issue envenomator#55)
- MACROs fail to understand EQU (issue envenomator#49) - in some cases where a - replacement argument is larger than the target, the assembler failed to recognize the defined EQU statement or crashed
- Number literals containing operator symbols, like '+', '-' were not correctly parsed in all cases
- String format error in release v1.1 (issue envenomator#56)
Linux Version
ez80asm Linux Version
v1.0
Fixes:
comments are now allowed after .include / .incbin statements
0x number format had issues when the given value ended with a 'b'
Functionality:
Displaying total assembly time at completion
Implied displacement on direct and indirect operands - e.g. - LD A, (IX) now implies 0 as displacement, as does LEA IX, IX
Windows Version
ez80asm Windows Version
v1.0
Fixes:
comments are now allowed after .include / .incbin statements
0x number format had issues when the given value ended with a 'b'
Functionality:
Displaying total assembly time at completion
Implied displacement on direct and indirect operands - e.g. - LD A, (IX) now implies 0 as displacement, as does LEA IX, IX
macOS Version
ez80asm macOS Version
v1.0
- Fixes:
comments are now allowed after .include / .incbin statements
0x number format had issues when the given value ended with a 'b'
- Functionality:
Displaying total assembly time at completion
Implied displacement on direct and indirect operands - e.g. - LD A, (IX) now implies 0 as displacement, as does LEA IX, IX
Windows Version
ez80asm v0.101 Windows Version
New functionality:
Implement simple (non-nested) conditional assembly support - if/else/endif
Export global labels to file as a cmdline option (-s)
command line option to send output to different directory/filename
Performance rewrite of str2num routine
Fixes:
Macro names can now have 32 characters
A single whitespace character after a directive (db / dw / if) without any arguments didn't result in an error
'0bh' is now recognized as hex value '0b'
Linux Version
ez80asm v0.101 Linux Version
New functionality:
Implement simple (non-nested) conditional assembly support - if/else/endif
Export global labels to file as a cmdline option (-s)
command line option to send output to different directory/filename
Performance rewrite of str2num routine
Fixes:
Macro names can now have 32 characters
A single whitespace character after a directive (db / dw / if) without any arguments didn't result in an error
'0bh' is now recognized as hex value '0b'
macOS Version
ez80asm macOS Version
v0.104
New functionality:
Multi-platform release for Agon, Linux and Windows
Fixes:
Resolved build errors on MS VC++
Makefile updated for static Linux releases