* Memory layout in main memory (Apple environment)
*
*                     ; $0000-$00FF Zero page
*                     ; $0100-$01FF Stack
*                     ; $0200-$02FF ProDOS string buffers
RTCBUF    EQU   $0200 ;             $0200-$0227 Overwritten by RTC routines
*                     ;             $0228-$023D $15 spare bytes
DRVBUF1   EQU   $023E ;             $023E       Drive
DRVBUF2   EQU   $023F ;             $023F       Prefix on current drive, length
*                                   $0240       Prefix on current drive, path
CMDPATH   EQU   $0280 ;             $0280       Path used to start Applecorn
*                     ;             $02C0-$02FF $40 spare bytes
*
*                     ; $0300-$03CF File system core workspace
*                     ;             $0300-$0382 Filename string buffers
MOSFILE1  EQU   $0300 ;                   $0300 length
*                     ;                   $0301 64-byte string
MOSFILE2  EQU   $0341 ;                   $0341 length
*                     ;                   $0342 64-byte string
ROMTOTL   EQU   $0382 ;             $0382       Maximum ROM number
ROMTHIS   EQU   $0383 ;             $0383       Currently loaded ROM
ROMADDRS  EQU   $0384 ;             $0384       16xaddress of ROM filename
*                     ;             $03A4-$03BD $1A spare bytes
*                     ;
*                     ;             $03BE-$03CF: local copy of control block
*                     ;                   $03BE FPTR FPTR
*                     ;                   $03BF            CHANNEL
*                     ;                   $03C0 LOAD LOAD  ADDR
*                     ;                   $03C4 EXEC EXEC  COUNT
*                     ;                   $03C8 SIZE START OFFSET
*                     ;                   $03CC ATTR END   AUXCPY
*                     ; $03D0-$03EF ProDOS workspace
*                     ;             $03D0-$03EC .SYSTEM workspace?
*                     ;             $03ED-$03EE XFER address
*                     ;             $03EF       ProDOS reserved
*                     ; $03F0-$03FF Monitor/Applesoft locations
*                     ;             $03F0-$03F1 BRKV
*                     ;             $03F2-$03F3 RESETV
*                     ;             $03F4       PWDRUP
*                     ;             $03F5-$03F7 AMPERV
*                     ;             $03F8-$03FA USERV (^Y)
*                     ;             $03FB-$03FD NMIV
*                     ;             $03FE-$03FF IRQV
*
*         EQU   $0400 ; $0400-$07FF Text Page 1 & screen holes - not for general use
*                     ;             To do: 8 x 120-byte usable space
SCREEN    EQU   $0800 ; $0800-$0BFF Text Page 2
IOBUF0    EQU   $0C00 ; $0C00-$0FFF For loading ROM, OSFILE, *.
IOBUF1    EQU   $1000 ; $1000-$13FF Four open files for user program
IOBUF2    EQU   $1400 ; $1400-$17FF
IOBUF3    EQU   $1800 ; $1800-$1BFF
IOBUF4    EQU   $1C00 ; $1C00-$1FFF
*                     ; $2000-$3FFF Hi-Res screen 1 - used for transient .SYSTEM loader code
*                     ; $4000-      Code - to do: layout now different as .SYSTEM code
*                            -$6FFF
BLKBUF    EQU   $9000 ; $9000-$93FF 512-byte buffer plus channel data
BLKBUFEND EQU   $9200
*
*                     ; $BF00-$BFFF ProDOS Global Page - reserved


Memory layout in aux memory (Acorn environment)
*                     ; $0000-$00FF Zero page
*                     ;        $00-$8F Language workspace
*                     ;        $90-$9F Network workspace
*                     ;        $A0-$A7 NMI workspace
*                     ;        $A8-$AF Non-MOS *command workspace
*                     ;        $B0-$BF Temporary filing system workspace
*                     ;        $C0-$CF Persistant filing system workspace
*                     ;        $D0-$DF VDU driver workspace
*                     ;        $E0-$EE Internal MOS workspace
*                     ;        $EF-$FF MOS API workspace
*                     ; $0100-$01FF Stack
*                     ; $0200-$02FF Kernel vectors and workspace
*                     ;        $0200-$0235 Vectors
*                     ;        $0236-$028F OSBYTE variables
*                     ;        $0290-$02ED
*                     ;        $02EE-$02FF MOS control block
*                     ; $0300-$03FF
*                     ;        $0300-
*                     ;        $03E0-$03EF XFER workspace
*                     ;        $03F0-$03FF
*                     ; $0400-$07FF Language workspace
*                     ; $0800-$0BFF Screen memory
*                     ; $0C00-$0DFF --> used as transient command buffer
*                     ; $0E00       Default PAGE

