mirror of
https://github.com/PDP-10/its.git
synced 2026-02-12 02:57:06 +00:00
Block loader for TT2500.
The 2500 bootstrap ROM expects to receive a block loader first, which will run and recieve the actual payload which is the microcode and font data divided into blocks.
This commit is contained in:
74
src/danny/loader.24
Normal file
74
src/danny/loader.24
Normal file
@@ -0,0 +1,74 @@
|
||||
(SETQ LOADER '(
|
||||
|
||||
(CALL 0 WD)
|
||||
(CALL 1 ADR)
|
||||
(CALL 2 CNT)
|
||||
(CALL 3 CHK)
|
||||
(CALL 4 TYP)
|
||||
(CALL 124 OK-CHR)
|
||||
(CALL 106 LOOSE-CHR)
|
||||
|
||||
START (GET WD IN & RESET TTY)
|
||||
(SUB WD WD)
|
||||
WAIT-FLAG (PUSHJ CHR-IN)
|
||||
(GET WD WD & TO SEE IT)
|
||||
(BMC WAIT-FLAG & WAIT FOR FLAG)
|
||||
(SUB CHK CHK)
|
||||
(PUSHJ GET-WD)
|
||||
(GET TYP WD)
|
||||
(BEQ EXECUTE & TYPE 0 IS EXECUTE)
|
||||
(PUSHJ GET-WD)
|
||||
(GET ADR WD & START ADDRESS)
|
||||
(GET XR ADR)
|
||||
(PUSHJ GET-WD)
|
||||
(GET CNT WD & NUMBER OF WORDS)
|
||||
(DEC TYP)
|
||||
(BEQ CRM-LOOP & TYPE 1 IS LOAD CRM)
|
||||
(DEC TYP)
|
||||
(BEQ MEM-LOOP & TYPE 2 IS LOAD MEM)
|
||||
(JUMP LOOSE)
|
||||
MEM-LOOP (PUSHJ GET-WD)
|
||||
(IWRITE ADR WD)
|
||||
(DEC CNT)
|
||||
(BPL CRM-LOOP)
|
||||
(JUMP END)
|
||||
EXECUTE (PUSHJ GET-WD)
|
||||
(LOD 7)
|
||||
(JUMP-PLACE)
|
||||
(GET XR 7)
|
||||
(LCM WD)
|
||||
JUMP-PLACE (0 & WORD TO BE EXECUTED IS PUT HERE)
|
||||
(JUMP END)
|
||||
CRM-LOOP (PUSHJ GET-WD)
|
||||
(LCM WD)
|
||||
(DEC CNT)
|
||||
(BPL CRM-LOOP)
|
||||
END (PUSHJ GET-WD)
|
||||
(GET CHK CHK & LOOK AT CHECK SUM)
|
||||
(BNE LOOSE)
|
||||
(LOD 7)
|
||||
(OK-CHR)
|
||||
CONFIRM (PUT 7 UART)
|
||||
(NOP 7 & UARTS ARE SLOW)
|
||||
(NOP 7 & VERY SLOW)
|
||||
(JUMP START)
|
||||
GET-WD (PUSHJ CHR-IN)
|
||||
(PUSHJ CHR-IN)
|
||||
(PUSHJ CHR-IN)
|
||||
(PUSHJ CHR-IN)
|
||||
(ADD CHK WD)
|
||||
(POPJ)
|
||||
CHR-IN (DIS INT2 1 0)
|
||||
(JUMP CHR-IN)
|
||||
(GET 5 IN)
|
||||
(ANDI WD WD )
|
||||
(7777)
|
||||
(ROT WD WD 14)
|
||||
(ANDI 5 5 )
|
||||
(17)
|
||||
(IOR WD 5)
|
||||
(POPJ)
|
||||
LOOSE (LOD 7)
|
||||
(LOOSE-CHR)
|
||||
(JUMP CONFIRM)
|
||||
))
|
||||
Reference in New Issue
Block a user