diff --git a/asminc/cpu.mac b/asminc/cpu.mac index c66641078..15b16bad5 100644 --- a/asminc/cpu.mac +++ b/asminc/cpu.mac @@ -5,13 +5,15 @@ CPU_ISET_6502 = $0002 CPU_ISET_6502X = $0004 CPU_ISET_6502DTV = $0008 CPU_ISET_65SC02 = $0010 -CPU_ISET_65C02 = $0020 +CPU_ISET_65C02 = $0020 ; Rockwell extensions CPU_ISET_65816 = $0040 CPU_ISET_SWEET16 = $0080 CPU_ISET_HUC6280 = $0100 CPU_ISET_M740 = $0200 CPU_ISET_4510 = $0400 CPU_ISET_45GS02 = $0800 +CPU_ISET_W65C02 = $1000 ; WDC extensions +CPU_ISET_65CE02 = $2000 ; CSG extensions ; CPU capabilities ; make sure to only combine the instruction sets that are 100% compatible @@ -21,13 +23,16 @@ CPU_6502X = CPU_ISET_6502X | CPU_ISET_6502 CPU_6502DTV = CPU_ISET_6502DTV | CPU_ISET_6502 CPU_65SC02 = CPU_ISET_65SC02 | CPU_ISET_6502 CPU_65C02 = CPU_ISET_65C02 | CPU_ISET_6502 | CPU_ISET_65SC02 -CPU_65816 = CPU_ISET_65816 | CPU_ISET_6502 | CPU_ISET_65SC02 -CPU_SWEET16 = CPU_ISET_SWEET16 +CPU_W65C02 = CPU_ISET_W65C02 | CPU_ISET_6502 | CPU_ISET_65SC02 | CPU_ISET_65C02 + ; FIXME: CPU_ISET_65SC02 does not apply to the following, because the zp-indirect ; addressing was replaced with zp-indirect,z-indexed in 652SCE02 -; NOTE: HUC6280 removes "wai" ($cb) and "stp" ($db) from the 65C02 instruction set + CPU_HUC6280 = CPU_ISET_HUC6280 | CPU_ISET_6502 | CPU_ISET_65C02 -; NOTE: 4510 replaces "wai" ($cb) and "stp" ($db) of the 65C02 instruction set -CPU_4510 = CPU_ISET_4510 | CPU_ISET_6502 | CPU_ISET_65C02 -CPU_45GS02 = CPU_ISET_45GS02 | CPU_ISET_6502 | CPU_ISET_65C02 | CPU_ISET_4510 +CPU_4510 = CPU_ISET_4510 | CPU_ISET_6502 | CPU_ISET_65C02 | CPU_ISET_65CE02 +CPU_45GS02 = CPU_ISET_45GS02 | CPU_ISET_6502 | CPU_ISET_65C02 | CPU_ISET_65CE02 | CPU_ISET_4510 CPU_M740 = CPU_ISET_M740 | CPU_ISET_6502 +CPU_65CE02 = CPU_ISET_65CE02 | CPU_ISET_6502 | CPU_ISET_65C02 + +CPU_65816 = CPU_ISET_65816 | CPU_ISET_6502 | CPU_ISET_65SC02 +CPU_SWEET16 = CPU_ISET_SWEET16 diff --git a/doc/ca65.sgml b/doc/ca65.sgml index 7b36abec5..b7e8539af 100644 --- a/doc/ca65.sgml +++ b/doc/ca65.sgml @@ -156,12 +156,14 @@ Here is a description of all the command line options: 6502X - NMOS 6502 with all undocumented instructions 6502DTV - the emulated CPU of the C64DTV device 65SC02 - first CMOS instruction set (no bit manipulation, no wai/stp) - 65C02 - full CMOS instruction set (has bit manipulation and wai/stp) - 65816 - the CPU of the SNES, and the SCPU - HuC6280 - the CPU of the PC engine + 65C02 - CMOS with Rockwell extensions + W65C02 - full CMOS instruction set (has bit manipulation and wai/stp) + 65CE02 - CMOS with CSG extensions 4510 - the CPU of the Commodore C65 45GS02 - the CPU of the Commodore MEGA65 + HuC6280 - the CPU of the PC engine M740 - a Microcontroller by Mitsubishi + 65816 - the CPU of the SNES, and the SCPU sweet16 - an interpreter for a pseudo 16 bit CPU @@ -449,16 +451,24 @@ The assembler accepts command was given). all valid 65C02 mnemonics when in (after the command was given). -all valid 65816 mnemonics when in (after the - command was given). +all valid W65C02 mnemonics when in (after the + command was given). +all valid 65CE02 mnemonics when in (after the + command was given). all valid 4510 mnemonics when in (after the command was given). all valid 45GS02 mnemonics when in (after the command was given). +all valid HuC6280 mnemonics when in (after the + command was given). all valid M740 mnemonics when in (after the command was given). +all valid 65816 mnemonics when in (after the + command was given). +for more details on the various CPUs, see . + On 6502-derived platforms the 65SC02 mode