Thanks,
De
Got a bit of success with this project this morning, and need to vent
some of my excitement.
As a first proglet, I built 'hello world' in 16S mode. I used PMA to
assemble it, and first tried running it on the simh h316 emulator.
Since PMA puts out funky octal to show you opcodes separately
from displacements and such, I would load the object, restore the
.save file, and use hpsd to read out clean octal, then hand-type
it into h316. Tedious, which explains my wish for an assembler and
disassembler native to the emulator host platform(s).
Anyway, I got the worst bugs out of my program in simh, though I seem
to have found a bug in h316 in the LDX instruction (or I'm missing
something key about how to use LDX), which ends up garbling the order
of the message output. A sample run:
yagi 3 $ h316
H316 simulator V3.8-1
sim> restore h316_hw16s.save
sim> run 1000
HELLWOHERLHE
HALT instruction, P: 01021 (JMP 1003)
Anyway, I extracted the .save file out of my running prime emulator
environment and used it to boot a copy of the prime emulator:
p50emu 138 $ ../em -boot ../standalones/hw16s.save
emulator: device '7 failed initialization - device removed
HELLO WORLD!
Fatal error: CPU halt
instruction #121 at 0/1020 : 0 3003
owner=0 , keys=20100, modals=0
Source program looks like this (no hysterical laughter please; I've
never written 16S code before, or for that matter, much 64V):
ABS
D16S
SDM 0
ORG '1000
HW SKS '104
JMP HW
OCP '104
LOOP LDX IXR
LDA MSG,1
ICA
CAL
JST CHAROUT
LDA MSG,1
CAL
JST CHAROUT
LDA IXR
A1A
STA IXR
CAS LEN
HLT
HLT
JMP LOOP
CHAROUT DAC **
OTL2 OTA 4
JMP OTL2
JMP CHAROUT,*
MSG BCI 'HELLO WORLD!'
OCT '106612
LEN DAC *-MSG
IXR OCT 0
END HW
So anyway, please excuse me bouncing around like a nincompoop, but
IT WORKS IT WORKS!
*deep breath*
De
Cool!
But why not just use the output from the Prime debugger?
Not sure I follow the question, Doug.
De