mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
m6502: rename m65c02 to w65c02 as well
This commit is contained in:
parent
0ad1767ea3
commit
af66ca419b
@ -1755,7 +1755,6 @@ end
|
||||
--@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/m740.h,CPUS["M6502"] = true
|
||||
--@src/devices/cpu/m6502/m7501.h,CPUS["M6502"] = true
|
||||
--@src/devices/cpu/m6502/m8502.h,CPUS["M6502"] = true
|
||||
@ -1765,6 +1764,7 @@ end
|
||||
--@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
|
||||
--@src/devices/cpu/m6502/w65c02.h,CPUS["M6502"] = true
|
||||
--@src/devices/cpu/m6502/w65c02s.h,CPUS["M6502"] = true
|
||||
--@src/devices/cpu/m6502/xavix.h,CPUS["XAVIX"] = true
|
||||
--@src/devices/cpu/m6502/xavix.h,CPUS["XAVIX2000"] = true
|
||||
@ -1809,8 +1809,6 @@ 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/m740.cpp",
|
||||
@ -1825,6 +1823,8 @@ if CPUS["M6502"] then
|
||||
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/w65c02.cpp",
|
||||
MAME_DIR .. "src/devices/cpu/m6502/w65c02.h",
|
||||
MAME_DIR .. "src/devices/cpu/m6502/w65c02s.cpp",
|
||||
MAME_DIR .. "src/devices/cpu/m6502/w65c02s.h",
|
||||
}
|
||||
@ -1833,7 +1833,6 @@ if CPUS["M6502"] then
|
||||
{ MAME_DIR .. "src/devices/cpu/m6502/odeco16.lst", GEN_DIR .. "emu/cpu/m6502/deco16.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/ddeco16.lst" }, {"@echo Generating deco16 instruction source file...", PYTHON .. " $(1) s deco16 $(<) $(2) $(@)" }},
|
||||
{ MAME_DIR .. "src/devices/cpu/m6502/om4510.lst", GEN_DIR .. "emu/cpu/m6502/m4510.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm4510.lst" }, {"@echo Generating m4510 instruction source file...", PYTHON .. " $(1) s m4510 $(<) $(2) $(@)" }},
|
||||
{ MAME_DIR .. "src/devices/cpu/m6502/om6502.lst", GEN_DIR .. "emu/cpu/m6502/m6502.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6502.lst" }, {"@echo Generating m6502 instruction source file...", PYTHON .. " $(1) s m6502 $(<) $(2) $(@)" }},
|
||||
{ MAME_DIR .. "src/devices/cpu/m6502/om65c02.lst", GEN_DIR .. "emu/cpu/m6502/m65c02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65c02.lst" }, {"@echo Generating m65c02 instruction source file...", PYTHON .. " $(1) s m65c02 $(<) $(2) $(@)" }},
|
||||
{ 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) $(@)" }},
|
||||
@ -1841,6 +1840,7 @@ if CPUS["M6502"] then
|
||||
{ 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/ow65c02.lst", GEN_DIR .. "emu/cpu/m6502/w65c02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dw65c02.lst" }, {"@echo Generating w65c02 instruction source file...", PYTHON .. " $(1) s w65c02 $(<) $(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) $(@)" }},
|
||||
}
|
||||
|
||||
@ -1850,12 +1850,12 @@ if CPUS["M6502"] then
|
||||
{ MAME_DIR .. "src/devices/cpu/m6502/m6502.cpp", GEN_DIR .. "emu/cpu/m6502/m6502.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/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/w65c02.cpp", GEN_DIR .. "emu/cpu/m6502/w65c02.hxx" },
|
||||
{ MAME_DIR .. "src/devices/cpu/m6502/w65c02s.cpp", GEN_DIR .. "emu/cpu/m6502/w65c02s.hxx" },
|
||||
}
|
||||
end
|
||||
@ -1905,7 +1905,6 @@ if opt_tool(CPUS, "M6502") then
|
||||
table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/odeco16.lst", GEN_DIR .. "emu/cpu/m6502/deco16d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/ddeco16.lst" }, {"@echo Generating deco16 disassembler source file...", PYTHON .. " $(1) d deco16 $(<) $(2) $(@)" }})
|
||||
table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om4510.lst", GEN_DIR .. "emu/cpu/m6502/m4510d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm4510.lst" }, {"@echo Generating m4510 disassembler source file...", PYTHON .. " $(1) d m4510 $(<) $(2) $(@)" }})
|
||||
table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om6502.lst", GEN_DIR .. "emu/cpu/m6502/m6502d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6502.lst" }, {"@echo Generating m6502 disassembler source file...", PYTHON .. " $(1) d m6502 $(<) $(2) $(@)" }})
|
||||
table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om65c02.lst", GEN_DIR .. "emu/cpu/m6502/m65c02d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65c02.lst" }, {"@echo Generating m65c02 disassembler source file...", PYTHON .. " $(1) d m65c02 $(<) $(2) $(@)" }})
|
||||
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) $(@)" }})
|
||||
@ -1913,18 +1912,19 @@ if opt_tool(CPUS, "M6502") then
|
||||
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_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/ow65c02.lst", GEN_DIR .. "emu/cpu/m6502/w65c02d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dw65c02.lst" }, {"@echo Generating w65c02 disassembler source file...", PYTHON .. " $(1) d w65c02 $(<) $(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/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/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/rp2a03d.cpp", GEN_DIR .. "emu/cpu/m6502/rp2a03d.hxx" })
|
||||
table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/w65c02d.cpp", GEN_DIR .. "emu/cpu/m6502/w65c02d.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")
|
||||
@ -1936,8 +1936,6 @@ if opt_tool(CPUS, "M6502") then
|
||||
table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m6509d.h")
|
||||
table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m6510d.cpp")
|
||||
table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m6510d.h")
|
||||
table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m65c02d.cpp")
|
||||
table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m65c02d.h")
|
||||
table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m65ce02d.cpp")
|
||||
table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m65ce02d.h")
|
||||
table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m740d.cpp")
|
||||
@ -1948,6 +1946,8 @@ if opt_tool(CPUS, "M6502") then
|
||||
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")
|
||||
table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/w65c02d.cpp")
|
||||
table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/w65c02d.h")
|
||||
end
|
||||
|
||||
if opt_tool(CPUS, "XAVIX") then
|
||||
|
@ -74,11 +74,10 @@ protected:
|
||||
virtual void write_c800(uint16_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
void w65c02_mem(address_map &map) ATTR_COLD;
|
||||
|
||||
void m65c02_mem(address_map &map) ATTR_COLD;
|
||||
|
||||
void m65c02_w(offs_t offset, uint8_t value);
|
||||
uint8_t m65c02_r(offs_t offset);
|
||||
void w65c02_w(offs_t offset, uint8_t value);
|
||||
uint8_t w65c02_r(offs_t offset);
|
||||
|
||||
void phases_w(uint8_t phases);
|
||||
void sel35_w(int sel35);
|
||||
@ -111,10 +110,10 @@ const tiny_rom_entry *a2bus_superdrive_device::device_rom_region() const
|
||||
return ROM_NAME( superdrive );
|
||||
}
|
||||
|
||||
void a2bus_superdrive_device::m65c02_mem(address_map &map)
|
||||
void a2bus_superdrive_device::w65c02_mem(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x7fff).ram().share(m_ram);
|
||||
map(0x0a00, 0x0aff).rw(FUNC(a2bus_superdrive_device::m65c02_r), FUNC(a2bus_superdrive_device::m65c02_w));
|
||||
map(0x0a00, 0x0aff).rw(FUNC(a2bus_superdrive_device::w65c02_r), FUNC(a2bus_superdrive_device::w65c02_w));
|
||||
map(0x8000, 0xffff).rom().region(SUPERDRIVE_ROM_REGION, 0x0000);
|
||||
}
|
||||
|
||||
@ -123,7 +122,7 @@ void a2bus_superdrive_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
|
||||
W65C02S(config, m_65c02, DERIVED_CLOCK(2, 7)); /* ~ 2.046 MHz */
|
||||
m_65c02->set_addrmap(AS_PROGRAM, &a2bus_superdrive_device::m65c02_mem);
|
||||
m_65c02->set_addrmap(AS_PROGRAM, &a2bus_superdrive_device::w65c02_mem);
|
||||
|
||||
SWIM1(config, m_fdc, C16M);
|
||||
|
||||
@ -221,7 +220,7 @@ void a2bus_superdrive_device::write_c800(uint16_t offset, uint8_t data)
|
||||
|
||||
|
||||
/* uc 65c02 i/o at $0a00 */
|
||||
void a2bus_superdrive_device::m65c02_w(offs_t offset, uint8_t value)
|
||||
void a2bus_superdrive_device::w65c02_w(offs_t offset, uint8_t value)
|
||||
{
|
||||
// $00-$0f = swim registers
|
||||
// $40 = head sel low
|
||||
@ -265,7 +264,7 @@ void a2bus_superdrive_device::m65c02_w(offs_t offset, uint8_t value)
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t a2bus_superdrive_device::m65c02_r(offs_t offset)
|
||||
uint8_t a2bus_superdrive_device::w65c02_r(offs_t offset)
|
||||
{
|
||||
floppy_image_device *floppy = nullptr;
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "emu.h"
|
||||
#include "transwarp.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -65,7 +65,7 @@ private:
|
||||
uint8_t dma_r(offs_t offset);
|
||||
void dma_w(offs_t offset, uint8_t data);
|
||||
|
||||
void m65c02_mem(address_map &map) ATTR_COLD;
|
||||
void w65c02_mem(address_map &map) ATTR_COLD;
|
||||
|
||||
void hit_slot(int slot);
|
||||
void hit_slot_joy();
|
||||
@ -77,7 +77,7 @@ private:
|
||||
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_TRANSWARP, device_a2bus_card_interface, a2bus_transwarp_device, "a2twarp", "Applied Engineering TransWarp")
|
||||
|
||||
void a2bus_transwarp_device::m65c02_mem(address_map &map)
|
||||
void a2bus_transwarp_device::w65c02_mem(address_map &map)
|
||||
{
|
||||
map(0x0000, 0xffff).rw(FUNC(a2bus_transwarp_device::dma_r), FUNC(a2bus_transwarp_device::dma_w));
|
||||
}
|
||||
@ -169,8 +169,8 @@ ioport_constructor a2bus_transwarp_device::device_input_ports() const
|
||||
|
||||
void a2bus_transwarp_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
M65C02(config, m_ourcpu, DERIVED_CLOCK(1, 2));
|
||||
m_ourcpu->set_addrmap(AS_PROGRAM, &a2bus_transwarp_device::m65c02_mem);
|
||||
W65C02(config, m_ourcpu, DERIVED_CLOCK(1, 2));
|
||||
m_ourcpu->set_addrmap(AS_PROGRAM, &a2bus_transwarp_device::w65c02_mem);
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
|
@ -134,8 +134,8 @@ void bbc_tube_6502_device::device_add_mconfig(machine_config &config)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &bbc_tube_6502_device::tube_6502_mem);
|
||||
|
||||
TUBE(config, m_ula);
|
||||
m_ula->pnmi_handler().set_inputline(m_maincpu, M65C02_NMI_LINE);
|
||||
m_ula->pirq_handler().set_inputline(m_maincpu, M65C02_IRQ_LINE);
|
||||
m_ula->pnmi_handler().set_inputline(m_maincpu, G65SC02_NMI_LINE);
|
||||
m_ula->pirq_handler().set_inputline(m_maincpu, G65SC02_IRQ_LINE);
|
||||
m_ula->prst_handler().set(FUNC(bbc_tube_6502_device::prst_w));
|
||||
|
||||
RAM(config, m_ram).set_default_size("64K").set_default_value(0);
|
||||
|
@ -135,8 +135,8 @@ void bbc_tube_rc6502_device::device_add_mconfig(machine_config &config)
|
||||
add_common_devices(config);
|
||||
|
||||
TUBE(config, m_ula);
|
||||
m_ula->pnmi_handler().set_inputline(m_maincpu, M65C02_NMI_LINE);
|
||||
m_ula->pirq_handler().set_inputline(m_maincpu, M65C02_IRQ_LINE);
|
||||
m_ula->pnmi_handler().set_inputline(m_maincpu, W65C02_NMI_LINE);
|
||||
m_ula->pirq_handler().set_inputline(m_maincpu, W65C02_IRQ_LINE);
|
||||
m_ula->prst_handler().set(FUNC(bbc_tube_rc6502_device::prst_w));
|
||||
}
|
||||
|
||||
|
@ -219,7 +219,7 @@ void fd2000_device::floppy_formats(format_registration &fr)
|
||||
|
||||
void fd2000_device::add_common_devices(machine_config &config)
|
||||
{
|
||||
M65C02(config, m_maincpu, 24_MHz_XTAL / 12);
|
||||
W65C02(config, m_maincpu, 24_MHz_XTAL / 12);
|
||||
|
||||
via6522_device &via(R65C22(config, G65SC22P2_TAG, 24_MHz_XTAL / 12));
|
||||
via.readpa_handler().set(FUNC(fd2000_device::via_pa_r));
|
||||
|
@ -12,7 +12,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "cbmiec.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "imagedev/floppy.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/upd765.h"
|
||||
@ -58,7 +58,7 @@ protected:
|
||||
|
||||
void add_common_devices(machine_config &config);
|
||||
|
||||
required_device<m65c02_device> m_maincpu;
|
||||
required_device<w65c02_device> m_maincpu;
|
||||
required_device<upd765_family_device> m_fdc;
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
|
||||
|
@ -71,7 +71,7 @@ void cbm_serial_box_device::serial_box_mem(address_map &map)
|
||||
|
||||
void cbm_serial_box_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
M65C02(config, m_maincpu, XTAL(4'000'000)/4);
|
||||
W65C02(config, m_maincpu, XTAL(4'000'000)/4);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &cbm_serial_box_device::serial_box_mem);
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "cbmiec.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ protected:
|
||||
void cbm_iec_reset(int state) override;
|
||||
|
||||
private:
|
||||
required_device<m65c02_device> m_maincpu;
|
||||
required_device<w65c02_device> m_maincpu;
|
||||
|
||||
void serial_box_mem(address_map &map) ATTR_COLD;
|
||||
};
|
||||
|
@ -1,6 +1,6 @@
|
||||
# license:BSD-3-Clause
|
||||
# copyright-holders:Olivier Galibert
|
||||
# m65c02
|
||||
# w65c02
|
||||
brk_c_imp ora_idx nop_imm nop_c_imp tsb_zpg ora_zpg asl_c_zpg nop_c_imp php_imp ora_imm asl_acc nop_c_imp tsb_aba ora_aba asl_c_aba nop_c_imp
|
||||
bpl_rel ora_idy ora_zpi nop_c_imp trb_zpg ora_zpx asl_c_zpx nop_c_imp clc_imp ora_aby inc_acc nop_c_imp trb_aba ora_abx asl_c_abx nop_c_imp
|
||||
jsr_adr and_idx nop_imm nop_c_imp bit_zpg and_zpg rol_c_zpg nop_c_imp plp_imp and_imm rol_acc nop_c_imp bit_aba and_aba rol_c_aba nop_c_imp
|
@ -19,7 +19,7 @@
|
||||
DEFINE_DEVICE_TYPE(GEW12, gew12_device, "gew12", "Yamaha YMW728-F (GEW12)")
|
||||
|
||||
gew12_device::gew12_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: m6502_mcu_device_base<m65c02_device>(mconfig, GEW12, tag, owner, clock)
|
||||
: m6502_mcu_device_base<w65c02_device>(mconfig, GEW12, tag, owner, clock)
|
||||
, device_mixer_interface(mconfig, *this, 2)
|
||||
, m_in_cb(*this, 0xff), m_out_cb(*this)
|
||||
, m_rom(*this, DEVICE_SELF)
|
||||
@ -36,7 +36,7 @@ void gew12_device::device_add_mconfig(machine_config &config)
|
||||
|
||||
void gew12_device::device_start()
|
||||
{
|
||||
m65c02_device::device_start();
|
||||
w65c02_device::device_start();
|
||||
|
||||
m_bank_mask = device_generic_cart_interface::map_non_power_of_two(
|
||||
unsigned(m_rom->bytes() >> 14),
|
||||
@ -61,7 +61,7 @@ void gew12_device::device_start()
|
||||
|
||||
void gew12_device::device_reset()
|
||||
{
|
||||
m6502_mcu_device_base<m65c02_device>::device_reset();
|
||||
m6502_mcu_device_base<w65c02_device>::device_reset();
|
||||
|
||||
internal_update();
|
||||
m_irq_pending = 0;
|
||||
@ -142,9 +142,9 @@ void gew12_device::internal_irq(int num, int state)
|
||||
void gew12_device::irq_update()
|
||||
{
|
||||
if (m_irq_pending & m_irq_enable)
|
||||
set_input_line(M65C02_IRQ_LINE, ASSERT_LINE);
|
||||
set_input_line(W65C02_IRQ_LINE, ASSERT_LINE);
|
||||
else
|
||||
set_input_line(M65C02_IRQ_LINE, CLEAR_LINE);
|
||||
set_input_line(W65C02_IRQ_LINE, CLEAR_LINE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -11,9 +11,9 @@
|
||||
#define MAME_CPU_M6502_GEW12_H
|
||||
|
||||
#include "m6502mcu.h"
|
||||
#include "m65c02.h"
|
||||
#include "w65c02.h"
|
||||
|
||||
class gew12_device : public m6502_mcu_device_base<m65c02_device>, public device_mixer_interface {
|
||||
class gew12_device : public m6502_mcu_device_base<w65c02_device>, public device_mixer_interface {
|
||||
public:
|
||||
gew12_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
@ -27,7 +27,7 @@ protected:
|
||||
virtual void device_reset() override ATTR_COLD;
|
||||
|
||||
virtual void internal_update(u64 current_time) override;
|
||||
using m6502_mcu_device_base<m65c02_device>::internal_update;
|
||||
using m6502_mcu_device_base<w65c02_device>::internal_update;
|
||||
|
||||
enum
|
||||
{
|
||||
|
@ -19,7 +19,7 @@
|
||||
DEFINE_DEVICE_TYPE(GEW7, gew7_device, "gew7", "Yamaha YMW270-F (GEW7)")
|
||||
|
||||
gew7_device::gew7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: m6502_mcu_device_base<m65c02_device>(mconfig, GEW7, tag, owner, clock)
|
||||
: m6502_mcu_device_base<w65c02_device>(mconfig, GEW7, tag, owner, clock)
|
||||
, device_mixer_interface(mconfig, *this, 2)
|
||||
, m_in_cb(*this, 0xff), m_out_cb(*this)
|
||||
, m_rom(*this, DEVICE_SELF)
|
||||
@ -43,7 +43,7 @@ void gew7_device::device_add_mconfig(machine_config &config)
|
||||
|
||||
void gew7_device::device_start()
|
||||
{
|
||||
m6502_mcu_device_base<m65c02_device>::device_start();
|
||||
m6502_mcu_device_base<w65c02_device>::device_start();
|
||||
|
||||
m_bank_mask = device_generic_cart_interface::map_non_power_of_two(
|
||||
unsigned(m_rom->bytes() >> 14),
|
||||
@ -68,7 +68,7 @@ void gew7_device::device_start()
|
||||
|
||||
void gew7_device::device_reset()
|
||||
{
|
||||
m6502_mcu_device_base<m65c02_device>::device_reset();
|
||||
m6502_mcu_device_base<w65c02_device>::device_reset();
|
||||
|
||||
internal_update();
|
||||
m_timer_stat = m_timer_en = 0;
|
||||
@ -117,7 +117,7 @@ void gew7_device::timer_stat_w(u8 data)
|
||||
m_timer_stat &= ~data;
|
||||
|
||||
if (!(m_timer_stat & 3))
|
||||
set_input_line(M65C02_IRQ_LINE, CLEAR_LINE);
|
||||
set_input_line(W65C02_IRQ_LINE, CLEAR_LINE);
|
||||
internal_update();
|
||||
}
|
||||
|
||||
@ -165,7 +165,7 @@ u64 gew7_device::timer_update(int num, u64 current_time)
|
||||
if (elapsed > m_timer_count[num])
|
||||
{
|
||||
m_timer_stat |= (1 << num);
|
||||
set_input_line(M65C02_IRQ_LINE, ASSERT_LINE);
|
||||
set_input_line(W65C02_IRQ_LINE, ASSERT_LINE);
|
||||
}
|
||||
|
||||
m_timer_count[num] -= elapsed;
|
||||
|
@ -11,10 +11,10 @@
|
||||
#define MAME_CPU_M6502_GEW7_H
|
||||
|
||||
#include "m6502mcu.h"
|
||||
#include "m65c02.h"
|
||||
#include "w65c02.h"
|
||||
#include "sound/gew7.h"
|
||||
|
||||
class gew7_device : public m6502_mcu_device_base<m65c02_device>, public device_mixer_interface
|
||||
class gew7_device : public m6502_mcu_device_base<w65c02_device>, public device_mixer_interface
|
||||
{
|
||||
public:
|
||||
gew7_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock);
|
||||
@ -32,7 +32,7 @@ protected:
|
||||
virtual void device_reset() override ATTR_COLD;
|
||||
|
||||
virtual void internal_update(u64 current_time) override;
|
||||
using m6502_mcu_device_base<m65c02_device>::internal_update;
|
||||
using m6502_mcu_device_base<w65c02_device>::internal_update;
|
||||
|
||||
u8 timer_stat_r();
|
||||
void timer_stat_w(u8 data);
|
||||
|
@ -87,10 +87,10 @@ additional commands
|
||||
|
||||
atari lynx bastian schicks bll
|
||||
integrated g65sc02 cpu core
|
||||
no bbr bbs instructions, else m65c02 compatible
|
||||
no bbr bbs instructions, else w65c02 compatible
|
||||
|
||||
watara supervision
|
||||
integrated m65c02 cpu core (or g65sc02 or m65ce02?)
|
||||
integrated w65c02 cpu core (or g65sc02 or m65ce02?)
|
||||
|
||||
|
||||
gte65816 (nintendo snes)
|
||||
|
@ -20,7 +20,7 @@ m65ce02_device::m65ce02_device(const machine_config &mconfig, const char *tag, d
|
||||
}
|
||||
|
||||
m65ce02_device::m65ce02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
m65c02_device(mconfig, type, tag, owner, clock), TMP3(0), Z(0), B(0)
|
||||
w65c02_device(mconfig, type, tag, owner, clock), TMP3(0), Z(0), B(0)
|
||||
{
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ std::unique_ptr<util::disasm_interface> m65ce02_device::create_disassembler()
|
||||
|
||||
void m65ce02_device::init()
|
||||
{
|
||||
m65c02_device::init();
|
||||
w65c02_device::init();
|
||||
state_add(M65CE02_Z, "Z", Z);
|
||||
state_add(M65CE02_B, "B", B).callimport().formatstr("%2s");
|
||||
save_item(NAME(B));
|
||||
@ -51,7 +51,7 @@ void m65ce02_device::device_start()
|
||||
|
||||
void m65ce02_device::device_reset()
|
||||
{
|
||||
m65c02_device::device_reset();
|
||||
w65c02_device::device_reset();
|
||||
Z = 0x00;
|
||||
B = 0x0000;
|
||||
}
|
||||
|
@ -12,9 +12,9 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "m65c02.h"
|
||||
#include "w65c02.h"
|
||||
|
||||
class m65ce02_device : public m65c02_device {
|
||||
class m65ce02_device : public w65c02_device {
|
||||
public:
|
||||
m65ce02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# license:BSD-3-Clause
|
||||
# copyright-holders:Olivier Galibert
|
||||
# m65c02 opcodes
|
||||
# w65c02 opcodes
|
||||
|
||||
adc_c_aba
|
||||
TMP = read_pc();
|
@ -21,7 +21,7 @@ DEFINE_DEVICE_TYPE(R65C102, r65c102_device, "r65c102", "Rockwell R65C102")
|
||||
DEFINE_DEVICE_TYPE(R65C112, r65c112_device, "r65c112", "Rockwell R65C112")
|
||||
|
||||
r65c02_device::r65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
m65c02_device(mconfig, type, tag, owner, clock)
|
||||
w65c02_device(mconfig, type, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -11,9 +11,9 @@
|
||||
#ifndef MAME_CPU_M6502_R65C02_H
|
||||
#define MAME_CPU_M6502_R65C02_H
|
||||
|
||||
#include "m65c02.h"
|
||||
#include "w65c02.h"
|
||||
|
||||
class r65c02_device : public m65c02_device {
|
||||
class r65c02_device : public w65c02_device {
|
||||
public:
|
||||
r65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// copyright-holders:Olivier Galibert
|
||||
/***************************************************************************
|
||||
|
||||
m65c02.cpp
|
||||
w65c02.cpp
|
||||
|
||||
WDC W65C02, CMOS variant with some additional instructions
|
||||
(but not the bitwise ones)
|
||||
@ -10,24 +10,24 @@
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "m65c02.h"
|
||||
#include "m65c02d.h"
|
||||
#include "w65c02.h"
|
||||
#include "w65c02d.h"
|
||||
|
||||
DEFINE_DEVICE_TYPE(M65C02, m65c02_device, "m65c02", "WDC W65C02")
|
||||
DEFINE_DEVICE_TYPE(W65C02, w65c02_device, "w65c02", "WDC W65C02")
|
||||
|
||||
m65c02_device::m65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
m6502_device(mconfig, M65C02, tag, owner, clock)
|
||||
w65c02_device::w65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
m6502_device(mconfig, W65C02, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
m65c02_device::m65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
w65c02_device::w65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
m6502_device(mconfig, type, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
std::unique_ptr<util::disasm_interface> m65c02_device::create_disassembler()
|
||||
std::unique_ptr<util::disasm_interface> w65c02_device::create_disassembler()
|
||||
{
|
||||
return std::make_unique<m65c02_disassembler>();
|
||||
return std::make_unique<w65c02_disassembler>();
|
||||
}
|
||||
|
||||
#include "cpu/m6502/m65c02.hxx"
|
||||
#include "cpu/m6502/w65c02.hxx"
|
@ -2,29 +2,29 @@
|
||||
// copyright-holders:Olivier Galibert
|
||||
/***************************************************************************
|
||||
|
||||
m65c02.h
|
||||
w65c02.h
|
||||
|
||||
WDC W65C02, CMOS variant with some additional instructions
|
||||
(but not the bitwise ones)
|
||||
|
||||
***************************************************************************/
|
||||
#ifndef MAME_CPU_M6502_M65C02_H
|
||||
#define MAME_CPU_M6502_M65C02_H
|
||||
#ifndef MAME_CPU_M6502_W65C02_H
|
||||
#define MAME_CPU_M6502_W65C02_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "m6502.h"
|
||||
|
||||
class m65c02_device : public m6502_device {
|
||||
class w65c02_device : public m6502_device {
|
||||
public:
|
||||
m65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
w65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
|
||||
virtual void do_exec_full() override;
|
||||
virtual void do_exec_partial() override;
|
||||
|
||||
protected:
|
||||
m65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
w65c02_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()
|
||||
|
||||
@ -67,11 +67,11 @@ protected:
|
||||
};
|
||||
|
||||
enum {
|
||||
M65C02_IRQ_LINE = m6502_device::IRQ_LINE,
|
||||
M65C02_NMI_LINE = m6502_device::NMI_LINE,
|
||||
M65C02_SET_OVERFLOW = m6502_device::V_LINE
|
||||
W65C02_IRQ_LINE = m6502_device::IRQ_LINE,
|
||||
W65C02_NMI_LINE = m6502_device::NMI_LINE,
|
||||
W65C02_SET_OVERFLOW = m6502_device::V_LINE
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(M65C02, m65c02_device)
|
||||
DECLARE_DEVICE_TYPE(W65C02, w65c02_device)
|
||||
|
||||
#endif // MAME_CPU_M6502_M65C02_H
|
||||
#endif // MAME_CPU_M6502_W65C02_H
|
@ -2,17 +2,17 @@
|
||||
// copyright-holders:Olivier Galibert
|
||||
/***************************************************************************
|
||||
|
||||
m65c02d.cpp
|
||||
w65c02d.cpp
|
||||
|
||||
MOS Technology 6502, CMOS variant with some additional instructions
|
||||
WDC W65C02, CMOS variant with some additional instructions
|
||||
(but not the bitwise ones), disassembler
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "m65c02d.h"
|
||||
#include "cpu/m6502/m65c02d.hxx"
|
||||
#include "w65c02d.h"
|
||||
#include "cpu/m6502/w65c02d.hxx"
|
||||
|
||||
m65c02_disassembler::m65c02_disassembler() : m6502_base_disassembler(disasm_entries)
|
||||
w65c02_disassembler::w65c02_disassembler() : m6502_base_disassembler(disasm_entries)
|
||||
{
|
||||
}
|
@ -2,25 +2,25 @@
|
||||
// copyright-holders:Olivier Galibert
|
||||
/***************************************************************************
|
||||
|
||||
m65c02d.h
|
||||
w65c02d.h
|
||||
|
||||
MOS Technology 6502, CMOS variant with some additional instructions
|
||||
WDC W65C02, CMOS variant with some additional instructions
|
||||
(but not the bitwise ones), disassembler
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef MAME_CPU_M6502_M65C02D_H
|
||||
#define MAME_CPU_M6502_M65C02D_H
|
||||
#ifndef MAME_CPU_M6502_W65C02D_H
|
||||
#define MAME_CPU_M6502_W65C02D_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "m6502d.h"
|
||||
|
||||
class m65c02_disassembler : public m6502_base_disassembler
|
||||
class w65c02_disassembler : public m6502_base_disassembler
|
||||
{
|
||||
public:
|
||||
m65c02_disassembler();
|
||||
virtual ~m65c02_disassembler() = default;
|
||||
w65c02_disassembler();
|
||||
virtual ~w65c02_disassembler() = default;
|
||||
|
||||
private:
|
||||
static const disasm_entry disasm_entries[0x100];
|
@ -21,7 +21,7 @@ w65c02s_device::w65c02s_device(const machine_config &mconfig, const char *tag, d
|
||||
}
|
||||
|
||||
w65c02s_device::w65c02s_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
m65c02_device(mconfig, type, tag, owner, clock)
|
||||
w65c02_device(mconfig, type, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -12,9 +12,9 @@
|
||||
#ifndef MAME_CPU_M6502_W65C02S_H
|
||||
#define MAME_CPU_M6502_W65C02S_H
|
||||
|
||||
#include "m65c02.h"
|
||||
#include "w65c02.h"
|
||||
|
||||
class w65c02s_device : public m65c02_device {
|
||||
class w65c02s_device : public w65c02_device {
|
||||
public:
|
||||
w65c02s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
|
@ -128,7 +128,7 @@ MIG RAM page 2 $CE02 is the speaker/slot bitfield and $CE03 is the paddle/accele
|
||||
#include "apple2common.h"
|
||||
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "cpu/mcs48/mcs48.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "imagedev/cassette.h"
|
||||
@ -4954,7 +4954,7 @@ void apple2e_state::apple2e_common(machine_config &config, bool enhanced, bool r
|
||||
/* basic machine hardware */
|
||||
if (enhanced)
|
||||
{
|
||||
M65C02(config, m_maincpu, 1021800);
|
||||
W65C02(config, m_maincpu, 1021800);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -5093,7 +5093,7 @@ void apple2e_state::spectred(machine_config &config)
|
||||
void apple2e_state::tk3000(machine_config &config)
|
||||
{
|
||||
apple2e(config);
|
||||
M65C02(config.replace(), m_maincpu, 1021800);
|
||||
W65C02(config.replace(), m_maincpu, 1021800);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &apple2e_state::base_map);
|
||||
|
||||
// z80_device &subcpu(Z80(config, "subcpu", 1021800)); // schematics are illegible on where the clock comes from, but it *seems* to be the same as the 65C02 clock
|
||||
@ -5226,7 +5226,7 @@ void apple2e_state::apple2c_mem_pal(machine_config &config)
|
||||
void apple2e_state::laser128(machine_config &config)
|
||||
{
|
||||
apple2c(config);
|
||||
M65C02(config.replace(), m_maincpu, 1021800);
|
||||
W65C02(config.replace(), m_maincpu, 1021800);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &apple2e_state::laser128_map);
|
||||
m_maincpu->set_dasm_override(FUNC(apple2e_state::dasm_trampoline));
|
||||
|
||||
@ -5261,7 +5261,7 @@ void apple2e_state::laser128(machine_config &config)
|
||||
void apple2e_state::laser128o(machine_config &config)
|
||||
{
|
||||
apple2c(config);
|
||||
M65C02(config.replace(), m_maincpu, 1021800);
|
||||
W65C02(config.replace(), m_maincpu, 1021800);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &apple2e_state::laser128_map);
|
||||
m_maincpu->set_dasm_override(FUNC(apple2e_state::dasm_trampoline));
|
||||
|
||||
@ -5297,7 +5297,7 @@ void apple2e_state::laser128o(machine_config &config)
|
||||
void apple2e_state::laser128ex2(machine_config &config)
|
||||
{
|
||||
apple2c(config);
|
||||
M65C02(config.replace(), m_maincpu, 1021800);
|
||||
W65C02(config.replace(), m_maincpu, 1021800);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &apple2e_state::laser128_map);
|
||||
m_maincpu->set_dasm_override(FUNC(apple2e_state::dasm_trampoline));
|
||||
|
||||
@ -5334,7 +5334,7 @@ void apple2e_state::ace500(machine_config &config)
|
||||
apple2e_common(config, true, false);
|
||||
subdevice<software_list_device>("flop_a2_orig")->set_filter("A2C"); // Filter list to compatible disks for this machine.
|
||||
|
||||
M65C02(config.replace(), m_maincpu, 1021800);
|
||||
W65C02(config.replace(), m_maincpu, 1021800);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &apple2e_state::ace500_map);
|
||||
m_maincpu->set_dasm_override(FUNC(apple2e_state::dasm_trampoline));
|
||||
|
||||
@ -5376,7 +5376,7 @@ void apple2e_state::ace500(machine_config &config)
|
||||
void apple2e_state::ace2200(machine_config &config)
|
||||
{
|
||||
apple2e_common(config, false, false);
|
||||
M65C02(config.replace(), m_maincpu, 1021800);
|
||||
W65C02(config.replace(), m_maincpu, 1021800);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &apple2e_state::ace2200_map);
|
||||
m_maincpu->set_dasm_override(FUNC(apple2e_state::dasm_trampoline));
|
||||
|
||||
|
@ -67,8 +67,8 @@ is integrated.
|
||||
#include "bus/generic/carts.h"
|
||||
#include "bus/generic/slot.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/r65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/sensorboard.h"
|
||||
#include "sound/beep.h"
|
||||
#include "video/pwm.h"
|
||||
@ -299,7 +299,7 @@ void conchess_state::concvicp(machine_config &config)
|
||||
concams5(config);
|
||||
|
||||
// basic machine hardware
|
||||
M65C02(config.replace(), m_maincpu, 12.288_MHz_XTAL/2);
|
||||
W65C02(config.replace(), m_maincpu, 12.288_MHz_XTAL/2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &conchess_state::main_map);
|
||||
|
||||
const attotime irq_period = attotime::from_hz(12.288_MHz_XTAL / 0x4000);
|
||||
|
@ -37,8 +37,8 @@ Designer Mach IV Master 2325 (model 6129) overview:
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/r65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "cpu/m68000/m68020.h"
|
||||
#include "machine/clock.h"
|
||||
@ -286,7 +286,7 @@ INPUT_PORTS_END
|
||||
void desdis_state::fdes2100d(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
M65C02(config, m_maincpu, 6_MHz_XTAL); // W65C02P-6
|
||||
W65C02(config, m_maincpu, 6_MHz_XTAL); // W65C02P-6
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &desdis_state::fdes2100d_map);
|
||||
|
||||
auto &irq_clock(CLOCK(config, "irq_clock", 600)); // from 556 timer (22nF, 102K, 1K), ideal frequency is 600Hz
|
||||
|
@ -82,7 +82,6 @@ alternate view (see video options). The EAG conversion is a cloneset of feag.
|
||||
|
||||
#include "bus/generic/carts.h"
|
||||
#include "bus/generic/slot.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/r65c02.h"
|
||||
#include "machine/clock.h"
|
||||
#include "machine/i8255.h"
|
||||
|
@ -68,7 +68,7 @@ STATUS:
|
||||
#include "bus/supracan/rom.h"
|
||||
#include "bus/supracan/slot.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
|
||||
#include "emupal.h"
|
||||
#include "screen.h"
|
||||
@ -2394,7 +2394,7 @@ void supracan_state::supracan(machine_config &config)
|
||||
|
||||
// TODO: Verify type and actual clock
|
||||
// /4 makes speedyd to fail booting
|
||||
M65C02(config, m_soundcpu, U13_CLOCK / 6 / 2);
|
||||
W65C02(config, m_soundcpu, U13_CLOCK / 6 / 2);
|
||||
m_soundcpu->set_addrmap(AS_PROGRAM, &supracan_state::sound_map);
|
||||
|
||||
config.set_perfect_quantum(m_soundcpu);
|
||||
|
@ -195,7 +195,7 @@
|
||||
#include "emu.h"
|
||||
#include "funworld.h"
|
||||
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/6821pia.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "sound/ay8910.h"
|
||||
@ -460,7 +460,7 @@ GFXDECODE_END
|
||||
void _4roses_state::_4roses(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
M65C02(config, m_maincpu, MASTER_CLOCK/8); // 2MHz, guess
|
||||
W65C02(config, m_maincpu, MASTER_CLOCK/8); // 2MHz, guess
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &_4roses_state::_4roses_map);
|
||||
m_maincpu->set_addrmap(AS_OPCODES, &_4roses_state::_4roses_opcodes_map);
|
||||
|
||||
|
@ -27,7 +27,7 @@ Academy hardware. Much unused data remains, and the TRAIN button doesn't work.
|
||||
#include "mmboard.h"
|
||||
#include "mmdisplay2.h"
|
||||
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/74259.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "video/pwm.h"
|
||||
@ -130,7 +130,7 @@ INPUT_PORTS_END
|
||||
void academy_state::academy(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
M65C02(config, m_maincpu, 4.9152_MHz_XTAL);
|
||||
W65C02(config, m_maincpu, 4.9152_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &academy_state::main_map);
|
||||
|
||||
const attotime nmi_period = attotime::from_hz(4.9152_MHz_XTAL / 0x2000);
|
||||
|
@ -20,7 +20,7 @@ Hardware notes:
|
||||
|
||||
#include "mmdisplay1.h"
|
||||
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/clock.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/sensorboard.h"
|
||||
@ -170,7 +170,7 @@ INPUT_PORTS_END
|
||||
void modena_state::modena(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
M65C02(config, m_maincpu, 4.194304_MHz_XTAL);
|
||||
W65C02(config, m_maincpu, 4.194304_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &modena_state::modena_mem);
|
||||
|
||||
clock_device &nmi_clock(CLOCK(config, "nmi_clock", 4.194304_MHz_XTAL / 0x2000)); // active for 975us
|
||||
|
@ -23,8 +23,8 @@ Hardware notes:
|
||||
|
||||
#include "mmboard.h"
|
||||
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/r65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/74259.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "sound/dac.h"
|
||||
@ -224,7 +224,7 @@ void montec_state::montec4le(machine_config &config)
|
||||
montec4(config);
|
||||
|
||||
// basic machine hardware
|
||||
M65C02(config.replace(), m_maincpu, 8_MHz_XTAL);
|
||||
W65C02(config.replace(), m_maincpu, 8_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &montec_state::montec_mem);
|
||||
|
||||
const attotime irq_period = attotime::from_hz(8_MHz_XTAL / 0x4000);
|
||||
|
@ -19,8 +19,8 @@ The 10MHz version has a W65C02P-8 @ 9.83MHz.
|
||||
#include "mmboard.h"
|
||||
#include "mmdisplay2.h"
|
||||
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/r65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/74259.h"
|
||||
#include "machine/nvram.h"
|
||||
|
||||
@ -134,7 +134,7 @@ void polgar_state::polgar10(machine_config &config)
|
||||
polgar(config);
|
||||
|
||||
// basic machine hardware
|
||||
M65C02(config.replace(), m_maincpu, 9.8304_MHz_XTAL);
|
||||
W65C02(config.replace(), m_maincpu, 9.8304_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &polgar_state::polgar_mem);
|
||||
|
||||
const attotime nmi_period = attotime::from_hz(9.8304_MHz_XTAL / 0x2000);
|
||||
|
@ -23,7 +23,7 @@ TODO:
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "sound/ay8910.h"
|
||||
@ -289,7 +289,7 @@ GFXDECODE_END
|
||||
void rgum_state::rgum(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
M65C02(config, m_maincpu, 24_MHz_XTAL / 16); // divisor not verified
|
||||
W65C02(config, m_maincpu, 24_MHz_XTAL / 16); // divisor not verified
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &rgum_state::main_map);
|
||||
|
||||
// NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // MK48Z08
|
||||
|
@ -39,7 +39,7 @@ TODO:
|
||||
#include "emu.h"
|
||||
|
||||
#include "bus/rs232/rs232.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/clock.h"
|
||||
#include "machine/mos6551.h"
|
||||
#include "machine/nvram.h"
|
||||
@ -405,7 +405,7 @@ INPUT_PORTS_END
|
||||
void sexpert_state::sexpert(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
M65C02(config, m_maincpu, 10_MHz_XTAL/2); // or 12_MHz_XTAL/2, also seen with R65C02
|
||||
W65C02(config, m_maincpu, 10_MHz_XTAL/2); // or 12_MHz_XTAL/2, also seen with R65C02
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &sexpert_state::sexpert_map);
|
||||
|
||||
auto &irq_clock(CLOCK(config, "irq_clock", 32.768_kHz_XTAL/128)); // 256Hz
|
||||
@ -444,7 +444,7 @@ void sexpert_state::sexpert(machine_config &config)
|
||||
|
||||
// uart (configure after video)
|
||||
MOS6551(config, m_acia).set_xtal(1.8432_MHz_XTAL); // R65C51P2 - RTS to CTS, DCD to GND
|
||||
m_acia->irq_handler().set_inputline("maincpu", m65c02_device::NMI_LINE);
|
||||
m_acia->irq_handler().set_inputline("maincpu", w65c02_device::NMI_LINE);
|
||||
m_acia->rts_handler().set("acia", FUNC(mos6551_device::write_cts));
|
||||
m_acia->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
|
||||
m_acia->dtr_handler().set("rs232", FUNC(rs232_port_device::write_dtr));
|
||||
|
@ -64,7 +64,7 @@ ToDo:
|
||||
****************************************************************************************************/
|
||||
#include "emu.h"
|
||||
#include "genpin.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "cpu/mcs51/mcs51.h"
|
||||
#include "machine/6522via.h"
|
||||
@ -596,7 +596,7 @@ void alvg_state::pca020(machine_config &config)
|
||||
void alvg_state::alvg(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
M65C02(config, m_maincpu, XTAL(4'000'000) / 2);
|
||||
W65C02(config, m_maincpu, XTAL(4'000'000) / 2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &alvg_state::main_map);
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
@ -628,7 +628,7 @@ void alvg_state::alvg(machine_config &config)
|
||||
|
||||
genpin_audio(config);
|
||||
|
||||
INPUT_MERGER_ANY_HIGH(config, "cpuirq").output_handler().set_inputline(m_maincpu, M65C02_IRQ_LINE);
|
||||
INPUT_MERGER_ANY_HIGH(config, "cpuirq").output_handler().set_inputline(m_maincpu, W65C02_IRQ_LINE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -64,7 +64,7 @@ ToDo:
|
||||
|
||||
#include "gottlieb_a.h"
|
||||
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/input_merger.h"
|
||||
#include "speaker.h"
|
||||
@ -105,7 +105,6 @@ private:
|
||||
void solenoid_w(offs_t, u8);
|
||||
void u4b_w(u8 data);
|
||||
void u5a_w(u8 data);
|
||||
void nmi_w(int state);
|
||||
void mem_map(address_map &map) ATTR_COLD;
|
||||
|
||||
bool m_dispclk = false;
|
||||
@ -115,7 +114,7 @@ private:
|
||||
u8 m_segment[4]{};
|
||||
u8 m_u4b = 0U;
|
||||
|
||||
required_device<m65c02_device> m_maincpu;
|
||||
required_device<w65c02_device> m_maincpu;
|
||||
required_device<via6522_device> m_u4;
|
||||
required_device<via6522_device> m_u5;
|
||||
optional_device<gottlieb_sound_p5_device> m_p5_sound;
|
||||
@ -242,12 +241,6 @@ INPUT_CHANGED_MEMBER( gts3_state::test_inp )
|
||||
m_u4->write_ca1(newval);
|
||||
}
|
||||
|
||||
// This trampoline needed; WRITELINE("maincpu", m65c02_device, nmi_line) does not work
|
||||
void gts3_state::nmi_w(int state)
|
||||
{
|
||||
m_maincpu->set_input_line(INPUT_LINE_NMI, (state) ? CLEAR_LINE : HOLD_LINE);
|
||||
}
|
||||
|
||||
void gts3_state::lampret_w(u8 data)
|
||||
{
|
||||
if (m_row < 12)
|
||||
@ -348,7 +341,7 @@ void gts3_state::machine_reset()
|
||||
|
||||
void gts3_state::p0(machine_config &config)
|
||||
{
|
||||
M65C02(config, m_maincpu, XTAL(4'000'000) / 2);
|
||||
W65C02(config, m_maincpu, XTAL(4'000'000) / 2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, >s3_state::mem_map);
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
@ -361,7 +354,7 @@ void gts3_state::p0(machine_config &config)
|
||||
m_u4->readpb_handler().set(FUNC(gts3_state::u4b_r));
|
||||
m_u4->writepb_handler().set(FUNC(gts3_state::u4b_w));
|
||||
//m_u4->ca2_handler().set(FUNC(gts3_state::u4ca2_w));
|
||||
m_u4->cb2_handler().set(FUNC(gts3_state::nmi_w));
|
||||
m_u4->cb2_handler().set_inputline("maincpu", W65C02_NMI_LINE).invert();
|
||||
|
||||
R65C22(config, m_u5, XTAL(4'000'000) / 2);
|
||||
m_u5->irq_handler().set("irq", FUNC(input_merger_device::in_w<1>));
|
||||
@ -372,7 +365,7 @@ void gts3_state::p0(machine_config &config)
|
||||
//m_u5->cb1_handler().set(FUNC(gts3_state::u5cb1_w));
|
||||
//m_u5->cb2_handler().set(FUNC(gts3_state::u5cb2_w));
|
||||
|
||||
INPUT_MERGER_ANY_HIGH(config, "irq").output_handler().set_inputline("maincpu", m65c02_device::IRQ_LINE);
|
||||
INPUT_MERGER_ANY_HIGH(config, "irq").output_handler().set_inputline("maincpu", W65C02_IRQ_LINE);
|
||||
|
||||
/* Sound */
|
||||
genpin_audio(config);
|
||||
|
@ -50,7 +50,7 @@ ToDo:
|
||||
|
||||
#include "gottlieb_a.h"
|
||||
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/input_merger.h"
|
||||
#include "video/mc6845.h"
|
||||
@ -101,7 +101,6 @@ private:
|
||||
void u5a_w(u8 data);
|
||||
u8 dmd_r();
|
||||
void dmd_w(u8 data);
|
||||
void nmi_w(int state);
|
||||
void crtc_vs(int state);
|
||||
MC6845_UPDATE_ROW(crtc_update_row);
|
||||
void palette_init(palette_device &palette);
|
||||
@ -113,8 +112,8 @@ private:
|
||||
u8 m_segment = 0U;
|
||||
u8 m_u4b = 0U;
|
||||
|
||||
required_device<m65c02_device> m_maincpu;
|
||||
required_device<m65c02_device> m_dmdcpu;
|
||||
required_device<w65c02_device> m_maincpu;
|
||||
required_device<w65c02_device> m_dmdcpu;
|
||||
required_memory_bank m_bank1;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_shared_ptr<u8> m_vram;
|
||||
@ -286,12 +285,6 @@ INPUT_CHANGED_MEMBER( gts3a_state::test_inp )
|
||||
m_u4->write_ca1(newval);
|
||||
}
|
||||
|
||||
// This trampoline needed; WRITELINE("maincpu", m65c02_device, nmi_line) does not work
|
||||
void gts3a_state::nmi_w(int state)
|
||||
{
|
||||
m_maincpu->set_input_line(INPUT_LINE_NMI, (state) ? CLEAR_LINE : HOLD_LINE);
|
||||
}
|
||||
|
||||
void gts3a_state::lampret_w(u8 data)
|
||||
{
|
||||
if (m_row < 12)
|
||||
@ -316,7 +309,7 @@ void gts3a_state::solenoid_w(offs_t offset, u8 data)
|
||||
void gts3a_state::segbank_w(u8 data)
|
||||
{
|
||||
m_segment = data;
|
||||
m_dmdcpu->set_input_line(M65C02_IRQ_LINE, ASSERT_LINE);
|
||||
m_dmdcpu->set_input_line(W65C02_IRQ_LINE, ASSERT_LINE);
|
||||
}
|
||||
|
||||
void gts3a_state::u4b_w(u8 data)
|
||||
@ -360,7 +353,7 @@ void gts3a_state::init_gts3a()
|
||||
|
||||
u8 gts3a_state::dmd_r()
|
||||
{
|
||||
m_dmdcpu->set_input_line(M65C02_IRQ_LINE, CLEAR_LINE);
|
||||
m_dmdcpu->set_input_line(W65C02_IRQ_LINE, CLEAR_LINE);
|
||||
return m_segment;
|
||||
}
|
||||
|
||||
@ -430,12 +423,12 @@ void gts3a_state::machine_reset()
|
||||
|
||||
void gts3a_state::p0(machine_config &config)
|
||||
{
|
||||
M65C02(config, m_maincpu, XTAL(4'000'000) / 2);
|
||||
W65C02(config, m_maincpu, XTAL(4'000'000) / 2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, >s3a_state::mem_map);
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // 6116LP + DS1210
|
||||
|
||||
M65C02(config, m_dmdcpu, XTAL(3'579'545) / 2);
|
||||
W65C02(config, m_dmdcpu, XTAL(3'579'545) / 2);
|
||||
m_dmdcpu->set_addrmap(AS_PROGRAM, >s3a_state::dmd_map);
|
||||
|
||||
// Video
|
||||
@ -462,7 +455,7 @@ void gts3a_state::p0(machine_config &config)
|
||||
m_u4->readpb_handler().set(FUNC(gts3a_state::u4b_r));
|
||||
m_u4->writepb_handler().set(FUNC(gts3a_state::u4b_w));
|
||||
//m_u4->ca2_handler().set(FUNC(gts3a_state::u4ca2_w));
|
||||
m_u4->cb2_handler().set(FUNC(gts3a_state::nmi_w));
|
||||
m_u4->cb2_handler().set_inputline("maincpu", W65C02_NMI_LINE).invert();
|
||||
|
||||
R65C22(config, m_u5, XTAL(4'000'000) / 2);
|
||||
m_u5->irq_handler().set("irq", FUNC(input_merger_device::in_w<1>));
|
||||
@ -473,7 +466,7 @@ void gts3a_state::p0(machine_config &config)
|
||||
//m_u5->cb1_Handler().set(FUNC(gts3a_state::u5cb1_w));
|
||||
//m_u5->cb2_Handler().set(FUNC(gts3a_state::u5cb2_w));
|
||||
|
||||
INPUT_MERGER_ANY_HIGH(config, "irq").output_handler().set_inputline("maincpu", m65c02_device::IRQ_LINE);
|
||||
INPUT_MERGER_ANY_HIGH(config, "irq").output_handler().set_inputline("maincpu", W65C02_IRQ_LINE);
|
||||
|
||||
// Sound
|
||||
genpin_audio(config);
|
||||
|
@ -13,7 +13,7 @@ different compared to Stratos/Turbo King.
|
||||
#include "emu.h"
|
||||
#include "stratos.h"
|
||||
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/sensorboard.h"
|
||||
#include "sound/dac.h"
|
||||
@ -260,7 +260,7 @@ INPUT_PORTS_END
|
||||
void corona_state::corona(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
M65C02(config, m_maincpu, 5_MHz_XTAL); // see change_cpu_freq
|
||||
W65C02(config, m_maincpu, 5_MHz_XTAL); // see change_cpu_freq
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &corona_state::main_map);
|
||||
m_maincpu->set_periodic_int(FUNC(corona_state::irq0_line_hold), attotime::from_hz(183));
|
||||
|
||||
|
@ -31,8 +31,8 @@ TODO:
|
||||
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/r65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/sensorboard.h"
|
||||
#include "sound/dac.h"
|
||||
@ -352,7 +352,7 @@ void simultano_state::simultano(machine_config &config)
|
||||
cc2150(config);
|
||||
|
||||
// basic machine hardware
|
||||
M65C02(config.replace(), m_maincpu, 5_MHz_XTAL);
|
||||
W65C02(config.replace(), m_maincpu, 5_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &simultano_state::simultano_map);
|
||||
m_maincpu->set_periodic_int(FUNC(simultano_state::irq0_line_hold), attotime::from_hz(76)); // approximation
|
||||
|
||||
|
@ -54,7 +54,7 @@ is engine version C.
|
||||
#include "emu.h"
|
||||
#include "stratos.h"
|
||||
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/sensorboard.h"
|
||||
#include "sound/dac.h"
|
||||
@ -490,7 +490,7 @@ INPUT_PORTS_END
|
||||
void stratos_state::stratos(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
M65C02(config, m_maincpu, 5_MHz_XTAL); // see change_cpu_freq
|
||||
W65C02(config, m_maincpu, 5_MHz_XTAL); // see change_cpu_freq
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &stratos_state::main_map);
|
||||
m_maincpu->set_periodic_int(FUNC(stratos_state::irq0_line_hold), attotime::from_hz(76));
|
||||
|
||||
|
@ -293,7 +293,7 @@ P1-049-A
|
||||
#include "emu.h"
|
||||
#include "x1_012.h"
|
||||
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/74157.h"
|
||||
#include "machine/gen_latch.h"
|
||||
@ -933,7 +933,7 @@ void tndrcade_state::sub_bankswitch_lockout_w(u8 data)
|
||||
seta_coin_lockout_w(data);
|
||||
|
||||
// 65C02 code doesn't seem to do anything to explicitly acknowledge IRQ; implicitly acknowledging it here seems most likely
|
||||
m_subcpu->set_input_line(m65c02_device::IRQ_LINE, CLEAR_LINE);
|
||||
m_subcpu->set_input_line(W65C02_IRQ_LINE, CLEAR_LINE);
|
||||
}
|
||||
|
||||
|
||||
@ -1043,7 +1043,7 @@ void downtown_state::calibr50_sub_bankswitch_w(u8 data)
|
||||
|
||||
// Bit 2: IRQCLR
|
||||
if (!BIT(data, 2))
|
||||
m_subcpu->set_input_line(m65c02_device::IRQ_LINE, CLEAR_LINE);
|
||||
m_subcpu->set_input_line(W65C02_IRQ_LINE, CLEAR_LINE);
|
||||
|
||||
// Bit 1: /PCMMUTE
|
||||
m_x1snd->set_output_gain(ALL_OUTPUTS, BIT(data, 1) ? 1.0f : 0.0f);
|
||||
@ -1769,10 +1769,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(downtown_state::seta_sub_interrupt)
|
||||
int scanline = param;
|
||||
|
||||
if (scanline == 240)
|
||||
m_subcpu->pulse_input_line(m65c02_device::NMI_LINE, attotime::zero);
|
||||
m_subcpu->pulse_input_line(W65C02_NMI_LINE, attotime::zero);
|
||||
|
||||
if (scanline == 112)
|
||||
m_subcpu->set_input_line(m65c02_device::IRQ_LINE, ASSERT_LINE);
|
||||
m_subcpu->set_input_line(W65C02_IRQ_LINE, ASSERT_LINE);
|
||||
}
|
||||
|
||||
|
||||
@ -1785,10 +1785,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(tndrcade_state::tndrcade_sub_interrupt)
|
||||
int scanline = param;
|
||||
|
||||
if (scanline == 240)
|
||||
m_subcpu->pulse_input_line(m65c02_device::NMI_LINE, attotime::zero);
|
||||
m_subcpu->pulse_input_line(W65C02_NMI_LINE, attotime::zero);
|
||||
|
||||
if ((scanline % 16) == 0)
|
||||
m_subcpu->set_input_line(m65c02_device::IRQ_LINE, ASSERT_LINE);
|
||||
m_subcpu->set_input_line(W65C02_IRQ_LINE, ASSERT_LINE);
|
||||
}
|
||||
|
||||
void tndrcade_state::tndrcade(machine_config &config)
|
||||
@ -1797,7 +1797,7 @@ void tndrcade_state::tndrcade(machine_config &config)
|
||||
M68000(config, m_maincpu, 16_MHz_XTAL / 2); // 8 MHz
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &tndrcade_state::tndrcade_map);
|
||||
|
||||
M65C02(config, m_subcpu, 16_MHz_XTAL / 8); // 2 MHz
|
||||
W65C02(config, m_subcpu, 16_MHz_XTAL / 8); // 2 MHz
|
||||
m_subcpu->set_addrmap(AS_PROGRAM, &tndrcade_state::tndrcade_sub_map);
|
||||
TIMER(config, "scantimer").configure_scanline(FUNC(tndrcade_state::tndrcade_sub_interrupt), "screen", 0, 1);
|
||||
|
||||
@ -1849,7 +1849,7 @@ void downtown_state::twineagl(machine_config &config)
|
||||
M68000(config, m_maincpu, 16_MHz_XTAL / 2); // 8 MHz
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &downtown_state::downtown_map);
|
||||
|
||||
M65C02(config, m_subcpu, 16_MHz_XTAL / 8); // 2 MHz
|
||||
W65C02(config, m_subcpu, 16_MHz_XTAL / 8); // 2 MHz
|
||||
m_subcpu->set_addrmap(AS_PROGRAM, &downtown_state::twineagl_sub_map);
|
||||
TIMER(config, "s_scantimer").configure_scanline(FUNC(downtown_state::seta_sub_interrupt), "screen", 0, 1);
|
||||
|
||||
@ -1900,7 +1900,7 @@ void downtown_state::downtown(machine_config &config)
|
||||
M68000(config, m_maincpu, 16_MHz_XTAL / 2); // verified on pcb
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &downtown_state::downtown_map);
|
||||
|
||||
M65C02(config, m_subcpu, 16_MHz_XTAL / 8); // verified on pcb
|
||||
W65C02(config, m_subcpu, 16_MHz_XTAL / 8); // verified on pcb
|
||||
m_subcpu->set_addrmap(AS_PROGRAM, &downtown_state::downtown_sub_map);
|
||||
TIMER(config, "s_scantimer").configure_scanline(FUNC(downtown_state::seta_sub_interrupt), "screen", 0, 1);
|
||||
|
||||
@ -1981,7 +1981,7 @@ void usclssic_state::usclssic(machine_config &config)
|
||||
|
||||
WATCHDOG_TIMER(config, "watchdog");
|
||||
|
||||
M65C02(config, m_subcpu, 16_MHz_XTAL / 8); // 2 MHz
|
||||
W65C02(config, m_subcpu, 16_MHz_XTAL / 8); // 2 MHz
|
||||
m_subcpu->set_addrmap(AS_PROGRAM, &usclssic_state::calibr50_sub_map);
|
||||
|
||||
UPD4701A(config, m_upd4701);
|
||||
@ -2010,7 +2010,7 @@ void usclssic_state::usclssic(machine_config &config)
|
||||
screen.set_visarea(0*8, 48*8-1, 1*8, 31*8-1);
|
||||
screen.set_screen_update(FUNC(usclssic_state::screen_update_usclssic));
|
||||
screen.set_palette(m_palette);
|
||||
screen.screen_vblank().set_inputline(m_subcpu, m65c02_device::IRQ_LINE, ASSERT_LINE);
|
||||
screen.screen_vblank().set_inputline(m_subcpu, W65C02_IRQ_LINE, ASSERT_LINE);
|
||||
|
||||
X1_012(config, m_tiles, m_palette, gfx_usclssic);
|
||||
m_tiles->set_screen(m_screen);
|
||||
@ -2023,7 +2023,7 @@ void usclssic_state::usclssic(machine_config &config)
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
GENERIC_LATCH_8(config, m_soundlatch[0]);
|
||||
m_soundlatch[0]->data_pending_callback().set_inputline(m_subcpu, m65c02_device::NMI_LINE);
|
||||
m_soundlatch[0]->data_pending_callback().set_inputline(m_subcpu, W65C02_NMI_LINE);
|
||||
m_soundlatch[0]->set_separate_acknowledge(true);
|
||||
|
||||
X1_010(config, m_x1snd, 16_MHz_XTAL); // 16 MHz
|
||||
@ -2051,7 +2051,7 @@ void downtown_state::calibr50(machine_config &config)
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
M65C02(config, m_subcpu, 16_MHz_XTAL / 8); // verified on pcb
|
||||
W65C02(config, m_subcpu, 16_MHz_XTAL / 8); // verified on pcb
|
||||
m_subcpu->set_addrmap(AS_PROGRAM, &downtown_state::calibr50_sub_map);
|
||||
m_subcpu->set_periodic_int(FUNC(downtown_state::irq0_line_assert), attotime::from_hz(4*60)); // IRQ: 4/frame
|
||||
|
||||
@ -2088,7 +2088,7 @@ void downtown_state::calibr50(machine_config &config)
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
GENERIC_LATCH_8(config, m_soundlatch[0]);
|
||||
m_soundlatch[0]->data_pending_callback().set_inputline(m_subcpu, m65c02_device::NMI_LINE);
|
||||
m_soundlatch[0]->data_pending_callback().set_inputline(m_subcpu, W65C02_NMI_LINE);
|
||||
m_soundlatch[0]->set_separate_acknowledge(true);
|
||||
|
||||
GENERIC_LATCH_8(config, m_soundlatch[1]);
|
||||
@ -2110,7 +2110,7 @@ void downtown_state::metafox(machine_config &config)
|
||||
M68000(config, m_maincpu, 16000000/2); // 8 MHz
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &downtown_state::downtown_map);
|
||||
|
||||
M65C02(config, m_subcpu, 16000000/8); // 2 MHz
|
||||
W65C02(config, m_subcpu, 16000000/8); // 2 MHz
|
||||
m_subcpu->set_addrmap(AS_PROGRAM, &downtown_state::metafox_sub_map);
|
||||
TIMER(config, "s_scantimer").configure_scanline(FUNC(downtown_state::seta_sub_interrupt), "screen", 0, 1);
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#include "bus/generic/carts.h"
|
||||
#include "bus/generic/slot.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/timer.h"
|
||||
|
||||
#include "emupal.h"
|
||||
@ -207,7 +207,7 @@ void svision_state::check_irq()
|
||||
bool irq = m_timer_shot && BIT(m_reg[BANK], 1);
|
||||
irq = irq || (m_dma_finished && BIT(m_reg[BANK], 2));
|
||||
|
||||
m_maincpu->set_input_line(M65C02_IRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_maincpu->set_input_line(W65C02_IRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
TIMER_CALLBACK_MEMBER(svision_state::timer)
|
||||
@ -712,7 +712,7 @@ void svision_state::svision(machine_config &config)
|
||||
{
|
||||
svision_base(config);
|
||||
|
||||
M65C02(config, m_maincpu, 4'000'000);
|
||||
W65C02(config, m_maincpu, 4'000'000);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &svision_state::program_map);
|
||||
|
||||
SCREEN(config, m_screen, SCREEN_TYPE_LCD);
|
||||
|
@ -9,7 +9,7 @@ Skeleton driver for "third generation" TeleVideo terminals (905, 955, 9220).
|
||||
#include "emu.h"
|
||||
#include "tv955kb.h"
|
||||
#include "bus/rs232/rs232.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
#include "machine/input_merger.h"
|
||||
#include "machine/mos6551.h"
|
||||
#include "machine/nvram.h"
|
||||
@ -146,7 +146,7 @@ INPUT_PORTS_END
|
||||
|
||||
void tv955_state::tv955(machine_config &config)
|
||||
{
|
||||
M65C02(config, m_maincpu, 19.3396_MHz_XTAL / 9);
|
||||
W65C02(config, m_maincpu, 19.3396_MHz_XTAL / 9);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &tv955_state::mem_map);
|
||||
|
||||
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline(m_maincpu, m6502_device::IRQ_LINE);
|
||||
|
@ -211,7 +211,7 @@ Set 5043 bit 0 low
|
||||
#include "elan_eu3a05_a.h"
|
||||
|
||||
#include "cpu/m6502/m6502.h"
|
||||
//#include "cpu/m6502/m65c02.h"
|
||||
//#include "cpu/m6502/w65c02.h"
|
||||
#include "emupal.h"
|
||||
#include "screen.h"
|
||||
#include "softlist_dev.h"
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
//#include "bus/midi/midi.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/w65c02.h"
|
||||
|
||||
namespace {
|
||||
|
||||
@ -122,7 +122,7 @@ INPUT_PORTS_END
|
||||
|
||||
void yamaha_psr16_state::psr16(machine_config &config)
|
||||
{
|
||||
M65C02(config, m_maincpu, 5.5_MHz_XTAL / 4); // XTAL value from PSS-480; internal divider guessed
|
||||
W65C02(config, m_maincpu, 5.5_MHz_XTAL / 4); // XTAL value from PSS-480; internal divider guessed
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &yamaha_psr16_state::psr16_map);
|
||||
}
|
||||
|
||||
|
@ -511,9 +511,9 @@ static const std::map<std::string, const gdb_register_map &> gdb_register_maps =
|
||||
{ "m6502", gdb_register_map_m6502 },
|
||||
{ "m6507", gdb_register_map_m6502 },
|
||||
{ "m6510", gdb_register_map_m6502 },
|
||||
{ "m65c02", gdb_register_map_m6502 },
|
||||
{ "m65ce02", gdb_register_map_m6502 },
|
||||
{ "rp2a03", gdb_register_map_m6502 },
|
||||
{ "w65c02", gdb_register_map_m6502 },
|
||||
{ "w65c02s", gdb_register_map_m6502 },
|
||||
{ "m6809", gdb_register_map_m6809 },
|
||||
{ "score7", gdb_register_map_score7 },
|
||||
|
@ -96,11 +96,11 @@ using util::BIT;
|
||||
#include "cpu/m6502/m6502d.h"
|
||||
#include "cpu/m6502/m6509d.h"
|
||||
#include "cpu/m6502/m6510d.h"
|
||||
#include "cpu/m6502/m65c02d.h"
|
||||
#include "cpu/m6502/m65ce02d.h"
|
||||
#include "cpu/m6502/m740d.h"
|
||||
#include "cpu/m6502/r65c02d.h"
|
||||
#include "cpu/m6502/r65c19d.h"
|
||||
#include "cpu/m6502/w65c02d.h"
|
||||
#include "cpu/m6502/xavixd.h"
|
||||
#include "cpu/m6502/xavix2000d.h"
|
||||
#include "cpu/m6800/6800dasm.h"
|
||||
@ -525,7 +525,6 @@ static const dasm_table_entry dasm_table[] =
|
||||
{ "m6502", le, 0, []() -> util::disasm_interface * { return new m6502_disassembler; } },
|
||||
{ "m6509", le, 0, []() -> util::disasm_interface * { return new m6509_disassembler; } },
|
||||
{ "m6510", le, 0, []() -> util::disasm_interface * { return new m6510_disassembler; } },
|
||||
{ "m65c02", le, 0, []() -> util::disasm_interface * { return new m65c02_disassembler; } },
|
||||
{ "m65ce02", le, 0, []() -> util::disasm_interface * { return new m65ce02_disassembler; } },
|
||||
{ "m6800", be, 0, []() -> util::disasm_interface * { return new m680x_disassembler(6800); } },
|
||||
{ "m68000", be, 0, []() -> util::disasm_interface * { return new m68k_disassembler(m68k_disassembler::TYPE_68000); } },
|
||||
@ -727,6 +726,7 @@ static const dasm_table_entry dasm_table[] =
|
||||
{ "vt50", le, 0, []() -> util::disasm_interface * { return new vt50_disassembler; } },
|
||||
{ "vt52", le, 0, []() -> util::disasm_interface * { return new vt52_disassembler; } },
|
||||
{ "vt61", le, -1, []() -> util::disasm_interface * { return new vt61_disassembler; } },
|
||||
{ "w65c02", le, 0, []() -> util::disasm_interface * { return new w65c02_disassembler; } },
|
||||
{ "we32100", be, 0, []() -> util::disasm_interface * { return new we32100_disassembler; } },
|
||||
{ "x86_16", le, 0, []() -> util::disasm_interface * { i386_unidasm.mode = 16; return new i386_disassembler(&i386_unidasm); } },
|
||||
{ "x86_32", le, 0, []() -> util::disasm_interface * { i386_unidasm.mode = 32; return new i386_disassembler(&i386_unidasm); } },
|
||||
|
Loading…
Reference in New Issue
Block a user