Ampermanager/source/formatter.s

537 lines
6.5 KiB
ArmAsm
Raw Normal View History

2020-07-31 06:20:16 +00:00
s* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * *
* * M U S T B E O N P A G E B O U N D A R Y * *
* * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* ORG $7800
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* ProDOS DISK ][ Formatter Device Driver *
* *
* Copyright Apple Computer, Inc., 1982, 1983 *
* *
* Enter with ProDOS device number in A-register: *
* Zero = bits 1, 2, 3, 4 *
* Slot No.= bits 4, 5, 6 *
* Drive 1 = bit 7 off *
* Drive 2 = bit 7 on *
* *
* Error codes returned in A-register: *
* $00 : Good completion *
* $27 : Unable to format *
* $2B : Write-Protected *
* $33 : Drive too SLOW *
* $34 : Drive too FAST *
* NOTE: Carry flag is set if error occured. *
* *
* Uses zero page locations $D0 thru $DD *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
JSR *+$3A
CMP #$00
BNE *+$04
CLC
RTS
CMP #$02
BNE *+$07
LDA #$2B
JMP *+$12
CMP #$01
BNE *+$07
LDA #$27
JMP *+$09
CLC
ADC #$30
JMP *+$03
SEC
RTS
ASL A
ASL *+$400
STA *+$40F
TXA
LSR A
LSR A
LSR A
LSR A
TAY
LDA *+$406
JSR *+$193
LSR *+$3EE
RTS
TAX
AND #$70
STA *+$3E6
TXA
LDX *+$3E2
ROL A
LDA #$00
ROL A
BNE *+$08
LDA $C08A,X
JMP *+$06
LDA $C08B,X
LDA $C089,X
LDA #$D7
STA $DA
LDA #$50
STA *+$3C8
LDA #$00
JSR *-$3E
LDA $DA
BEQ *+$08
JSR *+$2D2
JMP *-$07
LDA #$01
STA $D3
LDA #$AA
STA $D0
LDA *+$3AA
CLC
ADC #$02
STA $D4
LDA #$00
STA $D1
LDA $D1
LDX *+$39F
JSR *-$64
LDX *+$399
LDA $C08D,X
LDA $C08E,X
TAY
LDA $C08E,X
LDA $C08C,X
TYA
BPL *+$07
LDA #$02
JMP *+$5A
JSR *+$2C1
BCC *+$10
LDA #$01
LDY $D4
CPY *+$374
BCS *+$04
LDA #$04
JMP *+$47
LDY $D4
CPY *+$368
BCS *+$07
LDA #$04
JMP *+$3B
CPY *+$35F
BCC *+$07
LDA #$03
JMP *+$31
LDA *+$357
STA *+$357
DEC *+$354
BNE *+$07
LDA #$01
JMP *+$21
LDX *+$348
JSR *+$8C
BCS *-$10
LDA $D8
BNE *-$14
LDX *+$33C
JSR *+$1D
BCS *-$1C
INC $D1
LDA $D1
CMP #$23
BCC *-$73
LDA #$00
PHA
LDX *+$329
LDA $C088,X
LDA #$00
JSR *-$DF
PLA
RTS
LDY #$20
DEY
BEQ *+$5E
LDA $C08C,X
BPL *-$03
EOR #$D5
BNE *-$0A
NOP
LDA $C08C,X
BPL *-$03
CMP #$AA
BNE *-$0C
LDY #$56
LDA $C08C,X
BPL *-$03
CMP #$AD
BNE *-$17
LDA #$00
DEY
STY $D5
LDA $C08C,X
BPL *-$03
CMP #$96
BNE *+$32
LDY $D5
BNE *-$0E
STY $D5
LDA $C08C,X
BPL *-$03
CMP #$96
BNE *+$23
LDY $D5
INY
BNE *-$0E
LDA $C08C,X
BPL *-$03
CMP #$96
BNE *+$15
LDA $C08C,X
BPL *-$03
CMP #$DE
BNE *+$0C
NOP
LDA $C08C,X
BPL *-$03
CMP #$AA
BEQ *+$5E
SEC
RTS
LDY #$FC
STY $DC
INY
BNE *+$06
INC $DC
BEQ *-$0B
LDA $C08C,X
BPL *-$03
CMP #$D5
BNE *-$0E
NOP
LDA $C08C,X
BPL *-$03
CMP #$AA
BNE *-$0C
LDY #$03
LDA $C08C,X
BPL *-$03
CMP #$96
BNE *-$17
LDA #$00
STA $DB
LDA $C08C,X
BPL *-$03
ROL A
STA $DD
LDA $C08C,X
BPL *-$03
AND $DD
STA $D7,Y
EOR $DB
DEY
BPL *-$17
TAY
BNE *-$47
LDA $C08C,X
BPL *-$03
CMP #$DE
BNE *-$50
NOP
LDA $C08C,X
BPL *-$03
CMP #$AA
BNE *-$5A
CLC
RTS
STX *+$271
STA *+$26D
CMP *+$258
BEQ *+$5E
LDA #$00
STA *+$265
LDA *+$24E
STA *+$260
SEC
SBC *+$259
BEQ *+$39
BCS *+$09
EOR #$FF
INC *+$23E
BCC *+$07
ADC #$FE
DEC *+$237
CMP *+$248
BCC *+$05
LDA *+$243
CMP #$0C
BCS *+$03
TAY
SEC
JSR *+$1F
LDA *+$14A,Y
JSR *+$136
LDA *+$232
CLC
JSR *+$15
LDA *+$149,Y
JSR *+$129
INC *+$224
BNE *-$41
JSR *+$121
CLC
LDA *+$207
AND #$03
ROL A
ORA *+$214
TAX
LDA $C080,X
LDX *+$20D
RTS
JSR *+$1E0
LDA $C08D,X
LDA $C08E,X
LDA #$FF
STA $C08F,X
CMP $C08C,X
PHA
PLA
NOP
LDY #$04
PHA
PLA
JSR *+$5F
DEY
BNE *-$06
LDA #$D5
JSR *+$56
LDA #$AA
JSR *+$51
LDA #$AD
JSR *+$4C
LDY #$56
NOP
NOP
NOP
BNE *+$05
JSR *+$1AC
NOP
NOP
LDA #$96
STA $C08D,X
CMP $C08C,X
DEY
BNE *-$0E
BIT $00
NOP
JSR *+$199
LDA #$96
STA $C08D,X
CMP $C08C,X
LDA #$96
NOP
INY
BNE *-$0F
JSR *+$1E
LDA #$DE
JSR *+$19
LDA #$AA
JSR *+$14
LDA #$EB
JSR *+$0F
LDA #$FF
JSR *+$0A
LDA $C08E,X
LDA $C08C,X
RTS
NOP
PHA
PLA
STA $C08D,X
CMP $C08C,X
RTS
SEC
LDA $C08D,X
LDA $C08E,X
BMI *+$60
LDA #$FF
STA $C08F,X
CMP $C08C,X
PHA
PLA
JSR *+$5A
JSR *+$57
STA $C08D,X
CMP $C08C,X
NOP
DEY
BNE *-$0E
LDA #$D5
JSR *+$5A
LDA #$AA
JSR *+$55
LDA #$96
JSR *+$50
LDA $D3
JSR *+$3A
LDA $D1
JSR *+$35
LDA $D2
JSR *+$30
LDA $D3
EOR $D1
EOR $D2
PHA
LSR A
ORA $D0
STA $C08D,X
LDA $C08C,X
PLA
ORA #$AA
JSR *+$2A
LDA #$DE
JSR *+$26
LDA #$AA
JSR *+$21
LDA #$EB
JSR *+$1C
CLC
LDA $C08E,X
LDA $C08C,X
RTS
PHA
LSR A
ORA $D0
STA $C08D,X
CMP $C08C,X
PLA
NOP
NOP
NOP
ORA #$AA
NOP
NOP
PHA
PLA
STA $C08D,X
CMP $C08C,X
RTS
BRK
BRK
BRK
LDX #$11
DEX
BNE *-$01
INC $D9
BNE *+$04
INC $DA
SEC
SBC #$01
BNE *-$0E
RTS
DFB $01,$30,$28
DFB $24,$20,$1E
DFB $1D,$1C,$1C
DFB $1C,$1C,$1C
DFB $70,$2C,$26
DFB $22,$1F,$1E
DFB $1D,$1C,$1C
DFB $1C,$1C,$1C
LDA *+$BE
STA $D6
LDY #$80
LDA #$00
STA $D2
JMP *+$05
LDY $D4
LDX *+$B0
JSR *-$C8
BCC *+$05
JMP *+$93
LDX *+$A5
JSR *-$153
INC $D2
LDA $D2
CMP #$10
BCC *-$19
LDY #$0F
STY $D2
LDA *+$92
STA *+$92
STA *+$90,Y
DEY
BPL *-$04
LDA $D4
SEC
SBC #$05
TAY
JSR *+$6C
JSR *+$69
PHA
PLA
NOP
NOP
DEY
BNE *-$0B
LDX *+$74
JSR *-$248
BCS *+$3E
LDA $D8
BEQ *+$15
DEC $D4
LDA $D4
CMP *+$60
BCS *+$31
SEC
RTS
LDX *+$5D
JSR *-$25F
BCS *+$1C
LDX *+$55
JSR *-$2CA
BCS *+$14
LDY $D8
LDA *+$4E,Y
BMI *+$0D
LDA #$FF
STA *+$47,Y
DEC $D2
BPL *-$1E
CLC
RTS
DEC *+$3D
BNE *-$25
DEC $D6
BNE *+$04
SEC
RTS
LDA *+$2F
ASL A
STA *+$2E
LDX *+$29
JSR *-$293
BCS *+$08
LDA $D8
CMP #$0F
BEQ *+$09
DEC *+$1D
BNE *-$11
SEC
RTS
LDX #$D6
JSR *-$03
JSR *-$06
BIT $00
DEX
BNE *-$09
JMP *-$B4
DFB $13,$19,$03
DFB $10,$00,$00
DFB $00,$00,$00
DFB $00,$00,$00
DFB $00,$00,$00
DFB $00,$00,$00
DFB $00,$00,$00
DFB $00,$00,$00
DFB $00,$00,$00