Applecorn/mainmem.fsequ.s

65 lines
2.0 KiB
ArmAsm

* MAINMEM.FSEQU.S
* (c) Bobbi 2021-2022 GPL v3
*
* Constant definitions for ProDOS filesystem code that
* resides in main memory.
* ProDOS string buffers
RTCBUF EQU $0200 ; Use by RTC calls, 40 bytes
* ; $0228-$023D
DRVBUF1 EQU $023E
DRVBUF2 EQU $023F ; Prefix on current drive, length
* $0240 ; Prefix path
CMDPATH EQU $0280 ; Path used to start Applecorn
* ; $02C0-$02FF
* Filename string buffers
MOSFILE1 EQU $0300 ; length + 64 bytes
MOSFILE2 EQU $0341 ; length + 64 bytes
MOSFILE EQU MOSFILE1
* ; $0382-$03A3 ROM selection w/s (move?)
* ; $03A4-$03BD
* Control block for OSFILE
FILEBLK EQU $03BE
FBPTR EQU FILEBLK+0 ; Pointer to name (in aux)
FBLOAD EQU FILEBLK+2 ; Load address (4 bytes)
FBEXEC EQU FILEBLK+6 ; Exec address (4 bytes)
FBSIZE EQU FILEBLK+10 ; Size (4 bytes)
FBSTRT EQU FILEBLK+10 ; Start address for SAVE (4 bytes)
FBATTR EQU FILEBLK+14 ; Attributes (4 bytes)
FBEND EQU FILEBLK+14 ; End address for SAVE (4 bytes)
* Control block for OSGBPB
GBPBBLK EQU FILEBLK+1
GBPBHDL EQU GBPBBLK+0 ; File handle
GBPBDAT EQU GBPBBLK+1 ; Pointer to data (4 bytes)
GBPBNUM EQU GBPBBLK+5 ; Num bytes to transfer (4 bytes)
GBPBPTR EQU GBPBBLK+9 ; File pointer (4 bytes)
GBPBAUXCB EQU GBPBBLK+13 ; Address of aux control block (2 bytes)
* ; $03D0-$03FF ; ProDOS workspace
* ProDOS MLI command numbers
ALLOCCMD EQU $40
DEALLOCCMD EQU $41
QUITCMD EQU $65
GTIMECMD EQU $82
CREATCMD EQU $C0
DESTCMD EQU $C1
RENCMD EQU $C2
SINFOCMD EQU $C3
GINFOCMD EQU $C4
ONLNCMD EQU $C5
SPFXCMD EQU $C6
GPFXCMD EQU $C7
OPENCMD EQU $C8
READCMD EQU $CA
WRITECMD EQU $CB
CLSCMD EQU $CC
FLSHCMD EQU $CD
SMARKCMD EQU $CE
GMARKCMD EQU $CF
GEOFCMD EQU $D1