2018-09-28 17:05:11 +00:00
|
|
|
{
|
|
|
|
"_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/ProDOS8.sym65"
|
|
|
|
],
|
|
|
|
"ExtensionScripts" : [
|
2019-12-04 23:50:19 +00:00
|
|
|
"RT:Apple/ProDOS8.cs",
|
|
|
|
"RT:Apple/VisHiRes.cs"
|
2018-09-28 17:05:11 +00:00
|
|
|
],
|
|
|
|
"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/DOS33.sym65"
|
|
|
|
],
|
|
|
|
"ExtensionScripts" : [
|
2019-12-04 23:50:19 +00:00
|
|
|
"RT:Apple/VisHiRes.cs"
|
2018-09-28 17:05:11 +00:00
|
|
|
],
|
|
|
|
"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/ProDOS8.sym65",
|
|
|
|
"RT:Apple/IIgs-ROM.sym65"
|
|
|
|
],
|
|
|
|
"ExtensionScripts" : [
|
2019-12-04 23:50:19 +00:00
|
|
|
"RT:Apple/ProDOS8.cs",
|
|
|
|
"RT:Apple/VisHiRes.cs"
|
2018-09-28 17:05:11 +00:00
|
|
|
],
|
|
|
|
"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/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"
|
|
|
|
}
|
|
|
|
},
|
2018-09-28 23:10:05 +00:00
|
|
|
{
|
|
|
|
"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" : [
|
2019-08-02 23:06:27 +00:00
|
|
|
"RT:Apple/SOS.cs"
|
2018-09-28 23:10:05 +00:00
|
|
|
],
|
|
|
|
"Parameters" : {
|
Optionally treat BRKs as two-byte instructions
Early data sheets listed BRK as one byte, but RTI after a BRK skips
the following byte, effectively making BRK a 2-byte instruction.
Sometimes, such as when diassembling Apple /// SOS code, it's handy
to treat it that way explicitly.
This change makes two-byte BRKs optional, controlled by a checkbox
in the project settings. In the system definitions it defaults to
true for Apple ///, false for all others.
ACME doesn't allow BRK to have an arg, and cc65 only allows it for
65816 code (?), so it's emitted as a hex blob for those assemblers.
Anyone wishing to target those assemblers should stick to 1-byte mode.
Extension scripts have to switch between formatting one byte of
inline data and formatting an instruction with a one-byte operand.
A helper function has been added to the plugin Util class.
To get some regression test coverage, 2022-extension-scripts has
been configured to use two-byte BRK.
Also, added/corrected some SOS constants.
See also issue #44.
2019-10-09 21:55:56 +00:00
|
|
|
"load-address":"0x2000",
|
|
|
|
"two-byte-brk":"true"
|
2018-09-28 23:10:05 +00:00
|
|
|
}
|
|
|
|
},
|
2019-10-26 15:26:39 +00:00
|
|
|
{
|
|
|
|
"Name" : "Apple-1",
|
|
|
|
"GroupName" : "Apple",
|
|
|
|
"Cpu" : "6502",
|
|
|
|
"Speed" : "1",
|
|
|
|
"Description" : "Apple-1 system.",
|
|
|
|
"SymbolFiles" : [
|
|
|
|
"RT:Apple/Apple1.sym65"
|
|
|
|
],
|
|
|
|
"ExtensionScripts" : [
|
|
|
|
],
|
|
|
|
"Parameters" : {
|
|
|
|
}
|
|
|
|
},
|
2018-09-28 17:05:11 +00:00
|
|
|
{
|
|
|
|
"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" : [
|
2020-01-15 23:00:30 +00:00
|
|
|
"RT:Atari/Vis2600.cs"
|
2018-09-28 17:05:11 +00:00
|
|
|
],
|
|
|
|
"Parameters" : {
|
|
|
|
"load-address":"0xf000"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"Name" : "Atari 5200",
|
|
|
|
"GroupName" : "Atari",
|
|
|
|
"Cpu" : "6502C",
|
|
|
|
"Speed" : "1.79",
|
|
|
|
"Description" : "Atari 5200 [placeholder].",
|
|
|
|
"SymbolFiles" : [
|
|
|
|
],
|
|
|
|
"ExtensionScripts" : [
|
|
|
|
],
|
|
|
|
"Parameters" : {
|
|
|
|
}
|
|
|
|
},
|
2018-10-02 20:18:45 +00:00
|
|
|
{
|
|
|
|
"Name" : "Atari Lynx",
|
|
|
|
"GroupName" : "Atari",
|
|
|
|
"Cpu" : "65SC02",
|
2018-10-08 19:49:26 +00:00
|
|
|
"Speed" : "4",
|
2018-10-11 21:49:40 +00:00
|
|
|
"Description" : "Atari Lynx handheld game console.",
|
2018-10-02 20:18:45 +00:00
|
|
|
"SymbolFiles" : [
|
2018-10-11 21:49:40 +00:00
|
|
|
"RT:Atari/Lynx.sym65"
|
2018-10-02 20:18:45 +00:00
|
|
|
],
|
|
|
|
"ExtensionScripts" : [
|
|
|
|
],
|
|
|
|
"Parameters" : {
|
|
|
|
}
|
|
|
|
},
|
2018-09-28 17:05:11 +00:00
|
|
|
{
|
|
|
|
"Name" : "Atari Arcade Cabinet",
|
|
|
|
"GroupName" : "Atari",
|
|
|
|
"Cpu" : "6502",
|
|
|
|
"Speed" : "1.512",
|
|
|
|
"Description" : "Atari arcade cabinet, e.g. Battlezone [placeholder].",
|
|
|
|
"SymbolFiles" : [
|
|
|
|
],
|
|
|
|
"ExtensionScripts" : [
|
|
|
|
],
|
|
|
|
"Parameters" : {
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
2018-10-23 19:30:19 +00:00
|
|
|
"Name" : "Commodore 64 (PRG)",
|
2018-09-28 17:05:11 +00:00
|
|
|
"GroupName" : "Commodore",
|
|
|
|
"Cpu" : "6510",
|
|
|
|
"Speed" : "1.023",
|
2018-10-23 19:30:19 +00:00
|
|
|
"Description" : "Commodore 64 home computer. The first two bytes hold the load address.",
|
2018-09-28 17:05:11 +00:00
|
|
|
"SymbolFiles" : [
|
2018-10-11 16:49:49 +00:00
|
|
|
"RT:Commodore/C64-Kernal.sym65"
|
2018-09-28 17:05:11 +00:00
|
|
|
],
|
|
|
|
"ExtensionScripts" : [
|
2019-12-07 05:25:31 +00:00
|
|
|
"RT:Commodore/VisC64.cs"
|
2018-09-28 17:05:11 +00:00
|
|
|
],
|
|
|
|
"Parameters" : {
|
2019-08-15 00:59:52 +00:00
|
|
|
"first-word-is-load-addr":"true",
|
|
|
|
"default-text-encoding":"c64-petscii"
|
2018-09-28 17:05:11 +00:00
|
|
|
}
|
|
|
|
},
|
2018-10-23 19:30:19 +00:00
|
|
|
{
|
|
|
|
"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" : [
|
2019-12-07 05:25:31 +00:00
|
|
|
"RT:Commodore/VisC64.cs"
|
2018-10-23 19:30:19 +00:00
|
|
|
],
|
|
|
|
"Parameters" : {
|
2019-08-15 00:59:52 +00:00
|
|
|
"default-text-encoding":"c64-petscii"
|
2018-10-23 19:30:19 +00:00
|
|
|
}
|
|
|
|
},
|
2018-09-28 17:05:11 +00:00
|
|
|
{
|
|
|
|
"Name" : "Commodore 128",
|
|
|
|
"GroupName" : "Commodore",
|
|
|
|
"Cpu" : "8502",
|
|
|
|
"Speed" : "2",
|
2018-10-11 17:46:47 +00:00
|
|
|
"Description" : "Commodore 128 home computer.",
|
2018-09-28 17:05:11 +00:00
|
|
|
"SymbolFiles" : [
|
2018-10-11 17:46:47 +00:00
|
|
|
"RT:Commodore/C64-Kernal.sym65",
|
|
|
|
"RT:Commodore/C128-Kernal.sym65"
|
2018-09-28 17:05:11 +00:00
|
|
|
],
|
|
|
|
"ExtensionScripts" : [
|
2019-12-07 05:25:31 +00:00
|
|
|
"RT:Commodore/VisC64.cs"
|
2018-09-28 17:05:11 +00:00
|
|
|
],
|
|
|
|
"Parameters" : {
|
2019-08-15 00:59:52 +00:00
|
|
|
"default-text-encoding":"c64-petscii"
|
2018-09-28 17:05:11 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"Name" : "Commodore Pet 2001",
|
|
|
|
"GroupName" : "Commodore",
|
|
|
|
"Cpu" : "6502",
|
|
|
|
"Speed" : "1",
|
|
|
|
"Description" : "Commodore Pet [placeholder].",
|
|
|
|
"SymbolFiles" : [
|
|
|
|
],
|
|
|
|
"ExtensionScripts" : [
|
|
|
|
],
|
|
|
|
"Parameters" : {
|
2019-08-15 00:59:52 +00:00
|
|
|
"default-text-encoding":"c64-petscii"
|
2018-09-28 17:05:11 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"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" : {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|