mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2024-11-17 01:09:17 +00:00
67 lines
3.3 KiB
Plaintext
67 lines
3.3 KiB
Plaintext
|
* Memory layout in main memory
|
||
|
*
|
||
|
* ; $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- Code, to do: make code move itself
|
||
|
* -$4FFF
|
||
|
BLKBUF EQU $5000 ; $5000-$53FF 512-byte buffer plus channel data
|
||
|
BLKBUFEND EQU $5200
|
||
|
|
||
|
|
||
|
* To do later:
|
||
|
* ; $2000-$3FFF Hi-Res screen 1
|
||
|
* ; $4000-$5FFF Hi-Res screen 2
|
||
|
* ; $6000- available
|
||
|
* ; -$95FF available
|
||
|
* ; $9600-$BDFF ProDOS buffers
|
||
|
* ; $BE00-$BEFF MLI Global workspace
|
||
|
* ; $BF00-$BFFF MLI API interface
|
||
|
|
||
|
I think $0300-$03DF can be usefully used as filing system workspace,
|
||
|
the mainmem copies of the filename and control block, MOSNAME and CBFILE,
|
||
|
and later for OSGBPB.
|