OBJ_DIR = build
LIB_DIR = lib
-MODULES = binal cleanup cleanup2
+MODULES = binal cleanup cleanup2 restart
FRTN_COMMAND = frtn
ASM_COMMAND = asm
*
************************************************************************
*
- SUBR LSTART,BO3S BEGINNING OF THIRD STAGE LOADER
+ SUBR BINAL,ANF
+ SUBR LSTART,BO3S BEGINNING OF THIRD STAGE LOADER
*
REL RELOCATABLE MODE
ORG 0
*
- STA STRT SAVE AUTO START LOCATION
+ANF STA STRT SAVE AUTO START LOCATION
CRA
HLT
STA ALOC FIRST LOCATION TO PUNCH
*
* THIS LITTLE ROUTINE CAN BE LOADED ANYWHERE IN CORE.
*
+ SUBR CLENUP,STRT
SUBR ZSTART,ANFA
SUBR ZEND,ENDE
- SUBR LOOP
- SUBR ANFA
*
REL ASSEMBLE IN RELOCATABLE MODE
ORG 0
STRT JMP ST2 JUMP OVER CONSTANTS
ANFA OCT 20
-ENDE DAC STRT-1
+ENDE OCT '31777
ST2 LDA ANFA LOAD START ADDRESS
STA PTR
LOOP CRA
--- /dev/null
+* STATUS SAVE AND RESTORE PROGRAM
+*
+*
+*
+ SUBR F$REST,FNST
+ SUBR RINST,INST
+ SUBR RSTART,REST
+ SUBR RSAVE,SAVE
+*
+ REL
+ ORG 0
+*
+REST LDA BREG LOAD B REGISTER SAVE
+ IAB PUT TO B REG
+ LDX XREG RESTORE INDEX REGISTER
+ LDA KEYS LOAD FLAGS
+ OTK WRITE FLAGS BACK
+ LDA AREG LOAD A REGISTER
+ JMP* SAVE JUMP BACK INTO PROGRAM
+ *** * ZERO PADDING
+*
+ ORG '10
+INST LDA VECT LOAD POINTER TO SAVE ROUTINE
+ STA '60 SAVE TO INTERRUPT LOCATION
+ STA '63 SAVE TO STANDARD INTERUPT LOCATION
+ ENB ENABLE INTERRUPT
+ HLT HALT
+*
+ ORG '20
+SAVE DAC 0 RETURN ADDRESS GOES HERE
+ STA AREG
+ IAB
+ STA BREG
+ INK
+ STA KEYS
+ STX XREG
+ HLT WE GO TO SLEEP....
+*
+FNST DAC * INSTALL
+ LDA VECT
+ STA '60
+ JMP* INST
+*
+VECT DAC SAVE
+AREG *** *
+BREG *** *
+KEYS *** *
+XREG *** *
+*
+ ABS ABSOLUT MODE FOR INSTALLATION
+ ORG '60
+ DAC SAVE
+*
+ END
+
export PRNTNZ=$(H316)/obj/prntnz.obj
export CLEANUP=$(H316)/programs/tools/build/cleanup2.obj
export BINAL=$(H316)/programs/tools/build/binal.obj
-
+export RESTART=$(H316)/programs/tools/build/restart.obj
export MAKE
all: super3
echo Loading $LDR_APM
; enter high loader address for loading above itself
d 15000 37777
+
+echo *** Loading $LDR_APM
at ptr $LDR_APM
-; load location
d a 33000
d p 16000
go
go
at ptr $LDR_DUMY
go
-echo loading $PRNTNZ
-at ptr $PRNTNZ
+
+echo *** Loading $RESTART
+at ptr $RESTART
d a 32000
-d p 16000
+d p 16003
go
go
-echo loading $CLEANUP
+
+echo *** Loading $CLEANUP
at ptr $CLEANUP
-d a 31000
-d p 16000
+d a 32100
+d p 16003
+go
+go
+
+echo *** Loading $PRNTNZ
+at ptr $PRNTNZ
+d a 32200
+d p 16003
go
go
-echo Loading $BINAL
+
+
+echo *** Loading $BINAL
at ptr $BINAL
d a 37000
-d p 16000
+d p 16003
go
go
-;d a 0
-;d b 37777
-;go 32000
+d a 0
+d b 37777
+go 32200
+
+; Print memory map
+go 16002
; Clear memory
-d 100-17777 0
+d 100-27777 0
; Common block settings:
d 35000 31000
at ptp $SUPER3_SLST
d a 0
go 37000
-d a 31000
+d a 32000
go
d a 37577
go