mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
tms9928a, v9938: Remove space and mem_mask from read/write handlers (nw)
efo90501: Tweak dots per line to get closer to typical PAL rates (nw)
This commit is contained in:
parent
c9930e9388
commit
ccb96bf6a1
@ -143,7 +143,7 @@ void datamux_device::read_all(uint16_t addr, uint8_t *value)
|
||||
if ((addr & 0xf801)==0x8800)
|
||||
{
|
||||
// Forward to VDP unless we have an EVPC
|
||||
if (m_video != nullptr) *value = m_video->read(machine().dummy_space(), addr>>1); // A14 determines data or register read
|
||||
if (m_video != nullptr) *value = m_video->read(addr>>1); // A14 determines data or register read
|
||||
}
|
||||
}
|
||||
|
||||
@ -184,7 +184,7 @@ void datamux_device::write_all(uint16_t addr, uint8_t value)
|
||||
if ((addr & 0xf801)==0x8800)
|
||||
{
|
||||
// Forward to VDP unless we have an EVPC
|
||||
if (m_video != nullptr) m_video->write(machine().dummy_space(), addr>>1, value); // A14 determines data or register write
|
||||
if (m_video != nullptr) m_video->write(addr>>1, value); // A14 determines data or register write
|
||||
}
|
||||
|
||||
// I/O port gets all accesses
|
||||
|
@ -509,7 +509,7 @@ uint8_t geneve_mapper_device::readm(offs_t offset)
|
||||
case MLVIDEO:
|
||||
if (!machine().side_effects_disabled())
|
||||
{
|
||||
value = m_video->read(machine().dummy_space(), dec->offset>>1);
|
||||
value = m_video->read(dec->offset>>1);
|
||||
LOGMASKED(LOG_READ, "Read video %04x -> %02x\n", dec->offset, value);
|
||||
// Video wait states are created *after* the access
|
||||
// Accordingly, they have no effect when execution is in onchip RAM
|
||||
@ -650,7 +650,7 @@ void geneve_mapper_device::writem(offs_t offset, uint8_t data)
|
||||
|
||||
if (!machine().side_effects_disabled())
|
||||
{
|
||||
m_video->write(machine().dummy_space(), dec->offset>>1, data);
|
||||
m_video->write(dec->offset>>1, data);
|
||||
LOGMASKED(LOG_WRITE, "Write video %04x <- %02x\n", offset, data);
|
||||
// See above
|
||||
if (m_video_waitstates) set_video_waitcount(15);
|
||||
|
@ -213,7 +213,7 @@ READ8Z_MEMBER(snug_enhanced_video_device::readz)
|
||||
|
||||
if (m_video_accessed)
|
||||
{
|
||||
*value = m_video->read(machine().dummy_space(), m_address>>1);
|
||||
*value = m_video->read(m_address>>1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -296,7 +296,7 @@ void snug_enhanced_video_device::write(offs_t offset, uint8_t data)
|
||||
|
||||
if (m_video_accessed)
|
||||
{
|
||||
m_video->write(machine().dummy_space(), m_address>>1, data);
|
||||
m_video->write(m_address>>1, data);
|
||||
}
|
||||
|
||||
if (m_sound_accessed)
|
||||
|
@ -56,7 +56,7 @@ void tms9928a_device::memmap(address_map &map)
|
||||
map(0x0000, 0x3fff).ram();
|
||||
}
|
||||
|
||||
tms9928a_device::tms9928a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_50hz, bool is_reva, bool is_99)
|
||||
tms9928a_device::tms9928a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint16_t horz_total, bool is_50hz, bool is_reva, bool is_99)
|
||||
: device_t(mconfig, type, tag, owner, clock)
|
||||
, device_memory_interface(mconfig, *this)
|
||||
, device_palette_interface(mconfig, *this)
|
||||
@ -64,6 +64,7 @@ tms9928a_device::tms9928a_device(const machine_config &mconfig, device_type type
|
||||
, m_vram_size(0)
|
||||
, m_out_int_line_cb(*this)
|
||||
, m_out_gromclk_cb(*this)
|
||||
, m_total_horz(horz_total)
|
||||
, m_50hz(is_50hz)
|
||||
, m_reva(is_reva)
|
||||
, m_99(is_99)
|
||||
@ -82,57 +83,57 @@ void tms9928a_device::device_config_complete()
|
||||
if (!screen().refresh_attoseconds())
|
||||
{
|
||||
if (m_50hz)
|
||||
screen().set_raw(clock() / 2, TOTAL_HORZ, HORZ_DISPLAY_START - 12, HORZ_DISPLAY_START + 256 + 12,
|
||||
screen().set_raw(clock() / 2, m_total_horz, HORZ_DISPLAY_START - 12, HORZ_DISPLAY_START + 256 + 12,
|
||||
TOTAL_VERT_PAL, VERT_DISPLAY_START_PAL - 12, VERT_DISPLAY_START_PAL + 192 + 12);
|
||||
else
|
||||
screen().set_raw(clock() / 2, TOTAL_HORZ, HORZ_DISPLAY_START - 12, HORZ_DISPLAY_START + 256 + 12,
|
||||
screen().set_raw(clock() / 2, m_total_horz, HORZ_DISPLAY_START - 12, HORZ_DISPLAY_START + 256 + 12,
|
||||
TOTAL_VERT_NTSC, VERT_DISPLAY_START_NTSC - 12, VERT_DISPLAY_START_NTSC + 192 + 12);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
tms9928a_device::tms9928a_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: tms9928a_device(mconfig, TMS9928A, tag, owner, clock, false, true, true)
|
||||
: tms9928a_device(mconfig, TMS9928A, tag, owner, clock, 342, false, true, true)
|
||||
{
|
||||
}
|
||||
|
||||
tms9129_device::tms9129_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: tms9928a_device(mconfig, TMS9129, tag, owner, clock, true, true, false)
|
||||
: tms9928a_device(mconfig, TMS9129, tag, owner, clock, 342, true, true, false)
|
||||
{
|
||||
}
|
||||
|
||||
tms9918_device::tms9918_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: tms9928a_device(mconfig, TMS9918, tag, owner, clock, false, false, true)
|
||||
: tms9928a_device(mconfig, TMS9918, tag, owner, clock, 342, false, false, true)
|
||||
{
|
||||
}
|
||||
|
||||
tms9918a_device::tms9918a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: tms9928a_device(mconfig, TMS9918A, tag, owner, clock, false, true, true)
|
||||
: tms9928a_device(mconfig, TMS9918A, tag, owner, clock, 342, false, true, true)
|
||||
{
|
||||
}
|
||||
|
||||
tms9118_device::tms9118_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: tms9928a_device(mconfig, TMS9118, tag, owner, clock, false, true, false)
|
||||
: tms9928a_device(mconfig, TMS9118, tag, owner, clock, 342, false, true, false)
|
||||
{
|
||||
}
|
||||
|
||||
tms9128_device::tms9128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: tms9928a_device(mconfig, TMS9128, tag, owner, clock, false, true, false)
|
||||
: tms9928a_device(mconfig, TMS9128, tag, owner, clock, 342, false, true, false)
|
||||
{
|
||||
}
|
||||
|
||||
tms9929_device::tms9929_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: tms9928a_device(mconfig, TMS9929, tag, owner, clock, true, false, true)
|
||||
: tms9928a_device(mconfig, TMS9929, tag, owner, clock, 342, true, false, true)
|
||||
{
|
||||
}
|
||||
|
||||
tms9929a_device::tms9929a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: tms9928a_device(mconfig, TMS9929A, tag, owner, clock, true, true, true)
|
||||
: tms9928a_device(mconfig, TMS9929A, tag, owner, clock, 342, true, true, true)
|
||||
{
|
||||
}
|
||||
|
||||
efo90501_device::efo90501_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: tms9928a_device(mconfig, EFO90501, tag, owner, clock, true, true, true)
|
||||
: tms9928a_device(mconfig, EFO90501, tag, owner, clock, 346, true, true, true)
|
||||
{
|
||||
}
|
||||
|
||||
@ -143,7 +144,7 @@ device_memory_interface::space_config_vector tms9928a_device::memory_space_confi
|
||||
};
|
||||
}
|
||||
|
||||
READ8_MEMBER( tms9928a_device::read )
|
||||
uint8_t tms9928a_device::read(offs_t offset)
|
||||
{
|
||||
uint8_t value = 0;
|
||||
|
||||
@ -155,7 +156,7 @@ READ8_MEMBER( tms9928a_device::read )
|
||||
return value;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( tms9928a_device::write )
|
||||
void tms9928a_device::write(offs_t offset, uint8_t data)
|
||||
{
|
||||
if ((offset & 1) == 0)
|
||||
vram_write(data);
|
||||
@ -371,7 +372,7 @@ void tms9928a_device::device_timer(emu_timer &timer, device_timer_id id, int par
|
||||
if ( y < 0 || y >= 192 || ! (m_Regs[1] & 0x40) )
|
||||
{
|
||||
/* Draw backdrop colour */
|
||||
for ( int i = 0; i < TOTAL_HORZ; i++ )
|
||||
for ( int i = 0; i < m_total_horz; i++ )
|
||||
p[i] = pen(BackColour);
|
||||
|
||||
/* vblank is set at the last cycle of the first inactive line */
|
||||
@ -650,7 +651,7 @@ void tms9928a_device::device_timer(emu_timer &timer, device_timer_id id, int par
|
||||
}
|
||||
|
||||
/* Right border */
|
||||
for ( int i = HORZ_DISPLAY_START + 256; i < TOTAL_HORZ; i++ )
|
||||
for ( int i = HORZ_DISPLAY_START + 256; i < m_total_horz; i++ )
|
||||
p[i] = pen(BackColour);
|
||||
}
|
||||
|
||||
@ -734,7 +735,7 @@ void tms9928a_device::device_start()
|
||||
m_vram_space = &space(AS_DATA);
|
||||
|
||||
/* back bitmap */
|
||||
m_tmpbmp.allocate(TOTAL_HORZ, TOTAL_VERT_PAL);
|
||||
m_tmpbmp.allocate(m_total_horz, TOTAL_VERT_PAL);
|
||||
|
||||
m_line_timer = timer_alloc(TIMER_LINE);
|
||||
m_gromclk_timer = timer_alloc(GROMCLK);
|
||||
|
@ -73,13 +73,8 @@ public:
|
||||
auto int_callback() { return m_out_int_line_cb.bind(); }
|
||||
auto gromclk_callback() { return m_out_gromclk_cb.bind(); }
|
||||
|
||||
DECLARE_READ8_MEMBER( read );
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
|
||||
DECLARE_READ8_MEMBER( vram_r ) { return vram_read(); }
|
||||
DECLARE_WRITE8_MEMBER( vram_w ) { vram_write(data); }
|
||||
DECLARE_READ8_MEMBER( register_r ) { return register_read(); }
|
||||
DECLARE_WRITE8_MEMBER( register_w ) { register_write(data); }
|
||||
uint8_t read(offs_t offset);
|
||||
void write(offs_t offset, uint8_t data);
|
||||
|
||||
u8 vram_read();
|
||||
void vram_write(u8 data);
|
||||
@ -94,7 +89,7 @@ public:
|
||||
void reset_line(int state) { if (state==ASSERT_LINE) device_reset(); }
|
||||
|
||||
protected:
|
||||
tms9928a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_50hz, bool is_reva, bool is_99);
|
||||
tms9928a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint16_t horz_total, bool is_50hz, bool is_reva, bool is_99);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_config_complete() override;
|
||||
@ -139,6 +134,7 @@ private:
|
||||
uint16_t m_spritepattern;
|
||||
int m_colourmask;
|
||||
int m_patternmask;
|
||||
const uint16_t m_total_horz;
|
||||
const bool m_50hz;
|
||||
const bool m_reva;
|
||||
const bool m_99;
|
||||
|
@ -369,7 +369,7 @@ uint32_t v99x8_device::screen_update(screen_device &screen, bitmap_rgb32 &bitmap
|
||||
return 0;
|
||||
}
|
||||
|
||||
READ8_MEMBER( v99x8_device::read )
|
||||
uint8_t v99x8_device::read(offs_t offset)
|
||||
{
|
||||
switch (offset & 3)
|
||||
{
|
||||
@ -379,7 +379,7 @@ READ8_MEMBER( v99x8_device::read )
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( v99x8_device::write )
|
||||
void v99x8_device::write(offs_t offset, uint8_t data)
|
||||
{
|
||||
switch (offset & 3)
|
||||
{
|
||||
|
@ -54,8 +54,8 @@ public:
|
||||
|
||||
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
DECLARE_READ8_MEMBER( read );
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
uint8_t read(offs_t offset);
|
||||
void write(offs_t offset, uint8_t data);
|
||||
|
||||
uint8_t vram_r();
|
||||
uint8_t status_r();
|
||||
|
@ -130,8 +130,8 @@ void arachnid_state::arachnid_map(address_map &map)
|
||||
map(0x2000, 0x2007).rw(PTM6840_TAG, FUNC(ptm6840_device::read), FUNC(ptm6840_device::write));
|
||||
map(0x4004, 0x4007).rw(m_pia_u4, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
|
||||
map(0x4008, 0x400b).rw(m_pia_u17, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
|
||||
map(0x6000, 0x6000).w(TMS9118_TAG, FUNC(tms9928a_device::vram_w));
|
||||
map(0x6002, 0x6002).w(TMS9118_TAG, FUNC(tms9928a_device::register_w));
|
||||
map(0x6000, 0x6000).w(TMS9118_TAG, FUNC(tms9928a_device::vram_write));
|
||||
map(0x6002, 0x6002).w(TMS9118_TAG, FUNC(tms9928a_device::register_write));
|
||||
map(0x8000, 0xffff).rom().region(M6809_TAG, 0);
|
||||
}
|
||||
|
||||
|
@ -82,8 +82,7 @@ void bbcbc_state::io_map(address_map &map)
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) {
|
||||
m_z80pio->write(space, offset >> 5, data, mem_mask);
|
||||
});
|
||||
map(0x80, 0x80).rw("tms9129", FUNC(tms9129_device::vram_r), FUNC(tms9129_device::vram_w));
|
||||
map(0x81, 0x81).rw("tms9129", FUNC(tms9129_device::register_r), FUNC(tms9129_device::register_w));
|
||||
map(0x80, 0x81).rw("tms9129", FUNC(tms9129_device::read), FUNC(tms9129_device::write));
|
||||
}
|
||||
|
||||
// Input bits are read through the PIO four at a time, then stored individually in RAM at E030-E03B
|
||||
|
@ -166,8 +166,7 @@ void by133_state::video_map(address_map &map)
|
||||
{ // U8 Vidiot
|
||||
map(0x0000, 0x1fff).rw(FUNC(by133_state::sound_data_r), FUNC(by133_state::sound_data_w));
|
||||
map(0x2000, 0x2003).mirror(0x0ffc).rw(m_pia_u7, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); // PIA U7 Vidiot
|
||||
map(0x4000, 0x4000).mirror(0x0ffe).rw(m_crtc, FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0x4001, 0x4001).mirror(0x0ffe).rw(m_crtc, FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0x4000, 0x4001).mirror(0x0ffe).rw(m_crtc, FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
map(0x6000, 0x63ff).mirror(0x1c00).ram();
|
||||
map(0x8000, 0xffff).rom();
|
||||
}
|
||||
@ -175,10 +174,8 @@ void by133_state::video_map(address_map &map)
|
||||
void by133_state::granny_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x0001).rw(FUNC(by133_state::sound_data_r), FUNC(by133_state::sound_data_w));
|
||||
map(0x0002, 0x0002).rw(m_crtc, FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0x0003, 0x0003).rw(m_crtc, FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0x0004, 0x0004).rw(m_crtc2, FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0x0005, 0x0005).rw(m_crtc2, FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0x0002, 0x0003).rw(m_crtc, FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
map(0x0004, 0x0005).rw(m_crtc2, FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
map(0x0006, 0x0007).w(FUNC(by133_state::granny_crtc_w)); // can write to both at once
|
||||
map(0x0008, 0x000b).rw(m_pia_u7, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
|
||||
map(0x2000, 0x27ff).ram();
|
||||
@ -536,16 +533,8 @@ INPUT_PORTS_END
|
||||
|
||||
WRITE8_MEMBER( by133_state::granny_crtc_w )
|
||||
{
|
||||
if (offset)
|
||||
{
|
||||
m_crtc->register_write(data);
|
||||
m_crtc2->register_write(data);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_crtc->vram_write(data);
|
||||
m_crtc2->vram_write(data);
|
||||
}
|
||||
m_crtc->write(offset, data);
|
||||
m_crtc2->write(offset, data);
|
||||
}
|
||||
|
||||
READ8_MEMBER( by133_state::sound_data_r )
|
||||
|
@ -259,13 +259,13 @@ void cliffhgr_state::mainmem(address_map &map)
|
||||
void cliffhgr_state::mainport(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0x44, 0x44).w("tms9928a", FUNC(tms9928a_device::vram_w));
|
||||
map(0x45, 0x45).r("tms9928a", FUNC(tms9928a_device::vram_r));
|
||||
map(0x44, 0x44).w("tms9928a", FUNC(tms9928a_device::vram_write));
|
||||
map(0x45, 0x45).r("tms9928a", FUNC(tms9928a_device::vram_read));
|
||||
map(0x46, 0x46).w(FUNC(cliffhgr_state::cliff_sound_overlay_w));
|
||||
map(0x50, 0x52).r(FUNC(cliffhgr_state::cliff_philips_code_r));
|
||||
map(0x53, 0x53).r(FUNC(cliffhgr_state::cliff_irq_ack_r));
|
||||
map(0x54, 0x54).w("tms9928a", FUNC(tms9928a_device::register_w));
|
||||
map(0x55, 0x55).r("tms9928a", FUNC(tms9928a_device::register_r));
|
||||
map(0x54, 0x54).w("tms9928a", FUNC(tms9928a_device::register_write));
|
||||
map(0x55, 0x55).r("tms9928a", FUNC(tms9928a_device::register_read));
|
||||
map(0x57, 0x57).w(FUNC(cliffhgr_state::cliff_philips_clear_w));
|
||||
map(0x60, 0x60).w(FUNC(cliffhgr_state::cliff_port_bank_w));
|
||||
map(0x62, 0x62).r(FUNC(cliffhgr_state::cliff_port_r));
|
||||
|
@ -105,8 +105,7 @@ void coleco_state::coleco_io_map(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0x80, 0x80).mirror(0x1f).w(FUNC(coleco_state::paddle_off_w));
|
||||
map(0xa0, 0xa0).mirror(0x1e).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0xa1, 0xa1).mirror(0x1e).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0xa0, 0xa1).mirror(0x1e).rw("tms9928a", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
map(0xc0, 0xc0).mirror(0x1f).w(FUNC(coleco_state::paddle_on_w));
|
||||
map(0xe0, 0xe0).mirror(0x1f).w("sn76489a", FUNC(sn76489a_device::write));
|
||||
map(0xe0, 0xe0).mirror(0x1d).r(FUNC(coleco_state::paddle_1_r));
|
||||
|
@ -90,8 +90,7 @@ void cortex_state::mem_map(address_map &map)
|
||||
map(0x0000, 0x7fff).bankr("bankr0").bankw("bankw0");
|
||||
map(0x8000, 0xefff).ram();
|
||||
map(0xf100, 0xf11f).ram(); // memory mapping unit
|
||||
map(0xf120, 0xf120).rw("crtc", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0xf121, 0xf121).rw("crtc", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0xf120, 0xf121).rw("crtc", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
//map(0xf140, 0xf147) // fdc tms9909
|
||||
}
|
||||
|
||||
|
@ -146,10 +146,8 @@ void crvision_state::crvision_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x03ff).mirror(0x0c00).ram();
|
||||
map(0x1000, 0x1003).mirror(0x0ffc).rw(m_pia, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
|
||||
map(0x2000, 0x2000).mirror(0x0ffe).r(TMS9929_TAG, FUNC(tms9928a_device::vram_r));
|
||||
map(0x2001, 0x2001).mirror(0x0ffe).r(TMS9929_TAG, FUNC(tms9928a_device::register_r));
|
||||
map(0x3000, 0x3000).mirror(0x0ffe).w(TMS9929_TAG, FUNC(tms9928a_device::vram_w));
|
||||
map(0x3001, 0x3001).mirror(0x0ffe).w(TMS9929_TAG, FUNC(tms9928a_device::register_w));
|
||||
map(0x2000, 0x2001).mirror(0x0ffe).r(TMS9929_TAG, FUNC(tms9928a_device::read));
|
||||
map(0x3000, 0x3001).mirror(0x0ffe).w(TMS9929_TAG, FUNC(tms9928a_device::write));
|
||||
map(0x4000, 0x7fff).bankr(BANK_ROM2);
|
||||
map(0x8000, 0xbfff).bankr(BANK_ROM1);
|
||||
// AM_RANGE(0xc000, 0xe7ff) AM_RAMBANK(3)
|
||||
@ -168,10 +166,8 @@ void laser2001_state::lasr2001_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x03ff).mirror(0x0c00).ram();
|
||||
map(0x1000, 0x1003).mirror(0x0ffc).rw(m_pia, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
|
||||
map(0x2000, 0x2000).mirror(0x0ffe).r(TMS9929_TAG, FUNC(tms9928a_device::vram_r));
|
||||
map(0x2001, 0x2001).mirror(0x0ffe).r(TMS9929_TAG, FUNC(tms9928a_device::register_r));
|
||||
map(0x3000, 0x3000).mirror(0x0ffe).w(TMS9929_TAG, FUNC(tms9928a_device::vram_w));
|
||||
map(0x3001, 0x3001).mirror(0x0ffe).w(TMS9929_TAG, FUNC(tms9928a_device::register_w));
|
||||
map(0x2000, 0x2001).mirror(0x0ffe).r(TMS9929_TAG, FUNC(tms9928a_device::read));
|
||||
map(0x3000, 0x3001).mirror(0x0ffe).w(TMS9929_TAG, FUNC(tms9928a_device::write));
|
||||
map(0x4000, 0x7fff).bankrw(BANK_ROM2);
|
||||
map(0x8000, 0xbfff).bankrw(BANK_ROM1);
|
||||
map(0xc000, 0xffff).rom().region(M6502_TAG, 0);
|
||||
|
@ -424,8 +424,7 @@ void einstein_state::einstein_io(address_map &map)
|
||||
map(0x00, 0x00).mirror(0xff04).rw(FUNC(einstein_state::reset_r), FUNC(einstein_state::reset_w));
|
||||
map(0x02, 0x02).mirror(0xff04).rw(m_psg, FUNC(ay8910_device::data_r), FUNC(ay8910_device::address_w));
|
||||
map(0x03, 0x03).mirror(0xff04).w(m_psg, FUNC(ay8910_device::data_w));
|
||||
map(0x08, 0x08).mirror(0xff06).rw("vdp", FUNC(tms9129_device::vram_r), FUNC(tms9129_device::vram_w));
|
||||
map(0x09, 0x09).mirror(0xff06).rw("vdp", FUNC(tms9129_device::register_r), FUNC(tms9129_device::register_w));
|
||||
map(0x08, 0x09).mirror(0xff06).rw("vdp", FUNC(tms9129_device::read), FUNC(tms9129_device::write));
|
||||
map(0x10, 0x11).mirror(0xff06).rw(IC_I060, FUNC(i8251_device::read), FUNC(i8251_device::write));
|
||||
map(0x18, 0x1b).mirror(0xff04).rw(m_fdc, FUNC(wd1770_device::read), FUNC(wd1770_device::write));
|
||||
map(0x20, 0x20).mirror(0xff00).rw(FUNC(einstein_state::kybint_msk_r), FUNC(einstein_state::kybint_msk_w));
|
||||
|
@ -81,8 +81,7 @@ void forte2_state::io_mem(address_map &map)
|
||||
{
|
||||
map.unmap_value_high();
|
||||
map.global_mask(0xff);
|
||||
map(0x98, 0x98).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0x99, 0x99).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0x98, 0x99).rw("tms9928a", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
map(0xa0, 0xa1).w("aysnd", FUNC(ay8910_device::address_data_w));
|
||||
map(0xa2, 0xa2).r("aysnd", FUNC(ay8910_device::data_r));
|
||||
// AM_RANGE(0xa8, 0xa8) AM_RAM // Ports a8-ab are originally for communicating with the i8255 PPI on MSX.
|
||||
|
@ -91,8 +91,7 @@ void kingpin_state::kingpin_io_map(address_map &map)
|
||||
map.global_mask(0xff);
|
||||
map(0x00, 0x03).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0x10, 0x13).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0x20, 0x20).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0x21, 0x21).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0x20, 0x21).rw("tms9928a", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
map(0x60, 0x60).w(FUNC(kingpin_state::sound_nmi_w));
|
||||
//AM_RANGE(0x30, 0x30) AM_WRITENOP // lamps?
|
||||
//AM_RANGE(0x40, 0x40) AM_WRITENOP // lamps?
|
||||
|
@ -718,8 +718,7 @@ void m5_state::m5_io(address_map &map)
|
||||
map.unmap_value_high();
|
||||
map.global_mask(0xff);
|
||||
map(0x00, 0x03).mirror(0x0c).rw(m_ctc, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
|
||||
map(0x10, 0x10).mirror(0x0e).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0x11, 0x11).mirror(0x0e).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0x10, 0x11).mirror(0x0e).rw("tms9928a", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
map(0x20, 0x20).mirror(0x0f).w(SN76489AN_TAG, FUNC(sn76489a_device::write));
|
||||
map(0x30, 0x30).mirror(0x08).portr("Y0").w(FUNC(m5_state::mem64KBF_w)); // 64KBF paging
|
||||
map(0x31, 0x31).mirror(0x08).portr("Y1");
|
||||
@ -1040,8 +1039,7 @@ void brno_state::brno_io(address_map &map)
|
||||
map.unmap_value_high();
|
||||
map.global_mask(0xff);
|
||||
map(0x00, 0x03).mirror(0x0c).rw(m_ctc, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
|
||||
map(0x10, 0x10).mirror(0x0e).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0x11, 0x11).mirror(0x0e).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0x10, 0x11).mirror(0x0e).rw("tms9928a", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
map(0x20, 0x20).mirror(0x0f).w(SN76489AN_TAG, FUNC(sn76489a_device::write));
|
||||
map(0x30, 0x30).portr("Y0");
|
||||
map(0x31, 0x31).portr("Y1");
|
||||
|
@ -557,8 +557,7 @@ void msx_state::msx_io_map(address_map &map)
|
||||
map(0x91, 0x91).w("cent_data_out", FUNC(output_latch_device::bus_w));
|
||||
map(0xa0, 0xa7).rw(m_ay8910, FUNC(ay8910_device::data_r), FUNC(ay8910_device::address_data_w));
|
||||
map(0xa8, 0xab).rw("ppi8255", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0x98, 0x98).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0x99, 0x99).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0x98, 0x99).rw("tms9928a", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
map(0xd8, 0xd9).rw(FUNC(msx_state::msx_kanji_r), FUNC(msx_state::msx_kanji_w));
|
||||
// 0xfc - 0xff : Memory mapper I/O ports. I/O handlers will be installed if a memory mapper is present in a system
|
||||
}
|
||||
|
@ -58,8 +58,8 @@ void mtx_state::mtx_io(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0x00, 0x00).rw(FUNC(mtx_state::mtx_strobe_r), FUNC(mtx_state::mtx_bankswitch_w));
|
||||
map(0x01, 0x01).rw("tms9929a", FUNC(tms9929a_device::vram_r), FUNC(tms9929a_device::vram_w));
|
||||
map(0x02, 0x02).rw("tms9929a", FUNC(tms9929a_device::register_r), FUNC(tms9929a_device::register_w));
|
||||
map(0x01, 0x01).rw("tms9929a", FUNC(tms9929a_device::vram_read), FUNC(tms9929a_device::vram_write));
|
||||
map(0x02, 0x02).rw("tms9929a", FUNC(tms9929a_device::register_read), FUNC(tms9929a_device::register_write));
|
||||
map(0x03, 0x03).rw(FUNC(mtx_state::mtx_sound_strobe_r), FUNC(mtx_state::mtx_cst_w));
|
||||
map(0x04, 0x04).r(FUNC(mtx_state::mtx_prt_r)).w("cent_data_out", FUNC(output_latch_device::bus_w));
|
||||
map(0x05, 0x05).rw(FUNC(mtx_state::mtx_key_lo_r), FUNC(mtx_state::mtx_sense_w));
|
||||
|
@ -78,8 +78,8 @@ void myvision_state::myvision_mem(address_map &map)
|
||||
map.unmap_value_high();
|
||||
//AM_RANGE(0x0000, 0x5fff) // mapped by the cartslot
|
||||
map(0xa000, 0xa7ff).ram();
|
||||
map(0xe000, 0xe000).rw("tms9918", FUNC(tms9918a_device::vram_r), FUNC(tms9918a_device::vram_w));
|
||||
map(0xe002, 0xe002).rw("tms9918", FUNC(tms9918a_device::register_r), FUNC(tms9918a_device::register_w));
|
||||
map(0xe000, 0xe000).rw("tms9918", FUNC(tms9918a_device::vram_read), FUNC(tms9918a_device::vram_write));
|
||||
map(0xe002, 0xe002).rw("tms9918", FUNC(tms9918a_device::register_read), FUNC(tms9918a_device::register_write));
|
||||
}
|
||||
|
||||
|
||||
|
@ -347,13 +347,11 @@ void nightmare_state::nightmare_map(address_map &map)
|
||||
|
||||
void nightmare_state::nightmare_io_map(address_map &map)
|
||||
{
|
||||
map(0x0001, 0x0001).r("ic8", FUNC(cdp1852_device::read)).w(FUNC(nightmare_state::unkout_w));
|
||||
map(0x0002, 0x0002).r("ic9", FUNC(cdp1852_device::read)).w("ic10", FUNC(cdp1852_device::write));
|
||||
map(1, 1).r("ic8", FUNC(cdp1852_device::read)).w(FUNC(nightmare_state::unkout_w));
|
||||
map(2, 2).r("ic9", FUNC(cdp1852_device::read)).w("ic10", FUNC(cdp1852_device::write));
|
||||
|
||||
map(0x0004, 0x0004).rw(m_vdc, FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0x0005, 0x0005).rw(m_vdc, FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0x0006, 0x0006).rw(m_vdc2, FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0x0007, 0x0007).rw(m_vdc2, FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(4, 5).rw(m_vdc, FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
map(6, 7).rw(m_vdc2, FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
}
|
||||
|
||||
void nightmare_state::nightmare_sound_map(address_map &map)
|
||||
|
@ -155,8 +155,8 @@ void pachifev_state::pachifev_map(address_map &map)
|
||||
map(0xff04, 0xff04).portr("DSW1");
|
||||
map(0xff06, 0xff06).portr("DSW2");
|
||||
map(0xff08, 0xff08).portr("DSW3");
|
||||
map(0xff10, 0xff10).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0xff12, 0xff12).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0xff10, 0xff10).rw("tms9928a", FUNC(tms9928a_device::vram_read), FUNC(tms9928a_device::vram_write));
|
||||
map(0xff12, 0xff12).rw("tms9928a", FUNC(tms9928a_device::register_read), FUNC(tms9928a_device::register_write));
|
||||
map(0xff20, 0xff20).w("y2404_1", FUNC(y2404_device::write));
|
||||
map(0xff30, 0xff30).w("y2404_2", FUNC(y2404_device::write));
|
||||
map(0xff40, 0xff40).w(FUNC(pachifev_state::controls_w));
|
||||
|
@ -149,8 +149,7 @@ void pencil2_state::io_map(address_map &map)
|
||||
map(0x10, 0x1f).w(FUNC(pencil2_state::port10_w));
|
||||
map(0x30, 0x3f).w(FUNC(pencil2_state::port30_w));
|
||||
map(0x80, 0x9f).w(FUNC(pencil2_state::port80_w));
|
||||
map(0xa0, 0xa0).mirror(0x1e).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0xa1, 0xa1).mirror(0x1e).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0xa0, 0xa1).mirror(0x1e).rw("tms9928a", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
map(0xc0, 0xdf).w(FUNC(pencil2_state::portc0_w));
|
||||
map(0xe0, 0xff).w("sn76489a", FUNC(sn76489a_device::write));
|
||||
map(0xe0, 0xe0).portr("E0");
|
||||
|
@ -126,8 +126,7 @@ void pengadvb_state::io_mem(address_map &map)
|
||||
{
|
||||
map.unmap_value_high();
|
||||
map.global_mask(0xff);
|
||||
map(0x98, 0x98).rw("tms9128", FUNC(tms9128_device::vram_r), FUNC(tms9128_device::vram_w));
|
||||
map(0x99, 0x99).rw("tms9128", FUNC(tms9128_device::register_r), FUNC(tms9128_device::register_w));
|
||||
map(0x98, 0x99).rw("tms9128", FUNC(tms9128_device::read), FUNC(tms9128_device::write));
|
||||
map(0xa0, 0xa1).w("aysnd", FUNC(ay8910_device::address_data_w));
|
||||
map(0xa2, 0xa2).r("aysnd", FUNC(ay8910_device::data_r));
|
||||
map(0xa8, 0xab).rw("ppi8255", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
|
@ -184,8 +184,7 @@ void pv2000_state::pv2000_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x3fff).rom();
|
||||
|
||||
map(0x4000, 0x4000).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0x4001, 0x4001).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0x4000, 0x4001).rw("tms9928a", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
|
||||
map(0x7000, 0x7fff).ram();
|
||||
//AM_RANGE(0x8000, 0xbfff) ext ram?
|
||||
|
@ -264,8 +264,7 @@ void re900_state::mem_io(address_map &map)
|
||||
map(0x0000, 0xbfff).r(FUNC(re900_state::rom_r));
|
||||
map(0xc000, 0xdfff).ram().share("nvram");
|
||||
map(0xe000, 0xefff).w(FUNC(re900_state::watchdog_reset_w));
|
||||
map(0xe000, 0xe000).w("tms9128", FUNC(tms9928a_device::vram_w));
|
||||
map(0xe001, 0xe001).w("tms9128", FUNC(tms9928a_device::register_w));
|
||||
map(0xe000, 0xe001).w("tms9128", FUNC(tms9928a_device::write));
|
||||
map(0xe800, 0xe801).w("ay_re900", FUNC(ay8910_device::address_data_w));
|
||||
map(0xe802, 0xe802).r("ay_re900", FUNC(ay8910_device::data_r));
|
||||
}
|
||||
|
@ -137,8 +137,7 @@ void sg1000_state::sg1000_io_map(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0x40, 0x40).mirror(0x3f).w(SN76489AN_TAG, FUNC(sn76489a_device::write));
|
||||
map(0x80, 0x80).mirror(0x3e).rw(TMS9918A_TAG, FUNC(tms9918a_device::vram_r), FUNC(tms9918a_device::vram_w));
|
||||
map(0x81, 0x81).mirror(0x3e).rw(TMS9918A_TAG, FUNC(tms9918a_device::register_r), FUNC(tms9918a_device::register_w));
|
||||
map(0x80, 0x81).mirror(0x3e).rw(TMS9918A_TAG, FUNC(tms9918a_device::read), FUNC(tms9918a_device::write));
|
||||
map(0xdc, 0xdf).rw(FUNC(sg1000_state::peripheral_r), FUNC(sg1000_state::peripheral_w));
|
||||
}
|
||||
|
||||
@ -160,8 +159,7 @@ void sg1000_state::omv_io_map(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0x40, 0x40).mirror(0x3f).w(SN76489AN_TAG, FUNC(sn76489a_device::write));
|
||||
map(0x80, 0x80).mirror(0x3e).rw(TMS9918A_TAG, FUNC(tms9918a_device::vram_r), FUNC(tms9918a_device::vram_w));
|
||||
map(0x81, 0x81).mirror(0x3e).rw(TMS9918A_TAG, FUNC(tms9918a_device::register_r), FUNC(tms9918a_device::register_w));
|
||||
map(0x80, 0x81).mirror(0x3e).rw(TMS9918A_TAG, FUNC(tms9918a_device::read), FUNC(tms9918a_device::write));
|
||||
map(0xc0, 0xc0).mirror(0x38).portr("C0");
|
||||
map(0xc1, 0xc1).mirror(0x38).portr("C1");
|
||||
map(0xc2, 0xc2).mirror(0x38).portr("C2");
|
||||
@ -189,8 +187,7 @@ void sg1000_state::sc3000_io_map(address_map &map)
|
||||
map.global_mask(0xff);
|
||||
map(0x00, 0xff).rw(CARTSLOT_TAG, FUNC(sega8_cart_slot_device::read_io), FUNC(sega8_cart_slot_device::write_io));
|
||||
map(0x7f, 0x7f).w(SN76489AN_TAG, FUNC(sn76489a_device::write));
|
||||
map(0xbe, 0xbe).rw(TMS9918A_TAG, FUNC(tms9918a_device::vram_r), FUNC(tms9918a_device::vram_w));
|
||||
map(0xbf, 0xbf).rw(TMS9918A_TAG, FUNC(tms9918a_device::register_r), FUNC(tms9918a_device::register_w));
|
||||
map(0xbe, 0xbf).rw(TMS9918A_TAG, FUNC(tms9918a_device::read), FUNC(tms9918a_device::write));
|
||||
map(0xdc, 0xdf).rw(FUNC(sg1000_state::peripheral_r), FUNC(sg1000_state::peripheral_w));
|
||||
}
|
||||
|
||||
@ -200,8 +197,7 @@ void sg1000_state::sc3000_io_map(address_map &map)
|
||||
map.global_mask(0xff);
|
||||
map(0x00, 0x00).mirror(0xdf).rw(UPD9255_TAG, FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0x00, 0x00).mirror(0x7f).w(SN76489AN_TAG, FUNC(sn76489a_device::write));
|
||||
map(0x00, 0x00).mirror(0xae).rw(TMS9918A_TAG, FUNC(tms9918a_device::vram_r), FUNC(tms9918a_device::vram_w));
|
||||
map(0x01, 0x01).mirror(0xae).rw(TMS9918A_TAG, FUNC(tms9918a_device::register_r), FUNC(tms9918a_device::register_w));
|
||||
map(0x00, 0x01).mirror(0xae).rw(TMS9918A_TAG, FUNC(tms9918a_device::read), FUNC(tms9918a_device::write));
|
||||
map(0x60, 0x60).mirror(0x9f).r(FUNC(sg1000_state::sc3000_r_r));
|
||||
}
|
||||
*/
|
||||
@ -224,8 +220,7 @@ void sf7000_state::sf7000_io_map(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0x7f, 0x7f).w(SN76489AN_TAG, FUNC(sn76489a_device::write));
|
||||
map(0xbe, 0xbe).rw(TMS9918A_TAG, FUNC(tms9918a_device::vram_r), FUNC(tms9918a_device::vram_w));
|
||||
map(0xbf, 0xbf).rw(TMS9918A_TAG, FUNC(tms9918a_device::register_r), FUNC(tms9918a_device::register_w));
|
||||
map(0xbe, 0xbf).rw(TMS9918A_TAG, FUNC(tms9918a_device::read), FUNC(tms9918a_device::write));
|
||||
map(0xdc, 0xdf).rw(FUNC(sf7000_state::peripheral_r), FUNC(sf7000_state::peripheral_w));
|
||||
map(0xe0, 0xe1).m(m_fdc, FUNC(upd765a_device::map));
|
||||
map(0xe4, 0xe7).rw(UPD9255_1_TAG, FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
|
@ -325,8 +325,7 @@ void sg1000a_state::io_map(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0x7f, 0x7f).w("snsnd", FUNC(sn76489a_device::write));
|
||||
map(0xbe, 0xbe).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0xbf, 0xbf).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0xbe, 0xbf).rw("tms9928a", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
map(0xdc, 0xdf).rw("ppi8255", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
}
|
||||
|
||||
@ -334,8 +333,7 @@ void sg1000a_state::sderby_io_map(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0x40, 0x40).mirror(0x3f).w("snsnd", FUNC(sn76489a_device::write));
|
||||
map(0x80, 0x80).mirror(0x3e).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
|
||||
map(0x81, 0x81).mirror(0x3e).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
|
||||
map(0x80, 0x81).mirror(0x3e).rw("tms9928a", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
|
||||
// map(0xc0, 0xc1).mirror(0x06) NEC D8251AC UART
|
||||
map(0xc8, 0xcb).mirror(0x04).rw("ppi8255", FUNC(i8255_device::read), FUNC(i8255_device::write)); // NEC D8255AC-2
|
||||
}
|
||||
|
@ -151,10 +151,8 @@ void svi3x8_state::svi3x8_io_bank(address_map &map)
|
||||
{
|
||||
map(0x000, 0x0ff).rw(m_expander, FUNC(svi_expander_device::iorq_r), FUNC(svi_expander_device::iorq_w));
|
||||
map(0x100, 0x17f).rw(m_expander, FUNC(svi_expander_device::iorq_r), FUNC(svi_expander_device::iorq_w));
|
||||
map(0x180, 0x180).mirror(0x22).w(m_vdp, FUNC(tms9928a_device::vram_w));
|
||||
map(0x181, 0x181).mirror(0x22).w(m_vdp, FUNC(tms9928a_device::register_w));
|
||||
map(0x184, 0x184).mirror(0x22).r(m_vdp, FUNC(tms9928a_device::vram_r));
|
||||
map(0x185, 0x185).mirror(0x22).r(m_vdp, FUNC(tms9928a_device::register_r));
|
||||
map(0x180, 0x181).mirror(0x22).w(m_vdp, FUNC(tms9928a_device::write));
|
||||
map(0x184, 0x185).mirror(0x22).r(m_vdp, FUNC(tms9928a_device::read));
|
||||
map(0x188, 0x188).mirror(0x23).w("psg", FUNC(ay8910_device::address_w));
|
||||
map(0x18c, 0x18c).mirror(0x23).w("psg", FUNC(ay8910_device::data_w));
|
||||
map(0x190, 0x190).mirror(0x23).r("psg", FUNC(ay8910_device::data_r));
|
||||
|
@ -559,8 +559,8 @@ void tutor_state::tutor_memmap(address_map &map)
|
||||
map(0x8000, 0xbfff).bankr("bank2").nopw();
|
||||
map(0xc000, 0xdfff).noprw(); /*free for expansion, or cartridge ROM?*/
|
||||
|
||||
map(0xe000, 0xe000).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w)); /*VDP data*/
|
||||
map(0xe002, 0xe002).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));/*VDP status*/
|
||||
map(0xe000, 0xe000).rw("tms9928a", FUNC(tms9928a_device::vram_read), FUNC(tms9928a_device::vram_write)); /*VDP data*/
|
||||
map(0xe002, 0xe002).rw("tms9928a", FUNC(tms9928a_device::register_read), FUNC(tms9928a_device::register_write));/*VDP status*/
|
||||
map(0xe100, 0xe1ff).rw(FUNC(tutor_state::tutor_mapper_r), FUNC(tutor_state::tutor_mapper_w)); /*cartridge mapper*/
|
||||
map(0xe200, 0xe200).w("sn76489a", FUNC(sn76489a_device::write)); /*sound chip*/
|
||||
map(0xe800, 0xe8ff).rw(FUNC(tutor_state::tutor_printer_r), FUNC(tutor_state::tutor_printer_w)); /*printer*/
|
||||
@ -576,8 +576,8 @@ void tutor_state::pyuutajr_mem(address_map &map)
|
||||
map(0x8000, 0xbfff).bankr("bank2").nopw();
|
||||
map(0xc000, 0xdfff).noprw(); /*free for expansion, or cartridge ROM?*/
|
||||
|
||||
map(0xe000, 0xe000).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w)); /*VDP data*/
|
||||
map(0xe002, 0xe002).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));/*VDP status*/
|
||||
map(0xe000, 0xe000).rw("tms9928a", FUNC(tms9928a_device::vram_read), FUNC(tms9928a_device::vram_write)); /*VDP data*/
|
||||
map(0xe002, 0xe002).rw("tms9928a", FUNC(tms9928a_device::register_read), FUNC(tms9928a_device::register_write));/*VDP status*/
|
||||
map(0xe100, 0xe1ff).rw(FUNC(tutor_state::tutor_mapper_r), FUNC(tutor_state::tutor_mapper_w)); /*cartridge mapper*/
|
||||
map(0xe200, 0xe200).w("sn76489a", FUNC(sn76489a_device::write)); /*sound chip*/
|
||||
map(0xe800, 0xe800).portr("LINE0");
|
||||
|
Loading…
Reference in New Issue
Block a user