Previous 199869 Revisions Next

r19222 Thursday 29th November, 2012 at 19:02:11 UTC by Curt Coder
(MESS) bullet: Floppy modernization. (nw)
[src/mess/drivers]bullet.c
[src/mess/includes]bullet.h

trunk/src/mess/includes/bullet.h
r19221r19222
66
77#include "emu.h"
88#include "cpu/z80/z80.h"
9#include "imagedev/flopdrv.h"
109#include "machine/ctronics.h"
1110#include "machine/ram.h"
11#include "machine/scsibus.h"
1212#include "machine/scsicb.h"
13#include "machine/scsihd.h"
1314#include "machine/terminal.h"
14#include "machine/wd17xx.h"
15#include "machine/wd_fdc.h"
1516#include "machine/z80ctc.h"
1617#include "machine/z80dart.h"
1718#include "machine/z80dma.h"
r19221r19222
3738        m_dmac(*this, Z80DMA_TAG),
3839        m_fdc(*this, MB8877_TAG),
3940        m_ram(*this, RAM_TAG),
40        m_floppy0(*this, FLOPPY_0),
41        m_floppy1(*this, FLOPPY_1),
41        m_floppy0(*this, MB8877_TAG":0"),
42        m_floppy1(*this, MB8877_TAG":1"),
43        m_floppy2(*this, MB8877_TAG":2"),
44        m_floppy3(*this, MB8877_TAG":3"),
45        m_floppy4(*this, MB8877_TAG":4"),
46        m_floppy5(*this, MB8877_TAG":5"),
47        m_floppy6(*this, MB8877_TAG":6"),
48        m_floppy7(*this, MB8877_TAG":7"),
49        m_floppy(NULL),
4250        m_terminal(*this, TERMINAL_TAG),
4351        m_centronics(*this, CENTRONICS_TAG),
4452        m_fdrdy(0)
r19221r19222
4856   required_device<z80ctc_device> m_ctc;
4957   required_device<z80dart_device> m_dart;
5058   required_device<z80dma_device> m_dmac;
51   required_device<mb8877_device> m_fdc;
59   required_device<mb8877_t> m_fdc;
5260   required_device<ram_device> m_ram;
53   required_device<legacy_floppy_image_device> m_floppy0;
54   required_device<legacy_floppy_image_device> m_floppy1;
61   required_device<floppy_connector> m_floppy0;
62   required_device<floppy_connector> m_floppy1;
63   required_device<floppy_connector> m_floppy2;
64   required_device<floppy_connector> m_floppy3;
65   required_device<floppy_connector> m_floppy4;
66   required_device<floppy_connector> m_floppy5;
67   required_device<floppy_connector> m_floppy6;
68   required_device<floppy_connector> m_floppy7;
69   floppy_image_device *m_floppy;
5570   required_device<serial_terminal_device> m_terminal;
5671   required_device<centronics_device> m_centronics;
5772
r19221r19222
7590   DECLARE_READ8_MEMBER( pio_pb_r );
7691   DECLARE_WRITE_LINE_MEMBER( dartardy_w );
7792   DECLARE_WRITE_LINE_MEMBER( dartbrdy_w );
78   DECLARE_WRITE_LINE_MEMBER( fdrdy_w );
7993
94   void fdc_intrq_w(bool state);
95   void fdc_drq_w(bool state);
96
8097   void bankswitch();
8198   void update_dma_rdy();
8299
r19221r19222
87104   // DMA state
88105   UINT8 m_exdma;
89106   int m_buf;
90   int m_fdrdy;
107   bool m_fdrdy;
91108   int m_dartardy;
92109   int m_dartbrdy;
93110   int m_winrdy;
94111   int m_exrdy1;
95112   int m_exrdy2;
113
96114   TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick);
97115   DECLARE_WRITE_LINE_MEMBER(dart_rxtxca_w);
98116};
r19221r19222
102120public:
103121   bulletf_state(const machine_config &mconfig, device_type type, const char *tag)
104122      : bullet_state(mconfig, type, tag),
123        m_floppy8(*this, MB8877_TAG":8"),
124        m_floppy9(*this, MB8877_TAG":9"),
105125        m_scsibus(*this, SCSIBUS_TAG ":host")
106126   { }
107127
128   required_device<floppy_connector> m_floppy8;
129   required_device<floppy_connector> m_floppy9;
108130   required_device<scsicb_device> m_scsibus;
109131
110132   virtual void machine_start();
r19221r19222
126148   DECLARE_WRITE_LINE_MEMBER( cstrb_w );
127149   DECLARE_WRITE_LINE_MEMBER( req_w );
128150
151   void fdc_intrq_w(bool state);
152
129153   void update_dma_rdy();
130154
131155   int m_rome;
trunk/src/mess/drivers/bullet.c
r19221r19222
5858*/
5959
6060#include "includes/bullet.h"
61#include "machine/scsibus.h"
62#include "machine/scsicb.h"
63#include "machine/scsihd.h"
6461
6562
6663
r19221r19222
205202    */
206203
207204   // drive select
208   wd17xx_set_drive(m_fdc, data & 0x03);
205   m_floppy = NULL;
209206
210   // side select
211   wd17xx_set_side(m_fdc, BIT(data, 4));
207   switch (data & 0x07)
208   {
209   // 5.25"
210   case 0: m_floppy = m_floppy0->get_device(); break;
211   case 1: m_floppy = m_floppy1->get_device(); break;
212   case 2: m_floppy = m_floppy2->get_device(); break;
213   case 3: m_floppy = m_floppy3->get_device(); break;
214   // 8"
215   case 4: m_floppy = m_floppy4->get_device(); break;
216   case 5: m_floppy = m_floppy5->get_device(); break;
217   case 6: m_floppy = m_floppy6->get_device(); break;
218   case 7: m_floppy = m_floppy7->get_device(); break;
219   }
212220
213   // floppy motor
214   floppy_mon_w(m_floppy0, BIT(data, 5));
215   floppy_mon_w(m_floppy1, BIT(data, 5));
216   floppy_drive_set_ready_state(m_floppy0, 1, 1);
217   floppy_drive_set_ready_state(m_floppy1, 1, 1);
221   m_fdc->set_floppy(m_floppy);
222
223   if (m_floppy)
224   {
225      // side select
226      m_floppy->ss_w(BIT(data, 4));
227
228      // floppy motor
229      m_floppy->mon_w(BIT(data, 5));
230   }
218231}
219232
220233
r19221r19222
272285   m_fdc->set_unscaled_clock(BIT(data, 2) ? XTAL_16MHz/16 : XTAL_16MHz/8);
273286
274287   // density select
275   wd17xx_dden_w(m_fdc, BIT(data, 3));
288   m_fdc->dden_w(BIT(data, 3));
276289}
277290
278291
r19221r19222
297310
298311    */
299312
300   UINT8 data = 0x10;
313   UINT8 data = 0;
301314
302315   // DIP switches
303316   data |= ioport("SW1")->read() & 0x0f;
304317
305   // floppy interrupt
306   data |= wd17xx_intrq_r(m_fdc) << 6;
318   // floppy
319   data |= m_fdc->hld_r() << 4;
320   data |= m_floppy ? m_floppy->dskchg_r() : 1;
321   data |= m_fdc->intrq_r() << 6;
322   data |= m_fdc->drq_r() << 7;
307323
308   // floppy data request
309   data |= wd17xx_drq_r(m_fdc) << 7;
310
311324   return data;
312325}
313326
r19221r19222
429442
430443    */
431444
432   // floppy drive select
433   wd17xx_set_drive(m_fdc, data & 0x0f);
445   // drive select
446   m_floppy = NULL;
434447
435   // floppy side select
436   wd17xx_set_side(m_fdc, BIT(data, 4));
448   switch (data & 0x0f)
449   {
450   // 5.25"
451   case 0: m_floppy = m_floppy0->get_device(); break;
452   case 1: m_floppy = m_floppy1->get_device(); break;
453   case 2: m_floppy = m_floppy2->get_device(); break;
454   case 3: m_floppy = m_floppy3->get_device(); break;
455   // 8"
456   case 4: m_floppy = m_floppy4->get_device(); break;
457   case 5: m_floppy = m_floppy5->get_device(); break;
458   case 6: m_floppy = m_floppy6->get_device(); break;
459   case 7: m_floppy = m_floppy7->get_device(); break;
460   // 3.5"
461   case 8: m_floppy = m_floppy8->get_device(); break;
462   case 9: m_floppy = m_floppy9->get_device(); break;
463   }
437464
438   // floppy motor
439   floppy_mon_w(m_floppy0, BIT(data, 5));
440   floppy_mon_w(m_floppy1, BIT(data, 5));
441   floppy_drive_set_ready_state(m_floppy0, BIT(data, 5), 1);
442   floppy_drive_set_ready_state(m_floppy1, BIT(data, 5), 1);
465   m_fdc->set_floppy(m_floppy);
443466
467   if (m_floppy)
468   {
469      // side select
470      m_floppy->ss_w(BIT(data, 4));
471
472      // floppy motor
473      m_floppy->mon_w(BIT(data, 5));
474   }
475
444476   // FDC clock
445477   m_fdc->set_unscaled_clock(BIT(data, 6) ? XTAL_16MHz/16 : XTAL_16MHz/8);
446478
447479   // density select
448   wd17xx_dden_w(m_fdc, BIT(data, 7));
480   m_fdc->dden_w(BIT(data, 7));
449481}
450482
451483
r19221r19222
527559
528560    */
529561
530   UINT8 data = 0x10;
562   UINT8 data = 0;
531563
532564   // centronics busy
533565   data |= m_centronics->busy_r();
r19221r19222
535567   // DIP switches
536568   data |= ioport("SW1")->read() & 0x06;
537569
538   // floppy interrupt
539   data |= wd17xx_intrq_r(m_fdc) << 6;
570   // floppy
571   data |= (m_floppy ? m_floppy->twosid_r() : 1) << 3;
572   data |= m_fdc->hld_r() << 4;
573   data |= (m_floppy ? m_floppy->dskchg_r() : 1) << 5;
574   data |= m_fdc->intrq_r() << 6;
575   data |= m_fdc->drq_r() << 7;
540576
541   // floppy data request
542   data |= wd17xx_drq_r(m_fdc) << 7;
543
544577   return data;
545578}
546579
r19221r19222
569602   AM_RANGE(0x04, 0x07) AM_DEVREADWRITE(Z80PIO_TAG, z80pio_device, read, write)
570603   AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE(Z80CTC_TAG, z80ctc_device, read, write)
571604   AM_RANGE(0x0c, 0x0c) AM_MIRROR(0x03) AM_READWRITE(win_r, wstrobe_w)
572   AM_RANGE(0x10, 0x13) AM_DEVREADWRITE_LEGACY(MB8877_TAG, wd17xx_r, wd17xx_w)
605   AM_RANGE(0x10, 0x13) AM_DEVREADWRITE(MB8877_TAG, mb8877_t, read, write)
573606   AM_RANGE(0x14, 0x14) AM_DEVREADWRITE_LEGACY(Z80DMA_TAG, z80dma_r, z80dma_w)
574607   AM_RANGE(0x15, 0x15) AM_READWRITE(brom_r, brom_w)
575608   AM_RANGE(0x16, 0x16) AM_WRITE(exdsk_w)
r19221r19222
598631   AM_RANGE(0x00, 0x03) AM_DEVREADWRITE_LEGACY(Z80DART_TAG, z80dart_ba_cd_r, z80dart_ba_cd_w)
599632   AM_RANGE(0x04, 0x07) AM_DEVREADWRITE(Z80PIO_TAG, z80pio_device, read, write)
600633   AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE(Z80CTC_TAG, z80ctc_device, read, write)
601   AM_RANGE(0x10, 0x13) AM_DEVREADWRITE_LEGACY(MB8877_TAG, wd17xx_r, wd17xx_w)
634   AM_RANGE(0x10, 0x13) AM_DEVREADWRITE(MB8877_TAG, mb8877_t, read, write)
602635   AM_RANGE(0x14, 0x14) AM_WRITE(xdma0_w)
603636   AM_RANGE(0x16, 0x16) AM_WRITE(xfdc_w)
604637   AM_RANGE(0x17, 0x17) AM_WRITE(mbank_w)
r19221r19222
631664   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:4")
632665   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
633666   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
634   PORT_DIPNAME( 0xf0, 0xf0, "Floppy Type" ) PORT_DIPLOCATION("SW1:5,6,7,8")
635   // TODO
667   PORT_DIPNAME( 0xf0, 0x50, "Floppy Type" ) PORT_DIPLOCATION("SW1:5,6,7,8")
668   PORT_DIPSETTING(    0xf0, "5.25\" SD" )
669   PORT_DIPSETTING(    0x50, "5.25\" DD" )
670   PORT_DIPSETTING(    0x60, "8\" SD" )
671   PORT_DIPSETTING(    0x00, "8\" DD" )
636672INPUT_PORTS_END
637673
638674
r19221r19222
657693   PORT_DIPNAME( 0xf0, 0xc0, "Floppy Type" ) PORT_DIPLOCATION("SW1:5,6,7,8")
658694   PORT_DIPSETTING(    0x10, "3\" DD" )
659695   PORT_DIPSETTING(    0xc0, "5.25\" SD" )
660   PORT_DIPSETTING(    0x40, "3\" DD" )
696   PORT_DIPSETTING(    0x40, "5.25\" DD" )
661697   PORT_DIPSETTING(    0xa0, "8\" SD" )
662698   PORT_DIPSETTING(    0x20, "8\" DD" )
663699INPUT_PORTS_END
r19221r19222
686722
687723WRITE_LINE_MEMBER(bullet_state::dart_rxtxca_w)
688724{
689   device_t *device = machine().device(Z80DART_TAG);
690   z80dart_txca_w(device, state);
691   z80dart_rxca_w(device, state);
725   z80dart_txca_w(m_dart, state);
726   z80dart_rxca_w(m_dart, state);
692727}
693728
694729static Z80CTC_INTERFACE( ctc_intf )
695730{
696731   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),      // interrupt handler
697   DEVCB_DRIVER_LINE_MEMBER(bullet_state,dart_rxtxca_w),      // ZC/TO0 callback
732   DEVCB_DRIVER_LINE_MEMBER(bullet_state, dart_rxtxca_w),      // ZC/TO0 callback
698733   DEVCB_DEVICE_LINE(Z80DART_TAG, z80dart_rxtxcb_w),   // ZC/TO1 callback
699734   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF, z80ctc_device, trg3)                     // ZC/TO2 callback
700735};
r19221r19222
9801015//  wd17xx_interface fdc_intf
9811016//-------------------------------------------------
9821017
983WRITE_LINE_MEMBER( bullet_state::fdrdy_w )
1018static SLOT_INTERFACE_START( bullet_525_floppies )
1019   SLOT_INTERFACE( "525sd", FLOPPY_525_SD )
1020   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
1021   SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
1022SLOT_INTERFACE_END
1023
1024static SLOT_INTERFACE_START( bullet_8_floppies )
1025   SLOT_INTERFACE( "8dssd", FLOPPY_8_DSSD )
1026   SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD )
1027SLOT_INTERFACE_END
1028
1029static SLOT_INTERFACE_START( bullet_35_floppies )
1030   SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
1031SLOT_INTERFACE_END
1032void bullet_state::fdc_intrq_w(bool state)
9841033{
985   m_fdrdy = !state;
986   update_dma_rdy();
1034   z80dart_dcda_w(m_dart, state);
9871035}
9881036
989static const floppy_interface bullet_floppy_interface =
1037void bulletf_state::fdc_intrq_w(bool state)
9901038{
991   DEVCB_NULL,
992   DEVCB_NULL,
993   DEVCB_NULL,
994   DEVCB_NULL,
995   DEVCB_NULL,
996   FLOPPY_STANDARD_5_25_DSDD,
997   LEGACY_FLOPPY_OPTIONS_NAME(default),
998   "floppy_5_25",
999   NULL
1000};
1039   z80dart_rib_w(m_dart, state);
1040}
10011041
1002static const wd17xx_interface fdc_intf =
1042void bullet_state::fdc_drq_w(bool state)
10031043{
1004   DEVCB_NULL,
1005   DEVCB_DEVICE_LINE(Z80DART_TAG, z80dart_dcda_w),
1006   DEVCB_DRIVER_LINE_MEMBER(bullet_state, fdrdy_w),
1007   { FLOPPY_0, FLOPPY_1, NULL, NULL }
1008};
1044   m_fdrdy = !state;
1045   update_dma_rdy();
1046}
10091047
1010
1011//-------------------------------------------------
1012//  wd17xx_interface bulletf_fdc_intf
1013//-------------------------------------------------
1014
1015static const wd17xx_interface bulletf_fdc_intf =
1016{
1017   DEVCB_NULL,
1018   DEVCB_DEVICE_LINE(Z80DART_TAG, z80dart_rib_w),
1019   DEVCB_DRIVER_LINE_MEMBER(bullet_state, fdrdy_w),
1020   { FLOPPY_0, FLOPPY_1, NULL, NULL }
1021};
1022
10231048WRITE_LINE_MEMBER( bulletf_state::req_w )
10241049{
10251050   if (!state)
r19221r19222
10341059}
10351060
10361061
1062//-------------------------------------------------
1063//  serial_terminal_interface terminal_intf
1064//-------------------------------------------------
1065
10371066static serial_terminal_interface terminal_intf =
10381067{
10391068   DEVCB_NULL
r19221r19222
10651094
10661095void bullet_state::machine_start()
10671096{
1097   // floppy callbacks
1098   m_fdc->setup_intrq_cb(mb8877_t::line_cb(FUNC(bullet_state::fdc_intrq_w), this));
1099   m_fdc->setup_drq_cb(mb8877_t::line_cb(FUNC(bullet_state::fdc_drq_w), this));
1100
10681101   // state saving
10691102   save_item(NAME(m_segst));
10701103   save_item(NAME(m_brom));
r19221r19222
10851118
10861119void bulletf_state::machine_start()
10871120{
1121   // floppy callbacks
1122   m_fdc->setup_intrq_cb(mb8877_t::line_cb(FUNC(bulletf_state::fdc_intrq_w), this));
1123   m_fdc->setup_drq_cb(mb8877_t::line_cb(FUNC(bulletf_state::fdc_drq_w), this));
1124
10881125   // state saving
10891126   save_item(NAME(m_fdrdy));
10901127   save_item(NAME(m_rome));
r19221r19222
11511188   MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_16MHz/4, dart_intf)
11521189   MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_16MHz/4, dma_intf)
11531190   MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_16MHz/4, pio_intf)
1154   MCFG_MB8877_ADD(MB8877_TAG, fdc_intf)
1155   MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(bullet_floppy_interface)
1191   MCFG_MB8877x_ADD(MB8877_TAG, XTAL_16MHz/8)
1192   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":0", bullet_525_floppies, "525qd", NULL, floppy_image_device::default_floppy_formats)
1193   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":1", bullet_525_floppies, NULL,    NULL, floppy_image_device::default_floppy_formats)
1194   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":2", bullet_525_floppies, NULL,    NULL, floppy_image_device::default_floppy_formats)
1195   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":3", bullet_525_floppies, NULL,    NULL, floppy_image_device::default_floppy_formats)
1196   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":4", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
1197   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":5", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
1198   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":6", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
1199   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":7", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
11561200   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
11571201   MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 4800)
11581202
r19221r19222
11821226   MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_16MHz/4, dart_intf)
11831227   MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_16MHz/4, dma_intf)
11841228   MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_16MHz/4, bulletf_pio_intf)
1185   MCFG_MB8877_ADD(MB8877_TAG, bulletf_fdc_intf)
1186   MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(bullet_floppy_interface)
1229   MCFG_MB8877x_ADD(MB8877_TAG, XTAL_16MHz/8)
1230   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":0", bullet_525_floppies, "525qd", NULL, floppy_image_device::default_floppy_formats)
1231   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":1", bullet_525_floppies, NULL,    NULL, floppy_image_device::default_floppy_formats)
1232   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":2", bullet_525_floppies, NULL,    NULL, floppy_image_device::default_floppy_formats)
1233   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":3", bullet_525_floppies, NULL,    NULL, floppy_image_device::default_floppy_formats)
1234   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":4", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
1235   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":5", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
1236   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":6", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
1237   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":7", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
1238   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":8", bullet_35_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
1239   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":9", bullet_35_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
11871240   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
11881241   MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 4800)
11891242
r19221r19222
12261279
12271280//    YEAR  NAME        PARENT      COMPAT  MACHINE     INPUT       INIT    COMPANY         FULLNAME                FLAGS
12281281// the setname 'bullet' is used by Sega's Bullet in MAME.
1229COMP( 1982, wmbullet,      0,         0,      bullet,      bullet, driver_device,      0,      "Wave Mate",   "Bullet",            GAME_NOT_WORKING | GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
1282COMP( 1982, wmbullet,      0,         0,      bullet,      bullet, driver_device,   0,      "Wave Mate",   "Bullet",            GAME_NOT_WORKING | GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
12301283COMP( 1984, wmbulletf,   wmbullet,      0,      bulletf,   bulletf, driver_device,   0,      "Wave Mate",   "Bullet (Revision F)",   GAME_NOT_WORKING | GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team