* Memory layout in main memory (Apple environment)
*
*                     ; $0000-$00FF Zero page
*                     ; $0100-$01FF Stack
*                     ; $0200-$02FF ProDOS string buffers
*                     ;             $0200-$022F Overwritten by RTC routines
*                     ;             $0228-$023D
DRVBUF1   EQU   $023E ;             $023E  Drive
DRVBUF2   EQU   $023F ;             $022F  Prefix on current drive
CMDPATH   EQU   $0280 ;             $0280  Path used to start Applecorn
*
*                     ; $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
*                     ;             $0382-$03BD $3C 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
*                     ; $03D0-$03FF: ProDOS vectors, etc.
*                     ;             $03D0-$03D2 JMP WARM
*                     ;             $03D3-$03D5 JMP WARM
*                     ;             $03D6-$03EC ProDOS
*                     ;             $03ED-$03DE XFER address
*                     ;             $03EF       ProDOS
*                     ;             $03F0-$03D1 BRKV
*                     ;             $03F2-$03D3 RESETV
*                     ;             $03F4       RESETV ACK
*                     ;             $03F5-$03F7 JMP AMP
*                     ;             $03F8-$03FA JMP USER
*                     ;             $03FB-$03FD JMP MON
*                     ;             $03FE-$03FF IRQV
*
*         EQU   $0400 ; $0400-      Can't use as ProDOS uses 'hidden' bytes
*                     ;      -$07FF  within screen for workspace
SCREEN    EQU   $0800 ; $0800-$0BFF Half 80-col screen or 40-col screen
IOBUF0    EQU   $0C00 ; $0C00-$0FFF For loading ROM, OSFILE, *.
IOBUF1    EQU   $1000 ; $1000-$13FF Four open files for langs
IOBUF2    EQU   $1400 ; $1400-$17FF
IOBUF3    EQU   $1800 ; $1800-$1BFF
IOBUF4    EQU   $1C00 ; $1C00-$1FFF
*                     ; $2000-$3FFF Hi-Res screen 1
*                     ; $4000-      Code, to do: make code move itself
*                            -$6FFF
BLKBUF    EQU   $7000 ; $7000-$73FF 512-byte buffer plus channel data
BLKBUFEND EQU   $7200
*
*                     ; $9600-$BDFF ProDOS buffers
*                     ; $BE00-$BEFF MLI Global workspace
*                     ; $BF00-$BFFF MLI API interface


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 --> use as transient command buffer
*                     ; $0E00       Default PAGE