1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-09-06 01:55:11 +00:00
6502bench/SourceGen/RuntimeData/SystemDefs.json
Andy McFadden e82dc31da6 Move Disk ][ defs into separate platform symbol file
The Disk ][ I/O locations are generally accessed as an offset, using
something like "LDA $C08n,X".  However the range from $C080-C08F is
already used for language card in slot 0.  SourceGen doesn't have a
way to distinguish between indexed and direct accesses, and even if
it did there's no way to separate one peripheral card from another
without knowing the contents of the CPU register.

As a workaround, the Disk ][ definitions are now in a separate symbol
file.  When loaded, the definitions replace the base slot 0 equates.

I figure Disk ][ accesses are more common than language card
manipulation, so I'm making it a default for new projects.  Existing
projects that reference the Disk ][ symbols (which existed, but as
constants) will need to be updated to include the new .sym65.
2020-07-11 13:23:46 -07:00

323 lines
7.6 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/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/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" : {
}
}
]
}