mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-15 09:29:35 +00:00
ProDOS 203 Source code
This commit is contained in:
parent
3a016ff58b
commit
cda867763e
|
@ -53,19 +53,19 @@ H2FB9 sta p8date+1 year
|
|||
xce to continue with Prodos 8
|
||||
rts
|
||||
savestate .EQ *-ofsC
|
||||
dc h'00' state of the state register
|
||||
.DA #00' state of the state register
|
||||
dc c'JIMJAYKERRY'
|
||||
dc h'26' ampersand (Orca assembler doesn't like)
|
||||
dc c'MIKE'
|
||||
dc h'0000000000000000' pad 0's until length
|
||||
dc h'0000000000000000' of driver = 125 bytes.
|
||||
dc h'000000000000'
|
||||
.DA #0000000000000000' pad 0's until length
|
||||
.DA #0000000000000000' of driver = 125 bytes.
|
||||
.DA #000000000000'
|
||||
cclk_end .EQ * end of obj cclock_0.
|
||||
dc h'000000' pad to page boundary
|
||||
LONGI OFF
|
||||
*--------------------------------------
|
||||
MAN
|
||||
LOAD USR/SRC/PRODOS/PRODOS.S.CCLK
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
LOAD USR/SRC/PRODOS.203/PRODOS.S.CCLK
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
||||
|
|
|
@ -270,28 +270,28 @@ clrphase .EQ *-ofsD
|
|||
* other tables since no valid nibles are in these ranges.
|
||||
|
||||
dnibl .EQ *-ofsD aligned to page boundary minus $96
|
||||
dc h'0004FFFF080CFF10'
|
||||
dc h'1418'
|
||||
.DA #0004FFFF080CFF10'
|
||||
.DA #1418'
|
||||
twobit3 .EQ *-ofsD used in fast prenib as lookup for
|
||||
dc h'008040C0FFFF' 2-bit quantities.
|
||||
dc h'1C20FFFFFF24282C'
|
||||
dc h'3034FFFF383C4044'
|
||||
dc h'484CFF5054585C60'
|
||||
dc h'6468'
|
||||
.DA #1C20FFFFFF24282C'
|
||||
.DA #3034FFFF383C4044'
|
||||
.DA #484CFF5054585C60'
|
||||
.DA #6468'
|
||||
twobit2 .EQ *-ofsD used in fast prenib.
|
||||
dc h'00201030'
|
||||
endmrks .EQ *-ofsD table using 'unused' nibbles:
|
||||
dc h'DEAAEBFF' ($C4,$C5,$C6,$C7)
|
||||
dc h'FFFFFF6CFF70'
|
||||
dc h'7478FFFFFF7CFFFF'
|
||||
dc h'8084FF888C909498'
|
||||
dc h'9CA0'
|
||||
.DA #FFFFFF6CFF70'
|
||||
.DA #7478FFFFFF7CFFFF'
|
||||
.DA #8084FF888C909498'
|
||||
.DA #9CA0'
|
||||
twobit1 .EQ *-ofsD used in fast prenib.
|
||||
dc h'0008040CFFA4'
|
||||
dc h'A8ACFFB0B4B8BCC0'
|
||||
dc h'C4C8FFFFCCD0D4D8'
|
||||
dc h'DCE0FFE4E8ECF0F4'
|
||||
dc h'F8FC'
|
||||
.DA #A8ACFFB0B4B8BCC0'
|
||||
.DA #C4C8FFFFCCD0D4D8'
|
||||
.DA #DCE0FFE4E8ECF0F4'
|
||||
.DA #F8FC'
|
||||
|
||||
* 6-bit to 2-bit conversion tables:
|
||||
*
|
||||
|
@ -315,46 +315,46 @@ dnibl4 .EQ *-ofsD
|
|||
* or with no adjacent ones (except B7) are excluded.
|
||||
|
||||
nibl .EQ *-ofsD
|
||||
dc h'960200'
|
||||
dc h'00970100009A0300'
|
||||
dc h'009B0002009D0202'
|
||||
dc h'009E0102009F0302'
|
||||
dc h'00A6000100A70201'
|
||||
dc h'00AB010100AC0301'
|
||||
dc h'00AD000300AE0203'
|
||||
dc h'00AF010300B20303'
|
||||
dc h'00B3000002B40200'
|
||||
dc h'02B5010002B60300'
|
||||
dc h'02B7000202B90202'
|
||||
dc h'02BA010202BB0302'
|
||||
dc h'02BC000102BD0201'
|
||||
dc h'02BE010102BF0301'
|
||||
dc h'02CB000302CD0203'
|
||||
dc h'02CE010302CF0303'
|
||||
dc h'02D3000001D60200'
|
||||
dc h'01D7010001D90300'
|
||||
dc h'01DA000201DB0202'
|
||||
dc h'01DC010201DD0302'
|
||||
dc h'01DE000101DF0201'
|
||||
dc h'01E5010101E60301'
|
||||
dc h'01E7000301E90203'
|
||||
dc h'01EA010301EB0303'
|
||||
dc h'01EC000003ED0200'
|
||||
dc h'03EE010003EF0300'
|
||||
dc h'03F2000203F30202'
|
||||
dc h'03F4010203F50302'
|
||||
dc h'03F6000103F70201'
|
||||
dc h'03F9010103FA0301'
|
||||
dc h'03FB000303FC0203'
|
||||
dc h'03FD010303FE0303'
|
||||
dc h'03FF'
|
||||
.DA #960200'
|
||||
.DA #00970100009A0300'
|
||||
.DA #009B0002009D0202'
|
||||
.DA #009E0102009F0302'
|
||||
.DA #00A6000100A70201'
|
||||
.DA #00AB010100AC0301'
|
||||
.DA #00AD000300AE0203'
|
||||
.DA #00AF010300B20303'
|
||||
.DA #00B3000002B40200'
|
||||
.DA #02B5010002B60300'
|
||||
.DA #02B7000202B90202'
|
||||
.DA #02BA010202BB0302'
|
||||
.DA #02BC000102BD0201'
|
||||
.DA #02BE010102BF0301'
|
||||
.DA #02CB000302CD0203'
|
||||
.DA #02CE010302CF0303'
|
||||
.DA #02D3000001D60200'
|
||||
.DA #01D7010001D90300'
|
||||
.DA #01DA000201DB0202'
|
||||
.DA #01DC010201DD0302'
|
||||
.DA #01DE000101DF0201'
|
||||
.DA #01E5010101E60301'
|
||||
.DA #01E7000301E90203'
|
||||
.DA #01EA010301EB0303'
|
||||
.DA #01EC000003ED0200'
|
||||
.DA #03EE010003EF0300'
|
||||
.DA #03F2000203F30202'
|
||||
.DA #03F4010203F50302'
|
||||
.DA #03F6000103F70201'
|
||||
.DA #03F9010103FA0301'
|
||||
.DA #03FB000303FC0203'
|
||||
.DA #03FD010303FE0303'
|
||||
.DA #03FF'
|
||||
|
||||
* nibl buffer 'nbuf2' must be on a page boundary !!!
|
||||
|
||||
nbuf2 .EQ *-ofsD nibl buffer for read/write of low
|
||||
ds 86 2-bits of each byte.
|
||||
ibtrk .EQ *-ofsD
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
ibsect .EQ *-ofsD
|
||||
dc h'00'
|
||||
ibstat .EQ *-ofsD
|
||||
|
@ -364,7 +364,7 @@ iobpdn .EQ *-ofsD
|
|||
curtrk .EQ *-ofsD
|
||||
dc h'00'
|
||||
dc h'00000000000000' for slots 1 thru 7
|
||||
dc h'00000000000000' drives 1 & 2
|
||||
.DA #00000000000000' drives 1 & 2
|
||||
retrycnt .EQ *-ofsD
|
||||
dc h'00'
|
||||
seekcnt .EQ *-ofsD
|
||||
|
@ -376,7 +376,7 @@ last .EQ *-ofsD 'odd bit' nibls.
|
|||
csum .EQ *-ofsD used for address header cksum
|
||||
dc h'00'
|
||||
csstv .EQ *-ofsD
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
sect .EQ *-ofsD
|
||||
dc h'00'
|
||||
track .EQ *-ofsD
|
||||
|
@ -394,10 +394,10 @@ trkn .EQ *-ofsD
|
|||
|
||||
ontable .EQ *-ofsD
|
||||
dc h'013028'
|
||||
dc h'24201E1D1C1C'
|
||||
.DA #24201E1D1C1C'
|
||||
offtable .EQ *-ofsD
|
||||
dc h'702C'
|
||||
dc h'26221F1E1D1C1C'
|
||||
.DA #26221F1E1D1C1C'
|
||||
|
||||
* mswait subroutine
|
||||
*
|
||||
|
@ -941,20 +941,20 @@ L59E6 sec error.
|
|||
L59E8 clc
|
||||
rts end of obj xrw_0
|
||||
|
||||
dc h'0000' pad bytes to $D6EC (pathbuf-$14)
|
||||
.DA #0000' pad bytes to $D6EC (pathbuf-$14)
|
||||
|
||||
* variables used by mli for smartport interface
|
||||
|
||||
spstatlist .EQ *-ofsD ref pathbuf-$14
|
||||
dc h'00000000' smartport status list buffer
|
||||
spunit .EQ *-ofsD ref pathbuf-$10
|
||||
dc h'0000000000000000' smartport unit numbers
|
||||
dc h'0000000000000000'
|
||||
.DA #0000000000000000' smartport unit numbers
|
||||
.DA #0000000000000000'
|
||||
|
||||
* pathname buffer starts at this page boundary (pathbuf = $D700)
|
||||
*--------------------------------------
|
||||
MAN
|
||||
LOAD USR/SRC/PRODOS/PRODOS.S.DISKII
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
LOAD USR/SRC/PRODOS.203/PRODOS.S.DISKII
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
||||
|
|
|
@ -10,13 +10,13 @@ jspare .EQ *-ofsG
|
|||
jmp jspare will be changed to point to dispatcher.
|
||||
clockv .EQ *-ofsG P8 clock vector
|
||||
rts changed to jmp ($4C) if clock present.
|
||||
dc i2'tclk_in' clock routine entry address.
|
||||
.DA tclk_in' clock routine entry address.
|
||||
p8errv .EQ *-ofsG error reporting hook.
|
||||
jmp syserr1
|
||||
sysdeath .EQ *-ofsG
|
||||
jmp sysdeath1 system failure hook.
|
||||
p8error .EQ *-ofsG P8 error code
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
drivertbl1 .EQ *-ofsG device driver table 1
|
||||
dc i2'nodevice' slot 0 reserved
|
||||
dc i2'nodevice' s1, d1
|
||||
|
@ -36,13 +36,13 @@ drivertbl2 .EQ *-ofsG device driver table 2
|
|||
dc i2'nodevice' s6, d2
|
||||
dc i2'nodevice' s7, d2
|
||||
devnum .EQ *-ofsG most recent accessed device
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
numdevs .EQ *-ofsG count (-1) active devices
|
||||
dc h'FF'
|
||||
devlist .EQ *-ofsG active device list
|
||||
dc h'00000000000000' up to 14 units may be active
|
||||
dc h'00000000000000'
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
msb off
|
||||
dc c'(C)APPLE '
|
||||
mlient1 .EQ *-ofsG
|
||||
|
@ -53,7 +53,7 @@ aftirq .EQ *-ofsG irq returns here.
|
|||
sta ramin read/write RAM bank 1
|
||||
jmp fix45 restore $45 after interrupt in LC
|
||||
oldacc .EQ *-ofsG
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
afbank .EQ *-ofsG
|
||||
dc h'00'
|
||||
|
||||
|
@ -63,7 +63,7 @@ afbank .EQ *-ofsG
|
|||
memmap .EQ *-ofsG P8 memory bitmap
|
||||
dc h'C000000000000000'
|
||||
dc h'0000000000000000'
|
||||
dc h'0000000000000001'
|
||||
.DA #0000000000000001'
|
||||
|
||||
* table of buffer addresses for currently open files.
|
||||
* these can only be changed thru the mli call setbuf.
|
||||
|
@ -73,7 +73,7 @@ buftbl .EQ *-ofsG
|
|||
dc h'0000' file #2
|
||||
dc h'0000' file #3
|
||||
dc h'0000' file #4
|
||||
dc h'0000' file #5
|
||||
.DA #0000' file #5
|
||||
dc h'0000' file #6
|
||||
dc h'0000' file #7
|
||||
dc h'0000' file #8
|
||||
|
@ -84,12 +84,12 @@ buftbl .EQ *-ofsG
|
|||
* with the address interrupted.
|
||||
|
||||
inttbl .EQ *-ofsG interrupt table
|
||||
dc h'0000' int #1
|
||||
.DA #0000' int #1
|
||||
dc h'0000' int #2
|
||||
dc h'0000' int #3
|
||||
dc h'0000' int #4
|
||||
p8areg .EQ *-ofsG A register savearea
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
p8xreg .EQ *-ofsG X register savearea
|
||||
dc h'00'
|
||||
p8yreg .EQ *-ofsG Y register savearea
|
||||
|
@ -177,7 +177,7 @@ bnkbyt2 .EQ *-ofsG
|
|||
dc h'00'
|
||||
dc h'00000000' pad to before $BFFA
|
||||
dc h'04' gsos compatibility byte ($BFFA)
|
||||
dc h'00' pad
|
||||
.DA #00' pad
|
||||
dc h'00' reserved
|
||||
dc h'00' version # of running interpreter
|
||||
dc h'00' preserved for System Utilities
|
||||
|
@ -187,6 +187,6 @@ kversion .EQ *-ofsG kernal version
|
|||
* end of obj mli_1
|
||||
*--------------------------------------
|
||||
MAN
|
||||
LOAD USR/SRC/PRODOS/PRODOS.S.GP
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
LOAD USR/SRC/PRODOS.203/PRODOS.S.GP
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
|
|
@ -64,14 +64,14 @@ stapfx .EQ *-ofsR2
|
|||
|
||||
* these 3 vectors hard-coded into processor
|
||||
|
||||
dc i2'nmivect' nmi handler
|
||||
dc i2'lreset' reset handler
|
||||
.DA nmivect' nmi handler
|
||||
.DA lreset' reset handler
|
||||
irqv .EQ *-ofsR2
|
||||
dc i2'lanirq' irq handler
|
||||
|
||||
* end of obj mli_3
|
||||
*--------------------------------------
|
||||
MAN
|
||||
LOAD USR/SRC/PRODOS/PRODOS.S.IRQ
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
LOAD USR/SRC/PRODOS.203/PRODOS.S.IRQ
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
|
|
@ -368,94 +368,94 @@ LDR.MLIREADBLOCK.P
|
|||
.DA 0 2 byte data buffer
|
||||
.DA 0 2 byte block number
|
||||
|
||||
cortland dc i1'$00' cortland loader flag (1 = Cortland)
|
||||
newquitflag dc i1'$00' 1 = old quit code
|
||||
cortland .BS 1 cortland loader flag (1 = Cortland)
|
||||
newquitflag .BS 1 1 = old quit code
|
||||
|
||||
H232B dc i1'$01' move interpreter loader code
|
||||
dc i2'lodintrp' destination address
|
||||
dc i2'H257B-licode' length to move
|
||||
dc i2'licode' source address
|
||||
dc i1'$01' move $3F0 vectors
|
||||
dc i2'p3vect' destination
|
||||
dc i2'$0010' 16 bytes to move
|
||||
dc i2'H257B' source
|
||||
dc i1'$01'
|
||||
dc i2'lookptr'
|
||||
dc i2'$0002'
|
||||
dc i2'ZP.DstPtr'
|
||||
dc i1'$01' move 128k test to zero page
|
||||
dc i2'tst128' destination
|
||||
dc i2'H2622-H25DC' length
|
||||
dc i2'H25DC' source
|
||||
dc h'FF' done
|
||||
H232B .DA #1 move interpreter loader code
|
||||
.DA lodintrp destination address
|
||||
.DA H257B-licode' length to move
|
||||
.DA licode' source address
|
||||
.DA #$01' move $3F0 vectors
|
||||
.DA p3vect' destination
|
||||
.DA $0010' 16 bytes to move
|
||||
.DA H257B' source
|
||||
.DA #$01'
|
||||
.DA lookptr'
|
||||
.DA $0002'
|
||||
.DA ZP.DstPtr'
|
||||
.DA #$01' move 128k test to zero page
|
||||
.DA tst128' destination
|
||||
.DA H2622-H25DC' length
|
||||
.DA H25DC' source
|
||||
.DA #FF' done
|
||||
|
||||
dsp64 dc i1'$01' move p8 dispatcher code
|
||||
dc i2'displc2' destination
|
||||
dc i2'birdbye-disp1obj' length (must be <= 3 pages)
|
||||
dc i2'disp1obj' source
|
||||
dc h'FF' done
|
||||
dsp64 .DA #$01' move p8 dispatcher code
|
||||
.DA displc2' destination
|
||||
.DA birdbye-disp1obj' length (must be <= 3 pages)
|
||||
.DA disp1obj' source
|
||||
.DA #FF' done
|
||||
|
||||
newquitbl dc i1'$01' move Bird's Bye code
|
||||
dc i2'displc2' dest
|
||||
dc i2'GQdisp-birdbye' length (must be <= 3 pages)
|
||||
dc i2'birdbye' source
|
||||
dc h'FF' done
|
||||
.DA displc2' dest
|
||||
.DA GQdisp-birdbye' length (must be <= 3 pages)
|
||||
.DA birdbye' source
|
||||
.DA #FF' done
|
||||
|
||||
altdsptbl dc i1'$01' move GQuit launcher
|
||||
dc i2'displc2' destination
|
||||
dc i2'$0300' length (must be <= 3 pages)
|
||||
dc i2'GQdisp' source
|
||||
dc i1'$01' move a copy of GQuit launcher
|
||||
dc i2'dispadr' to dispadr for gsos
|
||||
dc i2'$0300' length (must be <= 3 pages)
|
||||
dc i2'GQdisp' source
|
||||
dc h'FF' done
|
||||
altdsptbl .DA #$01' move GQuit launcher
|
||||
.DA displc2 destination
|
||||
.DA $0300' length (must be <= 3 pages)
|
||||
.DA GQdisp' source
|
||||
.DA #$01' move a copy of GQuit launcher
|
||||
.DA dispadr' to dispadr for gsos
|
||||
.DA $0300' length (must be <= 3 pages)
|
||||
.DA GQdisp' source
|
||||
.DA #FF' done
|
||||
|
||||
* tables for moving 64k version of mli for execution
|
||||
|
||||
H2367 dc i1'$01' relocation table. 1=move src to ZP.DstPtr
|
||||
dc i2'lanirq' destination
|
||||
dc i2'H2E00-H2D9B' length to move
|
||||
dc i2'H2D9B' source
|
||||
dc i1'$01'
|
||||
dc i2'MLI' globals
|
||||
dc i2'$0100' in one page
|
||||
dc i2'H2E00'
|
||||
dc h'00' 0=clear buffers $D700-$DDFF
|
||||
dc i2'pathbuf'
|
||||
dc i2'xdosorg-pathbuf'
|
||||
dc i1'$01'
|
||||
dc i2'xdosorg'
|
||||
dc i2'ramsrc-xdosobj' length of mli
|
||||
dc i2'xdosobj'
|
||||
dc i1'$01'
|
||||
dc i2'rwts'
|
||||
dc i2'disp1obj-blockio' length of disk ii driver
|
||||
dc i2'blockio'
|
||||
dc h'FF' done
|
||||
H2367 .DA #$01' relocation table. 1=move src to ZP.DstPtr
|
||||
.DA lanirq' destination
|
||||
.DA H2E00-H2D9B' length to move
|
||||
.DA H2D9B' source
|
||||
.DA #$01'
|
||||
.DA MLI' globals
|
||||
.DA $0100' in one page
|
||||
.DA H2E00'
|
||||
.DA #00' 0=clear buffers $D700-$DDFF
|
||||
.DA pathbuf
|
||||
.DA xdosorg-pathbuf'
|
||||
.DA #$01'
|
||||
.DA xdosorg'
|
||||
.DA ramsrc-xdosobj' length of mli
|
||||
.DA xdosobj'
|
||||
.DA #$01'
|
||||
.DA rwts'
|
||||
.DA disp1obj-blockio' length of disk ii driver
|
||||
.DA blockio'
|
||||
.DA #FF' done
|
||||
|
||||
* move thunderclock
|
||||
|
||||
rlclk64 dc i1'$01' relocation table. 1=move src to ZP.DstPtr
|
||||
dc i2'tclk_in' destination
|
||||
dc i2'tclk_end-tclock_0' length of thunderclock driver
|
||||
dc i2'tclock_0' source
|
||||
dc i1'$04' 4=relocate and move program
|
||||
dc i2'tclk_in'
|
||||
dc i2'H2F69-tclock_0'
|
||||
dc i2'tclk_in'
|
||||
dc h'00'
|
||||
rlclk64 .DA #$01' relocation table. 1=move src to ZP.DstPtr
|
||||
.DA tclk_in' destination
|
||||
.DA tclk_end-tclock_0' length of thunderclock driver
|
||||
.DA tclock_0' source
|
||||
.DA #$04' 4=relocate and move program
|
||||
.DA tclk_in'
|
||||
.DA H2F69-tclock_0'
|
||||
.DA tclk_in'
|
||||
.DA #00'
|
||||
dc h'C1C1'
|
||||
clock64 dc i1'$00'
|
||||
dc h'FF' done
|
||||
clock64 .DA #$00'
|
||||
.DA #FF' done
|
||||
|
||||
* move cortland clock
|
||||
|
||||
cortclock dc i1'$01' relocation table. 1=move src to ZP.DstPtr
|
||||
dc i2'tclk_in' destination
|
||||
dc i2'cclk_end-cclock_0' length of cortland clock driver
|
||||
dc i2'cclock_0' source
|
||||
dc h'FF' done
|
||||
.DA tclk_in' destination
|
||||
.DA cclk_end-cclock_0' length of cortland clock driver
|
||||
.DA cclock_0' source
|
||||
.DA #FF' done
|
||||
|
||||
* load and run appletalk configuration file (atinit) if present
|
||||
* or continue loading and running .system file
|
||||
|
@ -466,7 +466,7 @@ ofsL .EQ licode-lodintrp offset from loader org
|
|||
|
||||
licode jsr MLI check for file 'atinit'
|
||||
.DA #MLIGETFILEINFO
|
||||
dc i2'gfi_list'
|
||||
.DA #gfi_list'
|
||||
bcc gfi_ok branch if 'atinit' file found
|
||||
cmp #$46 file not found?
|
||||
beq H23DF if so, continue loading interpreter
|
||||
|
@ -475,19 +475,19 @@ gfi_ok lda gfi_type
|
|||
cmp #$E2 is 'atinit' correct file type?
|
||||
bne H23E2 error - wrong file type
|
||||
jsr MLI open 'atinit' file
|
||||
dc i1'$C8'
|
||||
dc i2'atopen' parms
|
||||
.DA #$C8'
|
||||
.DA atopen' parms
|
||||
bne H23E2 error
|
||||
lda #$9F max size = 39.75k ($2000-$BF00)
|
||||
sta rdlen+1
|
||||
stz rdlen
|
||||
jsr MLI read 'atinit' file to 'sysentry'
|
||||
dc i1'$CA'
|
||||
dc i2'rdparm'
|
||||
.DA #$CA'
|
||||
.DA rdparm'
|
||||
bne H23E2 error - too big
|
||||
jsr MLI close 'atinit' file
|
||||
dc i1'$CC'
|
||||
dc i2'clparm'
|
||||
.DA #$CC'
|
||||
.DA clparm'
|
||||
bne H23E2 error
|
||||
lda romin enable ROM
|
||||
jsr sysentry execute ATinit
|
||||
|
@ -506,20 +506,20 @@ H23F0 .DA #$1A length of message
|
|||
.AS "Unable to load ATInit file"
|
||||
|
||||
gfi_list .EQ *-ofsL
|
||||
dc h'0A'
|
||||
.DA #0A'
|
||||
dc i2'atinitname'
|
||||
dc h'00'
|
||||
gfi_type .EQ *-ofsL
|
||||
dc h'00000000'
|
||||
dc h'0000000000000000'
|
||||
dc h'0000'
|
||||
.DA #0000000000000000'
|
||||
.DA #0000'
|
||||
atopen .EQ *-ofsL parms to open 'atinit'
|
||||
dc h'03'
|
||||
dc i2'atinitname'
|
||||
dc i2'iobuf' i/o buffer
|
||||
dc h'01' ref# hard coded since no other files
|
||||
atinitname .EQ *-ofsL
|
||||
dc h'06' length of name
|
||||
.DA #06' length of name
|
||||
dc c'atinit' name of appletalk config file
|
||||
goloadint .EQ *-ofsL
|
||||
lda #>dbuf search directory buffer
|
||||
|
@ -576,12 +576,12 @@ H247A iny
|
|||
adc #$13 (carry set)
|
||||
sta ierlen
|
||||
jsr MLI open interpreter file
|
||||
dc i1'$C8'
|
||||
dc i2'opparm'
|
||||
.DA #$C8'
|
||||
.DA opparm'
|
||||
bne badlod
|
||||
jsr MLI get eof (length of file)
|
||||
dc i1'$D1'
|
||||
dc i2'efparm'
|
||||
.DA #$D1'
|
||||
.DA efparm'
|
||||
bne badlod
|
||||
lda eof+2
|
||||
bne toolong
|
||||
|
@ -592,15 +592,15 @@ H247A iny
|
|||
lda eof
|
||||
sta rdlen (read entire file)
|
||||
jsr MLI read interpreter file
|
||||
dc i1'$CA'
|
||||
dc i2'rdparm'
|
||||
.DA #$CA'
|
||||
.DA rdparm'
|
||||
beq H24C8 go close if successfully read.
|
||||
cmp #$56 memory conflict?
|
||||
beq toolong then too large
|
||||
bne badlod else, unable to load.
|
||||
H24C8 jsr MLI close interpreter file
|
||||
dc i1'$CC'
|
||||
dc i2'clparm'
|
||||
.DA #$CC'
|
||||
.DA clparm'
|
||||
bne badlod hopefully never taken
|
||||
|
||||
* if booting on a //c then see if esc is in keyboard buffer
|
||||
|
@ -616,11 +616,11 @@ H24C8 jsr MLI close interpreter file
|
|||
H24DF lda romin enable ROM
|
||||
jmp sysentry go run interpreter
|
||||
cflag .EQ *-ofsL
|
||||
dc h'00' set if a //c.
|
||||
.DA #00' set if a //c.
|
||||
nointrp .EQ *-ofsL no interpreter found,
|
||||
jsr MLI so quit.
|
||||
dc i1'$65'
|
||||
dc i2'quitparm'
|
||||
.DA #$65'
|
||||
.DA quitparm'
|
||||
badlod ldy ierlen center the error message
|
||||
lda #$27
|
||||
sec
|
||||
|
@ -646,7 +646,7 @@ iomess .EQ *-ofsL
|
|||
dc c'** Unable to load'
|
||||
dc c' X.System *********'
|
||||
ierlen .EQ *-ofsL
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
opparm .EQ *-ofsL parms for open call
|
||||
dc h'03'
|
||||
dc i2'PrefixBuf'
|
||||
|
@ -654,7 +654,7 @@ opparm .EQ *-ofsL parms for open call
|
|||
dc h'01'
|
||||
efparm .EQ *-ofsL parms for get eof call
|
||||
dc h'02'
|
||||
dc h'01'
|
||||
.DA #01'
|
||||
eof .EQ *-ofsL
|
||||
dc h'000000' length of file.
|
||||
rdparm .EQ *-ofsL parms for read call
|
||||
|
@ -662,7 +662,7 @@ rdparm .EQ *-ofsL parms for read call
|
|||
dc h'01'
|
||||
dc i2'sysentry'
|
||||
rdlen .EQ *-ofsL
|
||||
dc h'0000'
|
||||
.DA #0000'
|
||||
dc h'0000'
|
||||
clparm .EQ *-ofsL parms for close call
|
||||
dc h'01'
|
||||
|
@ -670,7 +670,7 @@ clparm .EQ *-ofsL parms for close call
|
|||
quitparm .EQ *-ofsL parms for quit call
|
||||
dc h'04'
|
||||
dc h'00'
|
||||
dc h'0000'
|
||||
.DA #0000'
|
||||
dc h'00'
|
||||
dc h'0000'
|
||||
iterp .EQ *-ofsL interpreter suffix that is required
|
||||
|
@ -679,12 +679,12 @@ iterp .EQ *-ofsL interpreter suffix that is required
|
|||
* 16 bytes moved to $03F0 vectors
|
||||
|
||||
H257B dc i2'breakv'
|
||||
dc i2'oldrst'
|
||||
dc h'5A' powerup byte
|
||||
.DA oldrst'
|
||||
.DA #5A' powerup byte
|
||||
jmp oldrst '&' vector
|
||||
jmp oldrst ctrl-y vector
|
||||
dc h'004000'
|
||||
dc i2'irqent' global page interrupt vector
|
||||
.DA #004000'
|
||||
.DA irqent' global page interrupt vector
|
||||
lc1in lda ramin read/write language card RAM bank 1
|
||||
lda ramin
|
||||
rts
|
||||
|
@ -1036,15 +1036,15 @@ H27F3 lda idxl+1 mark a bit in slot byte
|
|||
sta rommap slot ROM bit map
|
||||
H2801 rts
|
||||
|
||||
H2802 dc i2'rwts' disk ii driver
|
||||
H2802 .DA rwts disk ii driver
|
||||
|
||||
* id bytes: evens for clock, odds for disk
|
||||
|
||||
dskid dc h'082028005803703C'
|
||||
dskid .HS 082028005803703C
|
||||
|
||||
* slot bits
|
||||
|
||||
sltbit dc h'0002040810204080'
|
||||
sltbit .HS 0002040810204080
|
||||
|
||||
fndtrd clc
|
||||
ldy sltbit
|
||||
|
@ -1067,8 +1067,10 @@ H2818 lda (lookptr),y
|
|||
bne H283B
|
||||
lda idapple
|
||||
rts
|
||||
|
||||
H283B lda #$00
|
||||
rts
|
||||
|
||||
installdev php how many drives (carry).
|
||||
lda idxl+1 get index to global device table
|
||||
and #$07 for this slot...
|
||||
|
@ -1083,16 +1085,19 @@ installdev php how many drives (carry).
|
|||
bpl H2853 branch if a 1 drive device (e.g. hard drive)
|
||||
inx else presume that 2nd drive is present.
|
||||
sta devlist,x active device list.
|
||||
|
||||
H2853 stx numdevs save updated device count.
|
||||
asl a shift # of drives back into carry.
|
||||
lda driveradr get high address of device driver.
|
||||
sta drivertbl1,y device driver table 1.
|
||||
bcc H2862 branch if single drive.
|
||||
sta drivertbl2,y device driver table 2.
|
||||
|
||||
H2862 lda driveradr+1
|
||||
sta drivertbl1+1,y
|
||||
bcc H286D
|
||||
sta drivertbl2+1,y
|
||||
|
||||
H286D rts
|
||||
|
||||
* query smartport status to determine # of devices
|
||||
|
@ -1135,12 +1140,12 @@ pscall jsr $0000 self modifying code
|
|||
* and report true # of devices attached
|
||||
|
||||
jsr spvect status of Cocoon
|
||||
dc h'00'
|
||||
dc i2'spcparms' ignore any errors.
|
||||
.DA #00'
|
||||
.DA spcparms' ignore any errors.
|
||||
H28B1 stz statunit set unit# = 0
|
||||
jsr spvect call to get the device count.
|
||||
dc h'00' this is a status call
|
||||
dc i2'spcparms'
|
||||
.DA #00' this is a status call
|
||||
.DA spcparms'
|
||||
lda numdev2
|
||||
beq donesp no devices, so done.
|
||||
cmp #$02 carry set if 2,3,4
|
||||
|
@ -1190,26 +1195,26 @@ H2903 rts
|
|||
|
||||
* smartport call parameters
|
||||
|
||||
spcparms dc i1'$03' # of parms
|
||||
statunit dc i1'$00' unit number (code for smartport stat)
|
||||
dc i2'numdev2'
|
||||
dc h'00' status code (0 = general status)
|
||||
spcparms .DA #$03 # of parms
|
||||
statunit .DA #$00 unit number (code for smartport stat)
|
||||
.DA numdev2
|
||||
.DA #00 status code (0 = general status)
|
||||
|
||||
* indexes into driver table
|
||||
|
||||
driveridx dc h'06' s3, d1
|
||||
dc h'1E' s7, d2
|
||||
dc h'0E' s7, d1
|
||||
dc h'1C' s6, d2
|
||||
dc h'0C' s6, d1
|
||||
dc h'1A' s5, d2
|
||||
dc h'0A' s5, d1
|
||||
dc h'14' s2, d2
|
||||
dc h'04' s2, d1
|
||||
dc h'12' s1, d2
|
||||
dc h'02' s1, d1
|
||||
dc h'18' s4, d2
|
||||
dc h'08' s4, d1
|
||||
driveridx .DA #$06 s3, d1
|
||||
.DA #$1E s7, d2
|
||||
.DA #$0E' s7, d1
|
||||
.DA #$1C' s6, d2
|
||||
.DA #$0C' s6, d1
|
||||
.DA #$1A' s5, d2
|
||||
.DA #$0A' s5, d1
|
||||
.DA #$14' s2, d2
|
||||
.DA #$04' s2, d1
|
||||
.DA #$12' s1, d2
|
||||
.DA #$02' s1, d1
|
||||
.DA #$18' s4, d2
|
||||
.DA #$08' s4, d1
|
||||
|
||||
* self modifying jmp = smartport entry address
|
||||
|
||||
|
@ -1230,8 +1235,8 @@ H291F jsr H29EB is there a smartport device here?
|
|||
jsr H28E8 set up device attributes
|
||||
stz statunit
|
||||
jsr spvect do a status call on smartport itself
|
||||
dc h'00'
|
||||
dc i2'spcparms'
|
||||
.DA #00'
|
||||
.DA spcparms'
|
||||
lda numdev2 # of devices on smartport
|
||||
cmp #$03
|
||||
bcc H2974 only 2 devices,skip to next one.
|
||||
|
@ -1251,8 +1256,8 @@ H295B cmp driveradr have we done all units in this slot?
|
|||
bcs H2974 yes, skip to next slot.
|
||||
sta statunit store the unit#.
|
||||
jsr spvect do status call
|
||||
dc h'00'
|
||||
dc i2'spcparms'
|
||||
.DA #00'
|
||||
.DA spcparms'
|
||||
lda numdev2 is this a block device?
|
||||
bmi mount yes, so mount it.
|
||||
H296E lda statunit go check the next unit#
|
||||
|
@ -1580,20 +1585,20 @@ H2B89 and #$03
|
|||
|
||||
* relocation table contains length of each opcode in 2-bit groups
|
||||
|
||||
opcodln dc h'0928193C0A280D3C'
|
||||
dc h'0B2A193F0A280D3C'
|
||||
dc h'0928193F0A280D3C'
|
||||
dc h'0928193F0A280D3C'
|
||||
dc h'082A113F0A2A1D0C'
|
||||
dc h'2A2A193F0A2A1D3F'
|
||||
dc h'0A2A193F0A280D3C'
|
||||
dc h'0A2A193F0A280D3C'
|
||||
opcodln .DA #0928193C0A280D3C'
|
||||
.DA #0B2A193F0A280D3C'
|
||||
.DA #0928193F0A280D3C'
|
||||
.DA #0928193F0A280D3C'
|
||||
.DA #082A113F0A2A1D0C'
|
||||
.DA #2A2A193F0A2A1D3F'
|
||||
.DA #0A2A193F0A280D3C'
|
||||
.DA #0A2A193F0A280D3C'
|
||||
|
||||
wsize dc i1'$00'
|
||||
sgcnt dc i1'$00'
|
||||
limlo dc h'0000000000000000'
|
||||
limhi dc h'0000000000000000'
|
||||
ofset dc h'0000000000000000'
|
||||
wsize .DA #$00'
|
||||
sgcnt .DA #$00'
|
||||
limlo .DA #0000000000000000'
|
||||
limhi .DA #0000000000000000'
|
||||
ofset .DA #0000000000000000'
|
||||
|
||||
* patch to gsos vectors so error is returned for os calls - rev note #101
|
||||
|
||||
|
@ -1663,7 +1668,7 @@ L2C4D lda $01,s
|
|||
.BS $2C80-*
|
||||
*--------------------------------------
|
||||
MAN
|
||||
LOAD USR/SRC/PRODOS/PRODOS.S.LDR
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
LOAD USR/SRC/PRODOS.203/PRODOS.S.LDR
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@ H2D6A lda (A1L),y pointers set in card by 'setptr'
|
|||
lda #>donewrt
|
||||
jmp gocard
|
||||
sp1 .EQ *-ofsR2
|
||||
dc h'0000'
|
||||
.DA #0000'
|
||||
a1l1 .EQ *-ofsR2 13 bytes of storage
|
||||
|
||||
* end of obj ram_2
|
||||
|
@ -88,6 +88,6 @@ r2_end .EQ *
|
|||
ds $D9B-(r2_end-H2000) fill to lanirq ($FF9B see note below)
|
||||
*--------------------------------------
|
||||
MAN
|
||||
LOAD USR/SRC/PRODOS/PRODOS.S.RAM
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
LOAD USR/SRC/PRODOS.203/PRODOS.S.RAM
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
|
|
@ -39,7 +39,7 @@ r1_end .EQ * end of /RAM installer
|
|||
ds $D00-(r1_end-H2000) pad 0's to page boundary
|
||||
*--------------------------------------
|
||||
MAN
|
||||
LOAD USR/SRC/PRODOS/PRODOS.S.RAMI
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
LOAD USR/SRC/PRODOS.203/PRODOS.S.RAMI
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
||||
|
|
|
@ -227,7 +227,7 @@ L525E cmp #$11 if <=17 then done
|
|||
sbc #$11 else block=block-17.
|
||||
inx iteration count.
|
||||
bpl L525E should branch always
|
||||
dc h'00' otherwise crash !!!
|
||||
.DA #00' otherwise crash !!!
|
||||
L5268 tay remainder in y
|
||||
|
||||
* if remainder is 1 then it's an index block:
|
||||
|
@ -288,7 +288,7 @@ L52B1 lda (A4L),y (pointer set by setptr)
|
|||
jmp exitcard
|
||||
|
||||
formatflg .EQ *-ofsR0
|
||||
dc h'00' not formatted yet
|
||||
.DA #00' not formatted yet
|
||||
tcmd .EQ *-ofsR0
|
||||
dc h'00' command
|
||||
dc h'00' unit (not used)
|
||||
|
@ -300,15 +300,15 @@ R01 .EQ *-ofsR0
|
|||
dc h'00' page requested
|
||||
BITMAP .EQ *-ofsR0
|
||||
dc h'00FFFFFF' blocks 0-7 used
|
||||
.DA #FFFFFFFF'
|
||||
dc h'FFFFFFFF'
|
||||
dc h'FFFFFFFF'
|
||||
dc h'FFFFFFFE'
|
||||
.DA #FFFFFFFE'
|
||||
VDIR .EQ *-ofsR0 start of vdir.
|
||||
dc h'F3' storage type = F, name length = 3
|
||||
msb off
|
||||
dc c'RAM'
|
||||
access .EQ *-ofsR0
|
||||
dc h'C3' destroy, rename, read enabled
|
||||
.DA #C3' destroy, rename, read enabled
|
||||
dc h'27' entry length
|
||||
dc h'0D'
|
||||
dc h'0000'
|
||||
|
@ -323,7 +323,7 @@ exitcard .EQ *-ofsR0
|
|||
sta store80on enable 80store
|
||||
L52EA jmp bypass jump around passit
|
||||
passit .EQ *-ofsR0
|
||||
dc h'0000'
|
||||
.DA #0000'
|
||||
bypass .EQ *-ofsR0
|
||||
lda #<noerr set up return to noerr
|
||||
sta passit
|
||||
|
@ -338,11 +338,11 @@ ex1 .EQ *-ofsR0
|
|||
* since the interrupt vector must go there if aux interrupts
|
||||
* are to be used. no room for expansion here !!
|
||||
|
||||
dc h'0000' $3FE-$3FF
|
||||
.DA #0000' $3FE-$3FF
|
||||
|
||||
* end of obj ram_0
|
||||
*--------------------------------------
|
||||
MAN
|
||||
LOAD USR/SRC/PRODOS/PRODOS.S.RAMI
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
LOAD USR/SRC/PRODOS.203/PRODOS.S.RAMI
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
|
|
@ -37,8 +37,8 @@ L5A2D jsr home clear screen
|
|||
sta cv
|
||||
jsr crout
|
||||
jsr MLI get prefix
|
||||
dc i1'$C7'
|
||||
dc i2'dsp1pfx'
|
||||
.DA #$C7'
|
||||
.DA dsp1pfx'
|
||||
ldx PrefixBuf get prefix length
|
||||
lda #$00 put 0 at end of prefix
|
||||
sta PrefixBuf+1,x
|
||||
|
@ -99,8 +99,8 @@ L5ABD cpx #$00 prefix length = 0 ?
|
|||
beq L5AD3 if yes, don't set length.
|
||||
stx PrefixBuf set prefix length.
|
||||
jsr MLI call mli to set prefix.
|
||||
dc i1'$C6'
|
||||
dc i2'dsp1pfx'
|
||||
.DA #$C6'
|
||||
.DA dsp1pfx'
|
||||
bcc L5AD3 if ok, go get filename.
|
||||
jsr bell if not, ring bell
|
||||
lda #$00 and try again for prefix.
|
||||
|
@ -159,8 +159,8 @@ L5B3C lda #$A0
|
|||
jsr cout after cr, blank out the cursor.
|
||||
stx PrefixBuf put length in front of the name.
|
||||
jsr MLI get file info for pathname in PrefixBuf
|
||||
dc i1'$C4'
|
||||
dc i2'dsp1info'
|
||||
.DA #$C4'
|
||||
.DA dsp1info'
|
||||
bcc L5B4F if no errors.
|
||||
jmp dsp1error
|
||||
L5B4F lda dsp1type
|
||||
|
@ -171,8 +171,8 @@ L5B4F lda dsp1type
|
|||
L5B5B lda #$00 it's a system file
|
||||
sta dsp1cln
|
||||
jsr MLI close all open files
|
||||
dc i1'$CC'
|
||||
dc i2'dsp1cls'
|
||||
.DA #$CC'
|
||||
.DA dsp1cls'
|
||||
bcc L5B6B
|
||||
jmp dsp1error
|
||||
L5B6B lda dsp1acess check for proper access.
|
||||
|
@ -181,16 +181,16 @@ L5B6B lda dsp1acess check for proper access.
|
|||
lda #$27 i/o error
|
||||
jmp dsp1error
|
||||
L5B77 jsr MLI open the file
|
||||
dc i1'$C8'
|
||||
dc i2'dsp1open'
|
||||
.DA #$C8'
|
||||
.DA dsp1open'
|
||||
bcc L5B82
|
||||
jmp dsp1error
|
||||
L5B82 lda dsp1refn copy the reference number
|
||||
sta dsp1rdn
|
||||
sta dsp1eofn
|
||||
jsr MLI get eof
|
||||
dc i1'$D1'
|
||||
dc i2'dsp1eof'
|
||||
.DA #$D1'
|
||||
.DA dsp1eof'
|
||||
bcs L5BE2
|
||||
lda dsp1eofb+2 3rd of 3 bytes.
|
||||
beq L5B9C if 0 then ok
|
||||
|
@ -201,12 +201,12 @@ L5B9C lda dsp1eofb move eof to # of bytes to read.
|
|||
lda dsp1eofb+1
|
||||
sta dsp1cnt+1
|
||||
jsr MLI read the file
|
||||
dc i1'$CA'
|
||||
dc i2'dsp1read'
|
||||
.DA #$CA'
|
||||
.DA dsp1read'
|
||||
php save the status.
|
||||
jsr MLI close the file.
|
||||
dc i1'$CC'
|
||||
dc i2'dsp1cls'
|
||||
.DA #$CC'
|
||||
.DA dsp1cls'
|
||||
bcc L5BBB
|
||||
L5BB7 plp get status (it is irrelevant now)
|
||||
bne L5BE2 if close generated an error
|
||||
|
@ -261,24 +261,24 @@ L5C0B jsr prntmsg
|
|||
dsp1msgs .EQ *-ofsS
|
||||
dsp1msg0 .EQ *-ofsS
|
||||
dc c'ENTER PREFIX (PRESS "RETURN" TO ACCEPT)'
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
disp1msg .EQ *-ofsS
|
||||
dc c'ENTER PATHNAME OF NEXT APPLICATION'
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
dsp1err1 .EQ *-ofsS
|
||||
dc h'87'
|
||||
.DA #87'
|
||||
dc c'NOT A TYPE "SYS" FILE'
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
dsp1err2 .EQ *-ofsS
|
||||
dc h'87'
|
||||
.DA #87'
|
||||
dc c'I/O ERROR '
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
dsp1err3 .EQ *-ofsS
|
||||
dc h'87'
|
||||
.DA #87'
|
||||
dc c'FILE/PATH NOT FOUND '
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
dsp1info .EQ *-ofsS get file info parms
|
||||
dc h'0A' 10 parameters
|
||||
.DA #0A' 10 parameters
|
||||
dc i2'PrefixBuf' pathname buffer
|
||||
dsp1acess .EQ *-ofsS
|
||||
dc h'00' access
|
||||
|
@ -292,7 +292,7 @@ dsp1open .EQ *-ofsS open file parms
|
|||
dsp1refn .EQ *-ofsS
|
||||
dc h'00' reference #
|
||||
dsp1cls .EQ *-ofsS close file parms
|
||||
dc h'01' 1 parameter for close
|
||||
.DA #01' 1 parameter for close
|
||||
dsp1cln .EQ *-ofsS
|
||||
dc h'00' reference #
|
||||
dsp1read .EQ *-ofsS
|
||||
|
@ -302,7 +302,7 @@ dsp1rdn .EQ *-ofsS
|
|||
dc i2'sysentry' .SYS load address
|
||||
dsp1cnt .EQ *-ofsS
|
||||
dc h'0000' byte count
|
||||
dc h'0000'
|
||||
.DA #0000'
|
||||
dsp1eof .EQ *-ofsS get eof parms
|
||||
dc h'02' 2 parameters
|
||||
dsp1eofn .EQ *-ofsS
|
||||
|
@ -310,7 +310,7 @@ dsp1eofn .EQ *-ofsS
|
|||
dsp1eofb .EQ *-ofsS
|
||||
dc h'000000' 3 byte eof
|
||||
dsp1pfx .EQ *-ofsS get/set prefix parms
|
||||
dc h'01' 1 parameter
|
||||
.DA #01' 1 parameter
|
||||
dc i2'PrefixBuf' prefix buffer
|
||||
|
||||
disp1end .EQ *
|
||||
|
@ -319,6 +319,6 @@ disp1end .EQ *
|
|||
* end of obj sel_0
|
||||
*--------------------------------------
|
||||
MAN
|
||||
LOAD USR/SRC/PRODOS/PRODOS.S.SEL0
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
LOAD USR/SRC/PRODOS.203/PRODOS.S.SEL0
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
|
|
@ -46,8 +46,8 @@ L5D3F dex decrement list pointer and restore.
|
|||
|
||||
volname sta ol_unit store unit number for online.
|
||||
jsr MLI
|
||||
dc i1'$C5' online call
|
||||
dc i2'ol_parms'
|
||||
.DA #$C5' online call
|
||||
.DA ol_parms'
|
||||
bcs L5D32 error check.
|
||||
stz dlevel haven't read root directory yet.
|
||||
lda PrefixBuf+1 load description byte.
|
||||
|
@ -65,8 +65,8 @@ vnam1 .EQ *-ofsB
|
|||
* open and read directory
|
||||
|
||||
jsr MLI
|
||||
dc i1'$C8' open
|
||||
dc i2'op_parms'
|
||||
.DA #$C8' open
|
||||
.DA op_parms'
|
||||
bcc L5D7F good open.
|
||||
lda dlevel trying to open root directory ?
|
||||
beq L5D32 yes, just move to next volume.
|
||||
|
@ -124,8 +124,8 @@ L5DCE dey decrement file block counter
|
|||
L5DD8 adc #$04 add 4 and put in
|
||||
sta fpos_lo low byte of setmark.
|
||||
jsr MLI call mli
|
||||
dc i1'$CE' set mark
|
||||
dc i1'smparms' parameters address = $0060
|
||||
.DA #$CE' set mark
|
||||
.DA #smparms' parameters address = $0060
|
||||
dc h'00'
|
||||
bcs L5DB3 error
|
||||
jsr doread
|
||||
|
@ -161,8 +161,8 @@ L5E15 lda sysentry,y get byte of filename
|
|||
bne L5DB5 get next file (branch always)
|
||||
L5E26 jmp ds2 error. try next unit.
|
||||
L5E29 jsr MLI close directory file
|
||||
dc i1'$CC'
|
||||
dc i2'cl_parms'
|
||||
.DA #$CC'
|
||||
.DA cl_parms'
|
||||
bcs L5E26 error.
|
||||
jsr settxt use full screen for windows
|
||||
jsr home
|
||||
|
@ -262,8 +262,8 @@ L5EF1 jmp vnam1 get new directory info.
|
|||
* run selected file
|
||||
|
||||
L5EF4 jsr MLI set prefix
|
||||
dc i1'$C6'
|
||||
dc i2'pf_parms'
|
||||
.DA #$C6'
|
||||
.DA pf_parms'
|
||||
bcs L5EED error.
|
||||
ldx valcnt get name number.
|
||||
jsr namecalc set up name storage area (on return y=0)
|
||||
|
@ -283,8 +283,8 @@ L5F04 iny start at y = 1.
|
|||
lda #$95 ctrl-u
|
||||
jsr cout turn off 80 columns.
|
||||
jsr MLI open file
|
||||
dc i1'$C8'
|
||||
dc i2'op_parms'
|
||||
.DA #$C8'
|
||||
.DA op_parms'
|
||||
bcs L5EED if error.
|
||||
lda op_refn move reference number
|
||||
sta rd_refn for read.
|
||||
|
@ -294,8 +294,8 @@ L5F04 iny start at y = 1.
|
|||
jsr doread read selected file.
|
||||
php save possible error.
|
||||
jsr MLI close file. ignore any error from close
|
||||
dc i1'$CC'
|
||||
dc i2'cl_parms'
|
||||
.DA #$CC'
|
||||
.DA cl_parms'
|
||||
plp restore status from read.
|
||||
bcs L5EED if any errors.
|
||||
jmp sysentry execute selected system file.
|
||||
|
@ -374,8 +374,8 @@ output .EQ *-ofsB
|
|||
L5FB1 jmp cout output to screen.
|
||||
doread .EQ *-ofsB
|
||||
jsr MLI mli read call
|
||||
dc i1'$CA'
|
||||
dc i2'rd_parms'
|
||||
.DA #$CA'
|
||||
.DA rd_parms'
|
||||
rts
|
||||
|
||||
* data area
|
||||
|
@ -383,16 +383,16 @@ doread .EQ *-ofsB
|
|||
dsp2msg .EQ *-ofsB
|
||||
dc c'RETURN: Select | TAB: Chg Vol | '
|
||||
dc c'ESC: Back'
|
||||
dc i1'$00'
|
||||
.DA #$00'
|
||||
fldrmsg .EQ *-ofsB
|
||||
dc h'0F' inverse control code
|
||||
.DA #0F' inverse control code
|
||||
dc h'1B' enable mousetext
|
||||
dc c'XY' folder characters
|
||||
dc h'18' disable mousetext
|
||||
dc h'0E' normal control code
|
||||
dc h'00'
|
||||
op_parms .EQ *-ofsB open parameters
|
||||
dc h'03' 3 parms
|
||||
.DA #03' 3 parms
|
||||
dc i2'PrefixBuf' pathname
|
||||
dc i2'op_buf' file buffer
|
||||
op_refn .EQ *-ofsB
|
||||
|
@ -406,10 +406,10 @@ ol_unit .EQ *-ofsB
|
|||
dc h'60' unit number, default = s6, d1
|
||||
dc i2'PrefixBuf+1' data buffer
|
||||
pf_parms .EQ *-ofsB set prefix parameters
|
||||
dc h'01' one parm
|
||||
.DA #01' one parm
|
||||
dc i2'PrefixBuf' pathname
|
||||
rd_parms .EQ *-ofsB read parameters
|
||||
dc h'04' 4 parms
|
||||
.DA #04' 4 parms
|
||||
rd_refn .EQ *-ofsB
|
||||
dc h'01' reference number
|
||||
dc i2'sysentry' data buffer
|
||||
|
@ -426,6 +426,6 @@ dhdr_len .EQ *-ofsB directory header length
|
|||
* end of obj sel_1
|
||||
*--------------------------------------
|
||||
MAN
|
||||
LOAD USR/SRC/PRODOS/PRODOS.S.SEL1
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
LOAD USR/SRC/PRODOS.203/PRODOS.S.SEL1
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
|
|
@ -20,7 +20,7 @@ GQdisp lda ramin read/write LC bank 1
|
|||
clc
|
||||
xce 16 bit native mode.
|
||||
jmp >P8QUIT go to GQuit.
|
||||
dc h'0000000000' offset to paragraph boundary.
|
||||
.DA #0000000000' offset to paragraph boundary.
|
||||
dc c'GQ' id bytes so GQuit can identify this
|
||||
|
||||
* load application
|
||||
|
@ -58,8 +58,8 @@ GQdisp lda ramin read/write LC bank 1
|
|||
* prefix is passed at $00/0200 by GQuit.
|
||||
|
||||
L6020 jsr MLI set prefix
|
||||
dc i1'$C6'
|
||||
dc i2'pfxparms'
|
||||
.DA #$C6'
|
||||
.DA pfxparms'
|
||||
bcc L602D if prefix ok.
|
||||
jsr gqerror error handler.
|
||||
bra L6020 try again
|
||||
|
@ -76,8 +76,8 @@ L602D xce native mode (carry clear)
|
|||
L603D sec back to emulation mode.
|
||||
xce
|
||||
L603F jsr MLI open the application file
|
||||
dc i1'$C8'
|
||||
dc i2'opnparms'
|
||||
.DA #$C8'
|
||||
.DA opnparms'
|
||||
bcc L604C if open ok.
|
||||
jsr gqerror handle error.
|
||||
bra L603F try again.
|
||||
|
@ -89,8 +89,8 @@ L604C lda oprefnum copy ref number to parameter lists
|
|||
* do a geteof call for how many bytes to read
|
||||
|
||||
L6058 jsr MLI get eof
|
||||
dc i1'$D1'
|
||||
dc i2'eofparms'
|
||||
.DA #$D1'
|
||||
.DA eofparms'
|
||||
bcc L6065 eof ok.
|
||||
jsr gqerror handle error.
|
||||
bra L6058 try again.
|
||||
|
@ -102,14 +102,14 @@ L6065 lda eofval
|
|||
lda eofval+1
|
||||
sta rdcount+1
|
||||
L6071 jsr MLI read
|
||||
dc i1'$CA'
|
||||
dc i2'readparm'
|
||||
.DA #$CA'
|
||||
.DA readparm'
|
||||
bcc L607E read ok
|
||||
jsr gqerror
|
||||
bra L6071
|
||||
L607E jsr MLI close
|
||||
dc i1'$CC'
|
||||
dc i2'closeprm'
|
||||
.DA #$CC'
|
||||
.DA closeprm'
|
||||
bcc L608B close ok
|
||||
jsr gqerror
|
||||
bra L607E
|
||||
|
@ -157,8 +157,8 @@ L60AB clc native mode
|
|||
sec emulation mode
|
||||
xce
|
||||
jsr MLI quit back to GQuit
|
||||
dc i1'$65'
|
||||
dc i2'quitparms'
|
||||
.DA #$65'
|
||||
.DA quitparms'
|
||||
|
||||
* p8 mount volume
|
||||
*
|
||||
|
@ -346,8 +346,8 @@ L621B cmp inbuf,x
|
|||
L6225 dex don't include trailing slash.
|
||||
stx inbuf set new length.
|
||||
jsr MLI set the P8 prefix.
|
||||
dc i1'$C6'
|
||||
dc i2'pfxparms'
|
||||
.DA #$C6'
|
||||
.DA pfxparms'
|
||||
lda #$00 set z-flag
|
||||
L6231 rts and go launch the app.
|
||||
|
||||
|
@ -366,8 +366,8 @@ ckfordrv .EQ *-ofsQ
|
|||
L623C sec emulation mode.
|
||||
xce
|
||||
jsr MLI get info on the volume.
|
||||
dc i1'$C4'
|
||||
dc i2'gfiparms'
|
||||
.DA #$C4'
|
||||
.DA gfiparms'
|
||||
bcc L6252 branch if volume found,
|
||||
clc (native mode)
|
||||
xce
|
||||
|
@ -382,7 +382,7 @@ L6252 rts
|
|||
* Prodos 8 parameter lists
|
||||
|
||||
pfxparms .EQ *-ofsQ set prefix parms.
|
||||
dc h'01' one parm.
|
||||
.DA #01' one parm.
|
||||
dc i2'inbuf' address of prefix.
|
||||
opnparms .EQ *-ofsQ open parms.
|
||||
dc h'03' 3 parms.
|
||||
|
@ -391,13 +391,13 @@ opnparms .EQ *-ofsQ open parms.
|
|||
oprefnum .EQ *-ofsQ
|
||||
dc h'00' reference #
|
||||
eofparms .EQ *-ofsQ
|
||||
dc h'02' 2 parms
|
||||
.DA #02' 2 parms
|
||||
eofrefn .EQ *-ofsQ
|
||||
dc h'00' reference #
|
||||
eofval .EQ *-ofsQ
|
||||
dc h'000000' 3 byte eof value
|
||||
readparm .EQ *-ofsQ
|
||||
dc h'04' 4 parms
|
||||
.DA #04' 4 parms
|
||||
rdrefnum .EQ *-ofsQ
|
||||
dc h'00' reference #
|
||||
dc i2'sysentry' read into $2000 (bank 0).
|
||||
|
@ -409,23 +409,23 @@ closeprm .EQ *-ofsQ
|
|||
closeref .EQ *-ofsQ
|
||||
dc h'00' reference #
|
||||
quitparms .EQ *-ofsQ
|
||||
dc h'04' 4 parms.
|
||||
.DA #04' 4 parms.
|
||||
dc h'00' quit back to launcher (GQuit)
|
||||
dc h'0000'
|
||||
dc h'00'
|
||||
dc h'0000'
|
||||
gfiparms .EQ *-ofsQ get file info parms.
|
||||
dc h'0A' 10 parms
|
||||
.DA #0A' 10 parms
|
||||
dc i2'volbuf' volume buffer
|
||||
dc h'00' access
|
||||
dc h'00' file type
|
||||
dc h'0000' aux type
|
||||
dc h'00' storage type
|
||||
dc h'0000' blocks used
|
||||
dc h'0000' modification date
|
||||
.DA #0000' modification date
|
||||
dc h'0000' modification time
|
||||
dc h'0000' creation date
|
||||
dc h'0000' creation time
|
||||
.DA #0000' creation time
|
||||
|
||||
* messages for P8 fatal error. maximum length of message is 35 characters.
|
||||
* the error code will be displayed immediately after the final character.
|
||||
|
@ -450,7 +450,7 @@ mountmsg .EQ *-ofsQ
|
|||
button1 .EQ *-ofsQ
|
||||
dc h'0D'
|
||||
dc c'Accept: '
|
||||
dc h'1B' mousetext on
|
||||
.DA #1B' mousetext on
|
||||
dc h'0F' inverse on
|
||||
dc h'4D' mousetext return
|
||||
dc h'0E' normal on
|
||||
|
@ -462,6 +462,6 @@ button2 .EQ *-ofsQ
|
|||
* end of obj sel_2 (must be < GQdisp+$300)
|
||||
*--------------------------------------
|
||||
MAN
|
||||
LOAD USR/SRC/PRODOS/PRODOS.S.SEL2
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
LOAD USR/SRC/PRODOS.203/PRODOS.S.SEL2
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
|
|
@ -71,7 +71,7 @@ H2F69 rts
|
|||
* one entry for each month. the values are modulo 256.
|
||||
|
||||
tdays .EQ *-ofsT
|
||||
dc h'00' January
|
||||
.DA #00' January
|
||||
dc h'1F' February
|
||||
dc h'3B' March
|
||||
dc h'5A' April
|
||||
|
@ -79,7 +79,7 @@ tdays .EQ *-ofsT
|
|||
dc h'97' June
|
||||
dc h'B5' July
|
||||
dc h'D3' August
|
||||
dc h'F2' September
|
||||
.DA #F2' September
|
||||
dc h'14' October (MOD 256)
|
||||
dc h'33' November
|
||||
dc h'51' December
|
||||
|
@ -95,13 +95,13 @@ yradj .EQ *-ofsT
|
|||
dc h'5F' Sunday
|
||||
dc h'5E' Saturday
|
||||
dc h'5D' Friday
|
||||
dc h'62' Thursday
|
||||
.DA #62' Thursday
|
||||
dc h'61' Wednesday
|
||||
dc h'60' Tuesday
|
||||
tclk_end .EQ * end of obj tclock_0.
|
||||
dc h'000000' pad
|
||||
*--------------------------------------
|
||||
MAN
|
||||
LOAD USR/SRC/PRODOS/PRODOS.S.TCLK
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
LOAD USR/SRC/PRODOS.203/PRODOS.S.TCLK
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
|
|
@ -263,14 +263,14 @@ irqdev .EQ *-ofsX
|
|||
sta mslot slot being accessed.
|
||||
H31DD jmp irqexit do necessary bank switches and return.
|
||||
irqflag .EQ *-ofsX
|
||||
dc h'00' 0 = old roms. 1 = new roms.
|
||||
.DA #00' 0 = old roms. 1 = new roms.
|
||||
irqcount .EQ *-ofsX
|
||||
dc h'00' # of unclaimed interrupts.
|
||||
svstack .EQ *-ofsX temporary save area from stack
|
||||
dc h'0000000000000000'
|
||||
dc h'0000000000000000'
|
||||
.DA #0000000000000000'
|
||||
svzerop .EQ *-ofsX temporary save area for zero page
|
||||
dc h'000000000000'
|
||||
.DA #000000000000'
|
||||
goint1 .EQ *-ofsX
|
||||
jmp (inttbl) interrupt routine 1
|
||||
goint2 .EQ *-ofsX
|
||||
|
@ -4041,15 +4041,15 @@ L4F65 and #$44 mask all but write allowed and write
|
|||
L4F6D sec
|
||||
L4F6E rts
|
||||
spvectlo .EQ *-ofsX storage for low byte of smartport
|
||||
dc h'0000000000000000' entry.
|
||||
dc h'00000000000000'
|
||||
.DA #0000000000000000' entry.
|
||||
.DA #00000000000000'
|
||||
spvecthi .EQ *-ofsX storage for high byte of smartport
|
||||
dc h'0000000000000000' entry.
|
||||
dc h'00000000000000'
|
||||
.DA #0000000000000000' entry.
|
||||
.DA #00000000000000'
|
||||
statparms .EQ *-ofsX # of parms (always 3 except format)
|
||||
dc h'03'
|
||||
sp_unitnum .EQ *-ofsX
|
||||
dc h'00' unit number
|
||||
.DA #00' unit number
|
||||
sp_bufptr .EQ *-ofsX
|
||||
dc h'0000' data buffer
|
||||
dc h'000000' block number (3 bytes)
|
||||
|
@ -4058,49 +4058,49 @@ sp_bufptr .EQ *-ofsX
|
|||
|
||||
scnums .EQ *-ofsX table of valid mli command numbers.
|
||||
dc h'D3000000'
|
||||
dc h'40410000808182'
|
||||
dc h'65C0C1C2C3C4C5C6'
|
||||
dc h'C7C8C9CACBCCCDCE'
|
||||
dc h'CF00D0D1D2'
|
||||
.DA #40410000808182'
|
||||
.DA #65C0C1C2C3C4C5C6'
|
||||
.DA #C7C8C9CACBCCCDCE'
|
||||
.DA #CF00D0D1D2'
|
||||
pcntbl .EQ *-ofsX parameter counts for the calls
|
||||
dc h'02FFFF'
|
||||
dc h'FF0201FFFF030300'
|
||||
dc h'04070102070A0201'
|
||||
dc h'0103030404010102'
|
||||
dc h'02FF020202'
|
||||
.DA #FF0201FFFF030300'
|
||||
.DA #04070102070A0201'
|
||||
.DA #0103030404010102'
|
||||
.DA #02FF020202'
|
||||
|
||||
* command table
|
||||
|
||||
cmdtable .EQ *-ofsX
|
||||
dc i2'create' create
|
||||
dc i2'destroy' destroy
|
||||
dc i2'rename' rename
|
||||
.DA rename' rename
|
||||
dc i2'setinfo' setinfo
|
||||
dc i2'getinfo' getinfo
|
||||
dc i2'online' online
|
||||
dc i2'setprefx' set prefix
|
||||
.DA setprefx' set prefix
|
||||
dc i2'getprefx' get prefix
|
||||
dc i2'openf' open
|
||||
dc i2'newline' newline
|
||||
dc i2'readf' read
|
||||
.DA readf' read
|
||||
dc i2'writef' write
|
||||
dc i2'closef' close
|
||||
dc i2'flushf' flush
|
||||
dc i2'setmark' set mark
|
||||
.DA setmark' set mark
|
||||
dc i2'getmark' get mark
|
||||
dc i2'seteof' seteof
|
||||
dc i2'geteof' geteof
|
||||
dc i2'setbuf' setbuf
|
||||
.DA setbuf' setbuf
|
||||
dc i2'getbuf' getbuf
|
||||
|
||||
* corresponding command function bytes
|
||||
|
||||
disptch .EQ *-ofsX
|
||||
dc h'A0A1A2A3'
|
||||
dc h'84050607'
|
||||
.DA #84050607'
|
||||
dc h'88494A4B'
|
||||
dc h'2C2D4E4F'
|
||||
dc h'50515253'
|
||||
.DA #2C2D4E4F'
|
||||
.DA #50515253'
|
||||
|
||||
dinctbl .EQ *-ofsX table to increment
|
||||
dc h'0100000200' directory usage/eof counts
|
||||
|
@ -4112,14 +4112,14 @@ compat .EQ *-ofsX
|
|||
dc h'00'
|
||||
dc h'C3270D000000'
|
||||
rootstuf .EQ *-ofsX
|
||||
dc h'0F02000400000800'
|
||||
.DA #0F02000400000800'
|
||||
whichbit .EQ *-ofsX
|
||||
dc h'8040201008040201'
|
||||
.DA #8040201008040201'
|
||||
ofcbtbl .EQ *-ofsX
|
||||
dc h'0C0D1819151617'
|
||||
.DA #0C0D1819151617'
|
||||
inftabl .EQ *-ofsX
|
||||
dc h'1E101F2080939421'
|
||||
dc h'22232418191A1B'
|
||||
.DA #1E101F2080939421'
|
||||
.DA #22232418191A1B'
|
||||
deathmsg .EQ *-ofsX
|
||||
dc h'20'
|
||||
msb on
|
||||
|
@ -4132,7 +4132,7 @@ deathmsg .EQ *-ofsX
|
|||
* variables in the file control block and temporary directory.
|
||||
|
||||
own_blk .EQ *-ofsX
|
||||
dc h'0000'
|
||||
.DA #0000'
|
||||
own_ent .EQ *-ofsX
|
||||
dc h'00'
|
||||
own_len .EQ *-ofsX
|
||||
|
@ -4140,7 +4140,7 @@ own_len .EQ *-ofsX
|
|||
h_credt .EQ *-ofsX
|
||||
dc h'0000' directory creation date
|
||||
dc h'0000' directory creation time
|
||||
dc h'00' version under which this dir created
|
||||
.DA #00' version under which this dir created
|
||||
dc h'00' earliest version that it's compatible
|
||||
h_attr .EQ *-ofsX attributes (protect bit, etc.)
|
||||
dc h'00'
|
||||
|
@ -4151,7 +4151,7 @@ h_maxent .EQ *-ofsX maximum number of entries per block
|
|||
h_fcnt .EQ *-ofsX current # of files in this directory
|
||||
dc h'0000'
|
||||
h_bmap .EQ *-ofsX address of first allocation bitmap
|
||||
dc h'0000'
|
||||
.DA #0000'
|
||||
h_tblk .EQ *-ofsX total number of blocks on this unit
|
||||
dc h'0000'
|
||||
d_dev .EQ *-ofsX device number of this directory entry
|
||||
|
@ -4161,12 +4161,12 @@ d_head .EQ *-ofsX address of <sub> directory header
|
|||
d_entblk .EQ *-ofsX address of block which contains entry
|
||||
dc h'0000'
|
||||
d_entnum .EQ *-ofsX entry number within block
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
d_stor .EQ *-ofsX
|
||||
dc h'0000000000000000' file name
|
||||
dc h'0000000000000000'
|
||||
d_filid .EQ *-ofsX user's identification byte
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
d_frst .EQ *-ofsX first block of file
|
||||
dc h'0000'
|
||||
d_usage .EQ *-ofsX # of blocks allocated to this file
|
||||
|
@ -4174,7 +4174,7 @@ d_usage .EQ *-ofsX # of blocks allocated to this file
|
|||
d_eof .EQ *-ofsX current end of file marker
|
||||
dc h'000000'
|
||||
d_credt .EQ *-ofsX
|
||||
dc h'0000' file creation date
|
||||
.DA #0000' file creation date
|
||||
dc h'0000' file creation time
|
||||
d_sosver .EQ *-ofsX sos version that created this file
|
||||
dc h'00'
|
||||
|
@ -4183,18 +4183,18 @@ d_comp .EQ *-ofsX backward version compatibility
|
|||
d_attr .EQ *-ofsX attributes (protect, r/w, enable, etc.)
|
||||
dc h'00'
|
||||
d_auxid .EQ *-ofsX user auxilliary identification
|
||||
dc h'0000'
|
||||
.DA #0000'
|
||||
d_moddt .EQ *-ofsX
|
||||
dc h'0000' file's last modification date
|
||||
dc h'0000' file's last modification time
|
||||
d_dhdr .EQ *-ofsX file directory header block address
|
||||
dc h'0000'
|
||||
scrtch .EQ *-ofsX scratch area for
|
||||
dc h'00000000' allocation address conversion.
|
||||
.DA #00000000' allocation address conversion.
|
||||
oldeof .EQ *-ofsX temp used in r/w
|
||||
dc h'000000'
|
||||
oldmark .EQ *-ofsX
|
||||
dc h'000000'
|
||||
.DA #000000'
|
||||
xvcbptr .EQ *-ofsX used in 'cmpvcb' as a temp
|
||||
dc h'00'
|
||||
vcbptr .EQ *-ofsX
|
||||
|
@ -4208,7 +4208,7 @@ reql .EQ *-ofsX
|
|||
reqh .EQ *-ofsX
|
||||
dc h'00'
|
||||
levels .EQ *-ofsX
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
totent .EQ *-ofsX
|
||||
dc h'00'
|
||||
entcntl .EQ *-ofsX
|
||||
|
@ -4224,7 +4224,7 @@ bmcnt .EQ *-ofsX
|
|||
saptr .EQ *-ofsX
|
||||
dc h'00'
|
||||
pathcnt .EQ *-ofsX
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
p_dev .EQ *-ofsX
|
||||
dc h'00'
|
||||
p_blok .EQ *-ofsX
|
||||
|
@ -4241,7 +4241,7 @@ half .EQ *-ofsX
|
|||
bmastat .EQ *-ofsX
|
||||
dc h'00'
|
||||
bmadev .EQ *-ofsX
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
bmadadr .EQ *-ofsX
|
||||
dc h'0000'
|
||||
bmacmap .EQ *-ofsX
|
||||
|
@ -4255,7 +4255,7 @@ tposhi .EQ *-ofsX
|
|||
rwreql .EQ *-ofsX
|
||||
dc h'00'
|
||||
rwreqh .EQ *-ofsX
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
nlchar .EQ *-ofsX
|
||||
dc h'00'
|
||||
nlmask .EQ *-ofsX
|
||||
|
@ -4274,7 +4274,7 @@ vcbentry .EQ *-ofsX
|
|||
* xdos temporary variables
|
||||
|
||||
namcnt .EQ *-ofsX
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
rnptr .EQ *-ofsX
|
||||
dc h'00'
|
||||
namptr .EQ *-ofsX
|
||||
|
@ -4293,7 +4293,7 @@ firstbl .EQ *-ofsX
|
|||
firstbh .EQ *-ofsX
|
||||
dc h'00'
|
||||
stortyp .EQ *-ofsX
|
||||
dc h'00'
|
||||
.DA #00'
|
||||
deblock .EQ *-ofsX
|
||||
dc h'0000'
|
||||
dtree .EQ *-ofsX
|
||||
|
@ -4310,9 +4310,9 @@ loklst .EQ *-ofsX look list of recognized device numbers
|
|||
dealbufl .EQ *-ofsX
|
||||
dc h'0000000000000000'
|
||||
dealbufh .EQ *-ofsX
|
||||
dc h'0000000000000000'
|
||||
.DA #0000000000000000'
|
||||
cbytes .EQ *-ofsX
|
||||
dc h'0000'
|
||||
.DA #0000'
|
||||
dc h'00' cbytes+2 must = 0
|
||||
bufaddrl .EQ *-ofsX
|
||||
dc h'00'
|
||||
|
@ -4321,7 +4321,7 @@ bufaddrh .EQ *-ofsX
|
|||
goadr .EQ *-ofsX
|
||||
dc h'0000'
|
||||
delflag .EQ *-ofsX used by 'detree' to know if called
|
||||
dc h'00' from delete (destroy).
|
||||
.DA #00' from delete (destroy).
|
||||
|
||||
* zero fill to page boundary - 3 ($FEFD). so that cortland flag stays
|
||||
* within page boundary.
|
||||
|
@ -4336,8 +4336,8 @@ cortflag .EQ *-ofsX cortland flag. 1 = Cortland system
|
|||
* end of obj mli_2
|
||||
*--------------------------------------
|
||||
MAN
|
||||
LOAD USR/SRC/PRODOS/PRODOS.S.XDOS
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
LOAD USR/SRC/PRODOS.203/PRODOS.S.XDOS
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
||||
|
|
@ -33,22 +33,22 @@ DirBlkBuf .EQ $C00
|
|||
|
||||
.PH $2000
|
||||
|
||||
.INB USR/SRC/PRODOS/PRODOS.S.LDR
|
||||
.INB USR/SRC/PRODOS/PRODOS.S.RAMI
|
||||
.INB USR/SRC/PRODOS/PRODOS.S.RAM
|
||||
.INB USR/SRC/PRODOS/PRODOS.S.IRQ
|
||||
.INB USR/SRC/PRODOS/PRODOS.S.GP
|
||||
.INB USR/SRC/PRODOS/PRODOS.S.TCLK
|
||||
.INB USR/SRC/PRODOS/PRODOS.S.CCLK
|
||||
.INB USR/SRC/PRODOS/PRODOS.S.XDOS
|
||||
.INB USR/SRC/PRODOS/PRODOS.S.RAMX
|
||||
.INB USR/SRC/PRODOS/PRODOS.S.DISKII
|
||||
.INB USR/SRC/PRODOS/PRODOS.S.SEL0
|
||||
.INB USR/SRC/PRODOS/PRODOS.S.SEL1
|
||||
.INB USR/SRC/PRODOS/PRODOS.S.SEL2
|
||||
.INB USR/SRC/PRODOS.203/PRODOS.S.LDR
|
||||
.INB USR/SRC/PRODOS.203/PRODOS.S.RAMI
|
||||
.INB USR/SRC/PRODOS.203/PRODOS.S.RAM
|
||||
.INB USR/SRC/PRODOS.203/PRODOS.S.IRQ
|
||||
.INB USR/SRC/PRODOS.203/PRODOS.S.GP
|
||||
.INB USR/SRC/PRODOS.203/PRODOS.S.TCLK
|
||||
.INB USR/SRC/PRODOS.203/PRODOS.S.CCLK
|
||||
.INB USR/SRC/PRODOS.203/PRODOS.S.XDOS
|
||||
.INB USR/SRC/PRODOS.203/PRODOS.S.RAMX
|
||||
.INB USR/SRC/PRODOS.203/PRODOS.S.DISKII
|
||||
.INB USR/SRC/PRODOS.203/PRODOS.S.SEL0
|
||||
.INB USR/SRC/PRODOS.203/PRODOS.S.SEL1
|
||||
.INB USR/SRC/PRODOS.203/PRODOS.S.SEL2
|
||||
|
||||
.EP
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/PRODOS/PRODOS.S
|
||||
SAVE USR/SRC/PRODOS.203/PRODOS.S
|
||||
ASM
|
||||
|
|
Loading…
Reference in New Issue
Block a user