Skip to content

Specasm v9

Compare
Choose a tag to compare
@markdryan markdryan released this 04 May 20:57
· 35 commits to main since this release
a7583b1

Specasm v9 contains numerous updates and improvements:

  • Specasm can now create zx81 binaries and .p files.
    • There's a new zx81 linker directive that instructs the linker to set the org address to 16514 (unless overridden) and to transliterate all strings and character constants from ASCII to the corresponding ZX81 encoding.
    • Samake can now generate .p files, containers for ZX81 programs.
  • Specasm v9 includes support for unit testing.
    • A new type of source file, a .t file, is supported that is designed to contain test code. When the linker encounters a .t file it will create a separate binary with a .tst extension containing both the normal program code, stored in the .x files, and the test code in the .t files.
    • Samake has been updated to generate test harnesses. When run with the "tst" parameter it will examine the .tst binary, identify all the unit tests it contains and generate a BASIC program to call the unit tests and print their results to the screen.
    • Some library code has been added which is designed for use in unit tests to verify that the code being tested only corrupts the registers it is expected to corrupt.
  • The max path size when including another file or directory has been increased.
  • A bug related to the parsing of ld (ix+1), =exp has been fixed.
  • A bug has been fixed in the editor which resulted in incorrect error messages being displayed when a ld instruction containing a label of expression was used. This occurred when the file being edited had no free strings available.
  • Label subtraction support has been removed from the linker, to save space. This feature was deprecated in Specasm v5 and removed from the editor in Specasm v7. If you still have old object files around that use this feature, the linker will invite you to load and save those files in the editor before re-linking.
  • The documentation is now included in the release.zip files.
  • The names of the installation and removal scripts have been changed from INSTALL and REMOVE to INSTALL.BAS and REMOVE.BAS