~ubuntu-branches/ubuntu/lucid/sdlmame/lucid

« back to all changes in this revision

Viewing changes to src/mame/drivers/twinkle.c

  • Committer: Bazaar Package Importer
  • Author(s): Cesare Falco
  • Date: 2009-11-03 17:10:15 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20091103171015-6hop4ory5lxnumpn
Tags: 0.135-0ubuntu1
* New upstream release - Closes (LP: #403212)
* debian/watch: unstable releases are no longer detected
* mame.ini: added the cheat subdirectories to cheatpath so zipped
  cheatfiles will be searched too
* renamed crsshair subdirectory to crosshair to reflect upstream change
* mame.ini: renamed references to crosshair subdirectory (see above)

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
Twinkle System
4
4
 
5
 
driver by smf
 
5
driver by smf and R. Belmont
6
6
 
7
7
TODO:
8
8
 
9
 
sound
 
9
sound (IDE DMA, finish comms)
10
10
dvd
11
11
hard drive
12
12
16seg led font
17
17
Konami 1999-2002
18
18
 
19
19
The following games are known to exist on this hardware (there may be more)
20
 
                                                                  Video CD      Security
21
 
Game Title                       Year            Program CD     6/7/8 use DVD   Dongle      HDD label
 
20
                                                                  Video CD     Security
 
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     ?
28
28
                                               + GE984 A01(DDR)
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         ?
36
36
 
37
 
? = Undumped pieces. * = Came with beatmania IIDX main board but might be for 8th Style (i.e. game C44)?
 
37
? = Undumped pieces.
 
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
39
41
 
40
42
 
229
231
#include "machine/am53cf96.h"
230
232
#include "machine/rtc65271.h"
231
233
#include "machine/i2cmem.h"
 
234
#include "machine/idectrl.h"
232
235
#include "sound/psx.h"
233
236
#include "sound/cdda.h"
 
237
#include "sound/rf5c400.h"
234
238
 
 
239
static UINT16 twinkle_spu_ctrl;         // SPU board control register
 
240
static UINT8 twinkle_spu_shared[0x400]; // SPU/PSX shared dual-ported RAM
235
241
 
236
242
/* RTC */
237
243
 
251
257
                }
252
258
        }
253
259
 
254
 
        nvram_handler_i2cmem_0( machine, file, read_or_write );
 
260
        NVRAM_HANDLER_CALL(i2cmem_0);
255
261
}
256
262
 
257
263
static UINT32 twinkle_unknown;
536
542
                                if( last_io_offset != io_offset )
537
543
                                {
538
544
                                        last_io_offset = io_offset;
539
 
                                        printf( "io_offset=%02x\n", io_offset );
540
545
                                }
541
546
 
542
547
                                break;
604
609
        return i2cmem_read( space->machine, 0, I2CMEM_SDA ) << 12;
605
610
}
606
611
 
607
 
static WRITE32_HANDLER(xx_w)
 
612
static WRITE32_HANDLER(shared_psx_w)
608
613
{
609
 
/*
610
 
    printf( "xx %08x %08x %08x\n", offset, mem_mask, data );
611
 
*/
 
614
        if (mem_mask == 0xff)
 
615
        {
 
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));
 
618
        }
 
619
        else if (mem_mask == 0xff0000)
 
620
        {
 
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));
 
623
        }
 
624
        else
 
625
        {
 
626
                fatalerror("shared_psx_w: Unknown mask %x\n", mem_mask);
 
627
        }
612
628
}
613
629
 
614
 
static READ32_HANDLER(xx_r)
 
630
static READ32_HANDLER(shared_psx_r)
615
631
{
616
 
/*
617
 
    printf( "xx %08x %08x\n", offset, mem_mask );
618
 
*/
619
 
        return 0;
 
632
        UINT32 result;
 
633
 
 
634
        result = twinkle_spu_shared[offset*2] | twinkle_spu_shared[(offset*2)+1]<<16;
 
635
 
 
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));
 
637
 
 
638
        result = 0;     // HACK to prevent the games from freezing while we sort out the rest of the 68k's boot sequence
 
639
 
 
640
        return result;
620
641
}
621
642
 
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
666
686
ADDRESS_MAP_END
667
687
 
668
 
static READ32_HANDLER(yy_r)
669
 
{
670
 
/*  printf( "yy %08x %08x\n", offset, mem_mask ); */
671
 
        return 0;
672
 
}
673
 
 
674
 
 
675
 
static READ32_HANDLER(zz_r)
676
 
{
677
 
/*  printf( "zz %08x %08x\n", offset, mem_mask ); */
678
 
        return 0;
679
 
}
680
 
 
681
 
static WRITE32_HANDLER(ww_w)
682
 
{
683
 
/*  printf( "ww %08x %08x %08x\n", offset, mem_mask, data ); */
684
 
}
685
 
 
686
 
static READ32_HANDLER(ww_r)
687
 
{
688
 
/*  printf( "ww %08x %08x\n", offset, mem_mask ); */
689
 
        return 0;
690
 
}
691
 
 
692
 
 
693
 
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 32 )
 
688
/* SPU board */
 
689
 
 
690
static void ide_interrupt(const device_config *device, int state)
 
691
{
 
692
        if ((state) && (twinkle_spu_ctrl & 0x0400))
 
693
        {
 
694
                cputag_set_input_line(device->machine, "audiocpu", M68K_IRQ_6, ASSERT_LINE);
 
695
        }
 
696
}
 
697
 
 
698
static READ16_DEVICE_HANDLER( twinkle_ide_r )
 
699
{
 
700
        if (offset == 0)
 
701
        {
 
702
                return ide_controller_r(device, offset+0x1f0, 2);
 
703
        }
 
704
        else
 
705
        {
 
706
                return ide_controller_r(device, offset+0x1f0, 1);
 
707
        }
 
708
}
 
709
 
 
710
static WRITE16_DEVICE_HANDLER( twinkle_ide_w )
 
711
{
 
712
        ide_controller_w(device, offset+0x1f0, 1, data);
 
713
}
 
714
 
 
715
/*
 
716
    System control register (Konami always has one)
 
717
 
 
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?
 
723
 
 
724
    Other bits unknown.
 
725
*/
 
726
static WRITE16_HANDLER( twinkle_spu_ctrl_w )
 
727
{
 
728
        if ((!(data & 0x0080)) && (twinkle_spu_ctrl & 0x0080))
 
729
        {
 
730
                cpu_set_input_line(space->cpu, M68K_IRQ_1, CLEAR_LINE);
 
731
        }
 
732
        else if ((!(data & 0x0100)) && (twinkle_spu_ctrl & 0x0100))
 
733
        {
 
734
                cpu_set_input_line(space->cpu, M68K_IRQ_2, CLEAR_LINE);
 
735
        }
 
736
        else if ((!(data & 0x0200)) && (twinkle_spu_ctrl & 0x0200))
 
737
        {
 
738
                cpu_set_input_line(space->cpu, M68K_IRQ_4, CLEAR_LINE);
 
739
        }
 
740
        else if ((!(data & 0x0400)) && (twinkle_spu_ctrl & 0x0400))
 
741
        {
 
742
                cpu_set_input_line(space->cpu, M68K_IRQ_6, CLEAR_LINE);
 
743
        }
 
744
 
 
745
        twinkle_spu_ctrl = data;
 
746
}
 
747
 
 
748
static READ16_HANDLER( twinkle_waveram_r )
 
749
{
 
750
        UINT16 *waveram = (UINT16 *)memory_region(space->machine, "rf");
 
751
 
 
752
        return waveram[offset];
 
753
}
 
754
 
 
755
static WRITE16_HANDLER( twinkle_waveram_w )
 
756
{
 
757
        UINT16 *waveram = (UINT16 *)memory_region(space->machine, "rf");
 
758
 
 
759
        COMBINE_DATA(&waveram[offset]);
 
760
}
 
761
 
 
762
static READ16_HANDLER( shared_68k_r )
 
763
{
 
764
//  printf("shared_68k_r: @ %x, mask %x\n", offset, mem_mask);
 
765
 
 
766
        return twinkle_spu_shared[offset];
 
767
}
 
768
 
 
769
static WRITE16_HANDLER( shared_68k_w )
 
770
{
 
771
//  printf("shared_68k_w: %x to %x, mask %x\n", data, offset, mem_mask);
 
772
 
 
773
        twinkle_spu_shared[offset] = data & 0xff;
 
774
}
 
775
 
 
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
 
779
        // 220000 = LEDs?
 
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?
 
783
        // 260000 = ???
 
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)
 
786
        // 34000E = ???
 
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
703
789
ADDRESS_MAP_END
704
790
 
705
791
/* SCSI */
844
930
        MDRV_CPU_PROGRAM_MAP( main_map )
845
931
        MDRV_CPU_VBLANK_INT( "mainscreen", psx_vblank )
846
932
 
847
 
        MDRV_CPU_ADD("audiocpu", M68EC020, 32000000/4)  /*  8.000 MHz!? */
 
933
        MDRV_CPU_ADD("audiocpu", M68000, 32000000/2)    /* 16.000 MHz */
848
934
        MDRV_CPU_PROGRAM_MAP( sound_map )
849
935
 
850
936
        MDRV_WATCHDOG_TIME_INIT(MSEC(1200)) /* check TD pin on LTC1232 */
852
938
        MDRV_MACHINE_RESET( twinkle )
853
939
        MDRV_NVRAM_HANDLER( twinkle )
854
940
 
 
941
        MDRV_IDE_CONTROLLER_ADD("ide", ide_interrupt)
 
942
 
855
943
        /* video hardware */
856
944
        MDRV_SCREEN_ADD("mainscreen", RASTER)
857
945
        MDRV_SCREEN_REFRESH_RATE( 60 )
874
962
        MDRV_SOUND_ROUTE( 0, "speakerleft", 0.75 )
875
963
        MDRV_SOUND_ROUTE( 1, "speakerright", 0.75 )
876
964
 
 
965
        MDRV_SOUND_ADD("rf", RF5C400, 32000000/2)
 
966
        MDRV_SOUND_ROUTE(0, "speakerleft", 1.0)
 
967
        MDRV_SOUND_ROUTE(1, "speakerright", 1.0)
 
968
 
877
969
        MDRV_SOUND_ADD( "cdda", CDDA, 0 )
878
970
        MDRV_SOUND_ROUTE( 0, "speakerleft", 1.0 )
879
971
        MDRV_SOUND_ROUTE( 1, "speakerright", 1.0 )
932
1024
        ROM_LOAD( "863a03.7b",    0x000000, 0x080000, CRC(81498f73) SHA1(3599b40a5872eab3a00d345287635355fcb25a71) )\
933
1025
\
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) )\
 
1028
\
 
1029
        ROM_REGION(0x1800000, "rf", ROMREGION_ERASE00)
936
1030
 
937
1031
ROM_START( gq863 )
938
1032
        TWINKLE_BIOS
939
1033
ROM_END
940
1034
 
 
1035
ROM_START( bmiidx )
 
1036
        TWINKLE_BIOS
 
1037
 
 
1038
        ROM_REGION( 0x100, "user2", ROMREGION_ERASE00 )         /* security */
 
1039
 
 
1040
        DISK_REGION( "cdrom0" ) // program
 
1041
        DISK_IMAGE_READONLY("863jaa01", 0, SHA1(aee12de1dc5dd44e5bf7b62133ed695b80999390) )
 
1042
 
 
1043
        DISK_REGION( "cdrom1" ) // video CD
 
1044
        DISK_IMAGE_READONLY("863jaa04", 0, SHA1(8f6a0d2e191153032c9388b5298d8ee531b22a41) )
 
1045
 
 
1046
        DISK_REGION( "ide" )
 
1047
        DISK_IMAGE_READONLY("c44jaa03", 0, SHA1(53e9bd25d1674a04aeec81c0224b4e4e44af802a) )     // was part of a 1st mix machine, but "c44" indicates 8th mix?
 
1048
ROM_END
 
1049
 
 
1050
ROM_START( bmiidx3 )
 
1051
 TWINKLE_BIOS
 
1052
 
 
1053
 ROM_REGION( 0x100, "user2", 0 )
 
1054
 ROM_LOAD( "992j.pd",      0x000000, 0x000100, BAD_DUMP CRC(51f24913) SHA1(574b555e3d0c234011198d218d7ae5e95091acb1) )
 
1055
 
 
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 )
 
1060
ROM_END
 
1061
 
941
1062
ROM_START( bmiidx4 )
942
1063
        TWINKLE_BIOS
943
1064
 
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) )
946
1067
 
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 )
1026
1147
 
1027
1148
/* VCD */
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  )
1034
1155
 
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 */
1040
1161
 
1041
1162
/* DVD */
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  )