mirror of
https://github.com/holub/mame
synced 2025-10-07 01:16:22 +03:00
Cleanups and version bump
This commit is contained in:
parent
fda60d87eb
commit
0147bb4cc8
@ -57391,7 +57391,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
|
||||
<publisher>Union Bond</publisher>
|
||||
<info name="serial" value="G-0005"/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="nanjing" /> <!-- header actually says 164... -->
|
||||
<feature name="slot" value="nanjing" /> <!-- header actually says 164... -->
|
||||
<feature name="pcb" value="UNL-NANJING" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="ying tao xiao wan zi (g-005) (ch).prg" size="524288" crc="8209ba79" sha1="fa56608d8dcf5a144dd1fc81282cd86fd51060fe" offset="00000" status="baddump" />
|
||||
@ -75420,7 +75420,7 @@ be better to redump them properly. -->
|
||||
<year>19??</year>
|
||||
<publisher><unknown></publisher>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="fk23ca" /> <!-- UNIF header pointed to FK23C, but the menu does not appear with that mapper... investigate! -->
|
||||
<feature name="slot" value="fk23ca" /> <!-- UNIF header pointed to FK23C, but the menu does not appear with that mapper... investigate! -->
|
||||
<feature name="pcb" value="BMC-FK23C" />
|
||||
<dataarea name="prg" size="8388608">
|
||||
<rom name="120-in-1 (unl)[u].prg" size="8388608" crc="678de5aa" sha1="01da22ddf1897b47d6b03ecb4ff0c093f9b39dfc" offset="00000" status="baddump" />
|
||||
|
@ -43,7 +43,7 @@ MACHINE_CONFIG_END
|
||||
#define MSX2_VISIBLE_YBORDER_PIXELS 14 * 2
|
||||
|
||||
MACHINE_CONFIG_FRAGMENT( ezcgi9938 )
|
||||
MCFG_V9938_ADD(TMS_TAG, SCREEN_TAG, 0x30000) // 192K of VRAM
|
||||
MCFG_V9938_ADD(TMS_TAG, SCREEN_TAG, 0x30000) // 192K of VRAM
|
||||
MCFG_V99X8_INTERRUPT_CALLBACK(WRITELINE(a2bus_ezcgi_9938_device, tms_irq_w))
|
||||
|
||||
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
|
||||
@ -57,7 +57,7 @@ MACHINE_CONFIG_FRAGMENT( ezcgi9938 )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_FRAGMENT( ezcgi9958 )
|
||||
MCFG_V9958_ADD(TMS_TAG, SCREEN_TAG, 0x30000) // 192K of VRAM
|
||||
MCFG_V9958_ADD(TMS_TAG, SCREEN_TAG, 0x30000) // 192K of VRAM
|
||||
MCFG_V99X8_INTERRUPT_CALLBACK(WRITELINE(a2bus_ezcgi_9958_device, tms_irq_w))
|
||||
|
||||
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
|
||||
@ -311,4 +311,3 @@ WRITE_LINE_MEMBER( a2bus_ezcgi_9958_device::tms_irq_w )
|
||||
lower_slot_irq();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -20,8 +20,8 @@ const rom_entry *omti5100_device::device_rom_region() const
|
||||
|
||||
omti5100_device::omti5100_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: scsihd_device(mconfig, OMTI5100, "OMTI 5100", tag, owner, clock, "omti5100", __FILE__),
|
||||
m_image0(*this, "image0"),
|
||||
m_image1(*this, "image1")
|
||||
m_image0(*this, "image0"),
|
||||
m_image1(*this, "image1")
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -333,7 +333,7 @@ const i386_device::X86_OPCODE i386_device::s_x86_opcode_table[] =
|
||||
{ 0x3B, OP_2BYTE|OP_CYRIX, &i386_device::i386_cyrix_special, &i386_device::i386_cyrix_special, false},
|
||||
{ 0x3C, OP_2BYTE|OP_CYRIX, &i386_device::i386_cyrix_special, &i386_device::i386_cyrix_special, false},
|
||||
{ 0x3D, OP_2BYTE|OP_CYRIX, &i386_device::i386_cyrix_special, &i386_device::i386_cyrix_special, false},
|
||||
{ 0x40, OP_2BYTE|OP_PENTIUM, &i386_device::pentium_cmovo_r16_rm16, &i386_device::pentium_cmovo_r32_rm32, false},
|
||||
{ 0x40, OP_2BYTE|OP_PENTIUM, &i386_device::pentium_cmovo_r16_rm16, &i386_device::pentium_cmovo_r32_rm32, false},
|
||||
{ 0x41, OP_2BYTE|OP_PENTIUM, &i386_device::pentium_cmovno_r16_rm16, &i386_device::pentium_cmovno_r32_rm32, false},
|
||||
{ 0x42, OP_2BYTE|OP_PENTIUM, &i386_device::pentium_cmovb_r16_rm16, &i386_device::pentium_cmovb_r32_rm32, false},
|
||||
{ 0x43, OP_2BYTE|OP_PENTIUM, &i386_device::pentium_cmovae_r16_rm16, &i386_device::pentium_cmovae_r32_rm32, false},
|
||||
|
@ -1065,10 +1065,10 @@ void i386_device::pentium_movnti_m32_r32() // Opcode 0f c3
|
||||
void i386_device::i386_cyrix_special() // Opcode 0x0f 3a-3d
|
||||
{
|
||||
/*
|
||||
0f 3a BB0_RESET (set BB0 pointer = base)
|
||||
0f 3b BB1_RESET (set BB1 pointer = base)
|
||||
0f 3c CPU_WRITE (write special CPU memory-mapped register, [ebx] = eax)
|
||||
0f 3d CPU_READ (read special CPU memory-mapped register, eax, = [ebx])
|
||||
0f 3a BB0_RESET (set BB0 pointer = base)
|
||||
0f 3b BB1_RESET (set BB1 pointer = base)
|
||||
0f 3c CPU_WRITE (write special CPU memory-mapped register, [ebx] = eax)
|
||||
0f 3d CPU_READ (read special CPU memory-mapped register, eax, = [ebx])
|
||||
*/
|
||||
|
||||
CYCLES(1);
|
||||
|
@ -239,7 +239,6 @@ void v53_base_device::install_peripheral_io()
|
||||
{
|
||||
if (IOAG) // 8-bit
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -258,7 +257,6 @@ void v53_base_device::install_peripheral_io()
|
||||
|
||||
if (IOAG) // 8-bit
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -274,7 +272,6 @@ void v53_base_device::install_peripheral_io()
|
||||
|
||||
if (IOAG) // 8-bit
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -292,7 +289,6 @@ void v53_base_device::install_peripheral_io()
|
||||
|
||||
if (IOAG) // 8-bit
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -333,9 +329,9 @@ WRITE8_MEMBER(v53_base_device::tmu_tct2_w) { m_v53tcu->write(space, 2, data); }
|
||||
WRITE8_MEMBER(v53_base_device::tmu_tmd_w) { m_v53tcu->write(space, 3, data); }
|
||||
|
||||
|
||||
READ8_MEMBER(v53_base_device::tmu_tst0_r) { return m_v53tcu->read(space, 0); }
|
||||
READ8_MEMBER(v53_base_device::tmu_tst1_r) { return m_v53tcu->read(space, 1); }
|
||||
READ8_MEMBER(v53_base_device::tmu_tst2_r) { return m_v53tcu->read(space, 2); }
|
||||
READ8_MEMBER(v53_base_device::tmu_tst0_r) { return m_v53tcu->read(space, 0); }
|
||||
READ8_MEMBER(v53_base_device::tmu_tst1_r) { return m_v53tcu->read(space, 1); }
|
||||
READ8_MEMBER(v53_base_device::tmu_tst2_r) { return m_v53tcu->read(space, 2); }
|
||||
|
||||
|
||||
|
||||
@ -409,20 +405,20 @@ WRITE_LINE_MEMBER(v53_base_device::hack_w)
|
||||
static ADDRESS_MAP_START( v53_internal_port_map, AS_IO, 16, v53_base_device )
|
||||
AM_RANGE(0xffe0, 0xffe1) AM_WRITE8( BSEL_w, 0x00ff) // 0xffe0 // uPD71037 DMA mode bank selection register
|
||||
AM_RANGE(0xffe0, 0xffe1) AM_WRITE8( BADR_w, 0xff00) // 0xffe1 // uPD71037 DMA mode bank register peripheral mapping (also uses OPHA)
|
||||
// AM_RANGE(0xffe2, 0xffe3) // (reserved , 0x00ff) // 0xffe2
|
||||
// AM_RANGE(0xffe2, 0xffe3) // (reserved , 0xff00) // 0xffe3
|
||||
// AM_RANGE(0xffe4, 0xffe5) // (reserved , 0x00ff) // 0xffe4
|
||||
// AM_RANGE(0xffe4, 0xffe5) // (reserved , 0xff00) // 0xffe5
|
||||
// AM_RANGE(0xffe6, 0xffe7) // (reserved , 0x00ff) // 0xffe6
|
||||
// AM_RANGE(0xffe6, 0xffe7) // (reserved , 0xff00) // 0xffe7
|
||||
// AM_RANGE(0xffe8, 0xffe9) // (reserved , 0x00ff) // 0xffe8
|
||||
// AM_RANGE(0xffe2, 0xffe3) // (reserved , 0x00ff) // 0xffe2
|
||||
// AM_RANGE(0xffe2, 0xffe3) // (reserved , 0xff00) // 0xffe3
|
||||
// AM_RANGE(0xffe4, 0xffe5) // (reserved , 0x00ff) // 0xffe4
|
||||
// AM_RANGE(0xffe4, 0xffe5) // (reserved , 0xff00) // 0xffe5
|
||||
// AM_RANGE(0xffe6, 0xffe7) // (reserved , 0x00ff) // 0xffe6
|
||||
// AM_RANGE(0xffe6, 0xffe7) // (reserved , 0xff00) // 0xffe7
|
||||
// AM_RANGE(0xffe8, 0xffe9) // (reserved , 0x00ff) // 0xffe8
|
||||
AM_RANGE(0xffe8, 0xffe9) AM_WRITE8( BRC_w , 0xff00) // 0xffe9 // baud rate counter (used for serial peripheral)
|
||||
AM_RANGE(0xffea, 0xffeb) AM_WRITE8( WMB0_w, 0x00ff) // 0xffea // waitstate control
|
||||
AM_RANGE(0xffea, 0xffeb) AM_WRITE8( WCY1_w, 0xff00) // 0xffeb // waitstate control
|
||||
AM_RANGE(0xffec, 0xffed) AM_WRITE8( WCY0_w, 0x00ff) // 0xffec // waitstate control
|
||||
AM_RANGE(0xffec, 0xffed) AM_WRITE8( WAC_w, 0xff00) // 0xffed // waitstate control
|
||||
// AM_RANGE(0xffee, 0xffef) // (reserved , 0x00ff) // 0xffee
|
||||
// AM_RANGE(0xffee, 0xffef) // (reserved , 0xff00) // 0xffef
|
||||
// AM_RANGE(0xffee, 0xffef) // (reserved , 0x00ff) // 0xffee
|
||||
// AM_RANGE(0xffee, 0xffef) // (reserved , 0xff00) // 0xffef
|
||||
AM_RANGE(0xfff0, 0xfff1) AM_WRITE8( TCKS_w, 0x00ff) // 0xfff0 // timer clocks
|
||||
AM_RANGE(0xfff0, 0xfff1) AM_WRITE8( SBCR_w, 0xff00) // 0xfff1 // internal clock divider, halt behavior etc.
|
||||
AM_RANGE(0xfff2, 0xfff3) AM_WRITE8( REFC_w, 0x00ff) // 0xfff2 // ram refresh control
|
||||
@ -430,7 +426,7 @@ static ADDRESS_MAP_START( v53_internal_port_map, AS_IO, 16, v53_base_device )
|
||||
AM_RANGE(0xfff4, 0xfff5) AM_WRITE8( WCY2_w, 0x00ff) // 0xfff4 // waitstate control
|
||||
AM_RANGE(0xfff4, 0xfff5) AM_WRITE8( WCY3_w, 0xff00) // 0xfff5 // waitstate control
|
||||
AM_RANGE(0xfff6, 0xfff7) AM_WRITE8( WCY4_w, 0x00ff) // 0xfff6 // waitstate control
|
||||
// AM_RANGE(0xfff6, 0xfff7) // (reserved , 0xff00) // 0xfff7
|
||||
// AM_RANGE(0xfff6, 0xfff7) // (reserved , 0xff00) // 0xfff7
|
||||
AM_RANGE(0xfff8, 0xfff9) AM_WRITE8( SULA_w, 0x00ff) // 0xfff8 // peripheral mapping
|
||||
AM_RANGE(0xfff8, 0xfff9) AM_WRITE8( TULA_w, 0xff00) // 0xfff9 // peripheral mapping
|
||||
AM_RANGE(0xfffa, 0xfffb) AM_WRITE8( IULA_w, 0x00ff) // 0xfffa // peripheral mapping
|
||||
@ -438,7 +434,7 @@ static ADDRESS_MAP_START( v53_internal_port_map, AS_IO, 16, v53_base_device )
|
||||
AM_RANGE(0xfffc, 0xfffd) AM_WRITE8( OPHA_w, 0x00ff) // 0xfffc // peripheral mapping (upper bits, common)
|
||||
AM_RANGE(0xfffc, 0xfffd) AM_WRITE8( OPSEL_w, 0xff00) // 0xfffd // peripheral enabling
|
||||
AM_RANGE(0xfffe, 0xffff) AM_WRITE8( SCTL_w, 0x00ff) // 0xfffe // peripheral configuration (& byte / word mapping)
|
||||
// AM_RANGE(0xfffe, 0xffff) // (reserved , 0xff00) // 0xffff
|
||||
// AM_RANGE(0xfffe, 0xffff) // (reserved , 0xff00) // 0xffff
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -578,4 +574,3 @@ v53a_device::v53a_device(const machine_config &mconfig, const char *tag, device_
|
||||
: v53_base_device(mconfig, V53A, "V53A", tag, owner, clock, "v53a", BYTE_XOR_LE(0), 6, 1, V33_TYPE)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -151,10 +151,10 @@ public:
|
||||
template<class _Object> static devcb_base &set_syndet_handler(device_t &device, _Object object) { return downcast<v53_base_device &>(device).m_syndet_handler.set_callback(object); }
|
||||
DECLARE_WRITE_LINE_MEMBER(scu_txd_trampoline_cb) { m_txd_handler(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(scu_dtr_trampoline_cb) { m_dtr_handler(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(scu_rts_trampoline_cb) { m_rts_handler(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(scu_rts_trampoline_cb) { m_rts_handler(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(scu_rxrdy_trampoline_cb) { m_rxrdy_handler(state); } /* should we mask this here based on m_simk? it can mask the interrupt */
|
||||
DECLARE_WRITE_LINE_MEMBER(scu_txrdy_trampoline_cb) { m_txrdy_handler(state); } /* should we mask this here based on m_simk? it can mask the interrupt */
|
||||
DECLARE_WRITE_LINE_MEMBER(scu_txempty_trampoline_cb) { m_txempty_handler(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(scu_txempty_trampoline_cb) { m_txempty_handler(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(scu_syndet_trampoline_cb) { m_syndet_handler(state); }
|
||||
|
||||
// TCU
|
||||
@ -165,9 +165,9 @@ public:
|
||||
DECLARE_READ8_MEMBER(tmu_tst2_r);
|
||||
DECLARE_WRITE8_MEMBER(tmu_tct2_w);
|
||||
DECLARE_WRITE8_MEMBER(tmu_tmd_w);
|
||||
// static void set_clk0(device_t &device, double clk0) { downcast<v53_base_device &>(device).m_clk0 = clk0; }
|
||||
// static void set_clk1(device_t &device, double clk1) { downcast<v53_base_device &>(device).m_clk1 = clk1; }
|
||||
// static void set_clk2(device_t &device, double clk2) { downcast<v53_base_device &>(device).m_clk2 = clk2; }
|
||||
// static void set_clk0(device_t &device, double clk0) { downcast<v53_base_device &>(device).m_clk0 = clk0; }
|
||||
// static void set_clk1(device_t &device, double clk1) { downcast<v53_base_device &>(device).m_clk1 = clk1; }
|
||||
// static void set_clk2(device_t &device, double clk2) { downcast<v53_base_device &>(device).m_clk2 = clk2; }
|
||||
template<class _Object> static devcb_base &set_out0_handler(device_t &device, _Object object) { return downcast<v53_base_device &>(device).m_out0_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out1_handler(device_t &device, _Object object) { return downcast<v53_base_device &>(device).m_out1_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out2_handler(device_t &device, _Object object) { return downcast<v53_base_device &>(device).m_out2_handler.set_callback(object); }
|
||||
@ -195,7 +195,7 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(hreq_trampoline_cb) { m_out_hreq_cb(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(eop_trampoline_cb) { m_out_eop_cb(state); }
|
||||
DECLARE_READ8_MEMBER(dma_memr_trampoline_r) { return m_in_memr_cb(space, offset); }
|
||||
DECLARE_WRITE8_MEMBER(dma_memw_trampoline_w) { m_out_memw_cb(space, offset, data); }
|
||||
DECLARE_WRITE8_MEMBER(dma_memw_trampoline_w) { m_out_memw_cb(space, offset, data); }
|
||||
DECLARE_READ8_MEMBER(dma_io_0_trampoline_r) { return m_in_ior_0_cb(space, offset); }
|
||||
DECLARE_READ8_MEMBER(dma_io_1_trampoline_r) { return m_in_ior_1_cb(space, offset); }
|
||||
DECLARE_READ8_MEMBER(dma_io_2_trampoline_r) { return m_in_ior_2_cb(space, offset); }
|
||||
@ -204,10 +204,10 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(dma_io_1_trampoline_w) { m_out_iow_1_cb(space, offset, data); }
|
||||
DECLARE_WRITE8_MEMBER(dma_io_2_trampoline_w) { m_out_iow_2_cb(space, offset, data); }
|
||||
DECLARE_WRITE8_MEMBER(dma_io_3_trampoline_w) { m_out_iow_3_cb(space, offset, data); }
|
||||
DECLARE_WRITE_LINE_MEMBER(dma_dack0_trampoline_w) { m_out_dack_0_cb(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(dma_dack1_trampoline_w) { m_out_dack_1_cb(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(dma_dack2_trampoline_w) { m_out_dack_2_cb(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(dma_dack3_trampoline_w) { m_out_dack_3_cb(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(dma_dack0_trampoline_w) { m_out_dack_0_cb(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(dma_dack1_trampoline_w) { m_out_dack_1_cb(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(dma_dack2_trampoline_w) { m_out_dack_2_cb(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(dma_dack3_trampoline_w) { m_out_dack_3_cb(state); }
|
||||
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(dreq0_w);
|
||||
@ -260,9 +260,9 @@ protected:
|
||||
devcb_write_line m_syndet_handler;
|
||||
|
||||
// TCU
|
||||
// double m_clk0;
|
||||
// double m_clk1;
|
||||
// double m_clk2;
|
||||
// double m_clk0;
|
||||
// double m_clk1;
|
||||
// double m_clk2;
|
||||
devcb_write_line m_out0_handler;
|
||||
devcb_write_line m_out1_handler;
|
||||
devcb_write_line m_out2_handler;
|
||||
|
@ -1,13 +1,13 @@
|
||||
/***************************************************************************
|
||||
|
||||
Kawasaki LSI
|
||||
KL5C80A12 CPU (KL5C80A12CFP on hng64.c)
|
||||
Kawasaki LSI
|
||||
KL5C80A12 CPU (KL5C80A12CFP on hng64.c)
|
||||
|
||||
Binary compatible with Z80, significantly faster opcode timings, operating at up to 10Mhz
|
||||
Timers / Counters, Parrallel / Serial ports/ MMU, Interrupt Controller
|
||||
Binary compatible with Z80, significantly faster opcode timings, operating at up to 10Mhz
|
||||
Timers / Counters, Parrallel / Serial ports/ MMU, Interrupt Controller
|
||||
|
||||
(is this different enough to need it's own core?)
|
||||
(todo: everything, some code currently lives in machine/hng64_net.c but not much)
|
||||
(is this different enough to need it's own core?)
|
||||
(todo: everything, some code currently lives in machine/hng64_net.c but not much)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
/***************************************************************************
|
||||
|
||||
Kawasaki LSI
|
||||
KL5C80A12 CPU (KL5C80A12CFP on hng64.c)
|
||||
Kawasaki LSI
|
||||
KL5C80A12 CPU (KL5C80A12CFP on hng64.c)
|
||||
|
||||
Binary compatible with Z80, significantly faster opcode timings, operating at up to 10Mhz
|
||||
Timers / Counters, Parrallel / Serial ports/ MMU, Interrupt Controller
|
||||
Binary compatible with Z80, significantly faster opcode timings, operating at up to 10Mhz
|
||||
Timers / Counters, Parrallel / Serial ports/ MMU, Interrupt Controller
|
||||
|
||||
(is this different enough to need it's own core?)
|
||||
(todo: everything, some code currently lives in machine/hng64_net.c but not much)
|
||||
(is this different enough to need it's own core?)
|
||||
(todo: everything, some code currently lives in machine/hng64_net.c but not much)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -3,15 +3,15 @@
|
||||
/***************************************************************************
|
||||
|
||||
AMD AM9517A
|
||||
Intel 8237A
|
||||
NEC uPD71037
|
||||
Intel 8237A
|
||||
NEC uPD71037
|
||||
|
||||
NEC uPD71071 (extended version of above)
|
||||
NEC uPD71071 (extended version of above)
|
||||
|
||||
a variant is used in the V53 CPU which offers subsets of both the
|
||||
uPD71071 and uPD71037 functionality depending on a mode bit.
|
||||
a variant is used in the V53 CPU which offers subsets of both the
|
||||
uPD71071 and uPD71037 functionality depending on a mode bit.
|
||||
|
||||
Multimode DMA Controller emulation
|
||||
Multimode DMA Controller emulation
|
||||
|
||||
Copyright the MESS Team.
|
||||
Visit http://mamedev.org for licensing and usage restrictions.
|
||||
@ -28,17 +28,17 @@
|
||||
|
||||
/*
|
||||
|
||||
When the V53 operates in uPD71071 compatible mode there are the following
|
||||
differences from a real uPD71071
|
||||
When the V53 operates in uPD71071 compatible mode there are the following
|
||||
differences from a real uPD71071
|
||||
|
||||
V53 Real uPD71071
|
||||
Software Reqs No Yes
|
||||
Memory-to-Memory DMA No Yes
|
||||
DMARQ active level High programmable
|
||||
DMAAK active level Low programmable
|
||||
Bus Cycle 4 4 or 3
|
||||
V53 Real uPD71071
|
||||
Software Reqs No Yes
|
||||
Memory-to-Memory DMA No Yes
|
||||
DMARQ active level High programmable
|
||||
DMAAK active level Low programmable
|
||||
Bus Cycle 4 4 or 3
|
||||
|
||||
we don't currently handle the differences
|
||||
we don't currently handle the differences
|
||||
|
||||
*/
|
||||
|
||||
@ -1194,7 +1194,7 @@ WRITE8_MEMBER(upd71071_v53_device::write)
|
||||
// TODO: reset (bit 0)
|
||||
//m_buswidth = data & 0x02;
|
||||
//if (data & 0x01)
|
||||
// soft_reset();
|
||||
// soft_reset();
|
||||
logerror("DMA: Initialise [%02x]\n", data);
|
||||
break;
|
||||
case 0x01: // Channel
|
||||
|
@ -172,7 +172,7 @@ protected:
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
int m_selected_channel;
|
||||
int m_selected_channel;
|
||||
int m_base;
|
||||
UINT8 m_command_high;
|
||||
|
||||
|
@ -3,10 +3,10 @@
|
||||
i8251.c
|
||||
|
||||
Intel 8251 Universal Synchronous/Asynchronous Receiver Transmitter code
|
||||
NEC uPD71051 is a clone
|
||||
NEC uPD71051 is a clone
|
||||
|
||||
The V53/V53A use a customized version with only the Asynchronous mode
|
||||
and a split command / mode register
|
||||
The V53/V53A use a customized version with only the Asynchronous mode
|
||||
and a split command / mode register
|
||||
|
||||
|
||||
|
||||
@ -428,29 +428,29 @@ WRITE8_MEMBER(i8251_device::command_w)
|
||||
|
||||
|
||||
/* bit 7:
|
||||
0 = normal operation
|
||||
1 = hunt mode
|
||||
bit 6:
|
||||
0 = normal operation
|
||||
1 = internal reset
|
||||
bit 5:
|
||||
0 = /RTS set to 1
|
||||
1 = /RTS set to 0
|
||||
bit 4:
|
||||
0 = normal operation
|
||||
1 = reset error flag
|
||||
bit 3:
|
||||
0 = normal operation
|
||||
1 = send break character
|
||||
bit 2:
|
||||
0 = receive disable
|
||||
1 = receive enable
|
||||
bit 1:
|
||||
0 = /DTR set to 1
|
||||
1 = /DTR set to 0
|
||||
bit 0:
|
||||
0 = transmit disable
|
||||
1 = transmit enable
|
||||
0 = normal operation
|
||||
1 = hunt mode
|
||||
bit 6:
|
||||
0 = normal operation
|
||||
1 = internal reset
|
||||
bit 5:
|
||||
0 = /RTS set to 1
|
||||
1 = /RTS set to 0
|
||||
bit 4:
|
||||
0 = normal operation
|
||||
1 = reset error flag
|
||||
bit 3:
|
||||
0 = normal operation
|
||||
1 = send break character
|
||||
bit 2:
|
||||
0 = receive disable
|
||||
1 = receive enable
|
||||
bit 1:
|
||||
0 = /DTR set to 1
|
||||
1 = /DTR set to 0
|
||||
bit 0:
|
||||
0 = transmit disable
|
||||
1 = transmit enable
|
||||
*/
|
||||
|
||||
m_rts_handler(!BIT(data, 5));
|
||||
@ -484,28 +484,28 @@ WRITE8_MEMBER(i8251_device::mode_w)
|
||||
{
|
||||
/* Asynchronous
|
||||
|
||||
bit 7,6: stop bit length
|
||||
0 = inhibit
|
||||
1 = 1 bit
|
||||
2 = 1.5 bits
|
||||
3 = 2 bits
|
||||
bit 5: parity type
|
||||
0 = parity odd
|
||||
1 = parity even
|
||||
bit 4: parity test enable
|
||||
0 = disable
|
||||
1 = enable
|
||||
bit 3,2: character length
|
||||
0 = 5 bits
|
||||
1 = 6 bits
|
||||
2 = 7 bits
|
||||
3 = 8 bits
|
||||
bit 1,0: baud rate factor
|
||||
0 = defines command byte for synchronous or asynchronous
|
||||
1 = x1
|
||||
2 = x16
|
||||
3 = x64
|
||||
*/
|
||||
bit 7,6: stop bit length
|
||||
0 = inhibit
|
||||
1 = 1 bit
|
||||
2 = 1.5 bits
|
||||
3 = 2 bits
|
||||
bit 5: parity type
|
||||
0 = parity odd
|
||||
1 = parity even
|
||||
bit 4: parity test enable
|
||||
0 = disable
|
||||
1 = enable
|
||||
bit 3,2: character length
|
||||
0 = 5 bits
|
||||
1 = 6 bits
|
||||
2 = 7 bits
|
||||
3 = 8 bits
|
||||
bit 1,0: baud rate factor
|
||||
0 = defines command byte for synchronous or asynchronous
|
||||
1 = x1
|
||||
2 = x16
|
||||
3 = x64
|
||||
*/
|
||||
|
||||
LOG(("I8251: Asynchronous operation\n"));
|
||||
|
||||
@ -597,24 +597,24 @@ WRITE8_MEMBER(i8251_device::mode_w)
|
||||
else
|
||||
{
|
||||
/* bit 7: Number of sync characters
|
||||
0 = 1 character
|
||||
1 = 2 character
|
||||
bit 6: Synchronous mode
|
||||
0 = Internal synchronisation
|
||||
1 = External synchronisation
|
||||
bit 5: parity type
|
||||
0 = parity odd
|
||||
1 = parity even
|
||||
bit 4: parity test enable
|
||||
0 = disable
|
||||
1 = enable
|
||||
bit 3,2: character length
|
||||
0 = 5 bits
|
||||
1 = 6 bits
|
||||
2 = 7 bits
|
||||
3 = 8 bits
|
||||
bit 1,0 = 0
|
||||
*/
|
||||
0 = 1 character
|
||||
1 = 2 character
|
||||
bit 6: Synchronous mode
|
||||
0 = Internal synchronisation
|
||||
1 = External synchronisation
|
||||
bit 5: parity type
|
||||
0 = parity odd
|
||||
1 = parity even
|
||||
bit 4: parity test enable
|
||||
0 = disable
|
||||
1 = enable
|
||||
bit 3,2: character length
|
||||
0 = 5 bits
|
||||
1 = 6 bits
|
||||
2 = 7 bits
|
||||
3 = 8 bits
|
||||
bit 1,0 = 0
|
||||
*/
|
||||
LOG(("I8251: Synchronous operation\n"));
|
||||
|
||||
/* setup for sync byte(s) */
|
||||
|
@ -79,7 +79,7 @@ inline void i8257_device::dma_request(int channel, int state)
|
||||
}
|
||||
else
|
||||
{
|
||||
m_request &= ~(1 << channel);
|
||||
m_request &= ~(1 << channel);
|
||||
}
|
||||
trigger(1);
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
/*
|
||||
|
||||
am9517a.c is a more complete implementation of this, the uPD71071 appears to be a clone of it
|
||||
am9517a.c is a more complete implementation of this, the uPD71071 appears to be a clone of it
|
||||
|
||||
NEC uPD71071 DMA Controller
|
||||
Used on the Fujitsu FM-Towns
|
||||
@ -31,8 +31,8 @@
|
||||
Self-explanatory, I hope. :)
|
||||
NOTE: Datasheet clearly shows this as 24-bit, with register 7 unused.
|
||||
But the FM-Towns definitely uses reg 7 as bits 24-31.
|
||||
The documentation on the V53A manual doesn't show these bits either, maybe it's
|
||||
an external connection on the FMT? might be worth checking overflow behavior etc.
|
||||
The documentation on the V53A manual doesn't show these bits either, maybe it's
|
||||
an external connection on the FMT? might be worth checking overflow behavior etc.
|
||||
|
||||
0x08:
|
||||
0x09: Device Control register (16-bit)
|
||||
@ -78,7 +78,7 @@
|
||||
bit 0-3: DMARQ mask
|
||||
bits 1 and 0 only in MTM transfers
|
||||
|
||||
Note, the uPD71071 compatible mode of the V53 CPU differs from a real uPD71071 in the following ways
|
||||
Note, the uPD71071 compatible mode of the V53 CPU differs from a real uPD71071 in the following ways
|
||||
|
||||
|
||||
|
||||
|
@ -341,4 +341,3 @@ WRITE32_MEMBER(vrc4373_device::cpu_if_w)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -12,11 +12,11 @@
|
||||
#define VRC4373_PAGESHIFT 12
|
||||
|
||||
/* NILE 3 registers 0x000-0x0ff */
|
||||
#define NREG_BMCR (0x000/4)
|
||||
#define NREG_SIMM1 (0x004/4)
|
||||
#define NREG_SIMM2 (0x008/4)
|
||||
#define NREG_SIMM3 (0x00C/4)
|
||||
#define NREG_SIMM4 (0x010/4)
|
||||
#define NREG_BMCR (0x000/4)
|
||||
#define NREG_SIMM1 (0x004/4)
|
||||
#define NREG_SIMM2 (0x008/4)
|
||||
#define NREG_SIMM3 (0x00C/4)
|
||||
#define NREG_SIMM4 (0x010/4)
|
||||
#define NREG_PCIMW1 (0x014/4)
|
||||
#define NREG_PCIMW2 (0x018/4)
|
||||
#define NREG_PCITW1 (0x01C/4)
|
||||
|
@ -2494,13 +2494,13 @@ float render_manager::ui_aspect(render_container *rc)
|
||||
orient = orientation_add(m_ui_target->orientation(), m_ui_container->orientation());
|
||||
// based on the orientation of the target, compute height/width or width/height
|
||||
if (!(orient & ORIENTATION_SWAP_XY))
|
||||
aspect = (float)m_ui_target->height() / (float)m_ui_target->width();
|
||||
aspect = (float)m_ui_target->height() / (float)m_ui_target->width();
|
||||
else
|
||||
aspect = (float)m_ui_target->width() / (float)m_ui_target->height();
|
||||
aspect = (float)m_ui_target->width() / (float)m_ui_target->height();
|
||||
|
||||
// if we have a valid pixel aspect, apply that and return
|
||||
if (m_ui_target->pixel_aspect() != 0.0f)
|
||||
return (aspect / m_ui_target->pixel_aspect());
|
||||
return (aspect / m_ui_target->pixel_aspect());
|
||||
} else {
|
||||
// single screen container
|
||||
|
||||
|
@ -9,26 +9,26 @@
|
||||
MCFG_PCI_DEVICE_ADD(_tag, ES1373, 0x12741371, 0x04, 0x040100, 0x12741371)
|
||||
|
||||
/* Ensonic ES1373 registers 0x00-0x3f */
|
||||
#define ES_INT_CS_CTRL (0x00/4)
|
||||
#define ES_INT_CS_STATUS (0x04/4)
|
||||
#define ES_UART_DATA (0x08/4)
|
||||
#define ES_UART_STATUS (0x09/4)
|
||||
#define ES_UART_CTRL (0x09/4)
|
||||
#define ES_UART_RSVD (0x0A/4)
|
||||
#define ES_MEM_PAGE (0x0C/4)
|
||||
#define ES_SRC_IF (0x10/4)
|
||||
#define ES_CODEC (0x14/4)
|
||||
#define ES_LEGACY (0x18/4)
|
||||
#define ES_CHAN_CTRL (0x1C/4)
|
||||
#define ES_SERIAL_CTRL (0x20/4)
|
||||
#define ES_DAC1_CNT (0x24/4)
|
||||
#define ES_DAC2_CNT (0x28/4)
|
||||
#define ES_ADC_CNT (0x2C/4)
|
||||
#define ES_ADC_CNT (0x2C/4)
|
||||
#define ES_HOST_IF0 (0x30/4)
|
||||
#define ES_HOST_IF1 (0x34/4)
|
||||
#define ES_HOST_IF2 (0x38/4)
|
||||
#define ES_HOST_IF3 (0x3C/4)
|
||||
#define ES_INT_CS_CTRL (0x00/4)
|
||||
#define ES_INT_CS_STATUS (0x04/4)
|
||||
#define ES_UART_DATA (0x08/4)
|
||||
#define ES_UART_STATUS (0x09/4)
|
||||
#define ES_UART_CTRL (0x09/4)
|
||||
#define ES_UART_RSVD (0x0A/4)
|
||||
#define ES_MEM_PAGE (0x0C/4)
|
||||
#define ES_SRC_IF (0x10/4)
|
||||
#define ES_CODEC (0x14/4)
|
||||
#define ES_LEGACY (0x18/4)
|
||||
#define ES_CHAN_CTRL (0x1C/4)
|
||||
#define ES_SERIAL_CTRL (0x20/4)
|
||||
#define ES_DAC1_CNT (0x24/4)
|
||||
#define ES_DAC2_CNT (0x28/4)
|
||||
#define ES_ADC_CNT (0x2C/4)
|
||||
#define ES_ADC_CNT (0x2C/4)
|
||||
#define ES_HOST_IF0 (0x30/4)
|
||||
#define ES_HOST_IF1 (0x34/4)
|
||||
#define ES_HOST_IF2 (0x38/4)
|
||||
#define ES_HOST_IF3 (0x3C/4)
|
||||
|
||||
struct frame_reg {
|
||||
UINT32 pci_addr;
|
||||
|
@ -178,7 +178,7 @@ private:
|
||||
UINT32 m_avi_frame; // current movie frame number
|
||||
|
||||
// movie recording - dummy
|
||||
bool m_dummy_recording; // indicates if snapshot should be created of every frame
|
||||
bool m_dummy_recording; // indicates if snapshot should be created of every frame
|
||||
|
||||
static const UINT8 s_skiptable[FRAMESKIP_LEVELS][FRAMESKIP_LEVELS];
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include "flopimg.h"
|
||||
#include "imageutl.h"
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Created on: 24/06/2014
|
||||
*/
|
||||
|
||||
#include "emu.h" // logerror
|
||||
#include "emu.h" // logerror
|
||||
#include "flex_dsk.h"
|
||||
|
||||
flex_format::flex_format()
|
||||
|
@ -6,7 +6,7 @@
|
||||
* Created on: 23/03/2014
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include "formats/fmtowns_dsk.h"
|
||||
|
||||
|
@ -77,7 +77,7 @@
|
||||
|
||||
*********************************************************************/
|
||||
|
||||
#include <assert.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include "nfd_dsk.h"
|
||||
|
||||
|
@ -191,12 +191,12 @@ ADDRESS_MAP_END
|
||||
|
||||
WRITE16_MEMBER(hng64_state::hng64_sound_port_0008_w)
|
||||
{
|
||||
// logerror("hng64_sound_port_0008_w %04x %04x\n", data, mem_mask);
|
||||
// logerror("hng64_sound_port_0008_w %04x %04x\n", data, mem_mask);
|
||||
// seems to one or more of the DMARQ on the V53, writes here when it expects DMA channel 3 to transfer ~0x20 bytes just after startup
|
||||
|
||||
|
||||
m_audiocpu->dreq3_w(data&1);
|
||||
// m_audiocpu->hack_w(1);
|
||||
// m_audiocpu->hack_w(1);
|
||||
|
||||
}
|
||||
|
||||
@ -262,23 +262,23 @@ WRITE16_MEMBER(hng64_state::hng64_sound_data_02_w)
|
||||
{
|
||||
m_audiodat[m_audiochannel].dat[2] = data;
|
||||
|
||||
// if ((m_audiochannel & 0xff00) == 0x0a00)
|
||||
// printf("write port 0x0002 chansel %04x data %04x (%04x%04x%04x)\n", m_audiochannel, data, m_audiodat[m_audiochannel].dat[0], m_audiodat[m_audiochannel].dat[1], m_audiodat[m_audiochannel].dat[2]);
|
||||
// if ((m_audiochannel & 0xff00) == 0x0a00)
|
||||
// printf("write port 0x0002 chansel %04x data %04x (%04x%04x%04x)\n", m_audiochannel, data, m_audiodat[m_audiochannel].dat[0], m_audiodat[m_audiochannel].dat[1], m_audiodat[m_audiochannel].dat[2]);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(hng64_state::hng64_sound_data_04_w)
|
||||
{
|
||||
m_audiodat[m_audiochannel].dat[1] = data;
|
||||
|
||||
// if ((m_audiochannel & 0xff00) == 0x0a00)
|
||||
// printf("write port 0x0004 chansel %04x data %04x (%04x%04x%04x)\n", m_audiochannel, data, m_audiodat[m_audiochannel].dat[0], m_audiodat[m_audiochannel].dat[1], m_audiodat[m_audiochannel].dat[2]);
|
||||
// if ((m_audiochannel & 0xff00) == 0x0a00)
|
||||
// printf("write port 0x0004 chansel %04x data %04x (%04x%04x%04x)\n", m_audiochannel, data, m_audiodat[m_audiochannel].dat[0], m_audiodat[m_audiochannel].dat[1], m_audiodat[m_audiochannel].dat[2]);
|
||||
}
|
||||
WRITE16_MEMBER(hng64_state::hng64_sound_data_06_w)
|
||||
{
|
||||
m_audiodat[m_audiochannel].dat[0] = data;
|
||||
|
||||
// if ((m_audiochannel & 0xff00) == 0x0a00)
|
||||
// printf("write port 0x0006 chansel %04x data %04x (%04x%04x%04x)\n", m_audiochannel, data, m_audiodat[m_audiochannel].dat[0], m_audiodat[m_audiochannel].dat[1], m_audiodat[m_audiochannel].dat[2]);
|
||||
// if ((m_audiochannel & 0xff00) == 0x0a00)
|
||||
// printf("write port 0x0006 chansel %04x data %04x (%04x%04x%04x)\n", m_audiochannel, data, m_audiodat[m_audiochannel].dat[0], m_audiodat[m_audiochannel].dat[1], m_audiodat[m_audiochannel].dat[2]);
|
||||
}
|
||||
|
||||
// but why not just use the V33/V53 XA mode??
|
||||
@ -414,14 +414,14 @@ WRITE_LINE_MEMBER(hng64_state::tcu_tm0_cb)
|
||||
WRITE_LINE_MEMBER(hng64_state::tcu_tm1_cb)
|
||||
{
|
||||
// these are very active, maybe they feed back into the v53 via one of the IRQ pins? TM2 toggles more rapidly than TM1
|
||||
// logerror("tcu_tm1_cb %02x\n", state);
|
||||
// logerror("tcu_tm1_cb %02x\n", state);
|
||||
m_audiocpu->set_input_line(5, state? ASSERT_LINE:CLEAR_LINE); // not accurate, just so we have a trigger
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(hng64_state::tcu_tm2_cb)
|
||||
{
|
||||
// these are very active, maybe they feed back into the v53 via one of the IRQ pins? TM2 toggles more rapidly than TM1
|
||||
// logerror("tcu_tm2_cb %02x\n", state);
|
||||
// logerror("tcu_tm2_cb %02x\n", state);
|
||||
|
||||
// NOT ACCURATE, just so that all the interrupts get triggered for now.
|
||||
static int i = 0;
|
||||
@ -445,5 +445,3 @@ MACHINE_CONFIG_FRAGMENT( hng64_audio )
|
||||
MCFG_V53_TCU_OUT2_HANDLER(WRITELINE(hng64_state, tcu_tm2_cb))
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
@ -1159,130 +1159,130 @@ DRIVER_INIT_MEMBER(astrocorp_state,astoneag)
|
||||
for (i = 0x25100/2; i < 0x25200/2; i++)
|
||||
{
|
||||
x = 0x0000;
|
||||
if ( (i & 0x0001) ) x |= 0x0200;
|
||||
if ( (i & 0x0004) && !(i & 0x0001) ) x |= 0x0080;
|
||||
if ( (i & 0x0040) || (i & 0x0001) ) x |= 0x0040;
|
||||
if ( (i & 0x0010) && !(i & 0x0001) ) x |= 0x0020;
|
||||
if ( !(i & 0x0020) || (i & 0x0001) ) x |= 0x0010;
|
||||
if ( (i & 0x0002) || (i & 0x0001) ) x |= 0x0008;
|
||||
if ( (i & 0x0008) && !(i & 0x0001) ) x |= 0x0004;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0002;
|
||||
if ( (i & 0x0040) && !(i & 0x0001) ) x |= 0x0001;
|
||||
if ( (i & 0x0001) ) x |= 0x0200;
|
||||
if ( (i & 0x0004) && !(i & 0x0001) ) x |= 0x0080;
|
||||
if ( (i & 0x0040) || (i & 0x0001) ) x |= 0x0040;
|
||||
if ( (i & 0x0010) && !(i & 0x0001) ) x |= 0x0020;
|
||||
if ( !(i & 0x0020) || (i & 0x0001) ) x |= 0x0010;
|
||||
if ( (i & 0x0002) || (i & 0x0001) ) x |= 0x0008;
|
||||
if ( (i & 0x0008) && !(i & 0x0001) ) x |= 0x0004;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0002;
|
||||
if ( (i & 0x0040) && !(i & 0x0001) ) x |= 0x0001;
|
||||
rom[i] ^= x;
|
||||
}
|
||||
|
||||
/*
|
||||
for (i = 0x25300/2; i < 0x25400/2; i++)
|
||||
{
|
||||
x = 0x1300;
|
||||
rom[i] ^= x;
|
||||
}
|
||||
for (i = 0x25300/2; i < 0x25400/2; i++)
|
||||
{
|
||||
x = 0x1300;
|
||||
rom[i] ^= x;
|
||||
}
|
||||
*/
|
||||
|
||||
for (i = 0x25400/2; i < 0x25500/2; i++)
|
||||
{
|
||||
x = 0x4200;
|
||||
if ( (i & 0x0001) ) x |= 0x0400;
|
||||
if ( (i & 0x0020) && !(i & 0x0001) ) x |= 0x0080;
|
||||
if ( !(i & 0x0010) || (i & 0x0001) ) x |= 0x0040;
|
||||
if ( (i & 0x0040) && !(i & 0x0001) ) x |= 0x0020;
|
||||
if ( !(i & 0x0004) || (i & 0x0001) ) x |= 0x0010;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0004;
|
||||
if ( (i & 0x0008) && !(i & 0x0001) ) x |= 0x0002;
|
||||
if ( (i & 0x0002) || (i & 0x0001) ) x |= 0x0001;
|
||||
if ( (i & 0x0001) ) x |= 0x0400;
|
||||
if ( (i & 0x0020) && !(i & 0x0001) ) x |= 0x0080;
|
||||
if ( !(i & 0x0010) || (i & 0x0001) ) x |= 0x0040;
|
||||
if ( (i & 0x0040) && !(i & 0x0001) ) x |= 0x0020;
|
||||
if ( !(i & 0x0004) || (i & 0x0001) ) x |= 0x0010;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0004;
|
||||
if ( (i & 0x0008) && !(i & 0x0001) ) x |= 0x0002;
|
||||
if ( (i & 0x0002) || (i & 0x0001) ) x |= 0x0001;
|
||||
rom[i] ^= x;
|
||||
}
|
||||
|
||||
for (i = 0x25500/2; i < 0x25600/2; i++)
|
||||
{
|
||||
x = 0x4200;
|
||||
if ( (i & 0x0001) ) x |= 0x0400;
|
||||
if ( (i & 0x0010) && !(i & 0x0001) ) x |= 0x0080;
|
||||
if ( (i & 0x0040) && !(i & 0x0001) ) x |= 0x0040;
|
||||
if ( !(i & 0x0002) && !(i & 0x0001) ) x |= 0x0020;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0010;
|
||||
if ( (i & 0x0008) && !(i & 0x0001) ) x |= 0x0008;
|
||||
if ( (i & 0x0020) && !(i & 0x0001) ) x |= 0x0004;
|
||||
if ( (i & 0x0004) && !(i & 0x0001) ) x |= 0x0002;
|
||||
if ( (i & 0x0001) ) x |= 0x0001;
|
||||
if ( (i & 0x0001) ) x |= 0x0400;
|
||||
if ( (i & 0x0010) && !(i & 0x0001) ) x |= 0x0080;
|
||||
if ( (i & 0x0040) && !(i & 0x0001) ) x |= 0x0040;
|
||||
if ( !(i & 0x0002) && !(i & 0x0001) ) x |= 0x0020;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0010;
|
||||
if ( (i & 0x0008) && !(i & 0x0001) ) x |= 0x0008;
|
||||
if ( (i & 0x0020) && !(i & 0x0001) ) x |= 0x0004;
|
||||
if ( (i & 0x0004) && !(i & 0x0001) ) x |= 0x0002;
|
||||
if ( (i & 0x0001) ) x |= 0x0001;
|
||||
rom[i] ^= x;
|
||||
}
|
||||
|
||||
/*
|
||||
for (i = 0x25700/2; i < 0x25800/2; i++)
|
||||
{
|
||||
x = 0x6800;
|
||||
if ( !(i & 0x0001) ) x |= 0x8000;
|
||||
for (i = 0x25700/2; i < 0x25800/2; i++)
|
||||
{
|
||||
x = 0x6800;
|
||||
if ( !(i & 0x0001) ) x |= 0x8000;
|
||||
|
||||
if ( !(i & 0x0040) || ((i & 0x0001) || !(i & 0x0001)) ) x |= 0x0100;
|
||||
if ( !(i & 0x0040) || ((i & 0x0001) || !(i & 0x0001)) ) x |= 0x0100;
|
||||
|
||||
rom[i] ^= x;
|
||||
}
|
||||
rom[i] ^= x;
|
||||
}
|
||||
*/
|
||||
|
||||
for (i = 0x25800/2; i < 0x25900/2; i++)
|
||||
{
|
||||
x = 0x8300;
|
||||
if ( (i & 0x0040) || (i & 0x0001) ) x |= 0x2000;
|
||||
if ( (i & 0x0002) || (i & 0x0001) ) x |= 0x0080;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0040;
|
||||
if ( (i & 0x0020) && !(i & 0x0001) ) x |= 0x0020;
|
||||
if ( !(i & 0x0004) || (i & 0x0001) ) x |= 0x0010;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0008;
|
||||
if ( (i & 0x0010) && !(i & 0x0001) ) x |= 0x0004;
|
||||
if ( (i & 0x0008) && !(i & 0x0001) ) x |= 0x0002;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0001;
|
||||
if ( (i & 0x0040) || (i & 0x0001) ) x |= 0x2000;
|
||||
if ( (i & 0x0002) || (i & 0x0001) ) x |= 0x0080;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0040;
|
||||
if ( (i & 0x0020) && !(i & 0x0001) ) x |= 0x0020;
|
||||
if ( !(i & 0x0004) || (i & 0x0001) ) x |= 0x0010;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0008;
|
||||
if ( (i & 0x0010) && !(i & 0x0001) ) x |= 0x0004;
|
||||
if ( (i & 0x0008) && !(i & 0x0001) ) x |= 0x0002;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0001;
|
||||
rom[i] ^= x;
|
||||
}
|
||||
|
||||
// for (i = 0x25900/2; i < 0x25a00/2; i++)
|
||||
// for (i = 0x25900/2; i < 0x25a00/2; i++)
|
||||
|
||||
for (i = 0x25c00/2; i < 0x25d00/2; i++)
|
||||
{
|
||||
// changed from 25400
|
||||
// x = 0x4200;
|
||||
// x = 0x4200;
|
||||
x = 0x4000;
|
||||
// if ( (i & 0x0001) ) x |= 0x0400;
|
||||
if ( (i & 0x0020) && !(i & 0x0001) ) x |= 0x0080;
|
||||
if ( !(i & 0x0010) || (i & 0x0001) ) x |= 0x0040;
|
||||
if ( (i & 0x0040) && !(i & 0x0001) ) x |= 0x0020;
|
||||
if ( !(i & 0x0004) || (i & 0x0001) ) x |= 0x0010;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0004;
|
||||
if ( (i & 0x0008) && !(i & 0x0001) ) x |= 0x0002;
|
||||
if ( (i & 0x0002) || (i & 0x0001) ) x |= 0x0001;
|
||||
// if ( (i & 0x0001) ) x |= 0x0400;
|
||||
if ( (i & 0x0020) && !(i & 0x0001) ) x |= 0x0080;
|
||||
if ( !(i & 0x0010) || (i & 0x0001) ) x |= 0x0040;
|
||||
if ( (i & 0x0040) && !(i & 0x0001) ) x |= 0x0020;
|
||||
if ( !(i & 0x0004) || (i & 0x0001) ) x |= 0x0010;
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0004;
|
||||
if ( (i & 0x0008) && !(i & 0x0001) ) x |= 0x0002;
|
||||
if ( (i & 0x0002) || (i & 0x0001) ) x |= 0x0001;
|
||||
rom[i] ^= x;
|
||||
}
|
||||
|
||||
/*
|
||||
for (i = 0x25d00/2; i < 0x25e00/2; i++)
|
||||
{
|
||||
x = 0x4000;
|
||||
if ( !(i & 0x0040) ) x |= 0x0800;
|
||||
for (i = 0x25d00/2; i < 0x25e00/2; i++)
|
||||
{
|
||||
x = 0x4000;
|
||||
if ( !(i & 0x0040) ) x |= 0x0800;
|
||||
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0100; // almost!!
|
||||
if ( !(i & 0x0040) && !(i & 0x0001) ) x |= 0x0100; // almost!!
|
||||
|
||||
if ( ((i & 0x0040)&&((i & 0x0020)||(i & 0x0010))) || !(i & 0x0001) ) x |= 0x0200; // almost!!
|
||||
if ( (!(i & 0x0040) || !(i & 0x0008)) && !(i & 0x0001) ) x |= 0x0008;
|
||||
if ( (i & 0x0040) || !(i & 0x0020) || (i & 0x0001) ) x |= 0x0001; // almost!!
|
||||
rom[i] ^= x;
|
||||
}
|
||||
if ( ((i & 0x0040)&&((i & 0x0020)||(i & 0x0010))) || !(i & 0x0001) ) x |= 0x0200; // almost!!
|
||||
if ( (!(i & 0x0040) || !(i & 0x0008)) && !(i & 0x0001) ) x |= 0x0008;
|
||||
if ( (i & 0x0040) || !(i & 0x0020) || (i & 0x0001) ) x |= 0x0001; // almost!!
|
||||
rom[i] ^= x;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
for (i = 0x25e00/2; i < 0x25f00/2; i++)
|
||||
{
|
||||
x = 0xa600;
|
||||
for (i = 0x25e00/2; i < 0x25f00/2; i++)
|
||||
{
|
||||
x = 0xa600;
|
||||
|
||||
if ( (i & 0x0040) && (i & 0x0001) ) x |= 0x4000;
|
||||
if ( (i & 0x0040) && (i & 0x0001) ) x |= 0x0800;
|
||||
if ( !(i & 0x0001) ) x |= 0x0100;
|
||||
if ( (i & 0x0040) && (i & 0x0001) ) x |= 0x4000;
|
||||
if ( (i & 0x0040) && (i & 0x0001) ) x |= 0x0800;
|
||||
if ( !(i & 0x0001) ) x |= 0x0100;
|
||||
|
||||
if ( ( (i & 0x0040) && (i & 0x0008) && !(i & 0x0001)) ||
|
||||
( !(i & 0x0040) && ((i & 0x0004) ^ (i & 0x0002)) && !(i & 0x0001) ) ) x |= 0x0002; // almost!!
|
||||
if ( ( (i & 0x0040) && (i & 0x0008) && !(i & 0x0001)) ||
|
||||
( !(i & 0x0040) && ((i & 0x0004) ^ (i & 0x0002)) && !(i & 0x0001) ) ) x |= 0x0002; // almost!!
|
||||
|
||||
if ( !(i & 0x0040) || !(i & 0x0002) || (i & 0x0001) ) x |= 0x0001;
|
||||
rom[i] ^= x;
|
||||
}
|
||||
if ( !(i & 0x0040) || !(i & 0x0002) || (i & 0x0001) ) x |= 0x0001;
|
||||
rom[i] ^= x;
|
||||
}
|
||||
*/
|
||||
|
||||
for (i = 0x26f00/2; i < 0x27000/2; i++)
|
||||
|
@ -1564,14 +1564,14 @@ static ADDRESS_MAP_START( cdracula_io_map, AS_IO, 8, dynax_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE( 0x01, 0x07 ) AM_WRITE(cdracula_blitter_rev2_w) // Blitter + Destination Layers
|
||||
AM_RANGE( 0x10, 0x10 ) AM_DEVREADWRITE("oki", okim6295_device, read, write)
|
||||
AM_RANGE( 0x11, 0x11 ) AM_NOP // unpopulated oki
|
||||
AM_RANGE( 0x11, 0x11 ) AM_NOP // unpopulated oki
|
||||
// AM_RANGE( 0x12, 0x12 ) AM_WRITENOP // CRT Controller
|
||||
// AM_RANGE( 0x13, 0x13 ) AM_WRITENOP // CRT Controller
|
||||
AM_RANGE( 0x20, 0x20 ) AM_READ_PORT("P1") // P1
|
||||
AM_RANGE( 0x21, 0x21 ) AM_READ_PORT("P2") // P2
|
||||
AM_RANGE( 0x22, 0x22 ) AM_READ_PORT("COINS") // Coins
|
||||
AM_RANGE( 0x30, 0x30 ) AM_WRITE(dynax_layer_enable_w) // Layers Enable
|
||||
// AM_RANGE( 0x31, 0x31 ) AM_WRITE(dynax_rombank_w) // BANK ROM Select
|
||||
// AM_RANGE( 0x31, 0x31 ) AM_WRITE(dynax_rombank_w) // BANK ROM Select
|
||||
AM_RANGE( 0x32, 0x32 ) AM_WRITE(dynax_blit_pen_w) // Destination Pen
|
||||
AM_RANGE( 0x33, 0x33 ) AM_WRITE(dynax_blit_flags_w) // Flags + Do Blit
|
||||
AM_RANGE( 0x34, 0x34 ) AM_WRITE(dynax_blit_palette01_w) // Layers Palettes (Low Bits)
|
||||
@ -2042,7 +2042,7 @@ static INPUT_PORTS_START( cdracula )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("DSW1") // port $61 -> c217
|
||||
PORT_START("DSW1") // port $61 -> c217
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) ) PORT_DIPLOCATION( "SW1:1,2" )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Easy ) ) // 44
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Normal ) ) // 47
|
||||
@ -2064,7 +2064,7 @@ static INPUT_PORTS_START( cdracula )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_SERVICE( 0x80, IP_ACTIVE_LOW ) PORT_DIPLOCATION( "SW1:8" )
|
||||
|
||||
PORT_START("DSW2") // port $60 -> c216
|
||||
PORT_START("DSW2") // port $60 -> c216
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) PORT_DIPLOCATION( "SW2:1,2" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
|
||||
@ -3190,7 +3190,7 @@ static INPUT_PORTS_START( jantouki )
|
||||
PORT_DIPSETTING( 0x00, "12:00" )
|
||||
PORT_DIPNAME( 0x08, 0x00, "Nudity" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( No ) ) // Moles On Gal's Face
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( No ) ) // Moles On Gal's Face
|
||||
PORT_DIPNAME( 0x10, 0x10, "Buy Screen Bonus Points" ) /* Sets your points to 100 every time you arrive at the screen for buying special items. */
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
@ -3363,7 +3363,7 @@ static INPUT_PORTS_START( mjembase )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, "Nudity" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( No ) ) // Moles On Gal's Face
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( No ) ) // Moles On Gal's Face
|
||||
|
||||
PORT_START("FAKE") /* IN10 - Fake DSW */
|
||||
PORT_DIPNAME( 0xff, 0xff, "Allow Bets" )
|
||||
@ -3500,7 +3500,7 @@ static INPUT_PORTS_START( mjelct3 )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, "Nudity" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( No ) ) // Moles On Gal's Face
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( No ) ) // Moles On Gal's Face
|
||||
|
||||
PORT_START("FAKE") /* IN10 - Fake DSW */
|
||||
PORT_DIPNAME( 0xff, 0xff, "Allow Bets" )
|
||||
@ -4354,7 +4354,7 @@ static MACHINE_CONFIG_START( cdracula, dynax_state )
|
||||
MCFG_MACHINE_START_OVERRIDE(dynax_state,dynax)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
|
||||
|
||||
// MCFG_NVRAM_ADD_0FILL("nvram") // no battery
|
||||
// MCFG_NVRAM_ADD_0FILL("nvram") // no battery
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -2993,7 +2993,7 @@ static INPUT_PORTS_START( ns8linew )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_6C ) ) // manual says 1c/8c
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_6C ) ) // manual says 1c/8c
|
||||
PORT_DIPSETTING( 0x28, "1 Coin/10 Credits" )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") /* not checked */
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
@ -3375,12 +3375,12 @@ static INPUT_PORTS_START( bingowng )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
/* On a W-4 PCB these are used as: "Special Odds-Prohibition Of Winning...(Odds B)" - see DSW2-7
|
||||
PORT_DIPNAME( 0x80, 0x00, "Special Odds" ) PORT_DIPLOCATION("DSW1:7,8")
|
||||
PORT_DIPSETTING( 0x00, "None" )
|
||||
PORT_DIPSETTING( 0x40, "x300 (x1000)" )
|
||||
PORT_DIPSETTING( 0x80, "x500 (x5000" )
|
||||
PORT_DIPSETTING( 0xc0, "x1000 (x10000)
|
||||
/* On a W-4 PCB these are used as: "Special Odds-Prohibition Of Winning...(Odds B)" - see DSW2-7
|
||||
PORT_DIPNAME( 0x80, 0x00, "Special Odds" ) PORT_DIPLOCATION("DSW1:7,8")
|
||||
PORT_DIPSETTING( 0x00, "None" )
|
||||
PORT_DIPSETTING( 0x40, "x300 (x1000)" )
|
||||
PORT_DIPSETTING( 0x80, "x500 (x5000" )
|
||||
PORT_DIPSETTING( 0xc0, "x1000 (x10000)
|
||||
*/
|
||||
|
||||
PORT_START("DSW2")
|
||||
@ -3406,13 +3406,13 @@ static INPUT_PORTS_START( bingowng )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
/* On a W-4 PCB these are used as:
|
||||
PORT_DIPNAME( 0x40, 0x40, "Odds" ) PORT_DIPLOCATION("DSW2:7")
|
||||
PORT_DIPSETTING( 0x40, "Type A" )
|
||||
PORT_DIPSETTING( 0x00, "Type B" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Type Of W-Up Game" ) PORT_DIPLOCATION("DSW2:8")
|
||||
PORT_DIPSETTING( 0x80, "Slots" )
|
||||
PORT_DIPSETTING( 0x00, "Big/Small Card" )
|
||||
/* On a W-4 PCB these are used as:
|
||||
PORT_DIPNAME( 0x40, 0x40, "Odds" ) PORT_DIPLOCATION("DSW2:7")
|
||||
PORT_DIPSETTING( 0x40, "Type A" )
|
||||
PORT_DIPSETTING( 0x00, "Type B" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Type Of W-Up Game" ) PORT_DIPLOCATION("DSW2:8")
|
||||
PORT_DIPSETTING( 0x80, "Slots" )
|
||||
PORT_DIPSETTING( 0x00, "Big/Small Card" )
|
||||
*/
|
||||
|
||||
/* On a W-4 PCB DSW3 & DSW4 are reversed and all dips on DSW4 are set to off! */
|
||||
@ -3672,7 +3672,7 @@ static INPUT_PORTS_START( schery97 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") // doesn't work in v352c4
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") // doesn't work in v352c4
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x07, 0x03, "Game Level (Difficulty)" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */
|
||||
@ -4338,11 +4338,11 @@ static INPUT_PORTS_START( roypok96a )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, "Reset Remaining Score To Zero" ) PORT_DIPLOCATION("DSW5:7")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, "Count Game To Issue Ticket" ) PORT_DIPLOCATION("DSW5:8")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -4472,7 +4472,7 @@ static INPUT_PORTS_START( pokonl97 )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Auto Ticket Dispense" ) PORT_DIPLOCATION("DSW4:5") /* not checked */
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Yes ) )
|
||||
PORT_DIPNAME( 0xe0, 0xe0, "Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW4:6,7,8")
|
||||
PORT_DIPNAME( 0xe0, 0xe0, "Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW4:6,7,8")
|
||||
PORT_DIPSETTING( 0xe0, "Continuous" )
|
||||
PORT_DIPSETTING( 0xc0, "Max 1 Ticket Per Game" )
|
||||
PORT_DIPSETTING( 0xa0, "Max 2 Ticket Per Game" )
|
||||
|
@ -918,7 +918,7 @@ WRITE32_MEMBER(hng64_state::hng64_sprite_clear_odd_w)
|
||||
|
||||
WRITE32_MEMBER(hng64_state::hng64_vregs_w)
|
||||
{
|
||||
// printf("hng64_vregs_w %02x, %08x %08x\n", offset * 4, data, mem_mask);
|
||||
// printf("hng64_vregs_w %02x, %08x %08x\n", offset * 4, data, mem_mask);
|
||||
COMBINE_DATA(&m_videoregs[offset]);
|
||||
}
|
||||
|
||||
@ -1569,8 +1569,7 @@ MACHINE_CONFIG_END
|
||||
ROM_REGION( 0x0100000, "user2", 0 ) /* KL5C80 BIOS */ \
|
||||
ROM_LOAD ( "from1.bin", 0x000000, 0x080000, CRC(6b933005) SHA1(e992747f46c48b66e5509fe0adf19c91250b00c7) ) \
|
||||
ROM_REGION( 0x0100000, "fpga", 0 ) /* FPGA data */ \
|
||||
ROM_LOAD ( "rom1.bin", 0x000000, 0x01ff32, CRC(4a6832dc) SHA1(ae504f7733c2f40450157cd1d3b85bc83fac8569) ) \
|
||||
|
||||
ROM_LOAD ( "rom1.bin", 0x000000, 0x01ff32, CRC(4a6832dc) SHA1(ae504f7733c2f40450157cd1d3b85bc83fac8569) )
|
||||
|
||||
ROM_START( hng64 )
|
||||
/* BIOS */
|
||||
|
@ -238,9 +238,9 @@
|
||||
. NEO-AEG CHA42G-3
|
||||
. NEO-AEG CHA42G-4
|
||||
. NEO-AEG CHA256
|
||||
. NEO-AEG CHA256 B
|
||||
. NEO-AEG CHA256 B
|
||||
. NEO-AEG CHA256[B]
|
||||
. NEO-AEG CHA256BY
|
||||
. NEO-AEG CHA256BY
|
||||
. NEO-AEG CHA256RY
|
||||
. NEO-AEG CHA512Y
|
||||
. NEO-AEG CHAFIO (1999.8.10) - used with NEO-CMC 90G06C7042 or NEO-CMC 90G06C7050
|
||||
@ -263,7 +263,7 @@
|
||||
. NEO-AEG PROG4096 B
|
||||
. NEO-AEG PROGGS
|
||||
. NEO-AEG PROGTOP2
|
||||
. NEO-AEG PROGTOP2Y
|
||||
. NEO-AEG PROGTOP2Y
|
||||
. NEO-AEG PROGEOP (1999.4.2)
|
||||
. NEO-AEG PROGLBA (1999.7.6)
|
||||
. NEO-AEG PROGRK
|
||||
@ -311,13 +311,13 @@
|
||||
GIGA PROG Board 1.5
|
||||
|
||||
|
||||
Unofficial pcb's from NEOBITZ:
|
||||
Unofficial pcb's from NEOBITZ:
|
||||
|
||||
MVS CHA:
|
||||
CHARBITZ1 2013.12.01
|
||||
MVS CHA:
|
||||
CHARBITZ1 2013.12.01
|
||||
|
||||
MVS PROG:
|
||||
PROGBITZ1 2013.12.01
|
||||
MVS PROG:
|
||||
PROGBITZ1 2013.12.01
|
||||
|
||||
|
||||
Neo-Geo game PCB infos by Johnboy
|
||||
|
@ -2965,7 +2965,7 @@ ROM_END
|
||||
BANK 3 NOT USED
|
||||
****************************************/
|
||||
|
||||
ROM_START( b2b )
|
||||
ROM_START( b2b )
|
||||
ROM_REGION( 0x100000, "maincpu", 0 )
|
||||
ROM_LOAD16_WORD_SWAP( "071.p1", 0x000000, 0x080000, CRC(7687197d) SHA1(4bb9cb7819807f7a7e1f85f1c4faac4a2f8761e8) )
|
||||
|
||||
|
@ -1375,7 +1375,7 @@ static MACHINE_CONFIG_START( hrdtimes, playmark_state )
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", playmark_state, irq6_line_hold)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", PIC16C57, XTAL_24MHz/2) /* verified on pcb */
|
||||
// MCFG_PIC16C5x_WRITE_A_CB(WRITE8(playmark_state, playmark_oki_banking_w)) // Banking data output but not wired. Port C is wired to the OKI banking instead
|
||||
// MCFG_PIC16C5x_WRITE_A_CB(WRITE8(playmark_state, playmark_oki_banking_w)) // Banking data output but not wired. Port C is wired to the OKI banking instead
|
||||
MCFG_PIC16C5x_READ_B_CB(READ8(playmark_state, playmark_snd_command_r))
|
||||
MCFG_PIC16C5x_WRITE_B_CB(WRITE8(playmark_state, playmark_oki_w))
|
||||
MCFG_PIC16C5x_READ_C_CB(READ8(playmark_state, playmark_snd_flag_r))
|
||||
@ -1416,7 +1416,7 @@ static MACHINE_CONFIG_START( hotmind, playmark_state )
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", playmark_state, irq6_line_hold) // irq 2 and 6 point to the same location on hotmind
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", PIC16C57, XTAL_24MHz/2) /* verified on pcb */
|
||||
// MCFG_PIC16C5x_WRITE_A_CB(WRITE8(playmark_state, playmark_oki_banking_w)) // Banking data output but not wired. Port C is wired to the OKI banking instead
|
||||
// MCFG_PIC16C5x_WRITE_A_CB(WRITE8(playmark_state, playmark_oki_banking_w)) // Banking data output but not wired. Port C is wired to the OKI banking instead
|
||||
MCFG_PIC16C5x_READ_B_CB(READ8(playmark_state, playmark_snd_command_r))
|
||||
MCFG_PIC16C5x_WRITE_B_CB(WRITE8(playmark_state, playmark_oki_w))
|
||||
MCFG_PIC16C5x_READ_C_CB(READ8(playmark_state, playmark_snd_flag_r))
|
||||
@ -1462,7 +1462,7 @@ static MACHINE_CONFIG_START( luckboomh, playmark_state )
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", playmark_state, irq6_line_hold)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", PIC16C57, XTAL_24MHz/2) /* verified on pcb */
|
||||
// MCFG_PIC16C5x_WRITE_A_CB(WRITE8(playmark_state, playmark_oki_banking_w)) // Banking data output but not wired. Port C is wired to the OKI banking instead
|
||||
// MCFG_PIC16C5x_WRITE_A_CB(WRITE8(playmark_state, playmark_oki_banking_w)) // Banking data output but not wired. Port C is wired to the OKI banking instead
|
||||
MCFG_PIC16C5x_READ_B_CB(READ8(playmark_state, playmark_snd_command_r))
|
||||
MCFG_PIC16C5x_WRITE_B_CB(WRITE8(playmark_state, playmark_oki_w))
|
||||
MCFG_PIC16C5x_READ_C_CB(READ8(playmark_state, playmark_snd_flag_r))
|
||||
|
@ -1253,4 +1253,3 @@ GAME( 1981, hustlerb4, hustler, hustlerb4, hustler, driver_device, 0,
|
||||
|
||||
GAME( 1982, mimonkey, 0, mimonkey, mimonkey, scramble_state, mimonkey, ROT90, "Universal Video Games", "Mighty Monkey", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, mimonsco, mimonkey, mimonkey, mimonsco, scramble_state, mimonsco, ROT90, "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", GAME_SUPPORTS_SAVE )
|
||||
|
||||
|
@ -43,12 +43,12 @@ Notes:
|
||||
|
||||
void sidearms_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x8000, 0x4000);
|
||||
membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x8000, 0x4000);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(sidearms_state::bankswitch_w)
|
||||
{
|
||||
membank("bank1")->set_entry(data & 0x07);
|
||||
membank("bank1")->set_entry(data & 0x07);
|
||||
}
|
||||
|
||||
|
||||
@ -119,7 +119,7 @@ ADDRESS_MAP_END
|
||||
|
||||
WRITE8_MEMBER(sidearms_state::whizz_bankswitch_w)
|
||||
{
|
||||
int bank = 0;
|
||||
int bank = 0;
|
||||
switch (data & 0xC0)
|
||||
{
|
||||
case 0x00 : bank = 0; break;
|
||||
@ -127,7 +127,7 @@ WRITE8_MEMBER(sidearms_state::whizz_bankswitch_w)
|
||||
case 0x80 : bank = 1; break;
|
||||
case 0xC0 : bank = 3; break;
|
||||
}
|
||||
membank("bank1")->set_entry(bank);
|
||||
membank("bank1")->set_entry(bank);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( whizz_map, AS_PROGRAM, 8, sidearms_state )
|
||||
|
@ -33,7 +33,7 @@ Dips verified for Neratte Chu (nratechu) from manual
|
||||
|
||||
void st0016_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 256, memregion("maincpu")->base(), 0x4000);
|
||||
membank("bank1")->configure_entries(0, 256, memregion("maincpu")->base(), 0x4000);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( st0016_mem, AS_PROGRAM, 8, st0016_state )
|
||||
@ -81,8 +81,8 @@ WRITE8_MEMBER(st0016_state::mux_select_w)
|
||||
|
||||
WRITE8_MEMBER(st0016_state::st0016_rom_bank_w)
|
||||
{
|
||||
membank("bank1")->set_entry(data);
|
||||
// st0016_rom_bank = data;
|
||||
membank("bank1")->set_entry(data);
|
||||
// st0016_rom_bank = data;
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( st0016_io, AS_IO, 8, st0016_state )
|
||||
|
@ -72,7 +72,7 @@ public:
|
||||
DECLARE_READ8_MEMBER(subcpu_status_r);
|
||||
DECLARE_WRITE8_MEMBER(msm_cfg_w);
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
TIMER_CALLBACK_MEMBER(subcpu_suspend);
|
||||
TIMER_CALLBACK_MEMBER(subcpu_resume);
|
||||
@ -101,7 +101,7 @@ public:
|
||||
|
||||
void sothello_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 4, memregion("maincpu")->base() + 0x8000, 0x4000);
|
||||
membank("bank1")->configure_entries(0, 4, memregion("maincpu")->base() + 0x8000, 0x4000);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(sothello_state::bank_w)
|
||||
@ -114,7 +114,7 @@ WRITE8_MEMBER(sothello_state::bank_w)
|
||||
case 4: bank=2; break;
|
||||
case 8: bank=3; break;
|
||||
}
|
||||
membank("bank1")->set_entry(bank);
|
||||
membank("bank1")->set_entry(bank);
|
||||
}
|
||||
|
||||
TIMER_CALLBACK_MEMBER(sothello_state::subcpu_suspend)
|
||||
|
@ -134,7 +134,7 @@ public:
|
||||
DECLARE_READ32_MEMBER(irq_ack_clear);
|
||||
DECLARE_DRIVER_INIT(speglsht);
|
||||
DECLARE_MACHINE_RESET(speglsht);
|
||||
virtual void machine_start();
|
||||
virtual void machine_start();
|
||||
DECLARE_VIDEO_START(speglsht);
|
||||
UINT32 screen_update_speglsht(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
required_device<palette_device> m_palette;
|
||||
@ -160,13 +160,13 @@ ADDRESS_MAP_END
|
||||
|
||||
void speglsht_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 256, memregion("maincpu")->base(), 0x4000);
|
||||
membank("bank1")->configure_entries(0, 256, memregion("maincpu")->base(), 0x4000);
|
||||
}
|
||||
|
||||
// common rombank? should go in machine/st0016 with larger address space exposed?
|
||||
WRITE8_MEMBER(speglsht_state::st0016_rom_bank_w)
|
||||
{
|
||||
membank("bank1")->set_entry(data);
|
||||
membank("bank1")->set_entry(data);
|
||||
}
|
||||
|
||||
|
||||
|
@ -108,7 +108,7 @@ MACHINE_START_MEMBER(srmp2_state,srmp3)
|
||||
m_iox.protcheck[2] = 0x1c; m_iox.protlatch[2] = 0x04;
|
||||
m_iox.protcheck[3] = 0x45; m_iox.protlatch[3] = 0x00;
|
||||
|
||||
membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base(), 0x2000);
|
||||
membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base(), 0x2000);
|
||||
|
||||
save_item(NAME(m_gfx_bank));
|
||||
}
|
||||
@ -125,7 +125,7 @@ MACHINE_START_MEMBER(srmp2_state,rmgoldyh)
|
||||
m_iox.protcheck[2] = -1; m_iox.protlatch[2] = -1;
|
||||
m_iox.protcheck[3] = -1; m_iox.protlatch[3] = -1;
|
||||
|
||||
membank("bank1")->configure_entries(0, 32, memregion("maincpu")->base(), 0x2000);
|
||||
membank("bank1")->configure_entries(0, 32, memregion("maincpu")->base(), 0x2000);
|
||||
|
||||
save_item(NAME(m_gfx_bank));
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ public:
|
||||
DECLARE_READ8_MEMBER(cmd1_r);
|
||||
DECLARE_READ8_MEMBER(cmd2_r);
|
||||
DECLARE_READ8_MEMBER(cmd_stat8_r);
|
||||
virtual void machine_start();
|
||||
virtual void machine_start();
|
||||
DECLARE_DRIVER_INIT(srmp5);
|
||||
UINT32 screen_update_srmp5(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
@ -240,7 +240,7 @@ UINT32 srmp5_state::screen_update_srmp5(screen_device &screen, bitmap_rgb32 &bit
|
||||
|
||||
void srmp5_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 256, memregion("maincpu")->base(), 0x4000);
|
||||
membank("bank1")->configure_entries(0, 256, memregion("maincpu")->base(), 0x4000);
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(srmp5_state::bank_w)
|
||||
@ -400,7 +400,7 @@ READ8_MEMBER(srmp5_state::cmd_stat8_r)
|
||||
// common rombank? should go in machine/st0016 with larger address space exposed?
|
||||
WRITE8_MEMBER(srmp5_state::st0016_rom_bank_w)
|
||||
{
|
||||
membank("bank1")->set_entry(data);
|
||||
membank("bank1")->set_entry(data);
|
||||
}
|
||||
|
||||
|
||||
|
@ -107,7 +107,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(paletteram_w);
|
||||
DECLARE_READ16_MEMBER(srmp6_irq_ack_r);
|
||||
DECLARE_DRIVER_INIT(INIT);
|
||||
virtual void machine_start();
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
UINT32 screen_update_srmp6(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
void update_palette();
|
||||
@ -309,7 +309,7 @@ UINT32 srmp6_state::screen_update_srmp6(screen_device &screen, bitmap_rgb32 &bit
|
||||
|
||||
void srmp6_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 16, memregion("nile")->base(), 0x200000);
|
||||
membank("bank1")->configure_entries(0, 16, memregion("nile")->base(), 0x200000);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(srmp6_state::srmp6_input_select_w)
|
||||
@ -340,8 +340,8 @@ WRITE16_MEMBER(srmp6_state::video_regs_w)
|
||||
{
|
||||
case 0x5e/2: // bank switch, used by ROM check
|
||||
{
|
||||
LOG(("%x\n",data));
|
||||
membank("bank1")->set_entry(data & 0x0f);
|
||||
LOG(("%x\n",data));
|
||||
membank("bank1")->set_entry(data & 0x0f);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -32,25 +32,25 @@ WRITE8_MEMBER(srumbler_state::bankswitch_w)
|
||||
|
||||
for (int i = 0x05;i < 0x10;i++)
|
||||
{
|
||||
/* bit 2 of prom1 selects ROM or RAM - not supported */
|
||||
/* bit 2 of prom1 selects ROM or RAM - not supported */
|
||||
int bank = ((prom1[i] & 0x03) << 4) | (prom2[i] & 0x0f);
|
||||
|
||||
char bankname[10];
|
||||
char bankname[10];
|
||||
sprintf(bankname, "%04x", i*0x1000);
|
||||
membank(bankname)->set_entry(bank);
|
||||
membank(bankname)->set_entry(bank);
|
||||
}
|
||||
}
|
||||
|
||||
void srumbler_state::machine_start()
|
||||
{
|
||||
for (int i = 0x05; i < 0x10; i++)
|
||||
for (int i = 0x05; i < 0x10; i++)
|
||||
{
|
||||
char bankname[10];
|
||||
char bankname[10];
|
||||
sprintf(bankname, "%04x", i*0x1000);
|
||||
membank(bankname)->configure_entries(0, 64, memregion("user1")->base(), 0x1000);
|
||||
membank(bankname)->configure_entries(0, 64, memregion("user1")->base(), 0x1000);
|
||||
}
|
||||
|
||||
/* initialize banked ROM pointers */
|
||||
/* initialize banked ROM pointers */
|
||||
bankswitch_w(m_maincpu->space(AS_PROGRAM), 0, 0);
|
||||
}
|
||||
|
||||
|
@ -215,7 +215,7 @@ ADDRESS_MAP_END
|
||||
|
||||
MACHINE_START_MEMBER(suna16_state,bestbest)
|
||||
{
|
||||
save_item(NAME(m_prot));
|
||||
save_item(NAME(m_prot));
|
||||
}
|
||||
|
||||
|
||||
@ -294,8 +294,8 @@ ADDRESS_MAP_END
|
||||
|
||||
MACHINE_START_MEMBER(suna16_state, bssoccer)
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 8, memregion("pcm1")->base() + 0x1000, 0x10000);
|
||||
membank("bank2")->configure_entries(0, 8, memregion("pcm2")->base() + 0x1000, 0x10000);
|
||||
membank("bank1")->configure_entries(0, 8, memregion("pcm1")->base() + 0x1000, 0x10000);
|
||||
membank("bank2")->configure_entries(0, 8, memregion("pcm2")->base() + 0x1000, 0x10000);
|
||||
}
|
||||
|
||||
/* Bank Switching */
|
||||
@ -304,16 +304,16 @@ WRITE8_MEMBER(suna16_state::bssoccer_pcm_1_bankswitch_w)
|
||||
{
|
||||
const int bank = data & 7;
|
||||
if (bank & ~7) logerror("CPU#2 PC %06X - ROM bank unknown bits: %02X\n", space.device().safe_pc(), data);
|
||||
printf("%d %d\n", 1, bank);
|
||||
membank("bank1")->set_entry(bank);
|
||||
printf("%d %d\n", 1, bank);
|
||||
membank("bank1")->set_entry(bank);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(suna16_state::bssoccer_pcm_2_bankswitch_w)
|
||||
{
|
||||
const int bank = data & 7;
|
||||
if (bank & ~7) logerror("CPU#3 PC %06X - ROM bank unknown bits: %02X\n", space.device().safe_pc(), data);
|
||||
printf("%d %d\n", 2, bank);
|
||||
membank("bank2")->set_entry(bank);
|
||||
printf("%d %d\n", 2, bank);
|
||||
membank("bank2")->set_entry(bank);
|
||||
}
|
||||
|
||||
|
||||
@ -378,7 +378,7 @@ WRITE8_MEMBER(suna16_state::uballoon_pcm_1_bankswitch_w)
|
||||
{
|
||||
const int bank = data & 1;
|
||||
if (bank & ~1) logerror("CPU#2 PC %06X - ROM bank unknown bits: %02X\n", space.device().safe_pc(), data);
|
||||
membank("bank1")->set_entry(bank);
|
||||
membank("bank1")->set_entry(bank);
|
||||
}
|
||||
|
||||
/* Memory maps: Yes, *no* RAM */
|
||||
@ -398,7 +398,7 @@ ADDRESS_MAP_END
|
||||
|
||||
MACHINE_START_MEMBER(suna16_state,uballoon)
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 2, memregion("pcm1")->base() + 0x400, 0x10000);
|
||||
membank("bank1")->configure_entries(0, 2, memregion("pcm1")->base() + 0x400, 0x10000);
|
||||
|
||||
save_item(NAME(m_prot));
|
||||
}
|
||||
@ -828,7 +828,7 @@ static MACHINE_CONFIG_START( bssoccer, suna16_state )
|
||||
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(suna16_state,bssoccer)
|
||||
MCFG_MACHINE_START_OVERRIDE(suna16_state,bssoccer)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
@ -887,7 +887,7 @@ static MACHINE_CONFIG_START( uballoon, suna16_state )
|
||||
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(suna16_state,uballoon)
|
||||
MCFG_MACHINE_START_OVERRIDE(suna16_state,uballoon)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(suna16_state,uballoon)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -735,7 +735,7 @@ static ADDRESS_MAP_START( brickzn11_map, AS_PROGRAM, 8, suna8_state )
|
||||
AM_RANGE(0xc060, 0xc060) AM_WRITE(brickzn_rombank_w ) // ROM Bank
|
||||
AM_RANGE(0xc080, 0xc080) AM_WRITE(brickzn_leds_w ) // Leds
|
||||
AM_RANGE(0xc0a0, 0xc0a0) AM_WRITE(brickzn_palbank_w ) // Palette RAM Bank
|
||||
// AM_RANGE(0xc0c0, 0xc0c0) AM_WRITE(brickzn_prot2_w ) // Protection 2
|
||||
// AM_RANGE(0xc0c0, 0xc0c0) AM_WRITE(brickzn_prot2_w ) // Protection 2
|
||||
|
||||
AM_RANGE(0xc100, 0xc100) AM_READ_PORT("P1") // P1 (Buttons)
|
||||
AM_RANGE(0xc101, 0xc101) AM_READ_PORT("P2") // P2 (Buttons)
|
||||
@ -771,13 +771,13 @@ WRITE8_MEMBER(suna8_state::brickzn_multi_w)
|
||||
else if (protselect == 0x90)
|
||||
{
|
||||
/*
|
||||
0d brick hit NO! 25?
|
||||
2c side wall hit OK
|
||||
3b paddle hit OK
|
||||
44 death OK?
|
||||
53 death OK?
|
||||
56 coin in OK?
|
||||
70 monster hit NO? 58?
|
||||
0d brick hit NO! 25?
|
||||
2c side wall hit OK
|
||||
3b paddle hit OK
|
||||
44 death OK?
|
||||
53 death OK?
|
||||
56 coin in OK?
|
||||
70 monster hit NO? 58?
|
||||
*/
|
||||
UINT8 remap = (m_remap_sound ? BITSWAP8(data, 7,6,3,4,5,2,1,0) : data);
|
||||
|
||||
@ -1975,7 +1975,7 @@ MACHINE_CONFIG_END
|
||||
MACHINE_RESET_MEMBER(suna8_state,brickzn)
|
||||
{
|
||||
m_protection_val = m_prot2 = m_prot2_prev = 0xff;
|
||||
m_paletteram_enab = 1; // for brickzn11
|
||||
m_paletteram_enab = 1; // for brickzn11
|
||||
m_remap_sound = 0;
|
||||
membank("bank1")->set_entry(0);
|
||||
}
|
||||
@ -2015,12 +2015,12 @@ static MACHINE_CONFIG_START( brickzn11, suna8_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("ymsnd", YM3812, SUNA8_MASTER_CLOCK / 8) // 3MHz (measured)
|
||||
MCFG_SOUND_ADD("ymsnd", YM3812, SUNA8_MASTER_CLOCK / 8) // 3MHz (measured)
|
||||
MCFG_YM3812_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("aysnd", AY8910, SUNA8_MASTER_CLOCK / 16) // 1.5MHz (measured)
|
||||
MCFG_SOUND_ADD("aysnd", AY8910, SUNA8_MASTER_CLOCK / 16) // 1.5MHz (measured)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.33)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.33)
|
||||
|
||||
|
@ -124,7 +124,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(supertnk_bitplane_select_0_w);
|
||||
DECLARE_WRITE8_MEMBER(supertnk_bitplane_select_1_w);
|
||||
DECLARE_DRIVER_INIT(supertnk);
|
||||
virtual void machine_start();
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
virtual void video_start();
|
||||
UINT32 screen_update_supertnk(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
@ -135,7 +135,7 @@ public:
|
||||
|
||||
void supertnk_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 4, memregion("maincpu")->base() + 0x10000, 0x1000);
|
||||
membank("bank1")->configure_entries(0, 4, memregion("maincpu")->base() + 0x10000, 0x1000);
|
||||
}
|
||||
|
||||
|
||||
@ -148,14 +148,14 @@ void supertnk_state::machine_start()
|
||||
WRITE8_MEMBER(supertnk_state::supertnk_bankswitch_0_w)
|
||||
{
|
||||
m_rom_bank = (m_rom_bank & 0x02) | ((data << 0) & 0x01);
|
||||
membank("bank1")->set_entry(m_rom_bank);
|
||||
membank("bank1")->set_entry(m_rom_bank);
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER(supertnk_state::supertnk_bankswitch_1_w)
|
||||
{
|
||||
m_rom_bank = (m_rom_bank & 0x01) | ((data << 1) & 0x02);
|
||||
membank("bank1")->set_entry(m_rom_bank);
|
||||
membank("bank1")->set_entry(m_rom_bank);
|
||||
}
|
||||
|
||||
|
||||
|
@ -101,7 +101,7 @@ WRITE8_MEMBER(superwng_state::superwng_unk_a187_w)
|
||||
|
||||
WRITE8_MEMBER(superwng_state::superwng_unk_a185_w)
|
||||
{
|
||||
// printf("superwng_unk_a185_w %02x\n", data);
|
||||
// printf("superwng_unk_a185_w %02x\n", data);
|
||||
}
|
||||
|
||||
TILE_GET_INFO_MEMBER(superwng_state::get_bg_tile_info)
|
||||
@ -456,7 +456,7 @@ void superwng_state::machine_start()
|
||||
save_item(NAME(m_tile_bank));
|
||||
save_item(NAME(m_sound_byte));
|
||||
save_item(NAME(m_nmi_enable));
|
||||
membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base()+0x4000, 0x4000);
|
||||
membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base()+0x4000, 0x4000);
|
||||
}
|
||||
|
||||
void superwng_state::machine_reset()
|
||||
|
@ -82,7 +82,7 @@ public:
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
|
||||
DECLARE_DRIVER_INIT(suprgolf);
|
||||
virtual void machine_start();
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
virtual void video_start();
|
||||
|
||||
@ -267,8 +267,8 @@ WRITE8_MEMBER(suprgolf_state::bg_vram_w)
|
||||
|
||||
void suprgolf_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 16, memregion("user2")->base(), 0x4000);
|
||||
membank("bank2")->configure_entries(0, 64, memregion("user1")->base(), 0x4000);
|
||||
membank("bank1")->configure_entries(0, 16, memregion("user2")->base(), 0x4000);
|
||||
membank("bank2")->configure_entries(0, 64, memregion("user1")->base(), 0x4000);
|
||||
|
||||
save_item(NAME(m_rom_bank));
|
||||
save_item(NAME(m_msm5205next));
|
||||
@ -293,11 +293,11 @@ READ8_MEMBER(suprgolf_state::rom_bank_select_r)
|
||||
|
||||
WRITE8_MEMBER(suprgolf_state::rom_bank_select_w)
|
||||
{
|
||||
m_rom_bank = data;
|
||||
m_rom_bank = data;
|
||||
|
||||
//popmessage("%08x %02x",((data & 0x3f) * 0x4000),data);
|
||||
//osd_printf_debug("ROM_BANK 0x8000 - %X @%X\n",data,space.device().safe_pcbase());
|
||||
membank("bank2")->set_entry(data & 0x3f);
|
||||
//popmessage("%08x %02x",((data & 0x3f) * 0x4000),data);
|
||||
//osd_printf_debug("ROM_BANK 0x8000 - %X @%X\n",data,space.device().safe_pcbase());
|
||||
membank("bank2")->set_entry(data & 0x3f);
|
||||
|
||||
m_msm_nmi_mask = data & 0x40;
|
||||
flip_screen_set(data & 0x80);
|
||||
@ -305,8 +305,8 @@ WRITE8_MEMBER(suprgolf_state::rom_bank_select_w)
|
||||
|
||||
WRITE8_MEMBER(suprgolf_state::rom2_bank_select_w)
|
||||
{
|
||||
//osd_printf_debug("ROM_BANK 0x4000 - %X @%X\n",data,space.device().safe_pcbase());
|
||||
membank("bank1")->set_entry(data & 0x0f);
|
||||
//osd_printf_debug("ROM_BANK 0x4000 - %X @%X\n",data,space.device().safe_pcbase());
|
||||
membank("bank1")->set_entry(data & 0x0f);
|
||||
|
||||
if(data & 0xf0)
|
||||
printf("Rom bank select 2 with data %02x activated\n",data);
|
||||
|
@ -115,7 +115,7 @@ WRITE8_MEMBER(suprslam_state::pending_command_clear_w)
|
||||
|
||||
WRITE8_MEMBER(suprslam_state::suprslam_sh_bankswitch_w)
|
||||
{
|
||||
membank("bank1")->set_entry(data & 0x03);
|
||||
membank("bank1")->set_entry(data & 0x03);
|
||||
}
|
||||
|
||||
/*** MEMORY MAPS *************************************************************/
|
||||
@ -285,7 +285,7 @@ void suprslam_state::machine_start()
|
||||
save_item(NAME(m_bg_bank));
|
||||
save_item(NAME(m_pending_command));
|
||||
|
||||
membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000, 0x8000);
|
||||
membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000, 0x8000);
|
||||
}
|
||||
|
||||
void suprslam_state::machine_reset()
|
||||
|
@ -24,8 +24,8 @@ To do:
|
||||
|
||||
void tankbust_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x10000, 0x4000);
|
||||
membank("bank2")->configure_entries(0, 2, memregion("maincpu")->base() + 0x18000, 0x2000);
|
||||
membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x10000, 0x4000);
|
||||
membank("bank2")->configure_entries(0, 2, memregion("maincpu")->base() + 0x18000, 0x2000);
|
||||
|
||||
save_item(NAME(m_latch));
|
||||
save_item(NAME(m_timer1));
|
||||
@ -107,7 +107,7 @@ WRITE8_MEMBER(tankbust_state::e0xx_w)
|
||||
|
||||
case 7: /* 0xe007 bankswitch */
|
||||
/* bank 1 at 0x6000-9fff = from 0x10000 when bit0=0 else from 0x14000 */
|
||||
membank("bank1")->set_entry(data & 1);
|
||||
membank("bank1")->set_entry(data & 1);
|
||||
|
||||
/* bank 2 at 0xa000-bfff = from 0x18000 when bit0=0 else from 0x1a000 */
|
||||
membank("bank2")->set_entry(data & 1); /* verified (the game will reset after the "game over" otherwise) */
|
||||
|
@ -317,7 +317,7 @@ WRITE8_MEMBER(thunderx_state::thunderx_1f98_w)
|
||||
WRITE8_MEMBER(thunderx_state::scontra_bankswitch_w)
|
||||
{
|
||||
// bits 0-3 select ROM bank at 6000-7fff
|
||||
m_rombank->set_entry(data & 0x0f);
|
||||
m_rombank->set_entry(data & 0x0f);
|
||||
|
||||
// bit 4 selects work RAM or palette RAM at 5800-5fff
|
||||
m_bank5800->set_bank((data & 0x10) >> 4);
|
||||
|
@ -45,12 +45,12 @@ WRITE8_MEMBER(tryout_state::sound_irq_ack_w)
|
||||
|
||||
void tryout_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x10000, 0x2000);
|
||||
membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x10000, 0x2000);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(tryout_state::bankswitch_w)
|
||||
{
|
||||
membank("bank1")->set_entry(data & 0x01);
|
||||
membank("bank1")->set_entry(data & 0x01);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( main_cpu, AS_PROGRAM, 8, tryout_state )
|
||||
|
@ -100,7 +100,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(ttchamp_mem_w);
|
||||
|
||||
UINT16 m_videoram0[0x10000 / 2];
|
||||
// UINT16 m_videoram1[0x10000 / 2];
|
||||
// UINT16 m_videoram1[0x10000 / 2];
|
||||
UINT16 m_videoram2[0x10000 / 2];
|
||||
|
||||
|
||||
@ -130,7 +130,6 @@ void ttchamp_state::machine_start()
|
||||
|
||||
void ttchamp_state::video_start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
UINT32 ttchamp_state::screen_update_ttchamp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
@ -162,12 +161,12 @@ UINT32 ttchamp_state::screen_update_ttchamp(screen_device &screen, bitmap_ind16
|
||||
videoram = (UINT8*)m_videoram1;
|
||||
for (y=0;y<yyy;y++)
|
||||
{
|
||||
for(x=0;x<xxx;x++)
|
||||
{
|
||||
UINT8 pix = videoram[BYTE_XOR_LE(count)];
|
||||
if (pix) bitmap.pix16(y, x) = pix+0x200;
|
||||
count++;
|
||||
}
|
||||
for(x=0;x<xxx;x++)
|
||||
{
|
||||
UINT8 pix = videoram[BYTE_XOR_LE(count)];
|
||||
if (pix) bitmap.pix16(y, x) = pix+0x200;
|
||||
count++;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
@ -212,8 +211,8 @@ UINT32 ttchamp_state::screen_update_ttchamp(screen_device &screen, bitmap_ind16
|
||||
// I think it actually does more blit operations with
|
||||
// different bits of m_port10 set to redraw the backgrounds using the video ram data as a source rather than ROM - notice the garbage you see behind 'sprites' right now
|
||||
// this method also removes the text layer, which we don't want
|
||||
// m_videoram1[i] = 0x0000;
|
||||
// m_videoram2[i] = 0x0000;
|
||||
// m_videoram1[i] = 0x0000;
|
||||
// m_videoram2[i] = 0x0000;
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -289,7 +288,7 @@ WRITE16_MEMBER(ttchamp_state::ttchamp_mem_w)
|
||||
|
||||
if (m_spritesinit == 1)
|
||||
{
|
||||
// printf("%06x: spider_blitter_w %08x %04x %04x (init?) (base?)\n", space.device().safe_pc(), offset * 2, data, mem_mask);
|
||||
// printf("%06x: spider_blitter_w %08x %04x %04x (init?) (base?)\n", space.device().safe_pc(), offset * 2, data, mem_mask);
|
||||
|
||||
m_spritesinit = 2;
|
||||
m_spritesaddr = offset;
|
||||
@ -297,7 +296,7 @@ WRITE16_MEMBER(ttchamp_state::ttchamp_mem_w)
|
||||
}
|
||||
else if (m_spritesinit == 2)
|
||||
{
|
||||
// printf("%06x: spider_blitter_w %08x %04x %04x (init2) (width?)\n", space.device().safe_pc(), offset * 2, data, mem_mask);
|
||||
// printf("%06x: spider_blitter_w %08x %04x %04x (init2) (width?)\n", space.device().safe_pc(), offset * 2, data, mem_mask);
|
||||
m_spriteswidth = offset & 0xff;
|
||||
//printf("%08x\n",(offset*2) & 0xfff00);
|
||||
|
||||
@ -331,7 +330,7 @@ WRITE16_MEMBER(ttchamp_state::ttchamp_mem_w)
|
||||
if (m_rombank)
|
||||
src += 0x100000;
|
||||
|
||||
// printf("%06x: spider_blitter_w %08x %04x %04x (previous data width %d address %08x)\n", space.device().safe_pc(), offset * 2, data, mem_mask, m_spriteswidth, m_spritesaddr);
|
||||
// printf("%06x: spider_blitter_w %08x %04x %04x (previous data width %d address %08x)\n", space.device().safe_pc(), offset * 2, data, mem_mask, m_spriteswidth, m_spritesaddr);
|
||||
offset &= 0x7fff;
|
||||
|
||||
for (int i = 0; i < m_spriteswidth; i++)
|
||||
@ -444,7 +443,7 @@ static ADDRESS_MAP_START( ttchamp_io, AS_IO, 16, ttchamp_state )
|
||||
|
||||
AM_RANGE(0x0020, 0x0021) AM_WRITE(port20_w)
|
||||
|
||||
// AM_RANGE(0x0034, 0x0035) AM_READ(peno_rand) AM_WRITENOP // eeprom (PIC?) / settings?
|
||||
// AM_RANGE(0x0034, 0x0035) AM_READ(peno_rand) AM_WRITENOP // eeprom (PIC?) / settings?
|
||||
|
||||
AM_RANGE(0x0062, 0x0063) AM_WRITE(port62_w)
|
||||
|
||||
@ -577,9 +576,9 @@ ROM_END
|
||||
|
||||
DRIVER_INIT_MEMBER(ttchamp_state,ttchamp)
|
||||
{
|
||||
// UINT8 *ROM1 = memregion("user1")->base();
|
||||
// membank("bank1")->set_base(&ROM1[0x100000]);
|
||||
// membank("bank2")->set_base(&ROM1[0x180000]);
|
||||
// UINT8 *ROM1 = memregion("user1")->base();
|
||||
// membank("bank1")->set_base(&ROM1[0x100000]);
|
||||
// membank("bank2")->set_base(&ROM1[0x180000]);
|
||||
}
|
||||
|
||||
GAME( 1995, ttchamp, 0, ttchamp, ttchamp, ttchamp_state, ttchamp, ROT0, "Gamart", "Table Tennis Champions", GAME_NOT_WORKING ) // this has various advertising boards, including 'Electronic Devices' and 'Deniam'
|
||||
|
@ -123,15 +123,15 @@ void twins_state::machine_start()
|
||||
READ16_MEMBER(twins_state::twins_port4_r)
|
||||
{
|
||||
// doesn't work??
|
||||
// printf("%08x: twins_port4_r %04x\n", space.device().safe_pc(), mem_mask);
|
||||
// return m_i2cmem->read_sda();// | 0xfffe;
|
||||
// printf("%08x: twins_port4_r %04x\n", space.device().safe_pc(), mem_mask);
|
||||
// return m_i2cmem->read_sda();// | 0xfffe;
|
||||
|
||||
return 0x0001;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(twins_state::twins_port4_w)
|
||||
{
|
||||
// printf("%08x: twins_port4_w %04x %04x\n", space.device().safe_pc(), data, mem_mask);
|
||||
// printf("%08x: twins_port4_w %04x %04x\n", space.device().safe_pc(), data, mem_mask);
|
||||
int i2c_clk = BIT(data, 1);
|
||||
int i2c_mem = BIT(data, 0);
|
||||
m_i2cmem->write_scl(i2c_clk);
|
||||
@ -165,7 +165,7 @@ WRITE16_MEMBER(twins_state::twins_pal_w)
|
||||
/* ??? weird ..*/
|
||||
WRITE16_MEMBER(twins_state::porte_paloff0_w)
|
||||
{
|
||||
// printf("porte_paloff0_w %04x\n", data);
|
||||
// printf("porte_paloff0_w %04x\n", data);
|
||||
m_paloff = 0;
|
||||
}
|
||||
|
||||
@ -205,14 +205,14 @@ WRITE16_MEMBER(twins_state::spider_blitter_w)
|
||||
|
||||
if (m_spritesinit == 1)
|
||||
{
|
||||
// printf("spider_blitter_w %08x %04x %04x (init?) (base?)\n", offset * 2, data, mem_mask);
|
||||
// printf("spider_blitter_w %08x %04x %04x (init?) (base?)\n", offset * 2, data, mem_mask);
|
||||
|
||||
m_spritesinit = 2;
|
||||
m_spritesaddr = offset;
|
||||
}
|
||||
else if (m_spritesinit == 2)
|
||||
{
|
||||
// printf("spider_blitter_w %08x %04x %04x (init2) (width?)\n", offset * 2, data, mem_mask);
|
||||
// printf("spider_blitter_w %08x %04x %04x (init2) (width?)\n", offset * 2, data, mem_mask);
|
||||
m_spriteswidth = offset & 0xff;
|
||||
if (m_spriteswidth == 0)
|
||||
m_spriteswidth = 80;
|
||||
@ -234,7 +234,7 @@ WRITE16_MEMBER(twins_state::spider_blitter_w)
|
||||
{
|
||||
UINT8 *src = m_rom8;
|
||||
|
||||
// printf("spider_blitter_w %08x %04x %04x (previous data width %d address %08x)\n", offset * 2, data, mem_mask, m_spriteswidth, m_spritesaddr);
|
||||
// printf("spider_blitter_w %08x %04x %04x (previous data width %d address %08x)\n", offset * 2, data, mem_mask, m_spriteswidth, m_spritesaddr);
|
||||
offset &= 0x7fff;
|
||||
|
||||
for (int i = 0; i < m_spriteswidth; i++)
|
||||
@ -477,7 +477,7 @@ WRITE16_MEMBER(twins_state::spider_pal_w)
|
||||
}
|
||||
else
|
||||
{
|
||||
// printf("first palette write %04x\n", data);
|
||||
// printf("first palette write %04x\n", data);
|
||||
}
|
||||
|
||||
m_paloff++;
|
||||
|
@ -32,12 +32,12 @@ Sound: AY-3-8912
|
||||
|
||||
void usgames_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000);
|
||||
membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(usgames_state::usgames_rombank_w)
|
||||
{
|
||||
membank("bank1")->set_entry(data);
|
||||
membank("bank1")->set_entry(data);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(usgames_state::lamps1_w)
|
||||
|
@ -2754,10 +2754,10 @@ DRIVER_INIT_MEMBER(vamphalf_state,yorijori)
|
||||
m_semicom_prot_data[0] = 2;
|
||||
m_semicom_prot_data[1] = 1;
|
||||
|
||||
// UINT8 *romx = (UINT8 *)memregion("user1")->base();
|
||||
// UINT8 *romx = (UINT8 *)memregion("user1")->base();
|
||||
// prevent code dying after a trap 33 by patching it out, why?
|
||||
// romx[BYTE4_XOR_BE(0x8ff0)] = 3;
|
||||
// romx[BYTE4_XOR_BE(0x8ff1)] = 0;
|
||||
// romx[BYTE4_XOR_BE(0x8ff0)] = 3;
|
||||
// romx[BYTE4_XOR_BE(0x8ff1)] = 0;
|
||||
|
||||
// Configure the QS1000 ROM banking. Care must be taken not to overlap the 256b internal RAM
|
||||
machine().device("qs1000:cpu")->memory().space(AS_IO).install_read_bank(0x0100, 0xffff, "data");
|
||||
|
@ -24,12 +24,12 @@ Buccaneers has a 5.6888 Mhz and a 18.432 Mhz OSC
|
||||
|
||||
void vigilant_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 8, memregion("maincpu")->base() + 0x10000, 0x4000);
|
||||
membank("bank1")->configure_entries(0, 8, memregion("maincpu")->base() + 0x10000, 0x4000);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(vigilant_state::vigilant_bank_select_w)
|
||||
{
|
||||
membank("bank1")->set_entry(data & 0x07);
|
||||
membank("bank1")->set_entry(data & 0x07);
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -15,7 +15,7 @@ public:
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_screen(*this, "screen"),
|
||||
m_palette(*this, "palette"),
|
||||
m_video_ram(*this, "video_ram") { }
|
||||
m_video_ram(*this, "video_ram") { }
|
||||
|
||||
/* devices */
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
@ -395,4 +395,3 @@ public:
|
||||
|
||||
DECLARE_WRITE16_MEMBER(hng64_sound_bank_w);
|
||||
};
|
||||
|
||||
|
@ -64,7 +64,7 @@ public:
|
||||
DECLARE_DRIVER_INIT(whizz);
|
||||
DECLARE_DRIVER_INIT(turtship);
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
virtual void video_start();
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_sidearms_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_philko_bg_tile_info);
|
||||
|
@ -12,7 +12,7 @@ public:
|
||||
{ }
|
||||
|
||||
int mux_port;
|
||||
// UINT32 m_st0016_rom_bank;
|
||||
// UINT32 m_st0016_rom_bank;
|
||||
|
||||
optional_device<st0016_cpu_device> m_maincpu;
|
||||
DECLARE_READ8_MEMBER(mux_r);
|
||||
@ -27,7 +27,7 @@ public:
|
||||
DECLARE_DRIVER_INIT(mayjinsn);
|
||||
DECLARE_DRIVER_INIT(mayjisn2);
|
||||
DECLARE_DRIVER_INIT(renju);
|
||||
virtual void machine_start();
|
||||
virtual void machine_start();
|
||||
DECLARE_VIDEO_START(st0016);
|
||||
void st0016_draw_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update_st0016(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
@ -67,7 +67,7 @@ public:
|
||||
virtual void video_start();
|
||||
DECLARE_MACHINE_START(bestbest);
|
||||
DECLARE_MACHINE_START(bssoccer);
|
||||
DECLARE_MACHINE_START(uballoon);
|
||||
DECLARE_MACHINE_START(uballoon);
|
||||
DECLARE_MACHINE_RESET(uballoon);
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
@ -48,8 +48,8 @@ public:
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_txt_tile_info);
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
virtual void video_start();
|
||||
DECLARE_PALETTE_INIT(tankbust);
|
||||
|
||||
|
@ -62,7 +62,7 @@ public:
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
virtual void video_start();
|
||||
virtual void video_start();
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(vblank_interrupt);
|
||||
|
@ -45,8 +45,8 @@ public:
|
||||
TILEMAP_MAPPER_MEMBER(get_fg_memory_offset);
|
||||
TILEMAP_MAPPER_MEMBER(get_bg_memory_offset);
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
DECLARE_PALETTE_INIT(tryout);
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
@ -17,8 +17,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(usgames_videoram_w);
|
||||
DECLARE_WRITE8_MEMBER(usgames_charram_w);
|
||||
TILE_GET_INFO_MEMBER(get_usgames_tile_info);
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
DECLARE_PALETTE_INIT(usgames);
|
||||
UINT32 screen_update_usgames(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
@ -38,8 +38,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(vigilant_horiz_scroll_w);
|
||||
DECLARE_WRITE8_MEMBER(vigilant_rear_horiz_scroll_w);
|
||||
DECLARE_WRITE8_MEMBER(vigilant_rear_color_w);
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
virtual void video_reset();
|
||||
UINT32 screen_update_vigilant(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update_kikcubic(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
@ -257,7 +257,7 @@ READ32_MEMBER( iteagle_eeprom_device::eeprom_r )
|
||||
case 0xC/4: // I2C Handler
|
||||
if (ACCESSING_BITS_16_23) {
|
||||
result = m_eeprom->do_read()<<(16+3);
|
||||
} else {
|
||||
} else {
|
||||
if (LOG_EEPROM)
|
||||
logerror("%s:eeprom read from offset %04X = %08X & %08X\n", machine().describe_context(), offset*4, result, mem_mask);
|
||||
}
|
||||
@ -278,7 +278,7 @@ WRITE32_MEMBER( iteagle_eeprom_device::eeprom_w )
|
||||
m_eeprom->di_write((data & 0x040000) >> (16+2));
|
||||
m_eeprom->cs_write((data & 0x020000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_eeprom->clk_write((data & 0x010000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
} else {
|
||||
} else {
|
||||
if (LOG_EEPROM)
|
||||
logerror("%s:eeprom write to offset %04X = %08X & %08X\n", machine().describe_context(), offset*4, data, mem_mask);
|
||||
}
|
||||
|
@ -336,7 +336,7 @@ froggers // bootleg
|
||||
frogf // bootleg
|
||||
quaak // bootleg
|
||||
froggeram // bootleg
|
||||
froggerv // bootleg
|
||||
froggerv // bootleg
|
||||
amidars // GX337 (c) 1982 Konami
|
||||
triplep // (c) 1982 KKI / made by Sanritsu?
|
||||
triplepa // (c) 1982 KKI / made by Sanritsu?
|
||||
@ -6350,7 +6350,7 @@ combatsc // GX611 (c) 1988
|
||||
combatsct // GX611 (c) 1987
|
||||
combatscj // GX611 (c) 1987 (Japan)
|
||||
bootcamp // GX611 (c) 1987
|
||||
bootcampa // GX611 (c) 1987
|
||||
bootcampa // GX611 (c) 1987
|
||||
combatscb // bootleg
|
||||
rockrage // GX620 (c) 1986 (World?)
|
||||
rockragea // GX620 (c) 1986 (Prototype?)
|
||||
@ -7713,7 +7713,7 @@ kof2000 // 0257 (c) 2000 SNK
|
||||
kof2000n // 0257 (c) 2000 SNK
|
||||
// 0258 SNK vs. Capcom?
|
||||
bangbead // 0259 (c) 2000 Visco
|
||||
b2b // 0071 (c) 2000 Visco (released by NCI in 2010)
|
||||
b2b // 0071 (c) 2000 Visco (released by NCI in 2010)
|
||||
nitd // 0260 (c) 2000 Eleven / Gavaking
|
||||
nitdbl // bootleg
|
||||
sengoku3 // 0261 (c) 2001 Noise Factory / SNK
|
||||
@ -7910,7 +7910,7 @@ tstrike // East Coast Coin Company (Melbourne)
|
||||
tstrikea // Game Room
|
||||
ctribe // TA-0028 (c) 1990 (US)
|
||||
ctribe1 // TA-0028 (c) 1990 (US)
|
||||
ctribeo // TA-0028 (c) 1990 (US)
|
||||
ctribeo // TA-0028 (c) 1990 (US)
|
||||
ctribej // TA-0028 (c) 1990 (Japan)
|
||||
ctribeb // bootleg
|
||||
ctribeb2 // bootleg
|
||||
@ -8453,7 +8453,7 @@ raiden2ea // (c) 1993 Seibu Kaihatsu
|
||||
raiden2eu // (c) 1993 Seibu Kaihatsu + Fabtek license
|
||||
raiden2eua // (c) 1993 Seibu Kaihatsu + Fabtek license
|
||||
raiden2nl // (c) 1993 Seibu Kaihatsu
|
||||
raiden2f // (c) 1993 Seibu Kaihatsu
|
||||
raiden2f // (c) 1993 Seibu Kaihatsu
|
||||
raiden2g // (c) 1993 Seibu Kaihatsu + Tuning license
|
||||
raiden2dx // (c) 1993 Seibu Kaihatsu
|
||||
|
||||
@ -8777,7 +8777,7 @@ gunbird // (c) 1994
|
||||
gunbirdk // (c) 1994
|
||||
gunbirdj // (c) 1994
|
||||
btlkroad // (c) 1994
|
||||
btlkroadk // (c) 1994
|
||||
btlkroadk // (c) 1994
|
||||
s1945 // (c) 1995
|
||||
s1945a // (c) 1995
|
||||
s1945j // (c) 1995
|
||||
|
@ -122,8 +122,8 @@ WRITE8_MEMBER(dynax_state::tenkai_blit_dest_w)
|
||||
}
|
||||
|
||||
/*
|
||||
mjelctrn: 7 d e -> 1 - 4 8
|
||||
mjembase: b d e -> - 2 4 8
|
||||
mjelctrn: 7 d e -> 1 - 4 8
|
||||
mjembase: b d e -> - 2 4 8
|
||||
*/
|
||||
WRITE8_MEMBER(dynax_state::mjembase_blit_dest_w)
|
||||
{
|
||||
@ -381,7 +381,7 @@ void dynax_state::blitter_plot_pixel( int layer, int mask, int x, int y, int pen
|
||||
}
|
||||
|
||||
/*
|
||||
Flags:
|
||||
Flags:
|
||||
|
||||
7654 ---- -
|
||||
---- 3--- Rotation = SWAPXY + FLIPY
|
||||
@ -1223,9 +1223,9 @@ WRITE8_MEMBER(dynax_state::tenkai_priority_w)
|
||||
}
|
||||
|
||||
/*
|
||||
mjembase: priority: 00 08 10 18 20 28; enable: 1,2,4
|
||||
mjembase: priority: 00 08 10 18 20 28; enable: 1,2,4
|
||||
Convert to:
|
||||
mjelctrn: priority: 00 20 10 40 30 50; enable: 1,2,8
|
||||
mjelctrn: priority: 00 20 10 40 30 50; enable: 1,2,8
|
||||
*/
|
||||
WRITE8_MEMBER(dynax_state::mjembase_priority_w)
|
||||
{
|
||||
|
@ -660,7 +660,7 @@ void hng64_state::hng64_drawtilemap(screen_device &screen, bitmap_rgb32 &bitmap,
|
||||
|
||||
// xrally's pink tilemaps make me think this is a tilemap enable bit.
|
||||
// fatfurwa makes me think otherwise.
|
||||
// if (!(tileregs & 0x0040)) return;
|
||||
// if (!(tileregs & 0x0040)) return;
|
||||
|
||||
// set the transmask so our manual copy is correct
|
||||
if (tileregs & 0x0400)
|
||||
@ -1251,4 +1251,3 @@ void hng64_state::video_start()
|
||||
m_vertsrom = (UINT16*)memregion("verts")->base();
|
||||
m_vertsrom_size = memregion("verts")->bytes();
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ TIMER_CALLBACK_MEMBER(hng64_state::hng64_3dfifo_processed )
|
||||
/* Note: Samurai Shodown games never calls bit 1, so it can't be framebuffer clear. It also calls bit 3 at start-up, meaning unknown */
|
||||
WRITE32_MEMBER(hng64_state::dl_control_w) // This handles framebuffers
|
||||
{
|
||||
// printf("dl_control_w %08x %08x\n", data, mem_mask);
|
||||
// printf("dl_control_w %08x %08x\n", data, mem_mask);
|
||||
|
||||
//if(data & 2) // swap buffers
|
||||
//{
|
||||
@ -540,7 +540,7 @@ void hng64_state::recoverPolygonBlock(const UINT16* packet, struct polygon* poly
|
||||
#if 0
|
||||
if (((chunkOffset[2] & 0xc000) == 0x4000) && (m_screen->frame_number() & 1))
|
||||
{
|
||||
// if (chunkOffset[2] == 0xd870)
|
||||
// if (chunkOffset[2] == 0xd870)
|
||||
{
|
||||
polys[*numPolys].debugColor = 0xffff0000;
|
||||
printf("%d (%08x) : %04x %04x %04x\n", k, address[k] * 3 * 2, chunkOffset[0], chunkOffset[1], chunkOffset[2]);
|
||||
@ -863,7 +863,6 @@ void hng64_state::recoverPolygonBlock(const UINT16* packet, struct polygon* poly
|
||||
|
||||
void hng64_state::hng64_command3d(const UINT16* packet)
|
||||
{
|
||||
|
||||
/* A temporary place to put some polygons. This will optimize away if the compiler's any good. */
|
||||
int numPolys = 0;
|
||||
dynamic_array<polygon> polys(1024*5);
|
||||
@ -1702,4 +1701,3 @@ void hng64_state::drawShaded( struct polygon *p)
|
||||
prOptions);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -222,4 +222,3 @@ void hng64_state::draw_sprites(screen_device &screen, bitmap_rgb32 &bitmap, cons
|
||||
if (!chaini) source +=8;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -134,4 +134,3 @@ UINT32 thedeep_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
|
||||
m_tilemap_1->draw(screen, bitmap, cliprect, 0,0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -38,7 +38,7 @@ gamate_sound_device::gamate_sound_device(const machine_config &mconfig, const ch
|
||||
void gamate_sound_device::device_start()
|
||||
{
|
||||
// bind callbacks
|
||||
// m_irq_cb.bind_relative_to(*owner());
|
||||
// m_irq_cb.bind_relative_to(*owner());
|
||||
|
||||
memset(m_channels, 0, sizeof(m_channels));
|
||||
memset(reg, 0, sizeof(reg));
|
||||
|
@ -286,11 +286,11 @@ static ADDRESS_MAP_START( a7800_mem, AS_PROGRAM, 8, a7800_state )
|
||||
AM_RANGE(0x0480, 0x04ff) AM_RAM AM_SHARE("riot_ram") AM_MIRROR(0x100)
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM AM_SHARE("6116_1")
|
||||
AM_RANGE(0x2000, 0x27ff) AM_RAM AM_SHARE("6116_2") AM_MIRROR(0x0800)
|
||||
// According to the official Software Guide, the RAM at 0x2000 is
|
||||
// repeatedly mirrored up to 0x3fff, but this is evidently incorrect
|
||||
// because the High Score Cartridge maps ROM at 0x3000-0x3fff
|
||||
// Hardware tests show that only the mirror at 0x2800-0x2fff actually
|
||||
// exists, and only on some hardware (MARIA? motherboard?) revisions
|
||||
// According to the official Software Guide, the RAM at 0x2000 is
|
||||
// repeatedly mirrored up to 0x3fff, but this is evidently incorrect
|
||||
// because the High Score Cartridge maps ROM at 0x3000-0x3fff
|
||||
// Hardware tests show that only the mirror at 0x2800-0x2fff actually
|
||||
// exists, and only on some hardware (MARIA? motherboard?) revisions
|
||||
AM_RANGE(0x4000, 0xffff) AM_DEVWRITE("cartslot", a78_cart_slot_device, write_40xx)
|
||||
AM_RANGE(0x4000, 0xbfff) AM_DEVREAD("cartslot", a78_cart_slot_device, read_40xx)
|
||||
AM_RANGE(0xc000, 0xffff) AM_READ(bios_or_cart_r) // here also the BIOS can be accessed
|
||||
|
@ -1229,9 +1229,9 @@ static SLOT_INTERFACE_START(apple2_cards)
|
||||
SLOT_INTERFACE("dx1", A2BUS_DX1) /* Decillonix DX-1 sampler card */
|
||||
SLOT_INTERFACE("tm2ho", A2BUS_TIMEMASTERHO) /* Applied Engineering TimeMaster II H.O. */
|
||||
SLOT_INTERFACE("mouse", A2BUS_MOUSE) /* Apple II Mouse Card */
|
||||
SLOT_INTERFACE("ezcgi", A2BUS_EZCGI) /* E-Z Color Graphics Interface */
|
||||
SLOT_INTERFACE("ezcgi9938", A2BUS_EZCGI_9938) /* E-Z Color Graphics Interface (TMS9938) */
|
||||
SLOT_INTERFACE("ezcgi9958", A2BUS_EZCGI_9958) /* E-Z Color Graphics Interface (TMS9958) */
|
||||
SLOT_INTERFACE("ezcgi", A2BUS_EZCGI) /* E-Z Color Graphics Interface */
|
||||
SLOT_INTERFACE("ezcgi9938", A2BUS_EZCGI_9938) /* E-Z Color Graphics Interface (TMS9938) */
|
||||
SLOT_INTERFACE("ezcgi9958", A2BUS_EZCGI_9958) /* E-Z Color Graphics Interface (TMS9958) */
|
||||
// SLOT_INTERFACE("magicmusician", A2BUS_MAGICMUSICIAN) /* Magic Musician Card */
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
@ -3036,9 +3036,9 @@ static SLOT_INTERFACE_START(apple2_cards)
|
||||
SLOT_INTERFACE("dx1", A2BUS_DX1) /* Decillonix DX-1 sampler card */
|
||||
SLOT_INTERFACE("tm2ho", A2BUS_TIMEMASTERHO) /* Applied Engineering TimeMaster II H.O. */
|
||||
SLOT_INTERFACE("mouse", A2BUS_MOUSE) /* Apple II Mouse Card */
|
||||
SLOT_INTERFACE("ezcgi", A2BUS_EZCGI) /* E-Z Color Graphics Interface */
|
||||
SLOT_INTERFACE("ezcgi9938", A2BUS_EZCGI_9938) /* E-Z Color Graphics Interface (TMS9938) */
|
||||
SLOT_INTERFACE("ezcgi9958", A2BUS_EZCGI_9958) /* E-Z Color Graphics Interface (TMS9958) */
|
||||
SLOT_INTERFACE("ezcgi", A2BUS_EZCGI) /* E-Z Color Graphics Interface */
|
||||
SLOT_INTERFACE("ezcgi9938", A2BUS_EZCGI_9938) /* E-Z Color Graphics Interface (TMS9938) */
|
||||
SLOT_INTERFACE("ezcgi9958", A2BUS_EZCGI_9958) /* E-Z Color Graphics Interface (TMS9958) */
|
||||
// SLOT_INTERFACE("magicmusician", A2BUS_MAGICMUSICIAN) /* Magic Musician Card */
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
@ -118,7 +118,7 @@ READ8_MEMBER( gamate_state::gamate_cart_protection_r )
|
||||
ret=(card_protection.cartridge_byte&0x80) ? 2 : 0;
|
||||
if (card_protection.bit_shifter==7 && !card_protection.failed)
|
||||
{ // now protection chip on cartridge activates cartridge chip select on cpu accesses
|
||||
// m_maincpu->space(AS_PROGRAM).install_read_handler(0x6000, 0x6000, READ8_DELEGATE(gamate_state, gamate_cart_protection_r)); // next time I will try to get this working
|
||||
// m_maincpu->space(AS_PROGRAM).install_read_handler(0x6000, 0x6000, READ8_DELEGATE(gamate_state, gamate_cart_protection_r)); // next time I will try to get this working
|
||||
}
|
||||
card_protection.cartridge_byte<<=1;
|
||||
}
|
||||
@ -318,12 +318,12 @@ void gamate_state::machine_start()
|
||||
m_cart_ptr = memregion("maincpu")->base() + 0x6000;
|
||||
if (m_cart->exists())
|
||||
{
|
||||
// m_maincpu->space(AS_PROGRAM).install_read_handler(0x6000, 0x6000, READ8_DELEGATE(gamate_state, gamate_cart_protection_r));
|
||||
// m_maincpu->space(AS_PROGRAM).install_read_handler(0x6000, 0x6000, READ8_DELEGATE(gamate_state, gamate_cart_protection_r));
|
||||
m_cart_ptr = m_cart->get_rom_base();
|
||||
membank("bankmulti")->set_base(m_cart->get_rom_base()+1);
|
||||
membank("bank")->set_base(m_cart->get_rom_base()+0x4000); // bankswitched games in reality no offset
|
||||
}
|
||||
// m_bios[0xdf1]=0xea; m_bios[0xdf2]=0xea; // default bios: $47 protection readback
|
||||
// m_bios[0xdf1]=0xea; m_bios[0xdf2]=0xea; // default bios: $47 protection readback
|
||||
card_protection.set=false;
|
||||
bank_multi=0;
|
||||
card_protection.unprotected=false;
|
||||
@ -400,4 +400,3 @@ ROM_END
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME */
|
||||
CONS( 19??, gamate, 0, 0, gamate, gamate, gamate_state, gamate, "Bit Corp", "Gamate", 0)
|
||||
|
||||
|
@ -82,7 +82,7 @@ public:
|
||||
UINT32 m_grid; // VFD current row data
|
||||
UINT64 m_plate; // VFD current column data
|
||||
|
||||
UINT64 m_display_state[0x20]; // display matrix rows data
|
||||
UINT64 m_display_state[0x20]; // display matrix rows data
|
||||
UINT16 m_display_segmask[0x20]; // if not 0, display matrix row is a digit, mask indicates connected segments
|
||||
UINT64 m_display_cache[0x20]; // (internal use)
|
||||
UINT8 m_display_decay[0x20][0x40]; // (internal use)
|
||||
@ -249,7 +249,7 @@ static MACHINE_CONFIG_START( bambball, hh_hmcs40_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD38750, 400000) // approximation - RC osc.
|
||||
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
|
||||
|
||||
/* no video! */
|
||||
@ -284,7 +284,7 @@ static MACHINE_CONFIG_START( packmon, hh_hmcs40_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD38800, 400000) // approximation - RC osc.
|
||||
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
|
||||
|
||||
/* no video! */
|
||||
@ -318,7 +318,7 @@ static MACHINE_CONFIG_START( zackman, hh_hmcs40_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD38820, 400000) // approximation - RC osc.
|
||||
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
|
||||
|
||||
/* no video! */
|
||||
@ -449,7 +449,7 @@ static MACHINE_CONFIG_START( cdkong, hh_hmcs40_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD38820, 400000) // approximation - RC osc.
|
||||
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
|
||||
|
||||
/* no video! */
|
||||
@ -484,7 +484,7 @@ static MACHINE_CONFIG_START( cgalaxn, hh_hmcs40_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD38800, 400000) // approximation - RC osc.
|
||||
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
|
||||
|
||||
/* no video! */
|
||||
@ -519,7 +519,7 @@ static MACHINE_CONFIG_START( cpacman, hh_hmcs40_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD38820, 400000) // approximation - RC osc.
|
||||
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
|
||||
|
||||
/* no video! */
|
||||
@ -554,7 +554,7 @@ static MACHINE_CONFIG_START( cmspacmn, hh_hmcs40_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD38820, 400000) // approximation - RC osc.
|
||||
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
|
||||
|
||||
/* no video! */
|
||||
@ -766,7 +766,7 @@ static MACHINE_CONFIG_START( pbqbert, hh_hmcs40_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD38820, 400000) // approximation - RC osc.
|
||||
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
|
||||
|
||||
/* no video! */
|
||||
@ -801,7 +801,7 @@ static MACHINE_CONFIG_START( kingman, hh_hmcs40_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD38800, 400000) // approximation - RC osc.
|
||||
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
|
||||
|
||||
/* no video! */
|
||||
@ -836,7 +836,7 @@ static MACHINE_CONFIG_START( tmtron, hh_hmcs40_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD38800, 400000) // approximation - RC osc.
|
||||
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
// MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
|
||||
|
||||
/* no video! */
|
||||
|
@ -58,7 +58,7 @@ public:
|
||||
int m_display_maxy; // display matrix number of rows
|
||||
int m_display_maxx; // display matrix number of columns
|
||||
|
||||
UINT32 m_display_state[0x20]; // display matrix rows data
|
||||
UINT32 m_display_state[0x20]; // display matrix rows data
|
||||
UINT16 m_display_segmask[0x20]; // if not 0, display matrix row is a digit, mask indicates connected segments
|
||||
UINT32 m_display_cache[0x20]; // (internal use)
|
||||
UINT8 m_display_decay[0x20][0x20]; // (internal use)
|
||||
|
@ -69,7 +69,7 @@ public:
|
||||
UINT32 m_grid; // VFD current row data
|
||||
UINT32 m_plate; // VFD current column data
|
||||
|
||||
UINT32 m_display_state[0x20]; // display matrix rows data
|
||||
UINT32 m_display_state[0x20]; // display matrix rows data
|
||||
UINT16 m_display_segmask[0x20]; // if not 0, display matrix row is a digit, mask indicates connected segments
|
||||
UINT32 m_display_cache[0x20]; // (internal use)
|
||||
UINT8 m_display_decay[0x20][0x20]; // (internal use)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1005,9 +1005,9 @@ WRITE8_MEMBER( snes_console_state::pfest94_lo_w )
|
||||
*************************************/
|
||||
|
||||
static ADDRESS_MAP_START( snes_map, AS_PROGRAM, 8, snes_console_state )
|
||||
// AM_RANGE(0x000000, 0x7dffff) AM_READWRITE(snes20_lo_r, snes20_lo_w)
|
||||
// AM_RANGE(0x000000, 0x7dffff) AM_READWRITE(snes20_lo_r, snes20_lo_w)
|
||||
AM_RANGE(0x7e0000, 0x7fffff) AM_RAM /* 8KB Low RAM, 24KB High RAM, 96KB Expanded RAM */
|
||||
// AM_RANGE(0x800000, 0xffffff) AM_READWRITE(snes20_hi_r, snes20_hi_w)
|
||||
// AM_RANGE(0x800000, 0xffffff) AM_READWRITE(snes20_hi_r, snes20_hi_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( spc_map, AS_PROGRAM, 8, snes_console_state )
|
||||
|
@ -60,7 +60,7 @@ public:
|
||||
int m_display_maxy; // display matrix number of rows
|
||||
int m_display_maxx; // display matrix number of columns
|
||||
|
||||
UINT32 m_display_state[0x20]; // display matrix rows data
|
||||
UINT32 m_display_state[0x20]; // display matrix rows data
|
||||
UINT16 m_display_segmask[0x20]; // if not 0, display matrix row is a digit, mask indicates connected segments
|
||||
UINT32 m_display_cache[0x20]; // (internal use)
|
||||
UINT8 m_display_decay[0x20][0x20]; // (internal use)
|
||||
|
@ -327,7 +327,7 @@ public:
|
||||
int m_display_maxy; // display matrix number of rows
|
||||
int m_display_maxx; // display matrix number of columns
|
||||
|
||||
UINT32 m_display_state[0x20]; // display matrix rows data
|
||||
UINT32 m_display_state[0x20]; // display matrix rows data
|
||||
UINT16 m_display_segmask[0x20]; // if not 0, display matrix row is a digit, mask indicates connected segments
|
||||
UINT32 m_display_cache[0x20]; // (internal use)
|
||||
UINT8 m_display_decay[0x20][0x20]; // (internal use)
|
||||
|
@ -48,7 +48,7 @@ public:
|
||||
int m_display_maxy; // display matrix number of rows
|
||||
int m_display_maxx; // display matrix number of columns
|
||||
|
||||
UINT32 m_display_state[0x20]; // display matrix rows data
|
||||
UINT32 m_display_state[0x20]; // display matrix rows data
|
||||
UINT16 m_display_segmask[0x20]; // if not 0, display matrix row is a digit, mask indicates connected segments
|
||||
UINT32 m_display_cache[0x20]; // (internal use)
|
||||
UINT8 m_display_decay[0x20][0x20]; // (internal use)
|
||||
|
@ -18,105 +18,105 @@
|
||||
|
||||
class imds2_state : public driver_device
|
||||
{
|
||||
public:
|
||||
imds2_state(const machine_config &mconfig, device_type type, const char *tag);
|
||||
public:
|
||||
imds2_state(const machine_config &mconfig, device_type type, const char *tag);
|
||||
|
||||
DECLARE_READ8_MEMBER(ipc_mem_read);
|
||||
DECLARE_WRITE8_MEMBER(ipc_mem_write);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ipc_control_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(imds2_ipc_intr);
|
||||
DECLARE_READ8_MEMBER(imds2_ipcsyspic_r);
|
||||
DECLARE_READ8_MEMBER(imds2_ipclocpic_r);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ipcsyspic_w);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ipclocpic_w);
|
||||
DECLARE_READ8_MEMBER(ipc_mem_read);
|
||||
DECLARE_WRITE8_MEMBER(ipc_mem_write);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ipc_control_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(imds2_ipc_intr);
|
||||
DECLARE_READ8_MEMBER(imds2_ipcsyspic_r);
|
||||
DECLARE_READ8_MEMBER(imds2_ipclocpic_r);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ipcsyspic_w);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ipclocpic_w);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(imds2_miscout_w);
|
||||
DECLARE_READ8_MEMBER(imds2_miscin_r);
|
||||
DECLARE_WRITE_LINE_MEMBER(imds2_beep_timer_w);
|
||||
DECLARE_WRITE8_MEMBER(imds2_start_timer_w);
|
||||
DECLARE_READ8_MEMBER(imds2_kb_read);
|
||||
DECLARE_READ8_MEMBER(imds2_kb_port_p2_r);
|
||||
DECLARE_WRITE8_MEMBER(imds2_kb_port_p1_w);
|
||||
DECLARE_READ8_MEMBER(imds2_kb_port_t0_r);
|
||||
DECLARE_READ8_MEMBER(imds2_kb_port_t1_r);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ioc_dbbout_w);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ioc_f0_w);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ioc_set_f1_w);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ioc_reset_f1_w);
|
||||
DECLARE_READ8_MEMBER(imds2_ioc_status_r);
|
||||
DECLARE_READ8_MEMBER(imds2_ioc_dbbin_r);
|
||||
DECLARE_READ8_MEMBER(imds2_ipc_dbbout_r);
|
||||
DECLARE_READ8_MEMBER(imds2_ipc_status_r);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ipc_dbbin_data_w);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ipc_dbbin_cmd_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(imds2_hrq_w);
|
||||
DECLARE_WRITE8_MEMBER(imds2_miscout_w);
|
||||
DECLARE_READ8_MEMBER(imds2_miscin_r);
|
||||
DECLARE_WRITE_LINE_MEMBER(imds2_beep_timer_w);
|
||||
DECLARE_WRITE8_MEMBER(imds2_start_timer_w);
|
||||
DECLARE_READ8_MEMBER(imds2_kb_read);
|
||||
DECLARE_READ8_MEMBER(imds2_kb_port_p2_r);
|
||||
DECLARE_WRITE8_MEMBER(imds2_kb_port_p1_w);
|
||||
DECLARE_READ8_MEMBER(imds2_kb_port_t0_r);
|
||||
DECLARE_READ8_MEMBER(imds2_kb_port_t1_r);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ioc_dbbout_w);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ioc_f0_w);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ioc_set_f1_w);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ioc_reset_f1_w);
|
||||
DECLARE_READ8_MEMBER(imds2_ioc_status_r);
|
||||
DECLARE_READ8_MEMBER(imds2_ioc_dbbin_r);
|
||||
DECLARE_READ8_MEMBER(imds2_ipc_dbbout_r);
|
||||
DECLARE_READ8_MEMBER(imds2_ipc_status_r);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ipc_dbbin_data_w);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ipc_dbbin_cmd_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(imds2_hrq_w);
|
||||
|
||||
DECLARE_READ8_MEMBER(imds2_ioc_mem_r);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ioc_mem_w);
|
||||
DECLARE_READ8_MEMBER(imds2_ioc_mem_r);
|
||||
DECLARE_WRITE8_MEMBER(imds2_ioc_mem_w);
|
||||
|
||||
I8275_DRAW_CHARACTER_MEMBER(crtc_display_pixels);
|
||||
I8275_DRAW_CHARACTER_MEMBER(crtc_display_pixels);
|
||||
|
||||
virtual void driver_start();
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
virtual void machine_reset();
|
||||
virtual void driver_start();
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
virtual void machine_reset();
|
||||
|
||||
private:
|
||||
required_device<i8085a_cpu_device> m_ipccpu;
|
||||
required_device<pic8259_device> m_ipcsyspic;
|
||||
required_device<pic8259_device> m_ipclocpic;
|
||||
required_device<i8080a_cpu_device> m_ioccpu;
|
||||
required_device<i8257_device> m_iocdma;
|
||||
required_device<i8275_device> m_ioccrtc;
|
||||
required_device<beep_device> m_iocbeep;
|
||||
required_device<pit8253_device> m_ioctimer;
|
||||
required_device<i8271_device> m_iocfdc;
|
||||
required_device<i8741_device> m_kbcpu;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<legacy_floppy_image_device> m_floppy0;
|
||||
required_ioport m_io_key0;
|
||||
required_ioport m_io_key1;
|
||||
required_ioport m_io_key2;
|
||||
required_ioport m_io_key3;
|
||||
required_ioport m_io_key4;
|
||||
required_ioport m_io_key5;
|
||||
required_ioport m_io_key6;
|
||||
required_ioport m_io_key7;
|
||||
required_ioport m_ioc_options;
|
||||
private:
|
||||
required_device<i8085a_cpu_device> m_ipccpu;
|
||||
required_device<pic8259_device> m_ipcsyspic;
|
||||
required_device<pic8259_device> m_ipclocpic;
|
||||
required_device<i8080a_cpu_device> m_ioccpu;
|
||||
required_device<i8257_device> m_iocdma;
|
||||
required_device<i8275_device> m_ioccrtc;
|
||||
required_device<beep_device> m_iocbeep;
|
||||
required_device<pit8253_device> m_ioctimer;
|
||||
required_device<i8271_device> m_iocfdc;
|
||||
required_device<i8741_device> m_kbcpu;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<legacy_floppy_image_device> m_floppy0;
|
||||
required_ioport m_io_key0;
|
||||
required_ioport m_io_key1;
|
||||
required_ioport m_io_key2;
|
||||
required_ioport m_io_key3;
|
||||
required_ioport m_io_key4;
|
||||
required_ioport m_io_key5;
|
||||
required_ioport m_io_key6;
|
||||
required_ioport m_io_key7;
|
||||
required_ioport m_ioc_options;
|
||||
|
||||
dynamic_array<UINT8> m_ipc_ram;
|
||||
dynamic_array<UINT8> m_ipc_ram;
|
||||
|
||||
bool imds2_in_ipc_rom(offs_t offset) const;
|
||||
bool imds2_in_ipc_rom(offs_t offset) const;
|
||||
|
||||
void imds2_update_beeper(void);
|
||||
void imds2_update_beeper(void);
|
||||
|
||||
// IPC control port
|
||||
UINT8 m_ipc_control;
|
||||
// IPC control port
|
||||
UINT8 m_ipc_control;
|
||||
|
||||
// IPC ROM content
|
||||
const UINT8 *m_ipc_rom;
|
||||
// IPC ROM content
|
||||
const UINT8 *m_ipc_rom;
|
||||
|
||||
// Character generator
|
||||
const UINT8 *m_chargen;
|
||||
// Character generator
|
||||
const UINT8 *m_chargen;
|
||||
|
||||
// MISCOUT state
|
||||
UINT8 m_miscout;
|
||||
// MISCOUT state
|
||||
UINT8 m_miscout;
|
||||
|
||||
// Beeper timer line
|
||||
int m_beeper_timer;
|
||||
// Beeper timer line
|
||||
int m_beeper_timer;
|
||||
|
||||
// Keyboard state
|
||||
UINT8 m_kb_p1;
|
||||
// Keyboard state
|
||||
UINT8 m_kb_p1;
|
||||
|
||||
// IPC to IOC buffer
|
||||
UINT8 m_ioc_ibf;
|
||||
// IPC to IOC buffer
|
||||
UINT8 m_ioc_ibf;
|
||||
|
||||
// IOC to IPC buffer
|
||||
UINT8 m_ioc_obf;
|
||||
// IOC to IPC buffer
|
||||
UINT8 m_ioc_obf;
|
||||
|
||||
// IPC/IOC status
|
||||
UINT8 m_ipc_ioc_status;
|
||||
// IPC/IOC status
|
||||
UINT8 m_ipc_ioc_status;
|
||||
};
|
||||
|
||||
#endif /* _IMDS2_H_ */
|
||||
|
@ -1335,7 +1335,7 @@ $(MESSOBJ)/intel.a: \
|
||||
$(MESS_DRIVERS)/rex6000.o \
|
||||
$(MESS_DRIVERS)/sdk85.o \
|
||||
$(MESS_DRIVERS)/sdk86.o \
|
||||
$(MESS_DRIVERS)/imds2.o \
|
||||
$(MESS_DRIVERS)/imds2.o \
|
||||
|
||||
$(MESSOBJ)/imp.a: \
|
||||
$(MESS_DRIVERS)/tim011.o \
|
||||
@ -2137,22 +2137,22 @@ $(MESS_DRIVERS)/h8.o: $(MESS_LAYOUT)/h8.lh
|
||||
$(MESS_DRIVERS)/hh_hmcs40.o:$(MESS_LAYOUT)/hh_hmcs40_test.lh
|
||||
$(MESS_DRIVERS)/hh_pic16.o: $(MESS_LAYOUT)/maniac.lh
|
||||
$(MESS_DRIVERS)/hh_tms1k.o: $(MESS_LAYOUT)/amaztron.lh \
|
||||
$(MESS_LAYOUT)/bankshot.lh \
|
||||
$(MESS_LAYOUT)/cnsector.lh \
|
||||
$(MESS_LAYOUT)/comp4.lh \
|
||||
$(MESS_LAYOUT)/ebball.lh \
|
||||
$(MESS_LAYOUT)/ebball2.lh \
|
||||
$(MESS_LAYOUT)/ebball3.lh \
|
||||
$(MESS_LAYOUT)/elecdet.lh \
|
||||
$(MESS_LAYOUT)/mathmagi.lh \
|
||||
$(MESS_LAYOUT)/merlin.lh \
|
||||
$(MESS_LAYOUT)/simon.lh \
|
||||
$(MESS_LAYOUT)/ssimon.lh \
|
||||
$(MESS_LAYOUT)/splitsec.lh \
|
||||
$(MESS_LAYOUT)/starwbc.lh \
|
||||
$(MESS_LAYOUT)/stopthie.lh \
|
||||
$(MESS_LAYOUT)/tandy12.lh \
|
||||
$(MESS_LAYOUT)/tc4.lh
|
||||
$(MESS_LAYOUT)/bankshot.lh \
|
||||
$(MESS_LAYOUT)/cnsector.lh \
|
||||
$(MESS_LAYOUT)/comp4.lh \
|
||||
$(MESS_LAYOUT)/ebball.lh \
|
||||
$(MESS_LAYOUT)/ebball2.lh \
|
||||
$(MESS_LAYOUT)/ebball3.lh \
|
||||
$(MESS_LAYOUT)/elecdet.lh \
|
||||
$(MESS_LAYOUT)/mathmagi.lh \
|
||||
$(MESS_LAYOUT)/merlin.lh \
|
||||
$(MESS_LAYOUT)/simon.lh \
|
||||
$(MESS_LAYOUT)/ssimon.lh \
|
||||
$(MESS_LAYOUT)/splitsec.lh \
|
||||
$(MESS_LAYOUT)/starwbc.lh \
|
||||
$(MESS_LAYOUT)/stopthie.lh \
|
||||
$(MESS_LAYOUT)/tandy12.lh \
|
||||
$(MESS_LAYOUT)/tc4.lh
|
||||
$(MESS_DRIVERS)/hh_ucom4.o: $(MESS_LAYOUT)/hh_ucom4_test.lh
|
||||
$(MESS_DRIVERS)/ie15.o: $(MESS_LAYOUT)/ie15.lh
|
||||
$(MESS_DRIVERS)/instruct.o: $(MESS_LAYOUT)/instruct.lh
|
||||
|
@ -61,11 +61,11 @@
|
||||
virtual const char *LastErrorMsg() = 0;
|
||||
virtual void *getProcAddress(const char *proc) = 0;
|
||||
/*
|
||||
* 0 for immediate updates,
|
||||
* 1 for updates synchronized with the vertical retrace,
|
||||
* -1 for late swap tearing
|
||||
* 0 for immediate updates,
|
||||
* 1 for updates synchronized with the vertical retrace,
|
||||
* -1 for late swap tearing
|
||||
*
|
||||
* returns -1 if swap interval is not supported
|
||||
* returns -1 if swap interval is not supported
|
||||
*
|
||||
*/
|
||||
virtual int SetSwapInterval(const int swap) = 0;
|
||||
@ -99,7 +99,7 @@
|
||||
#undef GET_GLFUNC
|
||||
};
|
||||
#ifdef _MSC_VER
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#undef OSD_GL
|
||||
|
@ -78,9 +78,9 @@ public:
|
||||
#endif
|
||||
|
||||
render_primitive_list *m_primlist;
|
||||
osd_window_config m_win_config;
|
||||
osd_window_config m_win_config;
|
||||
protected:
|
||||
int m_prescale;
|
||||
int m_prescale;
|
||||
};
|
||||
|
||||
class osd_renderer
|
||||
@ -131,7 +131,7 @@ protected:
|
||||
private:
|
||||
|
||||
osd_window *m_window;
|
||||
int m_flags;
|
||||
int m_flags;
|
||||
};
|
||||
|
||||
|
||||
|
@ -118,7 +118,7 @@ public:
|
||||
|
||||
private:
|
||||
Uint32 m_sdl_access;
|
||||
sdl_info13 * m_renderer;
|
||||
sdl_info13 * m_renderer;
|
||||
render_texinfo m_texinfo; // copy of the texture info
|
||||
HashT m_hash; // hash value for the texture (must be >= pointer size)
|
||||
UINT32 m_flags; // rendering flags
|
||||
|
@ -281,50 +281,50 @@ private:
|
||||
|
||||
int setupPixelFormat(HDC hDC)
|
||||
{
|
||||
PIXELFORMATDESCRIPTOR pfd = {
|
||||
sizeof(PIXELFORMATDESCRIPTOR), /* size */
|
||||
1, /* version */
|
||||
PFD_SUPPORT_OPENGL |
|
||||
PFD_DRAW_TO_WINDOW |
|
||||
PFD_DOUBLEBUFFER, /* support double-buffering */
|
||||
PFD_TYPE_RGBA, /* color type */
|
||||
32, /* prefered color depth */
|
||||
0, 0, 0, 0, 0, 0, /* color bits (ignored) */
|
||||
0, /* no alpha buffer */
|
||||
0, /* alpha bits (ignored) */
|
||||
0, /* no accumulation buffer */
|
||||
0, 0, 0, 0, /* accum bits (ignored) */
|
||||
16, /* depth buffer */
|
||||
0, /* no stencil buffer */
|
||||
0, /* no auxiliary buffers */
|
||||
PFD_MAIN_PLANE, /* main layer */
|
||||
0, /* reserved */
|
||||
0, 0, 0, /* no layer, visible, damage masks */
|
||||
};
|
||||
int pixelFormat;
|
||||
PIXELFORMATDESCRIPTOR pfd = {
|
||||
sizeof(PIXELFORMATDESCRIPTOR), /* size */
|
||||
1, /* version */
|
||||
PFD_SUPPORT_OPENGL |
|
||||
PFD_DRAW_TO_WINDOW |
|
||||
PFD_DOUBLEBUFFER, /* support double-buffering */
|
||||
PFD_TYPE_RGBA, /* color type */
|
||||
32, /* prefered color depth */
|
||||
0, 0, 0, 0, 0, 0, /* color bits (ignored) */
|
||||
0, /* no alpha buffer */
|
||||
0, /* alpha bits (ignored) */
|
||||
0, /* no accumulation buffer */
|
||||
0, 0, 0, 0, /* accum bits (ignored) */
|
||||
16, /* depth buffer */
|
||||
0, /* no stencil buffer */
|
||||
0, /* no auxiliary buffers */
|
||||
PFD_MAIN_PLANE, /* main layer */
|
||||
0, /* reserved */
|
||||
0, 0, 0, /* no layer, visible, damage masks */
|
||||
};
|
||||
int pixelFormat;
|
||||
|
||||
pixelFormat = ChoosePixelFormat(hDC, &pfd);
|
||||
if (pixelFormat == 0) {
|
||||
strcpy(m_error, "ChoosePixelFormat failed");
|
||||
return 1;
|
||||
}
|
||||
pixelFormat = ChoosePixelFormat(hDC, &pfd);
|
||||
if (pixelFormat == 0) {
|
||||
strcpy(m_error, "ChoosePixelFormat failed");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (SetPixelFormat(hDC, pixelFormat, &pfd) != TRUE) {
|
||||
strcpy(m_error, "SetPixelFormat failed.");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
if (SetPixelFormat(hDC, pixelFormat, &pfd) != TRUE) {
|
||||
strcpy(m_error, "SetPixelFormat failed.");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool WGLExtensionSupported(const char *extension_name)
|
||||
{
|
||||
//if (pfn_wglGetExtensionsStringEXT != NULL)
|
||||
// printf("%s\n", this->pfn_wglGetExtensionsStringEXT());
|
||||
//if (pfn_wglGetExtensionsStringEXT != NULL)
|
||||
// printf("%s\n", this->pfn_wglGetExtensionsStringEXT());
|
||||
|
||||
if (pfn_wglGetExtensionsStringEXT != NULL && strstr(pfn_wglGetExtensionsStringEXT(), extension_name) != NULL)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
if (pfn_wglGetExtensionsStringEXT != NULL && strstr(pfn_wglGetExtensionsStringEXT(), extension_name) != NULL)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
HGLRC m_context;
|
||||
@ -589,7 +589,7 @@ private:
|
||||
int m_height;
|
||||
osd_dim m_blit_dim;
|
||||
|
||||
osd_gl_context *m_gl_context;
|
||||
osd_gl_context *m_gl_context;
|
||||
|
||||
int m_initialized; // is everything well initialized, i.e. all GL stuff etc.
|
||||
// 3D info (GL mode only)
|
||||
|
@ -131,9 +131,9 @@ public:
|
||||
osd_monitor_info *m_next; // pointer to next monitor in list
|
||||
protected:
|
||||
virtual void refresh() = 0;
|
||||
osd_rect m_pos_size;
|
||||
osd_rect m_usuable_pos_size;
|
||||
bool m_is_primary;
|
||||
osd_rect m_pos_size;
|
||||
osd_rect m_usuable_pos_size;
|
||||
bool m_is_primary;
|
||||
char m_name[64];
|
||||
private:
|
||||
|
||||
@ -185,7 +185,7 @@ struct osd_video_config
|
||||
int syncrefresh; // sync only to refresh rate
|
||||
int switchres; // switch resolutions
|
||||
|
||||
int fullstretch; // FXIME: implement in windows!
|
||||
int fullstretch; // FXIME: implement in windows!
|
||||
|
||||
// ddraw options
|
||||
int hwstretch; // stretch using the hardware
|
||||
|
@ -1153,8 +1153,8 @@ OSDWORK_CALLBACK( sdl_window_info::complete_create_wt )
|
||||
|
||||
#ifdef SDLMAME_MACOSX
|
||||
/* FIMXE: On OSX, SDL_WINDOW_FULLSCREEN_DESKTOP seems to be more reliable.
|
||||
* It however creates issues with white borders, i.e. the screen clear
|
||||
* does not work. This happens both with opengl and accel.
|
||||
* It however creates issues with white borders, i.e. the screen clear
|
||||
* does not work. This happens both with opengl and accel.
|
||||
*/
|
||||
#endif
|
||||
|
||||
|
@ -131,9 +131,9 @@ public:
|
||||
osd_monitor_info *m_next; // pointer to next monitor in list
|
||||
protected:
|
||||
virtual void refresh() = 0;
|
||||
osd_rect m_pos_size;
|
||||
osd_rect m_usuable_pos_size;
|
||||
bool m_is_primary;
|
||||
osd_rect m_pos_size;
|
||||
osd_rect m_usuable_pos_size;
|
||||
bool m_is_primary;
|
||||
char m_name[64];
|
||||
private:
|
||||
|
||||
@ -175,7 +175,7 @@ struct osd_video_config
|
||||
int syncrefresh; // sync only to refresh rate
|
||||
int switchres; // switch resolutions
|
||||
|
||||
int fullstretch; // FXIME: implement in windows!
|
||||
int fullstretch; // FXIME: implement in windows!
|
||||
|
||||
// ddraw options
|
||||
int hwstretch; // stretch using the hardware
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#define BARE_BUILD_VERSION "0.159"
|
||||
#define BARE_BUILD_VERSION "0.160"
|
||||
|
||||
extern const char bare_build_version[];
|
||||
extern const char build_version[];
|
||||
|
Loading…
Reference in New Issue
Block a user