X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;f=programs%2Ftools%2Fsrc%2Fbinal.asm;fp=programs%2Ftools%2Fsrc%2Fbinal.asm;h=8bba1a9347b961b450e60cc4afdc8f4afc903d2a;hb=4e8a28592944f3ebc31901d2c29f4a4d0548f890;hp=57a97e1c6ac5407c25365e9ccf37e1934a3277c7;hpb=cf7fb3faa9fd90fd8c366d5e7d207cc403fee986;p=h316.git diff --git a/programs/tools/src/binal.asm b/programs/tools/src/binal.asm index 57a97e1..8bba1a9 100644 --- a/programs/tools/src/binal.asm +++ b/programs/tools/src/binal.asm @@ -39,7 +39,7 @@ * 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 :-) @@ -60,9 +60,7 @@ 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 @@ -276,9 +274,9 @@ PS3 DAC ** PUNCH OUT SECOND STAGE LOADER 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 * @@ -313,8 +311,6 @@ B2AD DAC BO2S START ADDRESS OF SECOND STAGE LOADER 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 * @@ -336,24 +332,21 @@ BO2S OCT '20 START ADDRESS * 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 @@ -361,15 +354,15 @@ LOP INA '1001 READ IN CHARACTER 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 * * @@ -378,6 +371,13 @@ 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 @@ -407,11 +407,10 @@ SLOP INA '1001 CRA AND READ 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 @@ -457,8 +456,7 @@ EL IRS PTR POINT TO NEXT LOCATION SNZ JMP SLOP CERR CRA CHECKSUM ERROR HALT - STA *+1 - OCT 66 + JST PAUS JMP SLOP TRY A NEW BLOCK * RZER CRA @@ -466,17 +464,15 @@ 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: @@ -496,7 +492,24 @@ LWRD OCT 66 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