move disk_inode to global data to reduce pressure on dp size
This commit is contained in:
parent
96b604d86d
commit
bb9d3b8359
4
Makefile
4
Makefile
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
SOURCES = main.aii volume.aii get_file_info.aii \
|
SOURCES = main.aii volume.aii get_file_info.aii \
|
||||||
open.aii get_dir_entry.aii get_mark.aii set_mark.aii get_eof.aii \
|
open.aii get_dir_entry.aii get_mark.aii set_mark.aii get_eof.aii \
|
||||||
close.aii \
|
close.aii read.aii \
|
||||||
id_disk.aii stubs.aii tables.aii device.aii params.aii data.aii
|
id_disk.aii stubs.aii tables.aii device.aii params.aii globals.aii
|
||||||
|
|
||||||
OBJECTS=$(SOURCES:.aii=.o)
|
OBJECTS=$(SOURCES:.aii=.o)
|
||||||
|
|
||||||
|
|
13
data.aii
13
data.aii
|
@ -1,13 +0,0 @@
|
||||||
|
|
||||||
string asis
|
|
||||||
|
|
||||||
include 'records.equ'
|
|
||||||
|
|
||||||
data record
|
|
||||||
|
|
||||||
export target
|
|
||||||
target ds GSString32
|
|
||||||
|
|
||||||
endr
|
|
||||||
|
|
||||||
end
|
|
2
fst.equ
2
fst.equ
|
@ -17,7 +17,7 @@ tool_error ds.w 1
|
||||||
inode ds.w 1
|
inode ds.w 1
|
||||||
parent_inode ds.w 1
|
parent_inode ds.w 1
|
||||||
|
|
||||||
disk_inode ds v1_inode
|
;disk_inode ds v1_inode
|
||||||
;super ds v1_super
|
;super ds v1_super
|
||||||
|
|
||||||
__end equ *
|
__end equ *
|
||||||
|
|
|
@ -19,7 +19,8 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import disk_inode:v1_inode
|
||||||
|
import disk_super:v1_super
|
||||||
|
|
||||||
;
|
;
|
||||||
; dirent_entry 0 is a special case.
|
; dirent_entry 0 is a special case.
|
||||||
|
|
|
@ -16,6 +16,10 @@
|
||||||
import do_ignore
|
import do_ignore
|
||||||
import init_fcr
|
import init_fcr
|
||||||
|
|
||||||
|
|
||||||
|
import disk_inode:v1_inode
|
||||||
|
import disk_super:v1_super
|
||||||
|
|
||||||
get_eof procname export
|
get_eof procname export
|
||||||
|
|
||||||
with dp, fst_parms
|
with dp, fst_parms
|
||||||
|
|
|
@ -21,6 +21,9 @@
|
||||||
import device_read
|
import device_read
|
||||||
|
|
||||||
|
|
||||||
|
import disk_inode:v1_inode
|
||||||
|
import disk_super:v1_super
|
||||||
|
|
||||||
data record
|
data record
|
||||||
|
|
||||||
path_offset ds.w 1
|
path_offset ds.w 1
|
||||||
|
|
|
@ -16,6 +16,10 @@
|
||||||
import do_ignore
|
import do_ignore
|
||||||
import init_fcr
|
import init_fcr
|
||||||
|
|
||||||
|
|
||||||
|
import disk_inode:v1_inode
|
||||||
|
import disk_super:v1_super
|
||||||
|
|
||||||
get_mark procname export
|
get_mark procname export
|
||||||
|
|
||||||
with dp, fst_parms
|
with dp, fst_parms
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
|
||||||
|
string asis
|
||||||
|
|
||||||
|
include 'records.equ'
|
||||||
|
include 'minix.equ'
|
||||||
|
|
||||||
|
globals record
|
||||||
|
|
||||||
|
export disk_inode
|
||||||
|
disk_inode ds v1_inode
|
||||||
|
|
||||||
|
|
||||||
|
export disk_super
|
||||||
|
disk_super ds v1_super
|
||||||
|
|
||||||
|
|
||||||
|
export target
|
||||||
|
target ds GSString32
|
||||||
|
|
||||||
|
endr
|
||||||
|
|
||||||
|
end
|
3
main.aii
3
main.aii
|
@ -41,6 +41,9 @@
|
||||||
import format
|
import format
|
||||||
import erase_disk
|
import erase_disk
|
||||||
|
|
||||||
|
import disk_inode:v1_inode
|
||||||
|
import disk_super:v1_super
|
||||||
|
|
||||||
header proc
|
header proc
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
3
open.aii
3
open.aii
|
@ -32,6 +32,9 @@
|
||||||
import path_to_inode
|
import path_to_inode
|
||||||
import load_inode
|
import load_inode
|
||||||
|
|
||||||
|
import disk_inode:v1_inode
|
||||||
|
import disk_super:v1_super
|
||||||
|
|
||||||
open procname export
|
open procname export
|
||||||
|
|
||||||
with fst_parms
|
with fst_parms
|
||||||
|
|
|
@ -20,6 +20,10 @@
|
||||||
; set tool_error if error.
|
; set tool_error if error.
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
import disk_inode:v1_inode
|
||||||
|
import disk_super:v1_super
|
||||||
|
|
||||||
do_ignore proc export
|
do_ignore proc export
|
||||||
rts
|
rts
|
||||||
endp
|
endp
|
||||||
|
|
|
@ -0,0 +1,585 @@
|
||||||
|
|
||||||
|
string asis
|
||||||
|
|
||||||
|
include 'gsos.equ'
|
||||||
|
include 'minix.equ'
|
||||||
|
include 'fst.equ'
|
||||||
|
|
||||||
|
include 'fst.macros'
|
||||||
|
|
||||||
|
include 'M16.Debug'
|
||||||
|
|
||||||
|
include 'records.equ'
|
||||||
|
|
||||||
|
|
||||||
|
import do_ignore
|
||||||
|
import init_fcr
|
||||||
|
import init_vcr
|
||||||
|
import read_data_block
|
||||||
|
|
||||||
|
entry memcpy
|
||||||
|
entry do_transfer_count
|
||||||
|
entry do_data_buffer
|
||||||
|
entry do_request_count
|
||||||
|
|
||||||
|
entry init_block
|
||||||
|
entry next_block
|
||||||
|
|
||||||
|
entry slow_read
|
||||||
|
entry read_direct_block
|
||||||
|
entry read_partial_block
|
||||||
|
|
||||||
|
import disk_inode:v1_inode
|
||||||
|
|
||||||
|
my_dp record dp.__end
|
||||||
|
|
||||||
|
dataBuffer ds.l 1
|
||||||
|
requestCount ds.l 1
|
||||||
|
transferCount ds.l 1
|
||||||
|
mark ds.l 1
|
||||||
|
|
||||||
|
mtc ds.l 1
|
||||||
|
|
||||||
|
count ds.w 1 ; count from partial block read
|
||||||
|
block ds.w 1 ; current block for reading.
|
||||||
|
|
||||||
|
zone ds.l 1
|
||||||
|
|
||||||
|
IF *>=$d4 THEN
|
||||||
|
AERROR 'dp -- too large.'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
endr
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;
|
||||||
|
; read logic...
|
||||||
|
; if (mark & 1024-1) read partial block
|
||||||
|
; while (transferCount >= 1024) direct read into dataBudder
|
||||||
|
; if (transfterCount & 1024 - 1) read partial block
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
do_transfer_count proc
|
||||||
|
with fst_parms, my_dp
|
||||||
|
|
||||||
|
lda transferCount
|
||||||
|
sta [param_blk_ptr],y
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
lda transferCount+2
|
||||||
|
sta [param_blk_ptr],y
|
||||||
|
rts
|
||||||
|
endp
|
||||||
|
|
||||||
|
do_data_buffer proc
|
||||||
|
with fst_parms, my_dp
|
||||||
|
|
||||||
|
lda [param_blk_ptr],y
|
||||||
|
sta dataBuffer
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
lda [param_blk_ptr],y
|
||||||
|
sta dataBuffer+2
|
||||||
|
rts
|
||||||
|
endp
|
||||||
|
|
||||||
|
do_request_count proc
|
||||||
|
with fst_parms, my_dp
|
||||||
|
|
||||||
|
lda [param_blk_ptr],y
|
||||||
|
sta requestCount
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
lda [param_blk_ptr],y
|
||||||
|
sta requestCount+2
|
||||||
|
rts
|
||||||
|
endp
|
||||||
|
|
||||||
|
do_cache_priority proc
|
||||||
|
with fst_parms, my_dp, dp
|
||||||
|
|
||||||
|
lda [param_blk_ptr],y
|
||||||
|
; 0 or 1 only.
|
||||||
|
cmp #1
|
||||||
|
bcs pre
|
||||||
|
sta dev_parms.dev_cache_pr
|
||||||
|
rts
|
||||||
|
pre
|
||||||
|
lda #parm_range_err
|
||||||
|
sta tool_error
|
||||||
|
rts
|
||||||
|
endp
|
||||||
|
|
||||||
|
entry set_zone
|
||||||
|
|
||||||
|
init_block proc
|
||||||
|
|
||||||
|
with my_dp
|
||||||
|
|
||||||
|
lda mark+1
|
||||||
|
sta zone
|
||||||
|
lda mark+3
|
||||||
|
and #$00ff
|
||||||
|
sta zone+2
|
||||||
|
lsr zone+2
|
||||||
|
ror zone
|
||||||
|
lsr zone+2
|
||||||
|
ror zone
|
||||||
|
ldx zone
|
||||||
|
bra set_zone
|
||||||
|
endp
|
||||||
|
|
||||||
|
; updates block, zone, etc.
|
||||||
|
; find the block to read.
|
||||||
|
next_block proc
|
||||||
|
|
||||||
|
with my_dp, dp, v1
|
||||||
|
|
||||||
|
ldx zone
|
||||||
|
inx
|
||||||
|
inx
|
||||||
|
stx zone
|
||||||
|
entry set_zone
|
||||||
|
|
||||||
|
set_zone
|
||||||
|
cpx #NR_DZONES*2
|
||||||
|
bcc direct
|
||||||
|
|
||||||
|
indirect
|
||||||
|
double_indirect
|
||||||
|
; todo ...
|
||||||
|
lda #damaged_bitmap
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
direct
|
||||||
|
lda disk_inode.zone,x
|
||||||
|
sta block
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
endp
|
||||||
|
|
||||||
|
read procname export
|
||||||
|
|
||||||
|
with dp, my_dp, fst_parms
|
||||||
|
|
||||||
|
;
|
||||||
|
jsr init_vcr
|
||||||
|
jsr init_fcr
|
||||||
|
|
||||||
|
|
||||||
|
; can only read from regular files or links.
|
||||||
|
lda disk_inode.mode
|
||||||
|
and #S_IFMT
|
||||||
|
cmp #S_IFREG
|
||||||
|
beq @ok
|
||||||
|
cmp #S_IFLNK
|
||||||
|
beq @ok
|
||||||
|
|
||||||
|
lda #bad_store_type
|
||||||
|
sec
|
||||||
|
rtl
|
||||||
|
|
||||||
|
@ok
|
||||||
|
; offset is 2 for class 0, 4 for class 1!
|
||||||
|
|
||||||
|
|
||||||
|
; check for read-access
|
||||||
|
ldy #fcr.access
|
||||||
|
lda [<my_fcr],y
|
||||||
|
|
||||||
|
and #read_access
|
||||||
|
bne @access_ok
|
||||||
|
|
||||||
|
lda #invalid_access
|
||||||
|
sec
|
||||||
|
rtl
|
||||||
|
|
||||||
|
|
||||||
|
@access_ok
|
||||||
|
|
||||||
|
|
||||||
|
stz transferCount
|
||||||
|
stz transferCount+2
|
||||||
|
|
||||||
|
|
||||||
|
ldy #fcr.mark+2
|
||||||
|
lda [my_fcr],y
|
||||||
|
sta mark
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
lda [my_fcr],y
|
||||||
|
sta mark+2
|
||||||
|
|
||||||
|
lda call_class
|
||||||
|
beq class0
|
||||||
|
|
||||||
|
class1
|
||||||
|
lda [param_blk_ptr] ; pcount
|
||||||
|
dec a
|
||||||
|
asl a ; x 2
|
||||||
|
asl a ; x 4
|
||||||
|
tax
|
||||||
|
dispatch read_dcb_1
|
||||||
|
|
||||||
|
lda tool_error
|
||||||
|
beq class_over
|
||||||
|
|
||||||
|
sec
|
||||||
|
rtl
|
||||||
|
|
||||||
|
class0
|
||||||
|
ldx #read_dcb_0_size-4
|
||||||
|
dispatch read_dcb_0
|
||||||
|
bra class_over
|
||||||
|
|
||||||
|
|
||||||
|
read_dcb_1
|
||||||
|
with IORecGS
|
||||||
|
dc.w refNum, do_ignore
|
||||||
|
dc.w dataBuffer, do_data_buffer
|
||||||
|
dc.w requestCount, do_request_count
|
||||||
|
dc.w transferCount, do_ignore
|
||||||
|
dc.w cachePriority, do_cache_priority
|
||||||
|
endwith
|
||||||
|
|
||||||
|
read_dcb_0
|
||||||
|
with FileIORec
|
||||||
|
dc.w fileRefNum, do_ignore
|
||||||
|
dc.w dataBuffer, do_data_buffer
|
||||||
|
dc.w requestCount, do_request_count
|
||||||
|
dc.w transferCount, do_ignore
|
||||||
|
endwith
|
||||||
|
read_dcb_0_size equ *-read_dcb_0
|
||||||
|
|
||||||
|
|
||||||
|
class_over
|
||||||
|
|
||||||
|
|
||||||
|
; end of file?
|
||||||
|
lda mark+2
|
||||||
|
cmp disk_inode.size+2
|
||||||
|
bcc noteof
|
||||||
|
lda mark
|
||||||
|
cmp disk_inode.size
|
||||||
|
bne noteof
|
||||||
|
|
||||||
|
eof
|
||||||
|
lda #end_of_file
|
||||||
|
sec
|
||||||
|
rtl
|
||||||
|
noteof
|
||||||
|
|
||||||
|
; if transferCount is 0, just quit now!
|
||||||
|
lda requestCount
|
||||||
|
ora requestCount+2
|
||||||
|
bne @rc
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
clc
|
||||||
|
rtl
|
||||||
|
@rc
|
||||||
|
|
||||||
|
|
||||||
|
; transferCount can't go past the eof mark...
|
||||||
|
|
||||||
|
tc
|
||||||
|
; mtc -- max transferCount
|
||||||
|
sec
|
||||||
|
lda disk_inode.size
|
||||||
|
sbc mark
|
||||||
|
sta mtc
|
||||||
|
|
||||||
|
lda disk_inode.size+2
|
||||||
|
sbc mark+2
|
||||||
|
sta mtc+2
|
||||||
|
|
||||||
|
; if negative, we have a problem...
|
||||||
|
bmi eof
|
||||||
|
; if 0, end of file...
|
||||||
|
ora mtc
|
||||||
|
beq eof
|
||||||
|
|
||||||
|
|
||||||
|
lda transferCount+2
|
||||||
|
cmp mtc+2
|
||||||
|
bcc @ok
|
||||||
|
beq @lw
|
||||||
|
bra @toobig
|
||||||
|
|
||||||
|
@lw ; low word
|
||||||
|
lda transferCount
|
||||||
|
cmp mtc
|
||||||
|
beq @ok
|
||||||
|
bcc @ok
|
||||||
|
|
||||||
|
@toobig
|
||||||
|
lda mtc
|
||||||
|
sta transferCount
|
||||||
|
lda mtc+2
|
||||||
|
sta transferCount+2
|
||||||
|
|
||||||
|
@ok
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; we are ok to read!
|
||||||
|
; check for new line mode...
|
||||||
|
ldy #fcr.newline_length
|
||||||
|
lda [my_fcr],y
|
||||||
|
beq normal_read
|
||||||
|
|
||||||
|
jsr slow_read
|
||||||
|
|
||||||
|
normal_read
|
||||||
|
|
||||||
|
|
||||||
|
jsr init_block
|
||||||
|
_rts.cs
|
||||||
|
|
||||||
|
; currently limited to 7 zones, anyhow!
|
||||||
|
|
||||||
|
; first block may have extra work since it may be offset into a block.
|
||||||
|
; (should store block in the fcr)
|
||||||
|
|
||||||
|
lda mark
|
||||||
|
and #1024-1
|
||||||
|
beq aligned
|
||||||
|
|
||||||
|
jsr read_partial_block
|
||||||
|
bcs exit
|
||||||
|
|
||||||
|
aligned
|
||||||
|
; while transferCount >= 1024 { read_direct_block }
|
||||||
|
lda transferCount+2
|
||||||
|
bne @read
|
||||||
|
lda transferCount
|
||||||
|
beq done
|
||||||
|
cmp #1024
|
||||||
|
bcc tail
|
||||||
|
|
||||||
|
@read
|
||||||
|
jsr next_block
|
||||||
|
bcs exit
|
||||||
|
jsr read_direct_block
|
||||||
|
bcs exit
|
||||||
|
|
||||||
|
bra aligned
|
||||||
|
|
||||||
|
tail
|
||||||
|
; read a partial tail block.
|
||||||
|
; set up block...
|
||||||
|
jsr next_block
|
||||||
|
bcs exit
|
||||||
|
jsr read_direct_block
|
||||||
|
bcs exit
|
||||||
|
|
||||||
|
|
||||||
|
done
|
||||||
|
; read complete!
|
||||||
|
; todo -- update fcr, transferCount
|
||||||
|
|
||||||
|
|
||||||
|
ldy #fcr.mark
|
||||||
|
lda mark
|
||||||
|
sta [my_fcr],y
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
lda mark+2
|
||||||
|
sta [my_fcr],y
|
||||||
|
|
||||||
|
; eventually, data_zone, data_block.
|
||||||
|
|
||||||
|
ldx call_class
|
||||||
|
lda @table,x
|
||||||
|
tay
|
||||||
|
lda transferCount
|
||||||
|
sta [param_blk_ptr],y
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
lda transferCount+2
|
||||||
|
sta [param_blk_ptr],y
|
||||||
|
|
||||||
|
lda tool_error
|
||||||
|
cmp #0
|
||||||
|
rtl
|
||||||
|
|
||||||
|
@table dc.w FileIORec.transferCount, IORecGS.transferCount
|
||||||
|
|
||||||
|
|
||||||
|
lda tool_error
|
||||||
|
cmp #0
|
||||||
|
|
||||||
|
exit
|
||||||
|
rtl
|
||||||
|
|
||||||
|
|
||||||
|
endp
|
||||||
|
|
||||||
|
update_counts proc
|
||||||
|
|
||||||
|
with my_dp
|
||||||
|
|
||||||
|
;dataBuffer += count
|
||||||
|
|
||||||
|
lda count
|
||||||
|
clc
|
||||||
|
adc dataBuffer
|
||||||
|
sta dataBuffer
|
||||||
|
lda #0
|
||||||
|
adc dataBuffer+2
|
||||||
|
sta dataBuffer+2
|
||||||
|
|
||||||
|
; transferCount += count
|
||||||
|
|
||||||
|
lda count
|
||||||
|
clc
|
||||||
|
adc transferCount
|
||||||
|
sta transferCount
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
adc transferCount+2
|
||||||
|
sta transferCount+2
|
||||||
|
;
|
||||||
|
|
||||||
|
; requestCount -= count
|
||||||
|
|
||||||
|
lda requestCount
|
||||||
|
sec
|
||||||
|
sbc count
|
||||||
|
sta requestCount
|
||||||
|
lda requestCount+2
|
||||||
|
sbc #0
|
||||||
|
sta requestCount+2
|
||||||
|
rts
|
||||||
|
|
||||||
|
endp
|
||||||
|
|
||||||
|
; todo -- should read block into fcr, update fcr.
|
||||||
|
read_partial_block proc
|
||||||
|
; read a block into io_buffer, then copy the parts we want into dataBuffer.
|
||||||
|
; a = block number.
|
||||||
|
|
||||||
|
with my_dp, dp
|
||||||
|
|
||||||
|
jsr read_data_block
|
||||||
|
_rts.cs
|
||||||
|
|
||||||
|
|
||||||
|
; count = 1024 - (mark & 0x1023)
|
||||||
|
lda mark
|
||||||
|
and #1024-1
|
||||||
|
rsb #1024
|
||||||
|
|
||||||
|
|
||||||
|
sta count
|
||||||
|
lda requestCount+2
|
||||||
|
bne @ok
|
||||||
|
lda requestCount
|
||||||
|
cmp count
|
||||||
|
bcs @ok
|
||||||
|
; requestCount is less than count...
|
||||||
|
sta count
|
||||||
|
|
||||||
|
@ok
|
||||||
|
|
||||||
|
; assume block, etc are set up.
|
||||||
|
lda io_buffer
|
||||||
|
sta dev_parms.dev_buff
|
||||||
|
lda io_buffer+2
|
||||||
|
sta dev_parms.dev_buff+2
|
||||||
|
|
||||||
|
lda block
|
||||||
|
jsr read_data_block
|
||||||
|
bcs exit
|
||||||
|
|
||||||
|
; set ptr to the offset...
|
||||||
|
lda mark
|
||||||
|
and #1024-1
|
||||||
|
clc
|
||||||
|
adc io_buffer
|
||||||
|
sta ptr
|
||||||
|
lda #0
|
||||||
|
adc io_buffer+2
|
||||||
|
sta ptr+2
|
||||||
|
|
||||||
|
lda count
|
||||||
|
jsr memcpy
|
||||||
|
|
||||||
|
|
||||||
|
jsr update_counts
|
||||||
|
clc
|
||||||
|
exit
|
||||||
|
rts
|
||||||
|
|
||||||
|
endp
|
||||||
|
|
||||||
|
read_direct_block proc
|
||||||
|
|
||||||
|
with dp, my_dp
|
||||||
|
|
||||||
|
lda dataBuffer
|
||||||
|
sta dev_parms.dev_buff
|
||||||
|
lda dataBuffer+2
|
||||||
|
sta dev_parms.dev_buff+2
|
||||||
|
|
||||||
|
lda block
|
||||||
|
jsr read_data_block
|
||||||
|
bcs exit
|
||||||
|
|
||||||
|
lda #1024
|
||||||
|
sta count
|
||||||
|
jsr update_counts
|
||||||
|
|
||||||
|
clc
|
||||||
|
exit
|
||||||
|
rts
|
||||||
|
endp
|
||||||
|
|
||||||
|
memcpy proc
|
||||||
|
|
||||||
|
; copy from ptr to dataBuffer
|
||||||
|
; a = count
|
||||||
|
;pha ; save
|
||||||
|
; all registers are clobbered.
|
||||||
|
|
||||||
|
with dp, my_dp
|
||||||
|
|
||||||
|
lsr a ; / 2
|
||||||
|
beq last_byte
|
||||||
|
|
||||||
|
tax
|
||||||
|
ldy #0
|
||||||
|
loop
|
||||||
|
lda [ptr],y
|
||||||
|
sta [dataBuffer],y
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
dex
|
||||||
|
bne loop
|
||||||
|
|
||||||
|
last_byte
|
||||||
|
;pla
|
||||||
|
; carry still set...
|
||||||
|
bcc done
|
||||||
|
short m
|
||||||
|
lda [ptr],y
|
||||||
|
sta [dataBuffer],y
|
||||||
|
long m
|
||||||
|
done
|
||||||
|
rts
|
||||||
|
endp
|
||||||
|
|
||||||
|
slow_read procname
|
||||||
|
|
||||||
|
; todo ...
|
||||||
|
lda #bad_store_type
|
||||||
|
sec
|
||||||
|
|
||||||
|
rts
|
||||||
|
endp
|
||||||
|
|
||||||
|
end
|
|
@ -11,6 +11,10 @@
|
||||||
|
|
||||||
include 'records.equ'
|
include 'records.equ'
|
||||||
|
|
||||||
|
|
||||||
|
import disk_inode:v1_inode
|
||||||
|
import disk_super:v1_super
|
||||||
|
|
||||||
my_dp record dp.__end
|
my_dp record dp.__end
|
||||||
|
|
||||||
displacement ds.w 1
|
displacement ds.w 1
|
||||||
|
|
Loading…
Reference in New Issue