mirror of
https://github.com/a2stuff/prodos-drivers.git
synced 2025-01-08 23:30:58 +00:00
rearrange config/data
This commit is contained in:
parent
88472a8e11
commit
9b98a09067
@ -29,6 +29,10 @@ SELECTOR := $D100
|
|||||||
|
|
||||||
BLOCK_SIZE = $200
|
BLOCK_SIZE = $200
|
||||||
|
|
||||||
|
PATHNAME := $280
|
||||||
|
SYS_ADDR := $2000 ; Load address for SYS files
|
||||||
|
SYS_LEN = $BF00 - SYS_ADDR ; Maximum SYS file length
|
||||||
|
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
;;; MLI Calls
|
;;; MLI Calls
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
|
@ -17,25 +17,6 @@
|
|||||||
.include "opcodes.inc"
|
.include "opcodes.inc"
|
||||||
|
|
||||||
|
|
||||||
zp_sig_addr := $06
|
|
||||||
|
|
||||||
zpproc_addr := $B0
|
|
||||||
zpproc_relay_addr := $2D0
|
|
||||||
|
|
||||||
PATHNAME := $280
|
|
||||||
|
|
||||||
data_buf := $1C00 ; I/O when chaining to next SYS file
|
|
||||||
driver_target := $FF00 ; Install location in ProDOS
|
|
||||||
|
|
||||||
|
|
||||||
kMaxUsableBanks = 24 ; Why is this capped so low???
|
|
||||||
; (driver has room for another ~20?)
|
|
||||||
|
|
||||||
SYS_ADDR := $2000 ; Load address for SYS files
|
|
||||||
SYS_LEN = $BF00 - SYS_ADDR ; Maximum SYS file length
|
|
||||||
|
|
||||||
.define PRODUCT "RAMWorks RAM Disk"
|
|
||||||
|
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
|
|
||||||
;; SYS files load at $2000; relocates self to $1000
|
;; SYS files load at $2000; relocates self to $1000
|
||||||
@ -92,10 +73,12 @@ sys_start:
|
|||||||
;; Save most recent device for later, when chaining
|
;; Save most recent device for later, when chaining
|
||||||
;; to next .SYSTEM file.
|
;; to next .SYSTEM file.
|
||||||
lda DEVNUM
|
lda DEVNUM
|
||||||
sta read_block_params_unit_num
|
sta devnum
|
||||||
rts
|
rts
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
devnum: .byte 0
|
||||||
|
self_name: .res 16
|
||||||
|
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
;;; Find and invoke the next .SYSTEM file
|
;;; Find and invoke the next .SYSTEM file
|
||||||
@ -149,6 +132,8 @@ cloop: iny
|
|||||||
;; Read directory and look for .SYSTEM files; find this
|
;; Read directory and look for .SYSTEM files; find this
|
||||||
;; one, and invoke the following one.
|
;; one, and invoke the following one.
|
||||||
read_dir:
|
read_dir:
|
||||||
|
lda devnum
|
||||||
|
sta read_block_params_unit_num
|
||||||
jsr read_block
|
jsr read_block
|
||||||
|
|
||||||
lda data_buf + VolumeDirectoryHeader::entry_length
|
lda data_buf + VolumeDirectoryHeader::entry_length
|
||||||
@ -363,6 +348,20 @@ found_self_flag:
|
|||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
;;; Configuration Parameters
|
;;; Configuration Parameters
|
||||||
|
|
||||||
|
.define PRODUCT "RAMWorks RAM Disk"
|
||||||
|
|
||||||
|
zp_sig_addr := $06
|
||||||
|
|
||||||
|
zpproc_addr := $B0
|
||||||
|
zpproc_relay_addr := $2D0
|
||||||
|
|
||||||
|
data_buf := $1C00 ; I/O when chaining to next SYS file
|
||||||
|
driver_target := $FF00 ; Install location in ProDOS
|
||||||
|
|
||||||
|
|
||||||
|
kMaxUsableBanks = 24 ; Why is this capped so low???
|
||||||
|
; (driver has room for another ~20?)
|
||||||
|
|
||||||
banks_to_reserve: .byte 0 ; banks to reserve (e.g. for AppleWorks)
|
banks_to_reserve: .byte 0 ; banks to reserve (e.g. for AppleWorks)
|
||||||
unitnum: .byte $03 ; S3D1; could be $B for S3D2
|
unitnum: .byte $03 ; S3D1; could be $B for S3D2
|
||||||
|
|
||||||
@ -1055,9 +1054,8 @@ map1 := *+2 ; len: $80
|
|||||||
map2 := *+2+$80 ; len: $80
|
map2 := *+2+$80 ; len: $80
|
||||||
stash_00 := *+2+$100 ; len: $80
|
stash_00 := *+2+$100 ; len: $80
|
||||||
stash_01 := *+2+$180 ; len: $80
|
stash_01 := *+2+$180 ; len: $80
|
||||||
self_name := *+2+$200 ; len: 65
|
|
||||||
|
|
||||||
.assert self_name + 64 < data_buf, error, "Too long"
|
.assert stash_01+$80 < data_buf, error, "Too long"
|
||||||
|
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
;;; End of relocated code
|
;;; End of relocated code
|
||||||
|
Loading…
Reference in New Issue
Block a user