mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2024-12-27 23:31:04 +00:00
88 lines
4.6 KiB
Plaintext
88 lines
4.6 KiB
Plaintext
* 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
|
|
|