19
19
The following games are known to exist on this hardware (there may be more)
21
Game Title Year Program CD 6/7/8 use DVD Dongle HDD label
21
Game Title Year Program CD 6/7/8 use DVD Dongle HDD label
22
22
-----------------------------------------------------------------------------------------------------
23
beatmania IIDX - Konami 1999 GQ863 A01 GQ863 A04 863 A02 ?
24
beatmania IIDX (Japan) - Konami 1999 GQ863-JA B01 GQ863 A04 " " C44 JA A03*
23
beatmania IIDX (English) - Konami 1999 GQ863 A01 GQ863 A04 863 A02 Possibly same as Japan version?
24
beatmania IIDX (Japanese) - Konami 1999 GQ863-JA B01 GQ863 A04 " " C44 JA A03*
25
25
beatmania IIDX + DDR Club Kit - Konami 1999 896 JA ABM ? ? ?
26
beatmania IIDX Substream - Konami 1999 ? GC983 A04 ? ?
26
beatmania IIDX Substream - Konami 1999 ? GC983 A04 ? Dumped#
27
27
beatmania IIDX Club Version 2 - Konami 1999 GE984 A01(BM) ? 984 A02 ?
29
29
beatmania IIDX 2nd Style - Konami 1999 GC985 A01 GC985 A04 ? ?
30
beatmania IIDX 3rd Style - Konami 2000 ? ? ? ?
31
beatmania IIDX 4th Style - Konami 2000 A03 JA A01 A03 JA A02 A03 ?
30
beatmania IIDX 3rd Style - Konami 2000 GC992-JA A01 ? ? ?
31
beatmania IIDX 4th Style - Konami 2000 A03 JA A01 A03 JA A02 A03 A03 JA A03
32
32
beatmania IIDX 5th Style - Konami 2001 ? ? ? ?
33
beatmania IIDX 6th Style - Konami 2001 B4U JA A01 ? ? ?
34
beatmania IIDX 7th Style - Konami 2002 B44 JA A01 ? ? ?
33
beatmania IIDX 6th Style - Konami 2001 B4U JA A01 B4U JA A02 ? B4U JA A03
34
beatmania IIDX 7th Style - Konami 2002 B44 JA A01 B44 JA A02 ? ?
35
35
beatmania IIDX 8th Style - Konami 2002 C44 JA A01 ? C44 ?
37
? = Undumped pieces. * = Came with beatmania IIDX main board but might be for 8th Style (i.e. game C44)?
38
# = Dumped but code unknown.
39
* = Came with beatmania IIDX main board but might be for 8th Style (i.e. game C44)?
38
40
If you can help, please contact us at http://guru.mameworld.info or http://mamedev.org/contact.html
604
609
return i2cmem_read( space->machine, 0, I2CMEM_SDA ) << 12;
607
static WRITE32_HANDLER(xx_w)
612
static WRITE32_HANDLER(shared_psx_w)
610
printf( "xx %08x %08x %08x\n", offset, mem_mask, data );
614
if (mem_mask == 0xff)
616
twinkle_spu_shared[offset*2] = data;
617
// printf("shared_psx_w: %x to %x (%x), mask %x (PC=%x)\n", data, offset, offset*2, mem_mask, cpu_get_pc(space->cpu));
619
else if (mem_mask == 0xff0000)
621
twinkle_spu_shared[(offset*2)+1] = data;
622
// printf("shared_psx_w: %x to %x (%x), mask %x (PC=%x)\n", data, offset, (offset*2)+1, mem_mask, cpu_get_pc(space->cpu));
626
fatalerror("shared_psx_w: Unknown mask %x\n", mem_mask);
614
static READ32_HANDLER(xx_r)
630
static READ32_HANDLER(shared_psx_r)
617
printf( "xx %08x %08x\n", offset, mem_mask );
634
result = twinkle_spu_shared[offset*2] | twinkle_spu_shared[(offset*2)+1]<<16;
636
// printf("shared_psx_r: @ %x (%x %x), mask %x = %x (PC=%x)\n", offset, offset*2, (offset*2)+1, mem_mask, result, cpu_get_pc(space->cpu));
638
result = 0; // HACK to prevent the games from freezing while we sort out the rest of the 68k's boot sequence
622
643
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 32 )
623
644
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE(1) AM_BASE(&g_p_n_psxram) AM_SIZE(&g_n_psxramsize) /* ram */
624
AM_RANGE(0x1f000000, 0x1f0007ff) AM_READWRITE(xx_r, xx_w)
625
// AM_RANGE(0x1f000400, 0x1f0007ff) AM_RAM AM_SHARE(3) /* shared ram */
645
AM_RANGE(0x1f000000, 0x1f0007ff) AM_READWRITE(shared_psx_r, shared_psx_w)
626
646
AM_RANGE(0x1f200000, 0x1f20001f) AM_READWRITE(am53cf96_r, am53cf96_w)
627
647
AM_RANGE(0x1f20a01c, 0x1f20a01f) AM_WRITENOP /* scsi? */
628
648
AM_RANGE(0x1f210400, 0x1f2107ff) AM_READNOP
665
685
AM_RANGE(0xfffe0130, 0xfffe0133) AM_WRITENOP
668
static READ32_HANDLER(yy_r)
670
/* printf( "yy %08x %08x\n", offset, mem_mask ); */
675
static READ32_HANDLER(zz_r)
677
/* printf( "zz %08x %08x\n", offset, mem_mask ); */
681
static WRITE32_HANDLER(ww_w)
683
/* printf( "ww %08x %08x %08x\n", offset, mem_mask, data ); */
686
static READ32_HANDLER(ww_r)
688
/* printf( "ww %08x %08x\n", offset, mem_mask ); */
693
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 32 )
690
static void ide_interrupt(const device_config *device, int state)
692
if ((state) && (twinkle_spu_ctrl & 0x0400))
694
cputag_set_input_line(device->machine, "audiocpu", M68K_IRQ_6, ASSERT_LINE);
698
static READ16_DEVICE_HANDLER( twinkle_ide_r )
702
return ide_controller_r(device, offset+0x1f0, 2);
706
return ide_controller_r(device, offset+0x1f0, 1);
710
static WRITE16_DEVICE_HANDLER( twinkle_ide_w )
712
ide_controller_w(device, offset+0x1f0, 1, data);
716
System control register (Konami always has one)
718
bit 7 = write 0 to ack IRQ 1, write 1 to enable (IRQ 1 appears to be vblank)
719
bit 8 = write 0 to ack IRQ 2, write 1 to enable (IRQ 2 appears to be DMA completion)
720
bit 9 = write 0 to ack IRQ 4, write 1 to enable (IRQ 4 appears to be "command sent", unsure how the MIPS causes it yet however)
721
bit 10 = write 0 to ack IRQ 6, write 1 to enable (IRQ 6 is IDE)
722
bit 11 = watchdog toggle?
726
static WRITE16_HANDLER( twinkle_spu_ctrl_w )
728
if ((!(data & 0x0080)) && (twinkle_spu_ctrl & 0x0080))
730
cpu_set_input_line(space->cpu, M68K_IRQ_1, CLEAR_LINE);
732
else if ((!(data & 0x0100)) && (twinkle_spu_ctrl & 0x0100))
734
cpu_set_input_line(space->cpu, M68K_IRQ_2, CLEAR_LINE);
736
else if ((!(data & 0x0200)) && (twinkle_spu_ctrl & 0x0200))
738
cpu_set_input_line(space->cpu, M68K_IRQ_4, CLEAR_LINE);
740
else if ((!(data & 0x0400)) && (twinkle_spu_ctrl & 0x0400))
742
cpu_set_input_line(space->cpu, M68K_IRQ_6, CLEAR_LINE);
745
twinkle_spu_ctrl = data;
748
static READ16_HANDLER( twinkle_waveram_r )
750
UINT16 *waveram = (UINT16 *)memory_region(space->machine, "rf");
752
return waveram[offset];
755
static WRITE16_HANDLER( twinkle_waveram_w )
757
UINT16 *waveram = (UINT16 *)memory_region(space->machine, "rf");
759
COMBINE_DATA(&waveram[offset]);
762
static READ16_HANDLER( shared_68k_r )
764
// printf("shared_68k_r: @ %x, mask %x\n", offset, mem_mask);
766
return twinkle_spu_shared[offset];
769
static WRITE16_HANDLER( shared_68k_w )
771
// printf("shared_68k_w: %x to %x, mask %x\n", data, offset, mem_mask);
773
twinkle_spu_shared[offset] = data & 0xff;
776
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 16 )
694
777
AM_RANGE(0x000000, 0x07ffff) AM_ROM
695
AM_RANGE(0x100000, 0x17ffff) AM_RAM
696
AM_RANGE(0x200000, 0x200003) AM_READ( yy_r )
697
AM_RANGE(0x220000, 0x220003) AM_WRITENOP
698
AM_RANGE(0x230000, 0x230003) AM_WRITENOP
699
AM_RANGE(0x280400, 0x2807ff) AM_READWRITE( ww_r, ww_w )
700
// AM_RANGE(0x280400, 0x2807ff) AM_RAM AM_SHARE(3) /* shared ram? */
701
AM_RANGE(0x30000c, 0x30000f) AM_READ( zz_r )
702
AM_RANGE(0x400000, 0x400fff) AM_WRITENOP /* ide? */
778
AM_RANGE(0x100000, 0x13ffff) AM_RAM
780
AM_RANGE(0x230000, 0x230003) AM_WRITE(twinkle_spu_ctrl_w)
781
// 240000 = top 16 bits of DMA address?
782
// 250000 = write to initiate DMA?
784
AM_RANGE(0x280000, 0x280fff) AM_READWRITE( shared_68k_r, shared_68k_w )
785
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("ide", twinkle_ide_r, twinkle_ide_w)
787
AM_RANGE(0x400000, 0x400fff) AM_DEVREADWRITE("rf", rf5c400_r, rf5c400_w)
788
AM_RANGE(0x800000, 0xffffff) AM_READWRITE( twinkle_waveram_r, twinkle_waveram_w ) // 8 MB window wave RAM
932
1024
ROM_LOAD( "863a03.7b", 0x000000, 0x080000, CRC(81498f73) SHA1(3599b40a5872eab3a00d345287635355fcb25a71) )\
934
1026
ROM_REGION32_LE( 0x080000, "audiocpu", 0 )\
935
ROM_LOAD16_WORD_SWAP( "863a05.2x", 0x000000, 0x080000, CRC(6f42a09e) SHA1(cab5209f90f47b9ee6e721479913ad74e3ba84b1) )
1027
ROM_LOAD16_WORD_SWAP( "863a05.2x", 0x000000, 0x080000, CRC(6f42a09e) SHA1(cab5209f90f47b9ee6e721479913ad74e3ba84b1) )\
1029
ROM_REGION(0x1800000, "rf", ROMREGION_ERASE00)
937
1031
ROM_START( gq863 )
1038
ROM_REGION( 0x100, "user2", ROMREGION_ERASE00 ) /* security */
1040
DISK_REGION( "cdrom0" ) // program
1041
DISK_IMAGE_READONLY("863jaa01", 0, SHA1(aee12de1dc5dd44e5bf7b62133ed695b80999390) )
1043
DISK_REGION( "cdrom1" ) // video CD
1044
DISK_IMAGE_READONLY("863jaa04", 0, SHA1(8f6a0d2e191153032c9388b5298d8ee531b22a41) )
1046
DISK_REGION( "ide" )
1047
DISK_IMAGE_READONLY("c44jaa03", 0, SHA1(53e9bd25d1674a04aeec81c0224b4e4e44af802a) ) // was part of a 1st mix machine, but "c44" indicates 8th mix?
1050
ROM_START( bmiidx3 )
1053
ROM_REGION( 0x100, "user2", 0 )
1054
ROM_LOAD( "992j.pd", 0x000000, 0x000100, BAD_DUMP CRC(51f24913) SHA1(574b555e3d0c234011198d218d7ae5e95091acb1) )
1056
DISK_REGION( "cdrom0" )
1057
DISK_IMAGE_READONLY( "992jaa01", 0, BAD_DUMP SHA1(7e5389735dff379bb286ba3744edf59b7dfcc74b) )
1058
// DISK_IMAGE_READONLY( "992jaahd", 1, NO_DUMP )
1059
// DISK_IMAGE_READONLY( "992jaa02", 2, NO_DUMP )
941
1062
ROM_START( bmiidx4 )
944
1065
ROM_REGION( 0x100, "user2", 0 )
945
ROM_LOAD( "a03j.pd", 0x000000, 0x000100, BAD_DUMP CRC(1faf8d1b) SHA1(e8d9d216a8f5459598ff68692f9197e226a231e6) )
1066
ROM_LOAD( "a03j.pd", 0x000000, 0x000100, CRC(8860cfb6) SHA1(85a5b27f24d4baa7960e692b91c0cf3dc5388e72) )
947
1068
DISK_REGION( "cdrom0" )
948
1069
DISK_IMAGE_READONLY( "a03jaa01", 0, BAD_DUMP SHA1(2a587b5524bac6f03d26b55247a0acd22aad6c3a) )
1025
1146
GAME( 1999, gq863, 0, twinkle, twinkle, twinkle, ROT0, "Konami", "Twinkle System", GAME_IS_BIOS_ROOT )
1028
/* 1999 - beatmania IIDX */
1149
GAME( 1999, bmiidx, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX (863 JAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
1029
1150
/* find out what these use for security */
1030
GAME( 1999, bmiidxc, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX with DDR 2nd Club Version (896 JAB)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
1031
GAME( 1999, bmiidxca, bmiidxc, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX with DDR 2nd Club Version (896 JAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
1151
GAME( 1999, bmiidxc, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX with DDR 2nd Club Version (896 JAB)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
1152
GAME( 1999, bmiidxca, bmiidxc, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX with DDR 2nd Club Version (896 JAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
1032
1153
/* 1999 - beatmania IIDX substream */
1033
GAME( 1999, bmiidxc2, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX Substream 2 with DDR 2nd Club Version (984 A01 BM)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
1154
GAME( 1999, bmiidxc2, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX Substream 2 with DDR 2nd Club Version (984 A01 BM)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
1035
1156
/* 1999 - beatmania IIDX 2nd style */
1036
/* 2000 - beatmania IIDX 3rd style */
1037
1157
/* these use i2c for security */
1038
GAME( 2000, bmiidx4, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 4th style (GCA03 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
1158
GAME( 2000, bmiidx3, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 3th style (GC992 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
1159
GAME( 2000, bmiidx4, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 4th style (GCA03 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
1039
1160
/* 2001 - beatmania IIDX 5th style */
1042
GAME( 2001, bmiidx6, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 6th style (GCB4U JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
1043
GAME( 2002, bmiidx7, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 7th style (GCB44 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
1044
GAME( 2002, bmiidx8, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 8th style (GCC44 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
1163
GAME( 2001, bmiidx6, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 6th style (GCB4U JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
1164
GAME( 2002, bmiidx7, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 7th style (GCB44 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
1165
GAME( 2002, bmiidx8, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 8th style (GCC44 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )