mirror of
https://github.com/mi57730/a2d.git
synced 2024-12-01 20:50:06 +00:00
186 lines
5.4 KiB
Plaintext
186 lines
5.4 KiB
Plaintext
|
GLOBAL {
|
||
|
STARTADDR $0800;
|
||
|
PAGELENGTH 0; # No paging
|
||
|
CPU "65C02";
|
||
|
};
|
||
|
|
||
|
# Aux Memory Soft Switches
|
||
|
LABEL { NAME "RAMRDOFF"; ADDR $C002; };
|
||
|
LABEL { NAME "RAMRDON"; ADDR $C003; };
|
||
|
LABEL { NAME "RAMWRTOFF"; ADDR $C004; };
|
||
|
LABEL { NAME "RAMWRTON"; ADDR $C005; };
|
||
|
LABEL { NAME "ALTZPOFF"; ADDR $C008; };
|
||
|
LABEL { NAME "ALTZPON"; ADDR $C009; };
|
||
|
|
||
|
# Language Card Soft Switches
|
||
|
LABEL { NAME "LCBANK1"; ADDR $C08B; };
|
||
|
|
||
|
LABEL { NAME "AUXMOVE"; ADDR $C311; };
|
||
|
|
||
|
LABEL { NAME "NULL"; ADDR $0000; };
|
||
|
|
||
|
######################################3
|
||
|
# Code
|
||
|
|
||
|
# Start of code
|
||
|
LABEL { NAME "start"; ADDR $0800; };
|
||
|
|
||
|
# Copies $800-$14ff Main to Aux
|
||
|
RANGE { START $0803; END $0803; TYPE ByteTable; NAME "stash_x"; };
|
||
|
LABEL { NAME "copy2aux"; ADDR $0804; };
|
||
|
LABEL { NAME "copy_src"; ADDR $080D; SIZE 3; };
|
||
|
LABEL { NAME "copy_dst"; ADDR $0810; SIZE 3; };
|
||
|
# Self-modifying - force as code
|
||
|
RANGE { START $0804; END $0812; TYPE Code; };
|
||
|
|
||
|
|
||
|
# $0862 RTS - exit from DA
|
||
|
|
||
|
|
||
|
# ??? Long data range
|
||
|
RANGE { START $08EA; END $09DD; TYPE ByteTable; };
|
||
|
|
||
|
|
||
|
|
||
|
# Self-modifying - force as code
|
||
|
RANGE { START $0BC9; END $0D38; TYPE Code; };
|
||
|
RANGE { START $103E; END $1087; TYPE Code; };
|
||
|
|
||
|
RANGE { START $0FE8; END $0FF5; TYPE ByteTable; };
|
||
|
|
||
|
####
|
||
|
|
||
|
|
||
|
# Strings
|
||
|
RANGE { START $1165; END $1166; TYPE AddrTable; NAME "fixed_str"; };
|
||
|
RANGE { START $1167; END $1167; TYPE ByteTable; NAME "fixed_len"; };
|
||
|
RANGE { START $1168; END $1174; TYPE TextTable; NAME "fixed_data"; };
|
||
|
|
||
|
RANGE { START $1175; END $1176; TYPE AddrTable; NAME "prop_str"; };
|
||
|
RANGE { START $1177; END $1177; TYPE ByteTable; NAME "prop_len"; };
|
||
|
RANGE { START $1178; END $1183; TYPE TextTable; NAME "prop_data"; };
|
||
|
|
||
|
# ???
|
||
|
RANGE { START $1184; END $1197; TYPE ByteTable; };
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
######################################3
|
||
|
# Apple II Desktop Entry Points
|
||
|
|
||
|
LABEL { NAME "A2D_CALL"; ADDR $4000; };
|
||
|
# next 3 bytes are operation and address of data (op, lo, hi)
|
||
|
# (ProDOS MLI calling convention)
|
||
|
|
||
|
# A2D call arguments
|
||
|
RANGE { START $0AB9; END $0AB9; TYPE ByteTable; };
|
||
|
RANGE { START $0ABA; END $0ABB; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0ABF; END $0ABF; TYPE ByteTable; };
|
||
|
RANGE { START $0AC0; END $0AC1; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0ACE; END $0ACE; TYPE ByteTable; };
|
||
|
RANGE { START $0ACF; END $0AD0; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0AD4; END $0AD4; TYPE ByteTable; };
|
||
|
RANGE { START $0AD5; END $0AD6; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0AE1; END $0AE1; TYPE ByteTable; };
|
||
|
RANGE { START $0AE2; END $0AE3; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0B24; END $0B24; TYPE ByteTable; };
|
||
|
RANGE { START $0B25; END $0B26; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0B32; END $0B32; TYPE ByteTable; };
|
||
|
RANGE { START $0B33; END $0B34; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0B3F; END $0B3F; TYPE ByteTable; };
|
||
|
RANGE { START $0B40; END $0B41; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0BAB; END $0BAB; TYPE ByteTable; };
|
||
|
RANGE { START $0BAC; END $0BAD; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0BB7; END $0BB7; TYPE ByteTable; };
|
||
|
RANGE { START $0BB8; END $0BB9; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0D4E; END $0D4E; TYPE ByteTable; };
|
||
|
RANGE { START $0D4F; END $0D50; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0D55; END $0D55; TYPE ByteTable; };
|
||
|
RANGE { START $0D56; END $0D57; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0DE9; END $0DE9; TYPE ByteTable; };
|
||
|
RANGE { START $0DEA; END $0DEB; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0DF5; END $0DF5; TYPE ByteTable; };
|
||
|
RANGE { START $0DF6; END $0DF7; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0E02; END $0E02; TYPE ByteTable; };
|
||
|
RANGE { START $0E03; END $0E04; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0E20; END $0E20; TYPE ByteTable; };
|
||
|
RANGE { START $0E21; END $0E22; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0E26; END $0E26; TYPE ByteTable; };
|
||
|
RANGE { START $0E27; END $0E28; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0E2C; END $0E2C; TYPE ByteTable; };
|
||
|
RANGE { START $0E2D; END $0E2E; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0E81; END $0E81; TYPE ByteTable; };
|
||
|
RANGE { START $0E82; END $0E83; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $1003; END $1003; TYPE ByteTable; };
|
||
|
RANGE { START $1004; END $1005; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $11C0; END $11C0; TYPE ByteTable; };
|
||
|
RANGE { START $11C1; END $11C2; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $11C6; END $11C6; TYPE ByteTable; };
|
||
|
RANGE { START $11C7; END $11C8; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $11D1; END $11D1; TYPE ByteTable; };
|
||
|
RANGE { START $11D2; END $11D3; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $11DA; END $11DA; TYPE ByteTable; };
|
||
|
RANGE { START $11DB; END $11DC; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $11EB; END $11EB; TYPE ByteTable; };
|
||
|
RANGE { START $11EC; END $11ED; TYPE AddrTable; };
|
||
|
|
||
|
######################################3
|
||
|
# ProDOS MLI
|
||
|
|
||
|
LABEL { NAME "MLI"; ADDR $BF00; };
|
||
|
# next 3 bytes are operation and address of data (op, lo, hi)
|
||
|
# (ProDOS MLI calling convention)
|
||
|
|
||
|
# MLI call arguments
|
||
|
RANGE { START $086C; END $086C; TYPE ByteTable; };
|
||
|
RANGE { START $086D; END $086E; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $087F; END $087F; TYPE ByteTable; };
|
||
|
RANGE { START $0880; END $0881; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $0892; END $0892; TYPE ByteTable; };
|
||
|
RANGE { START $0893; END $0894; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $08A5; END $08A5; TYPE ByteTable; };
|
||
|
RANGE { START $08A6; END $08A7; TYPE AddrTable; };
|
||
|
|
||
|
RANGE { START $08B8; END $08B8; TYPE ByteTable; };
|
||
|
RANGE { START $08B9; END $08BA; TYPE AddrTable; };
|
||
|
|
||
|
|
||
|
######################################3
|
||
|
# ????????
|
||
|
|
||
|
# Called during exit
|
||
|
LABEL { NAME "UNKNOWN_CALL"; ADDR $8E00; };
|
||
|
# next 3 bytes are operation and address of data (op, lo, hi)
|
||
|
# (ProDOS MLI calling convention)
|
||
|
|
||
|
RANGE { START $0B38; END $0B38; TYPE ByteTable; };
|
||
|
RANGE { START $0B39; END $0B3A; TYPE AddrTable; };
|