mirror of
https://github.com/antoinevignau/source.git
synced 2024-11-15 13:05:18 +00:00
1196 lines
22 KiB
ArmAsm
1196 lines
22 KiB
ArmAsm
|
*
|
||
|
* MicroDrive Turbo
|
||
|
* (c) 1996-2006, Joachim Lange
|
||
|
* (s) 2019, Brutal Deluxe Software
|
||
|
*
|
||
|
|
||
|
mx %11
|
||
|
org $c800
|
||
|
dsk FW1.NEW
|
||
|
lst off
|
||
|
|
||
|
*----------------------------
|
||
|
|
||
|
SLOT161 = $C1 ; This is for slot 1
|
||
|
|
||
|
MSLOT EQU $07F8
|
||
|
KBD EQU $C000
|
||
|
KBDSTROBE EQU $C010
|
||
|
SPKR EQU $C030
|
||
|
DMAREG EQU $C037
|
||
|
SLOOP EQU $FABA
|
||
|
INIT EQU $FB2F
|
||
|
SETTXT EQU $FB39
|
||
|
HOME EQU $FC58
|
||
|
SETKBD EQU $FE89
|
||
|
SETVID EQU $FE93
|
||
|
|
||
|
*----------------------------
|
||
|
|
||
|
LDY #$20
|
||
|
LDY #$00
|
||
|
LDY #$03
|
||
|
LDY #$00
|
||
|
CLD
|
||
|
JSR SETKBD
|
||
|
JSR SETVID
|
||
|
JSR INIT
|
||
|
JSR HOME
|
||
|
LDA #SLOT161
|
||
|
STA MSLOT
|
||
|
LC81A LDA LCFFF
|
||
|
STZ $C092
|
||
|
JMP LCC58
|
||
|
|
||
|
LC823 CLV
|
||
|
BVC LC828
|
||
|
LC826 SEP #$40
|
||
|
LC828 LDA #SLOT161
|
||
|
STA MSLOT
|
||
|
LDA LCFFF
|
||
|
STZ $C092
|
||
|
LDA LC980
|
||
|
EOR #$82
|
||
|
CMP LC981
|
||
|
BEQ LC842
|
||
|
PHP
|
||
|
JSR LCD13
|
||
|
PLP
|
||
|
LC842 BVS LC847
|
||
|
JMP LCA16
|
||
|
|
||
|
LC847 LDA #$01
|
||
|
STA $C092
|
||
|
CLC
|
||
|
XCE
|
||
|
REP #$30
|
||
|
LDA $42
|
||
|
STA LC9E0
|
||
|
LDA $44
|
||
|
STA LC9E0+2
|
||
|
LDA $46
|
||
|
STA LC9E4
|
||
|
LDA $48
|
||
|
STA LC9E5+1
|
||
|
LDA $4A
|
||
|
STA LC9E5+3
|
||
|
LDA $4C
|
||
|
STA LC9EA
|
||
|
LDA $4E
|
||
|
STA LC9EA+2
|
||
|
LDA $50
|
||
|
STA LC9EE
|
||
|
SEP #$30
|
||
|
LDY #$01
|
||
|
LC87C LDA ($01,S),Y
|
||
|
LC87E STA LC925
|
||
|
BIT LC925
|
||
|
BVC LC889
|
||
|
JMP LCA01
|
||
|
|
||
|
LC889 INY
|
||
|
REP #$20
|
||
|
LDA ($01,S),Y
|
||
|
STA $4C
|
||
|
TSX
|
||
|
LDA $0101,X
|
||
|
CLC
|
||
|
ADC #$0003
|
||
|
STA $0101,X
|
||
|
SEP #$20
|
||
|
LDY #$01
|
||
|
LDA ($4C),Y
|
||
|
STA LC927
|
||
|
CMP LC81A
|
||
|
BCC LC8AD
|
||
|
BEQ LC8AD
|
||
|
BCS LC8DC
|
||
|
LC8AD INY
|
||
|
REP #$20
|
||
|
LDA ($4C),Y
|
||
|
STA $44
|
||
|
SEP #$20
|
||
|
INY
|
||
|
LDA LC925
|
||
|
CMP #$04
|
||
|
BEQ LC8E5
|
||
|
CMP #$03
|
||
|
BEQ LC8E5
|
||
|
BCS LC8E2
|
||
|
CMP #$01
|
||
|
BCC LC8D2
|
||
|
INY
|
||
|
REP #$20
|
||
|
LDA ($4C),Y
|
||
|
STA $46
|
||
|
SEP #$20
|
||
|
INY
|
||
|
LC8D2 INY
|
||
|
LDA ($4C),Y
|
||
|
STA $48
|
||
|
BCC LC8DF
|
||
|
JMP LCA01
|
||
|
LC8DC JMP LCA01
|
||
|
LC8DF JMP LCA01
|
||
|
LC8E2 JMP LCA01
|
||
|
|
||
|
LC8E5 CLC
|
||
|
STZ LC92B
|
||
|
LC8E9 JMP LCA01
|
||
|
|
||
|
DB $01
|
||
|
DB $03
|
||
|
DB $07
|
||
|
DB $0F
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
ASC "IDU"
|
||
|
DB $10
|
||
|
DB $00
|
||
|
LC8F7 ASC "MT"
|
||
|
LC8F9 ASC "JL"
|
||
|
LC8FB DB $80
|
||
|
DB $00
|
||
|
DB $00
|
||
|
LC8FE DB $3F
|
||
|
LC8FF DB LC823 ; Smartport ID (add 3 for entry point)
|
||
|
|
||
|
*----------------------------
|
||
|
|
||
|
LC900 ASC "JL"
|
||
|
DB $64
|
||
|
DB $02
|
||
|
DB $64
|
||
|
DB $02
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $05
|
||
|
DB $00
|
||
|
DB $05
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $01
|
||
|
DB $00
|
||
|
DB $01
|
||
|
DB $00
|
||
|
DB $05
|
||
|
DB $00
|
||
|
DB $03
|
||
|
DB $00
|
||
|
DB $08
|
||
|
DB $00
|
||
|
DB $01
|
||
|
DB $00
|
||
|
DB $03
|
||
|
DB $00
|
||
|
LC920 DB $04
|
||
|
DB $00
|
||
|
DB $00
|
||
|
LC923 DB $00
|
||
|
LC924 DB $01
|
||
|
LC925 DB $00
|
||
|
DB $40
|
||
|
LC927 DB $00
|
||
|
DB $01
|
||
|
DB $00
|
||
|
DB $01
|
||
|
LC92B DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
LC931 DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
LC980 DB $00
|
||
|
LC981 DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
LC9E0 JSL $000000
|
||
|
LC9E4 RTS
|
||
|
|
||
|
LC9E5 JSL $000000
|
||
|
RTS
|
||
|
|
||
|
LC9EA JSL $000000
|
||
|
LC9EE RTS
|
||
|
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
|
||
|
*----------------------------
|
||
|
|
||
|
LCA00 DB $00
|
||
|
LCA01 DB $00
|
||
|
DB $00
|
||
|
LCA03 JMP LCB29
|
||
|
|
||
|
LCA06 LDA #$CE ; Switch bank
|
||
|
STA LC980
|
||
|
STA LC981
|
||
|
LDA #$28
|
||
|
JMP LCAEE
|
||
|
LCA13 JMP LCB18
|
||
|
|
||
|
LCA16 LDA #$03
|
||
|
STA LC920
|
||
|
CLC
|
||
|
XCE
|
||
|
LDA $42
|
||
|
BMI LCA03
|
||
|
LDA LC980
|
||
|
CMP #$CA
|
||
|
BNE LCA06
|
||
|
LCA28 LDX #$01
|
||
|
LDY $43
|
||
|
CPY #$10
|
||
|
BEQ LCA35
|
||
|
INX
|
||
|
CPY #$90
|
||
|
BNE LCA13
|
||
|
LCA35 STX LC927
|
||
|
LCA38 LDA $C09F
|
||
|
BMI LCA38
|
||
|
LDA $42
|
||
|
CMP #$02
|
||
|
BEQ LCA4A
|
||
|
CMP #$01
|
||
|
BEQ LCA9A
|
||
|
JMP LCAF2
|
||
|
|
||
|
LCA4A LDA $48
|
||
|
PHA
|
||
|
STZ $48
|
||
|
JSR LC8E9+1 ; LOGO (see FW4)
|
||
|
PLA
|
||
|
STA $48
|
||
|
JSR LCD62
|
||
|
LDA #$01
|
||
|
STA $C09A
|
||
|
LDA #$30
|
||
|
STA $C09F
|
||
|
REP #$30
|
||
|
LDA $44
|
||
|
STA $C094
|
||
|
SEP #$30
|
||
|
STZ DMAREG
|
||
|
LDA $C096
|
||
|
LCA71 LDA $C09F
|
||
|
BMI LCA71
|
||
|
AND #$FD
|
||
|
CMP #$58
|
||
|
BEQ LCA82
|
||
|
AND #$21
|
||
|
BEQ LCA71
|
||
|
BNE LCA97
|
||
|
LCA82 STA $C093
|
||
|
JSR LCDB7
|
||
|
LCA88 LDA $C09F
|
||
|
BMI LCA88
|
||
|
AND #$FD
|
||
|
CMP #$50
|
||
|
BEQ LCAD5
|
||
|
AND #$21
|
||
|
BEQ LCA88
|
||
|
LCA97 JMP LCADE
|
||
|
|
||
|
LCA9A LDA $48
|
||
|
PHA
|
||
|
STZ $48
|
||
|
JSR LC8E9+1 ; LOGO (see FW4)
|
||
|
PLA
|
||
|
STA $48
|
||
|
LDA #$01
|
||
|
STA $C09A
|
||
|
JSR LCD62
|
||
|
LDA #$20
|
||
|
STA $C09F
|
||
|
REP #$30
|
||
|
LDA $44
|
||
|
STA $C094
|
||
|
SEP #$30
|
||
|
STZ DMAREG
|
||
|
LDA $C097
|
||
|
JSR LCDB7
|
||
|
LCAC4 LDA $C09F
|
||
|
BMI LCAC4
|
||
|
AND #$F9
|
||
|
LSR
|
||
|
BCS LCADE
|
||
|
CMP #$2C
|
||
|
BNE LCAC4
|
||
|
STA $C093
|
||
|
LCAD5 LDA #$00
|
||
|
TAX
|
||
|
LDY #$02
|
||
|
LCADA SEC
|
||
|
XCE
|
||
|
CLC
|
||
|
RTS
|
||
|
|
||
|
LCADE JSR LCEF7
|
||
|
JSR LCD55
|
||
|
DEC LC920
|
||
|
BEQ LCAEC
|
||
|
JMP LCA28
|
||
|
|
||
|
LCAEC LDA #$27
|
||
|
LCAEE SEC
|
||
|
XCE
|
||
|
SEC
|
||
|
RTS
|
||
|
|
||
|
LCAF2 CMP #$00
|
||
|
BNE LCB1D
|
||
|
LDA LC927
|
||
|
ASL
|
||
|
ASL
|
||
|
TAX
|
||
|
LDY LC87E,X
|
||
|
BNE LCB13
|
||
|
LDY LC87C+1,X
|
||
|
LDA LC87C,X
|
||
|
BNE LCB0D
|
||
|
CPY #$00
|
||
|
BEQ LCB18
|
||
|
LCB0D TAX
|
||
|
LDA #$00
|
||
|
LCB10 JMP LCADA
|
||
|
|
||
|
LCB13 LDA #$FF
|
||
|
TAY
|
||
|
BRA LCB0D
|
||
|
LCB18 LDA #$28
|
||
|
JMP LCAEE
|
||
|
|
||
|
LCB1D CMP #$03
|
||
|
BEQ LCB23
|
||
|
BNE LCB29
|
||
|
LCB23 LDA #$00
|
||
|
TAX
|
||
|
TAY
|
||
|
BEQ LCB10
|
||
|
LCB29 CMP #$81
|
||
|
BEQ LCB36
|
||
|
CMP #$82
|
||
|
BEQ LCB6A
|
||
|
LDA #$01
|
||
|
JMP LCAEE
|
||
|
|
||
|
LCB36 JSR LCBB7
|
||
|
LDA #$20
|
||
|
STA $C09F
|
||
|
JSR LCDB7
|
||
|
LCB41 LDA $C09F
|
||
|
BMI LCB41
|
||
|
AND #$F9
|
||
|
CMP #$58
|
||
|
BEQ LCB51
|
||
|
LSR
|
||
|
BCS LCBB0
|
||
|
BRA LCB41
|
||
|
LCB51 REP #$30
|
||
|
LDY $44
|
||
|
LCB55 LDA $C090
|
||
|
STA |$0000,Y
|
||
|
INY
|
||
|
INY
|
||
|
CPY LC923
|
||
|
BCC LCB55
|
||
|
SEP #$30
|
||
|
LDA $C09F
|
||
|
JMP LCBAA
|
||
|
|
||
|
LCB6A JSR LCBB7
|
||
|
LDA #$30
|
||
|
STA $C09F
|
||
|
LCB72 LDA $C09F
|
||
|
BMI LCB72
|
||
|
AND #$FD
|
||
|
CMP #$58
|
||
|
BEQ LCB83
|
||
|
AND #$21
|
||
|
BNE LCBB0
|
||
|
BEQ LCB72
|
||
|
LCB83 REP #$30
|
||
|
LDY $44
|
||
|
LCB87 LDA |$0000,Y
|
||
|
STA $C090
|
||
|
INY
|
||
|
INY
|
||
|
CPY LC923
|
||
|
BCC LCB87
|
||
|
SEP #$30
|
||
|
JSR LCDB7
|
||
|
LCB99 LDA $C09F
|
||
|
BMI LCB99
|
||
|
AND #$FD
|
||
|
CMP #$50
|
||
|
BEQ LCBAA
|
||
|
AND #$21
|
||
|
BNE LCBB0
|
||
|
BEQ LCB99
|
||
|
LCBAA SEC
|
||
|
XCE
|
||
|
LDA #$00
|
||
|
CLC
|
||
|
RTS
|
||
|
|
||
|
LCBB0 SEC
|
||
|
XCE
|
||
|
LDA $C09F
|
||
|
SEC
|
||
|
RTS
|
||
|
|
||
|
LCBB7 LDA $43
|
||
|
LSR
|
||
|
LSR
|
||
|
LSR
|
||
|
AND #$F0
|
||
|
ORA #$A0
|
||
|
STA $C09E
|
||
|
JSR LCD62
|
||
|
LDA #$01
|
||
|
STA $C09A
|
||
|
LDA $46
|
||
|
STA $C09B
|
||
|
LDA #$00
|
||
|
STA $C09C
|
||
|
STA $C09D
|
||
|
LDA $44
|
||
|
STA LC923
|
||
|
LDA $45
|
||
|
INC
|
||
|
INC
|
||
|
STA LC924
|
||
|
RTS
|
||
|
|
||
|
LCBE5 LDY #$00
|
||
|
LCBE7 LDA LCBF3,Y
|
||
|
BEQ LCBF2
|
||
|
STA $04AD,Y
|
||
|
INY
|
||
|
BNE LCBE7
|
||
|
LCBF2 RTS
|
||
|
|
||
|
LCBF3 ASC "Waiting for hard drive..."00
|
||
|
|
||
|
*----------------------------
|
||
|
|
||
|
LCC0D SEC
|
||
|
XCE
|
||
|
STZ $00
|
||
|
LDA #SLOT161
|
||
|
STA $01
|
||
|
JMP SLOOP
|
||
|
|
||
|
LCC18 LDA #$08
|
||
|
STA LC8FB
|
||
|
STZ LC8F9+1
|
||
|
STZ LC8F9
|
||
|
LCC23 LDA $C09F
|
||
|
CMP #$FE
|
||
|
BCS LCC45
|
||
|
CMP #$EF
|
||
|
BEQ LCC45
|
||
|
AND #$F0
|
||
|
CMP #$50
|
||
|
BNE LCC36
|
||
|
CLC
|
||
|
RTS
|
||
|
|
||
|
LCC36 INC LC8F9
|
||
|
BNE LCC23
|
||
|
INC LC8F9+1
|
||
|
BNE LCC23
|
||
|
DEC LC8FB
|
||
|
BNE LCC23
|
||
|
LCC45 SEC
|
||
|
RTS
|
||
|
|
||
|
LCC47 LDA #$01
|
||
|
STA LC8FE
|
||
|
JSR HOME
|
||
|
JSR LCDE7
|
||
|
JSR LCDF4
|
||
|
JMP LCD02
|
||
|
|
||
|
LCC58 CLC
|
||
|
XCE
|
||
|
LDA #$BB
|
||
|
STA LC8F7+1
|
||
|
LDA KBD
|
||
|
BPL LCC6F
|
||
|
LDY KBDSTROBE
|
||
|
CMP #$B0
|
||
|
BEQ LCC0D
|
||
|
CMP #$9B
|
||
|
BEQ LCC0D
|
||
|
LCC6F JSR LCBE5
|
||
|
JSR LCDDB
|
||
|
LDA #$B0
|
||
|
STA $07F7
|
||
|
JSR LCC18
|
||
|
BCS LCC47
|
||
|
JSR HOME
|
||
|
LDA #$B1
|
||
|
STA $07F7
|
||
|
JSR LCD30
|
||
|
LDA #$B2
|
||
|
STA $07F7
|
||
|
BCC LCC94
|
||
|
JMP LCD02
|
||
|
|
||
|
LCC94 LDA #$B3
|
||
|
STA $07F7
|
||
|
LDA #$03
|
||
|
STA LC920
|
||
|
LCC9E LDA #$A0
|
||
|
STA $C09E
|
||
|
JSR LCD62
|
||
|
LDA #$02
|
||
|
STA $C09B
|
||
|
STZ $C09C
|
||
|
STZ $C09D
|
||
|
LDA #$01
|
||
|
STA $C09A
|
||
|
LDA #$20
|
||
|
STA $C09F
|
||
|
JSR LCDB7
|
||
|
JSR LCD89
|
||
|
BCC LCCCA
|
||
|
DEC LC920
|
||
|
BNE LCC9E
|
||
|
BEQ LCCFD
|
||
|
LCCCA CLC
|
||
|
XCE
|
||
|
REP #$30
|
||
|
LDY #$0000
|
||
|
LCCD1 LDA $C090
|
||
|
STA $8000,Y
|
||
|
INY
|
||
|
INY
|
||
|
CPY #$0200
|
||
|
BNE LCCD1
|
||
|
SEC
|
||
|
XCE
|
||
|
MX %11
|
||
|
LDA $C09F
|
||
|
LDA #$B3
|
||
|
STA $07F7
|
||
|
LDA $8000
|
||
|
BEQ LCCFD
|
||
|
CMP #$FF
|
||
|
BEQ LCCFD
|
||
|
LDA #$B5
|
||
|
STA $07F7
|
||
|
SEC
|
||
|
XCE
|
||
|
LDX #$10
|
||
|
JMP $8000
|
||
|
|
||
|
LCCFD LDA #$07
|
||
|
STA LC8FE
|
||
|
LCD02 SEC
|
||
|
XCE
|
||
|
JSR HOME
|
||
|
JSR LCDE7
|
||
|
JSR LCDF4
|
||
|
JSR SETTXT
|
||
|
JMP $E000
|
||
|
|
||
|
LCD13 LDX #$07
|
||
|
LCD15 LDA $42,X
|
||
|
STA LC9EA+2,X
|
||
|
DEX
|
||
|
BPL LCD15
|
||
|
LDA #$EE
|
||
|
STA LC8F7+1
|
||
|
JSR LCD30
|
||
|
LDX #$07
|
||
|
LCD27 LDA LC9EA+2,X
|
||
|
STA $42,X
|
||
|
DEX
|
||
|
BPL LCD27
|
||
|
RTS
|
||
|
|
||
|
LCD30 JSR LCDE1
|
||
|
STZ $C096
|
||
|
JSR LCDDB
|
||
|
STZ $C096
|
||
|
LDX #$03
|
||
|
JSR LCFA0
|
||
|
BCS LCD4B
|
||
|
PHP
|
||
|
LDX #$02
|
||
|
JSR LCFA0
|
||
|
PLP
|
||
|
RTS
|
||
|
|
||
|
LCD4B LDA #$CE
|
||
|
STA LC980
|
||
|
STA LC981
|
||
|
SEC
|
||
|
RTS
|
||
|
|
||
|
LCD55 LDA $C09F
|
||
|
AND #$08
|
||
|
BEQ LCD61
|
||
|
LDA $C090
|
||
|
BRA LCD55
|
||
|
LCD61 RTS
|
||
|
|
||
|
LCD62 LDA #$02
|
||
|
STA LC8FB
|
||
|
STZ LC8F9
|
||
|
STZ LC8F9+1
|
||
|
LCD6D LDA $C09F
|
||
|
BMI LCD78
|
||
|
AND #$F0
|
||
|
CMP #$50
|
||
|
BEQ LCDA2
|
||
|
LCD78 INC LC8F9
|
||
|
BNE LCD6D
|
||
|
INC LC8F9+1
|
||
|
BNE LCD6D
|
||
|
DEC LC8FB
|
||
|
BNE LCD6D
|
||
|
SEC
|
||
|
RTS
|
||
|
|
||
|
LCD89 STZ LC8F9
|
||
|
STZ LC8F9+1
|
||
|
LDA #$02
|
||
|
STA LC8FB
|
||
|
LCD94 LDA $C09F
|
||
|
BMI LCDA6
|
||
|
LSR
|
||
|
BCS LCDA4
|
||
|
AND #$7C
|
||
|
CMP #$2C
|
||
|
BNE LCDA4
|
||
|
LCDA2 CLC
|
||
|
RTS
|
||
|
|
||
|
LCDA4 SEC
|
||
|
RTS
|
||
|
|
||
|
LCDA6 INC LC8F9
|
||
|
BNE LCD94
|
||
|
INC LC8F9+1
|
||
|
BNE LCD94
|
||
|
DEC LC8FB
|
||
|
BNE LCD94
|
||
|
SEC
|
||
|
RTS
|
||
|
|
||
|
LCDB7 LDA #$02
|
||
|
STA LC8FB
|
||
|
STZ LC8F9+1
|
||
|
STZ LC8F9
|
||
|
LCDC2 LDA $C098
|
||
|
BPL LCDCB
|
||
|
LDA $C09F
|
||
|
RTS
|
||
|
|
||
|
LCDCB INC LC8F9
|
||
|
BNE LCDC2
|
||
|
INC LC8F9+1
|
||
|
BNE LCDC2
|
||
|
DEC LC8FB
|
||
|
BNE LCDC2
|
||
|
RTS
|
||
|
|
||
|
LCDDB LDA #$A0
|
||
|
STA $C09E
|
||
|
RTS
|
||
|
|
||
|
LCDE1 LDA #$B0
|
||
|
STA $C09E
|
||
|
RTS
|
||
|
|
||
|
LCDE7 LDY #$00
|
||
|
LCDE9 LDA LCEE0,Y
|
||
|
BEQ LCE11
|
||
|
STA $0750,Y
|
||
|
INY
|
||
|
BNE LCDE9
|
||
|
LCDF4 LDA LC8FE
|
||
|
BEQ LCE11
|
||
|
ASL
|
||
|
TAY
|
||
|
LDA LCE12,Y
|
||
|
STA $1E
|
||
|
LDA LCE13,Y
|
||
|
STA $1F
|
||
|
LDY #$00
|
||
|
LCE07 LDA ($1E),Y
|
||
|
BEQ LCE11
|
||
|
STA $07D0,Y
|
||
|
INY
|
||
|
BNE LCE07
|
||
|
LCE11 RTS
|
||
|
|
||
|
*----------------------------
|
||
|
|
||
|
LCE12 DB $00
|
||
|
LCE13 DB $00
|
||
|
DA LCE22
|
||
|
DA LCE30
|
||
|
DA LCE43
|
||
|
DA LCE61
|
||
|
DA LCE82
|
||
|
DA LCEA4
|
||
|
DA LCECA
|
||
|
|
||
|
LCE22 ASC "drive 1 error"00
|
||
|
LCE30 ASC "drive 1 init error"00
|
||
|
LCE43 ASC "configuration data is missing"00
|
||
|
LCE61 ASC "configuration drive 2 is missing"00
|
||
|
LCE82 ASC "service call, turn power off & on"00
|
||
|
LCEA4 ASC "read error when loading configuration"00
|
||
|
LCECA ASC "boot block is missing"00
|
||
|
LCEE0 ASC "MicroDrive/Turbo Card:"00
|
||
|
|
||
|
LCEF7 LDX #$20
|
||
|
STX LC931
|
||
|
LDY #$40
|
||
|
LCEFE LDA SPKR
|
||
|
LDX LC931
|
||
|
LCF04 DEX
|
||
|
BNE LCF04
|
||
|
DEY
|
||
|
BNE LCEFE
|
||
|
LDX #$50
|
||
|
LCF0C DEY
|
||
|
BNE LCF0C
|
||
|
DEX
|
||
|
BNE LCF0C
|
||
|
RTS
|
||
|
|
||
|
*----------------------------
|
||
|
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
DB $FF
|
||
|
|
||
|
*----------------------------
|
||
|
|
||
|
LCFA0 LDA LCA00
|
||
|
STA LC8FF
|
||
|
STX $C092
|
||
|
JMP LCA01
|
||
|
|
||
|
LDA LC8FF
|
||
|
STA $C092
|
||
|
RTS
|
||
|
|
||
|
*----------------------------
|
||
|
|
||
|
DB $00
|
||
|
DB $01
|
||
|
DB $02
|
||
|
DB $03
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
DB $00
|
||
|
LCFFF DB $00
|
||
|
|
||
|
*----------------------------
|