mirror of
https://github.com/fadden/6502bench.git
synced 2024-08-19 20:29:36 +00:00
On an Apple IIgs, the memory-mapped I/O locations are actually in bank $e0, shadow-copied to bank $00. This adds a copy of the relevant definitions from Cxxx-IO.sym65, with the addresses in bank $e0 and "_GS" appended to the labels. This is now included by default for the Apple IIgs system defintions. (I thought about just adding them to Cxxx-IO.sym65, but then they pollute the namespace for 8-bit systems. Stripping them out at run time got a little complicated because the platform symbols are only loaded once, and we'd have to reload them every time the CPU definition changed. Further, there are a few aliases provided as constants, and constants are allowed to be 32 bits on all systems, so those can't be stripped. Rather than defining a new definition I figured it was just easier to have a second file. Maintenance shouldn't be too taxing, as definitions for 40-year-old machines don't change all that often.) (I also thought about trying to make the address mirroring stuff work for me here, but that would result in accesses being made to the canonical address with an offset of +$e00000, which looks awful.)
325 lines
7.7 KiB
JSON
325 lines
7.7 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/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/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 65816",
|
|
"GroupName" : "Generic",
|
|
"Cpu" : "65816",
|
|
"Speed" : "1",
|
|
"Description" : "Generic 65816-based system.",
|
|
"SymbolFiles" : [
|
|
],
|
|
"ExtensionScripts" : [
|
|
],
|
|
"Parameters" : {
|
|
}
|
|
}
|
|
]
|
|
}
|