Previous 15994 Revisions Next

r15098 Sunday 6th May, 2012 at 09:11:18 UTC by Miodrag Milanović
Sync with MAME r16195 (no whatsnew)
[src/emu]ioport.c ioport.h render.c render.h rendlay.h
[src/mame]mame.lst
[src/mame/drivers]astrocde.c backfire.c byvid.c cesclass.c csplayh5.c cyberbal.c mw18w.c mw8080bw.c naomi.c nmk16.c policetr.c puckpkmn.c sspeedr.c subs.c timeplt.c tourvis.c williams.c
[src/mame/etc]template_driver.c
[src/mame/includes]megadriv.h williams.h
[src/mame/machine]naomigd.c naomim1.c naomim2.c naomim4.c
[src/osd/sdl]sdl.mak

src/mame/mame.lst
r15097r15098
625625musobana      // (c) 1995
626626niyanpai      // (c) 1996
627627
628csplayh1      // (c) 1995
629
628630junai         // (c) 1998
629631csplayh5      // (c) 1998
630632junai2         // (c) 1998
r15097r15098
47324734puckpkmna      // (c) 2000 IBS
47334735topshoot      // (c) 1995 Sun Mixing
47344736
4737batlemp
4738
47354739// Sega MegaTech, the number shown is on the label of the instruction rom
47364740megatech
47374741mt_beast      // 01
r15097r15098
86768680// Afega games
86778681twinactn      // (c) 1996 - bootleg of US AFF Mustang
86788682stagger1      // (c) 1998
8679redhawk         // (c) 1997
8683redhawk         // (c) 1997 New Vision Ent. license
86808684redhawke      // (c) 1997 Excellent Co., Ltd license
86818685redhawki      // (c) 1997 Haedong Corp. license
86828686redhawkb      // (c) 1997
8683grdnstrm      // (c) 1998
8684grdnstrmk      // (c) 1998
8687grdnstrm      // (c) 1998 Apples Industries license
8688grdnstrmk      // (c) 1998 (Korea)
8689redfoxwp2      // (c) 1998 (China)
86858690bubl2000      // (c) 1998 Tuning
86868691hotbubl         // (c) 1998 Pandora
86878692popspops      // (c) 1999
r15097r15098
1002610031policetr13a      // (c) 1996 P&P Marketing
1002710032policetr13b      // (c) 1996 P&P Marketing
1002810033sshooter      // (c) 1998 P&P Marketing
10034sshooter17      // (c) 1998 P&P Marketing
1002910035sshooter12      // (c) 1998 P&P Marketing
1003010036sshooter11      // (c) 1998 P&P Marketing
1003110037pass         // (c) 1992 Oksan
r15097r15098
2145421460
2145521461manohman      // 199?, Merkur.
2145621462jankenmn      // 1985, Sunwise.
21463bikkuric
src/mame/machine/naomim1.c
r15097r15098
3131{
3232   naomi_board::device_start();
3333
34   const UINT8 *key_data = memregion(key_tag)->base();
34   const UINT8 *key_data = machine().root_device().memregion(key_tag)->base();
3535   key = (key_data[0] << 24) | (key_data[1] << 16) | (key_data[2] << 8) | key_data[3];
3636   buffer = auto_alloc_array(machine(), UINT8, BUFFER_SIZE);
3737
src/mame/machine/naomim2.c
r15097r15098
2020{
2121   naomi_board::device_start();
2222
23   const UINT8 *key_data = memregion(key_tag)->base();
23   const UINT8 *key_data = machine().root_device().memregion(key_tag)->base();
2424   key = (key_data[0] << 24) | (key_data[1] << 16) | (key_data[2] << 8) | key_data[3];
2525
2626   ram = auto_alloc_array(machine(), UINT8, RAM_SIZE);
src/mame/machine/naomigd.c
r15097r15098
394394
395395   UINT64 key;
396396
397   const UINT8 *picdata = memregion(pic_tag)->base();
397   const UINT8 *picdata = machine().root_device().memregion(pic_tag)->base();
398398
399399   if(picdata) {
400400      if(machine().root_device().memregion(pic_tag)->bytes() >= 0x4000) {
src/mame/machine/naomim4.c
r15097r15098
4545{
4646   naomi_board::device_start();
4747
48   const UINT8 *key_data = memregion(key_tag)->base();
48   const UINT8 *key_data = machine().root_device().memregion(key_tag)->base();
4949   key = (key_data[2] << 8) | key_data[3];
5050   iv = (key_data[0] << 8) | key_data[1];
5151   buffer = auto_alloc_array(machine(), UINT8, BUFFER_SIZE);
src/mame/includes/megadriv.h
r15097r15098
103103{
104104public:
105105   md_boot_state(const machine_config &mconfig, device_type type, const char *tag)
106   : md_base_state(mconfig, type, tag) { }
106   : md_base_state(mconfig, type, tag) { m_protcount = 0;}
107107
108108   // bootleg specific
109109   int m_aladmdb_mcu_port;
110
111   int m_protcount;
112
113   // batlemp protection
114   DECLARE_WRITE16_MEMBER( bl_710000_w )
115   {
116      int pc = cpu_get_pc(&space.device());
117
118      logerror("%06x writing to bl_710000_w %04x %04x\n", pc, data, mem_mask);
119
120      // protection value is read from  0x710000 after a series of writes.. and stored at ff0007
121      // startup
122      /*
123      059ce0 writing to bl_710000_w ff08 ffff
124      059d04 writing to bl_710000_w 000a ffff
125      059d04 writing to bl_710000_w 000b ffff
126      059d04 writing to bl_710000_w 000c ffff
127      059d04 writing to bl_710000_w 000f ffff
128      059d1c writing to bl_710000_w ff09 ffff
129      059d2a reading from bl_710000_r  (wants 0xe)
130      059ce0 writing to bl_710000_w ff08 ffff
131      059d04 writing to bl_710000_w 000a ffff
132      059d04 writing to bl_710000_w 000b ffff
133      059d04 writing to bl_710000_w 000c ffff
134      059d04 writing to bl_710000_w 000f ffff
135      059d1c writing to bl_710000_w ff09 ffff
136      059d2a reading from bl_710000_r  (wants 0xe)
137      */
138      // before lv stage 3
139      /*
140      059ce0 writing to bl_710000_w 0008 ffff
141      059d04 writing to bl_710000_w 000b ffff
142      059d04 writing to bl_710000_w 000f ffff
143      059d1c writing to bl_710000_w ff09 ffff
144      059d2a reading from bl_710000_r  (wants 0x4)
145      */
146      // start level 3
147      /*
148      059ce0 writing to bl_710000_w ff08 ffff
149      059d04 writing to bl_710000_w 000b ffff
150      059d04 writing to bl_710000_w 000c ffff
151      059d04 writing to bl_710000_w 000e ffff
152      059d1c writing to bl_710000_w ff09 ffff
153      059d2a reading from bl_710000_r  (wants 0x5)
154
155      // after end sequence
156      059ce0 writing to bl_710000_w 0008 ffff
157      059d04 writing to bl_710000_w 000a ffff
158      059d04 writing to bl_710000_w 000b ffff
159      059d04 writing to bl_710000_w 000c ffff
160      059d04 writing to bl_710000_w 000f ffff
161      059d1c writing to bl_710000_w ff09 ffff
162      059d2a reading from bl_710000_r  (wants 0xe)
163
164      */
165      m_protcount++;
166
167
168
169   }
170
171
172   DECLARE_READ16_MEMBER( bl_710000_r )
173   {
174      UINT16 ret;
175      int pc = cpu_get_pc(&space.device());
176      logerror("%06x reading from bl_710000_r\n", pc);
177
178      if (m_protcount==6) { ret = 0xe; }
179      else if (m_protcount==5) { ret = 0x5; }
180      else if (m_protcount==4) { ret = 0x4; }
181      else ret = 0xf;
182
183      m_protcount = 0;
184      return ret;
185   }
110186};
111187
112188class segac2_state : public md_base_state
src/mame/includes/williams.h
r15097r15098
1313public:
1414   williams_state(const machine_config &mconfig, device_type type, const char *tag)
1515      : driver_device(mconfig, type, tag),
16        m_cvsd_sound(*this, "cvsd"),
16        m_cvsd_sound(*this, "cvsd_sound"),
1717        m_nvram(*this, "nvram") ,
1818      m_videoram(*this, "videoram"),
1919      m_blaster_palette_0(*this, "blaster_pal0"),
src/mame/etc/template_driver.c
r15097r15098
2323   required_device<cpu_device> m_maincpu;
2424
2525   // screen updates
26   bool screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
26   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
2727
2828protected:
2929   // driver_device overrides
r15097r15098
3838
3939}
4040
41bool xxx_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
41UINT32 xxx_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
4242{
4343   return 0;
4444}
src/mame/drivers/csplayh5.c
r15097r15098
99    - fix h8 CPU core bugs, it trips various unhandled opcodes
1010    - Implement DVD routing and YUV decoding;
1111    - game timings seem busted, could be due of missing DVD hook-up
12    - csplayh8: inputs doesn't work at all, slower than the others too
1213
1314***************************************************************************/
1415
r15097r15098
668669
669670***************************************************************************/
670671
671void general_init(running_machine &machine, int patchaddress)
672void general_init(running_machine &machine, int patchaddress, int patchvalue)
672673{
673674   UINT16 *MAINROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
674675   UINT8 *SNDROM = machine.root_device().memregion("audiocpu")->base();
r15097r15098
677678   csplayh5_soundbank_w(machine, 0);
678679
679680   /* patch DVD comms check */
680   MAINROM[patchaddress] = 0x6018;
681   MAINROM[patchaddress] = patchvalue;
681682
682683   /* patch sound program */
683684   SNDROM[0x0213] = 0x00;         // DI -> NOP
684685
685686}
686687
687static DRIVER_INIT( junai )    { general_init(machine, 0x679c/2); }
688static DRIVER_INIT( mjmania )  { general_init(machine, 0x6b96/2); }
689static DRIVER_INIT( junai2 )   { general_init(machine, 0x6588/2); }
690static DRIVER_INIT( csplayh5 ) { general_init(machine, 0x4cb4/2); }
691static DRIVER_INIT( bikiniko ) { general_init(machine, 0x585c/2); }
692static DRIVER_INIT( thenanpa ) { general_init(machine, 0x69ec/2); }
693static DRIVER_INIT( csplayh7 ) { general_init(machine, 0x7a20/2); }
694static DRIVER_INIT( fuudol )   { general_init(machine, 0x9166/2); }
688static DRIVER_INIT( csplayh1 ) { general_init(machine, 0x6880/2,0x6020); }
695689
690static DRIVER_INIT( junai )    { general_init(machine, 0x679c/2,0x6018); }
691static DRIVER_INIT( mjmania )  { general_init(machine, 0x6b96/2,0x6018); }
692static DRIVER_INIT( junai2 )   { general_init(machine, 0x6588/2,0x6018); }
693static DRIVER_INIT( csplayh5 ) { general_init(machine, 0x4cb4/2,0x6018); }
694static DRIVER_INIT( bikiniko ) { general_init(machine, 0x585c/2,0x6018); }
695static DRIVER_INIT( thenanpa ) { general_init(machine, 0x69ec/2,0x6018); }
696static DRIVER_INIT( csplayh7 ) { general_init(machine, 0x7a20/2,0x6018); }
697static DRIVER_INIT( fuudol )   { general_init(machine, 0x9166/2,0x6018); }
698
699/* TODO: correct rom labels*/
700ROM_START( csplayh1 )
701   ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
702   ROM_LOAD16_BYTE( "3.bin", 0x000000, 0x020000, CRC(86ac0289) SHA1(7ae3047fc7ea22705cc5b04d0ec6c792c429e8ee) )
703   ROM_LOAD16_BYTE( "2.bin", 0x000001, 0x020000, CRC(1f056e64) SHA1(7c5fb318abcd87313ef739dec191af9bcf284f24) )
704
705   ROM_REGION( 0x20000, "subcpu", 0 ) // h8, dvd player
706   ROM_LOAD16_WORD_SWAP( "u2",   0x00000, 0x20000, NO_DUMP )
707
708   ROM_REGION( 0x20000, "audiocpu", 0 ) // z80
709   ROM_LOAD( "1.bin", 0x000000, 0x020000, CRC(8296d67f) SHA1(20eb944a2bd27980e1aaf60ca544059e84129760) )
710
711   ROM_REGION( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
712    ROM_LOAD16_BYTE( "4.bin", 0x000000, 0x080000, CRC(2e63ee15) SHA1(78fefbc277234458212cded997d393bd8b82cf76) )
713    ROM_LOAD16_BYTE( "8.bin", 0x000001, 0x080000, CRC(a8567f1b) SHA1(2a854ef8b1988ad097bbcbeddc4b275ad738e1e1) )
714
715   DISK_REGION( "dvd" )
716   DISK_IMAGE( "csplayh8", 0, SHA1(d6514882c2626e62c5079df9ac68ecb70fc33209) )
717
718   ROM_REGION( 0x1000, "gal", ROMREGION_ERASE00 )
719   ROM_LOAD( "gal16v8b.ic8", 0x000000, 0x0008c1, NO_DUMP )
720ROM_END
721
696722ROM_START( junai )
697723   ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
698724   ROM_LOAD16_BYTE( "2.ic3",   0x00000, 0x20000, CRC(5923bf2e) SHA1(8fc7b95a44eb792ce03c1bffb9ad56f82d34b470) )
r15097r15098
865891   ROM_LOAD( "gal16v8b.ic8", 0x000000, 0x0008c1, CRC(30719630) SHA1(a8c7b6d0304c38691775c5af6c32fbeeefd9f9fa) )
866892ROM_END
867893
894// 1995
895GAME( 1995, csplayh1,   0,   csplayh5,  csplayh5,  csplayh1,                ROT0, "Sphinx/AV Japan/Astro System Japan",   "Super CD Dai8dan Mahjong Hanafuda Cosplay Tengoku (Japan)", GAME_NOT_WORKING )
896
868897// 1998
869898// 01 : Mahjong Gal-pri - World Gal-con Grandprix : Nichibutsu/Just&Just
870899// 02 : Sengoku Mahjong Kurenai Otome-tai : Nichibutsu/Just&Just
r15097r15098
876905
877906// 1999
878907/* 07 */ GAME( 1999, mjmania,   0,   csplayh5,  csplayh5,  mjmania,        ROT0, "Sphinx/Just&Just", "Mahjong Mania - Kairakukan e Youkoso (Japan)", GAME_NOT_WORKING )
879// 08 : Renai Mahjong Idol Gakuen : Nichibutsu/eic
908///* 08 */ GAME( 1995, renaimj,   0,   csplayh5, csplayh5,  renaimj,        ROT0, "Nichibutsu/eic",   "Renai Mahjong Idol Gakuen (Japan)", GAME_NOT_WORKING )
880909/* 09 */ GAME( 1999, bikiniko,  0,   csplayh5,  csplayh5,  bikiniko,      ROT0, "Nichibutsu/eic",   "BiKiNikko - Okinawa de Ippai Shichaimashita (Japan)", GAME_NOT_WORKING )
881910// 10 : Mahjong Hanafuda Cosplay Tengoku 6 - Junai hen : Nichibutsu/eic
882911/* 11 */ GAME( 1999, thenanpa,  0,   csplayh5,  csplayh5,  thenanpa,        ROT0, "Nichibutsu/Love Factory/eic", "The Nanpa (Japan)", GAME_NOT_WORKING )
src/mame/drivers/policetr.c
r15097r15098
2525  Sound Roms:  S12     - Sound rom v1.2
2626
2727Noted differences in versions of SharpShooter:
28 Added a "Welcome to Sharpshooter" start-up screen showing rom versions for v1.9
2829 Initial High Score names are changed between v1.1 and v1.2
2930  Circus of Mystery:
3031    The ballon challenge has been rewritten for v1.7
r15097r15098
588589ROM_END
589590
590591
591ROM_START( sshooter ) /* Rev 0.5B PCB , unknown program rom date */
592ROM_START( sshooter ) /* Rev 0.5B PCB , Added a "Welcome" start-up screen which shows "This is Version C191012" */
592593   ROM_REGION( 0x800000, "gfx1", ROMREGION_ERASE00 ) /* Graphics v1.0 */
593594   ROM_LOAD16_BYTE( "ss-u121.bin", 0x000000, 0x100000, CRC(22e27dd6) SHA1(cb9e8c450352bb116a9c0407cc8ce6d8ae9d9881) ) // 1:1
594595   ROM_LOAD16_BYTE( "ss-u120.bin", 0x000001, 0x100000, CRC(30173b1b) SHA1(366464444ce208391ca350f1639403f0c2217330) ) // 1:2
r15097r15098
600601   ROM_LOAD16_BYTE( "ss-u126.bin", 0x600001, 0x100000, CRC(ab1b9d60) SHA1(ff51a71443f7774d3abf96c2eb8ef6a54d73dd8e) ) // 4:2
601602
602603   ROM_REGION32_BE( 0x100000, "user1", 0 )
604   ROM_LOAD32_BYTE( "ss-u113.v19", 0x00000, 0x40000, CRC(de536a90) SHA1(76f0e0e2457d91b3c1bd2b3501591646a18db348) ) // 1:1
605   ROM_LOAD32_BYTE( "ss-u112.v19", 0x00001, 0x40000, CRC(2e4e1837) SHA1(b4088269e1e7a3913d2841eb24f53b1c413cd0cc) ) // 1:2
606   ROM_LOAD32_BYTE( "ss-u111.v19", 0x00002, 0x40000, CRC(485d03e8) SHA1(ebdf166b2354b318e6bfb68e0fb5647381b9c405) ) // 1:3
607   ROM_LOAD32_BYTE( "ss-u110.v19", 0x00003, 0x40000, CRC(df6a0a45) SHA1(a73a9dcdc669c6e61a5983f3b2a2721fe1b35f34) ) // 1:4
608
609   ROM_REGION( 0x1000000, "bsmt", 0 ) /* Sound v1.2 */
610   ROM_LOAD( "ss-u160.bin", 0x000000, 0x100000, CRC(1c603d42) SHA1(880992871be52129684052d542946de0cc32ba9a) ) // 1:1
611   ROM_RELOAD(              0x3f8000, 0x100000 )
612   ROM_LOAD( "ss-u162.bin", 0x100000, 0x100000, CRC(40ef448a) SHA1(c96f7b169be2576e9f3783af84c07259efefb812) ) // 2:1
613   ROM_RELOAD(              0x4f8000, 0x100000 )
614ROM_END
615
616
617ROM_START( sshooter17 ) /* Rev 0.5B PCB , unknown program rom date */
618   ROM_REGION( 0x800000, "gfx1", ROMREGION_ERASE00 ) /* Graphics v1.0 */
619   ROM_LOAD16_BYTE( "ss-u121.bin", 0x000000, 0x100000, CRC(22e27dd6) SHA1(cb9e8c450352bb116a9c0407cc8ce6d8ae9d9881) ) // 1:1
620   ROM_LOAD16_BYTE( "ss-u120.bin", 0x000001, 0x100000, CRC(30173b1b) SHA1(366464444ce208391ca350f1639403f0c2217330) ) // 1:2
621   ROM_LOAD16_BYTE( "ss-u125.bin", 0x200000, 0x100000, CRC(79e8520a) SHA1(682e5c7954f96db65a137f05cde67c310b85b526) ) // 2:1
622   ROM_LOAD16_BYTE( "ss-u124.bin", 0x200001, 0x100000, CRC(8e805970) SHA1(bfc9940ed6425f136d768170275279c590da7003) ) // 2:2
623   ROM_LOAD16_BYTE( "ss-u123.bin", 0x400000, 0x100000, CRC(d045bb62) SHA1(839209ff6a8e5db63a51a3494a6c973e0068a3c6) ) // 3:1
624   ROM_LOAD16_BYTE( "ss-u122.bin", 0x400001, 0x100000, CRC(163cc133) SHA1(a5e84b5060fd32362aa097d0194ce72e8a90357c) ) // 3:2
625   ROM_LOAD16_BYTE( "ss-u127.bin", 0x600000, 0x100000, CRC(76a7a591) SHA1(9fd7cce21b01f388966a3e8388ba95820ac10bfd) ) // 4:1
626   ROM_LOAD16_BYTE( "ss-u126.bin", 0x600001, 0x100000, CRC(ab1b9d60) SHA1(ff51a71443f7774d3abf96c2eb8ef6a54d73dd8e) ) // 4:2
627
628   ROM_REGION32_BE( 0x100000, "user1", 0 )
603629   ROM_LOAD32_BYTE( "ss-u113.v17", 0x00000, 0x40000, CRC(a8c96af5) SHA1(a62458156603b74e0d84ce6928f7bb868bf5a219) ) // 1:1
604630   ROM_LOAD32_BYTE( "ss-u112.v17", 0x00001, 0x40000, CRC(c732d5fa) SHA1(2bcc26c8bbf55394173ca65b4b0df01bc6b719bb) ) // 1:2
605631   ROM_LOAD32_BYTE( "ss-u111.v17", 0x00002, 0x40000, CRC(4240fa2f) SHA1(54223207c1e228d6b836918601c0f65c2692e5bc) ) // 1:3
r15097r15098
714740GAME( 1996, policetr13a, policetr, sshooter, policetr, plctr13b, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3B Newer)", 0 )
715741GAME( 1996, policetr13b, policetr, sshooter, policetr, plctr13b, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3B)", 0 )
716742
717GAME( 1998, sshooter,    0,        sshooter, policetr, sshooter, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.7)", 0 )
743GAME( 1998, sshooter,    0,        sshooter, policetr, sshooter, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.9)", 0 )
744GAME( 1998, sshooter17,  sshooter, sshooter, policetr, sshooter, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.7)", 0 )
718745GAME( 1998, sshooter12,  sshooter, sshooter, sshoot11, sshoot12, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.2)", 0 )
719746GAME( 1998, sshooter11,  sshooter, sshooter, sshoot11, sshoot12, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.1)", 0 )
src/mame/drivers/cesclass.c
r15097r15098
229229   PORT_DIPSETTING(    0x0000, DEF_STR( On ) )
230230
231231   PORT_START("VBLANK")
232   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen")
232   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("l_lcd")
233233INPUT_PORTS_END
234234
235235static PALETTE_INIT( cesclassic )
src/mame/drivers/mw8080bw.c
r15097r15098
336336
337337
338338/* the 30 position encoder is verified */
339static const UINT32 seawolf_controller_table[30] =
339static const ioport_value seawolf_controller_table[30] =
340340{
341341   0x1e, 0x1c, 0x1d, 0x19, 0x18, 0x1a, 0x1b, 0x13,
342342   0x12, 0x10, 0x11, 0x15, 0x14, 0x16, 0x17, 0x07,
r15097r15098
444444ADDRESS_MAP_END
445445
446446
447static const UINT32 gunfight_controller_table[7] =
447static const ioport_value gunfight_controller_table[7] =
448448{
449449   0x06, 0x02, 0x00, 0x04, 0x05, 0x01, 0x03
450450};
r15097r15098
10001000ADDRESS_MAP_END
10011001
10021002
1003static const UINT32 boothill_controller_table[7] =
1003static const ioport_value boothill_controller_table[7] =
10041004{
10051005   0x00, 0x04, 0x06, 0x07, 0x03, 0x01, 0x05
10061006};
r15097r15098
20492049ADDRESS_MAP_END
20502050
20512051
2052static const UINT32 dogpatch_controller_table[7] =
2052static const ioport_value dogpatch_controller_table[7] =
20532053{
20542054   0x07, 0x06, 0x04, 0x05, 0x01, 0x00, 0x02
20552055};
r15097r15098
22072207ADDRESS_MAP_END
22082208
22092209
2210static const UINT32 spcenctr_controller_table[] =
2210static const ioport_value spcenctr_controller_table[] =
22112211{
22122212   0x3f, 0x3e, 0x3c, 0x3d, 0x39, 0x38, 0x3a, 0x3b,
22132213   0x33, 0x32, 0x30, 0x31, 0x35, 0x34, 0x36, 0x37,
src/mame/drivers/naomi.c
r15097r15098
26642664EPR-21576b - NAOMI BOOT ROM 1999 02/15  1.20 (Japan)
26652665EPR-21576a - NAOMI BOOT ROM 1999 01/14  1.10 (Japan)
26662666EPR-21576  - NAOMI BOOT ROM 1998 12/18  1.00 (Japan)
2667EPR-21577h - NAOMI BOOT ROM 2002 07/08  1.8- (USA)
26672668EPR-21577g - NAOMI BOOT ROM 2001 09/10  1.70 (USA)
26682669EPR-21577e - NAOMI BOOT ROM 2000 08/25  1.50 (USA)
26692670EPR-21577d - NAOMI BOOT ROM 1999 06/04  1.40 (USA)
r15097r15098
26722673EPR-21578g - NAOMI BOOT ROM 2001 09/10  1.70 (Export)
26732674EPR-21578e - NAOMI BOOT ROM 2000 08/25  1.50 (Export)
26742675EPR-21578d - NAOMI BOOT ROM 1999 06/04  1.40 (Export)
2675EPR-21578b - NAOMI BOOT ROM 1999 02/15  1.20 (Export) <-- Also found as EPR-21578A
2676EPR-21578a - NAOMI BOOT ROM 1999 02/15  1.20 (Export) <-- Also found as EPR-21578A
26762677EPR-21579d - NAOMI BOOT ROM 1999 06/04  1.40 (Korea)
26772678EPR-21579  - NAOMI BOOT ROM 1999 01/14  1.10 (Korea)
26782679EPR-21580  - No known dump (Australia)
r15097r15098
27332734#define NAOMI_BIOS \
27342735   ROM_REGION( 0x200000, "maincpu", 0) \
27352736   ROM_SYSTEM_BIOS( 0, "bios0", "epr-21576h (Japan)" ) \
2736   ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-21576h.ic27", 0x000000, 0x200000, CRC(d4895685) SHA1(91424d481ff99a8d3f4c45cea6d3f0eada049a6d) ) \
2737   ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-21576h.ic27", 0x000000, 0x200000, CRC(d4895685) SHA1(91424d481ff99a8d3f4c45cea6d3f0eada049a6d) ) \
27372738   ROM_SYSTEM_BIOS( 1, "bios1", "epr-21576g (Japan)" ) \
2738   ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-21576g.ic27", 0x000000, 0x200000, CRC(d2a1c6bf) SHA1(6d27d71aec4dfba98f66316ae74a1426d567698a) ) \
2739   ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-21576g.ic27", 0x000000, 0x200000, CRC(d2a1c6bf) SHA1(6d27d71aec4dfba98f66316ae74a1426d567698a) ) \
27392740   ROM_SYSTEM_BIOS( 2, "bios2", "epr-21576e (Japan)" ) \
2740   ROM_LOAD16_WORD_SWAP_BIOS( 2, "epr-21576e.ic27", 0x000000, 0x200000, CRC(08c0add7) SHA1(e7c1a7673cb2ccb21748ef44105e46d1bad7266d) ) \
2741   ROM_LOAD16_WORD_SWAP_BIOS( 2, "epr-21576e.ic27", 0x000000, 0x200000, CRC(08c0add7) SHA1(e7c1a7673cb2ccb21748ef44105e46d1bad7266d) ) \
27412742   ROM_SYSTEM_BIOS( 3, "bios3", "epr-21576d (Japan)" ) \
2742   ROM_LOAD16_WORD_SWAP_BIOS( 3, "epr-21576d.ic27", 0x000000, 0x200000, CRC(3b2afa7b) SHA1(d007e1d321c198a38c5baff86eb2ab84385d150a) ) \
2743   ROM_LOAD16_WORD_SWAP_BIOS( 3, "epr-21576d.ic27", 0x000000, 0x200000, CRC(3b2afa7b) SHA1(d007e1d321c198a38c5baff86eb2ab84385d150a) ) \
27432744   ROM_SYSTEM_BIOS( 4, "bios4", "epr-21576b (Japan)" ) \
2744   ROM_LOAD16_WORD_SWAP_BIOS( 4, "epr-21576b.ic27", 0x000000, 0x200000, CRC(755a6e07) SHA1(7e8b8ccfc063144d89668e7224dcd8a36c54f3b3) ) \
2745   ROM_LOAD16_WORD_SWAP_BIOS( 4, "epr-21576b.ic27", 0x000000, 0x200000, CRC(755a6e07) SHA1(7e8b8ccfc063144d89668e7224dcd8a36c54f3b3) ) \
27452746   ROM_SYSTEM_BIOS( 5, "bios5", "epr-21576a (Japan)" ) \
2746   ROM_LOAD16_WORD_SWAP_BIOS( 5, "epr-21576a.ic27", 0x000000, 0x200000, CRC(cedfe439) SHA1(f27798bf3d890863ef0c1d9dcb4e7782249dca27) ) \
2747   ROM_LOAD16_WORD_SWAP_BIOS( 5, "epr-21576a.ic27", 0x000000, 0x200000, CRC(cedfe439) SHA1(f27798bf3d890863ef0c1d9dcb4e7782249dca27) ) \
27472748   ROM_SYSTEM_BIOS( 6, "bios6", "epr-21576 (Japan)" ) \
2748   ROM_LOAD16_WORD_SWAP_BIOS( 6, "epr-21576.ic27", 0x000000, 0x200000, CRC(9dad3495) SHA1(5fb66f9a2b68d120f059c72758e65d34f461044a) ) \
2749   ROM_LOAD16_WORD_SWAP_BIOS( 6, "epr-21576.ic27", 0x000000, 0x200000, CRC(9dad3495) SHA1(5fb66f9a2b68d120f059c72758e65d34f461044a) ) \
27492750   ROM_SYSTEM_BIOS( 7, "bios7", "epr-21578h (Export)" ) \
27502751   ROM_LOAD16_WORD_SWAP_BIOS( 7, "epr-21578h.ic27", 0x000000, 0x200000, CRC(7b452946) SHA1(8e9f153bbada24b37066dc45b64a7bf0d4f26a9b) ) \
27512752   ROM_SYSTEM_BIOS( 8, "bios8", "epr-21578g (Export)" ) \
27522753   ROM_LOAD16_WORD_SWAP_BIOS( 8, "epr-21578g.ic27", 0x000000, 0x200000, CRC(55413214) SHA1(bd2748365a9fc1821c9369aa7155d7c41c4df43e) ) \
27532754   ROM_SYSTEM_BIOS( 9, "bios9", "epr-21578e (Export)" ) \
2754   ROM_LOAD16_WORD_SWAP_BIOS( 9, "epr-21578e.ic27", 0x000000, 0x200000, CRC(087f09a3) SHA1(0418eb2cf9766f0b1b874a4e92528779e22c0a4a) ) \
2755   ROM_LOAD16_WORD_SWAP_BIOS( 9, "epr-21578e.ic27", 0x000000, 0x200000, CRC(087f09a3) SHA1(0418eb2cf9766f0b1b874a4e92528779e22c0a4a) ) \
27552756   ROM_SYSTEM_BIOS( 10, "bios10", "epr-21578d (Export)" ) \
27562757   ROM_LOAD16_WORD_SWAP_BIOS( 10, "epr-21578d.ic27",  0x000000, 0x200000, CRC(dfd5f42a) SHA1(614a0db4743a5e5a206190d6786ade24325afbfd) ) \
27572758   ROM_SYSTEM_BIOS( 11, "bios11", "epr-21578b (Export)" ) \
27582759   ROM_LOAD16_WORD_SWAP_BIOS( 11, "epr-21578b.ic27",  0x000000, 0x200000, CRC(6c9aad83) SHA1(555918de76d8dbee2a97d8a95297ef694b3e803f) ) \
2759   ROM_SYSTEM_BIOS( 12, "bios12", "epr-21577g (USA)" ) \
2760   ROM_LOAD16_WORD_SWAP_BIOS( 12, "epr-21577g.ic27",  0x000000, 0x200000, CRC(25f64af7) SHA1(99f9e6cc0642319bd2da492611220540add573e8) ) \
2761   ROM_SYSTEM_BIOS( 13, "bios13", "epr-21577e (USA)" ) \
2762   ROM_LOAD16_WORD_SWAP_BIOS( 13, "epr-21577e.ic27",  0x000000, 0x200000, CRC(cf36e97b) SHA1(b085305982e7572e58b03a9d35f17ae319c3bbc6) ) \
2763   ROM_SYSTEM_BIOS( 14, "bios14", "epr-21577d (USA)" ) \
2764   ROM_LOAD16_WORD_SWAP_BIOS( 14, "epr-21577d.ic27",  0x000000, 0x200000, CRC(60ddcbbe) SHA1(58b15096d269d6df617ca1810b66b47deb184958) ) \
2765   ROM_SYSTEM_BIOS( 15, "bios15", "epr-21579d (Korea)" ) \
2766   ROM_LOAD16_WORD_SWAP_BIOS( 15, "epr-21579d.ic27",  0x000000, 0x200000, CRC(33513691) SHA1(b1d8c7c516e1471a788fcf7a02a794ad2f05aeeb) ) \
2767   ROM_SYSTEM_BIOS( 16, "bios16", "epr-21579 (Korea)" ) \
2768   ROM_LOAD16_WORD_SWAP_BIOS( 16, "epr-21579.ic27",  0x000000, 0x200000, CRC(71f9c918) SHA1(d15af8b947f41eea7c203b565cd403e3f37a2017) ) \
2769   ROM_SYSTEM_BIOS( 17, "bios17", "Naomi Dev BIOS" ) \
2770   ROM_LOAD16_WORD_SWAP_BIOS( 17,  "dcnaodev.bios", 0x000000, 0x080000, CRC(7a50fab9) SHA1(ef79f448e0bf735d1264ad4f051d24178822110f) ) /* This one comes from a dev / beta board. The eprom was a 27C4096 */
2760   ROM_SYSTEM_BIOS( 12, "bios12", "epr-21577h (USA)" ) \
2761   ROM_LOAD16_WORD_SWAP_BIOS( 12, "epr-21577h.ic27",  0x000000, 0x200000, CRC(fdf17452) SHA1(5f3e4b677f0046ce690a4f096b0481e5dd8bb6e6) ) \
2762   ROM_SYSTEM_BIOS( 13, "bios13", "epr-21577g (USA)" ) \
2763   ROM_LOAD16_WORD_SWAP_BIOS( 13, "epr-21577g.ic27",  0x000000, 0x200000, CRC(25f64af7) SHA1(99f9e6cc0642319bd2da492611220540add573e8) ) \
2764   ROM_SYSTEM_BIOS( 14, "bios14", "epr-21577e (USA)" ) \
2765   ROM_LOAD16_WORD_SWAP_BIOS( 14, "epr-21577e.ic27",  0x000000, 0x200000, CRC(cf36e97b) SHA1(b085305982e7572e58b03a9d35f17ae319c3bbc6) ) \
2766   ROM_SYSTEM_BIOS( 15, "bios15", "epr-21577d (USA)" ) \
2767   ROM_LOAD16_WORD_SWAP_BIOS( 15, "epr-21577d.ic27",  0x000000, 0x200000, CRC(60ddcbbe) SHA1(58b15096d269d6df617ca1810b66b47deb184958) ) \
2768   ROM_SYSTEM_BIOS( 16, "bios16", "epr-21579d (Korea)" ) \
2769   ROM_LOAD16_WORD_SWAP_BIOS( 16, "epr-21579d.ic27",  0x000000, 0x200000, CRC(33513691) SHA1(b1d8c7c516e1471a788fcf7a02a794ad2f05aeeb) ) \
2770   ROM_SYSTEM_BIOS( 17, "bios17", "epr-21579 (Korea)" ) \
2771   ROM_LOAD16_WORD_SWAP_BIOS( 17, "epr-21579.ic27",  0x000000, 0x200000, CRC(71f9c918) SHA1(d15af8b947f41eea7c203b565cd403e3f37a2017) ) \
2772   ROM_SYSTEM_BIOS( 18, "bios18", "Naomi Dev BIOS" ) \
2773   ROM_LOAD16_WORD_SWAP_BIOS( 18,  "dcnaodev.bios", 0x000000, 0x080000, CRC(7a50fab9) SHA1(ef79f448e0bf735d1264ad4f051d24178822110f) ) /* This one comes from a dev / beta board. The eprom was a 27C4096 */
27712774
27722775
27732776// bios for House of the Dead 2
r15097r15098
27982801#define NAOMIGD_BIOS \
27992802   ROM_REGION( 0x200000, "maincpu", 0) \
28002803   ROM_SYSTEM_BIOS( 0, "bios0", "epr-21576e (Japan)" ) \
2801   ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-21576e.bin",  0x000000, 0x200000, CRC(08c0add7) SHA1(e7c1a7673cb2ccb21748ef44105e46d1bad7266d) ) \
2804   ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-21576e.ic27",  0x000000, 0x200000, CRC(08c0add7) SHA1(e7c1a7673cb2ccb21748ef44105e46d1bad7266d) ) \
28022805   ROM_SYSTEM_BIOS( 1, "bios1", "epr-21576g (Japan)" ) \
2803   ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-21576g.bin",  0x000000, 0x200000, CRC(d2a1c6bf) SHA1(6d27d71aec4dfba98f66316ae74a1426d567698a) ) \
2806   ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-21576g.ic27",  0x000000, 0x200000, CRC(d2a1c6bf) SHA1(6d27d71aec4dfba98f66316ae74a1426d567698a) ) \
28042807   ROM_SYSTEM_BIOS( 2, "bios2", "epr-21576h (Japan)" ) \
2805   ROM_LOAD16_WORD_SWAP_BIOS( 2, "epr-21576h.bin",  0x000000, 0x200000, CRC(d4895685) SHA1(91424d481ff99a8d3f4c45cea6d3f0eada049a6d) ) \
2808   ROM_LOAD16_WORD_SWAP_BIOS( 2, "epr-21576h.ic27",  0x000000, 0x200000, CRC(d4895685) SHA1(91424d481ff99a8d3f4c45cea6d3f0eada049a6d) ) \
28062809   ROM_SYSTEM_BIOS( 3, "bios3", "epr-21576d (Japan)" ) \
2807   ROM_LOAD16_WORD_SWAP_BIOS( 3, "epr-21576d.bin",  0x000000, 0x200000, CRC(3b2afa7b) SHA1(d007e1d321c198a38c5baff86eb2ab84385d150a) ) \
2810   ROM_LOAD16_WORD_SWAP_BIOS( 3, "epr-21576d.ic27",  0x000000, 0x200000, CRC(3b2afa7b) SHA1(d007e1d321c198a38c5baff86eb2ab84385d150a) ) \
28082811   ROM_SYSTEM_BIOS( 4, "bios4", "epr-21578h (Export)" ) \
2809   ROM_LOAD16_WORD_SWAP_BIOS( 4, "epr-21578h.ic27", 0x000000, 0x200000, CRC(7b452946) SHA1(8e9f153bbada24b37066dc45b64a7bf0d4f26a9b) ) \
2812   ROM_LOAD16_WORD_SWAP_BIOS( 4, "epr-21578h.ic27", 0x000000, 0x200000, CRC(7b452946) SHA1(8e9f153bbada24b37066dc45b64a7bf0d4f26a9b) ) \
28102813   ROM_SYSTEM_BIOS( 5, "bios5", "epr-21578g (Export)" ) \
2811   ROM_LOAD16_WORD_SWAP_BIOS( 5, "epr-21578g.ic27", 0x000000, 0x200000, CRC(55413214) SHA1(bd2748365a9fc1821c9369aa7155d7c41c4df43e) ) \
2814   ROM_LOAD16_WORD_SWAP_BIOS( 5, "epr-21578g.ic27", 0x000000, 0x200000, CRC(55413214) SHA1(bd2748365a9fc1821c9369aa7155d7c41c4df43e) ) \
28122815   ROM_SYSTEM_BIOS( 6, "bios6", "epr-21578e (Export)" ) \
2813   ROM_LOAD16_WORD_SWAP_BIOS( 6, "epr-21578e.bin",  0x000000, 0x200000, CRC(087f09a3) SHA1(0418eb2cf9766f0b1b874a4e92528779e22c0a4a) ) \
2816   ROM_LOAD16_WORD_SWAP_BIOS( 6, "epr-21578e.ic27",  0x000000, 0x200000, CRC(087f09a3) SHA1(0418eb2cf9766f0b1b874a4e92528779e22c0a4a) ) \
28142817   ROM_SYSTEM_BIOS( 7, "bios7", "epr-21578d (Export)" ) \
2815   ROM_LOAD16_WORD_SWAP_BIOS( 7, "epr-21578d.bin",  0x000000, 0x200000, CRC(dfd5f42a) SHA1(614a0db4743a5e5a206190d6786ade24325afbfd) ) \
2816   ROM_SYSTEM_BIOS( 8, "bios8", "epr-21577g (USA)" ) \
2817   ROM_LOAD16_WORD_SWAP_BIOS( 8, "epr-21577g.bin",  0x000000, 0x200000, CRC(25f64af7) SHA1(99f9e6cc0642319bd2da492611220540add573e8) ) \
2818   ROM_SYSTEM_BIOS( 9, "bios9", "epr-21577e (USA)" ) \
2819   ROM_LOAD16_WORD_SWAP_BIOS( 9, "epr-21577e.bin",  0x000000, 0x200000, CRC(cf36e97b) SHA1(b085305982e7572e58b03a9d35f17ae319c3bbc6) ) \
2820   ROM_SYSTEM_BIOS( 10, "bios10", "epr-21577d (USA)" ) \
2821   ROM_LOAD16_WORD_SWAP_BIOS( 10, "epr-21577d.bin",  0x000000, 0x200000, CRC(60ddcbbe) SHA1(58b15096d269d6df617ca1810b66b47deb184958) ) \
2822   ROM_SYSTEM_BIOS( 11, "bios11", "epr-21579d (Korea)" ) \
2823   ROM_LOAD16_WORD_SWAP_BIOS( 11, "epr-21579d.ic27",  0x000000, 0x200000, CRC(33513691) SHA1(b1d8c7c516e1471a788fcf7a02a794ad2f05aeeb) ) \
2818   ROM_LOAD16_WORD_SWAP_BIOS( 7, "epr-21578d.ic27",  0x000000, 0x200000, CRC(dfd5f42a) SHA1(614a0db4743a5e5a206190d6786ade24325afbfd) ) \
2819   ROM_SYSTEM_BIOS( 8, "bios8", "epr-21577h (USA)" ) \
2820   ROM_LOAD16_WORD_SWAP_BIOS( 8, "epr-21577h.ic27",  0x000000, 0x200000, CRC(fdf17452) SHA1(5f3e4b677f0046ce690a4f096b0481e5dd8bb6e6) ) \
2821   ROM_SYSTEM_BIOS( 9, "bios9", "epr-21577g (USA)" ) \
2822   ROM_LOAD16_WORD_SWAP_BIOS( 9, "epr-21577g.ic27",  0x000000, 0x200000, CRC(25f64af7) SHA1(99f9e6cc0642319bd2da492611220540add573e8) ) \
2823   ROM_SYSTEM_BIOS( 10, "bios10", "epr-21577e (USA)" ) \
2824   ROM_LOAD16_WORD_SWAP_BIOS( 10, "epr-21577e.ic27",  0x000000, 0x200000, CRC(cf36e97b) SHA1(b085305982e7572e58b03a9d35f17ae319c3bbc6) ) \
2825   ROM_SYSTEM_BIOS( 11, "bios11", "epr-21577d (USA)" ) \
2826   ROM_LOAD16_WORD_SWAP_BIOS( 11, "epr-21577d.ic27",  0x000000, 0x200000, CRC(60ddcbbe) SHA1(58b15096d269d6df617ca1810b66b47deb184958) ) \
2827   ROM_SYSTEM_BIOS( 12, "bios12", "epr-21579d (Korea)" ) \
2828   ROM_LOAD16_WORD_SWAP_BIOS( 12, "epr-21579d.ic27",  0x000000, 0x200000, CRC(33513691) SHA1(b1d8c7c516e1471a788fcf7a02a794ad2f05aeeb) ) \
28242829   ROM_REGION( 0x200000, "user2", 0) \
28252830   ROM_LOAD16_WORD_SWAP( "fpr-23489c.ic14", 0x000000, 0x200000, CRC(bc38bea1) SHA1(b36fcc6902f397d9749e9d02de1bbb7a5e29d468) )
28262831
r15097r15098
61106115   NAOMI_DEFAULT_EEPROM
61116116
61126117   DISK_REGION( "gdrom" )
6113   DISK_IMAGE_READONLY( "gdl-0018", 0, BAD_DUMP SHA1(3e40ca7d43173fe7048d199fdc127b9411e10360) )
6118   DISK_IMAGE_READONLY( "gdl-0018", 0, SHA1(857d405b733c1de3534275a91afb939aec4e1279) )
61146119
61156120   ROM_REGION( 0x50, "pic", ROMREGION_ERASE)
61166121   //PIC16C622A (317-5091-JPN)
src/mame/drivers/cyberbal.c
r15097r15098
306306   PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED )
307307   PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
308308   PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
309   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen")
309   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("lscreen")
310310
311311   PORT_START("IN2")      /* fake port for screen switching */
312312   PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
src/mame/drivers/backfire.c
r15097r15098
339339   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
340340   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
341341   PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW )
342   PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
342   PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("lscreen")
343343   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* 'soundmask' */
344344   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
345345   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
r15097r15098
354354
355355   PORT_START("IN3")
356356   PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNUSED ) /* all other bits like low IN2 */
357   PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
357   PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("lscreen")
358358   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
359359
360360   PORT_START("PADDLE0")
src/mame/drivers/sspeedr.c
r15097r15098
108108ADDRESS_MAP_END
109109
110110
111static const UINT32 sspeedr_controller_table[] =
111static const ioport_value sspeedr_controller_table[] =
112112{
113113   0x3f, 0x3e, 0x3c, 0x3d, 0x39, 0x38, 0x3a, 0x3b,
114114   0x33, 0x32, 0x30, 0x31, 0x35, 0x34, 0x36, 0x37,
src/mame/drivers/tourvis.c
r15097r15098
515515}
516516
517517GAME( 19??, tourvis,  0,       tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision)", "Tourvision PCE bootleg", GAME_IS_BIOS_ROOT | GAME_NOT_WORKING )
518GAME( 1988, tvlegaxe, tourvis, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision) / Victor Musical Industries, Inc.", " Makyo Densetsu - The Legenary Axe (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
518GAME( 1988, tvlegaxe, tourvis, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision) / Victor Musical Industries, Inc.", "Makyo Densetsu - The Legenary Axe (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
519519GAME( 1989, tvusapb,  tourvis, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision) / Aicom", "USA Pro Basketball (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
520520GAME( 1989, tvdunexp, tourvis, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision) / Hudson / Atlus", "Dungeon Explorer (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
521521GAME( 1990, tvthbld,  tourvis, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision) / Sega / NEC Avenue", "Thunder Blade (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
src/mame/drivers/byvid.c
r15097r15098
2828   required_device<pia6821_device> m_videopia;
2929
3030   DECLARE_READ8_MEMBER(m6803_port2_r);
31   DECLARE_WRITE8_MEMBER(m6803_port2_w);
3132
3233   DECLARE_INPUT_CHANGED_MEMBER(video_test);
3334   DECLARE_INPUT_CHANGED_MEMBER(sound_test);
34//  UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
35
36protected:
37
38   // driver_device overrides
39   virtual void machine_reset();
35   
36   UINT8 m_sound_port2;
4037};
4138
42#if 0
43UINT32 by133_state::screen_update( screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect )
44{
45   return 0;
46}
47#endif
4839
4940static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, by133_state )
5041   AM_RANGE(0x0000, 0xffff) AM_NOP
r15097r15098
6758
6859READ8_MEMBER(by133_state::m6803_port2_r)
6960{
70   // TODO: port 2 to /reset pin (see schematics)
71   UINT8 d0 = m_videopia->cb2_output() ? 1 : 0;
72   return (m_videopia->b_output() << 1 & 0x1e) | d0;
61   machine().scheduler().synchronize();
62   return m_sound_port2;
7363}
7464
65WRITE8_MEMBER(by133_state::m6803_port2_w)
66{
67}
68
7569static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, by133_state )
7670   AM_RANGE(0xc000, 0xffff) AM_ROM
7771ADDRESS_MAP_END
7872
7973static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, by133_state )
8074   AM_RANGE(M6801_PORT1, M6801_PORT1) AM_DEVWRITE_LEGACY("dac", dac_w)
81   AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READ(m6803_port2_r)
75   AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READWRITE(m6803_port2_r, m6803_port2_w)
8276ADDRESS_MAP_END
8377
8478
r15097r15098
10195   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Sound Test") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, by133_state, sound_test, 0)
10296INPUT_PORTS_END
10397
104void by133_state::machine_reset()
105{
106}
10798
108static DRIVER_INIT( by133 )
109{
110}
111
11299static WRITE_LINE_DEVICE_HANDLER(vdp_interrupt)
113100{
114101   cputag_set_input_line(device->machine(), "videocpu", M6809_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
r15097r15098
129116
130117static WRITE_LINE_DEVICE_HANDLER(by133_cb2)
131118{
132   // to M6803 port 2 d0
133   by133_state *drv_state = device->machine().driver_data<by133_state>();
134   device_set_input_line(drv_state->m_audiocpu, M6801_TIN_LINE, state ? ASSERT_LINE : CLEAR_LINE);
119   // to M6803 port 2 d0?
120//   by133_state *drv_state = device->machine().driver_data<by133_state>();
121//   device_set_input_line(drv_state->m_audiocpu, M6801_TIN_LINE, state ? ASSERT_LINE : CLEAR_LINE);
135122}
136123
137124static READ8_DEVICE_HANDLER(by133_portb_r)
r15097r15098
139126   return 0;
140127}
141128
129static WRITE8_DEVICE_HANDLER(by133_portb_w)
130{
131   by133_state *state = device->machine().driver_data<by133_state>();
132   device->machine().scheduler().synchronize();
133   
134   // d0-d3 to m6803 d1-d4
135   state->m_sound_port2 = data << 1 & 0x1f;
136}
137
142138static const pia6821_interface videopia_intf =
143139{
144140   DEVCB_NULL,      /* port A in */
r15097r15098
148144   DEVCB_NULL,      /* line CA2 in */
149145   DEVCB_NULL,      /* line CB2 in */
150146   DEVCB_NULL,      /* port A out */
151   DEVCB_NULL,      /* port B out */
147   DEVCB_HANDLER(by133_portb_w),      /* port B out */
152148   DEVCB_NULL,      /* line CA2 out */
153149   DEVCB_LINE(by133_cb2),      /* line CB2 out */
154150   DEVCB_LINE(by133_firq),      /* IRQA */
r15097r15098
156152};
157153
158154
155static MACHINE_RESET( by133 )
156{
157   by133_state *state = machine.driver_data<by133_state>();
158   state->m_sound_port2 = 2; // forced to 010 on /reset
159}
160
159161static MACHINE_CONFIG_START( by133, by133_state )
160162   /* basic machine hardware */
161163   MCFG_CPU_ADD("maincpu", M6800, 3580000/4)
r15097r15098
171173
172174   MCFG_PIA6821_ADD("videopia", videopia_intf)
173175
176   MCFG_MACHINE_RESET(by133)
177
174178   /* video hardware */
175179   MCFG_TMS9928A_ADD( "tms9928a", TMS9928A, byvid_tms9928a_interface )
176180   MCFG_TMS9928A_SCREEN_ADD_NTSC( "screen" )
r15097r15098
246250ROM_END
247251
248252
249GAME( 1982, babypac,  0,        by133,  by133,  by133,  ROT90, "Bally",    "Baby Pac-Man (set 1)",     GAME_IS_SKELETON_MECHANICAL)
250GAME( 1982, babypac2, babypac,  by133,  by133,  by133,  ROT90, "Bally",    "Baby Pac-Man (set 2)",     GAME_IS_SKELETON_MECHANICAL)
251GAME( 1984, granny,   0,        by133,  by133,  by133,  ROT0,  "Bally",    "Granny and the Gators",    GAME_IS_SKELETON_MECHANICAL)
253GAME( 1982, babypac,  0,        by133,  by133,  0,  ROT90, "Bally",    "Baby Pac-Man (set 1)",     GAME_IS_SKELETON_MECHANICAL)
254GAME( 1982, babypac2, babypac,  by133,  by133,  0,  ROT90, "Bally",    "Baby Pac-Man (set 2)",     GAME_IS_SKELETON_MECHANICAL)
255GAME( 1984, granny,   0,        by133,  by133,  0,  ROT0,  "Bally",    "Granny and the Gators",    GAME_IS_SKELETON_MECHANICAL)
src/mame/drivers/astrocde.c
r15097r15098
722722 *
723723 *************************************/
724724
725static const UINT32 controller_table[64] =
725static const ioport_value controller_table[64] =
726726{
727727   0x20, 0x21, 0x23, 0x22, 0x26, 0x27, 0x25, 0x24,
728728   0x2c, 0x2d, 0x2f, 0x2e, 0x2a, 0x2b, 0x29, 0x28,
src/mame/drivers/mw18w.c
r15097r15098
9494   AM_RANGE(0x07, 0x07) AM_WRITE(mw18w_irq0_clear_w)
9595ADDRESS_MAP_END
9696
97static const UINT32 mw18w_controller_table[] =
97static const ioport_value mw18w_controller_table[] =
9898{
9999   // same encoder as sspeedr
100100   0x3f, 0x3e, 0x3c, 0x3d, 0x39, 0x38, 0x3a, 0x3b,
src/mame/drivers/puckpkmn.c
r15097r15098
126126INPUT_PORTS_END
127127
128128
129
130
131static INPUT_PORTS_START( batlemp )
132   PORT_START("P2")   /* $700011.b */
133   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
134   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
135   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )
136   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
137   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
138   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
139   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
140   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
141
142   PORT_START("P1")   /* $700013.b */
143   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
144   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(10)
145   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
146   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
147   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
148   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
149   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
150   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
151
152   PORT_START("UNK")   /* $700015.b */
153   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
154   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
155   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
156   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
157   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
158   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
159   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
160   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
161
162
163   PORT_START("DSW1")   /* $700017.b */
164   PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
165   PORT_DIPSETTING(    0x03, DEF_STR( 5C_1C ) )
166   PORT_DIPSETTING(    0x04, DEF_STR( 4C_1C ) )
167   PORT_DIPSETTING(    0x05, DEF_STR( 3C_1C ) )
168   PORT_DIPSETTING(    0x06, DEF_STR( 2C_1C ) )
169   PORT_DIPSETTING(    0x07, DEF_STR( 1C_1C ) )
170   PORT_DIPSETTING(    0x02, DEF_STR( 1C_2C ) )
171   PORT_DIPSETTING(    0x01, DEF_STR( 1C_3C ) )
172   PORT_DIPSETTING(    0x00, DEF_STR( 1C_4C ) )
173   PORT_DIPNAME( 0x38, 0x28, DEF_STR( Lives ) )
174   PORT_DIPSETTING(    0x38, "1" )
175   PORT_DIPSETTING(    0x30, "2" )
176   PORT_DIPSETTING(    0x28, "3" )
177   PORT_DIPSETTING(    0x20, "4" )
178   PORT_DIPSETTING(    0x18, "5" )
179   PORT_DIPSETTING(    0x10, "6" )
180   PORT_DIPSETTING(    0x08, "7" )
181   PORT_DIPSETTING(    0x00, "8" )
182   PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Difficulty ) )
183   PORT_DIPSETTING(    0xc0, DEF_STR( Easy ) )
184   PORT_DIPSETTING(    0x80, DEF_STR( Normal ) )
185   PORT_DIPSETTING(    0x40, DEF_STR( Hard ) )
186   PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
187
188   PORT_START("DSW2")   /* $700019.b */
189   PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
190   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
191   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
192   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
193   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
194   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
195   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
196   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
197   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
198   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
199   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
200   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
201   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
202   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
203   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
204   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
205   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
206   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
207   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
208   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
209   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
210   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
211INPUT_PORTS_END
212
213
129214static ADDRESS_MAP_START( puckpkmn_map, AS_PROGRAM, 16, md_boot_state )
130   AM_RANGE(0x000000, 0x1fffff) AM_ROM                        /* Main 68k Program Roms */
215   AM_RANGE(0x000000, 0x3fffff) AM_ROM                        /* Main 68k Program Roms */
131216   AM_RANGE(0x700010, 0x700011) AM_READ_PORT("P2")
132217   AM_RANGE(0x700012, 0x700013) AM_READ_PORT("P1")
133218   AM_RANGE(0x700014, 0x700015) AM_READ_PORT("UNK")
r15097r15098
136221   AM_RANGE(0x700022, 0x700023) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
137222   AM_RANGE(0xa04000, 0xa04003) AM_DEVREADWRITE8_LEGACY("ymsnd", megadriv_68k_YM2612_read, megadriv_68k_YM2612_write, 0xffff)
138223   AM_RANGE(0xc00000, 0xc0001f) AM_READWRITE_LEGACY(megadriv_vdp_r, megadriv_vdp_w)
224   AM_RANGE(0x000000, 0x00001f) AM_WRITE_LEGACY(megadriv_vdp_w)
225
139226   AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000) AM_BASE_LEGACY(&megadrive_ram)
140227
141228   /* Unknown reads/writes: */
r15097r15098
148235   AM_RANGE(0xa11200, 0xa11201) AM_WRITENOP                     /* ? */
149236ADDRESS_MAP_END
150237
238
239static ADDRESS_MAP_START( batlemp_map, AS_PROGRAM, 16, md_boot_state )
240   AM_RANGE(0x000000, 0x3fffff) AM_ROM
241   AM_RANGE(0x700010, 0x700011) AM_READ_PORT("P2")
242   AM_RANGE(0x700012, 0x700013) AM_READ_PORT("P1")
243   AM_RANGE(0x700014, 0x700015) AM_READ_PORT("UNK")
244   AM_RANGE(0x700016, 0x700017) AM_READ_PORT("DSW1")
245   AM_RANGE(0x700018, 0x700019) AM_READ_PORT("DSW2")
246   AM_RANGE(0x700022, 0x700023) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
247   AM_RANGE(0xa04000, 0xa04003) AM_DEVREADWRITE8_LEGACY("ymsnd", megadriv_68k_YM2612_read, megadriv_68k_YM2612_write, 0xffff)
248   AM_RANGE(0xc00000, 0xc0001f) AM_READWRITE_LEGACY(megadriv_vdp_r, megadriv_vdp_w)
249   
250
251   AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000) AM_BASE_LEGACY(&megadrive_ram)
252
253   AM_RANGE(0xa00000, 0xa00551) AM_NOP
254
255   AM_RANGE(0xA11100, 0xA11101) AM_NOP
256
257   AM_RANGE(0x710000, 0x710001) AM_READWRITE(bl_710000_r,bl_710000_w) // protection, will erase the VDP address causing writes to 0 unless this returns 0xe
258
259
260
261
262ADDRESS_MAP_END
263
151264static READ16_HANDLER(puckpkmna_70001c_r)
152265{
153266   return 0x0e;
r15097r15098
184297
185298MACHINE_CONFIG_END
186299
300static MACHINE_CONFIG_DERIVED( batlemp, puckpkmn )
301
302   MCFG_CPU_MODIFY("maincpu")
303   MCFG_CPU_PROGRAM_MAP(batlemp_map)
304
305MACHINE_CONFIG_END
306
187307/* Genie's Hardware (contains no real sega parts) */
188308
189309/***************************************************************************
r15097r15098
271391}
272392
273393ROM_START( puckpkmn ) /* Puckman Pockimon  (c)2000 Genie */
274   ROM_REGION( 0x200000, "maincpu", 0 )
394   ROM_REGION( 0x400000, "maincpu", 0 )
275395   ROM_LOAD16_BYTE( "puckpoke.u5", 0x000000, 0x080000, CRC(fd334b91) SHA1(cf8bf6645a4082ea4392937e169b1686c9c7e246) )
276396   ROM_LOAD16_BYTE( "puckpoke.u4", 0x000001, 0x080000, CRC(839cc76b) SHA1(e15662a7175db7a8e222dda176a8ed92e0d56e9d) )
277397   ROM_LOAD16_BYTE( "puckpoke.u8", 0x100000, 0x080000, CRC(7936bec8) SHA1(4b350105abe514fbfeabae1c6f3aeee695c3d07a) )
r15097r15098
323443*/
324444
325445ROM_START( puckpkmna ) /* Puckman Pockimon  (c)2000 IBS Co. Ltd */
326   ROM_REGION( 0x200000, "maincpu", 0 )
446   ROM_REGION( 0x400000, "maincpu", 0 )
327447   ROM_LOAD16_BYTE( "b2.u59", 0x000000, 0x080000, CRC(3fbea2c7) SHA1(89f3770ae92c62714f0795ddd2f311a9532eb25a) ) // FIRST AND SECOND HALF IDENTICAL
328448   ROM_IGNORE(0x080000)
329449   ROM_LOAD16_BYTE( "b1.u59", 0x000001, 0x080000, CRC(dc7b4254) SHA1(8ba5c5e8123e62e9af091971d0d0401d2df49350) ) // FIRST AND SECOND HALF IDENTICAL
r15097r15098
337457   ROM_LOAD( "a.u3", 0x00000, 0x80000, CRC(77891c9b) SHA1(66f28b418a480a89ddb3fae3a7c2fe702c62364c) )
338458ROM_END
339459
460
461
462
463
464ROM_START( batlemp )
465   ROM_REGION( 0x400000, "maincpu", 0 )
466   ROM_LOAD16_BYTE( "s.y.u5", 0x000000, 0x080000, CRC(a4a526b5) SHA1(85d0299caf91ff50b6870f845b9aacbd358ed81f) )
467   ROM_LOAD16_BYTE( "s.y.u4", 0x000001, 0x080000, CRC(c16654eb) SHA1(dca4b772a3b9caa7be3fa01511c401b591c2e6f3) )
468   ROM_LOAD16_BYTE( "s.y.u8", 0x100000, 0x080000, CRC(b62e1068) SHA1(2484ae49a4a2a2c551b3b84bbc0b4e40e5d281e7) )
469   ROM_LOAD16_BYTE( "s.y.u7", 0x100001, 0x080000, CRC(27fe424c) SHA1(14bee8c16aac3d5b04123c994167531f817634fd) )
470   ROM_LOAD16_BYTE( "s.y.u64", 0x200000, 0x080000, CRC(62f52886) SHA1(07fc9765274c03eff4a09f48a0b1b2b2afc6078e) )
471   ROM_LOAD16_BYTE( "s.y.u63", 0x200001, 0x080000, CRC(a6a32c8c) SHA1(d0c779751e4af459e9bf63e55c5e2b19a243b70d) )
472   ROM_LOAD16_BYTE( "s.y.u66", 0x300000, 0x080000, CRC(fa4a09f5) SHA1(67d77c91a994ecb8b29e7661c3a12e84a64eb837))
473   ROM_LOAD16_BYTE( "s.y.u65", 0x300001, 0x080000, CRC(de64e526) SHA1(e3b3e5c95b8ae36c0c57f8c9a6f55084464c4c05) )
474
475   ROM_REGION( 0x80000, "oki", 0 ) // there are 2 banks in here, so find bank switch
476   ROM_LOAD( "s.y.u3", 0x00000, 0x40000, CRC(38eef2f2) SHA1(2f750dbf71fea0622e8493f0a8be7c43555ed5cf) )
477   ROM_CONTINUE(0x40000,0x40000)
478ROM_END
479
340480/* Genie Hardware (uses Genesis VDP) also has 'Sun Mixing Co' put into tile ram */
341481GAME( 2000, puckpkmn, 0,        puckpkmn,  puckpkmn, puckpkmn, ROT0, "Genie",                  "Puckman Pockimon (set 1)", 0 )
342482GAME( 2000, puckpkmna,puckpkmn, puckpkmna, puckpkmn, puckpkmn, ROT0, "IBS",                    "Puckman Pockimon (set 2)", 0 )
483GAME( 2000, batlemp,  0,        batlemp,   batlemp,  puckpkmn, ROT0, "<unknown>",              "Jue Zhan Tian Huang/Battle Emporer", GAME_IMPERFECT_SOUND )
src/mame/drivers/timeplt.c
r15097r15098
280280INPUT_PORTS_END
281281
282282static INPUT_PORTS_START( chkun )
283   PORT_INCLUDE(timeplt)
283   PORT_START("IN0")
284   PORT_DIPNAME( 0x01, 0x01, "DSWA" )
285   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
286   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
287   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
288   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
289   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
290   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
291   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
292   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
293   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
294   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
295   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
296   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
297   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
298   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
299   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
300   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
301   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
302   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
303   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
304   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
305   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
306   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
307   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
284308
309   PORT_START("IN1")
310   PORT_DIPNAME( 0x01, 0x01, "DSWA" )
311   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
312   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
313   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
314   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
315   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
316   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
317   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
318   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
319   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
320   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
321   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
322   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
323   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
324   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
325   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
326   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
327   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
328   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
329   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
330   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
331   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
332   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
333   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
285334
286   PORT_MODIFY("DSW0")
287   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
335   PORT_START("IN2")
336   PORT_DIPNAME( 0x01, 0x01, "DSWA" )
288337   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
289338   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
290339   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
r15097r15098
302351   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
303352   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
304353   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
305   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) //service mode
354   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
306355   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
307356   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
308   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
357   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
309358   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
310359   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
360
361   PORT_START("DSW0")
362   PORT_DIPNAME( 0x01, 0x01, "DSWA" )
363   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
364   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
365   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
366   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
367   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
368   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
369   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
370   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
371   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
372   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
373   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
374   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
375   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
376   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
377   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
378   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
379   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
380   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) // debug mode
381   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
382   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
383   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) // Freeze?
384   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
385   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
386
387   PORT_START("DSW1")
388   PORT_DIPNAME( 0x01, 0x01, "DSWA" )
389   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
390   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
391   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
392   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
393   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
394   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
395   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
396   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
397   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
398   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
399   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
400   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
401   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
402   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
403   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
404   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
405   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
406   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
407   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
408   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
409   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
410   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
411   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
311412INPUT_PORTS_END
312413
414static INPUT_PORTS_START( bikkuric )
415   PORT_START("IN0")
416   PORT_DIPNAME( 0x01, 0x01, "DSWA" )
417   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
418   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
419   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
420   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
421   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
422   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
423   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
424   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
425   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
426   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
427   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
428   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
429   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
430   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
431   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
432   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
433   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
434   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
435   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
436   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
437   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
438   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
439   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
313440
441   PORT_START("IN1")
442   PORT_DIPNAME( 0x01, 0x01, "DSWA" )
443   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
444   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
445   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
446   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
447   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
448   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
449   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
450   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
451   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
452   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
453   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
454   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
455   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
456   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
457   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
458   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
459   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
460   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
461   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
462   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
463   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
464   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
465   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
466
467   PORT_START("IN2")
468   PORT_DIPNAME( 0x01, 0x01, "DSWA" )
469   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
470   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
471   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
472   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
473   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
474   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
475   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
476   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
477   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
478   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
479   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
480   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
481   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
482   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
483   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
484   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
485   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
486   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
487   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
488   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
489   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
490   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
491   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
492
493   PORT_START("DSW0")
494   PORT_DIPNAME( 0x01, 0x01, "DSWA" )
495   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
496   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
497   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
498   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
499   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
500   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
501   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
502   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
503   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
504   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
505   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
506   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
507   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
508   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
509   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
510   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
511   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
512   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
513   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
514   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
515   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
516   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
517   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
518
519   PORT_START("DSW1")
520   PORT_DIPNAME( 0x01, 0x01, "DSWA" )
521   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
522   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
523   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
524   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
525   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
526   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
527   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
528   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
529   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
530   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
531   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
532   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
533   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
534   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
535   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
536   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
537   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
538   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
539   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
540   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
541   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
542   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
543   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
544INPUT_PORTS_END
545
314546/*************************************
315547 *
316548 *  Graphics layouts
r15097r15098
578810   ROM_LOAD( "b.9f",   0x0100, 0x00eb, CRC(e3857f83) SHA1(674e70dc960fc02a9fbda4a0ef0770eb8214c466) )
579811ROM_END
580812
813ROM_START( bikkuric )
814   ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
815   ROM_LOAD( "1.a16",        0x00000, 0x04000, CRC(e8d595ab) SHA1(01f6a5321274befcd03a0ec18ed9770aca4527b6) )
816   ROM_LOAD( "2.a14",        0x04000, 0x02000, CRC(63fd7d53) SHA1(b1ef666453c5c9e344bee544a0673068d60158fa) )
817
818   ROM_REGION( 0x10000, "tpsound", ROMREGION_ERASE00 )
819   ROM_LOAD( "5.l3",         0x00000, 0x02000, CRC(bc438531) SHA1(e19badc417b0538010cf535d3f733acc54b0cd96) )
820
821   ROM_REGION( 0x8000, "gfx1", ROMREGION_ERASE00 )
822   ROM_LOAD( "3.d4",         0x00000, 0x08000, CRC(74e8a64b) SHA1(b2542e1f6f4b54d8f7aec8f673cedcf5bff5e429) ) // 1st and 2nd identical, confirmed to be like this
823
824   ROM_REGION( 0x2000, "gfx2", ROMREGION_ERASE00 )
825   ROM_LOAD( "4.h8",         0x00000, 0x02000, CRC(d303942d) SHA1(688d43e6dbe505d44fc41fdde74858a02910080d) )
826
827   ROM_REGION( 0x0240, "proms", 0 )
828   ROM_LOAD( "timeplt.b4",   0x0000, 0x0020, BAD_DUMP CRC(34c91839) SHA1(f62e279e21fce171231d3139be7adabe1f4b8c2e) ) /* palette */
829   ROM_LOAD( "timeplt.b5",   0x0020, 0x0020, BAD_DUMP CRC(463b2b07) SHA1(9ad275365eba4869f94749f39ff8705d92056a10) ) /* palette */
830   ROM_LOAD( "timeplt.e9",   0x0040, 0x0100, BAD_DUMP CRC(4bbb2150) SHA1(678433b21aae1daa938e32d3293eeed529a42ef9) ) /* sprite lookup table */
831   ROM_LOAD( "timeplt.e12",  0x0140, 0x0100, BAD_DUMP CRC(f7b7663e) SHA1(151bd2dff4e4ef76d6438c1ab2cae71f987b9dad) ) /* char lookup table */
832ROM_END
833
834
581835/*************************************
582836 *
583837 *  Game drivers
r15097r15098
588842GAME( 1982, timepltc, timeplt, timeplt, timeplt, 0, ROT90,  "Konami (Centuri license)", "Time Pilot (Centuri)", GAME_SUPPORTS_SAVE )
589843GAME( 1982, timeplta, timeplt, timeplt, timeplt, 0, ROT90,  "Konami (Atari license)", "Time Pilot (Atari)", GAME_SUPPORTS_SAVE )
590844GAME( 1982, spaceplt, timeplt, timeplt, timeplt, 0, ROT90,  "bootleg", "Space Pilot", GAME_SUPPORTS_SAVE )
591GAME( 1982, chkun,    0,       chkun,   chkun,  0, ROT90,  "<unknown>", "Chance Kun", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
592845GAME( 1988, psurge,   0,       psurge,  psurge,  0, ROT270, "<unknown>", "Power Surge", GAME_SUPPORTS_SAVE )
846// ROM says manufactured by Peni Soft for these two ... no, I'm not going to add THAT -.-"
847GAME( 1982, chkun,    0,       chkun,   chkun,   0, ROT90,  "<unknown>", "Chance Kun", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
848GAME( 1987, bikkuric, 0,       chkun,   bikkuric,0, ROT90,  "<unknown>", "Bikkuri Card (Japan)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING | GAME_IMPERFECT_COLORS)
849
src/mame/drivers/williams.c
r15097r15098
16931693static MACHINE_CONFIG_DERIVED( joust2, williams2 )
16941694
16951695   /* basic machine hardware */
1696   MCFG_WILLIAMS_CVSD_SOUND_ADD("cvsd")
1696   MCFG_WILLIAMS_CVSD_SOUND_ADD("cvsd_sound")
16971697   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
16981698
16991699   MCFG_MACHINE_START(joust2)
src/mame/drivers/subs.c
r15097r15098
114114   PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_START2 )
115115   PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
116116   PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_START1 )
117   PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen")
117   PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("lscreen")
118118   PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
119119   PORT_SERVICE_NO_TOGGLE( 0x40, IP_ACTIVE_LOW )
120120   PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
src/mame/drivers/nmk16.c
r15097r15098
48744874   MCFG_SCREEN_UPDATE_STATIC(firehawk)
48754875MACHINE_CONFIG_END
48764876
4877static MACHINE_CONFIG_DERIVED( grdnstrmk, stagger1 )
4877static MACHINE_CONFIG_DERIVED( grdnstrmk, stagger1 ) /* Side by side with PCB, the music seems too fast as well */
48784878
48794879   /* basic machine hardware */
48804880
48814881   /* video hardware */
4882   MCFG_SCREEN_MODIFY("screen")
4883   MCFG_SCREEN_REFRESH_RATE(57) /* Side by side with PCB, MAME is too fast at 56 */
48824884   MCFG_GFXDECODE(grdnstrm)
48834885   MCFG_VIDEO_START(grdnstrm)
48844886MACHINE_CONFIG_END
48854887
4886
48874888static MACHINE_CONFIG_DERIVED( popspops, grdnstrm )
48884889
48894890   /* basic machine hardware */
r15097r15098
66656666   ROM_LOAD( "afega1.u95", 0x00000, 0x40000, CRC(e911ce33) SHA1(a29c4dea98a22235122303325c63c15fadd3431d) )
66666667ROM_END
66676668
6669ROM_START( redfoxwp2 )
6670   ROM_REGION( 0x80000, "maincpu", 0 )      /* 68000 Code */
6671   ROM_LOAD16_BYTE( "u112", 0x000000, 0x040000, CRC(3f31600b) SHA1(6c56e36178effb60ec27dfcd205393e2cfac4ed6) ) /* No label */
6672   ROM_LOAD16_BYTE( "u107", 0x000001, 0x040000, CRC(daa44ab4) SHA1(7edaf8c7383dd31250478aeebc3247c525c75fef) ) /* No label */
6673
6674   ROM_REGION( 0x10000, "audiocpu", 0 )      /* Z80 Code */
6675   ROM_LOAD( "u92", 0x00000, 0x10000, CRC(864b55c2) SHA1(43475b05e35549ad301c3d4a25d4f4f0bcbe3f2c) ) /* Winbond W27E512-12 with no label */
6676
6677   ROM_REGION( 0x200000, "gfx1", 0 )   /* Sprites, 16x16x4 */
6678   ROM_LOAD( "afega_af1-sp.uc13", 0x000000, 0x200000, CRC(7d4d4985) SHA1(15c6c1aecd3f12050c1db2376f929f1a26a1d1cf) ) /* MASK ROM (read as 27C160) */
6679
6680   ROM_REGION( 0x400000, "gfx2", 0 )   /* Layer 0, 16x16x8 */
6681   ROM_LOAD( "afega_af1-b2.uc8", 0x000000, 0x200000, CRC(d68588c2) SHA1(c5f397d74a6ecfd2e375082f82e37c5a330fba62) ) /* MASK ROM (read as 27C160) */
6682   ROM_LOAD( "afega_af1-b1.uc3", 0x200000, 0x200000, CRC(f8b200a8) SHA1(a6c43dd57b752d87138d7125b47dc0df83df8987) ) /* MASK ROM (read as 27C160) */
6683
6684   ROM_REGION( 0x10000, "gfx3", 0 )   /* Layer 1, 8x8x4 */
6685   ROM_LOAD( "u4",  0x00000, 0x10000, CRC(19239401) SHA1(7876335dd97418bd9130dc894a517f3ceca20135) ) /* Winbond W27E512-12 with no label */
6686
6687   ROM_REGION( 0x40000, "oki1", 0 )   /* Samples */
6688   ROM_LOAD( "afega1.u95", 0x00000, 0x40000, CRC(e911ce33) SHA1(a29c4dea98a22235122303325c63c15fadd3431d) )
6689ROM_END
6690
66686691/***************************************************************************
66696692
66706693Pop's Pop's by Afega (1999)
r15097r15098
71867209GAME( 1997, redhawkb, stagger1, redhawkb, redhawkb, 0,        ROT0,   "bootleg",                           "Red Hawk (bootleg)", 0 )
71877210GAME( 1998, grdnstrm, 0,        grdnstrm, grdnstrm, 0,        ORIENTATION_FLIP_Y, "Afega (Apples Industries license)", "Guardian Storm", 0 )
71887211GAME( 1998, grdnstrmk,grdnstrm, grdnstrmk,grdnstrk, grdnstrm, ROT270, "Afega",                             "Sen Jin - Guardian Storm (Korea)", 0 )
7212GAME( 1998, redfoxwp2,grdnstrm, grdnstrmk,grdnstrk, grdnstrm, ROT270, "Afega",                             "Red Fox War Planes II (China)", 0 )
71897213GAME( 1998, bubl2000, 0,        popspops, bubl2000, bubl2000, ROT0,   "Tuning",                            "Bubble 2000", 0 ) // on a tuning board (bootleg?)
71907214GAME( 1998, hotbubl,  bubl2000, popspops, bubl2000, bubl2000, ROT0,   "Pandora",                           "Hot Bubble" , 0 ) // on an afega board ..
71917215GAME( 1999, popspops, 0,        popspops, popspops, grdnstrm, ROT0,   "Afega",                             "Pop's Pop's", 0 )
src/osd/sdl/sdl.mak
r15097r15098
447447TEST_GCC = $(shell gcc --version)
448448ifeq ($(findstring 4.4,$(TEST_GCC)),)
449449   #if we use new tools
450   LDFLAGS += -static -static-libstdc++
450   LDFLAGS += -static-libstdc++
451451endif
452452LIBS += -lSDL.dll
453453LIBS += -luser32 -lgdi32 -lddraw -ldsound -ldxguid -lwinmm -ladvapi32 -lcomctl32 -lshlwapi
src/emu/rendlay.h
r15097r15098
232232      int orientation() const { return m_orientation; }
233233      render_container *screen_container(running_machine &machine) const { return (m_screen != NULL) ? &m_screen->container() : NULL; }
234234      bool has_input() const { return bool(m_input_tag); }
235      const char *input_tag_and_mask(UINT32 &mask) const { mask = m_input_mask; return m_input_tag; }
235      const char *input_tag_and_mask(ioport_value &mask) const { mask = m_input_mask; return m_input_tag; }
236236
237237      // fetch state based on configured source
238238      int state() const;
r15097r15098
243243      layout_element *   m_element;         // pointer to the associated element (non-screens only)
244244      astring            m_output_name;      // name of this item
245245      astring            m_input_tag;      // input tag of this item
246      UINT32            m_input_mask;      // input mask of this item
246      ioport_value      m_input_mask;      // input mask of this item
247247      screen_device *      m_screen;         // pointer to screen
248248      int               m_orientation;      // orientation of this item
249249      render_bounds      m_bounds;         // bounds of the item
src/emu/ioport.c
r15097r15098
179179   INT32 delta() const { return m_delta; }
180180   INT32 centerdelta() const { return m_centerdelta; }
181181
182   // helpers
183   ioport_value apply_min_max(ioport_value value) const;
184   ioport_value apply_settings(ioport_value value) const;
185   ioport_value apply_sensitivity(ioport_value value) const;
186   ioport_value apply_inverse_sensitivity(ioport_value value) const;
187
188182   // readers
189183   void read(ioport_value &value);
190184   float crosshair_read();
191185   void frame_update(running_machine &machine);
192186   
193187private:
188   // helpers
189   INT32 apply_min_max(INT32 value) const;
190   INT32 apply_settings(INT32 value) const;
191   INT32 apply_sensitivity(INT32 value) const;
192   INT32 apply_inverse_sensitivity(INT32 value) const;
193
194194   // internal state
195195   analog_field *      m_next;               // link to the next analog state for this port
196196   ioport_field &      m_field;            // pointer to the input field referenced
r15097r15098
316316//   from a numerator and a denominator
317317//-------------------------------------------------
318318
319inline INT32 compute_scale(INT32 num, INT32 den)
319inline INT64 compute_scale(INT32 num, INT32 den)
320320{
321321   return (INT64(num) << 24) / den;
322322}
r15097r15098
327327//  an 8.24 scale value
328328//-------------------------------------------------
329329
330inline INT32 recip_scale(INT32 scale)
330inline INT64 recip_scale(INT64 scale)
331331{
332332   return (INT64(1) << 48) / scale;
333333}
r15097r15098
338338//   a 32-bit value
339339//-------------------------------------------------
340340
341inline INT32 apply_scale(INT32 value, INT32 scale)
341inline INT32 apply_scale(INT32 value, INT64 scale)
342342{
343343   return (INT64(value) * scale) >> 24;
344344}
r15097r15098
16921692
16931693
16941694//-------------------------------------------------
1695//  seq - return the input sequence for the given
1696//  input field
1695//  seq - return the live input sequence for the
1696//  given input field
16971697//-------------------------------------------------
16981698
16991699const input_seq &ioport_field::seq(input_seq_type seqtype) const
17001700{
1701   // if no live state, return default
1702   if (m_live == NULL)
1703      return defseq(seqtype);
1704
17011705   // if the field is disabled, return no key
17021706   if (m_flags & FIELD_FLAG_UNUSED)
17031707      return input_seq::empty_seq;
17041708
1705   // select either the live or config state depending on whether we have live state
1706   const input_seq &portseq = (m_live == NULL) ? m_seq[seqtype] : m_live->seq[seqtype];
1709   // if the sequence is the special default code, return the expanded default value
1710   if (m_live->seq[seqtype].is_default())
1711      return machine().ioport().type_seq(m_type, m_player, seqtype);
17071712
1708   // if the portseq is the special default code, return the expanded default value
1709   if (portseq.is_default())
1713   // otherwise, return the sequence as-is
1714   return m_live->seq[seqtype];
1715}
1716
1717
1718//-------------------------------------------------
1719//  defseq - return the default input sequence for
1720//  the given input field
1721//-------------------------------------------------
1722
1723const input_seq &ioport_field::defseq(input_seq_type seqtype) const
1724{
1725   // if the field is disabled, return no key
1726   if (m_flags & FIELD_FLAG_UNUSED)
1727      return input_seq::empty_seq;
1728
1729   // if the sequence is the special default code, return the expanded default value
1730   if (m_seq[seqtype].is_default())
17101731      return machine().ioport().type_seq(m_type, m_player, seqtype);
17111732
17121733   // otherwise, return the sequence as-is
1713   return portseq;
1734   return m_seq[seqtype];
17141735}
17151736
17161737
r15097r15098
18171838
18181839   // copy the basics
18191840   for (input_seq_type seqtype = SEQ_TYPE_STANDARD; seqtype < SEQ_TYPE_TOTAL; seqtype++)
1820      settings.seq[seqtype] = m_live->seq[seqtype];
1841      settings.seq[seqtype] = seq(seqtype);
18211842
18221843   // if there's a list of settings or we're an adjuster, copy the current value
18231844   if (first_setting() != NULL || m_type == IPT_ADJUSTER)
r15097r15098
22792300{
22802301   // fill in the basic values
22812302   for (input_seq_type seqtype = SEQ_TYPE_STANDARD; seqtype < SEQ_TYPE_TOTAL; seqtype++)
2282      seq[seqtype] = field.seq(seqtype);
2303      seq[seqtype] = field.defseq(seqtype);
22832304
22842305   // if this is a digital joystick field, make a note of it
22852306   if (field.is_digital_joystick())
r15097r15098
30143035//  values based on the time between frames
30153036//-------------------------------------------------
30163037
3017ioport_value ioport_manager::frame_interpolate(ioport_value oldval, ioport_value newval)
3038INT32 ioport_manager::frame_interpolate(INT32 oldval, INT32 newval)
30183039{
30193040   // if no last delta, just use new value
30203041   if (m_last_delta_nsec == 0)
r15097r15098
33263347            // determine if we changed
33273348            bool changed = false;
33283349            for (input_seq_type seqtype = SEQ_TYPE_STANDARD; seqtype < SEQ_TYPE_TOTAL; seqtype++)
3329               changed |= (field->live().seq[seqtype] != field->seq(seqtype));
3350               changed |= (field->seq(seqtype) != field->defseq(seqtype));
33303351
33313352            // non-analog changes
3332            if (field->live().analog == NULL)
3353            if (!field->is_analog())
33333354               changed |= ((field->live().value & field->mask()) != (field->defvalue() & field->mask()));
33343355
33353356            // analog changes
r15097r15098
33573378
33583379                  // add sequences if changed
33593380                  for (input_seq_type seqtype = SEQ_TYPE_STANDARD; seqtype < SEQ_TYPE_TOTAL; seqtype++)
3360                     if (field->live().seq[seqtype] != field->seq(seqtype))
3361                        save_sequence(portnode, seqtype, field->type(), field->live().seq[seqtype]);
3381                     if (field->seq(seqtype) != field->defseq(seqtype))
3382                        save_sequence(portnode, seqtype, field->type(), field->seq(seqtype));
33623383
33633384                  // write out non-analog changes
3364                  if (field->live().analog == NULL)
3385                  if (!field->is_analog())
33653386                  {
33663387                     if ((field->live().value & field->mask()) != (field->defvalue() & field->mask()))
33673388                        xml_set_attribute_int(portnode, "value", field->live().value & field->mask());
r15097r15098
41494170//  the appropriate min/max for the analog control
41504171//-------------------------------------------------
41514172
4152inline ioport_value analog_field::apply_min_max(ioport_value value) const
4173inline INT32 analog_field::apply_min_max(INT32 value) const
41534174{
41544175   // take the analog minimum and maximum values and apply the inverse of the
41554176   // sensitivity so that we can clamp against them before applying sensitivity
r15097r15098
41854206//   adjustment for a current value
41864207//-------------------------------------------------
41874208
4188inline ioport_value analog_field::apply_sensitivity(ioport_value value) const
4209inline INT32 analog_field::apply_sensitivity(INT32 value) const
41894210{
41904211   return INT32((INT64(value) * m_sensitivity) / 100.0 + 0.5);
41914212}
r15097r15098
41964217//   sensitivity adjustment for a current value
41974218//-------------------------------------------------
41984219
4199inline ioport_value analog_field::apply_inverse_sensitivity(ioport_value value) const
4220inline INT32 analog_field::apply_inverse_sensitivity(INT32 value) const
42004221{
42014222   return INT32((INT64(value) * 100) / m_sensitivity);
42024223}
r15097r15098
42074228//  analog input
42084229//-------------------------------------------------
42094230
4210ioport_value analog_field::apply_settings(ioport_value value) const
4231INT32 analog_field::apply_settings(INT32 value) const
42114232{
42124233   // apply the min/max and then the sensitivity
42134234   value = apply_min_max(value);
src/emu/ioport.h
r15097r15098
180180   IPT_DIGITAL_JOYSTICK_FIRST,
181181
182182      // use IPT_JOYSTICK for panels where the player has one single joystick
183      IPT_JOYSTICK_UP = IPT_DIGITAL_JOYSTICK_FIRST,
183      IPT_JOYSTICK_UP,
184184      IPT_JOYSTICK_DOWN,
185185      IPT_JOYSTICK_LEFT,
186186      IPT_JOYSTICK_RIGHT,
r15097r15098
10371037   ioport_value defvalue() const { return m_defvalue; }
10381038   ioport_condition &condition() { return m_condition; }
10391039   ioport_type type() const { return m_type; }
1040   UINT8 player() const { return m_player + 1; }
1040   UINT8 player() const { return m_player; }
10411041
10421042   bool unused() const { return ((m_flags & FIELD_FLAG_UNUSED) != 0); }
10431043   bool cocktail() const { return ((m_flags & FIELD_FLAG_COCKTAIL) != 0); }
r15097r15098
10521052   const char *name() const;
10531053   const char *specific_name() const { return m_name; }
10541054   const input_seq &seq(input_seq_type seqtype = SEQ_TYPE_STANDARD) const;
1055   const input_seq &defseq(input_seq_type seqtype = SEQ_TYPE_STANDARD) const;
10551056   bool has_dynamic_read() const { return !m_read.isnull(); }
10561057   bool has_dynamic_write() const { return !m_write.isnull(); }
10571058   
r15097r15098
12551256   bool crosshair_position(int player, float &x, float &y);
12561257   bool has_keyboard() const;
12571258   void setup_natural_keyboard(ioport_queue_chars_delegate queue_chars, ioport_accept_char_delegate accept_char, ioport_charqueue_empty_delegate charqueue_empty);
1258   ioport_value frame_interpolate(ioport_value oldval, ioport_value newval);
1259   INT32 frame_interpolate(INT32 oldval, INT32 newval);
12591260   ioport_type token_to_input_type(const char *string, int &player) const;
12601261   const char *input_type_to_token(astring &string, ioport_type type, int player);
12611262
src/emu/render.c
r15097r15098
14551455bool render_target::map_point_container(INT32 target_x, INT32 target_y, render_container &container, float &container_x, float &container_y)
14561456{
14571457   const char *input_tag;
1458   UINT32 input_mask;
1458   ioport_value input_mask;
14591459   return map_point_internal(target_x, target_y, &container, container_x, container_y, input_tag, input_mask);
14601460}
14611461
r15097r15098
14661466//  container, if possible
14671467//-------------------------------------------------
14681468
1469bool render_target::map_point_input(INT32 target_x, INT32 target_y, const char *&input_tag, UINT32 &input_mask, float &input_x, float &input_y)
1469bool render_target::map_point_input(INT32 target_x, INT32 target_y, const char *&input_tag, ioport_value &input_mask, float &input_x, float &input_y)
14701470{
14711471   return map_point_internal(target_x, target_y, NULL, input_x, input_y, input_tag, input_mask);
14721472}
r15097r15098
19181918//  mapping points
19191919//-------------------------------------------------
19201920
1921bool render_target::map_point_internal(INT32 target_x, INT32 target_y, render_container *container, float &mapped_x, float &mapped_y, const char *&mapped_input_tag, UINT32 &mapped_input_mask)
1921bool render_target::map_point_internal(INT32 target_x, INT32 target_y, render_container *container, float &mapped_x, float &mapped_y, const char *&mapped_input_tag, ioport_value &mapped_input_mask)
19221922{
19231923   // default to point not mapped
19241924   mapped_x = -1.0;
src/emu/render.h
r15097r15098
663663
664664   // hit testing
665665   bool map_point_container(INT32 target_x, INT32 target_y, render_container &container, float &container_x, float &container_y);
666   bool map_point_input(INT32 target_x, INT32 target_y, const char *&input_tag, UINT32 &input_mask, float &input_x, float &input_y);
666   bool map_point_input(INT32 target_x, INT32 target_y, const char *&input_tag, ioport_value &input_mask, float &input_x, float &input_y);
667667
668668   // reference tracking
669669   void invalidate_all(void *refptr);
r15097r15098
680680   bool load_layout_file(const char *dirname, const char *filename);
681681   void add_container_primitives(render_primitive_list &list, const object_transform &xform, render_container &container, int blendmode);
682682   void add_element_primitives(render_primitive_list &list, const object_transform &xform, layout_element &element, int state, int blendmode);
683   bool map_point_internal(INT32 target_x, INT32 target_y, render_container *container, float &mapped_x, float &mapped_y, const char *&mapped_input_tag, UINT32 &mapped_input_mask);
683   bool map_point_internal(INT32 target_x, INT32 target_y, render_container *container, float &mapped_x, float &mapped_y, const char *&mapped_input_tag, ioport_value &mapped_input_mask);
684684
685685   // config callbacks
686686   void config_load(xml_data_node &targetnode);

Previous 15994 Revisions Next


© 1998-2018 The MESS Team