mirror of
https://github.com/holub/mame
synced 2025-06-06 04:43:45 +03:00
upd7810: reorganize, compile source files seperately instead of
including them into the main source
This commit is contained in:
parent
5306fe407f
commit
e6feb0a07e
7
.gitattributes
vendored
7
.gitattributes
vendored
@ -2210,11 +2210,12 @@ src/emu/cpu/unsp/unspdasm.c svneol=native#text/plain
|
|||||||
src/emu/cpu/upd7725/dasm7725.c svneol=native#text/plain
|
src/emu/cpu/upd7725/dasm7725.c svneol=native#text/plain
|
||||||
src/emu/cpu/upd7725/upd7725.c svneol=native#text/plain
|
src/emu/cpu/upd7725/upd7725.c svneol=native#text/plain
|
||||||
src/emu/cpu/upd7725/upd7725.h svneol=native#text/plain
|
src/emu/cpu/upd7725/upd7725.h svneol=native#text/plain
|
||||||
src/emu/cpu/upd7810/7810dasm.c svneol=native#text/plain
|
|
||||||
src/emu/cpu/upd7810/7810ops.inc svneol=native#text/plain
|
|
||||||
src/emu/cpu/upd7810/7810tbl.inc svneol=native#text/plain
|
|
||||||
src/emu/cpu/upd7810/upd7810.c svneol=native#text/plain
|
src/emu/cpu/upd7810/upd7810.c svneol=native#text/plain
|
||||||
src/emu/cpu/upd7810/upd7810.h svneol=native#text/plain
|
src/emu/cpu/upd7810/upd7810.h svneol=native#text/plain
|
||||||
|
src/emu/cpu/upd7810/upd7810_dasm.c svneol=native#text/plain
|
||||||
|
src/emu/cpu/upd7810/upd7810_macros.h svneol=native#text/plain
|
||||||
|
src/emu/cpu/upd7810/upd7810_opcodes.c svneol=native#text/plain
|
||||||
|
src/emu/cpu/upd7810/upd7810_table.c svneol=native#text/plain
|
||||||
src/emu/cpu/v30mz/v30mz.c svneol=native#text/plain
|
src/emu/cpu/v30mz/v30mz.c svneol=native#text/plain
|
||||||
src/emu/cpu/v30mz/v30mz.h svneol=native#text/plain
|
src/emu/cpu/v30mz/v30mz.h svneol=native#text/plain
|
||||||
src/emu/cpu/v60/am.inc svneol=native#text/plain
|
src/emu/cpu/v60/am.inc svneol=native#text/plain
|
||||||
|
@ -1774,14 +1774,17 @@ $(CPUOBJ)/upd7725/upd7725.o: $(CPUSRC)/upd7725/upd7725.c \
|
|||||||
ifneq ($(filter UPD7810,$(CPUS)),)
|
ifneq ($(filter UPD7810,$(CPUS)),)
|
||||||
OBJDIRS += $(CPUOBJ)/upd7810
|
OBJDIRS += $(CPUOBJ)/upd7810
|
||||||
CPUOBJS += $(CPUOBJ)/upd7810/upd7810.o
|
CPUOBJS += $(CPUOBJ)/upd7810/upd7810.o
|
||||||
DASMOBJS += $(CPUOBJ)/upd7810/7810dasm.o
|
CPUOBJS += $(CPUOBJ)/upd7810/upd7810_opcodes.o
|
||||||
|
CPUOBJS += $(CPUOBJ)/upd7810/upd7810_table.o
|
||||||
|
DASMOBJS += $(CPUOBJ)/upd7810/upd7810_dasm.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(CPUOBJ)/upd7810/upd7810.o: $(CPUSRC)/upd7810/upd7810.c \
|
$(CPUOBJ)/upd7810/upd7810_opcodes.o: $(CPUSRC)/upd7810/upd7810_opcodes.c \
|
||||||
$(CPUSRC)/upd7810/7810tbl.inc \
|
$(CPUSRC)/upd7810/upd7810_macros.h
|
||||||
$(CPUSRC)/upd7810/7810ops.inc \
|
|
||||||
$(CPUSRC)/upd7810/upd7810.h
|
|
||||||
|
|
||||||
|
$(CPUOBJ)/upd7810/upd7810.o: $(CPUSRC)/upd7810/upd7810.c \
|
||||||
|
$(CPUSRC)/upd7810/upd7810.h \
|
||||||
|
$(CPUSRC)/upd7810/upd7810_macros.h
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
|
@ -407,6 +407,7 @@ STOP 01001000 10111011 12 stop
|
|||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "debugger.h"
|
#include "debugger.h"
|
||||||
#include "upd7810.h"
|
#include "upd7810.h"
|
||||||
|
#include "upd7810_macros.h"
|
||||||
|
|
||||||
|
|
||||||
const device_type UPD7810 = &device_creator<upd7810_device>;
|
const device_type UPD7810 = &device_creator<upd7810_device>;
|
||||||
@ -541,162 +542,6 @@ offs_t upd78c05_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8
|
|||||||
return CPU_DISASSEMBLE_NAME(upd78c05)(this, buffer, pc, oprom, opram, options);
|
return CPU_DISASSEMBLE_NAME(upd78c05)(this, buffer, pc, oprom, opram, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#define CY 0x01
|
|
||||||
#define F1 0x02
|
|
||||||
#define L0 0x04
|
|
||||||
#define L1 0x08
|
|
||||||
#define HC 0x10
|
|
||||||
#define SK 0x20
|
|
||||||
#define Z 0x40
|
|
||||||
#define F7 0x80
|
|
||||||
|
|
||||||
/* IRR flags */
|
|
||||||
#define INTNMI 0x0001
|
|
||||||
#define INTFT0 0x0002
|
|
||||||
#define INTFT1 0x0004
|
|
||||||
#define INTF1 0x0008
|
|
||||||
#define INTF2 0x0010
|
|
||||||
#define INTFE0 0x0020
|
|
||||||
#define INTFE1 0x0040
|
|
||||||
#define INTFEIN 0x0080
|
|
||||||
#define INTFAD 0x0100
|
|
||||||
#define INTFSR 0x0200
|
|
||||||
#define INTFST 0x0400
|
|
||||||
#define INTER 0x0800
|
|
||||||
#define INTOV 0x1000
|
|
||||||
#define INTF0 0x2000
|
|
||||||
|
|
||||||
/* ITF flags */
|
|
||||||
#define INTAN4 0x0001
|
|
||||||
#define INTAN5 0x0002
|
|
||||||
#define INTAN6 0x0004
|
|
||||||
#define INTAN7 0x0008
|
|
||||||
#define INTSB 0x0010
|
|
||||||
|
|
||||||
#define PPC m_ppc.w.l
|
|
||||||
#define PC m_pc.w.l
|
|
||||||
#define PCL m_pc.b.l
|
|
||||||
#define PCH m_pc.b.h
|
|
||||||
#define PCD m_pc.d
|
|
||||||
#define SP m_sp.w.l
|
|
||||||
#define SPL m_sp.b.l
|
|
||||||
#define SPH m_sp.b.h
|
|
||||||
#define SPD m_sp.d
|
|
||||||
#define PSW m_psw
|
|
||||||
#define OP m_op
|
|
||||||
#define OP2 m_op2
|
|
||||||
#define IFF m_iff
|
|
||||||
#define EA m_ea.w.l
|
|
||||||
#define EAL m_ea.b.l
|
|
||||||
#define EAH m_ea.b.h
|
|
||||||
#define VA m_va.w.l
|
|
||||||
#define V m_va.b.h
|
|
||||||
#define A m_va.b.l
|
|
||||||
#define VAD m_va.d
|
|
||||||
#define BC m_bc.w.l
|
|
||||||
#define B m_bc.b.h
|
|
||||||
#define C m_bc.b.l
|
|
||||||
#define DE m_de.w.l
|
|
||||||
#define D m_de.b.h
|
|
||||||
#define E m_de.b.l
|
|
||||||
#define HL m_hl.w.l
|
|
||||||
#define H m_hl.b.h
|
|
||||||
#define L m_hl.b.l
|
|
||||||
#define EA2 m_ea2.w.l
|
|
||||||
#define VA2 m_va2.w.l
|
|
||||||
#define BC2 m_bc2.w.l
|
|
||||||
#define DE2 m_de2.w.l
|
|
||||||
#define HL2 m_hl2.w.l
|
|
||||||
|
|
||||||
#define OVC0 m_ovc0
|
|
||||||
#define OVC1 m_ovc1
|
|
||||||
#define OVCE m_ovce
|
|
||||||
#define OVCF m_ovcf
|
|
||||||
#define OVCS m_ovcs
|
|
||||||
#define EDGES m_edges
|
|
||||||
|
|
||||||
#define CNT0 m_cnt.b.l
|
|
||||||
#define CNT1 m_cnt.b.h
|
|
||||||
#define TM0 m_tm.b.l
|
|
||||||
#define TM1 m_tm.b.h
|
|
||||||
#define ECNT m_ecnt.w.l
|
|
||||||
#define ECPT m_ecnt.w.h
|
|
||||||
#define ETM0 m_etm.w.l
|
|
||||||
#define ETM1 m_etm.w.h
|
|
||||||
|
|
||||||
#define MA m_ma
|
|
||||||
#define MB m_mb
|
|
||||||
#define MCC m_mcc
|
|
||||||
#define MC m_mc
|
|
||||||
#define MM m_mm
|
|
||||||
#define MF m_mf
|
|
||||||
#define TMM m_tmm
|
|
||||||
#define ETMM m_etmm
|
|
||||||
#define EOM m_eom
|
|
||||||
#define SML m_sml
|
|
||||||
#define SMH m_smh
|
|
||||||
#define PANM m_panm
|
|
||||||
#define ANM m_anm
|
|
||||||
#define MKL m_mkl
|
|
||||||
#define MKH m_mkh
|
|
||||||
#define ZCM m_zcm
|
|
||||||
|
|
||||||
#define CR0 m_cr0
|
|
||||||
#define CR1 m_cr1
|
|
||||||
#define CR2 m_cr2
|
|
||||||
#define CR3 m_cr3
|
|
||||||
#define RXB m_rxb
|
|
||||||
#define TXB m_txb
|
|
||||||
|
|
||||||
#define RXD m_rxd
|
|
||||||
#define TXD m_txd
|
|
||||||
#define SCK m_sck
|
|
||||||
#define TI m_ti
|
|
||||||
#define TO m_to
|
|
||||||
#define CI m_ci
|
|
||||||
#define CO0 m_co0
|
|
||||||
#define CO1 m_co1
|
|
||||||
|
|
||||||
#define IRR m_irr
|
|
||||||
#define ITF m_itf
|
|
||||||
|
|
||||||
|
|
||||||
#define RDOP(O) O = m_direct->read_decrypted_byte(PCD); PC++
|
|
||||||
#define RDOPARG(A) A = m_direct->read_raw_byte(PCD); PC++
|
|
||||||
#define RM(A) m_program->read_byte(A)
|
|
||||||
#define WM(A,V) m_program->write_byte(A,V)
|
|
||||||
|
|
||||||
#define ZHC_ADD(after,before,carry) \
|
|
||||||
if (after == 0) PSW |= Z; else PSW &= ~Z; \
|
|
||||||
if (after == before) \
|
|
||||||
PSW = (PSW&~CY) | (carry); \
|
|
||||||
else if (after < before) \
|
|
||||||
PSW |= CY; \
|
|
||||||
else \
|
|
||||||
PSW &= ~CY; \
|
|
||||||
if ((after & 15) < (before & 15)) \
|
|
||||||
PSW |= HC; \
|
|
||||||
else \
|
|
||||||
PSW &= ~HC;
|
|
||||||
#define ZHC_SUB(after,before,carry) \
|
|
||||||
if (after == 0) PSW |= Z; else PSW &= ~Z; \
|
|
||||||
if (before == after) \
|
|
||||||
PSW = (PSW & ~CY) | (carry); \
|
|
||||||
else if (after > before) \
|
|
||||||
PSW |= CY; \
|
|
||||||
else \
|
|
||||||
PSW &= ~CY; \
|
|
||||||
if ((after & 15) > (before & 15)) \
|
|
||||||
PSW |= HC; \
|
|
||||||
else \
|
|
||||||
PSW &= ~HC;
|
|
||||||
#define SKIP_CY if (CY == (PSW & CY)) PSW |= SK
|
|
||||||
#define SKIP_NC if (0 == (PSW & CY)) PSW |= SK
|
|
||||||
#define SKIP_Z if (Z == (PSW & Z)) PSW |= SK
|
|
||||||
#define SKIP_NZ if (0 == (PSW & Z)) PSW |= SK
|
|
||||||
#define SET_Z(n) if (n) PSW &= ~Z; else PSW |= Z
|
|
||||||
|
|
||||||
UINT8 upd7810_device::RP(offs_t port)
|
UINT8 upd7810_device::RP(offs_t port)
|
||||||
{
|
{
|
||||||
UINT8 data = 0xff;
|
UINT8 data = 0xff;
|
||||||
@ -1977,9 +1822,6 @@ void upd7810_device::state_string_export(const device_state_entry &entry, astrin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "7810tbl.inc"
|
|
||||||
#include "7810ops.inc"
|
|
||||||
|
|
||||||
void upd7810_device::device_reset()
|
void upd7810_device::device_reset()
|
||||||
{
|
{
|
||||||
m_ppc.d = 0;
|
m_ppc.d = 0;
|
||||||
@ -2092,7 +1934,6 @@ void upd78c05_device::device_reset()
|
|||||||
m_ovc0 = ( ( TMM & 0x04 ) ? 16 * 8 : 8 ) * TM0;
|
m_ovc0 = ( ( TMM & 0x04 ) ? 16 * 8 : 8 ) * TM0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void upd7810_device::execute_run()
|
void upd7810_device::execute_run()
|
||||||
{
|
{
|
||||||
do
|
do
|
||||||
|
@ -102,6 +102,48 @@ public:
|
|||||||
template<class _Object> static devcb_base &set_an7_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an7_func.set_callback(object); }
|
template<class _Object> static devcb_base &set_an7_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an7_func.set_callback(object); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
// flags
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
CY = 0x01,
|
||||||
|
F1 = 0x02,
|
||||||
|
L0 = 0x04,
|
||||||
|
L1 = 0x08,
|
||||||
|
HC = 0x10,
|
||||||
|
SK = 0x20,
|
||||||
|
Z = 0x40,
|
||||||
|
F7 = 0x80
|
||||||
|
};
|
||||||
|
|
||||||
|
// IRR flags
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
INTNMI = 0x0001,
|
||||||
|
INTFT0 = 0x0002,
|
||||||
|
INTFT1 = 0x0004,
|
||||||
|
INTF1 = 0x0008,
|
||||||
|
INTF2 = 0x0010,
|
||||||
|
INTFE0 = 0x0020,
|
||||||
|
INTFE1 = 0x0040,
|
||||||
|
INTFEIN = 0x0080,
|
||||||
|
INTFAD = 0x0100,
|
||||||
|
INTFSR = 0x0200,
|
||||||
|
INTFST = 0x0400,
|
||||||
|
INTER = 0x0800,
|
||||||
|
INTOV = 0x1000,
|
||||||
|
INTF0 = 0x2000
|
||||||
|
};
|
||||||
|
|
||||||
|
// ITF flags
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
INTAN4 = 0x0001,
|
||||||
|
INTAN5 = 0x0002,
|
||||||
|
INTAN6 = 0x0004,
|
||||||
|
INTAN7 = 0x0008,
|
||||||
|
INTSB = 0x0010
|
||||||
|
};
|
||||||
|
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
virtual void device_start();
|
virtual void device_start();
|
||||||
virtual void device_reset();
|
virtual void device_reset();
|
||||||
|
144
src/emu/cpu/upd7810/upd7810_macros.h
Normal file
144
src/emu/cpu/upd7810/upd7810_macros.h
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
|
||||||
|
uPD7810/11, 7810H/11H, 78C10/C11/C14 private use macros
|
||||||
|
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// REGISTER
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
#define PPC m_ppc.w.l
|
||||||
|
#define PC m_pc.w.l
|
||||||
|
#define PCL m_pc.b.l
|
||||||
|
#define PCH m_pc.b.h
|
||||||
|
#define PCD m_pc.d
|
||||||
|
#define SP m_sp.w.l
|
||||||
|
#define SPL m_sp.b.l
|
||||||
|
#define SPH m_sp.b.h
|
||||||
|
#define SPD m_sp.d
|
||||||
|
#define PSW m_psw
|
||||||
|
#define OP m_op
|
||||||
|
#define OP2 m_op2
|
||||||
|
#define IFF m_iff
|
||||||
|
#define EA m_ea.w.l
|
||||||
|
#define EAL m_ea.b.l
|
||||||
|
#define EAH m_ea.b.h
|
||||||
|
#define VA m_va.w.l
|
||||||
|
#define V m_va.b.h
|
||||||
|
#define A m_va.b.l
|
||||||
|
#define VAD m_va.d
|
||||||
|
#define BC m_bc.w.l
|
||||||
|
#define B m_bc.b.h
|
||||||
|
#define C m_bc.b.l
|
||||||
|
#define DE m_de.w.l
|
||||||
|
#define D m_de.b.h
|
||||||
|
#define E m_de.b.l
|
||||||
|
#define HL m_hl.w.l
|
||||||
|
#define H m_hl.b.h
|
||||||
|
#define L m_hl.b.l
|
||||||
|
#define EA2 m_ea2.w.l
|
||||||
|
#define VA2 m_va2.w.l
|
||||||
|
#define BC2 m_bc2.w.l
|
||||||
|
#define DE2 m_de2.w.l
|
||||||
|
#define HL2 m_hl2.w.l
|
||||||
|
|
||||||
|
#define OVC0 m_ovc0
|
||||||
|
#define OVC1 m_ovc1
|
||||||
|
#define OVCE m_ovce
|
||||||
|
#define OVCF m_ovcf
|
||||||
|
#define OVCS m_ovcs
|
||||||
|
#define EDGES m_edges
|
||||||
|
|
||||||
|
#define CNT0 m_cnt.b.l
|
||||||
|
#define CNT1 m_cnt.b.h
|
||||||
|
#define TM0 m_tm.b.l
|
||||||
|
#define TM1 m_tm.b.h
|
||||||
|
#define ECNT m_ecnt.w.l
|
||||||
|
#define ECPT m_ecnt.w.h
|
||||||
|
#define ETM0 m_etm.w.l
|
||||||
|
#define ETM1 m_etm.w.h
|
||||||
|
|
||||||
|
#define MA m_ma
|
||||||
|
#define MB m_mb
|
||||||
|
#define MCC m_mcc
|
||||||
|
#define MC m_mc
|
||||||
|
#define MM m_mm
|
||||||
|
#define MF m_mf
|
||||||
|
#define TMM m_tmm
|
||||||
|
#define ETMM m_etmm
|
||||||
|
#define EOM m_eom
|
||||||
|
#define SML m_sml
|
||||||
|
#define SMH m_smh
|
||||||
|
#define PANM m_panm
|
||||||
|
#define ANM m_anm
|
||||||
|
#define MKL m_mkl
|
||||||
|
#define MKH m_mkh
|
||||||
|
#define ZCM m_zcm
|
||||||
|
|
||||||
|
#define CR0 m_cr0
|
||||||
|
#define CR1 m_cr1
|
||||||
|
#define CR2 m_cr2
|
||||||
|
#define CR3 m_cr3
|
||||||
|
#define RXB m_rxb
|
||||||
|
#define TXB m_txb
|
||||||
|
|
||||||
|
#define RXD m_rxd
|
||||||
|
#define TXD m_txd
|
||||||
|
#define SCK m_sck
|
||||||
|
#define TI m_ti
|
||||||
|
#define TO m_to
|
||||||
|
#define CI m_ci
|
||||||
|
#define CO0 m_co0
|
||||||
|
#define CO1 m_co1
|
||||||
|
|
||||||
|
#define IRR m_irr
|
||||||
|
#define ITF m_itf
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// MEMORY/OPCODE READ/WRITE
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
#define RDOP(O) O = m_direct->read_decrypted_byte(PCD); PC++
|
||||||
|
#define RDOPARG(A) A = m_direct->read_raw_byte(PCD); PC++
|
||||||
|
#define RM(A) m_program->read_byte(A)
|
||||||
|
#define WM(A,V) m_program->write_byte(A,V)
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// PSW OPERATIONS
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
#define ZHC_ADD(after,before,carry) \
|
||||||
|
if (after == 0) PSW |= Z; else PSW &= ~Z; \
|
||||||
|
if (after == before) \
|
||||||
|
PSW = (PSW&~CY) | (carry); \
|
||||||
|
else if (after < before) \
|
||||||
|
PSW |= CY; \
|
||||||
|
else \
|
||||||
|
PSW &= ~CY; \
|
||||||
|
if ((after & 15) < (before & 15)) \
|
||||||
|
PSW |= HC; \
|
||||||
|
else \
|
||||||
|
PSW &= ~HC;
|
||||||
|
|
||||||
|
#define ZHC_SUB(after,before,carry) \
|
||||||
|
if (after == 0) PSW |= Z; else PSW &= ~Z; \
|
||||||
|
if (before == after) \
|
||||||
|
PSW = (PSW & ~CY) | (carry); \
|
||||||
|
else if (after > before) \
|
||||||
|
PSW |= CY; \
|
||||||
|
else \
|
||||||
|
PSW &= ~CY; \
|
||||||
|
if ((after & 15) > (before & 15)) \
|
||||||
|
PSW |= HC; \
|
||||||
|
else \
|
||||||
|
PSW &= ~HC;
|
||||||
|
|
||||||
|
#define SKIP_CY if (CY == (PSW & CY)) PSW |= SK
|
||||||
|
#define SKIP_NC if (0 == (PSW & CY)) PSW |= SK
|
||||||
|
#define SKIP_Z if (Z == (PSW & Z)) PSW |= SK
|
||||||
|
#define SKIP_NZ if (0 == (PSW & Z)) PSW |= SK
|
||||||
|
|
||||||
|
#define SET_Z(n) if (n) PSW &= ~Z; else PSW |= Z
|
@ -7,6 +7,10 @@
|
|||||||
*
|
*
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#include "emu.h"
|
||||||
|
#include "upd7810.h"
|
||||||
|
#include "upd7810_macros.h"
|
||||||
|
|
||||||
void upd7810_device::illegal()
|
void upd7810_device::illegal()
|
||||||
{
|
{
|
||||||
logerror("uPD7810 '%s': illegal opcode %02x at PC:%04x\n", tag(), OP, PC);
|
logerror("uPD7810 '%s': illegal opcode %02x at PC:%04x\n", tag(), OP, PC);
|
@ -7,6 +7,8 @@
|
|||||||
*
|
*
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#include "emu.h"
|
||||||
|
#include "upd7810.h"
|
||||||
|
|
||||||
const struct upd7810_device::opcode_s upd7810_device::s_op48[256] =
|
const struct upd7810_device::opcode_s upd7810_device::s_op48[256] =
|
||||||
{
|
{
|
Loading…
Reference in New Issue
Block a user