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 ACL .EQ 1 *-------------------------------------- .INB inc/zp.i .INB inc/io.i .INB inc/io.d2.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 xfer .EQ $C314 rwts .EQ $D000 disk ii driver in bank 1 pathbuf .EQ $D700 XDOS.ClockDrv .EQ $D742 prefixbuf .EQ $D742+125 *-------------------------------------- FCBs .EQ $D800 FCB.ID .EQ 0 FCB.DEVID .EQ 1 FCB.MARK .EQ 2 FCB.STYPE .EQ 7 FCB.F .EQ 8 FCB.F.STMOD .EQ 8 FCB.NLBYTE .EQ 10 FCB.BUFID .EQ 11 FCB.IBLK .EQ 14 FCB.EOF .EQ 21 FCB.FLEVEL .EQ 27 FCB.NLMASK .EQ 31 FCB .EQ 32 *-------------------------------------- VCBs .EQ $D900 VCB.DEV .EQ 16 *VCB.OF .EQ 17 VCB.TBLK .EQ 18 VCB.FBLK .EQ 20 VCB.ROOT .EQ 22 VCB.BMAP .EQ 26 VCB.BMAPIDX .EQ 28 VCB.OFCNT .EQ 30 * VCB .EQ 32 *-------------------------------------- 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.PAK PAKME.GP .DA GP.PAK PAKME.XRW .DA XRW.PAK PAKME.XDOS .DA XDOS.PAK PAKME.IRQ .DA IRQ.PAK PAKME.RAM .DA RAM.PAK PAKME.RAMX .DA RAMX.PAK PAKME.NCLK .DA NCLK.PAK PAKME.TCLK .DA TCLK.PAK PAKME.CCLK .DA CCLK.PAK PAKME.SEL1 .DA SEL1.PAK PAKME.SEL2 .DA SEL2.PAK ILDR.PAK .DA #0 .DA ILDR.LEN .PH $800 .INB usr/src/prodos.fx/prodos.s.ildr .EP GP.PAK .DA #0 .DA GP.LEN .PH $BF00 .INB usr/src/prodos.fx/prodos.s.gp .EP XRW.PAK .DA #0 .DA XRW.LEN .PH $D000 .INB usr/src/prodos.fx/prodos.s.xrw .EP XDOS.PAK .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.PAK .DA #0 .DA IRQ.LEN .PH $FF9B .INB usr/src/prodos.fx/prodos.s.irq .EP RAM.PAK .DA #0 .DA RAM.LEN .PH $FF00 .INB usr/src/prodos.fx/prodos.s.ram .EP RAMX.PAK .DA #0 .DA RAMX.LEN .PH $200 .INB usr/src/prodos.fx/prodos.s.ramx .EP NCLK.PAK .DA #0 .DA NCLK.LEN .PH XDOS.ClockDrv .INB usr/src/prodos.fx/prodos.s.nclk .EP TCLK.PAK .DA #0 .DA TCLK.LEN .PH XDOS.ClockDrv .INB usr/src/prodos.fx/prodos.s.tclk .EP CCLK.PAK .DA #0 .DA CCLK.LEN .PH XDOS.ClockDrv .INB usr/src/prodos.fx/prodos.s.cclk .EP SEL1.PAK .DA #0 .DA SEL1.LEN .PH $1000 .INB usr/src/prodos.fx/prodos.s.sel1 .EP SEL2.PAK .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