Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Robbbert committed Aug 8, 2024
2 parents 0a568f5 + 061098f commit 9c7ce70
Show file tree
Hide file tree
Showing 8 changed files with 107 additions and 7 deletions.
30 changes: 30 additions & 0 deletions src/mame/gaelco/gaelco3d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1011,6 +1011,27 @@ Gaelco was notorious for using the same ROM labels even when ROM data changed. T
Occasionally PCBs have been observed with a handwritten version on the labels, but it's unknown if it's a factory or operator addition.
*/

/*
Speed Up uses a small external PCB with a PIC for credit distribution:
________________________
| ____ ____ |
| ···· ···· |
| ______ _________ ·||
| LM340T5 |PIC16C54| ·||
| ___ ·||
| _________ | | ·||
| |ULN2003A1| | | |
| ___ | <-74HCT245N
|| | _________ |__| |
|| | |_DIPSx8_| ·||
|| <-CD74HCT174E ·||
||__| _________ ·||
| |74HCT245N ·||
|_______________________|
Manuals with dip switches setup and schematics can be downloaded from https://www.recreativas.org/manuales/videojuegos
*/

ROM_START( speedup ) // Version 2.20 - REF. 960717 ROM board
ROM_REGION( 0x200000, "maincpu", 0 ) // 68000 code
ROM_LOAD16_BYTE( "sup_2.2_10.ic10", 0x000000, 0x80000, CRC(ee781e64) SHA1(d90fa9319982fa389c2032e13d59850971078006) ) // 2.2 is handwritten between SUP and 10
Expand All @@ -1035,6 +1056,9 @@ ROM_START( speedup ) // Version 2.20 - REF. 960717 ROM board
// These 2 are copies of the previous 2 at different IC locations
// ROM_LOAD( "ic43.bin", 0x0000000, 0x020000, CRC(34737d1d) SHA1(e9109a88e211aa49851e72a6fa3417f1cad1cb8b) ) // nondescript green dot label
// ROM_LOAD( "ic42.bin", 0x0020000, 0x020000, CRC(e89e829b) SHA1(50c99bd9667d78a61252eaad5281a2e7f57be85a) ) // nondescript white dot label

ROM_REGION( 0x2000, "coin", 0 ) // Credit distribution PCB
ROM_LOAD( "2x1c_pic16c54.u1", 0x0000, 0x2000, NO_DUMP )
ROM_END

ROM_START( speedup12 ) // Version 1.20 - REF. 960717 ROM board
Expand All @@ -1061,6 +1085,9 @@ ROM_START( speedup12 ) // Version 1.20 - REF. 960717 ROM board
// These 2 are copies of the previous 2 at different IC locations
// ROM_LOAD( "ic43.bin", 0x0000000, 0x020000, CRC(34737d1d) SHA1(e9109a88e211aa49851e72a6fa3417f1cad1cb8b) ) // nondescript green dot label
// ROM_LOAD( "ic42.bin", 0x0020000, 0x020000, CRC(e89e829b) SHA1(50c99bd9667d78a61252eaad5281a2e7f57be85a) ) // nondescript white dot label

ROM_REGION( 0x2000, "coin", 0 ) // Credit distribution PCB
ROM_LOAD( "2x1c_pic16c54.u1", 0x0000, 0x2000, NO_DUMP )
ROM_END

ROM_START( speedup10 ) // Version 1.00 - REF. 960717 ROM board
Expand All @@ -1087,6 +1114,9 @@ ROM_START( speedup10 ) // Version 1.00 - REF. 960717 ROM board
// These 2 are copies of the previous 2 at different IC locations
// ROM_LOAD( "ic43.bin", 0x0000000, 0x020000, CRC(34737d1d) SHA1(e9109a88e211aa49851e72a6fa3417f1cad1cb8b) ) // nondescript green dot label
// ROM_LOAD( "ic42.bin", 0x0020000, 0x020000, CRC(e89e829b) SHA1(50c99bd9667d78a61252eaad5281a2e7f57be85a) ) // nondescript white dot label

ROM_REGION( 0x2000, "coin", 0 ) // Credit distribution PCB
ROM_LOAD( "2x1c_pic16c54.u1", 0x0000, 0x2000, NO_DUMP )
ROM_END


Expand Down
3 changes: 3 additions & 0 deletions src/mame/igs/pgm2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1220,6 +1220,9 @@ ROM_START( bubucar )

ROM_REGION( 0x10000, "sram", 0 )
ROM_LOAD( "bubucar_en_sram", 0x0000000, 0x0010000, NO_DUMP )

ROM_REGION( 0x603, "cpld", 0 )
ROM_LOAD( "xilinx_xc2c32a-vqg44.u14", 0x0000000, 0x0000603, CRC(bf461ea6) SHA1(26c434f189a3730a07cec3ebd9a05d0d0d5e4a55) )
ROM_END

static void iga_u16_decode(u16 *rom, int len, int ixor)
Expand Down
1 change: 1 addition & 0 deletions src/mame/mame.lst
Original file line number Diff line number Diff line change
Expand Up @@ -45643,6 +45643,7 @@ domfitad //
dombikec //

@source:tvgames/xavix_2000.cpp
duelmast //
epo_ebox //
epo_bowl //
epo_sdb //
Expand Down
8 changes: 3 additions & 5 deletions src/mame/neogeo/midas.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -184,10 +184,8 @@ void midas_state::zoomtable_w(offs_t offset, uint16_t data, uint16_t mem_mask)

if (ACCESSING_BITS_0_7)
{
m_zoomtable[offset+0x00000] = data & 0xff;
m_zoomtable[offset+0x10000] = data & 0xff;
m_zoomtable[offset] = data & 0xff;
}

}
/***************************************************************************************
Live Quiz Show
Expand Down Expand Up @@ -814,7 +812,7 @@ ROM_START( livequiz )
ROM_REGION( 0x200000, "ymz", 0 )
ROM_LOAD( "flash.u5", 0x000000, 0x200000, CRC(dc062792) SHA1(ec415c918c47ce9d181f014cde317af5717600e4) )

ROM_REGION( 0x20000, "spritegen:zoomy", ROMREGION_ERASE00 )
ROM_REGION( 0x10000, "spritegen:zoomy", ROMREGION_ERASE00 )
/* uploaded */
ROM_END

Expand Down Expand Up @@ -912,7 +910,7 @@ ROM_START( hammer )
ROM_LOAD( "s0.u25", 0x000000, 0x200000, CRC(c049a3e0) SHA1(0c7016c3128c170a84ad3f92fad1165775210e3d) )
ROM_LOAD( "s1.u26", 0x200000, 0x200000, CRC(9cc4b3ec) SHA1(b91a8747074a1032eb7f70a015d394fe8e896d7e) )

ROM_REGION( 0x20000, "spritegen:zoomy", ROMREGION_ERASE00 )
ROM_REGION( 0x10000, "spritegen:zoomy", ROMREGION_ERASE00 )
/* uploaded */
ROM_END

Expand Down
4 changes: 2 additions & 2 deletions src/mame/neogeo/neogeo_spr.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

// todo, move these back, currently the sprite code needs some of the values tho
#define NEOGEO_HTOTAL (0x180)
#define NEOGEO_HBEND (0x01e) /* this should really be 29.5 */
#define NEOGEO_HBSTART (0x15e) /* this should really be 349.5 */
#define NEOGEO_HBEND (0x01c) // verified from https://wiki.neogeodev.org/index.php?title=Display_timing
#define NEOGEO_HBSTART (0x15c)
#define NEOGEO_VTOTAL (0x108)
#define NEOGEO_VBEND (0x010)
#define NEOGEO_VBSTART (0x0f0)
Expand Down
11 changes: 11 additions & 0 deletions src/mame/tvgames/xavix.h
Original file line number Diff line number Diff line change
Expand Up @@ -1000,5 +1000,16 @@ class xavix_hikara_state : public xavix_ekara_state

};

class xavix_duelmast_state : public xavix_i2c_state
{
public:
xavix_duelmast_state(const machine_config &mconfig, device_type type, const char *tag)
: xavix_i2c_state(mconfig, type, tag)
{ }

protected:
virtual uint8_t read_io1(uint8_t direction) override;
};


#endif // MAME_TVGAMES_XAVIX_H
28 changes: 28 additions & 0 deletions src/mame/tvgames/xavix_2000.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,23 @@ static INPUT_PORTS_START( epo_bowl )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("i2cmem", i2cmem_device, read_sda)
INPUT_PORTS_END

static INPUT_PORTS_START( duelmast )
PORT_INCLUDE(xavix)

PORT_MODIFY("IN0")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)

PORT_MODIFY("IN1")
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("i2cmem", i2cmem_device, read_sda)
INPUT_PORTS_END


static INPUT_PORTS_START( epo_sdb )
PORT_INCLUDE(xavix)

Expand Down Expand Up @@ -274,11 +291,22 @@ ROM_START( ban_onep )
ROM_LOAD("onepiece.bin", 0x000000, 0x800000, CRC(c5cb5a5f) SHA1(db85f6cc48d77c5a4967b9b8e2999167e3dfc8c8) )
ROM_END

ROM_START( duelmast )
ROM_REGION(0x200000, "bios", ROMREGION_ERASE00)
ROM_LOAD("duelmasters.u4", 0x000000, 0x200000, CRC(2f11fcd7) SHA1(d8849c74833e77b8b309e845523f2cdc7ac68054) )
ROM_END


// doesn't use extra opcodes?
CONS( 2002, epo_ebox, 0, 0, xavix2000_nv, epo_ebox, xavix_state, init_xavix, "Epoch / SSD Company LTD", "Excite Boxing (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // doesn't use XaviX2000 extra opcodes, but had that type of CPU
// die not confirmed, but uses extra opcodes. (hangs on title screen due to combination of freq_timer_done nested interrupts tripping, and waiting on bits in input ports to change
CONS( 2002, epo_bowl, 0, 0, xavix2000_i2c_24c04, epo_bowl, xavix_i2c_state, init_xavix, "Epoch / SSD Company LTD", "Excite Bowling (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )

// takes a long time to boot to a card scanner error
// This is a product in the Duel Masters line called Duel Station; the boot up screen calls it Duel Station, title logo is Duel Masters
// It also has a cartridge slot in addition to the card scanner and at least 1 ROM cartridge was produced "デュエルマスターズ デュエルステーション専用カートリッジ Ver.1"
CONS( 2003, duelmast, 0, 0, xavix2000_i2c_24c04, duelmast, xavix_duelmast_state, init_xavix, "Takara / SSD Company LTD", "Duel Masters: Duel Station (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )

CONS( 2004, epo_sdb, 0, 0, xavix2000_nv_sdb, epo_sdb, xavix_2000_nv_sdb_state, init_xavix, "Epoch / SSD Company LTD", "Super Dash Ball (Japan)", MACHINE_IMPERFECT_SOUND )

CONS( 2005, ttv_sw, 0, 0, xavix2000_i2c_24c02, ttv_lotr, xavix_i2c_lotr_state, init_xavix, "Tiger / SSD Company LTD", "Star Wars Saga Edition - Lightsaber Battle Game", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
Expand Down
29 changes: 29 additions & 0 deletions src/mame/tvgames/xavix_m.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,35 @@ uint8_t xavix_state::read_io1(uint8_t direction)
return m_in1->read();
}

uint8_t xavix_duelmast_state::read_io1(uint8_t direction)
{
int pc = m_maincpu->pc();

// hacks to get it to boot. It will still spin for a long time on a black
// screen before giving a card scanner error, you can bypass that with button 1
// but the game isn't playable

if (pc == 0x3c01)
return 0x00;

if (pc == 0x3c06)
return 0x02;

if (pc == 0x3c14)
return 0x04;

if (pc == 0x3c19)
return 0x00;

if (pc == 0x3c25)
return 0x04;

if (pc == 0x3c2a)
return 0x00;

return m_in1->read();
}

void xavix_state::write_io0(uint8_t data, uint8_t direction)
{
// no special handling
Expand Down

0 comments on commit 9c7ce70

Please sign in to comment.