Uit Hack42
Code for the pdp8/f
for this machine
this code is for the machine in the configuration we got it in.
OS8/SYKES Bootstrap Loader
Pasted on paper on the back of the pdp8 8/e 8/f 8/m Pocket Reference Card
| Addr | instr | comment |
|---|---|---|
| 0400 | 1230 | - |
| 0401 | 6321 | - |
| 0402 | 6321 | - |
| 0403 | 7600 | - |
| 0404 | 6322 | - |
| 0405 | 5204 | - |
| 0406 | 6324 | - |
| 0407 | 7106 | - |
| 0410 | 7006 | - |
| 0411 | 3233 | - |
| 0412 | 6322 | - |
| 0413 | 5212 | - |
| 0414 | 6324 | - |
| 0415 | 7012 | - |
| 0416 | 7012 | - |
| 0417 | 0217 | - |
| 0420 | 1233 | - |
| 0421 | 3132 | - |
| 0422 | 2332 | very faint.. |
| 0423 | 2331 | barely readable |
| 0424 | 5204 | - |
| 0425 | 1203 | - |
| 0426 | 6321 | - |
| 0427 | 5014 | faint could be 5017 |
| 0430 | 0401 | faint. |
| 0431 | ? | writing completely gone |
| 0432 | ? | writing completely gone |
code to dump the core of field 0 to a serial port
There are some jumps because of faulty memory locations. that is why the start address is 176o.
*176 /LOCATE PROGRAM STARTING AT ADDR 200
CLA CLL /CLEAR ACCUMULATOR /CLEAR AC LINK
NOP // bad memory
DCA TMP1 /STORE THAT (0) IN TMP1
NOP // bad memory
MAIN, NOP
TAD TMP1 // load TMP1
JMS PRINTNUM // print dit nummer
CLA CLL
TAD SPACE
JMS TTYO // output to tty0
TAD I TMP1 // indirect laden van TMP1
JMS PRINTNUM // print dit nummer
TAD TMP1 // load TMP1
IAC // INCREMENT 1
DCA TMP1
TAD CR
JMS TTYO // output to tty0
CLA CLL
TAD LF
JMS TTYO // output to tty0
JMP MAIN // tada.wav
PRINTNUM, NOP
DCA TMP3 // store this in tmp3
TAD TMP3 // get it.
RAR
RTR
RTR
RTR
JMS STUK
NOP
HEEL, NOP
CLA CLL // clear AC
TAD TMP3 // load TMP3
RTR
RTR
RTR // 6 bitwise shift
JMS PLUS // xor met 0070
JMS TTYO // output to tty0
CLA CLL // clear AC
TAD TMP3 // load TMP3
RAR
RTR // 3 bitwise shift
JMS PLUS // xor met 0070
JMS TTYO // output to tty0
CLA CLL // clear AC
TAD TMP3 // load TMP3
JMS PLUS // xor met 0070
JMS TTYO // output to tty0
JMP I PRINTNUM
PLUS, NOP
AND AND7
TAD PLUS60
JMP I PLUS
TTYO, NOP /TTY OUTPUT ROUTINE. THE FIRST WORD OF
/A SUBROUTINE MUST BE EMPTY (0) BECAUSE
/THE JMS INSTRUCTION INSERTS THE RETURN
/ADDR IN THIS WORD.
6446 /WRITE AC TO THE OUTPUT DEVICE (TTY)
6441 /IF TTY IS READY, SKIP NEXT INSTRUCTION.
JMP .-1 /TTY IS NOT READY, SO CHECK AGAIN
CLA /CLEAR AC
NOP // Memory broken
JMP I TTYO /RETURN TO CALLER
PLUS60, 60
TMP1, 0
TMP3, 0
SPACE, 40
LF, 12
CR, 15
AND7, 7
NOP // Memory broken
STUK, NOP
RTR // 9 bitwise shift
JMS PLUS // xor met 0070
JMS TTYO // output to tty0
JMP HEEL
$