1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-11 13:50:13 +00:00
6502bench/SourceGen/RuntimeData/SystemDefs.json
Andy McFadden d3e00b2342 Add Apple IIgs I/O locations in bank $E1
The $Cxxx I/O locations are mapped into banks $E0/E1, and are usually
configured to appear in banks $00/01 as well.  Direct access to
locations in banks $E0/E1 is common in 16-bit code, but we only had
definitions for $E0.

This adds a clone of definitions for $E1, and renames the symbols
to be _E0/_E1 instead of _GS.

This can also be solved with MULTI_MASK, but that will always use
$E0 as the base address, so references to $E1/Cxxx will have a large
adjustment added ("+$10000"), which is kind of ugly.

Note we still don't have definitions for $01/Cxxx.  I'll add those
if I run into them in 16-bit code.  (That might be a reasonable use
of MULTI_MASK; feels less ugly somehow.)
2020-11-03 11:54:25 -08:00

340 lines
8.0 KiB
JSON

{
"_copyright" : "Copyright 2018 faddenSoft. All rights reserved.",
"_license" : "Apache 2.0; see LICENSE.txt for details",
"Contents" : "6502bench SourceGen sysdef v1",
"Defs" : [
{
"Name" : "Apple //e",
"GroupName" : "Apple",
"Cpu" : "65C02",
"Speed" : "1.023",
"Description" : "Deluxe 8-bit Apple II system, configured for ProDOS.",
"SymbolFiles" : [
"RT:Apple/F8-ROM.sym65",
"RT:Apple/Cxxx-IO.sym65",
"RT:Apple/C08x-DiskII.sym65",
"RT:Apple/ProDOS8.sym65"
],
"ExtensionScripts" : [
"RT:Apple/ProDOS8.cs",
"RT:Apple/VisHiRes.cs"
],
"Parameters" : {
"load-address":"0x2000"
}
},
{
"Name" : "Apple ][+",
"GroupName" : "Apple",
"Cpu" : "6502",
"Speed" : "1.023",
"Description" : "Early 8-bit Apple II system, configured for DOS 3.3.",
"SymbolFiles" : [
"RT:Apple/F8-ROM.sym65",
"RT:Apple/Cxxx-IO.sym65",
"RT:Apple/C08x-DiskII.sym65",
"RT:Apple/DOS33.sym65"
],
"ExtensionScripts" : [
"RT:Apple/VisHiRes.cs"
],
"Parameters" : {
"load-address":"0x2000"
}
},
{
"Name" : "Apple IIgs (P8)",
"GroupName" : "Apple",
"Cpu" : "65816",
"Speed" : "2.8",
"Description" : "Apple IIgs, configured for ProDOS 8.",
"SymbolFiles" : [
"RT:Apple/F8-ROM.sym65",
"RT:Apple/Cxxx-IO.sym65",
"RT:Apple/C08x-DiskII.sym65",
"RT:Apple/E0Cxxx-IO.sym65",
"RT:Apple/E1Cxxx-IO.sym65",
"RT:Apple/ProDOS8.sym65",
"RT:Apple/IIgs-ROM.sym65"
],
"ExtensionScripts" : [
"RT:Apple/ProDOS8.cs",
"RT:Apple/VisHiRes.cs"
],
"Parameters" : {
"load-address":"0x2000",
"entry-flags":"emulation"
}
},
{
"Name" : "Apple IIgs (GS/OS)",
"GroupName" : "Apple",
"Cpu" : "65816",
"Speed" : "2.8",
"Description" : "Apple IIgs, configured for GS/OS.",
"SymbolFiles" : [
"RT:Apple/Cxxx-IO.sym65",
"RT:Apple/C08x-DiskII.sym65",
"RT:Apple/E0Cxxx-IO.sym65",
"RT:Apple/E1Cxxx-IO.sym65",
"RT:Apple/IIgs-ROM.sym65",
"RT:Apple/GSOS.sym65"
],
"ExtensionScripts" : [
"RT:Apple/GSOS.cs",
"RT:Apple/IIgs-Toolbox.cs"
],
"Parameters" : {
"load-address":"0x2000",
"entry-flags":"native-long"
}
},
{
"Name" : "Apple ///",
"GroupName" : "Apple",
"Cpu" : "6502",
"Speed" : "2",
"Description" : "Apple /// system, configured for SOS.",
"SymbolFiles" : [
"RT:Apple/A3-ROM.sym65",
"RT:Apple/A3-IO.sym65",
"RT:Apple/SOS.sym65"
],
"ExtensionScripts" : [
"RT:Apple/SOS.cs"
],
"Parameters" : {
"load-address":"0x2000",
"two-byte-brk":"true"
}
},
{
"Name" : "Apple-1",
"GroupName" : "Apple",
"Cpu" : "6502",
"Speed" : "1",
"Description" : "Apple-1 system.",
"SymbolFiles" : [
"RT:Apple/Apple1.sym65"
],
"ExtensionScripts" : [
],
"Parameters" : {
}
},
{
"Name" : "Atari 800",
"GroupName" : "Atari",
"Cpu" : "6502B",
"Speed" : "1.79",
"Description" : "Atari 800 [placeholder].",
"SymbolFiles" : [
],
"ExtensionScripts" : [
],
"Parameters" : {
}
},
{
"Name" : "Atari 2600",
"GroupName" : "Atari",
"Cpu" : "6507",
"Speed" : "1.19",
"Description" : "Atari 2600 video game system.",
"SymbolFiles" : [
"RT:Atari/2600.sym65"
],
"ExtensionScripts" : [
"RT:Atari/Vis2600.cs"
],
"Parameters" : {
"load-address":"0xf000"
}
},
{
"Name" : "Atari 5200",
"GroupName" : "Atari",
"Cpu" : "6502C",
"Speed" : "1.79",
"Description" : "Atari 5200 [placeholder].",
"SymbolFiles" : [
],
"ExtensionScripts" : [
],
"Parameters" : {
}
},
{
"Name" : "Atari Lynx",
"GroupName" : "Atari",
"Cpu" : "65SC02",
"Speed" : "4",
"Description" : "Atari Lynx handheld game console.",
"SymbolFiles" : [
"RT:Atari/Lynx.sym65"
],
"ExtensionScripts" : [
],
"Parameters" : {
}
},
{
"Name" : "Commodore 64 (PRG)",
"GroupName" : "Commodore",
"Cpu" : "6510",
"Speed" : "1.023",
"Description" : "Commodore 64 home computer. The first two bytes hold the load address.",
"SymbolFiles" : [
"RT:Commodore/C64-Kernal.sym65"
],
"ExtensionScripts" : [
"RT:Commodore/VisC64.cs"
],
"Parameters" : {
"first-word-is-load-addr":"true",
"default-text-encoding":"c64-petscii"
}
},
{
"Name" : "Commodore 64 (BIN)",
"GroupName" : "Commodore",
"Cpu" : "6510",
"Speed" : "1.023",
"Description" : "Commodore 64 home computer. General binary file.",
"SymbolFiles" : [
"RT:Commodore/C64-Kernal.sym65"
],
"ExtensionScripts" : [
"RT:Commodore/VisC64.cs"
],
"Parameters" : {
"default-text-encoding":"c64-petscii"
}
},
{
"Name" : "Commodore 128",
"GroupName" : "Commodore",
"Cpu" : "8502",
"Speed" : "2",
"Description" : "Commodore 128 home computer.",
"SymbolFiles" : [
"RT:Commodore/C64-Kernal.sym65",
"RT:Commodore/C128-Kernal.sym65"
],
"ExtensionScripts" : [
"RT:Commodore/VisC64.cs"
],
"Parameters" : {
"default-text-encoding":"c64-petscii"
}
},
{
"Name" : "Commodore Pet 2001",
"GroupName" : "Commodore",
"Cpu" : "6502",
"Speed" : "1",
"Description" : "Commodore Pet [placeholder].",
"SymbolFiles" : [
],
"ExtensionScripts" : [
],
"Parameters" : {
"default-text-encoding":"c64-petscii"
}
},
{
"Name" : "NES",
"GroupName" : "Nintendo",
"Cpu" : "2A03",
"Speed" : "1.79",
"Description" : "Nintendo Entertainment System.",
"SymbolFiles" : [
"RT:Nintendo/NES.sym65"
],
"ExtensionScripts" : [
],
"Parameters" : {
}
},
{
"Name" : "Super NES",
"GroupName" : "Nintendo",
"Cpu" : "5A22",
"Speed" : "3.58",
"Description" : "Super Nintendo Entertainment System [placeholder].",
"SymbolFiles" : [
],
"ExtensionScripts" : [
],
"Parameters" : {
}
},
{
"Name" : "Generic 6502",
"GroupName" : "Generic",
"Cpu" : "6502",
"Speed" : "1",
"Description" : "Generic 6502-based system.",
"SymbolFiles" : [
],
"ExtensionScripts" : [
],
"Parameters" : {
}
},
{
"Name" : "Generic 6502 + Undoc",
"GroupName" : "Generic",
"Cpu" : "6502",
"Speed" : "1",
"Description" : "Generic 6502-based system, with undocumented opcodes enabled.",
"SymbolFiles" : [
],
"ExtensionScripts" : [
],
"Parameters" : {
"undocumented-opcodes":"true"
}
},
{
"Name" : "Generic 65C02",
"GroupName" : "Generic",
"Cpu" : "65C02",
"Speed" : "1",
"Description" : "Generic 65C02-based system.",
"SymbolFiles" : [
],
"ExtensionScripts" : [
],
"Parameters" : {
}
},
{
"Name" : "Generic W65C02",
"GroupName" : "Generic",
"Cpu" : "W65C02",
"Speed" : "1",
"Description" : "Generic W65C02-based system (65C02 with Rockwell and WDC extensions).",
"SymbolFiles" : [
],
"ExtensionScripts" : [
],
"Parameters" : {
}
},
{
"Name" : "Generic 65816",
"GroupName" : "Generic",
"Cpu" : "65816",
"Speed" : "1",
"Description" : "Generic 65816-based system.",
"SymbolFiles" : [
],
"ExtensionScripts" : [
],
"Parameters" : {
}
}
]
}