mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-25 20:33:13 +00:00
273 lines
6.5 KiB
Plaintext
273 lines
6.5 KiB
Plaintext
NEW
|
||
AUTO 3,1
|
||
.LIST OFF
|
||
.OP 65816
|
||
.OR $2000
|
||
.TF PRODOS.FX,TSYS
|
||
*--------------------------------------
|
||
READCAT .EQ 0 Boot Block read Catalog at $C00
|
||
ENHFILENAME .EQ 1
|
||
LOWERCASE .EQ 1
|
||
FASTSEEK .EQ 0
|
||
FASTWRITE .EQ 0
|
||
*--------------------------------------
|
||
.INB INC/ZP.I
|
||
.INB INC/IO.I
|
||
.INB INC/MONITOR.I
|
||
.INB INC/MLI.I
|
||
.INB INC/MLI.E.I
|
||
*--------------------------------------
|
||
MMStartUp .EQ $0202
|
||
NewHandle .EQ $0902
|
||
PtrToHand .EQ $2802
|
||
MessageCenter .EQ $1501
|
||
DisposeHandle .EQ $1002
|
||
MMShutDown .EQ $0302
|
||
ReadTimeHex .EQ $0D03
|
||
Int2Hex .EQ $220B
|
||
TLTextMountVolume .EQ $1201
|
||
*--------------------------------------
|
||
.MA SHORTMX
|
||
sep #$30
|
||
.EM
|
||
.MA SHORTM
|
||
sep #$20
|
||
.EM
|
||
.MA SHORTX
|
||
sep #$10
|
||
.EM
|
||
.MA LONGMX
|
||
rep #$30
|
||
.EM
|
||
.MA LONGM
|
||
rep #$20
|
||
.EM
|
||
.MA LONGX
|
||
rep #$10
|
||
.EM
|
||
*--------------------------------------
|
||
.MA IIGS
|
||
ldx ##]1
|
||
jsl $E10000
|
||
.EM
|
||
*--------------------------------------
|
||
P8QUIT .EQ $E0D000
|
||
GSOS .EQ $E100A8
|
||
GSOS2 .EQ $E100B0
|
||
OS_BOOT .EQ $E100BD indicates O/S initially booted*--------------------------------------
|
||
|
||
lookptr .EQ $0A
|
||
idapple .EQ $0C model machine id
|
||
idxl .EQ $10 general use 16 bit index pointer
|
||
devid .EQ $12
|
||
src .EQ $12
|
||
dst .EQ $14
|
||
cnt .EQ $16
|
||
cde .EQ $18
|
||
ecde .EQ $1A
|
||
|
||
wndbtm .EQ $23
|
||
|
||
pcl .EQ $3A
|
||
pch .EQ $3B
|
||
A1L .EQ $3C
|
||
A1H .EQ $3D
|
||
A2L .EQ $3E
|
||
A2H .EQ $3F
|
||
A3L .EQ $40
|
||
A4L .EQ $42
|
||
unitnum .EQ $43
|
||
buf .EQ $44 2-byte data buffer pointer which
|
||
*accsav .EQ $45 overlaps accsav (temp acc save byte)
|
||
bloknml .EQ $46 used mostly as 16 bit block # pointer
|
||
zpt .EQ $48 highly used zero page index pointer
|
||
datptr .EQ $4A ptr to data area of buffer.
|
||
sos .EQ $4C sos buffer pointer.
|
||
usrbuf .EQ $4E data ptr in user buffer.
|
||
|
||
* zero page variables for Bird's Better Bye
|
||
|
||
smparms .EQ $60 set mark parms
|
||
sm_refn .EQ $61 file reference number
|
||
fpos_lo .EQ $62 new file position (3 bytes)
|
||
fpos_mid .EQ $63
|
||
fpos_hi .EQ $64
|
||
lstpntr .EQ $65 device list pointer (16 bit)
|
||
valcnt .EQ $67 name counter
|
||
|
||
filecount .EQ $68 # of displayable files in directory
|
||
namelen .EQ $69 length of filename
|
||
gp_cnt .EQ $6A general purpose counter
|
||
dlevel .EQ $6B directory level
|
||
fnstore .EQ $6C filename storage pointer (16 bit)
|
||
entlen .EQ $6E directory entry length
|
||
entblk .EQ $6F directory entries/block
|
||
filecnt .EQ $70 directory file count (16 bit)
|
||
blkfl .EQ $72 block flag / file counter
|
||
topname .EQ $73 index # of top name in display
|
||
filetyps .EQ $74 128 byte table of filetypes
|
||
errnum .EQ $DE
|
||
*--------------------------------------
|
||
auxsp .EQ $0101
|
||
RAMXDRV .EQ $0200 load address for aux bank /RAM driver
|
||
inbuf .EQ $0200 keyboard buffer
|
||
pbuf .EQ $0280 prefix buffer
|
||
softev .EQ $03F2 RESET vector
|
||
pwredup .EQ $03F4 power up byte
|
||
nmivect .EQ $03FB nmi handler
|
||
vmode .EQ $04FB video firmware operating mode
|
||
|
||
ch80col .EQ $057B 80 column ch position
|
||
vline16 .EQ $07A8 line 16 of display
|
||
|
||
dbuf .EQ $0C00 8 page directory buffer
|
||
vblock1 .EQ $0E00 ramdisk directory block
|
||
volbuf .EQ $0F00 volume buffer
|
||
iobuf .EQ $1400 i/o buffer
|
||
fbuf .EQ $1800 FCB buffer
|
||
op_buf .EQ $1C00 open file buffer (selector)
|
||
sysentry .EQ $2000 .SYS file load address
|
||
|
||
phaseoff .EQ $C080 disk port
|
||
motoroff .EQ $C088 disk port
|
||
motoron .EQ $C089 disk port
|
||
drv0en .EQ $C08A disk port
|
||
q6l .EQ $C08C disk port
|
||
q6h .EQ $C08D disk port
|
||
q7l .EQ $C08E disk port
|
||
q7h .EQ $C08F disk port
|
||
|
||
xfer .EQ $C314
|
||
|
||
rwts .EQ $D000 disk ii driver in bank 1
|
||
pathbuf .EQ $D700
|
||
XDOS.ClockDrv .EQ $D742
|
||
prefixbuf .EQ $D742+125
|
||
fcbbuf .EQ $D800 fcb buffer
|
||
vcbbuf .EQ $D900 vcb buffer
|
||
bmbuf .EQ $DA00 512 byte bitmap buffer
|
||
gbuf .EQ $DC00 general purpose 512 byte block buffer
|
||
*--------------------------------------
|
||
.DUMMY
|
||
.OR $10
|
||
ZPPtr1 .BS 2
|
||
ZPPtr2 .BS 2
|
||
ZPInBufPtr .BS 2
|
||
ZPOutBufPtr .BS 2
|
||
|
||
ZPnCnt .BS 2
|
||
ZPInMask .BS 1
|
||
ZPBLOfsLBits .BS 1
|
||
ZPBLOfsHBits .BS 1
|
||
ZPBLLenBits .BS 1
|
||
.ED
|
||
*--------------------------------------
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.LDR
|
||
X.Unpak.XatYA sty ZPOutBufPtr
|
||
sta ZPOutBufPtr+1
|
||
lda PAKME.Table,x
|
||
sta ZPInBufPtr
|
||
lda PAKME.Table+1,x
|
||
sta ZPInBufPtr+1
|
||
.INB USR/SRC/SHARED/X.UNPAK.S
|
||
*--------------------------------------
|
||
PAKME.Table
|
||
PAKME.ILDR .DA ILDR
|
||
PAKME.GP .DA GP
|
||
PAKME.XRW .DA XRW
|
||
PAKME.XDOS .DA XDOS
|
||
PAKME.IRQ .DA IRQ
|
||
PAKME.RAM .DA RAM
|
||
PAKME.RAMX .DA RAMX
|
||
PAKME.NCLK .DA NCLK
|
||
PAKME.TCLK .DA TCLK
|
||
PAKME.CCLK .DA CCLK
|
||
PAKME.SEL1 .DA SEL1
|
||
PAKME.SEL2 .DA SEL2
|
||
|
||
ILDR .DA #0
|
||
.DA ILDR.LEN
|
||
.PH $800
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.ILDR
|
||
.EP
|
||
|
||
GP .DA #0
|
||
.DA GP.LEN
|
||
.PH $BF00
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.GP
|
||
.EP
|
||
|
||
XRW .DA #0
|
||
.DA XRW.LEN
|
||
.PH $D000
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.XRW
|
||
.EP
|
||
|
||
XDOS .DA #0
|
||
.DA XDOS.LEN
|
||
.PH $DE00
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.XDOS.A
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.XDOS.B
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.XDOS.C
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.XDOS.D
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.XDOS.E
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.XDOS.F
|
||
.EP
|
||
|
||
IRQ .DA #0
|
||
.DA IRQ.LEN
|
||
.PH $FF9B
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.IRQ
|
||
.EP
|
||
|
||
RAM .DA #0
|
||
.DA RAM.LEN
|
||
.PH $FF00
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.RAM
|
||
.EP
|
||
|
||
RAMX .DA #0
|
||
.DA RAMX.LEN
|
||
.PH $200
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.RAMX
|
||
.EP
|
||
|
||
NCLK .DA #0
|
||
.DA NCLK.LEN
|
||
.PH XDOS.ClockDrv
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.NCLK
|
||
.EP
|
||
|
||
TCLK .DA #0
|
||
.DA TCLK.LEN
|
||
.PH XDOS.ClockDrv
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.TCLK
|
||
.EP
|
||
|
||
CCLK .DA #0
|
||
.DA CCLK.LEN
|
||
.PH XDOS.ClockDrv
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.CCLK
|
||
.EP
|
||
|
||
SEL1 .DA #0
|
||
.DA SEL1.LEN
|
||
.PH $1000
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.SEL1
|
||
.EP
|
||
|
||
SEL2 .DA #0
|
||
.DA SEL2.LEN
|
||
.PH $1000
|
||
.INB USR/SRC/PRODOS.FX/PRODOS.S.SEL2
|
||
.EP
|
||
*--------------------------------------
|
||
.AS "PAKME" TAG
|
||
.DA $2000 BIN ORG
|
||
.DA #12 Chunk Count
|
||
.DA PAKME.Table Chunks
|
||
*--------------------------------------
|
||
MAN
|
||
SAVE USR/SRC/PRODOS.FX/PRODOS.S
|
||
ASM
|