1 2 ORG $0800 3 ; LST OFF 4 5 *********************** 6 * * 7 * BOOT 1 MURYADEN * 8 * (S)OURCE BY DECKARD * 9 * * 10 *********************** 11 12 BUFLOW EQU $26 13 BUFHIGH EQU $27 14 SECTEUR0 EQU $3D 15 PISTE EQU $41 16 NB_SECTEUR EQU $FE 17 SECTEUR EQU $FF 18 19 H0478 EQU $0478 20 21 INTRO_TBJ EQU $6000 ; INTRO BYTLEJUICE 22 RUN_INTRO EQU $6270 23 RDOS EQU $B400 24 25 STROBE EQU $C010 26 PHASEOFF EQU $C080 27 PHASEON EQU $C081 28 BOOT0 EQU $C65C 29 30 DRIVEOFF EQU $C0E8 31 HOME EQU $FC58 32 SETKBD EQU $FE89 33 SETVID EQU $FE93 34 INIT EQU $FB2F 35 36 *------------------------------- 37 0800: 01 38 DFB 1 ; 1 SECTEUR 39 0801: A9 60 40 BOOT1 LDA #$60 ; RTS 0803: 8D 01 08 41 STA BOOT1 ; EVITE 2ND EXEC 0806: A9 00 42 LDA #0 0808: 8D 78 04 43 STA H0478 080B: 20 89 FE 44 JSR SETKBD 080E: 20 93 FE 45 JSR SETVID 0811: 20 2F FB 46 JSR INIT 0814: 20 58 FC 47 JSR HOME 48 0817: A0 00 49 LDY #0 ; AFFICHE TITRE "MURYADEN" 0819: B9 D2 08 50 :2 LDA TITRE,Y 081C: F0 06 51 BEQ :1 ; TERMINATEUR 52 081E: 99 B4 05 53 STA $05B4,Y 0821: C8 54 INY 0822: D0 F5 55 BNE :2 ; ALWAYS 56 0824: 2C 10 C0 57 :1 BIT STROBE 58 0827: EA 59 NOP 0828: EA 60 NOP 0829: EA 61 NOP 082A: EE F4 03 62 INC $03F4 ; RESET : REBOOT 63 082D: A9 5E 64 LDA #>INTRO_TBJ-$200 082F: 85 27 65 STA BUFHIGH ; LOAD T$00 S$01 -> T$04 S$0A 0831: A9 00 66 LDA #0 ; PISTE 0833: A2 01 67 LDX #1 ; SECTEUR 0835: A0 4A 68 LDY #74 ; NB SECT 0837: 20 4E 08 69 JSR GO ; CHARGE $6000-$A9FF 70 083A: A9 B2 71 LDA #>RDOS-$200 083C: 85 27 72 STA BUFHIGH ; LOAD T$04 S$0B -> T$05 S$06 083E: A9 04 73 LDA #4 ; PISTE 0840: A2 0B 74 LDX #$0B ; SECTEUR 0842: A0 0C 75 LDY #12 ; NB SECT 0844: 20 4E 08 76 JSR GO ; CHARGE $B400-$BFFF 77 0847: 2C E8 C0 78 BIT DRIVEOFF 084A: 4C 70 62 79 JMP RUN_INTRO 80 084D: 00 81 BRK 82 83 ******************* POINT D'ENTREE ****************** 84 084E: 85 41 85 GO STA PISTE 0850: 86 FF 86 STX SECTEUR 0852: 84 FE 87 STY NB_SECTEUR 0854: A5 27 88 LDA BUFHIGH 0856: 18 89 CLC 0857: 65 FE 90 ADC NB_SECTEUR 0859: 85 27 91 STA BUFHIGH 085B: E6 27 92 INC BUFHIGH 085D: 88 93 DEY 085E: F0 11 94 BEQ CALIBRAGE 95 0860: E6 FF 96 H0860 INC SECTEUR ; SECTEUR SUIVANT 0862: A5 FF 97 LDA SECTEUR 0864: C9 10 98 CMP #16 ; DERNIER SECTEUR? 0866: D0 06 99 BNE H086E ; NON 100 0868: A9 00 101 LDA #0 ; PISTE SUIVANTE 086A: 85 FF 102 STA SECTEUR 086C: E6 41 103 INC PISTE 086E: 88 104 H086E DEY 086F: D0 EF 105 BNE H0860 106 0871: A2 60 107 CALIBRAGE LDX #$60 0873: A5 41 108 LDA PISTE 0875: 0A 109 ASL 0876: 85 26 110 STA BUFLOW 0878: AD 78 04 111 H0878 LDA H0478 087B: 85 FD 112 STA $FD 087D: 38 113 SEC 087E: E5 26 114 SBC BUFLOW 0880: F0 2D 115 BEQ GESTIONLOAD 116 0882: B0 05 117 BCS H0889 118 0884: EE 78 04 119 INC H0478 0887: 90 03 120 BCC H088C 121 0889: CE 78 04 122 H0889 DEC H0478 088C: 20 A2 08 123 H088C JSR H08A2 088F: 20 F2 08 124 JSR H08F2 0892: A5 FD 125 LDA $FD 0894: 29 03 126 AND #$03 0896: 0A 127 ASL 0897: 09 60 128 ORA #$60 0899: A8 129 TAY 089A: B9 80 C0 130 LDA PHASEOFF,Y 089D: 20 F2 08 131 JSR H08F2 08A0: F0 D6 132 BEQ H0878 133 08A2: AD 78 04 134 H08A2 LDA H0478 08A5: 29 03 135 AND #$03 08A7: 0A 136 ASL 08A8: 09 60 137 ORA #$60 08AA: A8 138 TAY 08AB: B9 81 C0 139 LDA PHASEON,Y 08AE: 60 140 RTS 141 142 *------------------------------- 143 08AF: A9 00 144 GESTIONLOAD LDA #$00 ; IDENTIQUE AU TOM E. HAWK BOOT 08B1: 85 26 145 STA BUFLOW 08B3: A4 FF 146 LDY SECTEUR ; EQUIVALENCE SECTEUR LOGIQUE & PHYSIQUE 08B5: B9 E2 08 147 LDA DATASECT,Y 08B8: 85 3D 148 STA SECTEUR0 08BA: A2 60 149 LDX #$60 ; CHARGE LE SECTEUR 08BC: 20 5C C6 150 JSR BOOT0 08BF: C6 FF 151 DEC SECTEUR ; SECTEUR PRECEDENT 08C1: 10 06 152 BPL H08C9 153 08C3: A9 0F 154 LDA #$0F ; POSITIONNE SUR LE DERNIER SECTEUR 08C5: 85 FF 155 STA SECTEUR ; DE LA PISTE PRECEDENTE 08C7: C6 41 156 DEC PISTE 08C9: C6 27 157 H08C9 DEC BUFHIGH ; MISE A JOUR BUFFER RECEPTION 08CB: C6 27 158 DEC BUFHIGH 08CD: C6 FE 159 DEC NB_SECTEUR 08CF: D0 A0 160 BNE CALIBRAGE ; ON N'A PAS FINI DE TOUT CHARGER 161 08D1: 60 162 RTS 163 164 *------------------------------- 165 08D2: FF 20 FF 166 TITRE HEX FF20FF 08D5: A0 CD D5 167 ASC " MURYADEN " 08D8: D2 D9 C1 C4 C5 CE A0 08DF: FF 20 FF 168 HEX FF20FF 169 170 *------------------------------- 171 08E2: 00 0D 0B 172 DATASECT HEX 000D0B09070503010E0C0A080604020F 08E5: 09 07 05 03 01 0E 0C 0A 08ED: 08 06 04 02 0F 173 174 *------------------------------- 175 08F2: A9 28 176 H08F2 LDA #$28 08F4: 38 177 SEC 08F5: 48 178 H08F5 PHA 08F6: E9 01 179 H08F6 SBC #1 08F8: D0 FC 180 BNE H08F6 181 08FA: 68 182 PLA 08FB: E9 01 183 SBC #1 08FD: D0 F6 184 BNE H08F5 185 08FF: 60 186 RTS 187 188 189 SAV BOOT1.MURYADEN Object saved as BOOT1.MURYADEN,A$0800,L$0100 --End assembly, 256 bytes, Errors: 0 Symbol table - alphabetical order: BOOT0 =$C65C BOOT1 =$0801 BUFHIGH =$27 BUFLOW =$26 CALIBRAGE =$0871 DATASECT =$08E2 DRIVEOFF =$C0E8 GESTIONLOAD =$08AF GO =$084E H0478 =$0478 H0860 =$0860 H086E =$086E H0878 =$0878 H0889 =$0889 H088C =$088C H08A2 =$08A2 H08C9 =$08C9 H08F2 =$08F2 H08F5 =$08F5 H08F6 =$08F6 HOME =$FC58 INIT =$FB2F INTRO_TBJ =$6000 NB_SECTEUR =$FE PHASEOFF =$C080 PHASEON =$C081 PISTE =$41 RDOS =$B400 RUN_INTRO =$6270 SECTEUR =$FF SECTEUR0 =$3D SETKBD =$FE89 SETVID =$FE93 STROBE =$C010 TITRE =$08D2 Symbol table - numerical order: BUFLOW =$26 BUFHIGH =$27 SECTEUR0 =$3D PISTE =$41 NB_SECTEUR =$FE SECTEUR =$FF H0478 =$0478 BOOT1 =$0801 GO =$084E H0860 =$0860 H086E =$086E CALIBRAGE =$0871 H0878 =$0878 H0889 =$0889 H088C =$088C H08A2 =$08A2 GESTIONLOAD =$08AF H08C9 =$08C9 TITRE =$08D2 DATASECT =$08E2 H08F2 =$08F2 H08F5 =$08F5 H08F6 =$08F6 INTRO_TBJ =$6000 RUN_INTRO =$6270 RDOS =$B400 STROBE =$C010 PHASEOFF =$C080 PHASEON =$C081 DRIVEOFF =$C0E8 BOOT0 =$C65C INIT =$FB2F HOME =$FC58 SETKBD =$FE89 SETVID =$FE93