diff options
Diffstat (limited to 'src/mame/drivers/enmirage.cpp')
-rw-r--r-- | src/mame/drivers/enmirage.cpp | 59 |
1 files changed, 30 insertions, 29 deletions
diff --git a/src/mame/drivers/enmirage.cpp b/src/mame/drivers/enmirage.cpp index 01a4ca30f77..7f5d00f250b 100644 --- a/src/mame/drivers/enmirage.cpp +++ b/src/mame/drivers/enmirage.cpp @@ -54,10 +54,10 @@ #include "mirage.lh" -class mirage_state : public driver_device +class enmirage_state : public driver_device { public: - mirage_state(const machine_config &mconfig, device_type type, const char *tag) + enmirage_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_fdc(*this, "wd1772"), @@ -65,29 +65,30 @@ public: { } - required_device<m6809e_device> m_maincpu; - required_device<wd1772_t> m_fdc; - required_device<via6522_device> m_via; - - virtual void machine_reset() override; - - int last_sndram_bank; - DECLARE_FLOPPY_FORMATS( floppy_formats ); DECLARE_DRIVER_INIT(mirage); - virtual void video_start() override; uint32_t screen_update_mirage(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); DECLARE_WRITE8_MEMBER(mirage_via_write_porta); DECLARE_WRITE8_MEMBER(mirage_via_write_portb); DECLARE_WRITE_LINE_MEMBER(mirage_doc_irq); DECLARE_READ8_MEMBER(mirage_adc_read); +protected: + virtual void machine_reset() override; + virtual void video_start() override; + + required_device<m6809e_device> m_maincpu; + required_device<wd1772_device> m_fdc; + required_device<via6522_device> m_via; + + int last_sndram_bank; + uint8_t m_l_segs, m_r_segs; int m_l_hi, m_r_hi; }; -FLOPPY_FORMATS_MEMBER( mirage_state::floppy_formats ) +FLOPPY_FORMATS_MEMBER( enmirage_state::floppy_formats ) FLOPPY_ESQ8IMG_FORMAT FLOPPY_FORMATS_END @@ -95,32 +96,32 @@ static SLOT_INTERFACE_START( ensoniq_floppies ) SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) SLOT_INTERFACE_END -WRITE_LINE_MEMBER(mirage_state::mirage_doc_irq) +WRITE_LINE_MEMBER(enmirage_state::mirage_doc_irq) { // m_maincpu->set_input_line(M6809_IRQ_LINE, state); } -READ8_MEMBER(mirage_state::mirage_adc_read) +READ8_MEMBER(enmirage_state::mirage_adc_read) { return 0x00; } -void mirage_state::video_start() +void enmirage_state::video_start() { } -uint32_t mirage_state::screen_update_mirage(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +uint32_t enmirage_state::screen_update_mirage(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { return 0; } -void mirage_state::machine_reset() +void enmirage_state::machine_reset() { last_sndram_bank = 0; membank("sndbank")->set_base(memregion("es5503")->base() ); } -static ADDRESS_MAP_START( mirage_map, AS_PROGRAM, 8, mirage_state ) +static ADDRESS_MAP_START( mirage_map, AS_PROGRAM, 8, enmirage_state ) AM_RANGE(0x0000, 0x7fff) AM_RAMBANK("sndbank") // 32k window on 128k of wave RAM AM_RANGE(0x8000, 0xbfff) AM_RAM // main RAM AM_RANGE(0xc000, 0xdfff) AM_RAM // expansion RAM @@ -128,7 +129,7 @@ static ADDRESS_MAP_START( mirage_map, AS_PROGRAM, 8, mirage_state ) AM_RANGE(0xe101, 0xe101) AM_DEVREADWRITE("acia6850", acia6850_device, data_r, data_w) AM_RANGE(0xe200, 0xe2ff) AM_DEVREADWRITE("via6522", via6522_device, read, write) AM_RANGE(0xe400, 0xe4ff) AM_NOP - AM_RANGE(0xe800, 0xe803) AM_DEVREADWRITE("wd1772", wd1772_t, read, write) + AM_RANGE(0xe800, 0xe803) AM_DEVREADWRITE("wd1772", wd1772_device, read, write) AM_RANGE(0xec00, 0xecef) AM_DEVREADWRITE("es5503", es5503_device, read, write) AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("osrom", 0) ADDRESS_MAP_END @@ -137,7 +138,7 @@ ADDRESS_MAP_END // bits 0-2: column select from 0-7 // bits 3/4 = right and left LED enable // bits 5/6/7 keypad rows 0/1/2 return -WRITE8_MEMBER(mirage_state::mirage_via_write_porta) +WRITE8_MEMBER(enmirage_state::mirage_via_write_porta) { uint8_t seg = data & 7; static const int segconv[8] = @@ -193,7 +194,7 @@ WRITE8_MEMBER(mirage_state::mirage_via_write_porta) // bit 1: OUT upper/lower bank (64k halves) // bit 0: OUT bank 0/bank 1 (32k halves) -WRITE8_MEMBER(mirage_state::mirage_via_write_portb) +WRITE8_MEMBER(enmirage_state::mirage_via_write_portb) { int bank = 0; @@ -207,7 +208,7 @@ WRITE8_MEMBER(mirage_state::mirage_via_write_portb) } } -static MACHINE_CONFIG_START( mirage, mirage_state ) +static MACHINE_CONFIG_START( mirage ) MCFG_CPU_ADD("maincpu", M6809E, 4000000) MCFG_CPU_PROGRAM_MAP(mirage_map) @@ -216,15 +217,15 @@ static MACHINE_CONFIG_START( mirage, mirage_state ) MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_ES5503_ADD("es5503", 7000000) MCFG_ES5503_OUTPUT_CHANNELS(2) - MCFG_ES5503_IRQ_FUNC(WRITELINE(mirage_state, mirage_doc_irq)) - MCFG_ES5503_ADC_FUNC(READ8(mirage_state, mirage_adc_read)) + MCFG_ES5503_IRQ_FUNC(WRITELINE(enmirage_state, mirage_doc_irq)) + MCFG_ES5503_ADC_FUNC(READ8(enmirage_state, mirage_adc_read)) MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) MCFG_DEVICE_ADD("via6522", VIA6522, 1000000) - MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mirage_state, mirage_via_write_porta)) - MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mirage_state, mirage_via_write_portb)) + MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(enmirage_state, mirage_via_write_porta)) + MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(enmirage_state, mirage_via_write_portb)) MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M6809_IRQ_LINE)) MCFG_DEVICE_ADD("acia6850", ACIA6850, 0) @@ -234,7 +235,7 @@ static MACHINE_CONFIG_START( mirage, mirage_state ) MCFG_WD_FDC_INTRQ_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI)) MCFG_WD_FDC_DRQ_CALLBACK(INPUTLINE("maincpu", M6809_IRQ_LINE)) - MCFG_FLOPPY_DRIVE_ADD("wd1772:0", ensoniq_floppies, "35dd", mirage_state::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD("wd1772:0", ensoniq_floppies, "35dd", enmirage_state::floppy_formats) MACHINE_CONFIG_END static INPUT_PORTS_START( mirage ) @@ -247,7 +248,7 @@ ROM_START( enmirage ) ROM_REGION(0x20000, "es5503", ROMREGION_ERASE) ROM_END -DRIVER_INIT_MEMBER(mirage_state,mirage) +DRIVER_INIT_MEMBER(enmirage_state,mirage) { floppy_connector *con = machine().device<floppy_connector>("wd1772:0"); floppy_image_device *floppy = con ? con->get_device() : nullptr; @@ -284,4 +285,4 @@ DRIVER_INIT_MEMBER(mirage_state,mirage) m_via->write_pb7(0); } -CONS( 1984, enmirage, 0, 0, mirage, mirage, mirage_state, mirage, "Ensoniq", "Ensoniq Mirage", MACHINE_NOT_WORKING ) +CONS( 1984, enmirage, 0, 0, mirage, mirage, enmirage_state, mirage, "Ensoniq", "Ensoniq Mirage", MACHINE_NOT_WORKING ) |