mirror of
https://github.com/ksherlock/hfs-boot.git
synced 2024-06-02 11:41:29 +00:00
e02675057f
Squashed commit of the following: commit44a6544242
Author: Kelvin Sherlock <ksherlock@gmail.com> Date: Wed Aug 11 22:10:11 2021 -0400 improved 32-bit (well, smartport is 24-bit) block support commit7fc041289f
Author: Kelvin Sherlock <ksherlock@gmail.com> Date: Wed Aug 4 23:49:15 2021 -0400 convert the extent blocks into 32-bit absolute blocks when loading. Currently the block comparisons are still 16-bit, though. commit0fabe65aca
Author: Kelvin Sherlock <ksherlock@gmail.com> Date: Tue Aug 3 20:13:27 2021 -0400 move stack adjustment code to take effect from the callback routines commit6da1f9fa3c
Author: Kelvin Sherlock <ksherlock@gmail.com> Date: Tue Jul 27 21:31:23 2021 -0400 re-arrange to avoid relative expression warning commitdbfe66cc99
Author: Kelvin Sherlock <ksherlock@gmail.com> Date: Tue Jul 27 21:31:01 2021 -0400 use smartport.aii commit95aa4d8bd5
Author: Kelvin Sherlock <ksherlock@gmail.com> Date: Thu Jul 22 23:58:20 2021 -0400 large volume support (WIP, untested). the general theory is, multiply the extents by the allocation adjustment to get physical block offsets. currently, comparisons are still 16-bit though.
88 lines
1.2 KiB
Plaintext
88 lines
1.2 KiB
Plaintext
|
|
|
|
Command record 0
|
|
Status equ $00
|
|
ReadBlock equ $01
|
|
WriteBlock equ $02
|
|
Format equ $03
|
|
Control equ $04
|
|
Init equ $05
|
|
Open equ $06 ; character device
|
|
Close equ $07 ; character device
|
|
Read equ $08
|
|
Write equ $09
|
|
SetFormatOption equ $0a
|
|
GetFormatOption equ $0b
|
|
endr
|
|
|
|
Error record 0
|
|
badCommand equ $01
|
|
badPcount equ $04
|
|
busError equ $06
|
|
badUnit equ $11
|
|
noInterrupt equ $1f
|
|
badCode equ $21
|
|
badParameter equ $22
|
|
ioError equ $27
|
|
noDrive equ $28
|
|
noWrite equ $2b
|
|
badBlock equ $2d
|
|
diskSwitch equ $2e
|
|
offLine equ $2f
|
|
; $30-$3f = device specific
|
|
; $40-$4f = reserved
|
|
; $50-$5f = non fatal
|
|
; $60-$6f = non fatal version of $20-$2f
|
|
ioTerm equ $69
|
|
endr
|
|
|
|
StatusDCB record 0
|
|
pCount ds.b 1
|
|
unit ds.b 1
|
|
statusList ds.w 1
|
|
statusCode ds.b 1
|
|
endr
|
|
|
|
IOBlockDCB record 0
|
|
pCount ds.b 1
|
|
unit ds.b 1
|
|
dataBuffer ds.w 1
|
|
blockNumber ds.b 3 ; 24-bit
|
|
endr
|
|
|
|
FormatDCB record 0
|
|
pCount ds.b 1
|
|
unit ds.b 1
|
|
endr
|
|
|
|
ControlDCB record 0
|
|
pCount ds.b 1
|
|
unit ds.b 1
|
|
controlList ds.w 1
|
|
controlCode ds.b 1
|
|
endr
|
|
|
|
InitDCB record 0
|
|
pCount ds.b 1
|
|
unit ds.b 1
|
|
endr
|
|
|
|
OpenDCB record 0
|
|
pCount ds.b 1
|
|
unit ds.b 1
|
|
endr
|
|
|
|
CloseDCB record 0
|
|
pCount ds.b 1
|
|
unit ds.b 1
|
|
endr
|
|
|
|
IODCB record 0
|
|
pCount ds.b 1
|
|
unit ds.b 1
|
|
dataBuffer ds.w 1
|
|
byteCount ds.w 1
|
|
address ds.b 3 ; 24-bit
|
|
endr
|
|
|