horizonramdisk / Horizon-Ramdisk-ti994a

Horizon Ramdisk operating system and configuration utilities for the TI-99/4A and Geneve 9640 computers.
8 stars 0 forks source link

bad name errors from xas99 over labels like: IO$OK #1

Closed jedimatt42 closed 4 years ago

jedimatt42 commented 4 years ago

https://github.com/horizonramdisk/Horizon-Ramdisk-ti994a/blob/2a014790df9438ffc6349ecf6260ddae3faeec5a/ROS/ROS.bat#L2

I'd like to build the ROM image so I can refer to the 'listing' output while debugging under MAME.. Using the latest version of xdt99 suite, I get errors like:

$ xas99.py -R -b -L ros.list -o ros.bin ros-copy.txt
> ros-s1.txt <1> 0181 - IO$OK  CLR  R0                NO ERRORS, so clear the error byte
***** Error: Invalid symbol name IO$OK
> ros-s1.txt <1> 0182 - IO$ERR MOVB R0,@FAC+6         Return with or without a ERROR message
***** Error: Invalid symbol name IO$ERR
> ros-s2.txt <1> 0207 - OP$RT  LDCR @LINK,0           Bring up the 2K DSR part
***** Error: Invalid symbol name OP$RT

What version of xdt99 is required to build this?

I realize this is the commented out line in the .bat file, but the first active line refers to a file that doesn't exist...

$ xas99.py -b -R -L rosea5.list -o rospgm.ea5 ross.txt
Error: File not found: ross.txt.
jedimatt42 commented 4 years ago

From the xas99 manual:

Labels may be of arbitrary length and may contain arbitrary characters except for whitespace and operators (+-*/$#!@'").

horizonramdisk commented 4 years ago

xas99.py -v reports 1.6.0. Seems I need to update my tools and revisit the (ugly) batch file. ros-s.txt refers to ros-copy.txt. (this is my first attempt at GitHub, guessing I missed that file when I uploaded the next revision).

Symbols "$" and "#" are usable in some native TI/Geneve assemblers, including RAG and GenAsm. Seems strange that they are excluded in current xdt99 toolset.

horizonramdisk commented 4 years ago

Source has been modified to conform to the more stringent xas99 label restrictions. While inconsistent with native TI assemblers, the label change from "$" to "_" should retain compatibility with GenASM and RAG and xas99.