From 61655ba39f55913eaea68404e36e3c104b30b813 Mon Sep 17 00:00:00 2001 From: hachti Date: Thu, 22 Jun 2006 22:11:48 +0000 Subject: [PATCH] *** empty log message *** --- programs/tools/Makefile | 2 +- programs/tools/src/binal.asm | 5 +-- programs/tools/src/cleanup2.asm | 5 ++- programs/tools/src/restart.asm | 55 +++++++++++++++++++++++++++++++++ systems/Makefile | 2 +- systems/build_super3.sh | 43 +++++++++++++++++--------- 6 files changed, 91 insertions(+), 21 deletions(-) create mode 100644 programs/tools/src/restart.asm diff --git a/programs/tools/Makefile b/programs/tools/Makefile index 436f1d5..54afeb8 100644 --- a/programs/tools/Makefile +++ b/programs/tools/Makefile @@ -4,7 +4,7 @@ SRC_DIR = src OBJ_DIR = build LIB_DIR = lib -MODULES = binal cleanup cleanup2 +MODULES = binal cleanup cleanup2 restart FRTN_COMMAND = frtn ASM_COMMAND = asm diff --git a/programs/tools/src/binal.asm b/programs/tools/src/binal.asm index e913652..b93caff 100644 --- a/programs/tools/src/binal.asm +++ b/programs/tools/src/binal.asm @@ -102,12 +102,13 @@ * ************************************************************************ * - 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 diff --git a/programs/tools/src/cleanup2.asm b/programs/tools/src/cleanup2.asm index 8479bbb..70e9fd5 100644 --- a/programs/tools/src/cleanup2.asm +++ b/programs/tools/src/cleanup2.asm @@ -4,16 +4,15 @@ * * 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 diff --git a/programs/tools/src/restart.asm b/programs/tools/src/restart.asm new file mode 100644 index 0000000..bf58abd --- /dev/null +++ b/programs/tools/src/restart.asm @@ -0,0 +1,55 @@ +* 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 + diff --git a/systems/Makefile b/systems/Makefile index e8a08b0..9623701 100644 --- a/systems/Makefile +++ b/systems/Makefile @@ -11,7 +11,7 @@ export LDR_DUMY=$(H316)/obj/ldr-dumy.obj 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 diff --git a/systems/build_super3.sh b/systems/build_super3.sh index e7bf43a..87ae0de 100755 --- a/systems/build_super3.sh +++ b/systems/build_super3.sh @@ -14,39 +14,54 @@ boot ptr 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 @@ -60,7 +75,7 @@ save $SUPER3_SYS at ptp $SUPER3_SLST d a 0 go 37000 -d a 31000 +d a 32000 go d a 37577 go -- 2.32.0