* IF NO START LOCATION HAS BEEN CODED THE LOADER WILL
* CONTIUNE!
*
-* TAPE END MARK:
+* STOP BLOCK
* THIS BLOCK TELLS THE LOADER THAT IT SHALL STOP NOW.
* LAYOUT:
* NO BODY AT ALL, ONLY BLOCK START AND BLOCK TYPE :-)
OCP '0002 START PUNCH (NOT NECESSARY ON MY H316)
JST PLDR PUNCH OUT LEADER
JST PS2 PUNCH SECOND STAGE LOADER
- JST PLDR PUNCH OUT LEADER
JST PS3 PUNCH THIRD STAGE LOADER
- JST PLDR PUNCH OUT LEADER
*
*
LOOP CRA MAIN LOOP
P23 DAC ** PUNCH OUT A LOADER
STA PTR SAVE POINTER
L23 LDA* PTR
+ JST SWRD PUNCH OUT CURRENT WORD
SNZ
JMP* P23 RETURN
- JST SWRD PUNCH OUT CURRENT WORD
IRS PTR INCREMENT POINTER
JMP L23 LOOP AGAIN
*
B3AD DAC BO3S START ADDRESS OF THIRD STAGE LOADER
*
LDRL DEC 100 LEADER LENGTH
-ALOC *** ** NEXT WORD TO BE PUNCHED OUT
-ELOC *** ** LAST WORD TO BE PUNCHED OUT
SZE SZE INSTRUCTION FOR FILL IN
SNZ SNZ INSTRUCTION FOR FILL IN
*
*
INA '1001 READ WITH CLEAR
JMP '17-BO2S+*-1
-* JMP '17-BO2S+* DEBUG STOP
ICA
INA '001 READ WITHOUT CLEAR
JMP '17-BO2S+*-1
-* JMP '17-BO2S+* DEBUG STOP
*
-*
-*
- STA '17-BO2S+CNT STORE START ADDRESS
-* LDA '57 LOOK FOR DEPOSITED OTHER BOOT ADDRESS
-* SZE OK, IF WE FIND SOMETHING THERE...
-* STA '17-BO2S+CNT OVERWRITE DEFAULT VALUE
- IRS '17-BO2S+CNT CORRECT STOLEN WORD
- LDA '17-BO2S+CNT
+ STA '17-BO2S+CNT2 STORE START ADDRESS
+ STA* '17-BO2S+CNT2 STORE START IN START
+* LDA '57 LOOK FOR DEPOSITED OTHER BOOT ADDRESS
+* SZE OK, IF WE FIND SOMETHING THERE...
+* STA '17-BO2S+CNT2 OVERWRITE DEFAULT VALUE
+ IRS '17-BO2S+CNT2 CORRECT STOLEN WORD
+ LDA '17-BO2S+CNT2
* JMP '776
*
- LDA '17-BO2S+CNT WHERE TO LOAD NOW?
- STA '17-BO2S+PTR INIT POINTER
+ LDA '17-BO2S+CNT2 WHERE TO LOAD NOW?
+ STA '17-BO2S+PTR2 INIT POINTER
*
LOP INA '1001 READ IN CHARACTER
JMP '17-BO2S+*-1
INA '001 READ OTHER CHARACTER
JMP '17-BO2S+*-1
SNZ
- JMP* '17-BO2S+CNT JUMP INTO THIRD STAGE LOADER
+ JMP* '17-BO2S+CNT2 JUMP INTO THIRD STAGE LOADER
* JMP '665
- STA* '17-BO2S+PTR STORE DATA
- IRS '17-BO2S+PTR MOVE ON
+ STA* '17-BO2S+PTR2 STORE DATA
+ IRS '17-BO2S+PTR2 MOVE ON
JMP '17-BO2S+LOP FETCH MORE DATA
*
S3SC OCT '301 START CHARACTER TO RECOGNIZE STAGE3
-PTR DAC ** GENERAL PURPOSE MEMORY POINTER
-CNT DAC ** WHERE TO LOAD? CAN BE CHANGED.
+PTR2 DAC ** GENERAL PURPOSE MEMORY POINTER
+CNT2 DAC ** WHERE TO LOAD? CAN BE CHANGED.
BO2E OCT 10600 ZERO-TERMINATOR
*
*
*
ORG '600
BO3S DAC * THAT IS FOR THE SECOND STAGE LOADER
+*********
+* COMPLETE THE ATTIC
+ LDA PJ1 COMPLETE THE PAUS ROUTINE
+ STA J1
+ CRA
+ STA JH ENSURE HALT INSTRUCTION
+*
OCP 1 READER ON (UNNECESSARY?)
SLOP INA '1001 CRA AND READ
JMP *-1
JMP *+2
JMP RSTP PROCESS STOP BLOCK
NOP
- LDA '125252 ERROR BLOCK TYPE
- CRA
- STA *+1
- OCT 66 THE HALT TRICK
+ LDA ='125252 ERROR BLOCK TYPE
+ JST PAUS PAUSE
JMP SLOP SEARCH FOR NEW BLOCK
+ FIN
*
********************
* START ADDRESS BLOCK
SNZ
JMP SLOP
CERR CRA CHECKSUM ERROR HALT
- STA *+1
- OCT 66
+ JST PAUS
JMP SLOP TRY A NEW BLOCK
*
RZER CRA
JMP EL USE END OF LOOP ABOVE
*******
* STOP BLOCK
-RSTP CRA
- STA *+1
- OCT 66 A TRICK - HERE WILL BE THE HLT INSTRUCTION
+RSTP LDA BO3S FOR SHOW
+ JST PAUS
JMP* RESA JUMP TO RESTART LOCATION
*
-***** VARIABLES
-CSUM OCT 66 CHECKSUM
-LEN OCT 66 LENGTH TO GO
-RESA DAC SLOP RESTART ADDRESS
-BTYP OCT 66 BLOCK TYPE
*
+**********************
+* CONSTANTS
+*
+RESA DAC SLOP RESTART ADDRESS
BSTA DEC 129 BLOCK START CHARACTER
*
* BLOCK TYPES:
JMP* LWRD
*
FIN WRITE OUT LITERALS - IF ANY
-BO3E DEC 0 ZERO TERMINATOR
+*******************
+* THE ATTIC OF THE THIRD STAGE LOADER
+PJ1 JMP* PAUS LAST LOCATION THAT WILL BE LOADED FROM TAPE!
+PAUS DAC **
+JH HLT THIS WILL STAY A HALT
+J1 DAC ** WILL BE: JMP* PAUS
+*
+***** VARIABLES
+CSUM OCT 66 CHECKSUM
+LEN OCT 66 LENGTH TO GO
+BTYP OCT 66 BLOCK TYPE
+*
+*******************
+* VARIABLES OF THE MAIN PROGRAM
+ALOC *** ** NEXT WORD TO BE PUNCHED OUT
+ELOC *** ** LAST WORD TO BE PUNCHED OUT
+PTR DAC ** GENERAL PURPOSE MEMORY POINTER
+CNT DAC ** WHERE TO LOAD? CAN BE CHANGED.
*
************************************************************
END