DG Nova 4/x software hacking

Tom Jennings tomj at wps.com
Sat Feb 26 18:33:37 CST 2005


Well I seem to be heading towards a usable computer. Sat down with
the manual and re-learned nspeed. First task was to write a script
to create links in the working directory to all the utilities on
DP0. Used the BUILD command (builds 'command tail file lists' in
unixese), and wrote an iterative macro to hash it up.


(There's no "path" to find executables (.SV); it must be in the
current directory or directory specified. Directories in RDOS
aren't heirarchical like they are in unix-derived paradigms;
they're like little partitions, you more or less "mount" them with
the DIR command (mounts the directory and makes it default
directory) or INIT them ("mounts" them so you can copy to them,
for instance.) You specify how many directories you can have
mounted at the same time at SYSGEN time.)


Build makes:

ASM.SV,MAC.SV,FDUMP.SV,FOO.SV,BAR.SV, [and so on]

I needed:

LINK ASM.SV DP0:ASM.SV
LINK MAC.SV DP0:MAC.SV
...

The nspeed command is:

32<1BTABSAJ#C
$ $BS0ILINK ^BA DP0:^BA
$-1LT1L>


Here's one of those maddening things that I'll figure out someday,
and has some dubious reason. The command:

S
$-1D

(Search for a CR)
S
$
(Delete 1 char before pointer)
-1D

Works fine maually. It doesn't work when iteration < and > is used!
That's why I change all occurrences of CR to space in buffer A:
#C
$ $
That works.

^BA

means 'insert the contents of buffer A'

-1LT1L

minus one line; type out line; plus one line, so it 
prints the results of edits as it goes.

The leading 32< ... >

Means 'iterate 32 times' because I didn't feel like coming
up with a test for 'end of buffer'. Eh.



Now to write a HELLO WORLD program!



More information about the cctalk mailing list