mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
Renamed n2a03 to rp2a03 throughout source tree. (#10343)
This commit is contained in:
parent
76541e8c81
commit
a9b22a67ea
@ -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
|
||||
|
890
hash/vgmplay.xml
890
hash/vgmplay.xml
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
@ -1,6 +1,6 @@
|
||||
# license:BSD-3-Clause
|
||||
# copyright-holders:Olivier Galibert
|
||||
# n2a03 - D flag is disabled but present in the P register
|
||||
# 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
|
@ -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!
|
||||
|
@ -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<util::disasm_interface> n2a03_core_device::create_disassembler()
|
||||
{
|
||||
return std::make_unique<n2a03_disassembler>();
|
||||
}
|
||||
|
||||
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"
|
@ -1,6 +1,6 @@
|
||||
# license:BSD-3-Clause
|
||||
# copyright-holders:Olivier Galibert
|
||||
# n2a03 opcodes - same as 6502 but with d disabled
|
||||
# rp2a03 opcodes - same as 6502 but with d disabled
|
||||
adc_nd_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
121
src/devices/cpu/m6502/rp2a03.cpp
Normal file
121
src/devices/cpu/m6502/rp2a03.cpp
Normal file
@ -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<util::disasm_interface> rp2a03_core_device::create_disassembler()
|
||||
{
|
||||
return std::make_unique<rp2a03_disassembler>();
|
||||
}
|
||||
|
||||
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"
|
@ -2,22 +2,22 @@
|
||||
// copyright-holders:Olivier Galibert
|
||||
/***************************************************************************
|
||||
|
||||
n2a03.h
|
||||
rp2a03.h
|
||||
|
||||
6502, NES variant
|
||||
|
||||
***************************************************************************/
|
||||
#ifndef MAME_CPU_M6502_N2A03_H
|
||||
#define MAME_CPU_M6502_N2A03_H
|
||||
#ifndef MAME_CPU_M6502_RP2A03_H
|
||||
#define MAME_CPU_M6502_RP2A03_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "m6502.h"
|
||||
#include "sound/nes_apu.h"
|
||||
|
||||
class n2a03_core_device : public m6502_device {
|
||||
class rp2a03_core_device : public m6502_device {
|
||||
public:
|
||||
n2a03_core_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
rp2a03_core_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
|
||||
|
||||
@ -25,11 +25,11 @@ public:
|
||||
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);
|
||||
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()
|
||||
|
||||
// n2a03 opcodes - same as 6502 with D disabled
|
||||
// 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);
|
||||
@ -41,19 +41,19 @@ protected:
|
||||
private:
|
||||
};
|
||||
|
||||
class n2a03_device : public n2a03_core_device, public device_mixer_interface {
|
||||
class rp2a03_device : public rp2a03_core_device, public device_mixer_interface {
|
||||
public:
|
||||
n2a03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
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 n2a03_map(address_map &map);
|
||||
void rp2a03_map(address_map &map);
|
||||
|
||||
protected:
|
||||
n2a03_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
rp2a03_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
required_device<nesapu_device> m_apu;
|
||||
|
||||
@ -63,10 +63,10 @@ protected:
|
||||
uint8_t apu_read_mem(offs_t offset);
|
||||
};
|
||||
|
||||
class n2a03g_device : public n2a03_device
|
||||
class rp2a03g_device : public rp2a03_device
|
||||
{
|
||||
public:
|
||||
n2a03g_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
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;
|
||||
@ -76,21 +76,21 @@ protected:
|
||||
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 */
|
||||
#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 {
|
||||
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
|
||||
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(N2A03_CORE, n2a03_core_device)
|
||||
DECLARE_DEVICE_TYPE(N2A03, n2a03_device)
|
||||
DECLARE_DEVICE_TYPE(N2A03G, n2a03g_device)
|
||||
DECLARE_DEVICE_TYPE(RP2A03_CORE, rp2a03_core_device)
|
||||
DECLARE_DEVICE_TYPE(RP2A03, rp2a03_device)
|
||||
DECLARE_DEVICE_TYPE(RP2A03G, rp2a03g_device)
|
||||
|
||||
#endif // MAME_CPU_M6502_N2A03_H
|
||||
#endif // MAME_CPU_M6502_RP2A03_H
|
@ -2,16 +2,16 @@
|
||||
// copyright-holders:Olivier Galibert
|
||||
/***************************************************************************
|
||||
|
||||
n2a03d.cpp
|
||||
rp2a03d.cpp
|
||||
|
||||
6502, NES variant, disassembler
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "n2a03d.h"
|
||||
#include "cpu/m6502/n2a03d.hxx"
|
||||
#include "rp2a03d.h"
|
||||
#include "cpu/m6502/rp2a03d.hxx"
|
||||
|
||||
n2a03_disassembler::n2a03_disassembler() : m6502_base_disassembler(disasm_entries)
|
||||
rp2a03_disassembler::rp2a03_disassembler() : m6502_base_disassembler(disasm_entries)
|
||||
{
|
||||
}
|
@ -2,24 +2,24 @@
|
||||
// copyright-holders:Olivier Galibert
|
||||
/***************************************************************************
|
||||
|
||||
n2a03d.h
|
||||
rp2a03d.h
|
||||
|
||||
6502, NES variant, disassembler
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef MAME_CPU_M6502_N2A03D_H
|
||||
#define MAME_CPU_M6502_N2A03D_H
|
||||
#ifndef MAME_CPU_M6502_RP2A03D_H
|
||||
#define MAME_CPU_M6502_RP2A03D_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "m6502d.h"
|
||||
|
||||
class n2a03_disassembler : public m6502_base_disassembler
|
||||
class rp2a03_disassembler : public m6502_base_disassembler
|
||||
{
|
||||
public:
|
||||
n2a03_disassembler();
|
||||
virtual ~n2a03_disassembler() = default;
|
||||
rp2a03_disassembler();
|
||||
virtual ~rp2a03_disassembler() = default;
|
||||
|
||||
private:
|
||||
static const disasm_entry disasm_entries[0x100];
|
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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<n2a03_device> m_maincpu;
|
||||
required_device<rp2a03_device> m_maincpu;
|
||||
required_device<ppu2c0x_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 */
|
||||
|
@ -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 )
|
||||
|
@ -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<cpu_device> m_maincpu;
|
||||
optional_device<mcs48_cpu_device> m_soundcpu;
|
||||
optional_device<eeprom_serial_93cxx_device> m_eeprom;
|
||||
optional_device<n2a03_device> m_dev_n2a03a; /* dkong3 */
|
||||
optional_device<n2a03_device> m_dev_n2a03b; /* dkong3 */
|
||||
optional_device<rp2a03_device> m_dev_rp2a03a; /* dkong3 */
|
||||
optional_device<rp2a03_device> m_dev_rp2a03b; /* dkong3 */
|
||||
optional_device<latch8_device> m_dev_vp2; /* dkong2, virtual port 2 */
|
||||
optional_device<latch8_device> m_dev_6h; /* dkong2 */
|
||||
optional_device<latch8_device> m_ls175_3d; /* dkong2b_audio */
|
||||
|
@ -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");
|
||||
|
@ -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<n2a03_device> m_maincpu;
|
||||
required_device<rp2a03_device> m_maincpu;
|
||||
required_device<ppu2c0x_device> m_ppu;
|
||||
required_device<screen_device> m_screen;
|
||||
optional_device_array<nes_control_port_device, 3> 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
|
||||
|
@ -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<mi_decrypt>();
|
||||
init();
|
||||
}
|
||||
|
||||
void n2a03_core_swap_op_d5_d6::device_reset()
|
||||
void rp2a03_core_swap_op_d5_d6::device_reset()
|
||||
{
|
||||
downcast<mi_decrypt &>(*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<mi_decrypt &>(*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<util::disasm_interface> n2a03_core_swap_op_d5_d6::create_disassembler()
|
||||
std::unique_ptr<util::disasm_interface> rp2a03_core_swap_op_d5_d6::create_disassembler()
|
||||
{
|
||||
return std::make_unique<disassembler>(downcast<mi_decrypt *>(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;
|
||||
}
|
||||
|
@ -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<util::disasm_interface> 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
|
||||
|
@ -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<n2a03_device> m_maincpu;
|
||||
required_device<rp2a03_device> m_maincpu;
|
||||
required_device<ppu2c0x_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 */
|
||||
|
@ -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
|
||||
|
@ -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<n2a03_device> m_maincpu;
|
||||
required_device<rp2a03_device> m_maincpu;
|
||||
required_device<ppu2c0x_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));
|
||||
|
@ -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<n2a03_device> m_maincpu;
|
||||
required_device<rp2a03_device> m_maincpu;
|
||||
required_device<screen_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 */
|
||||
|
@ -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<n2a03_device> m_maincpu;
|
||||
required_device<rp2a03_device> m_maincpu;
|
||||
required_device<ppu2c0x_device> m_ppu;
|
||||
required_device<screen_device> m_screen;
|
||||
optional_device_array<nes_control_port_device, 3> 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);
|
||||
|
@ -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<n2a03_device> m_maincpu;
|
||||
required_device<rp2a03_device> m_maincpu;
|
||||
required_device<ppu2c0x_device> m_ppu;
|
||||
required_device<screen_device> m_screen;
|
||||
optional_device_array<nes_control_port_device, 5> 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);
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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<n2a03_core_swap_op_d5_d6 &>(*m_maincpu).set_encryption_state(false);
|
||||
downcast<rp2a03_core_swap_op_d5_d6 &>(*m_maincpu).set_encryption_state(false);
|
||||
else if (data == 0x00)
|
||||
downcast<n2a03_core_swap_op_d5_d6 &>(*m_maincpu).set_encryption_state(true);
|
||||
downcast<rp2a03_core_swap_op_d5_d6 &>(*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);
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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<cpu_device> m_maincpu;
|
||||
required_device<n2a03_device> m_cartcpu;
|
||||
required_device<rp2a03_device> m_cartcpu;
|
||||
required_device<ppu2c0x_device> m_ppu;
|
||||
optional_device<rp5h01_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
|
||||
|
@ -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);
|
||||
|
@ -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<cpu_device> m_maincpu;
|
||||
required_device<n2a03_device> m_audiocpu;
|
||||
required_device<rp2a03_device> m_audiocpu;
|
||||
optional_device<rp5c01_device> m_rtc;
|
||||
optional_device<rp5h01_device> m_rp5h01;
|
||||
required_device<vlm5030_device> m_vlm;
|
||||
|
@ -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);
|
||||
|
@ -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<sega_32x_ntsc_device> m_sega32x;
|
||||
required_device_array<ay8910_device, 2> m_ay8910;
|
||||
required_device_array<gameboy_sound_device, 2> m_dmg;
|
||||
required_device_array<n2a03_device, 2> m_nescpu;
|
||||
required_device_array<rp2a03_device, 2> m_nescpu;
|
||||
required_device_array<multipcm_device, 2> m_multipcm;
|
||||
required_device_array<upd7759_device, 2> m_upd7759;
|
||||
required_device_array<okim6258_device, 2> 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);
|
||||
|
@ -417,7 +417,7 @@ static const std::map<std::string, const gdb_register_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 },
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user