This commit is contained in:
angelosa 2015-07-21 23:51:07 +02:00
commit 6da34a3c4d
12 changed files with 261 additions and 26 deletions

View File

@ -5,7 +5,6 @@
TODO:
- Properly hook up correct SRAM sizes for different moonsound compatible
cartridges. (Original moonsound has 128KB SRAM)
- Fix FM support (ymf262 support needs to be added to ymf278b).
**********************************************************************************/
@ -42,6 +41,10 @@ static MACHINE_CONFIG_FRAGMENT( moonsound )
MCFG_YMF278B_IRQ_HANDLER(WRITELINE(msx_cart_moonsound,irq_w))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.50)
MCFG_SOUND_ROUTE(2, "lspeaker", 0.40)
MCFG_SOUND_ROUTE(3, "rspeaker", 0.40)
MCFG_SOUND_ROUTE(4, "lspeaker", 0.40)
MCFG_SOUND_ROUTE(5, "rspeaker", 0.40)
MACHINE_CONFIG_END

View File

@ -31,7 +31,6 @@ public:
private:
required_device<ymf278b_device> m_ymf278b;
};

View File

@ -12,6 +12,11 @@
TODO:
- what happens with uCOM-43 opcodes on an uCOM-44/45 MCU?
- what's the data after the ROM data for? (eg. 2000-2047, official ROM size is 2000)
- is DPh internally 3-bit or 4-bit? (currently assume 4-bit, it could have effect
on specific uCOM-43 exchange opcodes)
- RAM access from 0x50-0x7f on data_96x4
- invalid port accesses via DPl
- documentation is conflicting if IRQ is level or edge triggered
*/
@ -116,10 +121,10 @@ void ucom4_cpu_device::device_start()
m_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(ucom4_cpu_device::simple_timer_cb), this));
// resolve callbacks
m_read_a.resolve_safe(0xf);
m_read_b.resolve_safe(0xf);
m_read_c.resolve_safe(0xf);
m_read_d.resolve_safe(0xf);
m_read_a.resolve_safe(0);
m_read_b.resolve_safe(0);
m_read_c.resolve_safe(0);
m_read_d.resolve_safe(0);
m_write_c.resolve_safe();
m_write_d.resolve_safe();

View File

@ -216,8 +216,8 @@ protected:
void ram_w(UINT8 data);
void pop_stack();
void push_stack();
UINT8 input_r(int index);
void output_w(int index, UINT8 data);
virtual UINT8 input_r(int index);
virtual void output_w(int index, UINT8 data);
bool check_op_43();
TIMER_CALLBACK_MEMBER( simple_timer_cb );
@ -322,6 +322,9 @@ class upd650_cpu_device : public ucom4_cpu_device
{
public:
upd650_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
protected:
virtual UINT8 input_r(int index);
};

View File

@ -43,8 +43,8 @@ UINT8 ucom4_cpu_device::input_r(int index)
{
case NEC_UCOM4_PORTA: inp = m_read_a(index, 0xff); break;
case NEC_UCOM4_PORTB: inp = m_read_b(index, 0xff); break;
case NEC_UCOM4_PORTC: inp = m_read_c(index, 0xff); break;
case NEC_UCOM4_PORTD: inp = m_read_d(index, 0xff); break;
case NEC_UCOM4_PORTC: inp = m_read_c(index, 0xff) | m_port_out[index]; break;
case NEC_UCOM4_PORTD: inp = m_read_d(index, 0xff) | m_port_out[index]; break;
default:
logerror("%s read from unknown port %c at $%03X\n", tag(), 'A' + index, m_prev_pc);
@ -54,6 +54,15 @@ UINT8 ucom4_cpu_device::input_r(int index)
return inp & 0xf;
}
UINT8 upd650_cpu_device::input_r(int index)
{
// bidirectional ports are 'push-pull', meaning it will output 0 when it's read
if ((index & 0xf) == NEC_UCOM4_PORTC || (index & 0xf) == NEC_UCOM4_PORTD)
output_w(index, 0);
return ucom4_cpu_device::input_r(index);
}
void ucom4_cpu_device::output_w(int index, UINT8 data)
{
index &= 0xf;

View File

@ -43,13 +43,12 @@
TODO:
- accurate timing of envelopes
- LFO (vibrato, tremolo)
- integrate YMF262 (used by Fuuki games, not used by Psikyo and Metro games)
- able to hook up "Moonsound", supporting mixed ROM+RAM (for MSX driver in MESS)
(this should be possible now by using a custom address map?)
- integrate YMF262 mixing (used by Fuuki games, not used by Psikyo and Metro games)
*/
#include "emu.h"
#include "ymf278b.h"
#include "ymf262.h"
#define VERBOSE 0
#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
@ -226,6 +225,12 @@ void ymf278b_device::sound_stream_update(sound_stream &stream, stream_sample_t *
INT32 *mixp;
INT32 vl, vr;
if (&stream == m_stream_ymf262)
{
ymf262_update_one(m_ymf262, outputs, samples);
return;
}
memset(m_mix_buffer, 0, sizeof(m_mix_buffer[0])*samples*2);
for (i = 0; i < 24; i++)
@ -683,6 +688,7 @@ WRITE8_MEMBER( ymf278b_device::write )
timer_busy_start(0);
m_port_AB = data;
m_lastport = offset>>1 & 1;
ymf262_write(m_ymf262, offset, data);
break;
case 1:
@ -691,6 +697,7 @@ WRITE8_MEMBER( ymf278b_device::write )
if (m_lastport) B_w(m_port_AB, data);
else A_w(m_port_AB, data);
m_last_fm_data = data;
ymf262_write(m_ymf262, offset, data);
break;
case 4:
@ -830,6 +837,14 @@ void ymf278b_device::device_reset()
m_current_irq = 0;
if (!m_irq_handler.isnull())
m_irq_handler(0);
ymf262_reset_chip(m_ymf262);
}
void ymf278b_device::device_stop()
{
ymf262_shutdown(m_ymf262);
m_ymf262 = NULL;
}
void ymf278b_device::precompute_rate_tables()
@ -928,6 +943,28 @@ void ymf278b_device::register_save_state()
// device_start - device-specific startup
//-------------------------------------------------
static void ymf278b_ymf262_irq_handler(void *param,int irq)
{
}
static void ymf278b_ymf262_timer_handler(void *param, int c, const attotime &period)
{
}
static void ymf278b_ymf262_update_request(void *param, int interval)
{
ymf278b_device *ymf278b = (ymf278b_device *) param;
ymf278b->ymf262_update_request();
}
void ymf278b_device::ymf262_update_request()
{
m_stream_ymf262->update();
}
void ymf278b_device::device_start()
{
int i;
@ -973,6 +1010,20 @@ void ymf278b_device::device_start()
// Register state for saving
register_save_state();
// YMF262 related
/* stream system initialize */
int ymf262_clock = clock() / (19/8.0);
m_ymf262 = ymf262_init(this, ymf262_clock, ymf262_clock / 288);
assert_always(m_ymf262 != NULL, "Error creating YMF262 chip");
m_stream_ymf262 = machine().sound().stream_alloc(*this, 0, 4, ymf262_clock / 288);
/* YMF262 setup */
ymf262_set_timer_handler (m_ymf262, ymf278b_ymf262_timer_handler, this);
ymf262_set_irq_handler (m_ymf262, ymf278b_ymf262_irq_handler, this);
ymf262_set_update_handler(m_ymf262, ymf278b_ymf262_update_request, this);
}

View File

@ -25,11 +25,14 @@ public:
DECLARE_READ8_MEMBER( read );
DECLARE_WRITE8_MEMBER( write );
void ymf262_update_request();
protected:
// device-level overrides
virtual void device_config_complete();
virtual void device_start();
virtual void device_reset();
virtual void device_stop();
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
@ -132,6 +135,10 @@ private:
const address_space_config m_space_config;
devcb_write_line m_irq_handler;
UINT8 m_last_fm_data;
// ymf262
void *m_ymf262;
sound_stream * m_stream_ymf262;
};
extern const device_type YMF278B;

View File

@ -6480,6 +6480,7 @@ mogura // GX141 (c) 1991
wecleman // GX602 (c) 1986
wecleman2 // GX602?(c) 1988
hotchase // GX763 (c) 1988
hotchasea
chqflag // GX717 (c) 1988
chqflagj // GX717 (c) 1988 (Japan)
ultraman // GX910 (c) 1991 Banpresto/Bandai

View File

@ -38,8 +38,6 @@ Notes so far:
- PCM channels of music in asurabus is sometimes off-tune, check Chen-Mao's stage for example
note: srom.u7 (z80 prg) is a good dump
- YMF278B and YMF262 are hooked up in an awkward way (real chip has YMF262 integrated)
Asura Blade
Fuuki Co. Ltd., 1998
@ -162,7 +160,6 @@ FG-3J ROM-J 507KA0301P04 Rev:1.3
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "sound/ymf278b.h"
#include "sound/262intf.h"
#include "includes/fuukifg3.h"
@ -258,10 +255,6 @@ WRITE8_MEMBER(fuuki32_state::snd_z80_w)
WRITE8_MEMBER(fuuki32_state::snd_ymf278b_w)
{
machine().device<ymf278b_device>("ymf1")->write(space, offset, data);
// also write to ymf262
if (offset < 4)
machine().device<ymf262_device>("ymf2")->write(space, offset, data);
}
static ADDRESS_MAP_START( fuuki32_sound_map, AS_PROGRAM, 8, fuuki32_state )
@ -584,12 +577,10 @@ static MACHINE_CONFIG_START(fuuki32, fuuki32_state)
MCFG_YMF278B_IRQ_HANDLER(INPUTLINE("soundcpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.50)
MCFG_SOUND_ADD("ymf2", YMF262, YMF278B_STD_CLOCK / (19/8.0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.40)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.40)
MCFG_SOUND_ROUTE(2, "lspeaker", 0.40)
MCFG_SOUND_ROUTE(3, "rspeaker", 0.40)
MCFG_SOUND_ROUTE(4, "lspeaker", 0.40)
MCFG_SOUND_ROUTE(5, "rspeaker", 0.40)
MACHINE_CONFIG_END

View File

@ -1405,6 +1405,169 @@ ROM_START( hotchase )
ROM_LOAD( "763a12", 0x000000, 0x008000, CRC(05f1e553) SHA1(8aaeb7374bd93038c24e6470398936f22cabb0fe) )
ROM_END
/*
Hot Chase
Konami 1988
E08D E08B E09D E09B E10D E10B
E08A E08C E09A E09C E10A E10C
GX763 350861
E09 E10 E11
E08 07232 07232
07232 3.579MHz 2128
6809 P01.R10
SW1
SW2 2128 2128
6264 6264 6264 6264
R02.P14 R03.R14
07770 R04.P16 R05.R16
2018-45 D06.E18 D07.H18 10MHz
2018-45 68000-10 07641 68000-10
GX763 350860
051316 PSAC 051316 PSAC A13.H5 A14.J5
2018-45 2018-R6
2018-45
2018-45 07558
051316 PSAC 2018-45 A12.R13
A15.H14
A23.B17 07634
07635
2018-45 2018-45
2018-45 2018-45 07557
2018-45 2018-45 25.2MHz
2018-45 2018-45
Left EPROM board
E19A.A8 E19B.A7 E19C.A6 E19D.A5
E22E.B12 E22F.B11 E22G.B10 E22H.B9 E19E.B8 E19F.B7 E19G.B6 E19H.B5
E22A.D9 E22B.D7 E22C.D6 E22D.D5
Right EPROM board
E21E E21F E21G E21H E17A E17B E17C E17D E18A E18B E18C E18D
E20E E20F E20G E20H E17E E17F E17G E17H E18E E18F E18G E18H
E20A E20B E20C E20D E21A E21B E21C E21D
*/
// uses EPROM sub-boards in place of some of the MASK roms, different program too
ROM_START( hotchasea )
ROM_REGION( 0x40000, "maincpu", 0 ) /* Main Code */
ROM_LOAD16_BYTE( "763r05.r16", 0x000000, 0x010000, CRC(c880d5e4) SHA1(3c3ab3ad5496cfbc8de76620eedc06601ee7a8c7) )
ROM_LOAD16_BYTE( "763r04.p16", 0x000001, 0x010000, CRC(b732ee2c) SHA1(b3d73cf5039980ac74927eef656326515fd2026b) )
ROM_LOAD16_BYTE( "763r03.r14", 0x020000, 0x010000, CRC(13dd71de) SHA1(4b86b81ef79e0e92a1e458010b0b9574183a9c29) )
ROM_LOAD16_BYTE( "763r02.p14", 0x020001, 0x010000, CRC(6cd1a18e) SHA1(0ddfe6a46e95052534325f228b7f0faba121950e) )
ROM_REGION( 0x20000, "sub", 0 ) /* Sub Code */
ROM_LOAD16_BYTE( "763d07.h18", 0x000000, 0x010000, CRC(ae12fa90) SHA1(7f76f09916fe152411b5af3c504ee7be07497ef4) )
ROM_LOAD16_BYTE( "763d06.e18", 0x000001, 0x010000, CRC(b77e0c07) SHA1(98bf492ac889d31419df706029fdf3d51b85c936) )
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound Code */
ROM_LOAD( "763p01.r10", 0x8000, 0x8000, CRC(15dbca7b) SHA1(ac0c965b72a8579a3b60dbadfb942248d2cff2d8) )
ROM_REGION( 0x300000 * 2, "gfx1", 0 ) /* x2, do not dispose, zooming sprites */
ROM_LOAD16_BYTE( "763e17a", 0x000000, 0x010000, CRC(8542d7d7) SHA1(a7c8aa7d8e0cabdc5269eb7adff944aaa0f819b6) )
ROM_LOAD16_BYTE( "763e17e", 0x000001, 0x010000, CRC(4b4d919c) SHA1(0364eb74da8db7238888274d12011de876662d5a) )
ROM_LOAD16_BYTE( "763e17b", 0x020000, 0x010000, CRC(ba9d7e72) SHA1(3af618087dcc66552ffabaf655f97b20e597122c) )
ROM_LOAD16_BYTE( "763e17f", 0x020001, 0x010000, CRC(582400bb) SHA1(9479e45087d908c9b20392dba2a752a7ec1482e2) )
ROM_LOAD16_BYTE( "763e17c", 0x040000, 0x010000, CRC(0ed292f8) SHA1(8c161e73c7f27925377799f67585b888bade6d82) )
ROM_LOAD16_BYTE( "763e17g", 0x040001, 0x010000, CRC(35b27ed7) SHA1(e17e7674ee210ff340482a16dce3439b55c29f72) )
ROM_LOAD16_BYTE( "763e17d", 0x060000, 0x010000, CRC(0166d00d) SHA1(e58f6deabc5743f6610252242f97bd5e973316ae) )
ROM_LOAD16_BYTE( "763e17h", 0x060001, 0x010000, CRC(e5b8e8e6) SHA1(ae1349977559ff24dcd1678d6fd3a3e118612d07) )
ROM_LOAD16_BYTE( "763e20a", 0x080000, 0x010000, CRC(256fe63c) SHA1(414325f2ff9abc411e2401dddd216e1a4de8a01e) )
ROM_LOAD16_BYTE( "763e20e", 0x080001, 0x010000, CRC(ee8ca7e1) SHA1(fee544d6508f4106176f39e3765961e9f80fe620) )
ROM_LOAD16_BYTE( "763e20b", 0x0a0000, 0x010000, CRC(b6714c24) SHA1(88f6437e181f36b7e44f1c70872314d8c0cc30e7) )
ROM_LOAD16_BYTE( "763e20f", 0x0a0001, 0x010000, CRC(9dbc4b21) SHA1(31559903707a4f8ba3b044e8aad928de38403dcf) )
ROM_LOAD16_BYTE( "763e20c", 0x0c0000, 0x010000, CRC(5173ad9b) SHA1(afe82c69f7036c7595f1a56b22176ba202b00b5c) )
ROM_LOAD16_BYTE( "763e20g", 0x0c0001, 0x010000, CRC(b8c77f99) SHA1(e3bea1481c5b1c4733130651f9cf18587d3efc46) )
ROM_LOAD16_BYTE( "763e20d", 0x0e0000, 0x010000, CRC(4ebdba32) SHA1(ac7daa291c82f75b09faf7bc5f6257870cc46061) )
ROM_LOAD16_BYTE( "763e20h", 0x0e0001, 0x010000, CRC(0a428654) SHA1(551026f6f57d38aedd3498cce33af7bb2cf07184) )
ROM_LOAD16_BYTE( "763e18a", 0x100000, 0x010000, CRC(09748099) SHA1(1821e2067b9a50a0638c8d105c617f4030d61877) )
ROM_LOAD16_BYTE( "763e18e", 0x100001, 0x010000, CRC(049d4fcf) SHA1(aed18297677a3bb0b7197f59ea329aef9b678c01) )
ROM_LOAD16_BYTE( "763e18b", 0x120000, 0x010000, CRC(ed0c3369) SHA1(84f336546dee01fec31c9c256ee00a9f8448cea4) )
ROM_LOAD16_BYTE( "763e18f", 0x120001, 0x010000, CRC(b596a9ce) SHA1(dea0fe1c3386b5f0d19df4467f42d077678ae220) )
ROM_LOAD16_BYTE( "763e18c", 0x140000, 0x010000, CRC(5a278291) SHA1(05c529baa68ef5877a28901c6f221e3d3593735f) )
ROM_LOAD16_BYTE( "763e18g", 0x140001, 0x010000, CRC(aa7263cd) SHA1(b2acf66c02faf7777c5cb947aaf8e038f29c0f2e) )
ROM_LOAD16_BYTE( "763e18d", 0x160000, 0x010000, CRC(b0b79a71) SHA1(46d0f17b7a6e4fb94ac9b8335bc598339d7707a5) )
ROM_LOAD16_BYTE( "763e18h", 0x160001, 0x010000, CRC(a18b9127) SHA1(890971d2922a59ff4beea00238e710c8d3e0f19d) )
ROM_LOAD16_BYTE( "763e21a", 0x180000, 0x010000, CRC(60788c29) SHA1(4faaa192d07f6acac0e7d11676146ecd0e71541f) )
ROM_LOAD16_BYTE( "763e21e", 0x180001, 0x010000, CRC(844799ff) SHA1(8dc3ae3bb30ecb4e921a5b2068d3cd9421577844) )
ROM_LOAD16_BYTE( "763e21b", 0x1a0000, 0x010000, CRC(1eefed61) SHA1(9c09dbff073d63384bf1ec9df4db4833afa33826) )
ROM_LOAD16_BYTE( "763e21f", 0x1a0001, 0x010000, CRC(3aacfb10) SHA1(fb3eebf1f0850ed2f8f02cd4b5b564524e391afd) )
ROM_LOAD16_BYTE( "763e21c", 0x1c0000, 0x010000, CRC(97e48b37) SHA1(864c73f48d839c2afeecec99605be6111f450ddd) )
ROM_LOAD16_BYTE( "763e21g", 0x1c0001, 0x010000, CRC(74fefb12) SHA1(7746918c3ea8981c9cb2ead79a252939ba8bde3f) )
ROM_LOAD16_BYTE( "763e21d", 0x1e0000, 0x010000, CRC(dd41569e) SHA1(065ee2de9ad6980788807cb563feccef1c3d1b9d) )
ROM_LOAD16_BYTE( "763e21h", 0x1e0001, 0x010000, CRC(7ea52bf6) SHA1(2be93f88ccdea989b05beca13ebbfb77626ea41f) )
ROM_LOAD16_BYTE( "763e19a", 0x200000, 0x010000, CRC(8c912c46) SHA1(e314edc39c32471c6fa2969e7c5c771c19fda88c) )
ROM_LOAD16_BYTE( "763e19e", 0x200001, 0x010000, CRC(0eb34787) SHA1(9b8145dae210a177585e672fce30339b39c3c0f3) )
ROM_LOAD16_BYTE( "763e19b", 0x220000, 0x010000, CRC(79960729) SHA1(f5c20ed7683aad8a435c292fbd5a1acc2a97ecee) )
ROM_LOAD16_BYTE( "763e19f", 0x220001, 0x010000, CRC(1764ec5f) SHA1(4f7a0a3667087523a1ccdfc2d0e54a520f1216b3) )
ROM_LOAD16_BYTE( "763e19c", 0x240000, 0x010000, CRC(f13377ac) SHA1(89f8d730cb457cc9cf55049b7002514302b2b04f) )
ROM_LOAD16_BYTE( "763e19g", 0x240001, 0x010000, CRC(f2102e89) SHA1(41ff5d8904618a77c7c3c78c52c6f1b9c5a318fd) )
ROM_LOAD16_BYTE( "763e19d", 0x260000, 0x010000, CRC(0b2a19f4) SHA1(3689b2c1f6227224fbcecc0d2470048a99510794) )
ROM_LOAD16_BYTE( "763e19h", 0x260001, 0x010000, CRC(cd6d08a5) SHA1(ce13a8bba84f24e7d1fb25254e2e95f591fe1d67) )
ROM_LOAD16_BYTE( "763e22a", 0x280000, 0x010000, CRC(16eec250) SHA1(f50375f207575e9d280285aca493902afbb7d729) )
ROM_LOAD16_BYTE( "763e22e", 0x280001, 0x010000, CRC(c184b1c0) SHA1(d765e6eb2631b77dff5331840ac2a99cf1250362) )
ROM_LOAD16_BYTE( "763e22b", 0x2a0000, 0x010000, CRC(1afe4b0c) SHA1(ce5a855291b443c1e16dbf54730960600c754fee) )
ROM_LOAD16_BYTE( "763e22f", 0x2a0001, 0x010000, CRC(61f27c98) SHA1(d80af1a3e424c8dbab4fd21d494a0580ab96cd8d) )
ROM_LOAD16_BYTE( "763e22c", 0x2c0000, 0x010000, CRC(c19b4b63) SHA1(93708b8769c44d5b93dcd2928a0d1120cc52c6ee) )
ROM_LOAD16_BYTE( "763e22g", 0x2c0001, 0x010000, CRC(5bcbaf29) SHA1(621aa19606a15abb1539c07a033b32fc374a2d6a) )
ROM_LOAD16_BYTE( "763e22d", 0x2e0000, 0x010000, CRC(fd5b669d) SHA1(fd5d82886708187e53c204c574ee252fc8a793af) )
ROM_LOAD16_BYTE( "763e22h", 0x2e0001, 0x010000, CRC(9a9f45d8) SHA1(24fa9425b00441fff124eae7b40df7e65c920323) )
ROM_REGION( 0x20000, "k051316_1", 0 ) /* bg */
ROM_LOAD( "763a14", 0x000000, 0x020000, CRC(60392aa1) SHA1(8499eb40a246587e24f6fd00af2eaa6d75ee6363) )
ROM_REGION( 0x08000, "k051316_2", 0 ) /* fg */
/* first half empty - PCB silkscreen reads "27256/27512" */
ROM_LOAD( "763a13", 0x000000, 0x008000, CRC(8bed8e0d) SHA1(ccff330abc23fe499e76c16cab5783c3daf155dd) )
ROM_CONTINUE( 0x000000, 0x008000 )
ROM_REGION( 0x20000, "gfx4", 0 ) /* road */
ROM_LOAD( "763a15", 0x000000, 0x020000, CRC(7110aa43) SHA1(639dc002cc1580f0530bb5bb17f574e2258d5954) )
ROM_REGION( 0x40000, "k007232_1", 0 ) /* Samples, 2 banks */
ROM_LOAD( "763e11a", 0x000000, 0x010000, CRC(a60a93c8) SHA1(ce319f2b30c82f66fee0bab65d091ef4bef58a89) )
ROM_LOAD( "763e11b", 0x010000, 0x010000, CRC(7750feb5) SHA1(e0900b8af400a50a22907ffa514847003cef342d) )
ROM_LOAD( "763e11c", 0x020000, 0x010000, CRC(78b89bf8) SHA1(b74427e363a486d4be003df39f4ca8d10b9d5fc9) )
ROM_LOAD( "763e11d", 0x030000, 0x010000, CRC(5f38d054) SHA1(ce0c87a7b7c0806e09cce5d48a651f12f790dd27) )
ROM_REGION( 0x40000, "k007232_2", 0 ) /* Samples, 2 banks */
ROM_LOAD( "763e10a", 0x000000, 0x010000, CRC(2b1cbefc) SHA1(f23fb943c277a05f2aa4d25de692d1fb3bb752ac) )
ROM_LOAD( "763e10b", 0x010000, 0x010000, CRC(8209c950) SHA1(944c2afb4cfc67bd243de499f5ca6a7982980f45) )
ROM_LOAD( "763e10c", 0x020000, 0x010000, CRC(b91d6c07) SHA1(ef90457cb495750c5793cd1716d0dc44d33d0a95) )
ROM_LOAD( "763e10d", 0x030000, 0x010000, CRC(5b465d20) SHA1(66f10b58873e738f5539b960468c7f92d07c28bc) )
ROM_REGION( 0x100000, "k007232_3", 0 ) /* Samples, 4 banks for each ROM */
ROM_LOAD( "763e08a", 0x000000, 0x020000, CRC(02e4e7ef) SHA1(1622e4d85a333acae6e5f9304a037389bfeb71dc) )
ROM_LOAD( "763e08b", 0x020000, 0x020000, CRC(94edde2f) SHA1(b124f83f271dab710d5ecb67a70cac7b4b41931c) )
ROM_LOAD( "763e08c", 0x040000, 0x020000, CRC(b1ab1529) SHA1(962ad45fdccf6431e05eaec65d1b2f7842bddc02) )
ROM_LOAD( "763e08d", 0x060000, 0x020000, CRC(ee8d14db) SHA1(098ba4f27b8cbb0ce017b28e5b69d6a3d2efa1df) )
ROM_LOAD( "763e09a", 0x080000, 0x020000, CRC(1e6628ec) SHA1(9d24da1d32cb39dcbe3d0633045054d398ca8eb8) )
ROM_LOAD( "763e09b", 0x0a0000, 0x020000, CRC(f0c2feb8) SHA1(9454d45a97dc2e823baf68dce85acce8e82a18f2) )
ROM_LOAD( "763e09c", 0x0c0000, 0x020000, CRC(a0ade3e4) SHA1(1c94cede76f9350769a589625fadaee855c38866) )
ROM_LOAD( "763e09d", 0x0e0000, 0x020000, CRC(c74e484d) SHA1(dd7ef64c30443847c638291f6cd2b45a5f0b2310) )
ROM_REGION( 0x08000, "user1", 0 ) /* extra data for road effects? */
ROM_LOAD( "763a12", 0x000000, 0x008000, CRC(05f1e553) SHA1(8aaeb7374bd93038c24e6470398936f22cabb0fe) )
ROM_REGION( 0x200, "user2", 0 )
ROM_LOAD( "763a23.b17", 0x00000, 0x200, CRC(81c30352) SHA1(20700aed065929835ef5c3b564a6f531f0a8fedf) )
ROM_END
/* Important: you must leave extra space when listing sprite ROMs
in a ROM module definition. This routine unpacks each sprite nibble
into a byte, doubling the memory consumption. */
@ -1474,4 +1637,6 @@ DRIVER_INIT_MEMBER(wecleman_state,hotchase)
GAMEL( 1986, wecleman, 0, wecleman, wecleman, wecleman_state, wecleman, ROT0, "Konami", "WEC Le Mans 24 (set 1)", 0, layout_wecleman )
GAMEL( 1986, wecleman2, wecleman, wecleman, wecleman, wecleman_state, wecleman, ROT0, "Konami", "WEC Le Mans 24 (set 2)", 0, layout_wecleman ) // 1988 release
GAMEL( 1988, hotchase, 0, hotchase, hotchase, wecleman_state, hotchase, ROT0, "Konami", "Hot Chase", 0, layout_wecleman )
GAMEL( 1988, hotchase, 0, hotchase, hotchase, wecleman_state, hotchase, ROT0, "Konami", "Hot Chase (set 1)", 0, layout_wecleman )
GAMEL( 1988, hotchasea, hotchase, hotchase, hotchase, wecleman_state, hotchase, ROT0, "Konami", "Hot Chase (set 2)", 0, layout_wecleman )

View File

@ -40,6 +40,7 @@
MP3403 TMS1100 1978, Marx Electronic Bowling -> elecbowl.c
@MP3404 TMS1100 1978, Parker Brothers Merlin
@MP3405 TMS1100 1979, Coleco Amaze-A-Tron
*MP3415 TMS1100 1978, Coleco Electronic Quarterback
@MP3438A TMS1100 1979, Kenner Star Wars Electronic Battle Command
MP3450A TMS1100 1979, MicroVision cartridge: Blockbuster
MP3454 TMS1100 1979, MicroVision cartridge: Star Trek Phaser Strike

View File

@ -16,7 +16,7 @@
<!-- 21 LEDs: D201-D221 -->
<bezel name="x.0" element="led"><bounds x="10" y="2" width="1" height="1" /></bezel> <!-- d201 -->
<bezel name="x.0" element="led"><bounds x="1" y="10" width="1" height="1" /></bezel> <!-- d201 -->
<bezel name="x.0" element="led"><bounds x="10" y="2" width="1" height="1" /></bezel> <!-- d202 -->
<bezel name="x.0" element="led"><bounds x="14" y="10" width="1" height="1" /></bezel> <!-- d203 -->