* DISASSEMBLY BY DYNAMITE OF 1.BOOT1.BIN * EXTERNAL LABEL EQUATES * ASSUMES DP = $E0 (PAGE OF DISK CONTROLLER) 0000 L0000 EQU $0000 CMDREG 0001 L0001 EQU $0001 TRKREG 0002 L0002 EQU $0002 SECREG 0003 L0003 EQU $0003 DATREG C300 SCTBUF EQU $C300 C0FF STACK EQU $C0FF C100 ORG $C100 >C100 7E C10D START JMP LOAD0 C103 200D FDB $200D C105 0E FLXTRK FCB $0E FILE START TRACK C106 04 FCB $04 FILE START SECTOR C107 00 FCB $00 DENSITY FLAG C108 C100 TADR FDB $C100 TRANSFER ADDRESS C10A 00 LADR1 FCB $00 LOAD ADDRESS C10B 00 LADR2 FCB $00 C10C 00 SIDEID FCB $00 C10D 10CE C0FF LOAD0 LDS #STACK SETUP STACK C111 86 E0 LDA #$E0 C113 1F 8B TFR A,DP SET DP $E0 C115 FC C105 LDD FLXTRK GET TRANSF ADRESS FROM DISK C118 81 00 CMPA #0 TEST IF TRANSFER ADD ABSENT C11A 1027 00B3 LBEQ ERROR C11E FD C300 STD SCTBUF SETUP STARTING TRK & SCT C121 108E C400 LDY #SCTBUF+256 * * PERFORM ACTUAL BOOT LOAD * C125 8D 35 LOAD1 BSR GETCH GET A CHARACTER C127 81 02 CMPA #2 DATA RECORD HEADER? C129 27 10 BEQ LOAD2 SKIP, IF SO C12B 81 16 CMPA #$16 XFR ADDRESS HEADER? C12D 26 F6 BNE LOAD1 LOOP IF NEITHER C12F 8D 2B BSR GETCH GET TRANSFER ADDRESS C131 B7 C108 STA TADR C134 8D 26 BSR GETCH C136 B7 C109 STA TADR+1 C139 20 EA BRA LOAD1 CONTINUE LOAD C13B 8D 1F LOAD2 BSR GETCH GET LOAD ADDRESS C13D B7 C10A STA LADR1 C140 8D 1A BSR GETCH C142 B7 C10B STA LADR2 C145 8D 15 BSR GETCH GET BYTE COUNT C147 1F 89 TFR A,B PUT IN B C149 4D TSTA C14A 27 D9 BEQ LOAD1 LOOP IF COUNT = 0 C14C BE C10A LDX LADR1 GET LOAD ADDRESS C14F 34 14 LOAD3 PSHS B,X C151 8D 09 BSR GETCH GET A DATA CHARACTER C153 35 14 PULS B,X C155 A7 80 STA 0,X+ PUT CHARACTER C157 5A DECB END OF DATA IN RECORD? C158 26 F5 BNE LOAD3 LOOP IF NOT C15A 20 C9 BRA LOAD1 GET ANOTHER RECORD * * GET CHARACTER ROUTINE * C15C 108C C400 GETCH CMPY #SCTBUF+256 OUT OF DATA? C160 26 0F BNE GETCH4 GO READ CHARACTER IF NOT C162 8E C300 LDX #SCTBUF POINT TO BUFFER C165 EC 84 LDD 0,X GET FORWARD LINK C167 27 0B BEQ GO IF ZERO, FILE IS LOADED C169 8D 10 BSR READ READ NEXT SECTOR C16B 26 93 BNE START START OVER IF ERROR C16D 108E C304 LDY #SCTBUF+4 POINT PAST LINK C171 A6 A0 GETCH4 LDA 0,Y+ ELSE GET A CHARACTER C173 39 RTS * * FILE IS LOADED, JUMP TO IT * C174 4F GO CLRA C175 1F 8B TFR A,DP C177 6E 9F C108 JMP [TADR] * * READ SINGLE SECTOR * C17B 8D 2F READ BSR SELTRK C17D C6 02 LDB #2 C17F 86 8C LDA #$8C READ A SECTOR SIDE 1 C181 7D C10C TST SIDEID TEST SIDE C184 27 02 BEQ READ1 SIDE 1, JUMP C186 86 8E LDA #$8E READ A SECTOR SIDE 2 C188 97 00 READ1 STA