mirror of
https://github.com/holub/mame
synced 2025-06-30 16:00:01 +03:00
twinkle: Changed RF5C400 clock to match board notes in driver. [smf]
twinkle: Added 8mb of dummy ram to the RF5C400 and adjusted the banking so that sounds play correctly. [smf] twinkle: Improved LED font from available reference sources. [smf] twinkle: Mapped lamps and dip switches [smf] twinkle: Added basic internal artwork. [smf] Machines promoted to working ---------------------------- beatmania IIDX Substream with DDR 2nd Club Version 2 (984 A01 BM) [smf, R. Belmont, Sarah Purohit] beatmania IIDX 4th style (GCA03 JAA) [smf, R. Belmont, Sarah Purohit] beatmania IIDX 6th style (GCB4U JAB) [smf, R. Belmont, Sarah Purohit] beatmania IIDX 6th style (GCB4U JAA) [smf, R. Belmont, Sarah Purohit] beatmania IIDX 7th style (GCB44 JAA) [smf, R. Belmont, Sarah Purohit] beatmania IIDX 8th style (GCC44 JAA) [smf, R. Belmont, Sarah Purohit]
This commit is contained in:
parent
280fb70b58
commit
3eb7d8aa7d
@ -9,7 +9,7 @@ driver by smf and R. Belmont
|
|||||||
TODO:
|
TODO:
|
||||||
|
|
||||||
dvd check for bmiidx, bmiidxa, bmiidxc & bmiidxca
|
dvd check for bmiidx, bmiidxa, bmiidxc & bmiidxca
|
||||||
finish sound board emulation and remove response hle
|
remove dummy 8mb bank
|
||||||
emulate dvd player and video mixing
|
emulate dvd player and video mixing
|
||||||
16seg led font
|
16seg led font
|
||||||
|
|
||||||
@ -247,6 +247,8 @@ Notes:
|
|||||||
#include "sound/rf5c400.h"
|
#include "sound/rf5c400.h"
|
||||||
#include "speaker.h"
|
#include "speaker.h"
|
||||||
|
|
||||||
|
#include "bmiidx.lh"
|
||||||
|
|
||||||
class twinkle_state : public driver_device
|
class twinkle_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -256,6 +258,8 @@ public:
|
|||||||
m_ata(*this, "ata"),
|
m_ata(*this, "ata"),
|
||||||
m_waveram(*this, "rfsnd"),
|
m_waveram(*this, "rfsnd"),
|
||||||
m_spu_ata_dma(0),
|
m_spu_ata_dma(0),
|
||||||
|
m_spu_ata_dmarq(0),
|
||||||
|
m_wave_bank(0),
|
||||||
m_maincpu(*this, "maincpu"),
|
m_maincpu(*this, "maincpu"),
|
||||||
m_audiocpu(*this, "audiocpu")
|
m_audiocpu(*this, "audiocpu")
|
||||||
{
|
{
|
||||||
@ -268,16 +272,17 @@ public:
|
|||||||
uint16_t m_spu_ctrl; // SPU board control register
|
uint16_t m_spu_ctrl; // SPU board control register
|
||||||
uint8_t m_spu_shared[0x400]; // SPU/PSX shared dual-ported RAM
|
uint8_t m_spu_shared[0x400]; // SPU/PSX shared dual-ported RAM
|
||||||
uint32_t m_spu_ata_dma;
|
uint32_t m_spu_ata_dma;
|
||||||
uint32_t m_wave_bank;
|
|
||||||
int m_spu_ata_dmarq;
|
int m_spu_ata_dmarq;
|
||||||
|
uint32_t m_wave_bank;
|
||||||
|
|
||||||
int m_io_offset;
|
int m_io_offset;
|
||||||
int m_output_last[ 0x100 ];
|
int m_output_last[ 0x100 ];
|
||||||
int m_last_io_offset;
|
|
||||||
uint8_t m_sector_buffer[ 4096 ];
|
uint8_t m_sector_buffer[ 4096 ];
|
||||||
DECLARE_WRITE8_MEMBER(twinkle_io_w);
|
DECLARE_WRITE8_MEMBER(twinkle_io_w);
|
||||||
DECLARE_READ8_MEMBER(twinkle_io_r);
|
DECLARE_READ8_MEMBER(twinkle_io_r);
|
||||||
DECLARE_WRITE16_MEMBER(twinkle_output_w);
|
DECLARE_WRITE16_MEMBER(twinkle_output_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(led_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(key_led_w);
|
||||||
DECLARE_WRITE16_MEMBER(serial_w);
|
DECLARE_WRITE16_MEMBER(serial_w);
|
||||||
DECLARE_WRITE8_MEMBER(shared_psx_w);
|
DECLARE_WRITE8_MEMBER(shared_psx_w);
|
||||||
DECLARE_READ8_MEMBER(shared_psx_r);
|
DECLARE_READ8_MEMBER(shared_psx_r);
|
||||||
@ -288,6 +293,7 @@ public:
|
|||||||
DECLARE_WRITE16_MEMBER(twinkle_waveram_w);
|
DECLARE_WRITE16_MEMBER(twinkle_waveram_w);
|
||||||
DECLARE_READ16_MEMBER(shared_68k_r);
|
DECLARE_READ16_MEMBER(shared_68k_r);
|
||||||
DECLARE_WRITE16_MEMBER(shared_68k_w);
|
DECLARE_WRITE16_MEMBER(shared_68k_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(spu_led_w);
|
||||||
DECLARE_WRITE16_MEMBER(spu_wavebank_w);
|
DECLARE_WRITE16_MEMBER(spu_wavebank_w);
|
||||||
DECLARE_READ16_MEMBER(unk_68k_r);
|
DECLARE_READ16_MEMBER(unk_68k_r);
|
||||||
DECLARE_WRITE_LINE_MEMBER(spu_ata_irq);
|
DECLARE_WRITE_LINE_MEMBER(spu_ata_irq);
|
||||||
@ -306,8 +312,6 @@ public:
|
|||||||
int m_output_clock;
|
int m_output_clock;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* RTC */
|
|
||||||
|
|
||||||
#define LED_A1 0x0001
|
#define LED_A1 0x0001
|
||||||
#define LED_A2 0x0002
|
#define LED_A2 0x0002
|
||||||
#define LED_B 0x0004
|
#define LED_B 0x0004
|
||||||
@ -334,23 +338,24 @@ public:
|
|||||||
|
|
||||||
static const uint16_t asciicharset[]=
|
static const uint16_t asciicharset[]=
|
||||||
{
|
{
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F | LED_J | LED_M, // 0
|
// 0
|
||||||
LED_B | LED_C, // 1
|
0, // (default on boot)
|
||||||
LED_A1 | LED_A2 | LED_B | LED_D1 | LED_D2 | LED_E | LED_G1 | LED_G2, // 2
|
0,
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_G2, // 3
|
0,
|
||||||
LED_B | LED_C | LED_F | LED_G1 | LED_G2 , // 4
|
0,
|
||||||
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_F | LED_G1 | LED_K, // 5
|
0,
|
||||||
LED_A1 | LED_A2 | LED_C | LED_D1 | LED_D2 | LED_E | LED_F | LED_G1 | LED_G2, // 6
|
0,
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C, // 7
|
0,
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F, // 8
|
0,
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_F, // 9
|
0,
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_E | LED_F, // A
|
0,
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_G2 | LED_I | LED_L, // B
|
0,
|
||||||
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_E | LED_F, // C
|
0,
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_I | LED_L, // D
|
0,
|
||||||
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_E | LED_F | LED_G1 | LED_G2, // E
|
0,
|
||||||
LED_A1 | LED_A2 | LED_E | LED_F | LED_G1, // F
|
0,
|
||||||
// 16
|
0,
|
||||||
|
// 0x10
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
@ -367,63 +372,64 @@ static const uint16_t asciicharset[]=
|
|||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
// 32
|
// 0x20
|
||||||
0, // space
|
0, // space
|
||||||
0, // !
|
LED_D2 | LED_A2 | LED_I | LED_J, // !
|
||||||
0, // "
|
LED_I | LED_B, // "
|
||||||
0, // #
|
0, // #
|
||||||
0, // $
|
0, // $
|
||||||
0, // %
|
0, // %
|
||||||
0, // &
|
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_H | LED_J | LED_M | LED_K | LED_C, // &
|
||||||
0, // '
|
0, // '
|
||||||
0, // (
|
LED_J | LED_K, // (
|
||||||
0, // )
|
LED_H | LED_M, // )
|
||||||
0, // *
|
LED_G1 | LED_G2 | LED_H | LED_I | LED_J | LED_K | LED_L | LED_M, // *
|
||||||
0, // +
|
0, // +
|
||||||
0, // ,
|
0, // ,
|
||||||
0, // -
|
LED_G1 | LED_G2, // -
|
||||||
0, // .
|
0, // .
|
||||||
0, // /
|
LED_J | LED_M, // /
|
||||||
// 48
|
// 0x30
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F | LED_J | LED_M, // 0
|
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F | LED_J | LED_M, // 0
|
||||||
LED_B | LED_C, // 1
|
LED_B | LED_C, // 1
|
||||||
LED_A1 | LED_A2 | LED_B | LED_D1 | LED_D2 | LED_E | LED_G1 | LED_G2, // 2
|
LED_A1 | LED_A2 | LED_B | LED_D1 | LED_D2 | LED_E | LED_G1 | LED_G2, // 2
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_G2, // 3
|
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_G1 | LED_G2, // 3
|
||||||
LED_B | LED_C | LED_F | LED_G1 | LED_G2 , // 4
|
LED_B | LED_C | LED_F | LED_G1 | LED_G2 , // 4
|
||||||
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_F | LED_G1 | LED_K, // 5
|
LED_A1 | LED_A2 | LED_C | LED_D1 | LED_D2 | LED_F | LED_G1 | LED_G2, // 5
|
||||||
LED_A1 | LED_A2 | LED_C | LED_D1 | LED_D2 | LED_E | LED_F, // 6
|
LED_A1 | LED_A2 | LED_C | LED_D1 | LED_D2 | LED_E | LED_F | LED_G1 | LED_G2, // 6
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C, // 7
|
LED_A1 | LED_A2 | LED_B | LED_C | LED_F, // 7
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F, // 8
|
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F | LED_G1 | LED_G2, // 8
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_F, // 9
|
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_F | LED_G1 | LED_G2, // 9
|
||||||
0, // :
|
0, // :
|
||||||
0, // ;
|
0, // ;
|
||||||
0, // <
|
0, // <
|
||||||
0, // =
|
0, // =
|
||||||
0, // >
|
0, // >
|
||||||
0, // ?
|
LED_A1 | LED_A2 | LED_J | LED_D2, // ?
|
||||||
// 64
|
// 0x40
|
||||||
0, // @
|
0, // @
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_E | LED_F, // A
|
LED_A1 | LED_A2 | LED_B | LED_C | LED_E | LED_F | LED_G1 | LED_G2, // A
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_G2 | LED_I | LED_L, // B
|
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_E | LED_F | LED_G1 | LED_J | LED_K, // B
|
||||||
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_E | LED_F, // C
|
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_E | LED_F, // C
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_I | LED_L, // D
|
LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_G1 | LED_G2, // D
|
||||||
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_E | LED_F | LED_G1 | LED_G2, // E
|
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_E | LED_F | LED_G1 | LED_G2, // E
|
||||||
LED_A1 | LED_A2 | LED_E | LED_F | LED_G1, // F
|
LED_A1 | LED_A2 | LED_E | LED_F | LED_G1 | LED_G2, // F
|
||||||
LED_A1 | LED_A2 | LED_C | LED_D1 | LED_D2 | LED_E | LED_F | LED_G2, // G
|
LED_A1 | LED_A2 | LED_C | LED_D1 | LED_D2 | LED_E | LED_F | LED_G2, // G
|
||||||
LED_B | LED_C | LED_E | LED_F | LED_G1 | LED_G2, // H
|
LED_B | LED_C | LED_E | LED_F | LED_G1 | LED_G2, // H
|
||||||
LED_I | LED_L, // I
|
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_I | LED_L, // I
|
||||||
LED_B | LED_C | LED_D1 | LED_D2 | LED_E, // J
|
LED_A1 | LED_A2 | LED_I | LED_L | LED_D2, // J
|
||||||
LED_E | LED_F | LED_G1 | LED_J | LED_K, // K
|
LED_E | LED_F | LED_G1 | LED_J | LED_K, // K
|
||||||
LED_D1 | LED_D2 | LED_E | LED_F, // L
|
LED_D1 | LED_D2 | LED_E | LED_F, // L
|
||||||
LED_B | LED_C | LED_E | LED_F | LED_H | LED_J, // M
|
LED_B | LED_C | LED_E | LED_F | LED_H | LED_J, // M
|
||||||
LED_B | LED_C | LED_E | LED_F | LED_H | LED_K, // N
|
LED_B | LED_C | LED_E | LED_F | LED_H | LED_K, // N
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F, // O
|
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F, // O
|
||||||
LED_A1 | LED_A2 | LED_B | LED_E | LED_F, // P
|
// 0x50
|
||||||
|
LED_A1 | LED_A2 | LED_B | LED_E | LED_F | LED_G1 | LED_G2, // P
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F | LED_K, // Q
|
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F | LED_K, // Q
|
||||||
LED_A1 | LED_A2 | LED_B | LED_E | LED_F | LED_K, // R
|
LED_A1 | LED_A2 | LED_B | LED_E | LED_F | LED_K | LED_G1 | LED_G2, // R
|
||||||
LED_A1 | LED_A2 | LED_C | LED_D1 | LED_D2 | LED_F | LED_G1 | LED_G2, // S
|
LED_A1 | LED_A2 | LED_C | LED_D1 | LED_D2 | LED_F | LED_G1 | LED_G2, // S
|
||||||
LED_A1 | LED_A2 | LED_I | LED_L, // T
|
LED_A1 | LED_A2 | LED_I | LED_L, // T
|
||||||
LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F, // O
|
LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F, // U
|
||||||
LED_E | LED_F | LED_M | LED_J, // V
|
LED_E | LED_F | LED_M | LED_J, // V
|
||||||
LED_B | LED_C | LED_E | LED_F | LED_M | LED_K, // W
|
LED_B | LED_C | LED_E | LED_F | LED_M | LED_K, // W
|
||||||
LED_H | LED_J | LED_K | LED_M, // X
|
LED_H | LED_J | LED_K | LED_M, // X
|
||||||
@ -434,33 +440,35 @@ static const uint16_t asciicharset[]=
|
|||||||
0, // ]
|
0, // ]
|
||||||
0, // ^
|
0, // ^
|
||||||
0, // _
|
0, // _
|
||||||
|
// 0x60
|
||||||
0, // `
|
0, // `
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_E | LED_F, // A
|
0, // a
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_G2 | LED_I | LED_L, // B
|
0, // b
|
||||||
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_E | LED_F, // C
|
0, // c
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_I | LED_L, // D
|
0, // d
|
||||||
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_E | LED_F | LED_G1 | LED_G2, // E
|
0, // e
|
||||||
LED_A1 | LED_A2 | LED_E | LED_F | LED_G1, // F
|
0, // f
|
||||||
LED_A1 | LED_A2 | LED_C | LED_D1 | LED_D2 | LED_E | LED_F | LED_G2, // G
|
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F | LED_G1 | LED_G2 | LED_H | LED_I | LED_J | LED_K | LED_L | LED_M, // g (16 seg led test)
|
||||||
LED_B | LED_C | LED_E | LED_F | LED_G1 | LED_G2, // H
|
0, // h
|
||||||
LED_I | LED_L, // I
|
0, // i
|
||||||
LED_B | LED_C | LED_D1 | LED_D2 | LED_E, // J
|
0, // j
|
||||||
LED_E | LED_F | LED_G1 | LED_J | LED_K, // K
|
0, // k
|
||||||
LED_D1 | LED_D2 | LED_E | LED_F, // L
|
0, // l
|
||||||
LED_B | LED_C | LED_E | LED_F | LED_H | LED_J, // M
|
LED_D2, // m (".")
|
||||||
LED_B | LED_C | LED_E | LED_F | LED_H | LED_K, // N
|
0, // n
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F, // O
|
0, // o
|
||||||
LED_A1 | LED_A2 | LED_B | LED_E | LED_F, // P
|
// 0x70
|
||||||
LED_A1 | LED_A2 | LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F | LED_K, // Q
|
0, // p
|
||||||
LED_A1 | LED_A2 | LED_B | LED_E | LED_F | LED_K, // R
|
LED_J, // q ("'")
|
||||||
LED_A1 | LED_A2 | LED_C | LED_D1 | LED_D2 | LED_F | LED_G1 | LED_G2, // S
|
0, // r
|
||||||
LED_A1 | LED_A2 | LED_I | LED_L, // T
|
0, // s
|
||||||
LED_B | LED_C | LED_D1 | LED_D2 | LED_E | LED_F, // O
|
0, // t
|
||||||
LED_E | LED_F | LED_M | LED_J, // V
|
LED_M, // u (",")
|
||||||
LED_B | LED_C | LED_E | LED_F | LED_M | LED_K, // W
|
0, // v
|
||||||
LED_H | LED_J | LED_K | LED_M, // X
|
0, // w
|
||||||
LED_H | LED_J | LED_L, // Y
|
0, // x
|
||||||
LED_A1 | LED_A2 | LED_D1 | LED_D2 | LED_J | LED_M, // Z
|
0, // y
|
||||||
|
0, // z
|
||||||
0, // {
|
0, // {
|
||||||
0, // |
|
0, // |
|
||||||
0, // }
|
0, // }
|
||||||
@ -486,9 +494,25 @@ WRITE8_MEMBER(twinkle_state::twinkle_io_w)
|
|||||||
case 0x1f:
|
case 0x1f:
|
||||||
case 0x27:
|
case 0x27:
|
||||||
case 0x2f:
|
case 0x2f:
|
||||||
case 0x37:
|
if (data != 0xff)
|
||||||
|
{
|
||||||
|
osd_printf_warning("unknown io %02x = %02x\n", m_io_offset, data);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0x37:
|
||||||
|
output().set_value("1p", (~data >> 0) & 1);
|
||||||
|
output().set_value("2p", (~data >> 1) & 1);
|
||||||
|
output().set_value("vefx", (~data >> 2) & 1);
|
||||||
|
output().set_value("effect", (~data >> 3) & 1);
|
||||||
|
output().set_value("credit", (~data >> 4) & 1);
|
||||||
|
|
||||||
|
if ((data & 0xe0) != 0xe0)
|
||||||
|
{
|
||||||
|
osd_printf_warning("unknown io %02x = %02x\n", m_io_offset, data);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
/* led */
|
|
||||||
case 0x3f:
|
case 0x3f:
|
||||||
case 0x47:
|
case 0x47:
|
||||||
case 0x4f:
|
case 0x4f:
|
||||||
@ -498,7 +522,7 @@ WRITE8_MEMBER(twinkle_state::twinkle_io_w)
|
|||||||
case 0x6f:
|
case 0x6f:
|
||||||
case 0x77:
|
case 0x77:
|
||||||
case 0x7f:
|
case 0x7f:
|
||||||
output().set_indexed_value( "led", ( m_io_offset - 7 ) / 8, asciicharset[ ( data ^ 0xff ) & 0x7f ] );
|
output().set_indexed_value( "led", ( m_io_offset - 0x3f ) / 8, asciicharset[ ( data ^ 0xff ) & 0x7f ] );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x87:
|
case 0x87:
|
||||||
@ -519,7 +543,7 @@ WRITE8_MEMBER(twinkle_state::twinkle_io_w)
|
|||||||
|
|
||||||
if( ( data & 0xf8 ) != 0xf8 )
|
if( ( data & 0xf8 ) != 0xf8 )
|
||||||
{
|
{
|
||||||
printf("%02x = %02x\n", m_io_offset, data );
|
osd_printf_warning("unknown io %02x = %02x\n", m_io_offset, data);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -570,10 +594,7 @@ READ8_MEMBER(twinkle_state::twinkle_io_r)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if( m_last_io_offset != m_io_offset )
|
osd_printf_warning("unknown io 0x%02x\n", m_io_offset);
|
||||||
{
|
|
||||||
m_last_io_offset = m_io_offset;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -597,7 +618,7 @@ WRITE16_MEMBER(twinkle_state::twinkle_output_w)
|
|||||||
/* data */
|
/* data */
|
||||||
break;
|
break;
|
||||||
case 0x08:
|
case 0x08:
|
||||||
/* ?? */
|
// overlay enable?
|
||||||
break;
|
break;
|
||||||
case 0x10:
|
case 0x10:
|
||||||
{
|
{
|
||||||
@ -644,6 +665,45 @@ WRITE16_MEMBER(twinkle_state::twinkle_output_w)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WRITE16_MEMBER(twinkle_state::led_w)
|
||||||
|
{
|
||||||
|
output().set_indexed_value("main_led", 0, (~data >> 0) & 1);
|
||||||
|
output().set_indexed_value("main_led", 1, (~data >> 1) & 1);
|
||||||
|
output().set_indexed_value("main_led", 2, (~data >> 2) & 1);
|
||||||
|
output().set_indexed_value("main_led", 3, (~data >> 3) & 1);
|
||||||
|
output().set_indexed_value("main_led", 4, (~data >> 4) & 1);
|
||||||
|
output().set_indexed_value("main_led", 5, (~data >> 5) & 1);
|
||||||
|
output().set_indexed_value("main_led", 6, (~data >> 6) & 1);
|
||||||
|
output().set_indexed_value("main_led", 7, (~data >> 7) & 1);
|
||||||
|
output().set_indexed_value("main_led", 8, (~data >> 8) & 1);
|
||||||
|
|
||||||
|
if ((data & 0xfe00) != 0xfe00)
|
||||||
|
{
|
||||||
|
osd_printf_warning("led_w unknown %04x\n", data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE16_MEMBER(twinkle_state::key_led_w)
|
||||||
|
{
|
||||||
|
// words are written using a byte write
|
||||||
|
output().set_indexed_value("key1-", 1, (data >> 0) & 1);
|
||||||
|
output().set_indexed_value("key1-", 2, (data >> 1) & 1);
|
||||||
|
output().set_indexed_value("key1-", 3, (data >> 2) & 1);
|
||||||
|
output().set_indexed_value("key1-", 4, (data >> 3) & 1);
|
||||||
|
output().set_indexed_value("key1-", 5, (data >> 4) & 1);
|
||||||
|
output().set_indexed_value("key1-", 6, (data >> 5) & 1);
|
||||||
|
output().set_indexed_value("key1-", 7, (data >> 6) & 1);
|
||||||
|
output().set_indexed_value("key2-", 1, (data >> 7) & 1);
|
||||||
|
output().set_indexed_value("key2-", 2, (data >> 8) & 1);
|
||||||
|
output().set_indexed_value("key2-", 3, (data >> 9) & 1);
|
||||||
|
output().set_indexed_value("key2-", 4, (data >> 10) & 1);
|
||||||
|
output().set_indexed_value("key2-", 5, (data >> 11) & 1);
|
||||||
|
output().set_indexed_value("key2-", 6, (data >> 12) & 1);
|
||||||
|
output().set_indexed_value("key2-", 7, (data >> 13) & 1);
|
||||||
|
output().set_value("unknown3", (data >> 14) & 1);
|
||||||
|
output().set_value("unknown4", (data >> 15) & 1);
|
||||||
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(twinkle_state::serial_w)
|
WRITE16_MEMBER(twinkle_state::serial_w)
|
||||||
{
|
{
|
||||||
int _do = ( data >> 4 ) & 1;
|
int _do = ( data >> 4 ) & 1;
|
||||||
@ -705,9 +765,9 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, twinkle_state )
|
|||||||
AM_RANGE(0x1f218000, 0x1f218003) AM_DEVWRITE8("watchdog", watchdog_timer_device, reset_w, 0x000000ff) /* LTC1232 */
|
AM_RANGE(0x1f218000, 0x1f218003) AM_DEVWRITE8("watchdog", watchdog_timer_device, reset_w, 0x000000ff) /* LTC1232 */
|
||||||
AM_RANGE(0x1f220000, 0x1f220003) AM_WRITE8(twinkle_io_w, 0x00ff00ff)
|
AM_RANGE(0x1f220000, 0x1f220003) AM_WRITE8(twinkle_io_w, 0x00ff00ff)
|
||||||
AM_RANGE(0x1f220004, 0x1f220007) AM_READ8(twinkle_io_r, 0x00ff00ff)
|
AM_RANGE(0x1f220004, 0x1f220007) AM_READ8(twinkle_io_r, 0x00ff00ff)
|
||||||
AM_RANGE(0x1f230000, 0x1f230003) AM_WRITENOP
|
AM_RANGE(0x1f230000, 0x1f230003) AM_WRITE16(led_w, 0x0000ffff)
|
||||||
AM_RANGE(0x1f240000, 0x1f240003) AM_READ_PORT("IN6")
|
AM_RANGE(0x1f240000, 0x1f240003) AM_READ_PORT("IN6")
|
||||||
AM_RANGE(0x1f250000, 0x1f250003) AM_WRITENOP
|
AM_RANGE(0x1f250000, 0x1f250003) AM_WRITE16(key_led_w, 0x0000ffff)
|
||||||
AM_RANGE(0x1f260000, 0x1f260003) AM_WRITE16(serial_w, 0x0000ffff)
|
AM_RANGE(0x1f260000, 0x1f260003) AM_WRITE16(serial_w, 0x0000ffff)
|
||||||
AM_RANGE(0x1f270000, 0x1f270003) AM_WRITE_PORT("OUTSEC")
|
AM_RANGE(0x1f270000, 0x1f270003) AM_WRITE_PORT("OUTSEC")
|
||||||
AM_RANGE(0x1f280000, 0x1f280003) AM_READ_PORT("INSEC")
|
AM_RANGE(0x1f280000, 0x1f280003) AM_READ_PORT("INSEC")
|
||||||
@ -804,11 +864,7 @@ WRITE16_MEMBER(twinkle_state::spu_wavebank_w)
|
|||||||
// then to bank 2, and finally to bank 3.
|
// then to bank 2, and finally to bank 3.
|
||||||
//
|
//
|
||||||
// neither the 68k nor DMA access wave RAM when the bank is 0.
|
// neither the 68k nor DMA access wave RAM when the bank is 0.
|
||||||
if (data == 0)
|
m_wave_bank = data * (4*1024*1024);
|
||||||
{
|
|
||||||
data = 1;
|
|
||||||
}
|
|
||||||
m_wave_bank = ((data-1) * (4*1024*1024));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
READ16_MEMBER(twinkle_state::twinkle_waveram_r)
|
READ16_MEMBER(twinkle_state::twinkle_waveram_r)
|
||||||
@ -837,26 +893,34 @@ WRITE16_MEMBER(twinkle_state::shared_68k_w)
|
|||||||
m_spu_shared[offset] = data & 0xff;
|
m_spu_shared[offset] = data & 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
READ16_MEMBER(twinkle_state::unk_68k_r)
|
WRITE16_MEMBER(twinkle_state::spu_led_w)
|
||||||
{
|
{
|
||||||
return 0xffff; // must return 0xff for 68000 POST to complete properly
|
// upper 8 bits are occassionally written as all zeros
|
||||||
|
output().set_indexed_value("spu_led", 0, (~data >> 0) & 1);
|
||||||
|
output().set_indexed_value("spu_led", 1, (~data >> 1) & 1);
|
||||||
|
output().set_indexed_value("spu_led", 2, (~data >> 2) & 1);
|
||||||
|
output().set_indexed_value("spu_led", 3, (~data >> 3) & 1);
|
||||||
|
output().set_indexed_value("spu_led", 4, (~data >> 4) & 1);
|
||||||
|
output().set_indexed_value("spu_led", 5, (~data >> 5) & 1);
|
||||||
|
output().set_indexed_value("spu_led", 6, (~data >> 6) & 1);
|
||||||
|
output().set_indexed_value("spu_led", 7, (~data >> 7) & 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16, twinkle_state )
|
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16, twinkle_state )
|
||||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||||
AM_RANGE(0x100000, 0x13ffff) AM_RAM
|
AM_RANGE(0x100000, 0x13ffff) AM_RAM
|
||||||
AM_RANGE(0x200000, 0x200001) AM_READ(unk_68k_r)
|
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("SPU_DSW")
|
||||||
// 220000 = LEDs?
|
AM_RANGE(0x220000, 0x220001) AM_WRITE(spu_led_w)
|
||||||
AM_RANGE(0x230000, 0x230003) AM_WRITE(twinkle_spu_ctrl_w)
|
AM_RANGE(0x230000, 0x230003) AM_WRITE(twinkle_spu_ctrl_w)
|
||||||
AM_RANGE(0x240000, 0x240003) AM_WRITE(spu_ata_dma_low_w)
|
AM_RANGE(0x240000, 0x240003) AM_WRITE(spu_ata_dma_low_w) AM_READNOP
|
||||||
AM_RANGE(0x250000, 0x250003) AM_WRITE(spu_ata_dma_high_w)
|
AM_RANGE(0x250000, 0x250003) AM_WRITE(spu_ata_dma_high_w) AM_READNOP
|
||||||
AM_RANGE(0x260000, 0x260001) AM_WRITE(spu_wavebank_w)
|
AM_RANGE(0x260000, 0x260001) AM_WRITE(spu_wavebank_w) AM_READNOP
|
||||||
AM_RANGE(0x280000, 0x280fff) AM_READWRITE(shared_68k_r, shared_68k_w)
|
AM_RANGE(0x280000, 0x280fff) AM_READWRITE(shared_68k_r, shared_68k_w)
|
||||||
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("ata", ata_interface_device, read_cs0, write_cs0)
|
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("ata", ata_interface_device, read_cs0, write_cs0)
|
||||||
// 34000E = ???
|
// 34000E = ???
|
||||||
AM_RANGE(0x34000e, 0x34000f) AM_WRITENOP
|
AM_RANGE(0x34000e, 0x34000f) AM_WRITENOP
|
||||||
AM_RANGE(0x400000, 0x400fff) AM_DEVREADWRITE("rfsnd", rf5c400_device, rf5c400_r, rf5c400_w)
|
AM_RANGE(0x400000, 0x400fff) AM_DEVREADWRITE("rfsnd", rf5c400_device, rf5c400_r, rf5c400_w)
|
||||||
AM_RANGE(0x800000, 0xffffff) AM_READWRITE(twinkle_waveram_r, twinkle_waveram_w )
|
AM_RANGE(0x800000, 0xffffff) AM_READWRITE(twinkle_waveram_r, twinkle_waveram_w)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
/* SCSI */
|
/* SCSI */
|
||||||
@ -1004,7 +1068,7 @@ static MACHINE_CONFIG_START( twinkle )
|
|||||||
MCFG_SOUND_ROUTE( 0, "speakerleft", 0.75 )
|
MCFG_SOUND_ROUTE( 0, "speakerleft", 0.75 )
|
||||||
MCFG_SOUND_ROUTE( 1, "speakerright", 0.75 )
|
MCFG_SOUND_ROUTE( 1, "speakerright", 0.75 )
|
||||||
|
|
||||||
MCFG_RF5C400_ADD("rfsnd", 32000000/2)
|
MCFG_RF5C400_ADD("rfsnd", XTAL_33_8688MHz/2);
|
||||||
MCFG_SOUND_ROUTE(0, "speakerleft", 1.0)
|
MCFG_SOUND_ROUTE(0, "speakerleft", 1.0)
|
||||||
MCFG_SOUND_ROUTE(1, "speakerright", 1.0)
|
MCFG_SOUND_ROUTE(1, "speakerright", 1.0)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
@ -1066,6 +1130,16 @@ static INPUT_PORTS_START( twinkle )
|
|||||||
|
|
||||||
PORT_START("OUTSEC")
|
PORT_START("OUTSEC")
|
||||||
PORT_START("INSEC")
|
PORT_START("INSEC")
|
||||||
|
|
||||||
|
PORT_START("SPU_DSW")
|
||||||
|
PORT_DIPUNKNOWN_DIPLOC( 0x01, IP_ACTIVE_LOW, "SPU DSW:1" )
|
||||||
|
PORT_DIPUNKNOWN_DIPLOC( 0x02, IP_ACTIVE_LOW, "SPU DSW:2" )
|
||||||
|
PORT_DIPUNKNOWN_DIPLOC( 0x04, IP_ACTIVE_LOW, "SPU DSW:3" )
|
||||||
|
PORT_DIPUNKNOWN_DIPLOC( 0x08, IP_ACTIVE_LOW, "SPU DSW:4" )
|
||||||
|
PORT_DIPUNKNOWN_DIPLOC( 0x10, IP_ACTIVE_LOW, "SPU DSW:5" )
|
||||||
|
PORT_DIPUNKNOWN_DIPLOC( 0x20, IP_ACTIVE_LOW, "SPU DSW:6" )
|
||||||
|
PORT_DIPUNKNOWN_DIPLOC( 0x40, IP_ACTIVE_LOW, "SPU DSW:7" )
|
||||||
|
PORT_DIPUNKNOWN_DIPLOC( 0x80, IP_ACTIVE_LOW, "SPU DSW:8" )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
static INPUT_PORTS_START( twinklex )
|
static INPUT_PORTS_START( twinklex )
|
||||||
@ -1098,7 +1172,7 @@ INPUT_PORTS_END
|
|||||||
ROM_REGION32_LE( 0x080000, "audiocpu", 0 )\
|
ROM_REGION32_LE( 0x080000, "audiocpu", 0 )\
|
||||||
ROM_LOAD16_WORD_SWAP( "863a05.2x", 0x000000, 0x080000, CRC(6f42a09e) SHA1(cab5209f90f47b9ee6e721479913ad74e3ba84b1) )\
|
ROM_LOAD16_WORD_SWAP( "863a05.2x", 0x000000, 0x080000, CRC(6f42a09e) SHA1(cab5209f90f47b9ee6e721479913ad74e3ba84b1) )\
|
||||||
\
|
\
|
||||||
ROM_REGION16_LE(0x1800000, "rfsnd", ROMREGION_ERASE00)
|
ROM_REGION16_LE(0x2000000, "rfsnd", ROMREGION_ERASE00) // the first 8mb isn't populated
|
||||||
|
|
||||||
ROM_START( gq863 )
|
ROM_START( gq863 )
|
||||||
TWINKLE_BIOS
|
TWINKLE_BIOS
|
||||||
@ -1344,20 +1418,20 @@ ROM_START( bmiidxc2 )
|
|||||||
DISK_IMAGE_READONLY( "983hdda01", 0, SHA1(bcbbf55acf8bebc5773ffc5769420a0129f4da57) )
|
DISK_IMAGE_READONLY( "983hdda01", 0, SHA1(bcbbf55acf8bebc5773ffc5769420a0129f4da57) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
GAME( 1999, gq863, 0, twinkle, twinkle, twinkle_state, 0, ROT0, "Konami", "Twinkle System", MACHINE_IS_BIOS_ROOT )
|
GAMEL( 1999, gq863, 0, twinkle, twinkle, twinkle_state, 0, ROT0, "Konami", "Twinkle System", MACHINE_IS_BIOS_ROOT, layout_bmiidx )
|
||||||
|
|
||||||
GAME( 1999, bmiidx, gq863, twinklex, twinklex, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX (863 JAB)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 1999, bmiidx, gq863, twinklex, twinklex, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX (863 JAB)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING, layout_bmiidx )
|
||||||
GAME( 1999, bmiidxa, bmiidx, twinklex, twinklex, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX (863 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 1999, bmiidxa, bmiidx, twinklex, twinklex, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX (863 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING, layout_bmiidx )
|
||||||
GAME( 1999, bmiidxc, gq863, twinklex, twinklex, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX with DDR 2nd Club Version (896 JAB)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 1999, bmiidxc, gq863, twinklex, twinklex, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX with DDR 2nd Club Version (896 JAB)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING, layout_bmiidx )
|
||||||
GAME( 1999, bmiidxca, bmiidxc, twinklex, twinklex, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX with DDR 2nd Club Version (896 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 1999, bmiidxca, bmiidxc, twinklex, twinklex, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX with DDR 2nd Club Version (896 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING, layout_bmiidx )
|
||||||
GAME( 1999, bmiidxs, gq863, twinklex, twinklex, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX Substream (983 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 1999, bmiidxs, gq863, twinklex, twinklex, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX Substream (983 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING, layout_bmiidx )
|
||||||
GAME( 1999, bmiidxc2, gq863, twinklex, twinklex, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX Substream with DDR 2nd Club Version 2 (984 A01 BM)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 1999, bmiidxc2, gq863, twinklex, twinklex, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX Substream with DDR 2nd Club Version 2 (984 A01 BM)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS, layout_bmiidx )
|
||||||
GAME( 1999, bmiidx2, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 2nd style (GC985 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 1999, bmiidx2, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 2nd style (GC985 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING, layout_bmiidx )
|
||||||
GAME( 2000, bmiidx3, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 3rd style (GC992 JAC)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 2000, bmiidx3, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 3rd style (GC992 JAC)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING, layout_bmiidx )
|
||||||
GAME( 2000, bmiidx3a, bmiidx3, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 3rd style (GC992 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 2000, bmiidx3a, bmiidx3, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 3rd style (GC992 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING, layout_bmiidx )
|
||||||
GAME( 2000, bmiidx4, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 4th style (GCA03 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 2000, bmiidx4, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 4th style (GCA03 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS, layout_bmiidx )
|
||||||
GAME( 2001, bmiidx5, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 5th style (GCA17 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 2001, bmiidx5, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 5th style (GCA17 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING, layout_bmiidx )
|
||||||
GAME( 2001, bmiidx6, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 6th style (GCB4U JAB)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 2001, bmiidx6, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 6th style (GCB4U JAB)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS, layout_bmiidx )
|
||||||
GAME( 2001, bmiidx6a, bmiidx6, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 6th style (GCB4U JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 2001, bmiidx6a, bmiidx6, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 6th style (GCB4U JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS, layout_bmiidx )
|
||||||
GAME( 2002, bmiidx7, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 7th style (GCB44 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 2002, bmiidx7, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 7th style (GCB44 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS, layout_bmiidx )
|
||||||
GAME( 2002, bmiidx8, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 8th style (GCC44 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
GAMEL( 2002, bmiidx8, gq863, twinklei, twinklei, twinkle_state, 0, ROT0, "Konami", "beatmania IIDX 8th style (GCC44 JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS, layout_bmiidx )
|
||||||
|
151
src/mame/layout/bmiidx.lay
Normal file
151
src/mame/layout/bmiidx.lay
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<mamelayout version="2">
|
||||||
|
<element name="spotlight0"><text string="spot 1" state="1"/></element>
|
||||||
|
<element name="spotlight1"><text string="spot 2" state="1"/></element>
|
||||||
|
<element name="spotlight2"><text string="spot 3" state="1"/></element>
|
||||||
|
<element name="spotlight3"><text string="spot 4" state="1"/></element>
|
||||||
|
<element name="spotlight4"><text string="spot 5" state="1"/></element>
|
||||||
|
<element name="spotlight5"><text string="spot 6" state="1"/></element>
|
||||||
|
<element name="spotlight6"><text string="spot 7" state="1"/></element>
|
||||||
|
<element name="spotlight7"><text string="spot 8" state="1"/></element>
|
||||||
|
<element name="key1-1"><text string="key 1-1" state="1"/></element>
|
||||||
|
<element name="key1-2"><text string="key 1-2" state="1"/></element>
|
||||||
|
<element name="key1-3"><text string="key 1-3" state="1"/></element>
|
||||||
|
<element name="key1-4"><text string="key 1-4" state="1"/></element>
|
||||||
|
<element name="key1-5"><text string="key 1-5" state="1"/></element>
|
||||||
|
<element name="key1-6"><text string="key 1-6" state="1"/></element>
|
||||||
|
<element name="key1-7"><text string="key 1-7" state="1"/></element>
|
||||||
|
<element name="key2-1"><text string="key 2-1" state="1"/></element>
|
||||||
|
<element name="key2-2"><text string="key 2-2" state="1"/></element>
|
||||||
|
<element name="key2-3"><text string="key 2-3" state="1"/></element>
|
||||||
|
<element name="key2-4"><text string="key 2-4" state="1"/></element>
|
||||||
|
<element name="key2-5"><text string="key 2-5" state="1"/></element>
|
||||||
|
<element name="key2-6"><text string="key 2-6" state="1"/></element>
|
||||||
|
<element name="key2-7"><text string="key 2-7" state="1"/></element>
|
||||||
|
<element name="unknown3"><text string="unknown3" state="1"/></element>
|
||||||
|
<element name="unknown4"><text string="unknown4" state="1"/></element>
|
||||||
|
<element name="1p"><text string="1p" state="1"/></element>
|
||||||
|
<element name="2p"><text string="2p" state="1"/></element>
|
||||||
|
<element name="effect"><text string="effect" state="1"/></element>
|
||||||
|
<element name="vefx"><text string="vefx" state="1"/></element>
|
||||||
|
<element name="credit"><text string="credit" state="1"/></element>
|
||||||
|
<element name="neonlamp"><text string="neon" state="1"/></element>
|
||||||
|
<element name="unknown1"><text string="unknown1" state="1"/></element>
|
||||||
|
<element name="unknown2"><text string="unknown2" state="1"/></element>
|
||||||
|
<element name="main_led0"><text string="main 1" state="1"/></element>
|
||||||
|
<element name="main_led1"><text string="main 2" state="1"/></element>
|
||||||
|
<element name="main_led2"><text string="main 3" state="1"/></element>
|
||||||
|
<element name="main_led3"><text string="main 4" state="1"/></element>
|
||||||
|
<element name="main_led4"><text string="main 5" state="1"/></element>
|
||||||
|
<element name="main_led5"><text string="main 6" state="1"/></element>
|
||||||
|
<element name="main_led6"><text string="main 7" state="1"/></element>
|
||||||
|
<element name="main_led7"><text string="main 8" state="1"/></element>
|
||||||
|
<element name="main_led8"><text string="main 9" state="1"/></element>
|
||||||
|
<element name="spu_led0"><text string="spu 1" state="1"/></element>
|
||||||
|
<element name="spu_led1"><text string="spu 2" state="1"/></element>
|
||||||
|
<element name="spu_led2"><text string="spu 3" state="1"/></element>
|
||||||
|
<element name="spu_led3"><text string="spu 4" state="1"/></element>
|
||||||
|
<element name="spu_led4"><text string="spu 5" state="1"/></element>
|
||||||
|
<element name="spu_led5"><text string="spu 6" state="1"/></element>
|
||||||
|
<element name="spu_led6"><text string="spu 7" state="1"/></element>
|
||||||
|
<element name="spu_led7"><text string="spu 8" state="1"/></element>
|
||||||
|
|
||||||
|
<element name="led">
|
||||||
|
<led16seg>
|
||||||
|
<color red="0" green="0.6" blue="1.0" />
|
||||||
|
</led16seg>
|
||||||
|
</element>
|
||||||
|
|
||||||
|
<view name="Lamps">
|
||||||
|
<screen index="0">
|
||||||
|
<bounds left="0" top="0" right="320" bottom="240"/>
|
||||||
|
</screen>
|
||||||
|
|
||||||
|
<bezel name="1p" element="1p"><bounds x="0" y="240" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="2p" element="2p"><bounds x="0" y="256" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="effect" element="effect"><bounds x="0" y="272" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="vefx" element="vefx"><bounds x="0" y="288" width="48" height="16"/></bezel>
|
||||||
|
|
||||||
|
<bezel name="credit" element="credit"><bounds x="48" y="240" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="neonlamp" element="neonlamp"><bounds x="48" y="256" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="unknown1" element="neonlamp"><bounds x="48" y="272" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="unknown2" element="neonlamp"><bounds x="48" y="288" width="48" height="16"/></bezel>
|
||||||
|
|
||||||
|
<bezel name="spotlight0" element="spotlight0"><bounds x="96" y="240" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="spotlight1" element="spotlight1"><bounds x="96" y="256" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="spotlight2" element="spotlight2"><bounds x="96" y="272" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="spotlight3" element="spotlight3"><bounds x="96" y="288" width="48" height="16"/></bezel>
|
||||||
|
|
||||||
|
<bezel name="spotlight4" element="spotlight4"><bounds x="144" y="240" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="spotlight5" element="spotlight5"><bounds x="144" y="256" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="spotlight6" element="spotlight6"><bounds x="144" y="272" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="spotlight7" element="spotlight7"><bounds x="144" y="288" width="48" height="16"/></bezel>
|
||||||
|
|
||||||
|
<bezel name="led0" element="led" state="0">
|
||||||
|
<bounds x="0" y="304" width="32" height="64"/>
|
||||||
|
</bezel>
|
||||||
|
<bezel name="led1" element="led" state="0">
|
||||||
|
<bounds x="32" y="304" width="32" height="64"/>
|
||||||
|
</bezel>
|
||||||
|
<bezel name="led2" element="led" state="0">
|
||||||
|
<bounds x="64" y="304" width="32" height="64"/>
|
||||||
|
</bezel>
|
||||||
|
<bezel name="led3" element="led" state="0">
|
||||||
|
<bounds x="96" y="304" width="32" height="64"/>
|
||||||
|
</bezel>
|
||||||
|
<bezel name="led4" element="led" state="0">
|
||||||
|
<bounds x="128" y="304" width="32" height="64"/>
|
||||||
|
</bezel>
|
||||||
|
<bezel name="led5" element="led" state="0">
|
||||||
|
<bounds x="160" y="304" width="32" height="64"/>
|
||||||
|
</bezel>
|
||||||
|
<bezel name="led6" element="led" state="0">
|
||||||
|
<bounds x="192" y="304" width="32" height="64"/>
|
||||||
|
</bezel>
|
||||||
|
<bezel name="led7" element="led" state="0">
|
||||||
|
<bounds x="224" y="304" width="32" height="64"/>
|
||||||
|
</bezel>
|
||||||
|
<bezel name="led8" element="led" state="0">
|
||||||
|
<bounds x="256" y="304" width="32" height="64"/>
|
||||||
|
</bezel>
|
||||||
|
|
||||||
|
<bezel name="key1-1" element="key1-1"><bounds x="0" y="368" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="key1-2" element="key1-2"><bounds x="0" y="384" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="key1-3" element="key1-3"><bounds x="0" y="400" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="key1-4" element="key1-4"><bounds x="0" y="416" width="48" height="16"/></bezel>
|
||||||
|
|
||||||
|
<bezel name="key1-5" element="key1-5"><bounds x="48" y="368" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="key1-6" element="key1-6"><bounds x="48" y="384" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="key1-7" element="key1-7"><bounds x="48" y="400" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="key2-1" element="key2-1"><bounds x="48" y="416" width="48" height="16"/></bezel>
|
||||||
|
|
||||||
|
<bezel name="key2-2" element="key2-2"><bounds x="96" y="368" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="key2-3" element="key2-3"><bounds x="96" y="384" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="key2-4" element="key2-4"><bounds x="96" y="400" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="key2-5" element="key2-5"><bounds x="96" y="416" width="48" height="16"/></bezel>
|
||||||
|
|
||||||
|
<bezel name="key2-6" element="key2-6"><bounds x="144" y="368" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="key2-7" element="key2-7"><bounds x="144" y="384" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="unknown3" element="unknown3"><bounds x="144" y="400" width="48" height="16"/></bezel>
|
||||||
|
<bezel name="unknown4" element="unknown4"><bounds x="144" y="416" width="48" height="16"/></bezel>
|
||||||
|
|
||||||
|
<bezel name="main_led0" element="main_led0"><bounds x="0" y="432" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="main_led1" element="main_led1"><bounds x="24" y="432" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="main_led2" element="main_led2"><bounds x="48" y="432" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="main_led3" element="main_led3"><bounds x="72" y="432" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="main_led4" element="main_led4"><bounds x="96" y="432" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="main_led5" element="main_led5"><bounds x="120" y="432" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="main_led6" element="main_led6"><bounds x="144" y="432" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="main_led7" element="main_led7"><bounds x="168" y="432" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="main_led8" element="main_led8"><bounds x="192" y="432" width="24" height="16"/></bezel>
|
||||||
|
|
||||||
|
<bezel name="spu_led0" element="spu_led0"><bounds x="0" y="448" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="spu_led1" element="spu_led1"><bounds x="24" y="448" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="spu_led2" element="spu_led2"><bounds x="48" y="448" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="spu_led3" element="spu_led3"><bounds x="72" y="448" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="spu_led4" element="spu_led4"><bounds x="96" y="448" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="spu_led5" element="spu_led5"><bounds x="120" y="448" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="spu_led6" element="spu_led6"><bounds x="144" y="448" width="24" height="16"/></bezel>
|
||||||
|
<bezel name="spu_led7" element="spu_led7"><bounds x="168" y="448" width="24" height="16"/></bezel>
|
||||||
|
</view>
|
||||||
|
</mamelayout>
|
Loading…
Reference in New Issue
Block a user