1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-11 23:53:12 +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:
Lars Brinkhoff 2021-01-15 09:39:59 +01:00
parent 8ba88ad174
commit 96fccc355a
3 changed files with 76 additions and 1 deletions

View File

@ -29,7 +29,7 @@ SRC = syseng sysen1 sysen2 sysen3 sysnet kshack dragon channa \
moon teach ken lmio1 llogo a2deh chsgtv clib sys3 lmio turnip \
mits_s rab stan_k bs cstacy kp dcp2 -pics- victor imlac rjl mb bh \
lars drnil radia gjd maint bolio cent shrdlu vis cbf digest prs jsf \
decus bsg muds54 hello rrs 2500 minsky
decus bsg muds54 hello rrs 2500 minsky danny
DOC = info _info_ sysdoc sysnet syshst kshack _teco_ emacs emacs1 c kcc \
chprog sail draw wl pc tj6 share _glpr_ _xgpr_ inquir mudman system \
xfont maxout ucode moon acount alan channa fonts games graphs humor \

View File

@ -189,6 +189,7 @@ c/yginst.teco 197403210837.21
c/yinstl.teco 197402211935.24
c/yparse.c 198207150348.20
danny/2500.20 197511260345.00
danny/loader.24 197512170907.51
das/mstuff.21 198107161853.25
datdrw/ndips.dip 198312072218.23
dcp2/babel.2 198302030430.46

74
src/danny/loader.24 Normal file
View 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)
))