* * Apple II diagnostics code * * (c) 1983, Apple Computer, Inc. * (s) 2018, Brutal Deluxe Software * mx %11 org $d000 lst off use EQUATES.S *--------------------------------------------------------- * EPROM18B.BIN * Code and data at $D000..$DFFF * First bank *--------------------------------------------------------- FNDSLOT LDA #>LC000 STA SETSLOTCXROM STA SETSLOTC3ROM STA SCRATCH+1 STA ROMCTRL+1 LDA #L0200 ; 02 STA $0D LDA #>LC000-1 ; BF STA $67 JSR LD27A JSR HOME BIT TXTSET BIT MIXCLR BIT LORES LDX #$00 LD207 LDA CTAMSG,X BEQ LD212 JSR COUT INX BNE LD207 LD212 LDA #L7237 STA $03 LDA #>LD237 STA $05 LDA #LD000 STA $0D LDA #>LE000-1 STA $67 LDY #$00 LDA #$10 STA (ROMCTRL),Y BIT LCBANK1 BIT LCBANK1 JSR LD27A BIT LCBANK2 BIT LCBANK2 LDA #>LD000 STA $0D LDA #>LFE00 STA $67 JSR LD27A BIT ROMIN2 BIT ROMIN2 LDA #$08 LDY #$00 STA (ROMCTRL),Y LDA LOOPFLG BEQ LD275 JSR HOME JMP CPUTST LD275 INC RAMFLG JMP TSTS LD27A LDA #$00 STA $0C TAY STA $02 LD281 STA $65 LDX #$02 STX $07 LD287 LDA $0D STA $03 LDX $67 LDA $65 EOR #$FF STA $08 LD293 STA ($02),Y INY BNE LD293 INC $03 CPX $03 BCS LD293 LDX $07 LDA $0D STA $03 LD2A4 LDA $65 LD2A6 DEX BPL LD2AD LDX #$02 STA ($02),Y LD2AD INY BNE LD2A6 INC $03 LDA $67 CMP $03 BCS LD2A4 LDA #$00 CMP $07 BNE LD2C5 LDA $65 CMP #$80 BNE LD2C5 RTS LD2C5 LDA $0D STA $03 LDX $07 LD2CB LDA $08 DEX BPL LD2D4 LDX #$02 LDA $65 LD2D4 CMP ($02),Y BNE LD2FF INY BNE LD2CB INC $03 LDA $67 CMP $03 BCS LD2CB DEC $07 BPL LD287 LDA $65 EOR #$FF BMI LD281 RTS LD2EE STA L0800+$E LDY #$00 LD2F3 LDA L0800,Y STA |L0000,Y INY BNE LD2F3 JMP ERROR LD2FF STA $0E STY $09 LDA ($02),Y STA $07 BIT ROMIN2 BIT ROMIN2 LDA #$08 LDY #$00 STA (ROMCTRL),Y STA $0C STY RAMFLG BIT TXTSET BIT MIXCLR BIT LORES JMP ERROR * * End of relocated code * *--------------------------------------------------------- * * The main error routine * *--------------------------------------------------------- org $D323 ERROR JSR HOME JSR BELL LDY #$00 PSPF LDA SPFMSG,Y BEQ SPF2 JSR COUT INY BNE PSPF SPF2 LDA $07 EOR $0E LDX #$00 CLC BITS INX ROR BCC BITS LDA BITMAP,X JSR PRBYTE JSR BELL LDY $09 LDX #$00 PERRWT LDA ESPACE,X BEQ WHOA JSR COUT INX BNE PERRWT WHOA LDA KBD CMP #$A0 BNE WHOA JMP INI *--------------------------------------------------------- * * Command: S - Speaker test * *--------------------------------------------------------- SNDTST JSR HOME LDA #$05 STA $08 LDA #$FF STA $07 LDA #$09 STA CV LDX #$00 TO1 LDA TMSG,X BEQ PIT1 JSR COUT INX BNE TO1 PIT1 JSR PAUSE PITCH LDY #$30 LOW1 JSR TONE LDX $07 JSR DLY DEY BNE LOW1 LDY #$50 JSR DELAY LDA $07 SBC #$20 STA $07 DEC $08 BNE PITCH BIT KBDSTROBE JMP TSTS TONE STA SPKR LDA SPKR STA SPKR RTS *--------------------------------------------------------- * * Command: V - Video tests * *--------------------------------------------------------- VIDTST JSR SETGR BIT LORES LDA #>L0400 STA $11 LDA #L0800 BNE LD3BF JSR HOME LDA #>L0400 STA $11 LDA #>L0800 STA $03 LDA #L0C00 BNE LD3F6 LDY #$00 LD409 LDA LRP2,Y ; low-res page 2 BEQ LD414 STA L0AD0,Y INY BNE LD409 LD414 LDX #$00 LD416 LDA LRMSG,X BEQ LD421 JSR COUT INX BNE LD416 LD421 BIT TXTPAGE2 JSR PAUSE BIT TXTPAGE1 JSR PAUSE LDA KBD CMP #$A0 BNE LD421 BIT KBDSTROBE JSR SETTXT LDA #>L0C00 STA $08 LDA #>L0800 STA $07 LDA #L4000 STA $03 LDA #>L2000 STA $05 LDA #L6000 BNE LD480 LDA #$11 STA $2800 LDA #$19 STA $2C00 LDA #$11 STA $3000 STA $3400 STA $3800 LDA #$7D STA $3C00 LDA #$31 STA $4800 LDA #$49 STA $4C00 LDA #$41 STA $5000 LDA #$21 STA $5400 LDA #$11 STA $5800 LDA #$79 STA $5C00 LD4C9 BIT TXTPAGE2 JSR PAUSE BIT TXTPAGE1 LDA KBD CMP #$A0 BEQ LD4DF JSR PAUSE JMP LD4C9 LD4DF JSR SETTXT BIT LORES JMP TSTS LD4E8 LDY #$00 LDX #$00 LDA #$00 JSR LEEA9 LDX #$01 LDA #$17 JSR LEF8C LDY #$BF LDX #$01 LDA #$17 JSR LEF8C LDY #$BF LDA #$00 JSR LEF8C LDY #$00 LDX #$00 LDA #$00 JSR LEF8C RTS LD512 LDA #$00 LDY $07 JSR LEF8C LDA $07 TAY ADC #$07 STA $07 LDX #$01 LDA #$18 JSR LEF8C LDX #$01 LDA #$18 LDY $07 JSR LEF8C LDA #$00 LDY $07 JSR LEF8C LDA $07 ADC #$07 TAY STA $07 LDA #$00 JSR LEF8C RTS LD544 LDY #$BF LDX $09 LDA $06 JSR LEF8C LDY #$00 LDX $09 LDA $06 JSR LEF8C LDY #$00 LDX $09 LDA $06 ADC #$08 STA $06 JSR LEF8C LDY #$BF LDX $09 LDA $06 JSR LEF8C RTS *--------------------------------------------------------- * * Command: K - Keyboard test * *--------------------------------------------------------- KBDTST JSR HOME LDA #$14 STA CV LDX #$00 LD576 LDA KMSG,X BEQ LD581 JSR COUT INX BNE LD576 LD581 LDA #$01 STA $69 LDA #$02 STA $66 STA $68 LDA #$0D STA $09 LDA #$0D STA $67 LDA #$7F STA $E4 JSR LEE34 BIT MIXSET JSR LD773 INC $6A INC $6A LDA $6A STA $69 LDA #$1B STA $67 LDA $68 STA $66 JSR LD788 LDA #$01 STA $69 LDA #$15 STA $68 STA $66 LDA #$0D STA $09 LDA #$1B STA $67 JSR LD788 INC $6A INC $6A LDA $6A STA $69 LDA #$0D STA $67 LDA $68 STA $66 JSR LD773 LDA #$28 STA $68 STA $66 LDA #$1D STA $67 LDA #$01 STA $69 JSR LD788 LDA #$0D STA $67 INC $6A INC $6A LDA $6A STA $69 LDA #$0B STA $09 LDA $68 STA $66 JSR LD773 LDA $68 STA $66 LDA #$1C STA $67 INC $6A INC $6A LDA $6A STA $69 JSR LD788 LDA #$01 STA $69 LDA #$25 STA $67 LDA #$3B STA $68 STA $66 JSR LD788 LDA #$0D STA $67 LDA $68 STA $66 LDA #$0A STA $09 INC $6A INC $6A LDA $6A STA $69 JSR LD773 INC $6A INC $6A LDA $6A STA $69 LDA #$25 STA $67 LDA $68 STA $66 JSR LD788 LDA #$01 STA $69 LDA #$0D STA $67 LDA #$02 STA $09 LDA #$4E STA $68 STA $66 JSR LD773 LDA $6A ADC #$17 STA $69 LDA $68 STA $66 JSR LD788 INC $6A INC $6A LDA $6A STA $69 LDA $68 STA $66 LDA #$5A STA $67 JSR LD788 INC $6A INC $6A LDA $6A STA $69 LDA #$0D STA $67 LDA $68 STA $66 LDA #$05 STA $09 JSR LD773 LDY #$00 STY $63 STY $68 STY $66 STY $67 STY $62 LDA #$3F STA $64 LD6AD JSR LD83F DEC $64 BNE LD6AD LDA #$FF STA $0E LD6B8 LDA #$00 STA $E4 LDA $0E CMP #$FF BEQ LD6C5 JSR LD806 LD6C5 LDA BUTN0 BPL LD6CF LDY #$38 JMP LD739 LD6CF LDA BUTN1 BPL LD6D9 LDY #$39 JMP LD739 LD6D9 LDA KBD BPL LD6B8 STA $65 CMP #$FB BCS LD6E8 CMP #$E1 BCS LD74D LD6E8 CMP #$83 BEQ LD743 BIT KBDSTROBE LDA #$00 STA KBD LDA #$80 JSR WAIT LDA KBD CMP $65 BNE LD728 JSR BELL JSR BELL LDA #$00 STA $0E LDA $65 LDY #$00 LD70E CMP LE2A5,Y BEQ LD71B INY CPY #LE2DD-LE2A5 ; $38 BNE LD70E JMP LD6B8 LD71B TYA ASL LDY $68 STA |$006B,Y INY STY $68 JMP LD6B8 LD728 LDA $65 LDY #$00 LD72C CMP LE2A5,Y BEQ LD739 INY CPY #LE2DD-LE2A5 ; $38 BNE LD72C JMP LD6B8 LD739 TYA ASL STA $63 JSR LD83F JMP LD6B8 LD743 JSR SETTXT LDA #$00 STA $0C JMP TSTS LD74D LDA #$3C ASL STA $63 JSR LD83F LDA #$FF JSR WAIT LDA #$FF JSR WAIT LDA #$7F STA $E4 LDA #$3C ASL STA $63 JSR LD83F LDA #$FF JSR WAIT JMP LD6B8 LD773 JSR LD788 DEC $09 BEQ LD787 LDA $69 ADC #$0F STA $69 LDA $68 STA $66 JMP LD773 LD787 RTS LD788 LDY #$00 LDX $69 LDA $66 JSR LEEA9 DEC $69 INC $66 LDA $69 LDY $66 LDX #$00 JSR LEF8C LDA $66 CLC ADC #$0F STA $66 TAY LDA $69 LDX #$00 JSR LEF8C INC $69 INC $66 LDA $69 LDY $66 LDX #$00 JSR LEF8C LDA $69 ADC $67 STA $69 LDY $66 LDX #$00 JSR LEF8C DEC $66 DEC $66 INC $69 LDA $69 STA $6A LDY $66 LDX #$00 JSR LEF8C LDA $66 SEC SBC #$0F STA $66 LDA $69 LDY $66 LDX #$00 JSR LEF8C DEC $69 DEC $66 LDA $69 LDY $66 LDX #$00 JSR LEF8C LDA $69 SEC SBC $67 STA $69 LDA $69 LDY $66 LDX #$00 JSR LEF8C RTS LD806 LDY #$00 LDA #$7F STA $E4 LD80C LDA |$006B,Y STA $63 STY $66 JSR LD83F LDY $66 INY CPY $68 BNE LD80C LDA #$40 JSR WAIT LDA #$00 STA $E4 LDY #$00 LD828 LDA |$006B,Y STA $63 STY $66 JSR LD83F LDY $66 INY CPY $68 BNE LD828 LDA #$40 JSR WAIT RTS LD83F LDY $63 LDA LE2DD,Y STA POINTER INY LDA LE2DD,Y STA POINTER+1 INY STY $63 LDY #$00 LDA (POINTER),Y STA $62 INC POINTER JSR LD85B RTS LD85B LDY #$00 LDA (POINTER),Y TAX INC POINTER BNE LD866 INC POINTER+1 LD866 LDA (POINTER),Y INC POINTER BNE LD86E INC POINTER+1 LD86E JSR LEEA9 DEC $62 BNE LD85B RTS LD876 DB $1E DB $03 DB $09 DB $04 DB $09 DB $05 DB $09 DB $07 DB $09 DB $08 DB $09 DB $09 DB $09 DB $0B DB $09 DB $0C DB $09 DB $0D DB $09 DB $03 DB $0A DB $07 DB $0A DB $0B DB $0A DB $03 DB $0B DB $04 DB $0B DB $07 DB $0B DB $08 DB $0B DB $09 DB $0B DB $0B DB $0B DB $03 DB $0C DB $09 DB $0C DB $0B DB $0C DB $03 DB $0D DB $04 DB $0D DB $05 DB $0D DB $07 DB $0D DB $08 DB $0D DB $09 DB $0D DB $0B DB $0D DB $0C DB $0D DB $0D DB $0D DB $0C DB $19 DB $0B DB $18 DB $0C DB $19 DB $0C DB $19 DB $0D DB $19 DB $0E DB $19 DB $0F DB $19 DB $10 DB $17 DB $11 DB $18 DB $11 DB $19 DB $11 DB $1A DB $11 DB $1B DB $11 DB $0C DB $29 DB $0B DB $2A DB $0B DB $28 DB $0C DB $2B DB $0C DB $2B DB $0D DB $2A DB $0E DB $29 DB $0F DB $28 DB $10 DB $28 DB $11 DB $29 DB $11 DB $2A DB $11 DB $2B DB $11 DB $0D DB $3A DB $0B DB $3B DB $0B DB $3C DB $0B DB $3D DB $0B DB $3D DB $0C DB $3C DB $0D DB $3B DB $0E DB $3C DB $0E DB $3D DB $0F DB $3D DB $10 DB $3C DB $11 DB $3B DB $11 DB $3A DB $10 DB $0E DB $4C DB $0B DB $4B DB $0C DB $4C DB $0C DB $4A DB $0D DB $4C DB $0D DB $49 DB $0E DB $4C DB $0E DB $49 DB $0F DB $4A DB $0F DB $4B DB $0F DB $4C DB $0F DB $4D DB $0F DB $4C DB $10 DB $4C DB $11 DB $0F DB $5B DB $0B DB $5C DB $0B DB $5D DB $0B DB $5E DB $0B DB $5B DB $0C DB $5B DB $0C DB $5B DB $0D DB $5C DB $0D DB $5D DB $0D DB $5E DB $0E DB $5E DB $0F DB $5E DB $10 DB $5D DB $11 DB $5C DB $11 DB $5B DB $10 DB $11 DB $6F DB $0B DB $6E DB $0B DB $6D DB $0B DB $6C DB $0C DB $6B DB $0D DB $6B DB $0E DB $6C DB $0E DB $6D DB $0E DB $6E DB $0E DB $6F DB $0F DB $6B DB $0F DB $6F DB $0F DB $6B DB $10 DB $6F DB $10 DB $6C DB $11 DB $6D DB $11 DB $6E DB $11 DB $0B DB $7E DB $0B DB $7F DB $0B DB $80 DB $0B DB $81 DB $0B DB $81 DB $0C DB $80 DB $0D DB $7F DB $0E DB $7E DB $0F DB $7E DB $10 DB $7E DB $11 DB $7D DB $0B DB $11 DB $8F DB $0B DB $90 DB $0B DB $91 DB $0B DB $8E DB $0C DB $92 DB $0C DB $8E DB $0D DB $92 DB $0D DB $8F DB $0E DB $90 DB $0E DB $91 DB $0E DB $8E DB $0F DB $92 DB $0F DB $8E DB $10 DB $92 DB $10 DB $8F DB $11 DB $90 DB $11 DB $91 DB $11 DB $0F DB $A0 DB $0B DB $A1 DB $0B DB $A2 DB $0B DB $9F DB $0C DB $A3 DB $0C DB $9F DB $0D DB $A3 DB $0D DB $A0 DB $0E DB $A1 DB $0E DB $A2 DB $0E DB $A3 DB $0E DB $A3 DB $0F DB $A2 DB $10 DB $A1 DB $11 DB $A0 DB $11 DB $12 DB $B0 DB $0B DB $B1 DB $0B DB $B2 DB $0B DB $AF DB $0C DB $B3 DB $0C DB $AF DB $0D DB $B3 DB $0D DB $AF DB $0E DB $B3 DB $0E DB $AF DB $0E DB $B3 DB $0E DB $AF DB $0F DB $B3 DB $0F DB $AF DB $10 DB $B3 DB $10 DB $B0 DB $11 DB $B1 DB $11 DB $B2 DB $11 DB $07 DB $C0 DB $0D DB $C1 DB $0D DB $C2 DB $0D DB $C3 DB $0D DB $C4 DB $0D DB $C5 DB $0D DB $C6 DB $0D DB $0C DB $D2 DB $0C DB $D3 DB $0C DB $D4 DB $0C DB $D5 DB $0C DB $D6 DB $0C DB $D7 DB $0C DB $D2 DB $0E DB $D3 DB $0E DB $D4 DB $0E DB $D5 DB $0E DB $D6 DB $0E DB $D7 DB $0E DB $38 DB $E1 DB $09 DB $E1 DB $0A DB $E1 DB $0B DB $E1 DB $0B DB $E1 DB $0C DB $E1 DB $0D DB $E2 DB $09 DB $E3 DB $0A DB $E3 DB $0B DB $E3 DB $0C DB $E2 DB $0D DB $E5 DB $09 DB $E6 DB $09 DB $E7 DB $09 DB $E5 DB $0A DB $E5 DB $0B DB $E6 DB $0B DB $E7 DB $0B DB $E5 DB $0C DB $E5 DB $0D DB $E6 DB $0D DB $E7 DB $0D DB $E9 DB $09 DB $E9 DB $0A DB $E9 DB $0B DB $E9 DB $0C DB $E9 DB $0D DB $EA DB $0D DB $EB DB $0D DB $ED DB $09 DB $EE DB $09 DB $EF DB $09 DB $ED DB $0A DB $ED DB $0B DB $EE DB $0B DB $ED DB $0C DB $ED DB $0D DB $EE DB $0D DB $EF DB $0D DB $F1 DB $09 DB $F2 DB $09 DB $F3 DB $09 DB $F2 DB $0A DB $F2 DB $0B DB $F2 DB $0C DB $F2 DB $0D DB $F5 DB $09 DB $F6 DB $09 DB $F7 DB $09 DB $F5 DB $0A DB $F5 DB $0B DB $F6 DB $0B DB $F5 DB $0C DB $F5 DB $0D DB $F6 DB $0D DB $F7 DB $0D DB $1B DB $0A DB $1C DB $0B DB $1C DB $0C DB $1C DB $0B DB $1D DB $0B DB $1E DB $0B DB $1F DB $0B DB $20 DB $0F DB $1C DB $0E DB $1D DB $10 DB $1D DB $0E DB $1E DB $0F DB $1E DB $10 DB $1E DB $0E DB $1F DB $10 DB $1F DB $0E DB $20 DB $10 DB $20 DB $12 DB $1C DB $13 DB $1C DB $12 DB $1D DB $14 DB $1D DB $12 DB $1E DB $13 DB $1E DB $12 DB $1F DB $14 DB $1F DB $12 DB $20 DB $13 DB $20 DB $11 DB $26 DB $1E DB $27 DB $1E DB $28 DB $1E DB $25 DB $1F DB $29 DB $1F DB $25 DB $20 DB $29 DB $20 DB $25 DB $21 DB $29 DB $21 DB $25 DB $22 DB $27 DB $22 DB $29 DB $22 DB $25 DB $23 DB $28 DB $23 DB $26 DB $24 DB $27 DB $24 DB $29 DB $24 DB $12 DB $36 DB $1E DB $36 DB $1F DB $36 DB $20 DB $36 DB $21 DB $36 DB $22 DB $36 DB $23 DB $36 DB $24 DB $37 DB $23 DB $38 DB $22 DB $38 DB $21 DB $39 DB $23 DB $3A DB $24 DB $3A DB $23 DB $3A DB $22 DB $3A DB $21 DB $3A DB $20 DB $3A DB $1F DB $3A DB $1E DB $0F DB $48 DB $1E DB $49 DB $1E DB $4A DB $1E DB $4B DB $1E DB $48 DB $1F DB $48 DB $20 DB $48 DB $21 DB $49 DB $21 DB $4A DB $21 DB $48 DB $22 DB $48 DB $23 DB $48 DB $24 DB $49 DB $24 DB $4A DB $24 DB $4B DB $24 DB $12 DB $59 DB $1E DB $5A DB $1E DB $5B DB $1E DB $5C DB $1E DB $59 DB $1F DB $5D DB $1F DB $59 DB $20 DB $5D DB $20 DB $59 DB $21 DB $5A DB $21 DB $5B DB $21 DB $5C DB $21 DB $59 DB $22 DB $5B DB $22 DB $59 DB $23 DB $5C DB $23 DB $59 DB $24 DB $5D DB $24 DB $0B DB $69 DB $1E DB $6A DB $1E DB $6B DB $1E DB $6C DB $1E DB $6D DB $1E DB $6B DB $1F DB $6B DB $20 DB $6B DB $21 DB $6B DB $22 DB $6B DB $23 DB $6B DB $24 DB $0A DB $7B DB $1E DB $7F DB $1E DB $7B DB $1F DB $7F DB $1F DB $7C DB $20 DB $7E DB $20 DB $7D DB $21 DB $7D DB $22 DB $7D DB $23 DB $7D DB $24 DB $0F DB $8C DB $1E DB $90 DB $1E DB $8C DB $1F DB $90 DB $1F DB $8C DB $20 DB $90 DB $20 DB $8C DB $21 DB $90 DB $21 DB $8C DB $22 DB $90 DB $22 DB $8C DB $23 DB $90 DB $23 DB $8D DB $24 DB $8E DB $24 DB $8F DB $24 DB $07 DB $9E DB $1E DB $9E DB $1F DB $9E DB $20 DB $9E DB $21 DB $9E DB $22 DB $9E DB $23 DB $9E DB $24 DB $12 DB $AE DB $1E DB $AF DB $1E DB $B0 DB $1E DB $B1 DB $1E DB $AD DB $1F DB $B2 DB $1F DB $AD DB $20 DB $B2 DB $20 DB $AD DB $21 DB $B2 DB $21 DB $AD DB $22 DB $B2 DB $22 DB $AD DB $23 DB $B2 DB $23 DB $AE DB $24 DB $AF DB $24 DB $B0 DB $24 DB $B1 DB $24 DB $0D DB $BF DB $1E DB $C0 DB $1E DB $C1 DB $1E DB $BF DB $1F DB $C2 DB $1F DB $BF DB $20 DB $C2 DB $20 DB $BF DB $21 DB $C0 DB $21 DB $C1 DB $21 DB $BF DB $22 DB $BF DB $23 DB $BF DB $24 DB $0B DB $D0 DB $1E DB $D1 DB $1E DB $D2 DB $1E DB $D0 DB $1F DB $D0 DB $20 DB $D0 DB $21 DB $D0 DB $22 DB $D0 DB $23 DB $D0 DB $24 DB $D1 DB $24 DB $D2 DB $24 DB $0B DB $E1 DB $1E DB $E2 DB $1E DB $E3 DB $1E DB $E3 DB $1F DB $E3 DB $20 DB $E3 DB $21 DB $E3 DB $22 DB $E3 DB $23 DB $E3 DB $24 DB $E2 DB $24 DB $E1 DB $24 DB $06 DB $F0 DB $1E DB $F1 DB $1F DB $F2 DB $20 DB $F3 DB $21 DB $F4 DB $22 DB $F5 DB $23 DB $3F DB $02 DB $2E DB $03 DB $2E DB $04 DB $2E DB $02 DB $2F DB $02 DB $30 DB $02 DB $31 DB $02 DB $32 DB $03 DB $32 DB $04 DB $32 DB $07 DB $2E DB $08 DB $2E DB $06 DB $2F DB $09 DB $2F DB $06 DB $30 DB $09 DB $30 DB $06 DB $31 DB $09 DB $31 DB $07 DB $32 DB $08 DB $32 DB $0B DB $2F DB $0B DB $2F DB $0B DB $30 DB $0B DB $31 DB $0B DB $32 DB $0C DB $2E DB $0D DB $2E DB $0E DB $2F DB $0E DB $30 DB $0E DB $31 DB $0E DB $32 DB $10 DB $2E DB $11 DB $2E DB $12 DB $2E DB $11 DB $2F DB $11 DB $30 DB $11 DB $31 DB $11 DB $32 DB $14 DB $2E DB $15 DB $2E DB $14 DB $2F DB $16 DB $2F DB $14 DB $30 DB $15 DB $30 DB $14 DB $31 DB $16 DB $31 DB $14 DB $32 DB $16 DB $32 DB $19 DB $2E DB $1A DB $2E DB $18 DB $2F DB $18 DB $30 DB $18 DB $31 DB $19 DB $32 DB $1A DB $32 DB $1B DB $2F DB $1B DB $30 DB $1B DB $31 DB $1D DB $2E DB $1D DB $2F DB $1D DB $30 DB $1D DB $31 DB $1D DB $32 DB $1E DB $32 DB $10 DB $29 DB $31 DB $28 DB $32 DB $2A DB $32 DB $27 DB $33 DB $2B DB $33 DB $27 DB $34 DB $2B DB $34 DB $27 DB $35 DB $28 DB $35 DB $29 DB $35 DB $2A DB $35 DB $2B DB $35 DB $27 DB $36 DB $2B DB $36 DB $27 DB $37 DB $2B DB $37 DB $0F DB $39 DB $31 DB $3A DB $31 DB $3B DB $31 DB $38 DB $32 DB $3C DB $32 DB $38 DB $33 DB $39 DB $34 DB $3A DB $34 DB $3B DB $34 DB $3C DB $35 DB $3C DB $36 DB $3B DB $37 DB $3A DB $37 DB $39 DB $37 DB $38 DB $36 DB $14 DB $49 DB $31 DB $4A DB $31 DB $4B DB $31 DB $4C DB $31 DB $49 DB $32 DB $4D DB $32 DB $49 DB $32 DB $4D DB $32 DB $49 DB $33 DB $4D DB $33 DB $49 DB $34 DB $4D DB $34 DB $49 DB $35 DB $4D DB $35 DB $49 DB $36 DB $4D DB $36 DB $49 DB $37 DB $4A DB $37 DB $4B DB $37 DB $4C DB $37 DB $0C DB $5A DB $31 DB $5B DB $31 DB $5C DB $31 DB $5D DB $31 DB $5A DB $32 DB $5A DB $33 DB $5A DB $34 DB $5B DB $34 DB $5C DB $34 DB $5A DB $35 DB $5A DB $36 DB $5A DB $37 DB $0D DB $6C DB $31 DB $6D DB $31 DB $6E DB $31 DB $6B DB $32 DB $6B DB $33 DB $6B DB $34 DB $6B DB $35 DB $6D DB $35 DB $6E DB $35 DB $6B DB $36 DB $6E DB $36 DB $6C DB $37 DB $6D DB $37 DB $11 DB $7D DB $31 DB $80 DB $31 DB $7D DB $32 DB $7D DB $32 DB $80 DB $32 DB $7D DB $33 DB $80 DB $33 DB $7D DB $34 DB $7E DB $34 DB $7F DB $34 DB $80 DB $34 DB $7D DB $35 DB $80 DB $35 DB $7D DB $36 DB $80 DB $36 DB $7D DB $37 DB $80 DB $37 DB $0A DB $92 DB $31 DB $92 DB $32 DB $92 DB $33 DB $92 DB $34 DB $92 DB $35 DB $92 DB $36 DB $91 DB $37 DB $90 DB $37 DB $8F DB $37 DB $8E DB $36 DB $0E DB $9E DB $31 DB $A2 DB $31 DB $9E DB $32 DB $A1 DB $32 DB $9E DB $33 DB $A0 DB $33 DB $9E DB $34 DB $9F DB $34 DB $9E DB $35 DB $A0 DB $35 DB $9E DB $36 DB $A1 DB $36 DB $9E DB $37 DB $A2 DB $37 DB $0B DB $AF DB $31 DB $AF DB $32 DB $AF DB $33 DB $AF DB $34 DB $AF DB $35 DB $AF DB $36 DB $AF DB $37 DB $B0 DB $37 DB $B1 DB $37 DB $B2 DB $37 DB $B3 DB $37 DB $04 DB $C2 DB $33 DB $C2 DB $35 DB $C2 DB $36 DB $C1 DB $37 DB $03 DB $D3 DB $33 DB $D3 DB $34 DB $D3 DB $35 DB $37 DB $E0 DB $2E DB $E0 DB $2F DB $E0 DB $30 DB $E0 DB $31 DB $E0 DB $32 DB $E1 DB $2E DB $E2 DB $2F DB $E1 DB $30 DB $E2 DB $31 DB $E2 DB $32 DB $E4 DB $2E DB $E4 DB $2F DB $E4 DB $30 DB $E4 DB $31 DB $E4 DB $32 DB $E5 DB $2E DB $E6 DB $2E DB $E5 DB $30 DB $E5 DB $32 DB $E6 DB $32 DB $E8 DB $2E DB $E9 DB $2E DB $EA DB $2E DB $E9 DB $2F DB $E9 DB $30 DB $E9 DB $31 DB $E9 DB $32 DB $EC DB $2E DB $EE DB $2E DB $EC DB $2F DB $EE DB $2F DB $EC DB $30 DB $EE DB $30 DB $EC DB $31 DB $EE DB $31 DB $ED DB $32 DB $F0 DB $2E DB $F1 DB $2E DB $F0 DB $2F DB $F2 DB $2F DB $F0 DB $30 DB $F1 DB $30 DB $F0 DB $31 DB $F2 DB $31 DB $F0 DB $32 DB $F2 DB $32 DB $F4 DB $2F DB $F4 DB $30 DB $F4 DB $31 DB $F4 DB $32 DB $F5 DB $2E DB $F6 DB $2F DB $F6 DB $30 DB $F6 DB $31 DB $F6 DB $32 DB $2A DB $0C DB $41 DB $0D DB $41 DB $0E DB $41 DB $0C DB $42 DB $0C DB $43 DB $0D DB $43 DB $0E DB $43 DB $0E DB $44 DB $0E DB $45 DB $0D DB $45 DB $0C DB $45 DB $10 DB $41 DB $12 DB $41 DB $10 DB $42 DB $12 DB $42 DB $10 DB $43 DB $11 DB $43 DB $12 DB $43 DB $10 DB $44 DB $12 DB $44 DB $10 DB $45 DB $12 DB $45 DB $15 DB $41 DB $15 DB $42 DB $15 DB $43 DB $15 DB $44 DB $15 DB $45 DB $18 DB $41 DB $19 DB $41 DB $1A DB $41 DB $18 DB $42 DB $18 DB $43 DB $19 DB $43 DB $18 DB $44 DB $18 DB $45 DB $1C DB $41 DB $1D DB $41 DB $1E DB $41 DB $1D DB $42 DB $1D DB $43 DB $1D DB $44 DB $1D DB $45 DB $0F DB $2F DB $44 DB $30 DB $44 DB $31 DB $44 DB $32 DB $44 DB $33 DB $44 DB $33 DB $45 DB $32 DB $46 DB $31 DB $47 DB $30 DB $48 DB $2F DB $49 DB $2F DB $4A DB $30 DB $4A DB $31 DB $4A DB $32 DB $4A DB $33 DB $4A DB $0D DB $40 DB $44 DB $44 DB $44 DB $40 DB $45 DB $44 DB $45 DB $41 DB $46 DB $43 DB $46 DB $42 DB $47 DB $41 DB $48 DB $43 DB $48 DB $40 DB $49 DB $44 DB $49 DB $40 DB $4A DB $44 DB $4A DB $0D DB $52 DB $44 DB $53 DB $44 DB $54 DB $44 DB $51 DB $45 DB $55 DB $45 DB $51 DB $46 DB $51 DB $47 DB $51 DB $48 DB $51 DB $49 DB $52 DB $4A DB $53 DB $4A DB $54 DB $4A DB $55 DB $49 DB $0E DB $62 DB $44 DB $66 DB $44 DB $62 DB $45 DB $62 DB $45 DB $66 DB $45 DB $62 DB $46 DB $66 DB $46 DB $62 DB $47 DB $66 DB $47 DB $62 DB $48 DB $66 DB $48 DB $63 DB $49 DB $65 DB $49 DB $64 DB $4A DB $14 DB $74 DB $44 DB $75 DB $44 DB $76 DB $44 DB $77 DB $44 DB $74 DB $45 DB $78 DB $45 DB $74 DB $46 DB $78 DB $46 DB $74 DB $47 DB $75 DB $47 DB $76 DB $47 DB $77 DB $47 DB $74 DB $48 DB $78 DB $48 DB $74 DB $49 DB $78 DB $49 DB $74 DB $4A DB $75 DB $4A DB $76 DB $4A DB $77 DB $4A DB $11 DB $84 DB $44 DB $84 DB $45 DB $84 DB $46 DB $84 DB $47 DB $84 DB $48 DB $84 DB $49 DB $84 DB $4A DB $85 DB $46 DB $86 DB $47 DB $87 DB $48 DB $88 DB $48 DB $88 DB $49 DB $88 DB $4A DB $88 DB $44 DB $88 DB $45 DB $88 DB $46 DB $88 DB $47 DB $12 DB $95 DB $44 DB $95 DB $45 DB $95 DB $46 DB $95 DB $47 DB $95 DB $48 DB $95 DB $49 DB $95 DB $4A DB $96 DB $45 DB $97 DB $46 DB $97 DB $47 DB $98 DB $45 DB $99 DB $44 DB $99 DB $45 DB $99 DB $46 DB $99 DB $47 DB $99 DB $48 DB $99 DB $49 DB $99 DB $4A DB $03 DB $A8 DB $47 DB $A8 DB $48 DB $A7 DB $49 DB $01 DB $B9 DB $47 DB $09 DB $C8 DB $3E DB $C9 DB $3D DB $CA DB $3D DB $CB DB $3D DB $CC DB $3E DB $CB DB $3F DB $CA DB $40 DB $CA DB $41 DB $CA DB $43 DB $2B DB $DE DB $41 DB $DF DB $41 DB $E0 DB $41 DB $DE DB $42 DB $DE DB $43 DB $DF DB $43 DB $E0 DB $43 DB $E0 DB $44 DB $E0 DB $45 DB $DF DB $45 DB $DE DB $45 DB $E2 DB $41 DB $E2 DB $42 DB $E2 DB $43 DB $E2 DB $44 DB $E2 DB $45 DB $E3 DB $43 DB $E4 DB $43 DB $E4 DB $41 DB $E4 DB $42 DB $E4 DB $43 DB $E4 DB $44 DB $E4 DB $45 DB $E7 DB $41 DB $E7 DB $42 DB $E7 DB $43 DB $E7 DB $44 DB $E7 DB $45 DB $EA DB $41 DB $EB DB $41 DB $EC DB $41 DB $EA DB $42 DB $EA DB $43 DB $EA DB $44 DB $EA DB $45 DB $EB DB $43 DB $EE DB $41 DB $EF DB $41 DB $F0 DB $41 DB $EF DB $42 DB $EF DB $43 DB $EF DB $44 DB $EF DB $45 DB $3F DB $02 DB $51 DB $03 DB $51 DB $02 DB $52 DB $02 DB $53 DB $02 DB $54 DB $02 DB $55 DB $03 DB $55 DB $06 DB $51 DB $05 DB $52 DB $07 DB $52 DB $05 DB $53 DB $06 DB $53 DB $07 DB $53 DB $05 DB $54 DB $07 DB $54 DB $05 DB $55 DB $07 DB $55 DB $09 DB $51 DB $0A DB $51 DB $09 DB $52 DB $09 DB $53 DB $09 DB $54 DB $09 DB $55 DB $0A DB $53 DB $0B DB $52 DB $0D DB $51 DB $0E DB $51 DB $0D DB $52 DB $0D DB $53 DB $0E DB $53 DB $0E DB $54 *--- End of code