mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 00:14:25 +00:00
93 lines
1.0 KiB
ArmAsm
93 lines
1.0 KiB
ArmAsm
.globl _do_phio
|
|
.globl _rdsec
|
|
.text
|
|
_rdsec:
|
|
~~rdsec:
|
|
~rwpkt=-18
|
|
~secnum=8
|
|
~dma=12
|
|
link R14,#-22
|
|
move.b #1,-18(R14)
|
|
clr.b -17(R14)
|
|
move.l 8(R14),-14(R14)
|
|
move.l 12(R14),-8(R14)
|
|
move.l _gbls,-4(R14)
|
|
move.l R14,(sp)
|
|
add.l #-18,(sp)
|
|
jsr _do_phio
|
|
bra L1
|
|
L1:unlk R14
|
|
rts
|
|
.globl _dir_rd
|
|
.text
|
|
_dir_rd:
|
|
~~dir_rd:
|
|
~secnum=8
|
|
link R14,#-4
|
|
move.l 4+_gbls,(sp)
|
|
move 8(R14),R8
|
|
move.l R8,-(sp)
|
|
jsr _rdsec
|
|
add #4,sp
|
|
bra L2
|
|
L2:unlk R14
|
|
rts
|
|
.globl _dirscan
|
|
.text
|
|
_dirscan:
|
|
~~dirscan:
|
|
~funcp=8
|
|
~i=R7
|
|
~dirsec=R6
|
|
~dparmp=R12
|
|
~fcbp=R13
|
|
link R14,#0
|
|
movem.l R5-R7/R12-R13,-(sp)
|
|
move.l 12(R14),R13
|
|
move.l 8+_gbls,R12
|
|
clr R7
|
|
L5:
|
|
cmp 8(R12),R7
|
|
bhi L4
|
|
move R7,R0
|
|
and #3,R0
|
|
bne L7
|
|
move R7,R6
|
|
lsr #2,R6
|
|
move R6,(sp)
|
|
jsr _dir_rd
|
|
tst R0
|
|
beq L8
|
|
move #65535,R0
|
|
bra L3
|
|
L8:L7:
|
|
move R7,-(sp)
|
|
move R7,R0
|
|
and #3,R0
|
|
lsl #5,R0
|
|
swap R0
|
|
clr R0
|
|
swap R0
|
|
add.l 4+_gbls,R0
|
|
move.l R0,-(sp)
|
|
move.l R13,-(sp)
|
|
move.l 8(R14),R8
|
|
jsr (R8)
|
|
add #10,sp
|
|
tst R0
|
|
beq L9
|
|
move R7,R0
|
|
and #3,R0
|
|
bra L3
|
|
L9:L6:
|
|
add #1,R7
|
|
bra L5
|
|
L4:
|
|
move #255,R0
|
|
bra L3
|
|
L3:tst.l (sp)+
|
|
movem.l (sp)+,R6-R7/R12-R13
|
|
unlk R14
|
|
rts
|
|
.data
|