[Techtoolslist] Programming the 9100 without video or keyboard
Ian Eure
ian at retrospec.tv
Thu Dec 20 13:10:57 EST 2018
Okay, been hard at work on a few things, time to share another
bit.
Following up on the post about writing disks, here’s how you put
something interesting on them to write.
Instructions are "works for me on Linux" level.
1. Get a copy of ToolShed[1]. This is an open-source project for
dealing with OS-9 disks. Build it and put it somewhere you can
call it.
2. Make an empty disk image.
High density: os9 format -q -e -k -bs256 -9 -st32 -dd -t80 -ds
disk.img
Double density: os9 format -q -e -k -bs256 -9 -st16 -dd -t80
-ds disk.img
3. Make the userdisk structure in your disk image:
touch MEVALID
os9 makdir 'disk.img,/SYSDISK'
os9 makdir 'disk.img,/PARTLIB$PARTLIB'
os9 makdir 'disk.img,/PODLIB$PODLIB'
os9 makdir 'disk.img,/HELPLIB$HELPLIB'
os9 makdir 'disk.img,/PROGLIB$PROGLIB'
os9 copy MEVALID disk.img,/
3. Convert your TL/1 code. This doesn’t compile it, but is
equivalent
to the editor COPY from TEXT to PROGRAM type. I wrote a Python
program to do this:
pcv.py infile.tl1 prog_outfile
Since it’s called from the shell, you can convert as many as
you
want in one go, instead of plonking away at the 9100 keyboard
for
each file.
5. Copy the program into the disk image:
os9 copy prog_outfile
'disk.img,/PROGLIB$PROGLIB/PROGRAM$OUTFILE'
This just puts it into the PROGLIB, but you can put it in a UUT
as
well:
os9 makdir 'disk.img,/UUT$WHATEVER'
os9 copy prog_outfile 'disk.img,/UUT$WHATEVER/PROGRAM$OUTFILE'
6. Write the image to a disk and load it onto your 9100.
I put up some helpful TL/1 code at
https://github.com/ieure/fluke-9100-lib which you can
- getromcrc. Works exactly like getromsig, but returns a CRC-32.
This
is debugged and produces the exact CRC listed in the MAME
source
code, so nearly any ROM signature you could ever want is
readily
available.
- testromcrc. Works exactly like testromfull, but takes a CRC-32
instead of Fluke’s signature. It also works from the front
panel, so you don’t need video or keyboard to use it.
- u_testroms. Reads a text file of ROM addresses, refs, and
CRCs, and tests them all. I prefer this to duplicating a
bunch of testromcrc calls.
- u_testrams. Same deal as u_testroms, but for RAM.
This isn’t a full replacement for the video and keyboard, but you
can
get plenty more out of a 9100 this way no matter what the
configuration. The main issue is that it’s fairly difficult to
get
TL/1 code right without using the debugger. Running TLC.EXE over
them
helps, but many issues only crop up once you actually run it.
-- Ian
[1]: https://sourceforge.net/projects/toolshed/
More information about the Techtoolslist
mailing list