[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