2017-12-03 21:18:37 +00:00
|
|
|
;*******************************
|
|
|
|
;
|
|
|
|
; Apple][Sd Firmware
|
2017-12-17 19:39:59 +00:00
|
|
|
; Version 1.1
|
|
|
|
; Defines
|
2017-12-03 21:18:37 +00:00
|
|
|
;
|
|
|
|
; (c) Florian Reitz, 2017
|
|
|
|
;
|
|
|
|
; X register usually contains SLOT16
|
|
|
|
; Y register is used for counting or SLOT
|
|
|
|
;
|
|
|
|
;*******************************
|
|
|
|
|
2018-05-09 19:39:02 +00:00
|
|
|
; ZP equates
|
2017-12-03 21:18:37 +00:00
|
|
|
SLOT16 := $2B ; $s0 -> slot * 16
|
|
|
|
SLOT := $3D ; $0s
|
|
|
|
CMDLO := $40
|
|
|
|
CMDHI := $41
|
|
|
|
|
2018-05-09 19:39:02 +00:00
|
|
|
; ProDOS equates
|
2017-12-03 21:18:37 +00:00
|
|
|
DCMD := $42 ; Command code
|
2018-05-09 19:39:02 +00:00
|
|
|
DNUMBER := $43 ; drive number
|
|
|
|
BUFFER := $44 ; buffer pointer
|
|
|
|
BLOCK := $46 ; block number
|
|
|
|
|
|
|
|
; Smartport equates
|
|
|
|
SMPARAM := $43 ; parameter count
|
|
|
|
SMUNIT := $44 ; unit number
|
|
|
|
SMBUFF := $45 ; buffer pointer
|
|
|
|
SMSTAT := $47 ; status / control code
|
|
|
|
SMBLOCK := $47 ; block number
|
|
|
|
SMCOUNT := $47 ; byte count
|
|
|
|
SMADDR := $49 ; address for read
|
2017-12-03 21:18:37 +00:00
|
|
|
|
2018-05-09 19:39:02 +00:00
|
|
|
; Ram equates
|
2017-12-03 21:18:37 +00:00
|
|
|
R30 := $0478
|
|
|
|
R31 := $04F8
|
|
|
|
R32 := $0578
|
|
|
|
R33 := $05F8
|
|
|
|
CURSLOT := $07F8 ; $Cs
|
2018-05-09 19:39:02 +00:00
|
|
|
|
|
|
|
; Slot equates
|
2017-12-03 21:18:37 +00:00
|
|
|
OAPPLE := $C061 ; open apple key
|
|
|
|
DATA := $C080
|
|
|
|
CTRL := DATA+1
|
|
|
|
DIV := DATA+2
|
|
|
|
SS := DATA+3
|
|
|
|
|
|
|
|
; Constants
|
|
|
|
DUMMY = $FF
|
|
|
|
FRX = $10 ; CTRL register
|
|
|
|
ECE = $04
|
|
|
|
SS0 = $01 ; SS register
|
|
|
|
SDHC = $10
|
|
|
|
WP = $20
|
|
|
|
CD = $40
|
|
|
|
INITED = $80
|