From a9b22a67eaf2d0349277e5ac11e7cf21881e79fe Mon Sep 17 00:00:00 2001 From: 0kmg <9137159+0kmg@users.noreply.github.com> Date: Mon, 19 Sep 2022 11:43:55 -0800 Subject: Renamed n2a03 to rp2a03 throughout source tree. (#10343) --- docs/source/techspecs/m6502.rst | 6 +- hash/vgmplay.xml | 890 +++++++++++++------------- scripts/src/cpu.lua | 84 +-- src/devices/cpu/m6502/dn2a03.lst | 20 - src/devices/cpu/m6502/drp2a03.lst | 20 + src/devices/cpu/m6502/m6502.txt | 2 +- src/devices/cpu/m6502/n2a03.cpp | 121 ---- src/devices/cpu/m6502/n2a03.h | 96 --- src/devices/cpu/m6502/n2a03d.cpp | 17 - src/devices/cpu/m6502/n2a03d.h | 28 - src/devices/cpu/m6502/on2a03.lst | 299 --------- src/devices/cpu/m6502/orp2a03.lst | 299 +++++++++ src/devices/cpu/m6502/rp2a03.cpp | 121 ++++ src/devices/cpu/m6502/rp2a03.h | 96 +++ src/devices/cpu/m6502/rp2a03d.cpp | 17 + src/devices/cpu/m6502/rp2a03d.h | 28 + src/devices/sound/nes_apu.cpp | 4 +- src/devices/sound/nes_apu.h | 2 +- src/devices/sound/nes_defs.h | 2 +- src/mame/nintendo/cham24.cpp | 8 +- src/mame/nintendo/dkong.cpp | 24 +- src/mame/nintendo/dkong.h | 10 +- src/mame/nintendo/dkong_a.cpp | 12 +- src/mame/nintendo/famibox.cpp | 10 +- src/mame/nintendo/m6502_swap_op_d5_d6.cpp | 30 +- src/mame/nintendo/m6502_swap_op_d5_d6.h | 14 +- src/mame/nintendo/multigam.cpp | 6 +- src/mame/nintendo/nes.cpp | 6 +- src/mame/nintendo/nes_arcade_bl.cpp | 6 +- src/mame/nintendo/nes_clone.cpp | 8 +- src/mame/nintendo/nes_m8.cpp | 8 +- src/mame/nintendo/nes_m82.cpp | 8 +- src/mame/nintendo/nes_sh6578.cpp | 18 +- src/mame/nintendo/nes_vt09_soc.h | 2 +- src/mame/nintendo/nes_vt32_soc.cpp | 2 +- src/mame/nintendo/nes_vt32_soc.h | 2 +- src/mame/nintendo/nes_vt369_vtunknown_soc.cpp | 8 +- src/mame/nintendo/nes_vt369_vtunknown_soc.h | 2 +- src/mame/nintendo/nes_vt_soc.cpp | 10 +- src/mame/nintendo/nes_vt_soc.h | 2 +- src/mame/nintendo/playch10.cpp | 6 +- src/mame/nintendo/punchout.cpp | 4 +- src/mame/nintendo/punchout.h | 4 +- src/mame/nintendo/vsnes.cpp | 14 +- src/mame/virtual/vgmplay.cpp | 8 +- src/osd/modules/debugger/debuggdbstub.cpp | 2 +- 46 files changed, 1195 insertions(+), 1191 deletions(-) delete mode 100644 src/devices/cpu/m6502/dn2a03.lst create mode 100644 src/devices/cpu/m6502/drp2a03.lst delete mode 100644 src/devices/cpu/m6502/n2a03.cpp delete mode 100644 src/devices/cpu/m6502/n2a03.h delete mode 100644 src/devices/cpu/m6502/n2a03d.cpp delete mode 100644 src/devices/cpu/m6502/n2a03d.h delete mode 100644 src/devices/cpu/m6502/on2a03.lst create mode 100644 src/devices/cpu/m6502/orp2a03.lst create mode 100644 src/devices/cpu/m6502/rp2a03.cpp create mode 100644 src/devices/cpu/m6502/rp2a03.h create mode 100644 src/devices/cpu/m6502/rp2a03d.cpp create mode 100644 src/devices/cpu/m6502/rp2a03d.h diff --git a/docs/source/techspecs/m6502.rst b/docs/source/techspecs/m6502.rst index c4cb45f5cea..b7fdab5d895 100644 --- a/docs/source/techspecs/m6502.rst +++ b/docs/source/techspecs/m6502.rst @@ -26,7 +26,7 @@ The MOS 6502 family has been large and productive. A large number of variants ex | +------+--------+--+--+-------+-------+ | | | | | | - 6510 deco16 6504 6509 n2a03 65c02 + 6510 deco16 6504 6509 rp2a03 65c02 | | +-----+-----+ r65c02 | | | | @@ -46,7 +46,7 @@ The 6504 is a pin and address-bus reduced version. The 6509 adds internal support for paging. -The n2a03 is the NES variant with the D flag disabled and sound functionality integrated. +The rp2a03 is the NES variant with the D flag disabled and sound functionality integrated. The 65c02 is the very first cmos variant with some additional instructions, some fixes, and most of the undocumented instructions turned into nops. The R (Rockwell, but eventually produced by WDC too among others) variant adds a number of bitwise instructions and also stp and wai. The SC variant, used by the Lynx portable console, looks identical to the R variant. The 'S' probably indicates a static-ram-cell process allowing full DC-to-max clock control. @@ -374,6 +374,6 @@ Current TO-DO: - Integrate the I/O subsystems in the 4510 -- Possibly integrate the sound subsytem in the n2a03 +- Possibly integrate the sound subsytem in the rp2a03 - Add decent hookups for the Apple 3 madness diff --git a/hash/vgmplay.xml b/hash/vgmplay.xml index 47b11e260b2..552ad61d689 100644 --- a/hash/vgmplay.xml +++ b/hash/vgmplay.xml @@ -423,7 +423,7 @@ license:CC0 Famicom Disk System BIOS (FDS) 1986 Nintendo - + @@ -1276,7 +1276,7 @@ license:CC0 M82 Game Selectable Working Product Display (Kiosk) 199? Nintendo - + @@ -2401,7 +2401,7 @@ license:CC0 Yuu Maze (NES) 1988 Taito - + @@ -3384,7 +3384,7 @@ license:CC0 Arm Wrestling (Arcade) 1985 Nintendo of America - + @@ -7878,7 +7878,7 @@ license:CC0 Donkey Kong 3 (Arcade) 1984 Nintendo - + @@ -9703,7 +9703,7 @@ license:CC0 FamicomBox (Arcade) 1986 Nintendo - + @@ -18316,7 +18316,7 @@ license:CC0 Punch-Out!! (Arcade) 1984 Nintendo - + @@ -27867,7 +27867,7 @@ license:CC0 Vs. Balloon Fight (Nintendo VS. System) 1985 Nintendo - + @@ -27958,7 +27958,7 @@ license:CC0 Vs. Duck Hunt (Nintendo Vs. Unisystem) 1985 Nintendo - + @@ -28025,7 +28025,7 @@ license:CC0 Vs. Hogan's Alley (Nintendo Vs. Unisystem) 1985 Nintendo - + @@ -28080,7 +28080,7 @@ license:CC0 VS Ninja JaJaMaru-kun (VS System) 1985 Jaleco - + @@ -28171,7 +28171,7 @@ license:CC0 Vs Raid on Bungeling Bay (VS System) 1985 Nintendo - + @@ -106660,7 +106660,7 @@ license:CC0 10-Yard Fight (NES) 1985 Irem (AC / FC) / Nintendo (U) - + @@ -106679,7 +106679,7 @@ license:CC0 1942 (NES) 1985 Capcom - + @@ -106722,7 +106722,7 @@ license:CC0 1943 - The Battle of Midway (NES) 1988 Capcom - + @@ -106825,7 +106825,7 @@ license:CC0 720° (NES) 1989 Mindscape - + @@ -106856,7 +106856,7 @@ license:CC0 98 in 1 (NES) 19?? Unknown - + @@ -106869,7 +106869,7 @@ license:CC0 Abadox - The Deadly Inner War (NES) 1989 Natsume (J) / Milton Bradley (U) - + @@ -106948,7 +106948,7 @@ license:CC0 Adam & Eve (NES) 1991 Mega Soft / Caltron / NTDEC / Asder / Gluk Video - + @@ -106985,7 +106985,7 @@ license:CC0 After Burner (NES) 1989 Sega (AC) / Tengen (NES) - + @@ -107022,7 +107022,7 @@ license:CC0 After Burner II (NES) 1989 Sega (AC) / Sunsoft (FC) - + @@ -107065,7 +107065,7 @@ license:CC0 Aighina no Yogen - Balubalouk no Densetsu Yori (Family Computer) 1986 Vic Tokai - + @@ -107156,7 +107156,7 @@ license:CC0 Aliens - Alien 2 (Family Computer Disk System) 1987 Square - + @@ -107217,7 +107217,7 @@ license:CC0 Alien Syndrome (NES) 1989 Tengen (U) / Sunsoft (J) - + @@ -107315,7 +107315,7 @@ license:CC0 Alter Ego (NES) 2011 Shiru - + @@ -107382,7 +107382,7 @@ license:CC0 Argus (Family Computer) 1986 Jaleco - + @@ -107449,7 +107449,7 @@ license:CC0 Arkanoid (NES) 1987 Taito - + @@ -107486,7 +107486,7 @@ license:CC0 Arkanoid II (NES) 1988 Taito Corporation - + @@ -107620,7 +107620,7 @@ license:CC0 Asterix (NES) 1993 Infogrames - + @@ -107711,7 +107711,7 @@ license:CC0 Athena (NES) 1987 SNK - + @@ -107796,7 +107796,7 @@ license:CC0 Atlantis no Nazo (NES) 1986 Sunsoft (JP); Activision (US, Proto) - + @@ -107845,7 +107845,7 @@ license:CC0 Babel no Tou (NES) 1986 Namco - + @@ -107900,7 +107900,7 @@ license:CC0 Balloon Fight (NES) 1985 Nintendo - + @@ -107979,7 +107979,7 @@ license:CC0 Baseball (NES) 1985 Nintendo - + @@ -108022,7 +108022,7 @@ license:CC0 Batman - Return of The Joker (NES) 1991 Sunsoft - + @@ -108119,7 +108119,7 @@ license:CC0 Batman - The Video Game (NES) 1990 Sunsoft - + @@ -108192,7 +108192,7 @@ license:CC0 Batman Returns (NES) 1992 Konami - + @@ -108380,7 +108380,7 @@ license:CC0 Battle City (NES) 1985 Namco - + @@ -108405,7 +108405,7 @@ license:CC0 Binary Land (NES) 1985 Hudson - + @@ -108533,7 +108533,7 @@ license:CC0 Bio Senshi Dan - Increaser to no Tatakai (Family Computer) 1987 Jaleco - + @@ -108684,7 +108684,7 @@ license:CC0 Blackjack (NES) 1992 American Video - + @@ -108709,7 +108709,7 @@ license:CC0 Blaster Master (NES) 1988 Sunsoft - + @@ -108800,7 +108800,7 @@ license:CC0 Bomberman (NES) 1989 Hudson - + @@ -108867,7 +108867,7 @@ license:CC0 Bomberman II (NES) 1993 Hudson Soft - + @@ -108982,7 +108982,7 @@ license:CC0 Booby Kids (NES) 1987 Nichibutsu - + @@ -109061,7 +109061,7 @@ license:CC0 Bubble Bobble (NES) 1988 Taito (U / FDS) / Nintendo (E) / Mattel (AU) - + @@ -109116,7 +109116,7 @@ license:CC0 Burai Fighter (NES) 1990 Taxan (UE) / Taito (J) - + @@ -109177,7 +109177,7 @@ license:CC0 BurgerTime (NES) 1987 Data East (NES U / FDS) / Namco (FC) - + @@ -109208,7 +109208,7 @@ license:CC0 Caesar's Palace (NES) 1992 Virgin Games - + @@ -109239,7 +109239,7 @@ license:CC0 Captain Tsubasa Vol. II - Super Striker (NES) 1990 Tecmo - + @@ -109486,7 +109486,7 @@ license:CC0 Castelian (NES) 1991 Triffix (U) / The Sales Curve (E) / Hiro (J) - + @@ -109523,7 +109523,7 @@ license:CC0 Castlevania (NES) 1987 Konami (NES / FDS / FC) / Nintendo (AC) - + @@ -109626,7 +109626,7 @@ license:CC0 Castlevania III - Dracula's Curse (NES) 1990 Konami (U) / Palcom (E) - + @@ -109801,7 +109801,7 @@ license:CC0 Castlevania II - Simon's Quest (NES) 1988 Konami - + @@ -109862,7 +109862,7 @@ license:CC0 Castle of Dragon (NES) 1990 Seta USA (U) / Athena (J) - + @@ -109965,7 +109965,7 @@ license:CC0 Chack'n Pop (NES) 1985 Taito - + @@ -110002,7 +110002,7 @@ license:CC0 Challenger (NES) 1985 Hudson - + @@ -110045,7 +110045,7 @@ license:CC0 Chaos World (Family Computer) 1991 Natsume - + @@ -110196,7 +110196,7 @@ license:CC0 Chester Field - Episode II Ankoku Shin e no Chousen (Family Computer) 1987 Vic Tokai - + @@ -110317,7 +110317,7 @@ license:CC0 Choplifter (NES) 1986 Jaleco - + @@ -110342,7 +110342,7 @@ license:CC0 Choujin Sentai Jetman (NES) 1991 Angel - + @@ -110457,7 +110457,7 @@ license:CC0 Chuka Taisen (Family Computer) 1989 Taito - + @@ -110536,7 +110536,7 @@ license:CC0 Circus Caper (NES) 1990 Toho Co., Ltd. - + @@ -110699,7 +110699,7 @@ license:CC0 Circus Charlie (Family Computer) 1986 Soft Pro - + @@ -110730,7 +110730,7 @@ license:CC0 Clu Clu Land (NES) 1985 Nintendo - + @@ -110779,7 +110779,7 @@ license:CC0 Contra (NES) 1988 Konami - + @@ -110864,7 +110864,7 @@ license:CC0 Contra Force (NES) 1992 Konami - + @@ -110955,7 +110955,7 @@ license:CC0 Crisis Force (Family Computer) 1991 Konami - + @@ -111034,7 +111034,7 @@ license:CC0 Dark Lord (Family Computer) 1991 Data East - + @@ -111203,7 +111203,7 @@ license:CC0 Deadly Towers (NES) 1987 Broderbund (U) / Irem (J) - + @@ -111366,7 +111366,7 @@ license:CC0 Deathbots (NES) 1990 American Video - + @@ -111518,7 +111518,7 @@ license:CC0 Defender II (NES) 1988 HAL Laboratory - + @@ -111543,7 +111543,7 @@ license:CC0 Destiny of an Emperor (NES) 1989 Capcom - + @@ -111670,7 +111670,7 @@ license:CC0 Devil World (NES) 1987 Nintendo - + @@ -111707,7 +111707,7 @@ license:CC0 Dezaemon (Family Computer) 1991 Athena - + @@ -111756,7 +111756,7 @@ license:CC0 Dian Shi Ma Li (Dendy) 1989 Fiver Firm - + @@ -111781,7 +111781,7 @@ license:CC0 Digital Devil Story - Megami Tensei (Family Computer) 1987 Namco - + @@ -111908,7 +111908,7 @@ license:CC0 Dig Dug (NES) 1985 Namco - + @@ -111969,7 +111969,7 @@ license:CC0 Dig Dug II (NES) 1989 Bandai (U) / Namco (J, FDS) - + @@ -112036,7 +112036,7 @@ license:CC0 Donkey Kong (NES) 1983 Nintendo - + @@ -112121,7 +112121,7 @@ license:CC0 Donkey Kong 3 (NES) 1984 Nintendo - + @@ -112182,7 +112182,7 @@ license:CC0 Donkey Kong Country 4 (Dendy) 1997 Nintendo (SNES) / Hummer Team (Dendy) - + @@ -112267,7 +112267,7 @@ license:CC0 Donkey Kong Jr. (NES) 1983 Nintendo - + @@ -112394,7 +112394,7 @@ license:CC0 Don Doko Don (NES) 1990 Taito - + @@ -112473,7 +112473,7 @@ license:CC0 Doraemon (Family Computer) 1987 Hudson - + @@ -112594,7 +112594,7 @@ license:CC0 Double Dragon III - The Sacred Stones (NES) 1991 Technos Japan (J) / Acclaim (UE) - + @@ -112727,7 +112727,7 @@ license:CC0 Double Dribble (NES) 1987 Konami - + @@ -112782,7 +112782,7 @@ license:CC0 Dr. Jekyll and Mr. Hyde (NES) 1989 Bandai (U) / Toho (J) - + @@ -112897,7 +112897,7 @@ license:CC0 Dr. Mario (NES) 1990 Nintendo - + @@ -112970,7 +112970,7 @@ license:CC0 Dracula II - Noroi no Fuuin (Family Computer Disk System) 1987 Konami - + @@ -113031,7 +113031,7 @@ license:CC0 Dragon Buster (NES) 1987 Namco - + @@ -113104,7 +113104,7 @@ license:CC0 Dragon Buster II - Yami no Fuuin (Family Computer) 1989 Namco - + @@ -113207,7 +113207,7 @@ license:CC0 Dragon Fighter (NES) 1990 Towa Chiki (J) / Sofel (U) - + @@ -113292,7 +113292,7 @@ license:CC0 Dragon Spirit - The New Legend (NES) 1989 Bandai (U) / Namco (J) - + @@ -113413,7 +113413,7 @@ license:CC0 Dragon Warrior (NES) 1989 Nintendo (U) / Enix (J) - + @@ -113570,7 +113570,7 @@ license:CC0 Dragon Warrior III (NES) 1992 Enix - + @@ -113781,7 +113781,7 @@ license:CC0 Dragon Warrior II (NES) 1990 Nintendo (U) / Enix (J) - + @@ -113938,7 +113938,7 @@ license:CC0 Dragon Warrior IV (NES) 1992 Enix - + @@ -114227,7 +114227,7 @@ license:CC0 DuckTales (NES) 1989 Capcom - + @@ -114312,7 +114312,7 @@ license:CC0 Duck Hunt (NES) 1984 Nintendo - + @@ -114349,7 +114349,7 @@ license:CC0 Elevator Action (NES) 1987 Taito - + @@ -114362,7 +114362,7 @@ license:CC0 Excitebike (NES, Hyundai Comboy) 1985 Nintendo - + @@ -114442,7 +114442,7 @@ license:CC0 Exed Exes (NES) 1985 Tokuma Shoten - + @@ -114491,7 +114491,7 @@ license:CC0 Exerion (NES) 1985 Jaleco - + @@ -114504,7 +114504,7 @@ license:CC0 F-1 Race (NES) 1984 Nintendo - + @@ -114529,7 +114529,7 @@ license:CC0 Falsion (Family Computer Disk System) 1987 Konami - + @@ -114663,7 +114663,7 @@ license:CC0 Famicom Jump - Hero Retsuden (Family Computer) 1989 Bandai - + @@ -114886,7 +114886,7 @@ license:CC0 Famicom Jump II - Saikyo no 7-nin (Family Computer) 1991 Bandai - + @@ -115170,7 +115170,7 @@ license:CC0 Famicom Yarou 54 (NES) 19?? Unknown - + @@ -115183,7 +115183,7 @@ license:CC0 Famista '90 (NES) 1989 Namco - + @@ -115268,7 +115268,7 @@ license:CC0 Famista '91 (NES) 1990 Namco - + @@ -115407,7 +115407,7 @@ license:CC0 Famista '93 (NES) 1992 Namco - + @@ -115534,7 +115534,7 @@ license:CC0 Fantasy Zone (NES) 1987 Sunsoft - + @@ -115625,7 +115625,7 @@ license:CC0 Fantasy Zone (NES) Tengen 1989 Tengen - + @@ -115710,7 +115710,7 @@ license:CC0 Fantasy Zone II - The Teardrop of Opa-Opa (NES) 1988 Sunsoft - + @@ -115801,7 +115801,7 @@ license:CC0 Faxanadu (NES) 1987 Hudson - + @@ -116050,7 +116050,7 @@ license:CC0 Final Fantasy (NES) 1990 Square - + @@ -116183,7 +116183,7 @@ license:CC0 Final Fantasy III (Family Computer) 1990 Square - + @@ -116544,7 +116544,7 @@ license:CC0 Final Fantasy II (Family Computer) 1988 Square - + @@ -116695,7 +116695,7 @@ license:CC0 Final Mission (Family Computer) 1990 Natsume - + @@ -116774,7 +116774,7 @@ license:CC0 Fire 'n Ice (NES) 1993 Tecmo - + @@ -116925,7 +116925,7 @@ license:CC0 Fire Emblem - Ankoku Ryu to Hikari no Tsurugi (Family Computer) 1990 Nintendo - + @@ -117124,7 +117124,7 @@ license:CC0 Fire Emblem Gaiden (Family Computer) 1992 Nintendo - + @@ -117335,7 +117335,7 @@ license:CC0 Fleet Commander (Family Computer) 1988 Ascii - + @@ -117354,7 +117354,7 @@ license:CC0 Flying Dragon - The Secret Scroll (NES) 1989 Nihon Game (Culture Brain) - + @@ -117439,7 +117439,7 @@ license:CC0 Flying Hero (NES) 1989 Epic - + @@ -117506,7 +117506,7 @@ license:CC0 Flying Warriors (NES) 1991 Culture Brain - + @@ -117693,7 +117693,7 @@ license:CC0 Formation Z (NES) 1985 Jaleco - + @@ -117712,7 +117712,7 @@ license:CC0 Freedom Force (NES) 1988 Sun Corporation of America - + @@ -117827,7 +117827,7 @@ license:CC0 Friday the 13th (NES) 1989 LJN - + @@ -117864,7 +117864,7 @@ license:CC0 Galaga (NES) 1988 Bandai (UE) / Namco (J) - + @@ -117931,7 +117931,7 @@ license:CC0 Galaxian (NES) 1984 Namco - + @@ -117999,7 +117999,7 @@ license:CC0 Ganbare Goemon! Karakuri Douchuu (Family Computer) 1986 Konami - + @@ -118114,7 +118114,7 @@ license:CC0 Ganbare Goemon 2 (Family Computer) 1989 Konami - + @@ -118241,7 +118241,7 @@ license:CC0 Ganbare Goemon Gaiden 2 - Tenka no Zaiho (Family Computer) 1992 Konami - + @@ -118842,7 +118842,7 @@ license:CC0 Ganso Saiyuuki - Super Monkey Daibouken (Family Computer) 1986 Vap - + @@ -118879,7 +118879,7 @@ license:CC0 Gargoyle's Quest II (NES) 1992 Capcom - + @@ -119012,7 +119012,7 @@ license:CC0 Genpei Toumaden - Computer Boardgame (NES) 1988 Namco - + @@ -119145,7 +119145,7 @@ license:CC0 Getsu Fuuma Den (Family Computer) 1987 Konami - + @@ -119242,7 +119242,7 @@ license:CC0 Ghostbusters (NES) 1986 Activision (U) / Tokuma Shoten (J) - + @@ -119261,7 +119261,7 @@ license:CC0 Ghosts 'N Goblins (NES) 1986 Capcom - + @@ -119552,7 +119552,7 @@ license:CC0 Golgo 13 - Top Secret Episode (Family Computer) 1988 Vic Tokai - + @@ -119703,7 +119703,7 @@ license:CC0 Gomoku Narabe Renju (Family Computer) 1983 Nintendo - + @@ -119752,7 +119752,7 @@ license:CC0 Gradius (NES) 1986 Konami - + @@ -119831,7 +119831,7 @@ license:CC0 Gradius II (Family Computer) 1988 Konami - + @@ -119928,7 +119928,7 @@ license:CC0 Green Beret (NES) 1987 Konami - + @@ -120067,7 +120067,7 @@ license:CC0 Guerrilla War (NES) 1987 SNK - + @@ -120164,7 +120164,7 @@ license:CC0 Gumshoe (NES) 1986 Nintendo - + @@ -120255,7 +120255,7 @@ license:CC0 Gyrodine (NES) 1987 Taito - + @@ -120274,7 +120274,7 @@ license:CC0 Gyromite (NES) 1985 Nintendo - + @@ -120347,7 +120347,7 @@ license:CC0 Happily Ever After (NES) 1991 Sofel - + @@ -120420,7 +120420,7 @@ license:CC0 Heracles no Eikou II - Titan no Metsubou (Family Computer) 1989 Data East - + @@ -120541,7 +120541,7 @@ license:CC0 Higemaru Makaijima - Nanatsu no Shima Daibouken (NES) 1987 Capcom - + @@ -120644,7 +120644,7 @@ license:CC0 Hikari no Senshi Photon - Wakusei Zoldias no Tatakai (Family Computer) 1987 Takara - + @@ -120904,7 +120904,7 @@ license:CC0 Hiryu no Ken III - 5 Nin no Ryu Senshi (Family Computer) 1990 Culture Brain - + @@ -121067,7 +121067,7 @@ license:CC0 Hiryu no Ken II - Dragon no Tsubasa (Family Computer) 1988 Culture Brain - + @@ -121266,7 +121266,7 @@ license:CC0 Hiryu no Ken Special - Fighting Wars (Family Computer) 1991 Culture Brain - + @@ -121375,7 +121375,7 @@ license:CC0 Hit the Ice (NES) 1993 Taito Corporation Japan - + @@ -121472,7 +121472,7 @@ license:CC0 Hi no Tori Hououhen - Gaou no Bouken (Family Computer) 1987 Konami - + @@ -121545,7 +121545,7 @@ license:CC0 Hogan's Alley (NES) 1985 Nintendo - + @@ -121594,7 +121594,7 @@ license:CC0 Holy Diver (Family Computer) 1989 Irem - + @@ -121709,7 +121709,7 @@ license:CC0 Huangdi- Zhuolu zhi Zhan (NES) 1994 Asder - + @@ -121824,7 +121824,7 @@ license:CC0 Hudson's Adventure Island (NES) 1988 Hudson - + @@ -122018,7 +122018,7 @@ license:CC0 Ice Climber (NES) 1985 Nintendo - + @@ -122238,7 +122238,7 @@ license:CC0 Ikki (NES) 1985 Sunsoft - + @@ -122269,7 +122269,7 @@ license:CC0 Image Fight (NES) 1990 Irem - + @@ -122415,7 +122415,7 @@ license:CC0 Insector X (Family Computer) 1990 Taito - + @@ -122658,7 +122658,7 @@ license:CC0 Journey to Silius (NES) 1990 Sunsoft (U, E, J) / Mattel (A) - + @@ -122737,7 +122737,7 @@ license:CC0 Joust (NES) 1988 HAL Laboratory - + @@ -122750,7 +122750,7 @@ license:CC0 Kai no Bouken - The Quest of Ki (NES) 1988 Namco - + @@ -122835,7 +122835,7 @@ license:CC0 Kanshaku Tamanage Kantarou no Tokaido Gojusan Tsugi (NES) 1986 Sunsoft - + @@ -122926,7 +122926,7 @@ license:CC0 Karnov (NES) 1988 Data East (U) / Namco (J) - + @@ -122987,7 +122987,7 @@ license:CC0 Kekkyoku Nankyoku Daibouken (NES) 1985 Konami - + @@ -123018,7 +123018,7 @@ license:CC0 Kick Master (NES) 1992 Taito - + @@ -123169,7 +123169,7 @@ license:CC0 Kidou Senshi Z-Gundam - Hot Scramble (Family Computer) 1986 Bandai - + @@ -123206,7 +123206,7 @@ license:CC0 Kid Icarus (NES) 1987 Nintendo - + @@ -123285,7 +123285,7 @@ license:CC0 Kid Niki - Radical Ninja (NES) 1987 Data East (U) / Irem (J) - + @@ -123352,7 +123352,7 @@ license:CC0 King's Knight (NES) 1986 Square - + @@ -123413,7 +123413,7 @@ license:CC0 King Kong 2 - Ikari no Megaton Punch (NES) 1986 Konami - + @@ -123498,7 +123498,7 @@ license:CC0 Kirby's Adventure (NES) 1993 Nintendo - + @@ -123757,7 +123757,7 @@ license:CC0 Kiwi Kraze (NES) 1991 Taito (U) / Ocean (E) - + @@ -123824,7 +123824,7 @@ license:CC0 Klax (NES) 1990 Tengen (US); Hudson (JP) - + @@ -123928,7 +123928,7 @@ license:CC0 Konami Wai Wai World (Family Computer) 1988 Konami - + @@ -124061,7 +124061,7 @@ license:CC0 Kujaku Ou (Family Computer) 1988 Pony Canyon - + @@ -124140,7 +124140,7 @@ license:CC0 Kujaku Ou II (Family Computer) 1990 Pony Canyon - + @@ -124225,7 +124225,7 @@ license:CC0 Kung Fu (NES) 1985 Nintendo - + @@ -124262,7 +124262,7 @@ license:CC0 Labyrinth - Maou no Meikyu (Family Computer) 1987 Tokumashoten - + @@ -124377,7 +124377,7 @@ license:CC0 Lagrange Point (Family Computer) 1991 Konami - + @@ -124570,7 +124570,7 @@ license:CC0 Lan Master (NES) 2011 Shiru - + @@ -124601,7 +124601,7 @@ license:CC0 Lawn Mower (NES) 2011 Shiru - + @@ -124638,7 +124638,7 @@ license:CC0 Legacy of The Wizard (NES) 1989 Broderbund (U) / Namcot (J) - + @@ -124741,7 +124741,7 @@ license:CC0 Lemmings (NES) 1992 Sunsoft (U) / Ocean (E) - + @@ -124808,7 +124808,7 @@ license:CC0 Les Chevaliers du Zodiaque - La Legende d'Or (NES) 1987 Bandai - + @@ -124869,7 +124869,7 @@ license:CC0 Life Force (NES) 1988 Konami - + @@ -124942,7 +124942,7 @@ license:CC0 Lode Runner (NES) 1987 Broderbund (U, LR only) / Hudson (J) - + @@ -124991,7 +124991,7 @@ license:CC0 Lot Lot (NES) 1985 Tokuma Shoten - + @@ -125022,7 +125022,7 @@ license:CC0 Low G Man - The Low Gravity Man (NES) 1990 Taxan - + @@ -125119,7 +125119,7 @@ license:CC0 Mach Rider (NES) 1985 Nintendo - + @@ -125192,7 +125192,7 @@ license:CC0 Madoola no Tsubasa (NES) 1986 Sunsoft - + @@ -125259,7 +125259,7 @@ license:CC0 Magician (NES) 1991 Taxan - + @@ -125380,7 +125380,7 @@ license:CC0 Mahjong (Family Computer) 1983 Nintendo - + @@ -125423,7 +125423,7 @@ license:CC0 Majou Densetsu II - Daimashikyou Galious (Family Computer) 1987 Konami - + @@ -125514,7 +125514,7 @@ license:CC0 Maniac Mansion (NES) 1990 Jaleco - + @@ -125611,7 +125611,7 @@ license:CC0 Mappy (NES) 1984 Namco - + @@ -125660,7 +125660,7 @@ license:CC0 Marble Madness (NES) 1989 Milton Bradley (U) / Hasbro (E) - + @@ -125715,7 +125715,7 @@ license:CC0 Mario Bros. (NES) 1983 Nintendo - + @@ -125758,7 +125758,7 @@ license:CC0 Marusa no Onna (Family Computer) 1989 Capcom - + @@ -125825,7 +125825,7 @@ license:CC0 Maxi 15 (NES) 1992 American Video - + @@ -125838,7 +125838,7 @@ license:CC0 Mega Man (NES) 1987 Capcom - + @@ -125941,7 +125941,7 @@ license:CC0 Mega Man 2 (NES) 1989 Capcom - + @@ -126104,7 +126104,7 @@ license:CC0 Mega Man 3 (NES) 1990 Capcom - + @@ -126255,7 +126255,7 @@ license:CC0 Mega Man 4 (NES) 1992 Capcom - + @@ -126442,7 +126442,7 @@ license:CC0 Mega Man 5 (NES) 1992 Capcom - + @@ -126611,7 +126611,7 @@ license:CC0 Mega Man 6 (NES) 1994 Capcom - + @@ -126925,7 +126925,7 @@ license:CC0 Metal Fighter (NES) 1989 Sachen / Kinema Music / Color Dreams - + @@ -126950,7 +126950,7 @@ license:CC0 Metal Gear (NES) 1988 Ultra (U) / Konami (JE) - + @@ -127029,7 +127029,7 @@ license:CC0 Metal Max (Family Computer) 1991 Data East - + @@ -127264,7 +127264,7 @@ license:CC0 Metro-Cross (NES) 1986 Namco - + @@ -127319,7 +127319,7 @@ license:CC0 Metroid (NES) 1987 Nintendo - + @@ -127398,7 +127398,7 @@ license:CC0 Mickey Mousecapade (NES) 1988 Capcom (U) / Hudson (J) - + @@ -127477,7 +127477,7 @@ license:CC0 Mighty Bomb Jack (NES) 1987 Tecmo - + @@ -127580,7 +127580,7 @@ license:CC0 Mike Tyson's Punch-Out!! (NES) 1987 Nintendo - + @@ -127707,7 +127707,7 @@ license:CC0 Millipede (NES) 1988 HAL Laboratory - + @@ -127726,7 +127726,7 @@ license:CC0 Milon's Secret Castle (NES) 1986 Hudson - + @@ -127853,7 +127853,7 @@ license:CC0 Miracle Ropit's Adventure in 2100 (NES) 1987 King Records / Animation 20 - + @@ -127914,7 +127914,7 @@ license:CC0 Mississippi Satsujin Jiken (Family Computer) 1986 Jaleco - + @@ -127987,7 +127987,7 @@ license:CC0 Monster in my Pocket (NES) 1992 Konami - + @@ -128127,7 +128127,7 @@ license:CC0 Moon Crystal (NES) 1992 Hect - + @@ -128254,7 +128254,7 @@ license:CC0 Mother (NES) 1988 Nintendo - + @@ -128501,7 +128501,7 @@ license:CC0 Ms. Pac-Man (NES) 1993 Namco - + @@ -128532,7 +128532,7 @@ license:CC0 MTV - Remote Control (NES) 1990 Hi-Tech Expressions - + @@ -128545,7 +128545,7 @@ license:CC0 Musashi no Ken - Tadaima Shugyou Chuu (NES) 1986 Taito - + @@ -128588,7 +128588,7 @@ license:CC0 Nazo no Murasamejou (Family Computer Disk System) 1986 Nintendo - + @@ -128649,7 +128649,7 @@ license:CC0 Ninja Gaiden (NES) 1988 Tecmo - + @@ -128836,7 +128836,7 @@ license:CC0 Ninja Hattori-kun (Family Computer) 1987 Hudson - + @@ -128897,7 +128897,7 @@ license:CC0 Nintendo World Championships 1990 (NES) 1990 Nintendo - + @@ -128928,7 +128928,7 @@ license:CC0 Nobunaga's Ambition (NES) 1988 Koei - + @@ -128989,7 +128989,7 @@ license:CC0 Nobunaga's Ambition II (NES) 1990 Koei - + @@ -129092,7 +129092,7 @@ license:CC0 Nobunaga no Yabou - Bushou Fuunroku (NES) 1991 Koei - + @@ -129249,7 +129249,7 @@ license:CC0 Operation Wolf (NES) 1989 Taito - + @@ -129292,7 +129292,7 @@ license:CC0 Over Horizon (NES) 1991 Hot-B (J) / Takara (E) - + @@ -129486,7 +129486,7 @@ license:CC0 Pac-Mania (NES) 1990 Tengen - + @@ -129547,7 +129547,7 @@ license:CC0 Pac-Man (NES) 1993 Namco (NES U 3rd launch, - + @@ -129566,7 +129566,7 @@ license:CC0 Parodius (NES) 1992 Palcom (E) / Konami (J) - + @@ -129705,7 +129705,7 @@ license:CC0 Penguin-Kun Wars (Family Computer) 1985 ASCII - + @@ -129718,7 +129718,7 @@ license:CC0 Phantom Fighter (NES) 1990 FCI (U) / Pony Canyon (J) - + @@ -129863,7 +129863,7 @@ license:CC0 Pinball (NES) 1984 Nintendo - + @@ -129882,7 +129882,7 @@ license:CC0 Poker Jingling (NES) 1990 TXC (As) / Hacker International (J) / Panesian (U) - + @@ -129949,7 +129949,7 @@ license:CC0 Pool of Radiance (NES) 1992 FCI (U) / Pony Canyon (J) - + @@ -130124,7 +130124,7 @@ license:CC0 Pooyan (Family Computer) 1985 Hudson Soft - + @@ -130239,7 +130239,7 @@ license:CC0 Power Blade 2 (NES) 1992 Taito - + @@ -130360,7 +130360,7 @@ license:CC0 Pro Yakyuu - Family Stadium '88 (NES) 1988 Namco - + @@ -130445,7 +130445,7 @@ license:CC0 Puzznic (NES) 1990 Taito (UE) / IGS (J) - + @@ -130500,7 +130500,7 @@ license:CC0 Quarth (Family Computer) 1990 Konami - + @@ -130549,7 +130549,7 @@ license:CC0 Radia Senki - Reimei Hen (NES) 1991 Tecmo - + @@ -130790,7 +130790,7 @@ license:CC0 Rad Racer (NES) 1987 Nintendo (UE); Mattel (CN); Square (J) - + @@ -130833,7 +130833,7 @@ license:CC0 Rainbow Islands - The Story of Bubble Bobble 2 (NES) 1991 Taito - + @@ -130984,7 +130984,7 @@ license:CC0 RBI Baseball (NES) 1988 Tengen (U) / Home Entertainment - + @@ -131033,7 +131033,7 @@ license:CC0 Renegade (NES) 1988 Taito (U) / Technos Japan (J) - + @@ -131136,7 +131136,7 @@ license:CC0 Road Fighter (NES) 1992 Palcom (E) / Konami (J) - + @@ -131167,7 +131167,7 @@ license:CC0 Road Runner (NES) 1989 Tengen - + @@ -131222,7 +131222,7 @@ license:CC0 Robert Byrne's Pool Challenge (NES) 1992 American Video - + @@ -131259,7 +131259,7 @@ license:CC0 Robocop (NES) 1989 Data East (JU) / Ocean (E) - + @@ -131320,7 +131320,7 @@ license:CC0 Robo Warrior (NES) 1988 Jaleco (UE) / Hudson (J) - + @@ -131411,7 +131411,7 @@ license:CC0 Rolling Thunder (NES) 1989 Tengen - + @@ -131454,7 +131454,7 @@ license:CC0 Route 16 Turbo (NES) 1985 Sunsoft - + @@ -131503,7 +131503,7 @@ license:CC0 Rygar (NES) 1987 Tecmo - + @@ -131636,7 +131636,7 @@ license:CC0 S.C.A.T. - Special Cybernetic Attack Team (NES) 1991 Natsume (U) / Infogrames (E) - + @@ -131721,7 +131721,7 @@ license:CC0 Saint Seiya - Ougon Densetsu (Family Computer) 1987 Bandai - + @@ -131782,7 +131782,7 @@ license:CC0 Saint Seiya - Ougon Densetsu Kanketsu Hen (Family Computer) 1988 Bandai - + @@ -131861,7 +131861,7 @@ license:CC0 Seicross (NES) 1988 FCI (U) / Nichibutsu (J) - + @@ -131910,7 +131910,7 @@ license:CC0 Shadow of the Ninja (NES) 1990 Natsume (JU) / Taito (E) - + @@ -131989,7 +131989,7 @@ license:CC0 Shatterhand (NES) 1991 Jaleco (UE) / Angel (J) - + @@ -132086,7 +132086,7 @@ license:CC0 Shinobi (NES) 1989 Tengen - + @@ -132159,7 +132159,7 @@ license:CC0 Side Pocket (NES) 1987 Data East (U) / Namco (J) - + @@ -132220,7 +132220,7 @@ license:CC0 Silver Surfer (NES) 1990 Arcadia Systems - + @@ -132281,7 +132281,7 @@ license:CC0 Sky Destroyer (NES) 1985 Taito - + @@ -132300,7 +132300,7 @@ license:CC0 Sky Kid (NES) 1987 Sunsoft (U) / Namco (J) - + @@ -132536,7 +132536,7 @@ license:CC0 Solitaire (NES) 1992 American Video - + @@ -132567,7 +132567,7 @@ license:CC0 Solomon's Key (NES) 1987 Tecmo - + @@ -132646,7 +132646,7 @@ license:CC0 Solstice - The Quest for the Staff of Demnos (NES) 1990 CSG Imagesoft (U) / Epic/Sony Records (J) / Nintendo (E) - + @@ -132689,7 +132689,7 @@ license:CC0 Somari (Dendy) 1994 Ge De Industry Co. - + @@ -132774,7 +132774,7 @@ license:CC0 Space Harrier (NES) 1989 Takara - + @@ -132871,7 +132871,7 @@ license:CC0 Space Hunter (Family Computer) 1986 Kemco - + @@ -132890,7 +132890,7 @@ license:CC0 Spartan X 2 (Family Computer) 1991 Irem - + @@ -132975,7 +132975,7 @@ license:CC0 Spelunker (NES) 1987 Br�derbund (U) / Irem (J) - + @@ -133042,7 +133042,7 @@ license:CC0 Starship Hector (NES) 1990 Hudson - + @@ -133103,7 +133103,7 @@ license:CC0 Star Force (NES) 1987 Tecmo - + @@ -133170,7 +133170,7 @@ license:CC0 Star Force (NES) JP 1985 Hudson - + @@ -133213,7 +133213,7 @@ license:CC0 Star Soldier (NES) 1989 Taxan (U) / Hudson (J) - + @@ -133389,7 +133389,7 @@ license:CC0 Stinger (NES) 1987 Konami - + @@ -133504,7 +133504,7 @@ license:CC0 Strider (NES) 1989 Capcom - + @@ -133601,7 +133601,7 @@ license:CC0 Summer Carnival '92 - Recca (Family Computer) 1992 Naxat - + @@ -133722,7 +133722,7 @@ license:CC0 Sunday Funday (NES) 1995 Wisdom Tree - + @@ -133741,7 +133741,7 @@ license:CC0 Super Arabian (Family Computer) 1985 Sunsoft - + @@ -133772,7 +133772,7 @@ license:CC0 Super Contra (NES) 1990 Konami - + @@ -133863,7 +133863,7 @@ license:CC0 Super Donkey Kong (Dendy) 199? Hosenkan Electronics - + @@ -133912,7 +133912,7 @@ license:CC0 Super Gun (NES) 1992 Caltron Industries, Inc. / NTDEC - + @@ -133943,7 +133943,7 @@ license:CC0 Super HIK 300 in 1 (NES) 19?? Unknown - + @@ -134005,7 +134005,7 @@ license:CC0 Super Mario Bros. (NES) 1985 Nintendo - + @@ -134138,7 +134138,7 @@ license:CC0 Super Mario Bros. 2 (NES) 1988 Nintendo - + @@ -134241,7 +134241,7 @@ license:CC0 Super Mario Bros. 3 (NES) 1990 Nintendo - + @@ -134440,7 +134440,7 @@ license:CC0 Super Mario World (Dendy) 1995 Nintendo (SNES) / Hummer Team (Dendy) - + @@ -134537,7 +134537,7 @@ license:CC0 Super Pitfall (NES) 1986 Pony Canyon (J) / Activision (U) - + @@ -134586,7 +134586,7 @@ license:CC0 Super Star Force - Jikuureki no Himitsu (NES) 1986 Tecmo - + @@ -134671,7 +134671,7 @@ license:CC0 Super Xevious - GAMP no Nazo (Family Computer) 1986 Namco - + @@ -134798,7 +134798,7 @@ license:CC0 Sword Master (NES) 1990 Athena (J) / Activision (UE) - + @@ -134901,7 +134901,7 @@ license:CC0 Taito Chase H.Q. (NES) 1989 Taito - + @@ -134974,7 +134974,7 @@ license:CC0 Takeshi no Chousenjou (Family Computer) 1986 Taito - + @@ -135029,7 +135029,7 @@ license:CC0 Tama & Friends - 3 Choume Daibouken (Famicom Disk System) 1989 Bandai - + @@ -135096,7 +135096,7 @@ license:CC0 Target - Renegade (NES) 1989 Taito - + @@ -135163,7 +135163,7 @@ license:CC0 Tecmo Cup Soccer Game (NES) 1992 Tecmo - + @@ -135344,7 +135344,7 @@ license:CC0 Tenchi o Kurau II - Shokatsu Koumei Den (Family Computer) 1991 Capcom - + @@ -135507,7 +135507,7 @@ license:CC0 Terra Cresta (NES) 1986 Nichibutsu - + @@ -135568,7 +135568,7 @@ license:CC0 Terra Cresta (NES) US 1990 Vic Tokai - + @@ -135641,7 +135641,7 @@ license:CC0 Tetris (NES) 1988 Bullet-Proof Software - + @@ -135690,7 +135690,7 @@ license:CC0 Tetris (NES, Tengen) 1989 Tengen - + @@ -135751,7 +135751,7 @@ license:CC0 Thexder (NES) 1985 Square - + @@ -135764,7 +135764,7 @@ license:CC0 The Flintstones - The Rescue of Dino & Hoppy (NES) 1991 Taito (U / J / PAL) / Mattel (AU) - + @@ -135843,7 +135843,7 @@ license:CC0 The Flintstones - The Surprise at Dinosaur Peak! (NES) 1994 Taito - + @@ -135934,7 +135934,7 @@ license:CC0 The Goonies (NES) 1986 Konami - + @@ -136001,7 +136001,7 @@ license:CC0 The Goonies II (NES) 1987 Konami - + @@ -136080,7 +136080,7 @@ license:CC0 The Guardian Legend (NES) 1988 Irem / Broderbund - + @@ -136255,7 +136255,7 @@ license:CC0 The Jungle Book (NES) 1994 Virgin Interactive - + @@ -136334,7 +136334,7 @@ license:CC0 The Karate Kid (NES) 1987 LJN - + @@ -136413,7 +136413,7 @@ license:CC0 The Legend of Zelda (NES) 1987 Nintendo - + @@ -136625,7 +136625,7 @@ license:CC0 The Mafat Conspiracy (NES) 1990 Vic Tokai - + @@ -136758,7 +136758,7 @@ license:CC0 The Panda Prince (NES) 1996 Kǎshèng / Taiwan Shin-Shin - + @@ -136861,7 +136861,7 @@ license:CC0 The Smurfs (NES) 1994 Infogrames - + @@ -136964,7 +136964,7 @@ license:CC0 The Tower of Druaga (NES) 1985 Namco (AC / FC) - + @@ -137037,7 +137037,7 @@ license:CC0 Tiger-Heli (NES) 1987 Acclaim (UE) / Pony Canyon (J) / Hyundai (KR) - + @@ -137074,7 +137074,7 @@ license:CC0 Times of Lore (NES) 1990 Toho Co. - + @@ -137123,7 +137123,7 @@ license:CC0 TM Network - Live in Power Bowl (Family Computer) 1989 Epic Sony - + @@ -137226,7 +137226,7 @@ license:CC0 Toujin Makyou Den - Heracles no Eikou (Family Computer) 1987 Data East - + @@ -137377,7 +137377,7 @@ license:CC0 Town & Country II - Thrilla's Surfari (NES) 1988 LJN - + @@ -137438,7 +137438,7 @@ license:CC0 Town & Country Surf Designs - Wood & Water Rage (NES) 1988 LJN - + @@ -137475,7 +137475,7 @@ license:CC0 Track & Field (NES) 1987 Konami (JU) / Kemco (E) - + @@ -137548,7 +137548,7 @@ license:CC0 Transformers - Convoy no Nazo (Family Computer) 1986 Takara - + @@ -137609,7 +137609,7 @@ license:CC0 TwinBee (Family Computer) 1986 Konami - + @@ -137670,7 +137670,7 @@ license:CC0 TwinBee 3 - Poko Poko Daimaou (Family Computer) 1989 Konami - + @@ -137791,7 +137791,7 @@ license:CC0 Twin Cobra (NES) 1990 American Sammy (U) / CBS (J) - + @@ -137858,7 +137858,7 @@ license:CC0 Uchuu Keibitai SDF (Family Computer) 1990 HAL Laboratory - + @@ -137937,7 +137937,7 @@ license:CC0 Ufouria - The Saga (NES) 1992 Sunsoft - + @@ -138022,7 +138022,7 @@ license:CC0 Ultima - Exodus (NES) 1988 FCI (U) / Pony Canyon (J) - + @@ -138095,7 +138095,7 @@ license:CC0 Ultima - Quest of the Avatar (NES) 1990 FCI (U) / Pony Canyon (J) - + @@ -138282,7 +138282,7 @@ license:CC0 Valkyrie no Bouken - Toki no Kagi Densetsu (Family Computer) 1986 Namco - + @@ -138355,7 +138355,7 @@ license:CC0 Vegas Dream (NES) 1988 HAL Laboratory - + @@ -138458,7 +138458,7 @@ license:CC0 Vs. Clu Clu Land (Vs. Unisystem) 1984 Nintendo - + @@ -138935,7 +138935,7 @@ license:CC0 Wardner no Mori (FDS) 1988 Taito Corporation - + @@ -138978,7 +138978,7 @@ license:CC0 Warpman (NES) 1985 Namco - + @@ -139009,7 +139009,7 @@ license:CC0 War on Wheels (NES) 1991 Jaleco, Ltd. - + @@ -139088,7 +139088,7 @@ license:CC0 Wayne's World (NES) 1993 T*HQ - + @@ -139143,7 +139143,7 @@ license:CC0 Wily & Right no RockBoard - That's Paradise (Family Computer) 1993 Capcom - + @@ -139240,7 +139240,7 @@ license:CC0 Wit's (Family Computer) 1990 Athena - + @@ -139361,7 +139361,7 @@ license:CC0 Wizardry - Knight of Diamonds - The Second Scenario (NES) 1990 Ascii Corporation - + @@ -139464,7 +139464,7 @@ license:CC0 Wizardry - Proving Grounds of The Mad Overlord (NES) 1987 Nexoft Corporation (U) / Ascii Corporation (J) - + @@ -139579,7 +139579,7 @@ license:CC0 Wizardry II - Llylgamyn no Isan (Family Computer) 1989 Ascii Corporation - + @@ -139785,7 +139785,7 @@ license:CC0 Wrecking Crew (NES) 1985 Nintendo - + @@ -139822,7 +139822,7 @@ license:CC0 Xevious (NES) 1984 Namco - + @@ -139841,7 +139841,7 @@ license:CC0 Yie Ar Kung Fu (NES) 1985 Konami - + @@ -139866,7 +139866,7 @@ license:CC0 Yo! Noid (NES) 1990 Capcom - + @@ -140035,7 +140035,7 @@ license:CC0 Yoshi's Cookie (NES) 1993 Nintendo - + @@ -140180,7 +140180,7 @@ license:CC0 Yoshi (NES) 1992 Nintendo - + @@ -140265,7 +140265,7 @@ license:CC0 Youkai Douchuuki (NES) 1988 Namco - + @@ -140356,7 +140356,7 @@ license:CC0 Ys - Ancient Ys Vanished Omen (Family Computer) 1988 Victor - + @@ -140519,7 +140519,7 @@ license:CC0 Ys III - Wanderers from Ys (Family Computer) 1991 Victor - + @@ -140688,7 +140688,7 @@ license:CC0 Ys II - Ancient Ys Vanished The Final Chapter (Family Computer) 1990 Victor - + @@ -140954,7 +140954,7 @@ license:CC0 Yuu Maze (Famicom Disk System) 1988 Taito - + @@ -141222,7 +141222,7 @@ license:CC0 Zippy Race (NES) 1985 Irem - + @@ -141277,7 +141277,7 @@ license:CC0 Zombie Nation (NES) 1991 Meldac - + @@ -224356,7 +224356,7 @@ license:CC0 Bio Miracle Bokutte Upa (Family Computer) 1993 Konami - + @@ -227214,7 +227214,7 @@ license:CC0 Smash Ping Pong (Family Computer Disk System) 1987 Nintendo - + @@ -228525,7 +228525,7 @@ license:CC0 Garfield no Isshuukan - A Week of Garfield (Family Computer) 1989 Towa Chiki - + @@ -228787,7 +228787,7 @@ license:CC0 Kart Fighter (Dendy) 1994 J.Y. Company - + @@ -229104,7 +229104,7 @@ license:CC0 Pictionary - The Game of Video Quick Draw (NES) 1990 LJN - + @@ -229409,7 +229409,7 @@ license:CC0 SimCity (NES) 1991 Nintendo - + @@ -229476,7 +229476,7 @@ license:CC0 Sky Shark (NES) 1989 Taito America Corporation - + @@ -230035,7 +230035,7 @@ license:CC0 Super Contra 7 (Dendy) 1996 Waixing - + @@ -230512,7 +230512,7 @@ license:CC0 The Adventures of Tom Sawyer (NES) 1989 Seta - + @@ -231485,7 +231485,7 @@ license:CC0 Fist of the North Star (NES) 1989 Taxan (U) / Toei Animation (J) - + @@ -235794,7 +235794,7 @@ license:CC0 8-bit ADV Steins;Gate (NES) 2019 Spike Chunsoft (UE) / Mages. (J) - + @@ -236894,7 +236894,7 @@ license:CC0 Tom & Jerry - The Ultimate Game of Cat and Mouse! (NES) 1991 Hi-Tech Expressions - + @@ -236986,7 +236986,7 @@ license:CC0 UWC (NES) 1988 Seta - + @@ -237041,7 +237041,7 @@ license:CC0 Wild Gunman (NES) 1985 Nintendo - + @@ -237792,7 +237792,7 @@ license:CC0 Puyo Puyo (NES, FDS) 1991 Tokuma Shoten - + @@ -238405,7 +238405,7 @@ license:CC0 Don Doko Don 2 (Family Computer) 1992 Taito - + @@ -238538,7 +238538,7 @@ license:CC0 Famicom Yarou Vol. 1 (NES) 19?? unknown - + @@ -240132,7 +240132,7 @@ license:CC0 The Jetsons - Cogswell's Caper! (NES) 1992 Taito (W) / Mattel (A) - + @@ -241866,7 +241866,7 @@ license:CC0 Toy Story (Dendy) 1997 NT - + @@ -242889,7 +242889,7 @@ license:CC0 Door Door (Family Computer) 1985 Enix - + @@ -245711,7 +245711,7 @@ license:CC0 The Cheetahmen II (NES) 1992 Active Enterprises - + @@ -245881,7 +245881,7 @@ license:CC0 Tiny Toon Adventures (NES) 1991 Konami - + @@ -246210,7 +246210,7 @@ license:CC0 Duck Maze (NES) 1987 Bit Corporation (TW) / HES Interactive (AU) / Dismac (BR) - + @@ -246340,7 +246340,7 @@ license:CC0 Fire Dragon (Dendy) 19?? Gamtec / BIC / JungleTac (Dragon Fire) / Inventor (Dragon) / Trump Grand (Shunting) - + @@ -247227,7 +247227,7 @@ license:CC0 The Ultimate Stuntman (NES) 1990 Camerica - + @@ -247992,7 +247992,7 @@ license:CC0 Bubble Bobble Part 2 (NES) 1993 Taito - + @@ -250211,7 +250211,7 @@ license:CC0 Kid Kool and the Quest for the Seven Wonder Herbs (NES) 1988 Vic Tokai - + @@ -252387,7 +252387,7 @@ license:CC0 Battle Storm (Family Computer) 1991 Yonezawa PR21 - + @@ -261696,7 +261696,7 @@ license:CC0 Zanac A.I. (NES) 1986 FCI (U) / Pony Canyon (J) - + @@ -262311,7 +262311,7 @@ license:CC0 Darkman (NES) 1991 Ocean - + @@ -263339,7 +263339,7 @@ license:CC0 Jurassic Park (NES) 1993 Ocean of America, Inc. - + @@ -264045,7 +264045,7 @@ license:CC0 Alien 3 (NES) 1993 LJN - + @@ -264428,7 +264428,7 @@ license:CC0 Overlord (NES) 1993 Virgin Games - + @@ -264583,7 +264583,7 @@ license:CC0 Alfred Chicken (NES) 1993 Mindscape - + @@ -265598,7 +265598,7 @@ license:CC0 James Bond Jr. (NES) 1992 THQ - + @@ -266269,7 +266269,7 @@ license:CC0 Snake's Revenge (NES) 1990 Ultra - + @@ -266930,7 +266930,7 @@ license:CC0 Mitsume ga Tooru (NES) 1992 Tomy - + @@ -267021,7 +267021,7 @@ license:CC0 Race America (NES) 1991 Milton Bradley (E) / Absolute (U) - + @@ -267590,7 +267590,7 @@ license:CC0 Battletoads (NES) 1991 Tradewest (U, E) / Masaya (J) - + @@ -268138,7 +268138,7 @@ license:CC0 Gremlins 2 - The New Batch (NES) 1990 Sunsoft - + @@ -269958,7 +269958,7 @@ license:CC0 A Boy and His Blob - Trouble on Blobolonia (NES) 1989 Absolute (U) / Nintendo (E) / Jaleco (J) - + @@ -270025,7 +270025,7 @@ license:CC0 Bucky O'Hare (NES) 1992 Konami (U, J) / Palcom (E) - + @@ -270762,7 +270762,7 @@ license:CC0 Heavy Shreddin' - The Snowboarding Video Game (NES) 1990 Activision (E) / Parker Brothers (U) - + @@ -270835,7 +270835,7 @@ license:CC0 Krusty's Fun House (NES) 1992 Acclaim - + @@ -271303,7 +271303,7 @@ license:CC0 Terminator 2 - Judgment Day (NES) 1992 LJN (U, E) / Pack-In-Video (J) - + @@ -271358,7 +271358,7 @@ license:CC0 Tiny Toon Adventures 2 - Trouble in Wackyland (NES) 1992 Konami - + @@ -273507,7 +273507,7 @@ license:CC0 Teenage Mutant Ninja Turtles (NES) 1989 Ultra Games (U) / Palcom (E/A) / Konami (J) - + @@ -273610,7 +273610,7 @@ license:CC0 Teenage Mutant Ninja Turtles II - The Arcade Game (NES) 1990 Konami (J/E) / Ultra Games (U) - + @@ -275630,7 +275630,7 @@ license:CC0 Willow (NES) 1989 Capcom - + @@ -276334,7 +276334,7 @@ license:CC0 Ninja Gaiden III - The Ancient Ship of Doom (NES) 1991 Tecmo - + @@ -276515,7 +276515,7 @@ license:CC0 Ninja Gaiden II - The Dark Sword of Chaos (NES) 1990 Tecmo - + @@ -277206,7 +277206,7 @@ license:CC0 Teenage Mutant Ninja Turtles - Tournament Fighters (NES) 1993 Konami - + @@ -277363,7 +277363,7 @@ license:CC0 Teenage Mutant Ninja Turtles III - The Manhattan Project (NES) 1991 Konami - + @@ -279488,7 +279488,7 @@ license:CC0 Ferrari Grand Prix Challenge (NES) 1992 Acclaim (U, E) / Coconuts Japan (J) - + @@ -281538,7 +281538,7 @@ license:CC0 Cliffhanger (NES) 1993 Sony Imagesoft - + @@ -281816,7 +281816,7 @@ license:CC0 Fester's Quest (NES) 1989 Sunsoft - + @@ -284827,7 +284827,7 @@ license:CC0 Panic Restaurant (NES) 1992 Taito - + @@ -285629,7 +285629,7 @@ license:CC0 Wolverine (NES) 1991 LJN - + @@ -286478,7 +286478,7 @@ license:CC0 DuckTales 2 (NES) 1993 Capcom - + @@ -286783,7 +286783,7 @@ license:CC0 Lethal Weapon (NES) 1993 Ocean - + @@ -287050,7 +287050,7 @@ license:CC0 Platoon (NES) 1988 Sunsoft - + @@ -288481,7 +288481,7 @@ license:CC0 Hook (NES) 1992 Sony Imagesoft (U) / Ocean (E) / Epic/Sony Records (J) - + @@ -288542,7 +288542,7 @@ license:CC0 Hudson Hawk (NES) 1991 Sony Imagesoft (U) / Ocean (E) / Epic/Sony (J) - + @@ -288639,7 +288639,7 @@ license:CC0 Kira Kira Star Night DX (Family Computer) 2016 Columbus Circle - + @@ -288947,7 +288947,7 @@ license:CC0 M.C. Kids (NES) 1992 Virgin Games (U) / Ocean (E) - + @@ -289550,7 +289550,7 @@ license:CC0 Mission - Impossible (NES) 1990 Ultra (U) / Palcom (E) - + @@ -293134,7 +293134,7 @@ license:CC0 Indiana Jones and the Last Crusade (NES) 1991 Taito - + @@ -294110,7 +294110,7 @@ license:CC0 Top Gun (NES) 1987 Konami - + @@ -294159,7 +294159,7 @@ license:CC0 Top Gun - The Second Mission (NES) 1989 Konami - + @@ -294402,7 +294402,7 @@ license:CC0 Zen - Intergalactic Ninja (NES) 1993 Konami - + @@ -298560,7 +298560,7 @@ license:CC0 The Blues Brothers (NES) 1992 Titus Software - + @@ -300277,7 +300277,7 @@ license:CC0 RoboCop 2 (NES) 1991 Data East (U, J) / Ocean (E) - + @@ -300344,7 +300344,7 @@ license:CC0 RoboCop 3 (NES) 1992 Ocean - + @@ -300405,7 +300405,7 @@ license:CC0 RoboCop versus The Terminator (NES) 1993 Virgin Games - + @@ -309191,7 +309191,7 @@ license:CC0 River City Ransom (NES) 1989 American Technos (U) / Infogrames (E) - + diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua index 582dc930951..5ae2e2ef421 100644 --- a/scripts/src/cpu.lua +++ b/scripts/src/cpu.lua @@ -1555,28 +1555,28 @@ end -------------------------------------------------- -- Mostek 6502 and its many derivatives ---@src/devices/cpu/m6502/m6502.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/deco16.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m3745x.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m4510.h,CPUS["M6502"] = true ---@src/devices/cpu/m6502/m65ce02.h,CPUS["M6502"] = true ---@src/devices/cpu/m6502/m65c02.h,CPUS["M6502"] = true ---@src/devices/cpu/m6502/r65c02.h,CPUS["M6502"] = true ---@src/devices/cpu/m6502/r65c19.h,CPUS["M6502"] = true ---@src/devices/cpu/m6502/m65sc02.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m50734.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m5074x.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m6500_1.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m6502.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m6502mtu.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m6504.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m6507.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m6509.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m6510.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m6510t.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m65ce02.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m65c02.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m65sc02.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m740.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m7501.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/m8502.h,CPUS["M6502"] = true ---@src/devices/cpu/m6502/n2a03.h,CPUS["M6502"] = true ---@src/devices/cpu/m6502/m740.h,CPUS["M6502"] = true ---@src/devices/cpu/m6502/m3745x.h,CPUS["M6502"] = true ---@src/devices/cpu/m6502/m50734.h,CPUS["M6502"] = true ---@src/devices/cpu/m6502/m5074x.h,CPUS["M6502"] = true ---@src/devices/cpu/m6502/m6502mtu.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/r65c02.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/r65c19.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/rp2a03.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/st2xxx.h,CPUS["ST2XXX"] = true --@src/devices/cpu/m6502/st2204.h,CPUS["ST2XXX"] = true --@src/devices/cpu/m6502/st2205u.h,CPUS["ST2XXX"] = true @@ -1590,20 +1590,20 @@ if CPUS["M6502"] then files { MAME_DIR .. "src/devices/cpu/m6502/deco16.cpp", MAME_DIR .. "src/devices/cpu/m6502/deco16.h", + MAME_DIR .. "src/devices/cpu/m6502/m3745x.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m3745x.h", MAME_DIR .. "src/devices/cpu/m6502/m4510.cpp", MAME_DIR .. "src/devices/cpu/m6502/m4510.h", + MAME_DIR .. "src/devices/cpu/m6502/m50734.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m50734.h", + MAME_DIR .. "src/devices/cpu/m6502/m5074x.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m5074x.h", + MAME_DIR .. "src/devices/cpu/m6502/m6500_1.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m6500_1.h", MAME_DIR .. "src/devices/cpu/m6502/m6502.cpp", MAME_DIR .. "src/devices/cpu/m6502/m6502.h", MAME_DIR .. "src/devices/cpu/m6502/m6502mtu.cpp", MAME_DIR .. "src/devices/cpu/m6502/m6502mtu.h", - MAME_DIR .. "src/devices/cpu/m6502/m65c02.cpp", - MAME_DIR .. "src/devices/cpu/m6502/m65c02.h", - MAME_DIR .. "src/devices/cpu/m6502/m65ce02.cpp", - MAME_DIR .. "src/devices/cpu/m6502/m65ce02.h", - MAME_DIR .. "src/devices/cpu/m6502/m65sc02.cpp", - MAME_DIR .. "src/devices/cpu/m6502/m65sc02.h", - MAME_DIR .. "src/devices/cpu/m6502/m6500_1.cpp", - MAME_DIR .. "src/devices/cpu/m6502/m6500_1.h", MAME_DIR .. "src/devices/cpu/m6502/m6504.cpp", MAME_DIR .. "src/devices/cpu/m6502/m6504.h", MAME_DIR .. "src/devices/cpu/m6502/m6507.cpp", @@ -1614,26 +1614,26 @@ if CPUS["M6502"] then MAME_DIR .. "src/devices/cpu/m6502/m6510.h", MAME_DIR .. "src/devices/cpu/m6502/m6510t.cpp", MAME_DIR .. "src/devices/cpu/m6502/m6510t.h", + MAME_DIR .. "src/devices/cpu/m6502/m65c02.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m65c02.h", + MAME_DIR .. "src/devices/cpu/m6502/m65ce02.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m65ce02.h", + MAME_DIR .. "src/devices/cpu/m6502/m65sc02.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m65sc02.h", + MAME_DIR .. "src/devices/cpu/m6502/m740.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m740.h", MAME_DIR .. "src/devices/cpu/m6502/m7501.cpp", MAME_DIR .. "src/devices/cpu/m6502/m7501.h", MAME_DIR .. "src/devices/cpu/m6502/m8502.cpp", MAME_DIR .. "src/devices/cpu/m6502/m8502.h", - MAME_DIR .. "src/devices/cpu/m6502/n2a03.cpp", - MAME_DIR .. "src/devices/cpu/m6502/n2a03.h", MAME_DIR .. "src/devices/cpu/m6502/r65c02.cpp", MAME_DIR .. "src/devices/cpu/m6502/r65c02.h", MAME_DIR .. "src/devices/cpu/m6502/r65c19.cpp", MAME_DIR .. "src/devices/cpu/m6502/r65c19.h", + MAME_DIR .. "src/devices/cpu/m6502/rp2a03.cpp", + MAME_DIR .. "src/devices/cpu/m6502/rp2a03.h", MAME_DIR .. "src/devices/cpu/m6502/w65c02s.cpp", MAME_DIR .. "src/devices/cpu/m6502/w65c02s.h", - MAME_DIR .. "src/devices/cpu/m6502/m740.cpp", - MAME_DIR .. "src/devices/cpu/m6502/m740.h", - MAME_DIR .. "src/devices/cpu/m6502/m3745x.cpp", - MAME_DIR .. "src/devices/cpu/m6502/m3745x.h", - MAME_DIR .. "src/devices/cpu/m6502/m50734.cpp", - MAME_DIR .. "src/devices/cpu/m6502/m50734.h", - MAME_DIR .. "src/devices/cpu/m6502/m5074x.cpp", - MAME_DIR .. "src/devices/cpu/m6502/m5074x.h", } custombuildtask { @@ -1645,10 +1645,10 @@ if CPUS["M6502"] then { MAME_DIR .. "src/devices/cpu/m6502/om65ce02.lst", GEN_DIR .. "emu/cpu/m6502/m65ce02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65ce02.lst" }, {"@echo Generating m65ce02 instruction source file...", PYTHON .. " $(1) s m65ce02 $(<) $(2) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/om6509.lst", GEN_DIR .. "emu/cpu/m6502/m6509.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6509.lst" }, {"@echo Generating m6509 instruction source file...", PYTHON .. " $(1) s m6509 $(<) $(2) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/om6510.lst", GEN_DIR .. "emu/cpu/m6502/m6510.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6510.lst" }, {"@echo Generating m6510 instruction source file...", PYTHON .. " $(1) s m6510 $(<) $(2) $(@)" }}, - { MAME_DIR .. "src/devices/cpu/m6502/on2a03.lst", GEN_DIR .. "emu/cpu/m6502/n2a03.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dn2a03.lst" }, {"@echo Generating n2a03 instruction source file...", PYTHON .. " $(1) s n2a03_core $(<) $(2) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/om740.lst" , GEN_DIR .. "emu/cpu/m6502/m740.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm740.lst" }, {"@echo Generating m740 instruction source file...", PYTHON .. " $(1) s m740 $(<) $(2) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/dr65c02.lst", GEN_DIR .. "emu/cpu/m6502/r65c02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", }, {"@echo Generating r65c02 instruction source file...", PYTHON .. " $(1) s r65c02 - $(<) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/or65c19.lst", GEN_DIR .. "emu/cpu/m6502/r65c19.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dr65c19.lst" }, {"@echo Generating r65c19 instruction source file...", PYTHON .. " $(1) s r65c19 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/orp2a03.lst", GEN_DIR .. "emu/cpu/m6502/rp2a03.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/drp2a03.lst" }, {"@echo Generating rp2a03 instruction source file...", PYTHON .. " $(1) s rp2a03_core $(<) $(2) $(@)" }}, { MAME_DIR .. "src/devices/cpu/m6502/ow65c02s.lst", GEN_DIR .. "emu/cpu/m6502/w65c02s.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dw65c02s.lst" }, {"@echo Generating w65c02s instruction source file...", PYTHON .. " $(1) s w65c02s $(<) $(2) $(@)" }}, } @@ -1657,15 +1657,15 @@ if CPUS["M6502"] then { MAME_DIR .. "src/devices/cpu/m6502/m4510.cpp", GEN_DIR .. "emu/cpu/m6502/m4510.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/m6502.cpp", GEN_DIR .. "emu/cpu/m6502/m6502.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/m6502mtu.cpp", GEN_DIR .. "emu/cpu/m6502/m6502mtu.hxx" }, - { MAME_DIR .. "src/devices/cpu/m6502/m65c02.cpp", GEN_DIR .. "emu/cpu/m6502/m65c02.hxx" }, - { MAME_DIR .. "src/devices/cpu/m6502/m65ce02.cpp", GEN_DIR .. "emu/cpu/m6502/m65ce02.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/m6509.cpp", GEN_DIR .. "emu/cpu/m6502/m6509.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/m6510.cpp", GEN_DIR .. "emu/cpu/m6502/m6510.hxx" }, - { MAME_DIR .. "src/devices/cpu/m6502/n2a03.cpp", GEN_DIR .. "emu/cpu/m6502/n2a03.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/m65c02.cpp", GEN_DIR .. "emu/cpu/m6502/m65c02.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/m65ce02.cpp", GEN_DIR .. "emu/cpu/m6502/m65ce02.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/m740.cpp", GEN_DIR .. "emu/cpu/m6502/m740.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/r65c02.cpp", GEN_DIR .. "emu/cpu/m6502/r65c02.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/r65c19.cpp", GEN_DIR .. "emu/cpu/m6502/r65c19.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/rp2a03.cpp", GEN_DIR .. "emu/cpu/m6502/rp2a03.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/w65c02s.cpp", GEN_DIR .. "emu/cpu/m6502/w65c02s.hxx" }, - { MAME_DIR .. "src/devices/cpu/m6502/m740.cpp", GEN_DIR .. "emu/cpu/m6502/m740.hxx" }, } end @@ -1718,22 +1718,22 @@ if opt_tool(CPUS, "M6502") then table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om65ce02.lst", GEN_DIR .. "emu/cpu/m6502/m65ce02d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65ce02.lst" }, {"@echo Generating m65ce02 disassembler source file...", PYTHON .. " $(1) d m65ce02 $(<) $(2) $(@)" }}) table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om6509.lst", GEN_DIR .. "emu/cpu/m6502/m6509d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6509.lst" }, {"@echo Generating m6509 disassembler source file...", PYTHON .. " $(1) d m6509 $(<) $(2) $(@)" }}) table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om6510.lst", GEN_DIR .. "emu/cpu/m6502/m6510d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6510.lst" }, {"@echo Generating m6510 disassembler source file...", PYTHON .. " $(1) d m6510 $(<) $(2) $(@)" }}) - table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/on2a03.lst", GEN_DIR .. "emu/cpu/m6502/n2a03d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dn2a03.lst" }, {"@echo Generating n2a03 disassembler source file...", PYTHON .. " $(1) d n2a03 $(<) $(2) $(@)" }}) table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om740.lst" , GEN_DIR .. "emu/cpu/m6502/m740d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm740.lst" }, {"@echo Generating m740 disassembler source file...", PYTHON .. " $(1) d m740 $(<) $(2) $(@)" }}) table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/dr65c02.lst", GEN_DIR .. "emu/cpu/m6502/r65c02d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", }, {"@echo Generating r65c02 disassembler source file...", PYTHON .. " $(1) d r65c02 - $(<) $(@)" }}) table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/or65c19.lst", GEN_DIR .. "emu/cpu/m6502/r65c19d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dr65c19.lst" }, {"@echo Generating r65c19 disassembler source file...", PYTHON .. " $(1) d r65c19 $(<) $(2) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/orp2a03.lst", GEN_DIR .. "emu/cpu/m6502/rp2a03d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/drp2a03.lst" }, {"@echo Generating rp2a03 disassembler source file...", PYTHON .. " $(1) d rp2a03 $(<) $(2) $(@)" }}) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/deco16d.cpp", GEN_DIR .. "emu/cpu/m6502/deco16d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m4510d.cpp", GEN_DIR .. "emu/cpu/m6502/m4510d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m6502d.cpp", GEN_DIR .. "emu/cpu/m6502/m6502d.hxx" }) - table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m65c02d.cpp", GEN_DIR .. "emu/cpu/m6502/m65c02d.hxx" }) - table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m65ce02d.cpp", GEN_DIR .. "emu/cpu/m6502/m65ce02d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m6509d.cpp", GEN_DIR .. "emu/cpu/m6502/m6509d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m6510d.cpp", GEN_DIR .. "emu/cpu/m6502/m6510d.hxx" }) - table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/n2a03d.cpp", GEN_DIR .. "emu/cpu/m6502/n2a03d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m65c02d.cpp", GEN_DIR .. "emu/cpu/m6502/m65c02d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m65ce02d.cpp", GEN_DIR .. "emu/cpu/m6502/m65ce02d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m740d.cpp", GEN_DIR .. "emu/cpu/m6502/m740d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/r65c02d.cpp", GEN_DIR .. "emu/cpu/m6502/r65c02d.hxx" }) table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/r65c19d.cpp", GEN_DIR .. "emu/cpu/m6502/r65c19d.hxx" }) - table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m740d.cpp", GEN_DIR .. "emu/cpu/m6502/m740d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/rp2a03d.cpp", GEN_DIR .. "emu/cpu/m6502/rp2a03d.hxx" }) table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/deco16d.cpp") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/deco16d.h") @@ -1751,12 +1751,12 @@ if opt_tool(CPUS, "M6502") then table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m65ce02d.h") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m740d.cpp") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m740d.h") - table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/n2a03d.cpp") - table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/n2a03d.h") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/r65c02d.cpp") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/r65c02d.h") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/r65c19d.cpp") table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/r65c19d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/rp2a03d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/rp2a03d.h") end if opt_tool(CPUS, "XAVIX") then diff --git a/src/devices/cpu/m6502/dn2a03.lst b/src/devices/cpu/m6502/dn2a03.lst deleted file mode 100644 index 06dcc2610a2..00000000000 --- a/src/devices/cpu/m6502/dn2a03.lst +++ /dev/null @@ -1,20 +0,0 @@ -# license:BSD-3-Clause -# copyright-holders:Olivier Galibert -# n2a03 - D flag is disabled but present in the P register -brk_imp ora_idx kil_non slo_idx nop_zpg ora_zpg asl_zpg slo_zpg php_imp ora_imm asl_acc anc_imm nop_aba ora_aba asl_aba slo_aba -bpl_rel ora_idy kil_non slo_idy nop_zpx ora_zpx asl_zpx slo_zpx clc_imp ora_aby nop_imp slo_aby nop_abx ora_abx asl_abx slo_abx -jsr_adr and_idx kil_non rla_idx bit_zpg and_zpg rol_zpg rla_zpg plp_imp and_imm rol_acc anc_imm bit_aba and_aba rol_aba rla_aba -bmi_rel and_idy kil_non rla_idy nop_zpx and_zpx rol_zpx rla_zpx sec_imp and_aby nop_imp rla_aby nop_abx and_abx rol_abx rla_abx -rti_imp eor_idx kil_non sre_idx nop_zpg eor_zpg lsr_zpg sre_zpg pha_imp eor_imm lsr_acc asr_imm jmp_adr eor_aba lsr_aba sre_aba -bvc_rel eor_idy kil_non sre_idy nop_zpx eor_zpx lsr_zpx sre_zpx cli_imp eor_aby nop_imp sre_aby nop_abx eor_abx lsr_abx sre_abx -rts_imp adc_nd_idx kil_non rra_nd_idx nop_zpg adc_nd_zpg ror_zpg rra_nd_zpg pla_imp adc_nd_imm ror_acc arr_nd_imm jmp_ind adc_nd_aba ror_aba rra_nd_aba -bvs_rel adc_nd_idy kil_non rra_nd_idy nop_zpx adc_nd_zpx ror_zpx rra_nd_zpx sei_imp adc_nd_aby nop_imp rra_nd_aby nop_abx adc_nd_abx ror_abx rra_nd_abx -nop_imm sta_idx nop_imm sax_idx sty_zpg sta_zpg stx_zpg sax_zpg dey_imp nop_imm txa_imp ane_imm sty_aba sta_aba stx_aba sax_aba -bcc_rel sta_idy kil_non sha_idy sty_zpx sta_zpx stx_zpy sax_zpy tya_imp sta_aby txs_imp shs_aby shy_abx sta_abx shx_aby sha_aby -ldy_imm lda_idx ldx_imm lax_idx ldy_zpg lda_zpg ldx_zpg lax_zpg tay_imp lda_imm tax_imp lxa_imm ldy_aba lda_aba ldx_aba lax_aba -bcs_rel lda_idy kil_non lax_idy ldy_zpx lda_zpx ldx_zpy lax_zpy clv_imp lda_aby tsx_imp las_aby ldy_abx lda_abx ldx_aby lax_aby -cpy_imm cmp_idx nop_imm dcp_idx cpy_zpg cmp_zpg dec_zpg dcp_zpg iny_imp cmp_imm dex_imp sbx_imm cpy_aba cmp_aba dec_aba dcp_aba -bne_rel cmp_idy kil_non dcp_idy nop_zpx cmp_zpx dec_zpx dcp_zpx cld_imp cmp_aby nop_imp dcp_aby nop_abx cmp_abx dec_abx dcp_abx -cpx_imm sbc_nd_idx nop_imm isb_nd_idx cpx_zpg sbc_nd_zpg inc_zpg isb_nd_zpg inx_imp sbc_nd_imm nop_imp sbc_nd_imm cpx_aba sbc_nd_aba inc_aba isb_nd_aba -beq_rel sbc_nd_idy kil_non isb_nd_idy nop_zpx sbc_nd_zpx inc_zpx isb_nd_zpx sed_imp sbc_nd_aby nop_imp isb_nd_aby nop_abx sbc_nd_abx inc_abx isb_nd_abx -reset diff --git a/src/devices/cpu/m6502/drp2a03.lst b/src/devices/cpu/m6502/drp2a03.lst new file mode 100644 index 00000000000..a537c63d589 --- /dev/null +++ b/src/devices/cpu/m6502/drp2a03.lst @@ -0,0 +1,20 @@ +# license:BSD-3-Clause +# copyright-holders:Olivier Galibert +# rp2a03 - D flag is disabled but present in the P register +brk_imp ora_idx kil_non slo_idx nop_zpg ora_zpg asl_zpg slo_zpg php_imp ora_imm asl_acc anc_imm nop_aba ora_aba asl_aba slo_aba +bpl_rel ora_idy kil_non slo_idy nop_zpx ora_zpx asl_zpx slo_zpx clc_imp ora_aby nop_imp slo_aby nop_abx ora_abx asl_abx slo_abx +jsr_adr and_idx kil_non rla_idx bit_zpg and_zpg rol_zpg rla_zpg plp_imp and_imm rol_acc anc_imm bit_aba and_aba rol_aba rla_aba +bmi_rel and_idy kil_non rla_idy nop_zpx and_zpx rol_zpx rla_zpx sec_imp and_aby nop_imp rla_aby nop_abx and_abx rol_abx rla_abx +rti_imp eor_idx kil_non sre_idx nop_zpg eor_zpg lsr_zpg sre_zpg pha_imp eor_imm lsr_acc asr_imm jmp_adr eor_aba lsr_aba sre_aba +bvc_rel eor_idy kil_non sre_idy nop_zpx eor_zpx lsr_zpx sre_zpx cli_imp eor_aby nop_imp sre_aby nop_abx eor_abx lsr_abx sre_abx +rts_imp adc_nd_idx kil_non rra_nd_idx nop_zpg adc_nd_zpg ror_zpg rra_nd_zpg pla_imp adc_nd_imm ror_acc arr_nd_imm jmp_ind adc_nd_aba ror_aba rra_nd_aba +bvs_rel adc_nd_idy kil_non rra_nd_idy nop_zpx adc_nd_zpx ror_zpx rra_nd_zpx sei_imp adc_nd_aby nop_imp rra_nd_aby nop_abx adc_nd_abx ror_abx rra_nd_abx +nop_imm sta_idx nop_imm sax_idx sty_zpg sta_zpg stx_zpg sax_zpg dey_imp nop_imm txa_imp ane_imm sty_aba sta_aba stx_aba sax_aba +bcc_rel sta_idy kil_non sha_idy sty_zpx sta_zpx stx_zpy sax_zpy tya_imp sta_aby txs_imp shs_aby shy_abx sta_abx shx_aby sha_aby +ldy_imm lda_idx ldx_imm lax_idx ldy_zpg lda_zpg ldx_zpg lax_zpg tay_imp lda_imm tax_imp lxa_imm ldy_aba lda_aba ldx_aba lax_aba +bcs_rel lda_idy kil_non lax_idy ldy_zpx lda_zpx ldx_zpy lax_zpy clv_imp lda_aby tsx_imp las_aby ldy_abx lda_abx ldx_aby lax_aby +cpy_imm cmp_idx nop_imm dcp_idx cpy_zpg cmp_zpg dec_zpg dcp_zpg iny_imp cmp_imm dex_imp sbx_imm cpy_aba cmp_aba dec_aba dcp_aba +bne_rel cmp_idy kil_non dcp_idy nop_zpx cmp_zpx dec_zpx dcp_zpx cld_imp cmp_aby nop_imp dcp_aby nop_abx cmp_abx dec_abx dcp_abx +cpx_imm sbc_nd_idx nop_imm isb_nd_idx cpx_zpg sbc_nd_zpg inc_zpg isb_nd_zpg inx_imp sbc_nd_imm nop_imp sbc_nd_imm cpx_aba sbc_nd_aba inc_aba isb_nd_aba +beq_rel sbc_nd_idy kil_non isb_nd_idy nop_zpx sbc_nd_zpx inc_zpx isb_nd_zpx sed_imp sbc_nd_aby nop_imp isb_nd_aby nop_abx sbc_nd_abx inc_abx isb_nd_abx +reset diff --git a/src/devices/cpu/m6502/m6502.txt b/src/devices/cpu/m6502/m6502.txt index d92af7ec146..b510da18c5b 100644 --- a/src/devices/cpu/m6502/m6502.txt +++ b/src/devices/cpu/m6502/m6502.txt @@ -52,7 +52,7 @@ no nmi the above series is opcode compatible (including illegal opcodes) -n2a03 (some arcades, NES) +rp2a03 (some arcades, NES) ------------------------- (nintendo variant) NMOS based! diff --git a/src/devices/cpu/m6502/n2a03.cpp b/src/devices/cpu/m6502/n2a03.cpp deleted file mode 100644 index f0914298659..00000000000 --- a/src/devices/cpu/m6502/n2a03.cpp +++ /dev/null @@ -1,121 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Olivier Galibert -/*************************************************************************** - - n2a03.cpp - - 6502, NES variant - -***************************************************************************/ - -#include "emu.h" -#include "n2a03.h" -#include "n2a03d.h" - -DEFINE_DEVICE_TYPE(N2A03_CORE, n2a03_core_device, "n2a03_core", "Ricoh N2A03 core") // needed for some VT systems with XOP instead of standard APU -DEFINE_DEVICE_TYPE(N2A03, n2a03_device, "n2a03", "Ricoh N2A03") // earliest version, found in punchout, spnchout, dkong3, VS. systems, and some early Famicoms -DEFINE_DEVICE_TYPE(N2A03G, n2a03g_device, "n2a03g", "Ricoh N2A03G") // later revision, found in front-loader NES - -uint8_t n2a03_device::psg1_4014_r() -{ - return m_apu->read(0x14); -} - -uint8_t n2a03_device::psg1_4015_r() -{ - return m_apu->read(0x15); -} - -void n2a03_device::psg1_4015_w(uint8_t data) -{ - m_apu->write(0x15, data); -} - -void n2a03_device::psg1_4017_w(uint8_t data) -{ - m_apu->write(0x17, data); -} - - -// on various drivers output port 0x4014 is used for external hardware (not used by APU?) -// input/output port 0x4016 ^ (not used by APU?) -// input port 0x4017 ^ ( APU_IRQCTRL ) -// is there a fall through where every write is seen by other hw, or do these addresses really not touch the APU?? APU_IRQCTRL can definitely be written by can it be read back? - -void n2a03_device::n2a03_map(address_map &map) -{ - map(0x4000, 0x4013).rw("nesapu", FUNC(nesapu_device::read), FUNC(nesapu_device::write)); - map(0x4014, 0x4014).r(FUNC(n2a03_device::psg1_4014_r)); // .w(FUNC(nesapu_device::sprite_dma_0_w)); - map(0x4015, 0x4015).rw(FUNC(n2a03_device::psg1_4015_r), FUNC(n2a03_device::psg1_4015_w)); /* PSG status / first control register */ - //map(0x4016, 0x4016).rw(FUNC(n2a03_device::vsnes_in0_r), FUNC(n2a03_device::vsnes_in0_w)); - map(0x4017, 0x4017) /*.r(FUNC(n2a03_device::vsnes_in1_r))*/ .w(FUNC(n2a03_device::psg1_4017_w)); -} - - - -n2a03_core_device::n2a03_core_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) - : m6502_device(mconfig, type, tag, owner, clock) -{ -} - -n2a03_core_device::n2a03_core_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : n2a03_core_device(mconfig, N2A03_CORE, tag, owner, clock) -{ -} - - - -n2a03_device::n2a03_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) - : n2a03_core_device(mconfig, type, tag, owner, clock) - , device_mixer_interface(mconfig, *this, 1) - , m_apu(*this, "nesapu") -{ - program_config.m_internal_map = address_map_constructor(FUNC(n2a03_device::n2a03_map), this); -} - -n2a03_device::n2a03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : n2a03_device(mconfig, N2A03, tag, owner, clock) -{ -} - -n2a03g_device::n2a03g_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : n2a03_device(mconfig, N2A03G, tag, owner, clock) -{ -} - - - -std::unique_ptr n2a03_core_device::create_disassembler() -{ - return std::make_unique(); -} - -WRITE_LINE_MEMBER(n2a03_device::apu_irq) -{ - // games relying on the APU_IRQ don't seem to work anyway? (nes software list : timelord, mig29sf, firehawk) - set_input_line(N2A03_APU_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE); -} - -uint8_t n2a03_device::apu_read_mem(offs_t offset) -{ - return mintf->program.read_byte(offset); -} - -void n2a03_device::device_add_mconfig(machine_config &config) -{ - APU_2A03(config, m_apu, DERIVED_CLOCK(1,1)); - m_apu->irq().set(FUNC(n2a03_device::apu_irq)); - m_apu->mem_read().set(FUNC(n2a03_device::apu_read_mem)); - m_apu->add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 0); -} - -void n2a03g_device::device_add_mconfig(machine_config &config) -{ - NES_APU(config, m_apu, DERIVED_CLOCK(1,1)); - m_apu->irq().set(FUNC(n2a03g_device::apu_irq)); - m_apu->mem_read().set(FUNC(n2a03g_device::apu_read_mem)); - m_apu->add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 0); -} - - -#include "cpu/m6502/n2a03.hxx" diff --git a/src/devices/cpu/m6502/n2a03.h b/src/devices/cpu/m6502/n2a03.h deleted file mode 100644 index 28b43233dcc..00000000000 --- a/src/devices/cpu/m6502/n2a03.h +++ /dev/null @@ -1,96 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Olivier Galibert -/*************************************************************************** - - n2a03.h - - 6502, NES variant - -***************************************************************************/ -#ifndef MAME_CPU_M6502_N2A03_H -#define MAME_CPU_M6502_N2A03_H - -#pragma once - -#include "m6502.h" -#include "sound/nes_apu.h" - -class n2a03_core_device : public m6502_device { -public: - n2a03_core_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - - virtual std::unique_ptr create_disassembler() override; - - virtual void do_exec_full() override; - virtual void do_exec_partial() override; - -protected: - n2a03_core_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); - -#define O(o) void o ## _full(); void o ## _partial() - - // n2a03 opcodes - same as 6502 with D disabled - O(adc_nd_aba); O(adc_nd_abx); O(adc_nd_aby); O(adc_nd_idx); O(adc_nd_idy); O(adc_nd_imm); O(adc_nd_zpg); O(adc_nd_zpx); - O(arr_nd_imm); - O(isb_nd_aba); O(isb_nd_abx); O(isb_nd_aby); O(isb_nd_idx); O(isb_nd_idy); O(isb_nd_zpg); O(isb_nd_zpx); - O(rra_nd_aba); O(rra_nd_abx); O(rra_nd_aby); O(rra_nd_idx); O(rra_nd_idy); O(rra_nd_zpg); O(rra_nd_zpx); - O(sbc_nd_aba); O(sbc_nd_abx); O(sbc_nd_aby); O(sbc_nd_idx); O(sbc_nd_idy); O(sbc_nd_imm); O(sbc_nd_zpg); O(sbc_nd_zpx); - -#undef O - -private: -}; - -class n2a03_device : public n2a03_core_device, public device_mixer_interface { -public: - n2a03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - - uint8_t psg1_4014_r(); - uint8_t psg1_4015_r(); - void psg1_4015_w(uint8_t data); - void psg1_4017_w(uint8_t data); - - void n2a03_map(address_map &map); - -protected: - n2a03_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); - - required_device m_apu; - - virtual void device_add_mconfig(machine_config &config) override; - - DECLARE_WRITE_LINE_MEMBER(apu_irq); - uint8_t apu_read_mem(offs_t offset); -}; - -class n2a03g_device : public n2a03_device -{ -public: - n2a03g_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - -protected: - virtual void device_add_mconfig(machine_config &config) override; -}; - -/* These are the official XTAL values and clock rates used by Nintendo for - manufacturing throughout the production of the 2A03. PALC_APU_CLOCK is - the clock rate devised by UMC(?) for PAL Famicom clone hardware. */ - -#define N2A03_NTSC_XTAL XTAL(21'477'272) -#define N2A03_PAL_XTAL XTAL(26'601'712) -#define NTSC_APU_CLOCK (N2A03_NTSC_XTAL/12) /* 1.7897726666... MHz */ -#define PAL_APU_CLOCK (N2A03_PAL_XTAL/16) /* 1.662607 MHz */ -#define PALC_APU_CLOCK (N2A03_PAL_XTAL/15) /* 1.77344746666... MHz */ - -enum { - N2A03_IRQ_LINE = m6502_device::IRQ_LINE, - N2A03_APU_IRQ_LINE = m6502_device::APU_IRQ_LINE, - N2A03_NMI_LINE = m6502_device::NMI_LINE, - N2A03_SET_OVERFLOW = m6502_device::V_LINE -}; - -DECLARE_DEVICE_TYPE(N2A03_CORE, n2a03_core_device) -DECLARE_DEVICE_TYPE(N2A03, n2a03_device) -DECLARE_DEVICE_TYPE(N2A03G, n2a03g_device) - -#endif // MAME_CPU_M6502_N2A03_H diff --git a/src/devices/cpu/m6502/n2a03d.cpp b/src/devices/cpu/m6502/n2a03d.cpp deleted file mode 100644 index bedb062f018..00000000000 --- a/src/devices/cpu/m6502/n2a03d.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Olivier Galibert -/*************************************************************************** - - n2a03d.cpp - - 6502, NES variant, disassembler - -***************************************************************************/ - -#include "emu.h" -#include "n2a03d.h" -#include "cpu/m6502/n2a03d.hxx" - -n2a03_disassembler::n2a03_disassembler() : m6502_base_disassembler(disasm_entries) -{ -} diff --git a/src/devices/cpu/m6502/n2a03d.h b/src/devices/cpu/m6502/n2a03d.h deleted file mode 100644 index 568df91c23a..00000000000 --- a/src/devices/cpu/m6502/n2a03d.h +++ /dev/null @@ -1,28 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Olivier Galibert -/*************************************************************************** - - n2a03d.h - - 6502, NES variant, disassembler - -***************************************************************************/ - -#ifndef MAME_CPU_M6502_N2A03D_H -#define MAME_CPU_M6502_N2A03D_H - -#pragma once - -#include "m6502d.h" - -class n2a03_disassembler : public m6502_base_disassembler -{ -public: - n2a03_disassembler(); - virtual ~n2a03_disassembler() = default; - -private: - static const disasm_entry disasm_entries[0x100]; -}; - -#endif diff --git a/src/devices/cpu/m6502/on2a03.lst b/src/devices/cpu/m6502/on2a03.lst deleted file mode 100644 index acdaf9546c2..00000000000 --- a/src/devices/cpu/m6502/on2a03.lst +++ /dev/null @@ -1,299 +0,0 @@ -# license:BSD-3-Clause -# copyright-holders:Olivier Galibert -# n2a03 opcodes - same as 6502 but with d disabled -adc_nd_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - TMP2 = read(TMP); - do_adc_nd(TMP2); - prefetch(); - -adc_nd_abx - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - if(page_changing(TMP, X)) { - read(set_l(TMP, TMP+X)); - } - TMP += X; - TMP2 = read(TMP); - do_adc_nd(TMP2); - prefetch(); - -adc_nd_aby - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); - } - TMP += Y; - TMP2 = read(TMP); - do_adc_nd(TMP2); - prefetch(); - -adc_nd_idx - TMP2 = read_pc(); - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - do_adc_nd(read(TMP)); - prefetch(); - -adc_nd_idy - TMP2 = read_pc(); - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); - } - do_adc_nd(read(TMP+Y)); - prefetch(); - -adc_nd_imm - TMP = read_pc(); - do_adc_nd(TMP); - prefetch(); - -adc_nd_zpg - TMP = read_pc(); - TMP2 = read(TMP); - do_adc_nd(TMP2); - prefetch(); - -adc_nd_zpx - TMP = read_pc(); - read(TMP); - TMP2 = read(uint8_t(TMP+X)); - do_adc_nd(TMP2); - prefetch(); - -arr_nd_imm - A &= read_pc(); - do_arr_nd(); - prefetch(); - -rra_nd_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc_nd(TMP2); - prefetch(); - -rra_nd_abx - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc_nd(TMP2); - prefetch(); - -rra_nd_aby - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc_nd(TMP2); - prefetch(); - -rra_nd_idx - TMP2 = read_pc(); - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc_nd(TMP2); - prefetch(); - -rra_nd_idy - TMP2 = read_pc(); - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc_nd(TMP2); - prefetch(); - -rra_nd_zpg - TMP = read_pc(); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc_nd(TMP2); - prefetch(); - -rra_nd_zpx - TMP = read_pc(); - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc_nd(TMP2); - prefetch(); - -sbc_nd_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - TMP2 = read(TMP); - do_sbc_nd(TMP2); - prefetch(); - -sbc_nd_abx - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - if(page_changing(TMP, X)) { - read(set_l(TMP, TMP+X)); - } - TMP += X; - TMP2 = read(TMP); - do_sbc_nd(TMP2); - prefetch(); - -sbc_nd_aby - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); - } - TMP += Y; - TMP2 = read(TMP); - do_sbc_nd(TMP2); - prefetch(); - -sbc_nd_idx - TMP2 = read_pc(); - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - do_sbc_nd(read(TMP)); - prefetch(); - -sbc_nd_idy - TMP2 = read_pc(); - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); - } - do_sbc_nd(read(TMP+Y)); - prefetch(); - -sbc_nd_imm - TMP = read_pc(); - do_sbc_nd(TMP); - prefetch(); - -sbc_nd_zpg - TMP = read_pc(); - TMP2 = read(TMP); - do_sbc_nd(TMP2); - prefetch(); - -sbc_nd_zpx - TMP = read_pc(); - read(TMP); - TMP2 = read(uint8_t(TMP+X)); - do_sbc_nd(TMP2); - prefetch(); - -isb_nd_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc_nd(TMP2); - prefetch(); - -isb_nd_abx - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc_nd(TMP2); - prefetch(); - -isb_nd_aby - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc_nd(TMP2); - prefetch(); - -isb_nd_idx - TMP2 = read_pc(); - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc_nd(TMP2); - prefetch(); - -isb_nd_idy - TMP2 = read_pc(); - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc_nd(TMP2); - prefetch(); - -isb_nd_zpg - TMP = read_pc(); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc_nd(TMP2); - prefetch(); - -isb_nd_zpx - TMP = read_pc(); - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc_nd(TMP2); - prefetch(); diff --git a/src/devices/cpu/m6502/orp2a03.lst b/src/devices/cpu/m6502/orp2a03.lst new file mode 100644 index 00000000000..6b5a491fd32 --- /dev/null +++ b/src/devices/cpu/m6502/orp2a03.lst @@ -0,0 +1,299 @@ +# license:BSD-3-Clause +# copyright-holders:Olivier Galibert +# rp2a03 opcodes - same as 6502 but with d disabled +adc_nd_aba + TMP = read_pc(); + TMP = set_h(TMP, read_pc()); + TMP2 = read(TMP); + do_adc_nd(TMP2); + prefetch(); + +adc_nd_abx + TMP = read_pc(); + TMP = set_h(TMP, read_pc()); + if(page_changing(TMP, X)) { + read(set_l(TMP, TMP+X)); + } + TMP += X; + TMP2 = read(TMP); + do_adc_nd(TMP2); + prefetch(); + +adc_nd_aby + TMP = read_pc(); + TMP = set_h(TMP, read_pc()); + if(page_changing(TMP, Y)) { + read(set_l(TMP, TMP+Y)); + } + TMP += Y; + TMP2 = read(TMP); + do_adc_nd(TMP2); + prefetch(); + +adc_nd_idx + TMP2 = read_pc(); + read(TMP2); + TMP2 += X; + TMP = read(TMP2 & 0xff); + TMP = set_h(TMP, read((TMP2+1) & 0xff)); + do_adc_nd(read(TMP)); + prefetch(); + +adc_nd_idy + TMP2 = read_pc(); + TMP = read(TMP2); + TMP = set_h(TMP, read((TMP2+1) & 0xff)); + if(page_changing(TMP, Y)) { + read(set_l(TMP, TMP+Y)); + } + do_adc_nd(read(TMP+Y)); + prefetch(); + +adc_nd_imm + TMP = read_pc(); + do_adc_nd(TMP); + prefetch(); + +adc_nd_zpg + TMP = read_pc(); + TMP2 = read(TMP); + do_adc_nd(TMP2); + prefetch(); + +adc_nd_zpx + TMP = read_pc(); + read(TMP); + TMP2 = read(uint8_t(TMP+X)); + do_adc_nd(TMP2); + prefetch(); + +arr_nd_imm + A &= read_pc(); + do_arr_nd(); + prefetch(); + +rra_nd_aba + TMP = read_pc(); + TMP = set_h(TMP, read_pc()); + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2 = do_ror(TMP2); + write(TMP, TMP2); + do_adc_nd(TMP2); + prefetch(); + +rra_nd_abx + TMP = read_pc(); + TMP = set_h(TMP, read_pc()); + read(set_l(TMP, TMP+X)); + TMP += X; + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2 = do_ror(TMP2); + write(TMP, TMP2); + do_adc_nd(TMP2); + prefetch(); + +rra_nd_aby + TMP = read_pc(); + TMP = set_h(TMP, read_pc()); + read(set_l(TMP, TMP+Y)); + TMP += Y; + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2 = do_ror(TMP2); + write(TMP, TMP2); + do_adc_nd(TMP2); + prefetch(); + +rra_nd_idx + TMP2 = read_pc(); + read(TMP2); + TMP2 += X; + TMP = read(TMP2 & 0xff); + TMP = set_h(TMP, read((TMP2+1) & 0xff)); + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2 = do_ror(TMP2); + write(TMP, TMP2); + do_adc_nd(TMP2); + prefetch(); + +rra_nd_idy + TMP2 = read_pc(); + TMP = read(TMP2); + TMP = set_h(TMP, read((TMP2+1) & 0xff)); + read(set_l(TMP, TMP+Y)); + TMP += Y; + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2 = do_ror(TMP2); + write(TMP, TMP2); + do_adc_nd(TMP2); + prefetch(); + +rra_nd_zpg + TMP = read_pc(); + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2 = do_ror(TMP2); + write(TMP, TMP2); + do_adc_nd(TMP2); + prefetch(); + +rra_nd_zpx + TMP = read_pc(); + read(TMP); + TMP = uint8_t(TMP+X); + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2 = do_ror(TMP2); + write(TMP, TMP2); + do_adc_nd(TMP2); + prefetch(); + +sbc_nd_aba + TMP = read_pc(); + TMP = set_h(TMP, read_pc()); + TMP2 = read(TMP); + do_sbc_nd(TMP2); + prefetch(); + +sbc_nd_abx + TMP = read_pc(); + TMP = set_h(TMP, read_pc()); + if(page_changing(TMP, X)) { + read(set_l(TMP, TMP+X)); + } + TMP += X; + TMP2 = read(TMP); + do_sbc_nd(TMP2); + prefetch(); + +sbc_nd_aby + TMP = read_pc(); + TMP = set_h(TMP, read_pc()); + if(page_changing(TMP, Y)) { + read(set_l(TMP, TMP+Y)); + } + TMP += Y; + TMP2 = read(TMP); + do_sbc_nd(TMP2); + prefetch(); + +sbc_nd_idx + TMP2 = read_pc(); + read(TMP2); + TMP2 += X; + TMP = read(TMP2 & 0xff); + TMP = set_h(TMP, read((TMP2+1) & 0xff)); + do_sbc_nd(read(TMP)); + prefetch(); + +sbc_nd_idy + TMP2 = read_pc(); + TMP = read(TMP2); + TMP = set_h(TMP, read((TMP2+1) & 0xff)); + if(page_changing(TMP, Y)) { + read(set_l(TMP, TMP+Y)); + } + do_sbc_nd(read(TMP+Y)); + prefetch(); + +sbc_nd_imm + TMP = read_pc(); + do_sbc_nd(TMP); + prefetch(); + +sbc_nd_zpg + TMP = read_pc(); + TMP2 = read(TMP); + do_sbc_nd(TMP2); + prefetch(); + +sbc_nd_zpx + TMP = read_pc(); + read(TMP); + TMP2 = read(uint8_t(TMP+X)); + do_sbc_nd(TMP2); + prefetch(); + +isb_nd_aba + TMP = read_pc(); + TMP = set_h(TMP, read_pc()); + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2++; + write(TMP, TMP2); + do_sbc_nd(TMP2); + prefetch(); + +isb_nd_abx + TMP = read_pc(); + TMP = set_h(TMP, read_pc()); + read(set_l(TMP, TMP+X)); + TMP += X; + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2++; + write(TMP, TMP2); + do_sbc_nd(TMP2); + prefetch(); + +isb_nd_aby + TMP = read_pc(); + TMP = set_h(TMP, read_pc()); + read(set_l(TMP, TMP+Y)); + TMP += Y; + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2++; + write(TMP, TMP2); + do_sbc_nd(TMP2); + prefetch(); + +isb_nd_idx + TMP2 = read_pc(); + read(TMP2); + TMP2 += X; + TMP = read(TMP2 & 0xff); + TMP = set_h(TMP, read((TMP2+1) & 0xff)); + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2++; + write(TMP, TMP2); + do_sbc_nd(TMP2); + prefetch(); + +isb_nd_idy + TMP2 = read_pc(); + TMP = read(TMP2); + TMP = set_h(TMP, read((TMP2+1) & 0xff)); + read(set_l(TMP, TMP+Y)); + TMP += Y; + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2++; + write(TMP, TMP2); + do_sbc_nd(TMP2); + prefetch(); + +isb_nd_zpg + TMP = read_pc(); + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2++; + write(TMP, TMP2); + do_sbc_nd(TMP2); + prefetch(); + +isb_nd_zpx + TMP = read_pc(); + read(TMP); + TMP = uint8_t(TMP+X); + TMP2 = read(TMP); + write(TMP, TMP2); + TMP2++; + write(TMP, TMP2); + do_sbc_nd(TMP2); + prefetch(); diff --git a/src/devices/cpu/m6502/rp2a03.cpp b/src/devices/cpu/m6502/rp2a03.cpp new file mode 100644 index 00000000000..25e43144db8 --- /dev/null +++ b/src/devices/cpu/m6502/rp2a03.cpp @@ -0,0 +1,121 @@ +// license:BSD-3-Clause +// copyright-holders:Olivier Galibert +/*************************************************************************** + + rp2a03.cpp + + 6502, NES variant + +***************************************************************************/ + +#include "emu.h" +#include "rp2a03.h" +#include "rp2a03d.h" + +DEFINE_DEVICE_TYPE(RP2A03_CORE, rp2a03_core_device, "rp2a03_core", "Ricoh RP2A03 core") // needed for some VT systems with XOP instead of standard APU +DEFINE_DEVICE_TYPE(RP2A03, rp2a03_device, "rp2a03", "Ricoh RP2A03") // earliest version, found in punchout, spnchout, dkong3, VS. systems, and some early Famicoms +DEFINE_DEVICE_TYPE(RP2A03G, rp2a03g_device, "rp2a03g", "Ricoh RP2A03G") // later revision, found in front-loader NES + +uint8_t rp2a03_device::psg1_4014_r() +{ + return m_apu->read(0x14); +} + +uint8_t rp2a03_device::psg1_4015_r() +{ + return m_apu->read(0x15); +} + +void rp2a03_device::psg1_4015_w(uint8_t data) +{ + m_apu->write(0x15, data); +} + +void rp2a03_device::psg1_4017_w(uint8_t data) +{ + m_apu->write(0x17, data); +} + + +// on various drivers output port 0x4014 is used for external hardware (not used by APU?) +// input/output port 0x4016 ^ (not used by APU?) +// input port 0x4017 ^ ( APU_IRQCTRL ) +// is there a fall through where every write is seen by other hw, or do these addresses really not touch the APU?? APU_IRQCTRL can definitely be written by can it be read back? + +void rp2a03_device::rp2a03_map(address_map &map) +{ + map(0x4000, 0x4013).rw("nesapu", FUNC(nesapu_device::read), FUNC(nesapu_device::write)); + map(0x4014, 0x4014).r(FUNC(rp2a03_device::psg1_4014_r)); // .w(FUNC(nesapu_device::sprite_dma_0_w)); + map(0x4015, 0x4015).rw(FUNC(rp2a03_device::psg1_4015_r), FUNC(rp2a03_device::psg1_4015_w)); /* PSG status / first control register */ + //map(0x4016, 0x4016).rw(FUNC(rp2a03_device::vsnes_in0_r), FUNC(rp2a03_device::vsnes_in0_w)); + map(0x4017, 0x4017) /*.r(FUNC(rp2a03_device::vsnes_in1_r))*/ .w(FUNC(rp2a03_device::psg1_4017_w)); +} + + + +rp2a03_core_device::rp2a03_core_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) + : m6502_device(mconfig, type, tag, owner, clock) +{ +} + +rp2a03_core_device::rp2a03_core_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : rp2a03_core_device(mconfig, RP2A03_CORE, tag, owner, clock) +{ +} + + + +rp2a03_device::rp2a03_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) + : rp2a03_core_device(mconfig, type, tag, owner, clock) + , device_mixer_interface(mconfig, *this, 1) + , m_apu(*this, "nesapu") +{ + program_config.m_internal_map = address_map_constructor(FUNC(rp2a03_device::rp2a03_map), this); +} + +rp2a03_device::rp2a03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : rp2a03_device(mconfig, RP2A03, tag, owner, clock) +{ +} + +rp2a03g_device::rp2a03g_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : rp2a03_device(mconfig, RP2A03G, tag, owner, clock) +{ +} + + + +std::unique_ptr rp2a03_core_device::create_disassembler() +{ + return std::make_unique(); +} + +WRITE_LINE_MEMBER(rp2a03_device::apu_irq) +{ + // games relying on the APU_IRQ don't seem to work anyway? (nes software list : timelord, mig29sf, firehawk) + set_input_line(RP2A03_APU_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE); +} + +uint8_t rp2a03_device::apu_read_mem(offs_t offset) +{ + return mintf->program.read_byte(offset); +} + +void rp2a03_device::device_add_mconfig(machine_config &config) +{ + APU_2A03(config, m_apu, DERIVED_CLOCK(1,1)); + m_apu->irq().set(FUNC(rp2a03_device::apu_irq)); + m_apu->mem_read().set(FUNC(rp2a03_device::apu_read_mem)); + m_apu->add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 0); +} + +void rp2a03g_device::device_add_mconfig(machine_config &config) +{ + NES_APU(config, m_apu, DERIVED_CLOCK(1,1)); + m_apu->irq().set(FUNC(rp2a03g_device::apu_irq)); + m_apu->mem_read().set(FUNC(rp2a03g_device::apu_read_mem)); + m_apu->add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 0); +} + + +#include "cpu/m6502/rp2a03.hxx" diff --git a/src/devices/cpu/m6502/rp2a03.h b/src/devices/cpu/m6502/rp2a03.h new file mode 100644 index 00000000000..412837cd885 --- /dev/null +++ b/src/devices/cpu/m6502/rp2a03.h @@ -0,0 +1,96 @@ +// license:BSD-3-Clause +// copyright-holders:Olivier Galibert +/*************************************************************************** + + rp2a03.h + + 6502, NES variant + +***************************************************************************/ +#ifndef MAME_CPU_M6502_RP2A03_H +#define MAME_CPU_M6502_RP2A03_H + +#pragma once + +#include "m6502.h" +#include "sound/nes_apu.h" + +class rp2a03_core_device : public m6502_device { +public: + rp2a03_core_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + + virtual std::unique_ptr create_disassembler() override; + + virtual void do_exec_full() override; + virtual void do_exec_partial() override; + +protected: + rp2a03_core_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + +#define O(o) void o ## _full(); void o ## _partial() + + // rp2a03 opcodes - same as 6502 with D disabled + O(adc_nd_aba); O(adc_nd_abx); O(adc_nd_aby); O(adc_nd_idx); O(adc_nd_idy); O(adc_nd_imm); O(adc_nd_zpg); O(adc_nd_zpx); + O(arr_nd_imm); + O(isb_nd_aba); O(isb_nd_abx); O(isb_nd_aby); O(isb_nd_idx); O(isb_nd_idy); O(isb_nd_zpg); O(isb_nd_zpx); + O(rra_nd_aba); O(rra_nd_abx); O(rra_nd_aby); O(rra_nd_idx); O(rra_nd_idy); O(rra_nd_zpg); O(rra_nd_zpx); + O(sbc_nd_aba); O(sbc_nd_abx); O(sbc_nd_aby); O(sbc_nd_idx); O(sbc_nd_idy); O(sbc_nd_imm); O(sbc_nd_zpg); O(sbc_nd_zpx); + +#undef O + +private: +}; + +class rp2a03_device : public rp2a03_core_device, public device_mixer_interface { +public: + rp2a03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + + uint8_t psg1_4014_r(); + uint8_t psg1_4015_r(); + void psg1_4015_w(uint8_t data); + void psg1_4017_w(uint8_t data); + + void rp2a03_map(address_map &map); + +protected: + rp2a03_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + + required_device m_apu; + + virtual void device_add_mconfig(machine_config &config) override; + + DECLARE_WRITE_LINE_MEMBER(apu_irq); + uint8_t apu_read_mem(offs_t offset); +}; + +class rp2a03g_device : public rp2a03_device +{ +public: + rp2a03g_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + +protected: + virtual void device_add_mconfig(machine_config &config) override; +}; + +/* These are the official XTAL values and clock rates used by Nintendo for + manufacturing throughout the production of the 2A03. PALC_APU_CLOCK is + the clock rate devised by UMC(?) for PAL Famicom clone hardware. */ + +#define RP2A03_NTSC_XTAL XTAL(21'477'272) +#define RP2A03_PAL_XTAL XTAL(26'601'712) +#define NTSC_APU_CLOCK (RP2A03_NTSC_XTAL/12) /* 1.7897726666... MHz */ +#define PAL_APU_CLOCK (RP2A03_PAL_XTAL/16) /* 1.662607 MHz */ +#define PALC_APU_CLOCK (RP2A03_PAL_XTAL/15) /* 1.77344746666... MHz */ + +enum { + RP2A03_IRQ_LINE = m6502_device::IRQ_LINE, + RP2A03_APU_IRQ_LINE = m6502_device::APU_IRQ_LINE, + RP2A03_NMI_LINE = m6502_device::NMI_LINE, + RP2A03_SET_OVERFLOW = m6502_device::V_LINE +}; + +DECLARE_DEVICE_TYPE(RP2A03_CORE, rp2a03_core_device) +DECLARE_DEVICE_TYPE(RP2A03, rp2a03_device) +DECLARE_DEVICE_TYPE(RP2A03G, rp2a03g_device) + +#endif // MAME_CPU_M6502_RP2A03_H diff --git a/src/devices/cpu/m6502/rp2a03d.cpp b/src/devices/cpu/m6502/rp2a03d.cpp new file mode 100644 index 00000000000..b7a34885345 --- /dev/null +++ b/src/devices/cpu/m6502/rp2a03d.cpp @@ -0,0 +1,17 @@ +// license:BSD-3-Clause +// copyright-holders:Olivier Galibert +/*************************************************************************** + + rp2a03d.cpp + + 6502, NES variant, disassembler + +***************************************************************************/ + +#include "emu.h" +#include "rp2a03d.h" +#include "cpu/m6502/rp2a03d.hxx" + +rp2a03_disassembler::rp2a03_disassembler() : m6502_base_disassembler(disasm_entries) +{ +} diff --git a/src/devices/cpu/m6502/rp2a03d.h b/src/devices/cpu/m6502/rp2a03d.h new file mode 100644 index 00000000000..3ec3d8e4606 --- /dev/null +++ b/src/devices/cpu/m6502/rp2a03d.h @@ -0,0 +1,28 @@ +// license:BSD-3-Clause +// copyright-holders:Olivier Galibert +/*************************************************************************** + + rp2a03d.h + + 6502, NES variant, disassembler + +***************************************************************************/ + +#ifndef MAME_CPU_M6502_RP2A03D_H +#define MAME_CPU_M6502_RP2A03D_H + +#pragma once + +#include "m6502d.h" + +class rp2a03_disassembler : public m6502_base_disassembler +{ +public: + rp2a03_disassembler(); + virtual ~rp2a03_disassembler() = default; + +private: + static const disasm_entry disasm_entries[0x100]; +}; + +#endif diff --git a/src/devices/sound/nes_apu.cpp b/src/devices/sound/nes_apu.cpp index ee038128524..ee059c1cd22 100644 --- a/src/devices/sound/nes_apu.cpp +++ b/src/devices/sound/nes_apu.cpp @@ -4,7 +4,7 @@ MAME/MESS NES APU CORE - Based on the Nofrendo/Nosefart NES N2A03 sound emulation core written by + Based on the Nofrendo/Nosefart NES RP2A03 sound emulation core written by Matthew Conte (matt@conte.com) and redesigned for use in MAME/MESS by Who Wants to Know? (wwtk@mail.com) @@ -45,7 +45,7 @@ #include "emu.h" #include "nes_apu.h" -DEFINE_DEVICE_TYPE(NES_APU, nesapu_device, "nesapu", "N2A0X APU") +DEFINE_DEVICE_TYPE(NES_APU, nesapu_device, "nesapu", "RP2A0X APU") DEFINE_DEVICE_TYPE(APU_2A03, apu2a03_device, "apu2a03", "RP2A03 APU") nesapu_device::nesapu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) diff --git a/src/devices/sound/nes_apu.h b/src/devices/sound/nes_apu.h index 42a92be2b0e..8837e683034 100644 --- a/src/devices/sound/nes_apu.h +++ b/src/devices/sound/nes_apu.h @@ -4,7 +4,7 @@ MAME/MESS NES APU CORE - Based on the Nofrendo/Nosefart NES N2A03 sound emulation core written by + Based on the Nofrendo/Nosefart NES RP2A03 sound emulation core written by Matthew Conte (matt@conte.com) and redesigned for use in MAME/MESS by Who Wants to Know? (wwtk@mail.com) diff --git a/src/devices/sound/nes_defs.h b/src/devices/sound/nes_defs.h index a9ee22bef92..c9c6fca15b9 100644 --- a/src/devices/sound/nes_defs.h +++ b/src/devices/sound/nes_defs.h @@ -4,7 +4,7 @@ MAME/MESS NES APU CORE - Based on the Nofrendo/Nosefart NES N2A03 sound emulation core written by + Based on the Nofrendo/Nosefart NES RP2A03 sound emulation core written by Matthew Conte (matt@conte.com) and redesigned for use in MAME/MESS by Who Wants to Know? (wwtk@mail.com) diff --git a/src/mame/nintendo/cham24.cpp b/src/mame/nintendo/cham24.cpp index 8e197c98f59..db911426668 100644 --- a/src/mame/nintendo/cham24.cpp +++ b/src/mame/nintendo/cham24.cpp @@ -57,8 +57,10 @@ Notes: */ #include "emu.h" -#include "cpu/m6502/n2a03.h" + +#include "cpu/m6502/rp2a03.h" #include "video/ppu2c0x.h" + #include "screen.h" #include "speaker.h" @@ -84,7 +86,7 @@ protected: virtual void machine_reset() override; private: - required_device m_maincpu; + required_device m_maincpu; required_device m_ppu; required_memory_bank_array<4> m_nt_page; @@ -250,7 +252,7 @@ void cham24_state::machine_reset() void cham24_state::cham24(machine_config &config) { /* basic machine hardware */ - N2A03G(config, m_maincpu, NTSC_APU_CLOCK); + RP2A03G(config, m_maincpu, NTSC_APU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &cham24_state::cham24_map); /* video hardware */ diff --git a/src/mame/nintendo/dkong.cpp b/src/mame/nintendo/dkong.cpp index 80e0abe2bb0..53fd8bc087a 100644 --- a/src/mame/nintendo/dkong.cpp +++ b/src/mame/nintendo/dkong.cpp @@ -732,13 +732,13 @@ void dkong_state::dkong3_2a03_reset_w(uint8_t data) { if (data & 1) { - m_dev_n2a03a->set_input_line(INPUT_LINE_RESET, CLEAR_LINE); - m_dev_n2a03b->set_input_line(INPUT_LINE_RESET, CLEAR_LINE); + m_dev_rp2a03a->set_input_line(INPUT_LINE_RESET, CLEAR_LINE); + m_dev_rp2a03b->set_input_line(INPUT_LINE_RESET, CLEAR_LINE); } else { - m_dev_n2a03a->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); - m_dev_n2a03b->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); + m_dev_rp2a03a->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); + m_dev_rp2a03b->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); } } @@ -1797,8 +1797,8 @@ void dkong_state::dkong3(machine_config &config) m_screen->set_screen_update(FUNC(dkong_state::screen_update_dkong)); m_screen->set_palette(m_palette); m_screen->screen_vblank().set(FUNC(dkong_state::vblank_irq)); - m_screen->screen_vblank().append_inputline(m_dev_n2a03a, INPUT_LINE_NMI); - m_screen->screen_vblank().append_inputline(m_dev_n2a03b, INPUT_LINE_NMI); + m_screen->screen_vblank().append_inputline(m_dev_rp2a03a, INPUT_LINE_NMI); + m_screen->screen_vblank().append_inputline(m_dev_rp2a03b, INPUT_LINE_NMI); GFXDECODE(config, m_gfxdecode, m_palette, gfx_dkong); PALETTE(config, m_palette, FUNC(dkong_state::dkong3_palette), DK3_PALETTE_LENGTH); @@ -2905,10 +2905,10 @@ ROM_START( dkong3 ) ROM_LOAD( "dk3c.7d", 0x4000, 0x2000, CRC(d22e2921) SHA1(59a4a1a36aaca19ee0a7255d832df9d042ba34fb) ) ROM_LOAD( "dk3c.7e", 0x8000, 0x2000, CRC(615f14b7) SHA1(145674073e95d97c9131b6f2b03303eadb57ca78) ) - ROM_REGION( 0x10000, "n2a03a", 0 ) /* sound #1 */ + ROM_REGION( 0x10000, "rp2a03a", 0 ) /* sound #1 */ ROM_LOAD( "dk3c.5l", 0xe000, 0x2000, CRC(7ff88885) SHA1(d530581778aab260e21f04c38e57ba34edea7c64) ) - ROM_REGION( 0x10000, "n2a03b", 0 ) /* sound #2 */ + ROM_REGION( 0x10000, "rp2a03b", 0 ) /* sound #2 */ ROM_LOAD( "dk3c.6h", 0xe000, 0x2000, CRC(36d7200c) SHA1(7965fcb9bc1c0fdcae8a8e79df9c7b7439c506d8) ) ROM_REGION( 0x2000, "gfx1", 0 ) @@ -2938,10 +2938,10 @@ ROM_START( dkong3j ) ROM_LOAD( "dk3c.7d", 0x4000, 0x2000, CRC(d22e2921) SHA1(59a4a1a36aaca19ee0a7255d832df9d042ba34fb) ) ROM_LOAD( "dk3cj.7e", 0x8000, 0x2000, CRC(25b5be23) SHA1(43cf2a676922e60d9d637777a7721ab7582129fc) ) - ROM_REGION( 0x10000, "n2a03a", 0 ) /* sound #1 */ + ROM_REGION( 0x10000, "rp2a03a", 0 ) /* sound #1 */ ROM_LOAD( "dk3c.5l", 0xe000, 0x2000, CRC(7ff88885) SHA1(d530581778aab260e21f04c38e57ba34edea7c64) ) - ROM_REGION( 0x10000, "n2a03b", 0 ) /* sound #2 */ + ROM_REGION( 0x10000, "rp2a03b", 0 ) /* sound #2 */ ROM_LOAD( "dk3c.6h", 0xe000, 0x2000, CRC(36d7200c) SHA1(7965fcb9bc1c0fdcae8a8e79df9c7b7439c506d8) ) ROM_REGION( 0x2000, "gfx1", 0 ) @@ -3008,10 +3008,10 @@ ROM_START( dkong3hs ) ROM_REGION( 0x10000, "braze", 0 ) ROM_LOAD( "dk3_10a.bin", 0x0000, 0x10000, CRC(0008652b) SHA1(f1d90bb18373a6f24634b6d2cd766a28d07ab9f4) ) /* Version 1.0a */ - ROM_REGION( 0x10000, "n2a03a", 0 ) /* sound #1 */ + ROM_REGION( 0x10000, "rp2a03a", 0 ) /* sound #1 */ ROM_LOAD( "dk3c.5l", 0xe000, 0x2000, CRC(7ff88885) SHA1(d530581778aab260e21f04c38e57ba34edea7c64) ) - ROM_REGION( 0x10000, "n2a03b", 0 ) /* sound #2 */ + ROM_REGION( 0x10000, "rp2a03b", 0 ) /* sound #2 */ ROM_LOAD( "dk3c.6h", 0xe000, 0x2000, CRC(36d7200c) SHA1(7965fcb9bc1c0fdcae8a8e79df9c7b7439c506d8) ) ROM_REGION( 0x2000, "gfx1", 0 ) diff --git a/src/mame/nintendo/dkong.h b/src/mame/nintendo/dkong.h index 112d7acf1b6..a4d2d5734e3 100644 --- a/src/mame/nintendo/dkong.h +++ b/src/mame/nintendo/dkong.h @@ -10,7 +10,7 @@ #pragma once -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "cpu/mcs48/mcs48.h" #include "machine/eepromser.h" #include "machine/i8257.h" @@ -108,8 +108,8 @@ public: , m_maincpu(*this, "maincpu") , m_soundcpu(*this, "soundcpu") , m_eeprom(*this, "eeprom") - , m_dev_n2a03a(*this, "n2a03a") - , m_dev_n2a03b(*this, "n2a03b") + , m_dev_rp2a03a(*this, "rp2a03a") + , m_dev_rp2a03b(*this, "rp2a03b") , m_dev_vp2(*this, "virtual_p2") , m_dev_6h(*this, "ls259.6h") , m_ls175_3d(*this, "ls175.3d") @@ -181,8 +181,8 @@ private: required_device m_maincpu; optional_device m_soundcpu; optional_device m_eeprom; - optional_device m_dev_n2a03a; /* dkong3 */ - optional_device m_dev_n2a03b; /* dkong3 */ + optional_device m_dev_rp2a03a; /* dkong3 */ + optional_device m_dev_rp2a03b; /* dkong3 */ optional_device m_dev_vp2; /* dkong2, virtual port 2 */ optional_device m_dev_6h; /* dkong2 */ optional_device m_ls175_3d; /* dkong2b_audio */ diff --git a/src/mame/nintendo/dkong_a.cpp b/src/mame/nintendo/dkong_a.cpp index 9fb19db9fff..1d8dfa93e58 100644 --- a/src/mame/nintendo/dkong_a.cpp +++ b/src/mame/nintendo/dkong_a.cpp @@ -1428,13 +1428,13 @@ void dkong_state::dkong3_audio(machine_config &config) { SPEAKER(config, "mono").front_center(); - n2a03_device &n2a03a(N2A03(config, "n2a03a", NTSC_APU_CLOCK)); - n2a03a.set_addrmap(AS_PROGRAM, &dkong_state::dkong3_sound1_map); - n2a03a.add_route(ALL_OUTPUTS, "mono", 0.50); + rp2a03_device &rp2a03a(RP2A03(config, "rp2a03a", NTSC_APU_CLOCK)); + rp2a03a.set_addrmap(AS_PROGRAM, &dkong_state::dkong3_sound1_map); + rp2a03a.add_route(ALL_OUTPUTS, "mono", 0.50); - n2a03_device &n2a03b(N2A03(config, "n2a03b", NTSC_APU_CLOCK)); - n2a03b.set_addrmap(AS_PROGRAM, &dkong_state::dkong3_sound2_map); - n2a03b.add_route(ALL_OUTPUTS, "mono", 0.50); + rp2a03_device &rp2a03b(RP2A03(config, "rp2a03b", NTSC_APU_CLOCK)); + rp2a03b.set_addrmap(AS_PROGRAM, &dkong_state::dkong3_sound2_map); + rp2a03b.add_route(ALL_OUTPUTS, "mono", 0.50); /* sound latches */ LATCH8(config, "latch1"); diff --git a/src/mame/nintendo/famibox.cpp b/src/mame/nintendo/famibox.cpp index 22bb956ba88..bc33a86a01b 100644 --- a/src/mame/nintendo/famibox.cpp +++ b/src/mame/nintendo/famibox.cpp @@ -62,9 +62,11 @@ Notes/ToDo: ***************************************************************************/ #include "emu.h" -#include "video/ppu2c0x.h" -#include "cpu/m6502/n2a03.h" + #include "bus/nes_ctrl/ctrl.h" +#include "cpu/m6502/rp2a03.h" +#include "video/ppu2c0x.h" + #include "debugger.h" #include "screen.h" #include "speaker.h" @@ -98,7 +100,7 @@ protected: virtual void machine_reset() override; private: - required_device m_maincpu; + required_device m_maincpu; required_device m_ppu; required_device m_screen; optional_device_array m_ctrl; @@ -523,7 +525,7 @@ void famibox_state::machine_start() void famibox_state::famibox(machine_config &config) { // basic machine hardware - N2A03G(config, m_maincpu, NTSC_APU_CLOCK); + RP2A03G(config, m_maincpu, NTSC_APU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &famibox_state::famibox_map); // video hardware diff --git a/src/mame/nintendo/m6502_swap_op_d5_d6.cpp b/src/mame/nintendo/m6502_swap_op_d5_d6.cpp index 2cf0be912bf..90616b79396 100644 --- a/src/mame/nintendo/m6502_swap_op_d5_d6.cpp +++ b/src/mame/nintendo/m6502_swap_op_d5_d6.cpp @@ -4,10 +4,10 @@ m6502_swap_op_d5_d6.cpp - 6502 / N2A03 with instruction scrambling + 6502 / RP2A03 with instruction scrambling Seen on die marked VH2009, used on polmega, silv35 - these are N2A03 derived CPUs used on VTxx systems + these are RP2A03 derived CPUs used on VTxx systems VT1682 systems with this scrambling currently derive from M6502 type but this might be incorrect @@ -18,7 +18,7 @@ #include "m6502_swap_op_d5_d6.h" DEFINE_DEVICE_TYPE(M6502_SWAP_OP_D5_D6, m6502_swap_op_d5_d6, "m6502_swap_op_d5_d6", "M6502 swapped D5/D6") -DEFINE_DEVICE_TYPE(N2A03_CORE_SWAP_OP_D5_D6, n2a03_core_swap_op_d5_d6, "n2a03_core_swap_op_d5_d6", "N2A03 core with swapped D5/D6") +DEFINE_DEVICE_TYPE(RP2A03_CORE_SWAP_OP_D5_D6, rp2a03_core_swap_op_d5_d6, "rp2a03_core_swap_op_d5_d6", "RP2A03 core with swapped D5/D6") m6502_swap_op_d5_d6::m6502_swap_op_d5_d6(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : m6502_device(mconfig, M6502_SWAP_OP_D5_D6, tag, owner, clock) @@ -82,29 +82,29 @@ u8 m6502_swap_op_d5_d6::disassembler::decrypt8(u8 value, offs_t pc, bool opcode) -n2a03_core_swap_op_d5_d6::n2a03_core_swap_op_d5_d6(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - n2a03_core_device(mconfig, N2A03_CORE_SWAP_OP_D5_D6, tag, owner, clock) +rp2a03_core_swap_op_d5_d6::rp2a03_core_swap_op_d5_d6(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + rp2a03_core_device(mconfig, RP2A03_CORE_SWAP_OP_D5_D6, tag, owner, clock) { } -void n2a03_core_swap_op_d5_d6::device_start() +void rp2a03_core_swap_op_d5_d6::device_start() { mintf = std::make_unique(); init(); } -void n2a03_core_swap_op_d5_d6::device_reset() +void rp2a03_core_swap_op_d5_d6::device_reset() { downcast(*mintf).m_encryption_enabled = true; - n2a03_core_device::device_reset(); + rp2a03_core_device::device_reset(); } -void n2a03_core_swap_op_d5_d6::set_encryption_state(bool state) +void rp2a03_core_swap_op_d5_d6::set_encryption_state(bool state) { downcast(*mintf).m_encryption_enabled = state; } -uint8_t n2a03_core_swap_op_d5_d6::mi_decrypt::descramble(uint8_t op) +uint8_t rp2a03_core_swap_op_d5_d6::mi_decrypt::descramble(uint8_t op) { if (m_encryption_enabled) return bitswap<8>(op, 7, 5, 6, 4, 3, 2, 1, 0); @@ -112,7 +112,7 @@ uint8_t n2a03_core_swap_op_d5_d6::mi_decrypt::descramble(uint8_t op) return op; } -uint8_t n2a03_core_swap_op_d5_d6::mi_decrypt::read_sync(uint16_t adr) +uint8_t rp2a03_core_swap_op_d5_d6::mi_decrypt::read_sync(uint16_t adr) { uint8_t res = cprogram.read_byte(adr); @@ -121,21 +121,21 @@ uint8_t n2a03_core_swap_op_d5_d6::mi_decrypt::read_sync(uint16_t adr) return res; } -std::unique_ptr n2a03_core_swap_op_d5_d6::create_disassembler() +std::unique_ptr rp2a03_core_swap_op_d5_d6::create_disassembler() { return std::make_unique(downcast(mintf.get())); } -n2a03_core_swap_op_d5_d6::disassembler::disassembler(mi_decrypt *mi) : mintf(mi) +rp2a03_core_swap_op_d5_d6::disassembler::disassembler(mi_decrypt *mi) : mintf(mi) { } -u32 n2a03_core_swap_op_d5_d6::disassembler::interface_flags() const +u32 rp2a03_core_swap_op_d5_d6::disassembler::interface_flags() const { return SPLIT_DECRYPTION; } -u8 n2a03_core_swap_op_d5_d6::disassembler::decrypt8(u8 value, offs_t pc, bool opcode) const +u8 rp2a03_core_swap_op_d5_d6::disassembler::decrypt8(u8 value, offs_t pc, bool opcode) const { return opcode ? mintf->descramble(value) : value; } diff --git a/src/mame/nintendo/m6502_swap_op_d5_d6.h b/src/mame/nintendo/m6502_swap_op_d5_d6.h index d6f089fadc0..92061680950 100644 --- a/src/mame/nintendo/m6502_swap_op_d5_d6.h +++ b/src/mame/nintendo/m6502_swap_op_d5_d6.h @@ -4,7 +4,7 @@ m6502_swap_op_d5_d6.h - 6502 / N2A03 with instruction scrambling + 6502 / RP2A03 with instruction scrambling ***************************************************************************/ @@ -13,8 +13,8 @@ #pragma once -#include "cpu/m6502/n2a03.h" -#include "cpu/m6502/n2a03d.h" +#include "cpu/m6502/rp2a03.h" +#include "cpu/m6502/rp2a03d.h" class m6502_swap_op_d5_d6 : public m6502_device { public: @@ -48,9 +48,9 @@ protected: virtual std::unique_ptr create_disassembler() override; }; -class n2a03_core_swap_op_d5_d6 : public n2a03_core_device { +class rp2a03_core_swap_op_d5_d6 : public rp2a03_core_device { public: - n2a03_core_swap_op_d5_d6(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + rp2a03_core_swap_op_d5_d6(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); void set_encryption_state(bool state); protected: @@ -65,7 +65,7 @@ protected: uint8_t descramble(uint8_t op); }; - class disassembler : public n2a03_disassembler { + class disassembler : public rp2a03_disassembler { public: mi_decrypt *mintf; @@ -82,6 +82,6 @@ protected: DECLARE_DEVICE_TYPE(M6502_SWAP_OP_D5_D6, m6502_swap_op_d5_d6) -DECLARE_DEVICE_TYPE(N2A03_CORE_SWAP_OP_D5_D6, n2a03_core_swap_op_d5_d6) +DECLARE_DEVICE_TYPE(RP2A03_CORE_SWAP_OP_D5_D6, rp2a03_core_swap_op_d5_d6) #endif // MAME_M6502_SWAP_OP_D5_D6_H diff --git a/src/mame/nintendo/multigam.cpp b/src/mame/nintendo/multigam.cpp index 5dc1d44bda6..b9cef58c077 100644 --- a/src/mame/nintendo/multigam.cpp +++ b/src/mame/nintendo/multigam.cpp @@ -107,7 +107,7 @@ Eproms are 27512,27010,274001 */ #include "emu.h" -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "video/ppu2c0x.h" #include "emupal.h" #include "screen.h" @@ -147,7 +147,7 @@ protected: virtual void video_start() override; private: - required_device m_maincpu; + required_device m_maincpu; required_device m_ppu; required_ioport m_p1; required_ioport m_p2; @@ -1184,7 +1184,7 @@ MACHINE_START_MEMBER(multigam_state,supergm3) void multigam_state::multigam(machine_config &config) { /* basic machine hardware */ - N2A03G(config, m_maincpu, NTSC_APU_CLOCK); + RP2A03G(config, m_maincpu, NTSC_APU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &multigam_state::multigam_map); /* video hardware */ diff --git a/src/mame/nintendo/nes.cpp b/src/mame/nintendo/nes.cpp index 4af7963d192..1ea73fac196 100644 --- a/src/mame/nintendo/nes.cpp +++ b/src/mame/nintendo/nes.cpp @@ -15,7 +15,7 @@ #include "emu.h" #include "nes.h" -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "softlist_dev.h" #include "speaker.h" @@ -51,7 +51,7 @@ INPUT_PORTS_END void nes_state::nes(machine_config &config) { // basic machine hardware - n2a03_device &maincpu(N2A03G(config, m_maincpu, NTSC_APU_CLOCK)); + rp2a03_device &maincpu(RP2A03G(config, m_maincpu, NTSC_APU_CLOCK)); maincpu.set_addrmap(AS_PROGRAM, &nes_state::nes_map); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); @@ -126,7 +126,7 @@ void nes_state::famicomo(machine_config &config) famicom(config); // basic machine hardware - n2a03_device &maincpu(N2A03(config.replace(), m_maincpu, NTSC_APU_CLOCK)); + rp2a03_device &maincpu(RP2A03(config.replace(), m_maincpu, NTSC_APU_CLOCK)); maincpu.set_addrmap(AS_PROGRAM, &nes_state::nes_map); // sound hardware diff --git a/src/mame/nintendo/nes_arcade_bl.cpp b/src/mame/nintendo/nes_arcade_bl.cpp index 71a4446ae28..64e30a93859 100644 --- a/src/mame/nintendo/nes_arcade_bl.cpp +++ b/src/mame/nintendo/nes_arcade_bl.cpp @@ -33,7 +33,7 @@ #include "emu.h" -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "cpu/z80/z80.h" #include "video/ppu2c0x.h" @@ -56,7 +56,7 @@ public: void smb3bl(machine_config &config); private: - required_device m_maincpu; + required_device m_maincpu; required_device m_ppu; void nes_cpu_map(address_map &map); @@ -116,7 +116,7 @@ INPUT_PORTS_END void nes_arcade_bl_state::smb3bl(machine_config &config) { - N2A03G(config, m_maincpu, 3.579545_MHz_XTAL / 2); // TODO: verify divider + RP2A03G(config, m_maincpu, 3.579545_MHz_XTAL / 2); // TODO: verify divider, really RP2A03E m_maincpu->set_addrmap(AS_PROGRAM, &nes_arcade_bl_state::nes_cpu_map); z80_device &timercpu(Z80(config, "timercpu", 3.579545_MHz_XTAL)); diff --git a/src/mame/nintendo/nes_clone.cpp b/src/mame/nintendo/nes_clone.cpp index 82cfb8ee90f..99dffa79c6f 100644 --- a/src/mame/nintendo/nes_clone.cpp +++ b/src/mame/nintendo/nes_clone.cpp @@ -6,7 +6,7 @@ */ #include "emu.h" -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "video/ppu2c0x.h" #include "emupal.h" #include "screen.h" @@ -46,7 +46,7 @@ protected: uint8_t* m_mainrom; int m_mainromsize; - required_device m_maincpu; + required_device m_maincpu; required_device m_screen; optional_ioport m_io0; optional_ioport m_io1; @@ -404,7 +404,7 @@ void nes_clone_state::machine_start() void nes_clone_state::nes_clone(machine_config &config) { /* basic machine hardware */ - N2A03G(config, m_maincpu, NTSC_APU_CLOCK); + RP2A03G(config, m_maincpu, NTSC_APU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &nes_clone_state::nes_clone_map); /* video hardware */ @@ -427,7 +427,7 @@ void nes_clone_state::nes_clone(machine_config &config) void nes_clone_state::nes_clone_pal(machine_config &config) { /* basic machine hardware */ - N2A03G(config, m_maincpu, PALC_APU_CLOCK); + RP2A03G(config, m_maincpu, PALC_APU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &nes_clone_state::nes_clone_map); /* video hardware */ diff --git a/src/mame/nintendo/nes_m8.cpp b/src/mame/nintendo/nes_m8.cpp index 83b3f40bafc..f203e3e0e72 100644 --- a/src/mame/nintendo/nes_m8.cpp +++ b/src/mame/nintendo/nes_m8.cpp @@ -35,7 +35,7 @@ #include "emu.h" #include "bus/nes_ctrl/ctrl.h" -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "video/ppu2c0x.h" #include "screen.h" @@ -72,7 +72,7 @@ protected: virtual void machine_reset() override; private: - required_device m_maincpu; + required_device m_maincpu; required_device m_ppu; required_device m_screen; optional_device_array m_ctrl; @@ -438,12 +438,12 @@ void m8_state::machine_reset() void m8_state::nes_m8(machine_config &config) { // basic machine hardware - N2A03G(config, m_maincpu, NTSC_APU_CLOCK); // actual model is RP2A03E + RP2A03G(config, m_maincpu, NTSC_APU_CLOCK); // actual model is RP2A03E m_maincpu->set_addrmap(AS_PROGRAM, &m8_state::m8_map); // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_raw(N2A03_NTSC_XTAL / 4, 341, 0, VISIBLE_SCREEN_WIDTH, ppu2c0x_device::NTSC_SCANLINES_PER_FRAME, 0, VISIBLE_SCREEN_HEIGHT); + m_screen->set_raw(RP2A03_NTSC_XTAL / 4, 341, 0, VISIBLE_SCREEN_WIDTH, ppu2c0x_device::NTSC_SCANLINES_PER_FRAME, 0, VISIBLE_SCREEN_HEIGHT); m_screen->set_screen_update(m_ppu, FUNC(ppu2c0x_device::screen_update)); PPU_2C02(config, m_ppu); diff --git a/src/mame/nintendo/nes_m82.cpp b/src/mame/nintendo/nes_m82.cpp index 7346a4b587f..1622da56336 100644 --- a/src/mame/nintendo/nes_m82.cpp +++ b/src/mame/nintendo/nes_m82.cpp @@ -20,7 +20,7 @@ #include "emu.h" #include "bus/nes_ctrl/ctrl.h" -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "video/ppu2c0x.h" #include "screen.h" @@ -51,7 +51,7 @@ protected: virtual void machine_reset() override; private: - required_device m_maincpu; + required_device m_maincpu; required_device m_ppu; required_device m_screen; optional_device_array m_ctrl; @@ -195,12 +195,12 @@ void m82_state::machine_reset() void m82_state::nes_m82(machine_config &config) { // basic machine hardware - N2A03G(config, m_maincpu, NTSC_APU_CLOCK); + RP2A03G(config, m_maincpu, NTSC_APU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &m82_state::m82_map); // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_raw(N2A03_NTSC_XTAL / 4, 341, 0, VISIBLE_SCREEN_WIDTH, ppu2c0x_device::NTSC_SCANLINES_PER_FRAME, 0, VISIBLE_SCREEN_HEIGHT); + m_screen->set_raw(RP2A03_NTSC_XTAL / 4, 341, 0, VISIBLE_SCREEN_WIDTH, ppu2c0x_device::NTSC_SCANLINES_PER_FRAME, 0, VISIBLE_SCREEN_HEIGHT); m_screen->set_screen_update(m_ppu, FUNC(ppu2c0x_device::screen_update)); PPU_2C02(config, m_ppu); diff --git a/src/mame/nintendo/nes_sh6578.cpp b/src/mame/nintendo/nes_sh6578.cpp index ceab7f10d8f..39c034bf674 100644 --- a/src/mame/nintendo/nes_sh6578.cpp +++ b/src/mame/nintendo/nes_sh6578.cpp @@ -602,12 +602,12 @@ TIMER_DEVICE_CALLBACK_MEMBER(nes_sh6578_state::timer_expired) } -// from n2a03.h verify that it actually uses these -#define N2A03_NTSC_XTAL XTAL(21'477'272) -#define N2A03_PAL_XTAL XTAL(26'601'712) -#define NTSC_APU_CLOCK (N2A03_NTSC_XTAL/12) /* 1.7897726666... MHz */ -#define PAL_APU_CLOCK (N2A03_PAL_XTAL/16) /* 1.662607 MHz */ -#define PALC_APU_CLOCK (N2A03_PAL_XTAL/15) /* 1.77344746666... MHz */ +// from rp2a03.h verify that it actually uses these +#define RP2A03_NTSC_XTAL XTAL(21'477'272) +#define RP2A03_PAL_XTAL XTAL(26'601'712) +#define NTSC_APU_CLOCK (RP2A03_NTSC_XTAL/12) /* 1.7897726666... MHz */ +#define PAL_APU_CLOCK (RP2A03_PAL_XTAL/16) /* 1.662607 MHz */ +#define PALC_APU_CLOCK (RP2A03_PAL_XTAL/15) /* 1.77344746666... MHz */ uint32_t nes_sh6578_state::screen_update(screen_device& screen, bitmap_rgb32& bitmap, const rectangle& cliprect) { @@ -617,12 +617,12 @@ uint32_t nes_sh6578_state::screen_update(screen_device& screen, bitmap_rgb32& bi void nes_sh6578_state::nes_sh6578(machine_config& config) { /* basic machine hardware */ - M6502(config, m_maincpu, NTSC_APU_CLOCK); // regular M6502 core, not N2A03? + M6502(config, m_maincpu, NTSC_APU_CLOCK); // regular M6502 core, not RP2A03? m_maincpu->set_addrmap(AS_PROGRAM, &nes_sh6578_state::nes_sh6578_map); ADDRESS_MAP_BANK(config, m_fullrom).set_map(&nes_sh6578_state::rom_map).set_options(ENDIANNESS_NATIVE, 8, 20, 0x100000); - PPU_SH6578(config, m_ppu, N2A03_NTSC_XTAL); + PPU_SH6578(config, m_ppu, RP2A03_NTSC_XTAL); m_ppu->set_cpu_tag(m_maincpu); m_ppu->int_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); @@ -654,7 +654,7 @@ void nes_sh6578_state::nes_sh6578_pal(machine_config& config) m_maincpu->set_clock(PALC_APU_CLOCK); m_apu->set_clock(PALC_APU_CLOCK); - PPU_SH6578PAL(config.replace(), m_ppu, N2A03_PAL_XTAL); + PPU_SH6578PAL(config.replace(), m_ppu, RP2A03_PAL_XTAL); m_ppu->set_cpu_tag(m_maincpu); m_ppu->int_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); diff --git a/src/mame/nintendo/nes_vt09_soc.h b/src/mame/nintendo/nes_vt09_soc.h index 766c1eed42a..a26cc233d7b 100644 --- a/src/mame/nintendo/nes_vt09_soc.h +++ b/src/mame/nintendo/nes_vt09_soc.h @@ -6,7 +6,7 @@ #pragma once #include "nes_vt_soc.h" -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "sound/nes_apu_vt.h" #include "m6502_vtscr.h" #include "m6502_swap_op_d5_d6.h" diff --git a/src/mame/nintendo/nes_vt32_soc.cpp b/src/mame/nintendo/nes_vt32_soc.cpp index e8d4d0ac2e0..f56dbfac07b 100644 --- a/src/mame/nintendo/nes_vt32_soc.cpp +++ b/src/mame/nintendo/nes_vt32_soc.cpp @@ -29,7 +29,7 @@ void nes_vt32_soc_device::device_add_mconfig(machine_config& config) { nes_vt02_vt03_soc_device::device_add_mconfig(config); - M6502_VTSCR(config.replace(), m_maincpu, NTSC_APU_CLOCK); // are these later chips N2A03 core, or 6502 core derived? + M6502_VTSCR(config.replace(), m_maincpu, NTSC_APU_CLOCK); // are these later chips RP2A03 core, or 6502 core derived? m_maincpu->set_addrmap(AS_PROGRAM, &nes_vt32_soc_device::nes_vt_fp_map); } diff --git a/src/mame/nintendo/nes_vt32_soc.h b/src/mame/nintendo/nes_vt32_soc.h index d7a9539c708..9a08171d04b 100644 --- a/src/mame/nintendo/nes_vt32_soc.h +++ b/src/mame/nintendo/nes_vt32_soc.h @@ -6,7 +6,7 @@ #pragma once #include "nes_vt09_soc.h" -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "sound/nes_apu_vt.h" #include "m6502_vtscr.h" #include "m6502_swap_op_d5_d6.h" diff --git a/src/mame/nintendo/nes_vt369_vtunknown_soc.cpp b/src/mame/nintendo/nes_vt369_vtunknown_soc.cpp index 709e625b87c..9c4d851473f 100644 --- a/src/mame/nintendo/nes_vt369_vtunknown_soc.cpp +++ b/src/mame/nintendo/nes_vt369_vtunknown_soc.cpp @@ -72,7 +72,7 @@ void nes_vt369_soc_device::device_add_mconfig(machine_config& config) VT_VT1682_ALU(config, m_alu, 0); - M6502(config, m_soundcpu, N2A03_NTSC_XTAL); + M6502(config, m_soundcpu, RP2A03_NTSC_XTAL); m_soundcpu->set_addrmap(AS_PROGRAM, &nes_vt369_soc_device::vt369_sound_map); } @@ -322,9 +322,9 @@ void nes_vt369_alt_soc_device::nes_vt_hh_map(address_map &map) void nes_vt369_alt_swap_d5_d6_soc_device::encryption_4169_w(uint8_t data) { if (data == 0x01) - downcast(*m_maincpu).set_encryption_state(false); + downcast(*m_maincpu).set_encryption_state(false); else if (data == 0x00) - downcast(*m_maincpu).set_encryption_state(true); + downcast(*m_maincpu).set_encryption_state(true); else logerror("%s: encryption_4169_w %02x\n", machine().describe_context(), data); } @@ -342,7 +342,7 @@ void nes_vt369_alt_swap_d5_d6_soc_device::device_add_mconfig(machine_config& con { nes_vt02_vt03_soc_device::device_add_mconfig(config); - N2A03_CORE_SWAP_OP_D5_D6(config.replace(), m_maincpu, NTSC_APU_CLOCK); + RP2A03_CORE_SWAP_OP_D5_D6(config.replace(), m_maincpu, NTSC_APU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &nes_vt369_alt_swap_d5_d6_soc_device::nes_vt_hh_swap_map); } diff --git a/src/mame/nintendo/nes_vt369_vtunknown_soc.h b/src/mame/nintendo/nes_vt369_vtunknown_soc.h index d8ad5b7ad26..89c5bddbbc8 100644 --- a/src/mame/nintendo/nes_vt369_vtunknown_soc.h +++ b/src/mame/nintendo/nes_vt369_vtunknown_soc.h @@ -6,7 +6,7 @@ #pragma once #include "nes_vt09_soc.h" -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "sound/nes_apu_vt.h" #include "m6502_vtscr.h" #include "m6502_swap_op_d5_d6.h" diff --git a/src/mame/nintendo/nes_vt_soc.cpp b/src/mame/nintendo/nes_vt_soc.cpp index 4f86276c97d..66e4668f824 100644 --- a/src/mame/nintendo/nes_vt_soc.cpp +++ b/src/mame/nintendo/nes_vt_soc.cpp @@ -1100,7 +1100,7 @@ void nes_vt02_vt03_soc_device::nes_vt_map(address_map &map) WRITE_LINE_MEMBER(nes_vt02_vt03_soc_device::apu_irq) { // TODO -// set_input_line(N2A03_APU_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE); +// set_input_line(RP2A03_APU_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE); } uint8_t nes_vt02_vt03_soc_device::apu_read_mem(offs_t offset) @@ -1126,7 +1126,7 @@ void nes_vt02_vt03_soc_device::do_pal_timings_and_ppu_replacement(machine_config { m_maincpu->set_clock(PALC_APU_CLOCK); - PPU_VT03PAL(config.replace(), m_ppu, N2A03_PAL_XTAL); + PPU_VT03PAL(config.replace(), m_ppu, RP2A03_PAL_XTAL); m_ppu->set_cpu_tag(m_maincpu); m_ppu->int_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); m_ppu->read_bg().set(FUNC(nes_vt02_vt03_soc_device::chr_r)); @@ -1143,7 +1143,7 @@ void nes_vt02_vt03_soc_device::do_pal_timings_and_ppu_replacement(machine_config void nes_vt02_vt03_soc_device::device_add_mconfig(machine_config &config) { - N2A03_CORE(config, m_maincpu, NTSC_APU_CLOCK); // Butterfly Catch in vgpocket confirms N2A03 core type, not 6502 + RP2A03_CORE(config, m_maincpu, NTSC_APU_CLOCK); // Butterfly Catch in vgpocket confirms RP2A03 core type, not 6502 m_maincpu->set_addrmap(AS_PROGRAM, &nes_vt02_vt03_soc_device::nes_vt_map); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); @@ -1154,7 +1154,7 @@ void nes_vt02_vt03_soc_device::device_add_mconfig(machine_config &config) m_screen->set_visarea(0*8, 32*8-1, 0*8, 30*8-1); m_screen->set_screen_update(FUNC(nes_vt02_vt03_soc_device::screen_update)); - PPU_VT03(config, m_ppu, N2A03_NTSC_XTAL); + PPU_VT03(config, m_ppu, RP2A03_NTSC_XTAL); m_ppu->set_cpu_tag(m_maincpu); m_ppu->int_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); m_ppu->read_bg().set(FUNC(nes_vt02_vt03_soc_device::chr_r)); @@ -1185,6 +1185,6 @@ void nes_vt02_vt03_soc_scramble_device::device_add_mconfig(machine_config& confi { nes_vt02_vt03_soc_device::device_add_mconfig(config); - N2A03_CORE_SWAP_OP_D5_D6(config.replace(), m_maincpu, NTSC_APU_CLOCK); // Insect Chase in polmega confirms N2A03 core type, not 6502 + RP2A03_CORE_SWAP_OP_D5_D6(config.replace(), m_maincpu, NTSC_APU_CLOCK); // Insect Chase in polmega confirms RP2A03 core type, not 6502 m_maincpu->set_addrmap(AS_PROGRAM, &nes_vt02_vt03_soc_scramble_device::nes_vt_map); } diff --git a/src/mame/nintendo/nes_vt_soc.h b/src/mame/nintendo/nes_vt_soc.h index 1de0ebb42dc..69281e7e46a 100644 --- a/src/mame/nintendo/nes_vt_soc.h +++ b/src/mame/nintendo/nes_vt_soc.h @@ -5,7 +5,7 @@ #pragma once -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "sound/nes_apu_vt.h" #include "m6502_vtscr.h" #include "m6502_swap_op_d5_d6.h" diff --git a/src/mame/nintendo/playch10.cpp b/src/mame/nintendo/playch10.cpp index ed33534f2e7..adeb926e868 100644 --- a/src/mame/nintendo/playch10.cpp +++ b/src/mame/nintendo/playch10.cpp @@ -291,7 +291,7 @@ Notes & Todo: #include "emu.h" #include "bus/nes_ctrl/zapper_sensor.h" -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "cpu/z80/z80.h" #include "machine/74259.h" #include "machine/rp5h01.h" @@ -439,7 +439,7 @@ private: u32 screen_update_playch10_single(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); required_device m_maincpu; - required_device m_cartcpu; + required_device m_cartcpu; required_device m_ppu; optional_device m_rp5h01; @@ -1906,7 +1906,7 @@ void playch10_state::playch10(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &playch10_state::bios_map); m_maincpu->set_addrmap(AS_IO, &playch10_state::bios_io_map); - N2A03G(config, m_cartcpu, NTSC_APU_CLOCK); + RP2A03G(config, m_cartcpu, NTSC_APU_CLOCK); // really RP2A03E m_cartcpu->set_addrmap(AS_PROGRAM, &playch10_state::cart_map); ls259_device &outlatch1(LS259(config, "outlatch1")); // 7D diff --git a/src/mame/nintendo/punchout.cpp b/src/mame/nintendo/punchout.cpp index de728a95ab9..e25267a3631 100644 --- a/src/mame/nintendo/punchout.cpp +++ b/src/mame/nintendo/punchout.cpp @@ -612,7 +612,7 @@ void punchout_state::punchout(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &punchout_state::punchout_map); m_maincpu->set_addrmap(AS_IO, &punchout_state::punchout_io_map); - N2A03(config, m_audiocpu, NTSC_APU_CLOCK); + RP2A03(config, m_audiocpu, NTSC_APU_CLOCK); m_audiocpu->set_addrmap(AS_PROGRAM, &punchout_state::punchout_sound_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -657,7 +657,7 @@ void punchout_state::punchout(machine_config &config) GENERIC_LATCH_8(config, "soundlatch"); GENERIC_LATCH_8(config, "soundlatch2"); - VLM5030(config, m_vlm, N2A03_NTSC_XTAL/6); + VLM5030(config, m_vlm, RP2A03_NTSC_XTAL/6); m_vlm->set_addrmap(0, &punchout_state::punchout_vlm_map); m_vlm->add_route(ALL_OUTPUTS, "lspeaker", 0.50); m_audiocpu->add_route(ALL_OUTPUTS, "rspeaker", 0.50); diff --git a/src/mame/nintendo/punchout.h b/src/mame/nintendo/punchout.h index 0ad2dcbdea9..ca0658422ac 100644 --- a/src/mame/nintendo/punchout.h +++ b/src/mame/nintendo/punchout.h @@ -10,7 +10,7 @@ #pragma once -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "machine/rp5c01.h" #include "machine/rp5h01.h" #include "sound/vlm5030.h" @@ -45,7 +45,7 @@ public: private: required_device m_maincpu; - required_device m_audiocpu; + required_device m_audiocpu; optional_device m_rtc; optional_device m_rp5h01; required_device m_vlm; diff --git a/src/mame/nintendo/vsnes.cpp b/src/mame/nintendo/vsnes.cpp index b9e23ff3004..7044c909e7c 100644 --- a/src/mame/nintendo/vsnes.cpp +++ b/src/mame/nintendo/vsnes.cpp @@ -144,7 +144,7 @@ Changes: #include "emu.h" #include "bus/nes_ctrl/zapper_sensor.h" -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "cpu/z80/z80.h" #include "machine/nvram.h" #include "machine/watchdog.h" @@ -2405,14 +2405,14 @@ INPUT_PORTS_END void vs_uni_state::vsnes(machine_config &config) { // basic machine hardware - n2a03_device &maincpu(N2A03(config, m_maincpu, NTSC_APU_CLOCK)); + rp2a03_device &maincpu(RP2A03(config, m_maincpu, NTSC_APU_CLOCK)); maincpu.set_addrmap(AS_PROGRAM, &vs_uni_state::vsnes_cpu1_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // video hardware screen_device &screen1(SCREEN(config, "screen1", SCREEN_TYPE_RASTER)); - screen1.set_raw(N2A03_NTSC_XTAL / 4, 341, 0, VISIBLE_SCREEN_WIDTH, ppu2c0x_device::NTSC_SCANLINES_PER_FRAME, 0, VISIBLE_SCREEN_HEIGHT); + screen1.set_raw(RP2A03_NTSC_XTAL / 4, 341, 0, VISIBLE_SCREEN_WIDTH, ppu2c0x_device::NTSC_SCANLINES_PER_FRAME, 0, VISIBLE_SCREEN_HEIGHT); screen1.set_screen_update("ppu1", FUNC(ppu2c0x_device::screen_update)); PPU_2C04(config, m_ppu1); @@ -2475,10 +2475,10 @@ void vs_uni_state::topgun(machine_config &config) void vs_dual_state::vsdual(machine_config &config) { // basic machine hardware - n2a03_device &maincpu(N2A03(config, m_maincpu, NTSC_APU_CLOCK)); + rp2a03_device &maincpu(RP2A03(config, m_maincpu, NTSC_APU_CLOCK)); maincpu.set_addrmap(AS_PROGRAM, &vs_dual_state::vsnes_cpu1_map); - n2a03_device &subcpu(N2A03(config, m_subcpu, NTSC_APU_CLOCK)); + rp2a03_device &subcpu(RP2A03(config, m_subcpu, NTSC_APU_CLOCK)); subcpu.set_addrmap(AS_PROGRAM, &vs_dual_state::vsnes_cpu2_map); // need high level of interleave to keep screens in sync in Balloon Fight. @@ -2489,11 +2489,11 @@ void vs_dual_state::vsdual(machine_config &config) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); screen_device &screen1(SCREEN(config, "screen1", SCREEN_TYPE_RASTER)); - screen1.set_raw(N2A03_NTSC_XTAL / 4, 341, 0, VISIBLE_SCREEN_WIDTH, ppu2c0x_device::NTSC_SCANLINES_PER_FRAME, 0, VISIBLE_SCREEN_HEIGHT); + screen1.set_raw(RP2A03_NTSC_XTAL / 4, 341, 0, VISIBLE_SCREEN_WIDTH, ppu2c0x_device::NTSC_SCANLINES_PER_FRAME, 0, VISIBLE_SCREEN_HEIGHT); screen1.set_screen_update("ppu1", FUNC(ppu2c0x_device::screen_update)); screen_device &screen2(SCREEN(config, "screen2", SCREEN_TYPE_RASTER)); - screen2.set_raw(N2A03_NTSC_XTAL / 4, 341, 0, VISIBLE_SCREEN_WIDTH, ppu2c0x_device::NTSC_SCANLINES_PER_FRAME, 0, VISIBLE_SCREEN_HEIGHT); + screen2.set_raw(RP2A03_NTSC_XTAL / 4, 341, 0, VISIBLE_SCREEN_WIDTH, ppu2c0x_device::NTSC_SCANLINES_PER_FRAME, 0, VISIBLE_SCREEN_HEIGHT); screen2.set_screen_update("ppu2", FUNC(ppu2c0x_device::screen_update)); PPU_2C04(config, m_ppu1); diff --git a/src/mame/virtual/vgmplay.cpp b/src/mame/virtual/vgmplay.cpp index 4c4032f9076..e5e2e35ef87 100644 --- a/src/mame/virtual/vgmplay.cpp +++ b/src/mame/virtual/vgmplay.cpp @@ -11,7 +11,7 @@ #include "imagedev/snapquik.h" #include "cpu/h6280/h6280.h" -#include "cpu/m6502/n2a03.h" +#include "cpu/m6502/rp2a03.h" #include "cpu/m68000/m68000.h" #include "cpu/sh/sh2.h" #include "sound/ay8910.h" @@ -500,7 +500,7 @@ private: required_device m_sega32x; required_device_array m_ay8910; required_device_array m_dmg; - required_device_array m_nescpu; + required_device_array m_nescpu; required_device_array m_multipcm; required_device_array m_upd7759; required_device_array m_okim6258; @@ -3845,13 +3845,13 @@ void vgmplay_state::vgmplay(machine_config &config) m_dmg[1]->add_route(0, m_mixer, 1, AUTO_ALLOC_INPUT, 0); m_dmg[1]->add_route(0, m_mixer, 1, AUTO_ALLOC_INPUT, 1); - N2A03G(config, m_nescpu[0], 0); + RP2A03G(config, m_nescpu[0], 0); m_nescpu[0]->set_addrmap(AS_PROGRAM, &vgmplay_state::nescpu_map<0>); m_nescpu[0]->set_disable(); m_nescpu[0]->add_route(ALL_OUTPUTS, m_mixer, 0.50, AUTO_ALLOC_INPUT, 0); m_nescpu[0]->add_route(ALL_OUTPUTS, m_mixer, 0.50, AUTO_ALLOC_INPUT, 1); - N2A03G(config, m_nescpu[1], 0); + RP2A03G(config, m_nescpu[1], 0); m_nescpu[1]->set_addrmap(AS_PROGRAM, &vgmplay_state::nescpu_map<1>); m_nescpu[1]->set_disable(); m_nescpu[1]->add_route(ALL_OUTPUTS, m_mixer, 0.50, AUTO_ALLOC_INPUT, 0); diff --git a/src/osd/modules/debugger/debuggdbstub.cpp b/src/osd/modules/debugger/debuggdbstub.cpp index b3b2019c16d..1402988111c 100644 --- a/src/osd/modules/debugger/debuggdbstub.cpp +++ b/src/osd/modules/debugger/debuggdbstub.cpp @@ -417,7 +417,7 @@ static const std::map gdb_register_maps = { "m68000", gdb_register_map_m68000 }, { "z80", gdb_register_map_z80 }, { "m6502", gdb_register_map_m6502 }, - { "n2a03", gdb_register_map_m6502 }, + { "rp2a03", gdb_register_map_m6502 }, { "m6809", gdb_register_map_m6809 }, { "score7", gdb_register_map_score7 }, }; -- cgit v1.2.3