1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-28 04:57:43 +00:00

Build Imlac secondary block loader from source code.

BLKLDR 1 is from the IMLAC; IML DEVICE archive file dated 1976-11-02.
The archive was found in three identical copies on ToTS tapes 7006990,
701351, and 90606; they were extracted by Brad Parker.  The BLKLDR 1
timestamp inside the archive is 1975-01-26.  Tape database records
from DM show a BLKLDR 4 dated 1974-08-19.

To build the IMLAC; IMLAC BLKLDR file, it's first assembled with
MIDAS.  Regular IMTRAN writes the block loader format, but the block
loader itself is in the "special TTY" boostrap format.  IMTRAN is
runtime patched to skip the block framing.
This commit is contained in:
Lars Brinkhoff
2020-04-23 12:26:54 +02:00
parent a50bf2dde2
commit 3f46e646b8
5 changed files with 113 additions and 7 deletions

86
src/imsrc/blkldr.1 Normal file
View File

@@ -0,0 +1,86 @@
TITLE BLKLDR 1 (PDL) 12/7/73
.INSRT IMDEFS >
LDADR=37700
LOC LDADR
; ADDR CHAR OCTAL
START: RCF ; 00: @BAJ 001032
CAL ; H@@I 100011
DAC CHKSUM ; BGOL 023774
DAC WRD ; BGOM 023775
JMS GET4 ; CONG 037747
JMS GET4 ; CONG 037747
CIA ; H@@F 100006
DAC COUNT ; BGON 023776
JMS GET16 ; 10: COMO 037737
SAM MINUS1 ; GOOH 077770
JMP .+2 ; AGLL 013714
HLT ; @@@@ 000000 ; DONE. THIS LOC GETS GLOBBERED FOR AUTOSTART.
DAC ADDRES ; BGOO 023777
BLKLUP: JMS GET16 ; COMO 037737
DAC @ADDRES ; JGOO 123777
JMS CKS ; COMH 037730
ISZ ADDRES ; 20: CGOO 033777
ISZ COUNT ; CGON 033776
JMP BLKLUP ; AGLM 013715
JMS GET16 ; COMO 037737
SUB CHKSUM ; GGOL 073774
ASN ; HD@A 102001
JMP START ; AGL@ 013700
HLT ; @@@@ 000000 ; CHECKSUM FAILED (SHOULD BE FIXED!).
; update checksum
CKS: 0 ; 30: @@@@ 000000
CLL ; H@@H 100010
ADD CHKSUM ; FOOL 067774
LSZ ; @D@D 002004
IAC ; H@@D 100004
DAC CHKSUM ; BGOL 023774
JMP @CKS ; IGMH 113730
; get word
GET16: 0 ; @@@@ 000000
CAL ; 40: H@@I 100011
DAC WRD ; BGOM 023775
JMS GET4 ; CONG 037747
JMS GET4 ; CONG 037747
JMS GET4 ; CONG 037747
JMS GET4 ; CONG 037747
JMP @GET16 ; IGMO 113737
; get good character
GET4: 0 ; @@@@ 000000
GETCHR: RSF ; 50: @DB@ 002040
JMP .-1 ; AGNH 013750
CAL ; H@@I 100011
RRC ; @BAK 001033
DAC START-1 ; BGKO 023677
AND M160 ; DOOI 047771
SAM M100 ; GOOJ 077772
JMP GETCHR ; AGNH 013750
LAC START-1 ; 60: FGKO 063677
AND M17 ; DOOK 047773
XAM WRD ; BOOM 027775
RAL 3 ; @F@C 003003
RAL 1 ; @F@A 003001
IOR WRD ; EGOM 053775
DAC WRD ; BGOM 023775
JMP @GET4 ; IGNG 113747
; constant area
MINUS1: -1 ; 70: OOOO 177777
M160: 160 ; @@G@ 000160
M100: 100 ; @@D@ 000100
M17: 17 ; @@@O 000017
; variable area
CHKSUM: 0 ; @@@@ 000000
WRD: 0 ; @@@@ 000000
COUNT: 0 ; @@@@ 000000
ADDRES: 0 ; @@@@ 000000
GOADDR: LDADR ; 0: COL@ 37700
END