diff options
Diffstat (limited to 'src/mame/drivers/altos5.cpp')
-rw-r--r-- | src/mame/drivers/altos5.cpp | 58 |
1 files changed, 33 insertions, 25 deletions
diff --git a/src/mame/drivers/altos5.cpp b/src/mame/drivers/altos5.cpp index 96b2f519136..72877431f8b 100644 --- a/src/mame/drivers/altos5.cpp +++ b/src/mame/drivers/altos5.cpp @@ -10,20 +10,23 @@ ****************************************************************************/ #include "emu.h" + #include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "imagedev/floppy.h" -#include "machine/z80daisy.h" +#include "imagedev/snapquik.h" +#include "machine/clock.h" +#include "machine/wd_fdc.h" #include "machine/z80ctc.h" +#include "machine/z80daisy.h" +#include "machine/z80dma.h" #include "machine/z80pio.h" #include "machine/z80sio.h" -#include "machine/z80dma.h" -#include "machine/wd_fdc.h" -#include "machine/clock.h" + #include "softlist.h" -#include "imagedev/snapquik.h" +namespace { class altos5_state : public driver_device { @@ -37,12 +40,16 @@ public: , m_p_prom(*this, "proms") , m_floppy0(*this, "fdc:0") , m_floppy1(*this, "fdc:1") - , m_bankr(*this, "bankr%d", 0) - , m_bankw(*this, "bankw%d", 0) + , m_bankr(*this, "bankr%x", 0) + , m_bankw(*this, "bankw%x", 0) { } void altos5(machine_config &config); +protected: + virtual void machine_reset() override; + virtual void machine_start() override; + private: DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb); uint8_t memory_read_byte(offs_t offset); @@ -69,8 +76,6 @@ private: floppy_image_device *m_floppy; std::unique_ptr<u8[]> m_ram; // main ram 192k std::unique_ptr<u8[]> m_dummy; // for wrpt - void machine_reset() override; - void machine_start() override; required_device<z80_device> m_maincpu; required_device<z80pio_device> m_pio0; required_device<z80dma_device> m_dma; @@ -86,22 +91,22 @@ private: void altos5_state::mem_map(address_map &map) { map.unmap_value_high(); - map(0x0000, 0x0fff).bankr("bankr0").bankw("bankw0"); - map(0x1000, 0x1fff).bankr("bankr1").bankw("bankw1"); - map(0x2000, 0x2fff).bankr("bankr2").bankw("bankw2"); - map(0x3000, 0x3fff).bankr("bankr3").bankw("bankw3"); - map(0x4000, 0x4fff).bankr("bankr4").bankw("bankw4"); - map(0x5000, 0x5fff).bankr("bankr5").bankw("bankw5"); - map(0x6000, 0x6fff).bankr("bankr6").bankw("bankw6"); - map(0x7000, 0x7fff).bankr("bankr7").bankw("bankw7"); - map(0x8000, 0x8fff).bankr("bankr8").bankw("bankw8"); - map(0x9000, 0x9fff).bankr("bankr9").bankw("bankw9"); - map(0xa000, 0xafff).bankr("bankr10").bankw("bankw10"); - map(0xb000, 0xbfff).bankr("bankr11").bankw("bankw11"); - map(0xc000, 0xcfff).bankr("bankr12").bankw("bankw12"); - map(0xd000, 0xdfff).bankr("bankr13").bankw("bankw13"); - map(0xe000, 0xefff).bankr("bankr14").bankw("bankw14"); - map(0xf000, 0xffff).bankr("bankr15").bankw("bankw15"); + map(0x0000, 0x0fff).bankr(m_bankr[0x0]).bankw(m_bankw[0x0]); + map(0x1000, 0x1fff).bankr(m_bankr[0x1]).bankw(m_bankw[0x1]); + map(0x2000, 0x2fff).bankr(m_bankr[0x2]).bankw(m_bankw[0x2]); + map(0x3000, 0x3fff).bankr(m_bankr[0x3]).bankw(m_bankw[0x3]); + map(0x4000, 0x4fff).bankr(m_bankr[0x4]).bankw(m_bankw[0x4]); + map(0x5000, 0x5fff).bankr(m_bankr[0x5]).bankw(m_bankw[0x5]); + map(0x6000, 0x6fff).bankr(m_bankr[0x6]).bankw(m_bankw[0x6]); + map(0x7000, 0x7fff).bankr(m_bankr[0x7]).bankw(m_bankw[0x7]); + map(0x8000, 0x8fff).bankr(m_bankr[0x8]).bankw(m_bankw[0x8]); + map(0x9000, 0x9fff).bankr(m_bankr[0x9]).bankw(m_bankw[0x9]); + map(0xa000, 0xafff).bankr(m_bankr[0xa]).bankw(m_bankw[0xa]); + map(0xb000, 0xbfff).bankr(m_bankr[0xb]).bankw(m_bankw[0xb]); + map(0xc000, 0xcfff).bankr(m_bankr[0xc]).bankw(m_bankw[0xc]); + map(0xd000, 0xdfff).bankr(m_bankr[0xd]).bankw(m_bankw[0xd]); + map(0xe000, 0xefff).bankr(m_bankr[0xe]).bankw(m_bankw[0xe]); + map(0xf000, 0xffff).bankr(m_bankr[0xf]).bankw(m_bankw[0xf]); } void altos5_state::io_map(address_map &map) @@ -454,6 +459,9 @@ ROM_START( altos5 ) ROM_LOAD("82s141.bin", 0x0000, 0x0200, CRC(35c8078c) SHA1(dce24374bfcc5d23959e2c03485d82a119c0c3c9)) // banking control ROM_END +} // anonymous namespace + + /* Driver */ /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ |