mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
(nw) Finished converting m_p_chargen to required region, and associated cleanups.
This commit is contained in:
parent
ff1c7e85fa
commit
2654773c5f
@ -61,13 +61,14 @@ public:
|
||||
alphatro_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_crtc(*this, "crtc")
|
||||
, m_usart(*this, "usart")
|
||||
, m_cass(*this, "cassette")
|
||||
, m_beep(*this, "beeper")
|
||||
, m_p_ram(*this, "main_ram"),
|
||||
m_palette(*this, "palette")
|
||||
, m_p_ram(*this, "main_ram")
|
||||
, m_palette(*this, "palette")
|
||||
{ }
|
||||
|
||||
DECLARE_READ8_MEMBER(port10_r);
|
||||
@ -79,27 +80,25 @@ public:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(timer_c);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(timer_p);
|
||||
MC6845_UPDATE_ROW(crtc_update_row);
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
uint8_t *m_p_chargen;
|
||||
uint8_t m_flashcnt;
|
||||
|
||||
private:
|
||||
uint8_t m_timer_bit;
|
||||
uint8_t m_cass_data[4];
|
||||
required_shared_ptr<u8> m_p_videoram;
|
||||
u8 m_flashcnt;
|
||||
u8 m_timer_bit;
|
||||
u8 m_cass_data[4];
|
||||
bool m_cass_state;
|
||||
bool m_cassold;
|
||||
emu_timer* m_sys_timer;
|
||||
virtual void video_start() override;
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_device<i8251_device> m_usart;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
required_device<beep_device> m_beep;
|
||||
required_shared_ptr<uint8_t> m_p_ram;
|
||||
public:
|
||||
required_shared_ptr<u8> m_p_ram;
|
||||
required_device<palette_device> m_palette;
|
||||
};
|
||||
|
||||
@ -151,20 +150,15 @@ WRITE_LINE_MEMBER( alphatro_state::write_usart_clock )
|
||||
m_usart->write_rxc(state);
|
||||
}
|
||||
|
||||
void alphatro_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
MC6845_UPDATE_ROW( alphatro_state::crtc_update_row )
|
||||
{
|
||||
const rgb_t *pens = m_palette->palette()->entry_list_raw();
|
||||
bool palette = BIT(ioport("CONFIG")->read(), 5);
|
||||
if (y==0) m_flashcnt++;
|
||||
bool inv;
|
||||
uint8_t chr,gfx,attr,bg,fg;
|
||||
uint16_t mem,x;
|
||||
uint32_t *p = &bitmap.pix32(y);
|
||||
u8 chr,gfx,attr,bg,fg;
|
||||
u16 mem,x;
|
||||
u32 *p = &bitmap.pix32(y);
|
||||
|
||||
for (x = 0; x < x_count; x++)
|
||||
{
|
||||
@ -191,7 +185,7 @@ MC6845_UPDATE_ROW( alphatro_state::crtc_update_row )
|
||||
|
||||
if (inv)
|
||||
{
|
||||
uint8_t t = bg;
|
||||
u8 t = bg;
|
||||
bg = fg;
|
||||
fg = t;
|
||||
}
|
||||
@ -381,7 +375,7 @@ void alphatro_state::machine_start()
|
||||
void alphatro_state::machine_reset()
|
||||
{
|
||||
// do what the IPL does
|
||||
uint8_t* ROM = memregion("roms")->base();
|
||||
u8* ROM = memregion("roms")->base();
|
||||
m_maincpu->set_pc(0xe000);
|
||||
// If BASIC is missing then it boots into the Monitor
|
||||
memcpy(m_p_ram, ROM, 0x6000); // Copy BASIC to RAM
|
||||
@ -434,7 +428,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(alphatro_state::timer_p)
|
||||
{
|
||||
/* cassette - turn 1200/2400Hz to a bit */
|
||||
m_cass_data[1]++;
|
||||
uint8_t cass_ws = (m_cass->input() > +0.03) ? 1 : 0;
|
||||
u8 cass_ws = (m_cass->input() > +0.03) ? 1 : 0;
|
||||
|
||||
if (cass_ws != m_cass_data[0])
|
||||
{
|
||||
|
@ -103,6 +103,8 @@ public:
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_palette(*this, "palette")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_beep(*this, "beeper")
|
||||
, m_fdc (*this, "fdc")
|
||||
, m_floppy0(*this, "fdc:0")
|
||||
@ -127,17 +129,18 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(kbd_put);
|
||||
INTERRUPT_GEN_MEMBER(irq_vs);
|
||||
MC6845_UPDATE_ROW(crtc_update_row);
|
||||
uint8_t *m_p_videoram;
|
||||
const uint8_t *m_p_chargen;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
private:
|
||||
uint8_t m_port04;
|
||||
uint8_t m_port06;
|
||||
uint8_t m_port08;
|
||||
uint8_t m_port0a;
|
||||
uint8_t m_term_data;
|
||||
u8 m_port04;
|
||||
u8 m_port06;
|
||||
u8 m_port08;
|
||||
u8 m_port0a;
|
||||
u8 m_term_data;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<beep_device> m_beep;
|
||||
required_device<upd765a_device> m_fdc;
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
@ -213,7 +216,7 @@ INPUT_PORTS_END
|
||||
|
||||
READ8_MEMBER( amust_state::port00_r )
|
||||
{
|
||||
uint8_t ret = m_term_data;
|
||||
u8 ret = m_term_data;
|
||||
m_term_data = 0;
|
||||
return ret;
|
||||
}
|
||||
@ -337,9 +340,9 @@ GFXDECODE_END
|
||||
MC6845_UPDATE_ROW( amust_state::crtc_update_row )
|
||||
{
|
||||
const rgb_t *palette = m_palette->palette()->entry_list_raw();
|
||||
uint8_t chr,gfx,inv;
|
||||
uint16_t mem,x;
|
||||
uint32_t *p = &bitmap.pix32(y);
|
||||
u8 chr,gfx,inv;
|
||||
u16 mem,x;
|
||||
u32 *p = &bitmap.pix32(y);
|
||||
|
||||
for (x = 0; x < x_count; x++)
|
||||
{
|
||||
@ -365,8 +368,6 @@ MC6845_UPDATE_ROW( amust_state::crtc_update_row )
|
||||
|
||||
MACHINE_RESET_MEMBER( amust_state, amust )
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_p_videoram = memregion("videoram")->base();
|
||||
membank("bankr0")->set_entry(0); // point at rom
|
||||
membank("bankw0")->set_entry(0); // always write to ram
|
||||
address_space &space = m_maincpu->space(AS_PROGRAM);
|
||||
@ -381,7 +382,7 @@ MACHINE_RESET_MEMBER( amust_state, amust )
|
||||
|
||||
DRIVER_INIT_MEMBER( amust_state, amust )
|
||||
{
|
||||
uint8_t *main = memregion("maincpu")->base();
|
||||
u8 *main = memregion("maincpu")->base();
|
||||
|
||||
membank("bankr0")->configure_entry(1, &main[0xf800]);
|
||||
membank("bankr0")->configure_entry(0, &main[0x10800]);
|
||||
|
@ -58,7 +58,6 @@ private:
|
||||
bool m_ram_ctrl;
|
||||
uint8_t m_scroll_ctrl;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
};
|
||||
|
||||
@ -284,10 +283,6 @@ DRIVER_INIT_MEMBER(argo_state,argo)
|
||||
membank("boot")->configure_entries(0, 2, &RAM[0x0000], 0xf800);
|
||||
}
|
||||
|
||||
void argo_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
uint32_t argo_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t y,ra,chr,gfx;
|
||||
|
@ -455,9 +455,6 @@ MACHINE_RESET_MEMBER( aussiebyte_state, aussiebyte )
|
||||
m_port1a = 1;
|
||||
m_alpha_address = 0;
|
||||
m_graph_address = 0;
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_p_videoram = memregion("vram")->base();
|
||||
m_p_attribram = memregion("aram")->base();
|
||||
membank("bankr0")->set_entry(16); // point at rom
|
||||
membank("bankw0")->set_entry(1); // always write to ram
|
||||
membank("bank1")->set_entry(2);
|
||||
|
@ -40,8 +40,6 @@ public:
|
||||
private:
|
||||
u8 m_video_address;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_shared_ptr<u8> m_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
@ -76,10 +74,6 @@ WRITE8_MEMBER( banctec_state::videoram_w )
|
||||
m_video_address++;
|
||||
}
|
||||
|
||||
void banctec_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
/* ROCKWELL 6545 - Transparent Memory Addressing */
|
||||
|
||||
MC6845_UPDATE_ROW( banctec_state::crtc_update_row )
|
||||
|
@ -77,27 +77,27 @@ public:
|
||||
DECLARE_DRIVER_INIT(bcs3b);
|
||||
DECLARE_DRIVER_INIT(bcs3c);
|
||||
DECLARE_DRIVER_INIT(bcs3d);
|
||||
uint32_t screen_update_bcs3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
uint32_t screen_update_bcs3a(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
u32 screen_update_bcs3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
u32 screen_update_bcs3a(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
private:
|
||||
bool m_cass_bit;
|
||||
uint8_t s_curs;
|
||||
uint8_t s_init;
|
||||
uint8_t s_rows;
|
||||
uint8_t s_cols;
|
||||
u8 s_curs;
|
||||
u8 s_init;
|
||||
u8 s_rows;
|
||||
u8 s_cols;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<z80ctc_device> m_ctc;
|
||||
required_memory_region m_p_chargen;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_shared_ptr<u8> m_p_videoram;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
required_ioport_array<10> m_io_keyboard;
|
||||
};
|
||||
|
||||
READ8_MEMBER( bcs3_state::keyboard_r )
|
||||
{
|
||||
uint8_t i, data = 0;
|
||||
u8 i, data = 0;
|
||||
|
||||
if (offset == 0)
|
||||
data = (m_cass->input() > +0.01) ? 0x80 : 0;
|
||||
@ -114,7 +114,7 @@ READ8_MEMBER( bcs3_state::keyboard_r )
|
||||
// 00-7F = NUL, 0xE0 = end of line.
|
||||
READ8_MEMBER( bcs3_state::video_r )
|
||||
{
|
||||
uint8_t data = m_p_videoram[offset];
|
||||
u8 data = m_p_videoram[offset];
|
||||
return BIT(data, 7) ? data : 0;
|
||||
}
|
||||
|
||||
@ -215,10 +215,10 @@ static INPUT_PORTS_START( bcs3 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
// Official version
|
||||
uint32_t bcs3_state::screen_update_bcs3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
u32 bcs3_state::screen_update_bcs3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t y,ra,chr,gfx,rat;
|
||||
uint16_t sy=0,ma=0x50,x;
|
||||
u8 y,ra,chr,gfx,rat;
|
||||
u16 sy=0,ma=0x50,x;
|
||||
|
||||
for (y = 0; y < 12; y++)
|
||||
{
|
||||
@ -234,7 +234,7 @@ uint32_t bcs3_state::screen_update_bcs3(screen_device &screen, bitmap_ind16 &bit
|
||||
chr = m_p_videoram[x] & 0x7f;
|
||||
|
||||
/* get pattern of pixels for that character scanline */
|
||||
gfx = m_p_chargen->base()[(chr<<3) | rat ] ^ 0xff;
|
||||
gfx = m_p_chargen[(chr<<3) | rat ] ^ 0xff;
|
||||
}
|
||||
else
|
||||
gfx = 0xff;
|
||||
@ -257,11 +257,11 @@ uint32_t bcs3_state::screen_update_bcs3(screen_device &screen, bitmap_ind16 &bit
|
||||
|
||||
/* Hacks: When it starts, it has 4 lines of data. Pressing enter causes it to allocate 100 lines.
|
||||
I'm assuming that it only shows a portion of this, with the cursor always in sight. */
|
||||
uint32_t bcs3_state::screen_update_bcs3a(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
u32 bcs3_state::screen_update_bcs3a(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t y,ra,chr,gfx,rat;
|
||||
uint16_t sy = 0, ma = s_init, x;
|
||||
uint16_t cursor = (m_p_videoram[s_curs] | (m_p_videoram[s_curs+1] << 8)) - 0x3c00 - ma; // get cursor relative position
|
||||
u8 y,ra,chr,gfx,rat;
|
||||
u16 sy = 0, ma = s_init, x;
|
||||
u16 cursor = (m_p_videoram[s_curs] | (m_p_videoram[s_curs+1] << 8)) - 0x3c00 - ma; // get cursor relative position
|
||||
rat = cursor / (s_cols+1);
|
||||
if (rat > (s_rows-1)) ma += (rat-(s_rows-1)) * (s_cols+1);
|
||||
|
||||
@ -279,7 +279,7 @@ uint32_t bcs3_state::screen_update_bcs3a(screen_device &screen, bitmap_ind16 &bi
|
||||
chr = m_p_videoram[x] & 0x7f;
|
||||
|
||||
/* get pattern of pixels for that character scanline */
|
||||
gfx = m_p_chargen->base()[(chr<<3) | rat ] ^ 0xff;
|
||||
gfx = m_p_chargen[(chr<<3) | rat ] ^ 0xff;
|
||||
}
|
||||
else
|
||||
gfx = 0xff;
|
||||
|
@ -44,7 +44,6 @@ private:
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
uint8_t m_keyline;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
};
|
||||
|
||||
READ8_MEMBER(beehive_state::beehive_60_r)
|
||||
@ -233,10 +232,6 @@ void beehive_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
void beehive_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
/* This system appears to have inline attribute bytes of unknown meaning.
|
||||
Currently they are ignored. */
|
||||
uint32_t beehive_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
|
@ -90,6 +90,8 @@ public:
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_palette(*this, "palette")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_ram(*this, "maincpu")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_ctc1(*this, "ctc1")
|
||||
, m_ctc2(*this, "ctc2")
|
||||
, m_sio(*this, "sio")
|
||||
@ -123,25 +125,23 @@ public:
|
||||
DECLARE_READ8_MEMBER(io_read_byte);
|
||||
DECLARE_WRITE8_MEMBER(io_write_byte);
|
||||
MC6845_UPDATE_ROW(crtc_update_row);
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
private:
|
||||
uint8_t crt8002(uint8_t ac_ra, uint8_t ac_chr, uint8_t ac_attr, uint16_t ac_cnt, bool ac_curs);
|
||||
uint8_t *m_p_chargen; /* character ROM */
|
||||
uint8_t *m_p_videoram; /* Video RAM */
|
||||
uint8_t *m_p_attribram; /* Attribute RAM */
|
||||
uint8_t m_term_data;
|
||||
uint8_t m_term_status;
|
||||
u8 crt8002(u8 ac_ra, u8 ac_chr, u8 ac_attr, uint16_t ac_cnt, bool ac_curs);
|
||||
u8 m_term_data;
|
||||
u8 m_term_status;
|
||||
uint16_t m_cnt;
|
||||
bool m_c8[8];
|
||||
bool m_cc[8];
|
||||
floppy_image_device *m_floppy;
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
address_space *m_mem;
|
||||
address_space *m_io;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_ram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<z80ctc_device> m_ctc1;
|
||||
required_device<z80ctc_device> m_ctc2;
|
||||
required_device<z80sio_device> m_sio;
|
||||
@ -173,7 +173,7 @@ WRITE8_MEMBER( bigbord2_state::portc0_w )
|
||||
|
||||
READ8_MEMBER( bigbord2_state::portc4_r )
|
||||
{
|
||||
uint8_t ret = m_term_status | 3 | (m_c8[6]<<2) | m_dsw->read();
|
||||
u8 ret = m_term_status | 3 | (m_c8[6]<<2) | m_dsw->read();
|
||||
m_term_status = 0;
|
||||
return ret;
|
||||
}
|
||||
@ -182,7 +182,7 @@ READ8_MEMBER( bigbord2_state::portc4_r )
|
||||
|
||||
READ8_MEMBER( bigbord2_state::portd0_r )
|
||||
{
|
||||
uint8_t ret = m_term_data;
|
||||
u8 ret = m_term_data;
|
||||
m_term_data = 0;
|
||||
return ret;
|
||||
}
|
||||
@ -436,17 +436,6 @@ static SLOT_INTERFACE_START( bigbord2_floppies )
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
||||
/* Video */
|
||||
|
||||
void bigbord2_state::video_start()
|
||||
{
|
||||
/* find memory regions */
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_p_videoram = memregion("maincpu")->base()+0x6000;
|
||||
m_p_attribram = memregion("maincpu")->base()+0x7000;
|
||||
}
|
||||
|
||||
|
||||
/* Machine Initialization */
|
||||
|
||||
void bigbord2_state::machine_start()
|
||||
@ -458,7 +447,7 @@ void bigbord2_state::machine_start()
|
||||
|
||||
void bigbord2_state::machine_reset()
|
||||
{
|
||||
uint8_t i;
|
||||
u8 i;
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
m_c8[i] = 0;
|
||||
@ -475,10 +464,9 @@ DRIVER_INIT_MEMBER(bigbord2_state,bigbord2)
|
||||
{
|
||||
m_mem = &m_maincpu->space(AS_PROGRAM);
|
||||
m_io = &m_maincpu->space(AS_IO);
|
||||
uint8_t *RAM = memregion("maincpu")->base();
|
||||
m_bankr->configure_entries(0, 2, &RAM[0x0000], 0x10000);
|
||||
m_bankv->configure_entries(0, 2, &RAM[0x6000], 0x10000);
|
||||
m_banka->configure_entries(0, 2, &RAM[0x7000], 0x10000);
|
||||
m_bankr->configure_entries(0, 2, &m_p_ram[0x0000], 0x10000);
|
||||
m_bankv->configure_entries(0, 2, &m_p_ram[0x6000], 0x10000);
|
||||
m_banka->configure_entries(0, 2, &m_p_ram[0x7000], 0x10000);
|
||||
}
|
||||
|
||||
|
||||
@ -502,9 +490,9 @@ static GFXDECODE_START( crt8002 )
|
||||
GFXDECODE_ENTRY( "chargen", 0x0000, crt8002_charlayout, 0, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
uint8_t bigbord2_state::crt8002(uint8_t ac_ra, uint8_t ac_chr, uint8_t ac_attr, uint16_t ac_cnt, bool ac_curs)
|
||||
u8 bigbord2_state::crt8002(u8 ac_ra, u8 ac_chr, u8 ac_attr, uint16_t ac_cnt, bool ac_curs)
|
||||
{
|
||||
uint8_t gfx = 0;
|
||||
u8 gfx = 0;
|
||||
switch (ac_attr & 3)
|
||||
{
|
||||
case 0: // lores gfx
|
||||
@ -558,7 +546,7 @@ uint8_t bigbord2_state::crt8002(uint8_t ac_ra, uint8_t ac_chr, uint8_t ac_attr,
|
||||
MC6845_UPDATE_ROW( bigbord2_state::crtc_update_row )
|
||||
{
|
||||
const rgb_t *palette = m_palette->palette()->entry_list_raw();
|
||||
uint8_t chr,gfx,attr;
|
||||
u8 chr,gfx,attr;
|
||||
uint16_t mem,x;
|
||||
uint32_t *p = &bitmap.pix32(y);
|
||||
ra &= 15;
|
||||
@ -567,8 +555,8 @@ MC6845_UPDATE_ROW( bigbord2_state::crtc_update_row )
|
||||
for (x = 0; x < x_count; x++)
|
||||
{
|
||||
mem = (ma + x) & 0x7ff;
|
||||
attr = m_p_attribram[mem];
|
||||
chr = m_p_videoram[mem];
|
||||
attr = m_p_ram[mem + 0x7000];
|
||||
chr = m_p_ram[mem + 0x6000];
|
||||
|
||||
/* process attributes */
|
||||
gfx = crt8002(ra, chr, attr, m_cnt, (x==cursor_x));
|
||||
|
@ -61,28 +61,31 @@ class binbug_state : public driver_device
|
||||
{
|
||||
public:
|
||||
binbug_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_rs232(*this, "keyboard"),
|
||||
m_cass(*this, "cassette"),
|
||||
m_p_videoram(*this, "videoram"),
|
||||
m_p_attribram(*this, "attribram"),
|
||||
m_maincpu(*this, "maincpu")
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_cass(*this, "cassette")
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_p_attribram(*this, "attribram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_rs232(*this, "keyboard")
|
||||
{
|
||||
}
|
||||
|
||||
DECLARE_WRITE8_MEMBER(binbug_ctrl_w);
|
||||
DECLARE_READ8_MEMBER(binbug_serial_r);
|
||||
DECLARE_WRITE_LINE_MEMBER(binbug_serial_w);
|
||||
const uint8_t *m_p_chargen;
|
||||
uint8_t m_framecnt;
|
||||
virtual void video_start() override;
|
||||
DECLARE_QUICKLOAD_LOAD_MEMBER( binbug );
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
optional_device<rs232_port_device> m_rs232;
|
||||
// needed by dg680 class
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
|
||||
private:
|
||||
uint8_t m_framecnt;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_shared_ptr<uint8_t> m_p_attribram;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
DECLARE_QUICKLOAD_LOAD_MEMBER( binbug );
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
optional_device<rs232_port_device> m_rs232;
|
||||
};
|
||||
|
||||
WRITE8_MEMBER( binbug_state::binbug_ctrl_w )
|
||||
@ -117,11 +120,6 @@ ADDRESS_MAP_END
|
||||
static INPUT_PORTS_START( binbug )
|
||||
INPUT_PORTS_END
|
||||
|
||||
void binbug_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
uint32_t binbug_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
// attributes bit 0 = flash, bit 1 = lores. Also bit 7 of the character = reverse-video (text only).
|
||||
@ -408,11 +406,10 @@ class dg680_state : public binbug_state
|
||||
{
|
||||
public:
|
||||
dg680_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: binbug_state(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_ctc(*this, "z80ctc"),
|
||||
m_pio(*this, "z80pio")
|
||||
{ }
|
||||
: binbug_state(mconfig, type, tag)
|
||||
, m_ctc(*this, "z80ctc")
|
||||
, m_pio(*this, "z80pio")
|
||||
{ }
|
||||
|
||||
DECLARE_READ8_MEMBER(porta_r);
|
||||
DECLARE_READ8_MEMBER(portb_r);
|
||||
@ -422,11 +419,12 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(kbd_put);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(time_tick);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(uart_tick);
|
||||
|
||||
private:
|
||||
uint8_t m_pio_b;
|
||||
uint8_t m_term_data;
|
||||
uint8_t m_protection[0x100];
|
||||
virtual void machine_reset() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<z80ctc_device> m_ctc;
|
||||
required_device<z80pio_device> m_pio;
|
||||
};
|
||||
|
@ -25,16 +25,14 @@ class bmjr_state : public driver_device
|
||||
{
|
||||
public:
|
||||
bmjr_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_cass(*this, "cassette"),
|
||||
m_beep(*this, "beeper")
|
||||
,
|
||||
m_p_wram(*this, "p_wram"){ }
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_cass(*this, "cassette")
|
||||
, m_beep(*this, "beeper")
|
||||
, m_p_wram(*this, "wram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
required_device<beep_device> m_beep;
|
||||
DECLARE_READ8_MEMBER(key_r);
|
||||
DECLARE_WRITE8_MEMBER(key_w);
|
||||
DECLARE_READ8_MEMBER(ff_r);
|
||||
@ -44,36 +42,35 @@ public:
|
||||
DECLARE_READ8_MEMBER(tape_stop_r);
|
||||
DECLARE_READ8_MEMBER(tape_start_r);
|
||||
DECLARE_WRITE8_MEMBER(xor_display_w);
|
||||
bool m_tape_switch;
|
||||
required_shared_ptr<uint8_t> m_p_wram;
|
||||
uint8_t *m_p_chargen;
|
||||
uint8_t m_xor_display;
|
||||
uint8_t m_key_mux;
|
||||
DECLARE_DRIVER_INIT(bmjr);
|
||||
u32 screen_update_bmjr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
private:
|
||||
bool m_tape_switch;
|
||||
u8 m_xor_display;
|
||||
u8 m_key_mux;
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update_bmjr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
required_device<beep_device> m_beep;
|
||||
required_shared_ptr<u8> m_p_wram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
};
|
||||
|
||||
|
||||
|
||||
void bmjr_state::video_start()
|
||||
u32 bmjr_state::screen_update_bmjr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
uint32_t bmjr_state::screen_update_bmjr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t y,ra,chr,gfx,fg=4;
|
||||
uint16_t sy=0,ma=0x100,x;
|
||||
uint8_t inv = (m_xor_display) ? 0xff : 0;
|
||||
u8 y,ra,chr,gfx,fg=4;
|
||||
u16 sy=0,ma=0x100,x;
|
||||
u8 inv = (m_xor_display) ? 0xff : 0;
|
||||
|
||||
for(y = 0; y < 24; y++ )
|
||||
{
|
||||
for (ra = 0; ra < 8; ra++)
|
||||
{
|
||||
uint16_t *p = &bitmap.pix16(sy++);
|
||||
u16 *p = &bitmap.pix16(sy++);
|
||||
|
||||
for (x = ma; x < ma + 32; x++)
|
||||
{
|
||||
@ -168,7 +165,7 @@ static ADDRESS_MAP_START(bmjr_mem, AS_PROGRAM, 8, bmjr_state)
|
||||
//0x0100, 0x03ff basic vram
|
||||
//0x0900, 0x20ff vram, modes 0x40 / 0xc0
|
||||
//0x2100, 0x38ff vram, modes 0x44 / 0xcc
|
||||
AM_RANGE(0x0000, 0xafff) AM_RAM AM_SHARE("p_wram")
|
||||
AM_RANGE(0x0000, 0xafff) AM_RAM AM_SHARE("wram")
|
||||
AM_RANGE(0xb000, 0xdfff) AM_ROM
|
||||
AM_RANGE(0xe000, 0xe7ff) AM_ROM
|
||||
// AM_RANGE(0xe890, 0xe890) W MP-1710 tile color
|
||||
|
@ -66,16 +66,18 @@
|
||||
class bml3_state : public driver_device
|
||||
{
|
||||
public:
|
||||
bml3_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_bml3bus(*this, "bml3bus"),
|
||||
m_crtc(*this, "crtc"),
|
||||
m_cass(*this, "cassette"),
|
||||
m_speaker(*this, "speaker"),
|
||||
m_ym2203(*this, "ym2203"),
|
||||
m_acia6850(*this, "acia6850"),
|
||||
m_palette(*this, "palette")
|
||||
bml3_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_videoram(*this, "vram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_bml3bus(*this, "bml3bus")
|
||||
, m_crtc(*this, "crtc")
|
||||
, m_cass(*this, "cassette")
|
||||
, m_speaker(*this, "speaker")
|
||||
, m_ym2203(*this, "ym2203")
|
||||
, m_acia6850(*this, "acia6850")
|
||||
, m_palette(*this, "palette")
|
||||
{
|
||||
}
|
||||
|
||||
@ -114,10 +116,6 @@ public:
|
||||
|
||||
MC6845_UPDATE_ROW(crtc_update_row);
|
||||
|
||||
uint8_t *m_p_videoram;
|
||||
uint8_t *m_p_chargen;
|
||||
uint8_t m_hres_reg;
|
||||
uint8_t m_crtc_vreg[0x100];
|
||||
// INTERRUPT_GEN_MEMBER(bml3_irq);
|
||||
INTERRUPT_GEN_MEMBER(bml3_timer_firq);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(bml3_c);
|
||||
@ -127,35 +125,38 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(bml3_ym2203_w);
|
||||
|
||||
private:
|
||||
uint8_t m_psg_latch;
|
||||
uint8_t m_attr_latch;
|
||||
uint8_t m_vres_reg;
|
||||
u8 m_hres_reg;
|
||||
u8 m_crtc_vreg[0x100];
|
||||
u8 m_psg_latch;
|
||||
u8 m_attr_latch;
|
||||
u8 m_vres_reg;
|
||||
bool m_keyb_interrupt_disabled;
|
||||
bool m_keyb_nmi_disabled; // not used yet
|
||||
bool m_keyb_counter_operation_disabled;
|
||||
uint8_t m_keyb_empty_scan;
|
||||
uint8_t m_keyb_scancode;
|
||||
u8 m_keyb_empty_scan;
|
||||
u8 m_keyb_scancode;
|
||||
bool m_keyb_capslock_led_on;
|
||||
bool m_keyb_hiragana_led_on;
|
||||
bool m_keyb_katakana_led_on;
|
||||
bool m_cassbit;
|
||||
bool m_cassold;
|
||||
uint8_t m_cass_data[4];
|
||||
u8 m_cass_data[4];
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
void m6845_change_clock(uint8_t setting);
|
||||
uint8_t m_crtc_index;
|
||||
std::unique_ptr<uint8_t[]> m_extram;
|
||||
uint8_t m_firq_mask;
|
||||
uint8_t m_firq_status;
|
||||
void m6845_change_clock(u8 setting);
|
||||
u8 m_crtc_index;
|
||||
std::unique_ptr<u8[]> m_extram;
|
||||
u8 m_firq_mask;
|
||||
u8 m_firq_status;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<bml3bus_device> m_bml3bus;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
optional_device<ym2203_device> m_ym2203;
|
||||
required_device<acia6850_device> m_acia6850;
|
||||
public:
|
||||
required_device<palette_device> m_palette;
|
||||
};
|
||||
|
||||
@ -202,7 +203,7 @@ WRITE8_MEMBER( bml3_state::bml3_6845_w )
|
||||
|
||||
READ8_MEMBER( bml3_state::bml3_keyboard_r )
|
||||
{
|
||||
uint8_t ret = m_keyb_scancode;
|
||||
u8 ret = m_keyb_scancode;
|
||||
m_keyb_scancode &= 0x7f;
|
||||
return ret;
|
||||
}
|
||||
@ -217,7 +218,7 @@ WRITE8_MEMBER( bml3_state::bml3_keyboard_w )
|
||||
m_keyb_nmi_disabled = !BIT(data, 7);
|
||||
}
|
||||
|
||||
void bml3_state::m6845_change_clock(uint8_t setting)
|
||||
void bml3_state::m6845_change_clock(u8 setting)
|
||||
{
|
||||
int m6845_clock = CPU_CLOCK; // CRTC and MPU are synchronous by default
|
||||
|
||||
@ -289,14 +290,14 @@ WRITE8_MEMBER( bml3_state::bml3_psg_latch_w)
|
||||
|
||||
READ8_MEMBER(bml3_state::bml3_ym2203_r)
|
||||
{
|
||||
uint8_t dev_offs = ((m_psg_latch & 3) != 3);
|
||||
u8 dev_offs = ((m_psg_latch & 3) != 3);
|
||||
|
||||
return m_ym2203->read(space, dev_offs);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(bml3_state::bml3_ym2203_w)
|
||||
{
|
||||
uint8_t dev_offs = ((m_psg_latch & 3) != 3);
|
||||
u8 dev_offs = ((m_psg_latch & 3) != 3);
|
||||
|
||||
m_ym2203->write(space, dev_offs, data);
|
||||
}
|
||||
@ -366,7 +367,7 @@ WRITE8_MEMBER( bml3_state::bml3_firq_mask_w)
|
||||
|
||||
READ8_MEMBER( bml3_state::bml3_firq_status_r )
|
||||
{
|
||||
uint8_t res = m_firq_status << 7;
|
||||
u8 res = m_firq_status << 7;
|
||||
m_firq_status = 0;
|
||||
m_maincpu->set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
|
||||
return res;
|
||||
@ -601,9 +602,9 @@ MC6845_UPDATE_ROW( bml3_state::crtc_update_row )
|
||||
// 3: reverse/inverse video
|
||||
// 4: graphic (not character)
|
||||
|
||||
uint8_t x=0,hf=0,xi=0,interlace=0,bgcolor=0,rawbits=0,dots[2],color=0,pen=0;
|
||||
u8 x=0,hf=0,xi=0,interlace=0,bgcolor=0,rawbits=0,dots[2],color=0,pen=0;
|
||||
bool reverse=0,graphic=0,lowres=0;
|
||||
uint16_t mem=0;
|
||||
u16 mem=0;
|
||||
|
||||
interlace = (m_crtc_vreg[8] & 3) ? 1 : 0;
|
||||
lowres = BIT(m_hres_reg, 6);
|
||||
@ -684,7 +685,8 @@ MC6845_UPDATE_ROW( bml3_state::crtc_update_row )
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(bml3_state::keyboard_callback)
|
||||
{
|
||||
static const char *const portnames[3] = { "key1","key2","key3" };
|
||||
int i,port_i,trigger = 0;
|
||||
int i,port_i;
|
||||
bool trigger = false;
|
||||
|
||||
if(!(m_keyb_scancode & 0x80))
|
||||
{
|
||||
@ -699,7 +701,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(bml3_state::keyboard_callback)
|
||||
if (m_keyb_empty_scan == 1)
|
||||
{
|
||||
// full scan completed with no keypress
|
||||
trigger = !0;
|
||||
trigger = true;
|
||||
}
|
||||
if (m_keyb_empty_scan > 0)
|
||||
m_keyb_empty_scan--;
|
||||
@ -711,7 +713,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(bml3_state::keyboard_callback)
|
||||
if((ioport(portnames[port_i])->read()>>i) & 1)
|
||||
{
|
||||
m_keyb_empty_scan = 2;
|
||||
trigger = !0;
|
||||
trigger = true;
|
||||
}
|
||||
}
|
||||
if (trigger)
|
||||
@ -733,7 +735,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( bml3_state::bml3_p )
|
||||
{
|
||||
/* cassette - turn 1200/2400Hz to a bit */
|
||||
m_cass_data[1]++;
|
||||
uint8_t cass_ws = (m_cass->input() > +0.03) ? 1 : 0;
|
||||
u8 cass_ws = (m_cass->input() > +0.03) ? 1 : 0;
|
||||
|
||||
if (cass_ws != m_cass_data[0])
|
||||
{
|
||||
@ -762,9 +764,7 @@ INTERRUPT_GEN_MEMBER(bml3_state::bml3_timer_firq)
|
||||
|
||||
void bml3_state::machine_start()
|
||||
{
|
||||
m_extram = std::make_unique<uint8_t[]>(0x10000);
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_p_videoram = memregion("vram")->base();
|
||||
m_extram = std::make_unique<u8[]>(0x10000);
|
||||
m_psg_latch = 0;
|
||||
m_attr_latch = 0;
|
||||
m_vres_reg = 0;
|
||||
|
@ -33,14 +33,12 @@ public:
|
||||
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
DECLARE_DRIVER_INIT(c10);
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
|
||||
protected:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
};
|
||||
|
||||
@ -82,10 +80,6 @@ void c10_state::machine_reset()
|
||||
timer_set(attotime::from_usec(4), TIMER_RESET);
|
||||
}
|
||||
|
||||
void c10_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
/* This system appears to have inline attribute bytes of unknown meaning.
|
||||
Currently they are ignored. The word at FAB5 looks like it might be cursor location. */
|
||||
uint32_t c10_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
|
@ -40,11 +40,12 @@ class cd2650_state : public driver_device
|
||||
{
|
||||
public:
|
||||
cd2650_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_p_videoram(*this, "videoram"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_beep(*this, "beeper"),
|
||||
m_cass(*this, "cassette")
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_beep(*this, "beeper")
|
||||
, m_cass(*this, "cassette")
|
||||
{
|
||||
}
|
||||
|
||||
@ -54,15 +55,14 @@ public:
|
||||
DECLARE_READ8_MEMBER(cass_r);
|
||||
DECLARE_WRITE_LINE_MEMBER(cass_w);
|
||||
DECLARE_QUICKLOAD_LOAD_MEMBER(cd2650);
|
||||
const uint8_t *m_p_chargen;
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
|
||||
private:
|
||||
uint8_t m_term_data;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<beep_device> m_beep;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
};
|
||||
@ -115,11 +115,6 @@ void cd2650_state::machine_reset()
|
||||
m_beep->set_state(0);
|
||||
}
|
||||
|
||||
void cd2650_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
uint32_t cd2650_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
/* The video is unusual in that the characters in each line are spaced at 16 bytes in memory,
|
||||
|
@ -45,12 +45,14 @@ class dim68k_state : public driver_device
|
||||
{
|
||||
public:
|
||||
dim68k_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_crtc(*this, "crtc"),
|
||||
m_speaker(*this, "speaker"),
|
||||
m_ram(*this, "ram"),
|
||||
m_palette(*this, "palette") { }
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_crtc(*this, "crtc")
|
||||
, m_speaker(*this, "speaker")
|
||||
, m_ram(*this, "ram")
|
||||
, m_palette(*this, "palette")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
{ }
|
||||
|
||||
DECLARE_READ16_MEMBER( dim68k_duart_r );
|
||||
DECLARE_READ16_MEMBER( dim68k_fdc_r );
|
||||
@ -67,17 +69,18 @@ public:
|
||||
DECLARE_WRITE16_MEMBER( dim68k_video_reset_w );
|
||||
DECLARE_WRITE8_MEMBER(kbd_put);
|
||||
MC6845_UPDATE_ROW(crtc_update_row);
|
||||
const uint8_t *m_p_chargen;
|
||||
|
||||
private:
|
||||
bool m_speaker_bit;
|
||||
uint8_t m_video_control;
|
||||
uint8_t m_term_data;
|
||||
u8 m_video_control;
|
||||
u8 m_term_data;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_shared_ptr<uint16_t> m_ram;
|
||||
required_device<palette_device> m_palette;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
};
|
||||
|
||||
READ16_MEMBER( dim68k_state::dim68k_duart_r )
|
||||
@ -212,27 +215,22 @@ INPUT_PORTS_END
|
||||
|
||||
void dim68k_state::machine_reset()
|
||||
{
|
||||
uint8_t* ROM = memregion("bootrom")->base();
|
||||
u8* ROM = memregion("bootrom")->base();
|
||||
|
||||
memcpy((uint8_t*)m_ram.target(), ROM, 0x2000);
|
||||
memcpy((u8*)m_ram.target(), ROM, 0x2000);
|
||||
|
||||
m_maincpu->reset();
|
||||
}
|
||||
|
||||
void dim68k_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
// Text-only; graphics isn't emulated yet. Need to find out if hardware cursor is used.
|
||||
MC6845_UPDATE_ROW( dim68k_state::crtc_update_row )
|
||||
{
|
||||
const rgb_t *palette = m_palette->palette()->entry_list_raw();
|
||||
uint8_t chr,gfx,x,xx,inv;
|
||||
u8 chr,gfx,x,xx,inv;
|
||||
uint16_t chr16=0x2020; // set to spaces if screen is off
|
||||
uint32_t *p = &bitmap.pix32(y);
|
||||
uint8_t screen_on = ~m_video_control & 4;
|
||||
uint8_t dot8 = ~m_video_control & 40;
|
||||
u8 screen_on = ~m_video_control & 4;
|
||||
u8 dot8 = ~m_video_control & 40;
|
||||
|
||||
// need to divide everything in half to cater for 16-bit reads
|
||||
x_count /= 2;
|
||||
|
@ -98,21 +98,19 @@ ksm|DVK KSM,
|
||||
class ksm_state : public driver_device
|
||||
{
|
||||
public:
|
||||
ksm_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_p_videoram(*this, "videoram"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_pic8259(*this, "pic8259"),
|
||||
m_i8251line(*this, "i8251line"),
|
||||
m_rs232(*this, "rs232"),
|
||||
m_i8251kbd(*this, "i8251kbd"),
|
||||
m_ms7004(*this, "ms7004"),
|
||||
m_screen(*this, "screen")
|
||||
{ }
|
||||
ksm_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_pic8259(*this, "pic8259")
|
||||
, m_i8251line(*this, "i8251line")
|
||||
, m_rs232(*this, "rs232")
|
||||
, m_i8251kbd(*this, "i8251kbd")
|
||||
, m_ms7004(*this, "ms7004")
|
||||
, m_screen(*this, "screen")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
{ }
|
||||
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER( scanline_callback );
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(write_keyboard_clock);
|
||||
@ -120,19 +118,20 @@ public:
|
||||
|
||||
DECLARE_WRITE8_MEMBER(ksm_ppi_porta_w);
|
||||
DECLARE_WRITE8_MEMBER(ksm_ppi_portc_w);
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
private:
|
||||
uint32_t draw_scanline(uint16_t *p, uint16_t offset, uint8_t scanline);
|
||||
rectangle m_tmpclip;
|
||||
bitmap_ind16 m_tmpbmp;
|
||||
|
||||
const uint8_t *m_p_chargen;
|
||||
struct {
|
||||
uint8_t line;
|
||||
uint16_t ptr;
|
||||
} m_video;
|
||||
|
||||
protected:
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<pic8259_device> m_pic8259;
|
||||
@ -141,6 +140,7 @@ protected:
|
||||
required_device<i8251_device> m_i8251kbd;
|
||||
required_device<ms7004_device> m_ms7004;
|
||||
required_device<screen_device> m_screen;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
};
|
||||
|
||||
static ADDRESS_MAP_START( ksm_mem, AS_PROGRAM, 8, ksm_state )
|
||||
@ -209,8 +209,6 @@ void ksm_state::machine_reset()
|
||||
|
||||
void ksm_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
|
||||
m_tmpclip = rectangle(0, KSM_DISP_HORZ-1, 0, KSM_DISP_VERT-1);
|
||||
m_tmpbmp.allocate(KSM_DISP_HORZ, KSM_DISP_VERT);
|
||||
}
|
||||
|
@ -30,23 +30,25 @@ class ec65_state : public driver_device
|
||||
{
|
||||
public:
|
||||
ec65_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_via_0(*this, VIA6522_0_TAG),
|
||||
m_via_1(*this, VIA6522_1_TAG),
|
||||
m_p_videoram(*this, "videoram"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_palette(*this, "palette")
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_via_0(*this, VIA6522_0_TAG)
|
||||
, m_via_1(*this, VIA6522_1_TAG)
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_palette(*this, "palette")
|
||||
{
|
||||
}
|
||||
|
||||
DECLARE_WRITE8_MEMBER(kbd_put);
|
||||
MC6845_UPDATE_ROW(crtc_update_row);
|
||||
uint8_t *m_p_chargen;
|
||||
|
||||
private:
|
||||
virtual void machine_reset() override;
|
||||
required_device<via6522_device> m_via_0;
|
||||
required_device<via6522_device> m_via_1;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<palette_device> m_palette;
|
||||
};
|
||||
@ -116,11 +118,6 @@ void ec65_state::machine_reset()
|
||||
m_via_1->write_pb7(1);
|
||||
}
|
||||
|
||||
void ec65_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
MC6845_UPDATE_ROW( ec65_state::crtc_update_row )
|
||||
{
|
||||
const rgb_t *palette = m_palette->palette()->entry_list_raw();
|
||||
|
@ -54,6 +54,7 @@ public:
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_palette(*this, "palette")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_cass(*this, "cassette")
|
||||
, m_crtc(*this, "crtc")
|
||||
, m_io_keyboard(*this, "KEY.%u", 0)
|
||||
@ -90,7 +91,6 @@ public:
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
private:
|
||||
const uint8_t *m_p_chargen;
|
||||
uint8_t *m_p_videoram;
|
||||
uint8_t *m_p_hiresram;
|
||||
uint8_t m_sys_status;
|
||||
@ -100,6 +100,7 @@ private:
|
||||
bool m_motor;
|
||||
bool m_centronics_busy;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_ioport_array<8> m_io_keyboard;
|
||||
@ -447,7 +448,6 @@ PALETTE_INIT_MEMBER( excali64_state, excali64 )
|
||||
{
|
||||
// do this here because driver_init hasn't run yet
|
||||
m_p_videoram = memregion("videoram")->base();
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_p_hiresram = m_p_videoram + 0x2000;
|
||||
uint8_t *main = memregion("roms")->base();
|
||||
uint8_t *ram = memregion("rambank")->base();
|
||||
|
@ -54,6 +54,7 @@ public:
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_vdg(*this, "vdg")
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_cass(*this, "cassette")
|
||||
, m_cart(*this, "cartslot")
|
||||
, m_uart(*this, "uart")
|
||||
@ -75,8 +76,6 @@ public:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(timer_p);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(timer_k);
|
||||
|
||||
uint8_t *m_p_chargen;
|
||||
|
||||
MC6847_GET_CHARROM_MEMBER(get_char_rom)
|
||||
{
|
||||
return m_p_chargen[(ch * 16 + line) & 0xfff];
|
||||
@ -103,6 +102,7 @@ private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<mc6847_base_device> m_vdg;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
required_device<generic_slot_device> m_cart;
|
||||
required_device<i8251_device> m_uart;
|
||||
@ -479,7 +479,6 @@ void fc100_state::machine_start()
|
||||
|
||||
void fc100_state::machine_reset()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_cass_data[0] = m_cass_data[1] = m_cass_data[2] = m_cass_data[3] = 0;
|
||||
m_cass_state = 0;
|
||||
m_cassold = 0;
|
||||
|
@ -106,7 +106,6 @@ private:
|
||||
uint8_t m_term_data;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
@ -346,10 +345,6 @@ void h19_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
void h19_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
MC6845_UPDATE_ROW( h19_state::crtc_update_row )
|
||||
{
|
||||
const rgb_t *palette = m_palette->palette()->entry_list_raw();
|
||||
|
@ -47,11 +47,12 @@ class homelab_state : public driver_device
|
||||
{
|
||||
public:
|
||||
homelab_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_dac(*this, "dac"),
|
||||
m_cass(*this, "cassette")
|
||||
{ }
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_dac(*this, "dac")
|
||||
, m_cass(*this, "cassette")
|
||||
{ }
|
||||
|
||||
DECLARE_READ8_MEMBER(key_r);
|
||||
DECLARE_WRITE8_MEMBER(cass_w);
|
||||
@ -62,22 +63,24 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(brailab4_port7f_w);
|
||||
DECLARE_WRITE8_MEMBER(brailab4_portff_w);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(cass3_r);
|
||||
const uint8_t *m_p_chargen;
|
||||
const uint8_t *m_p_videoram;
|
||||
bool m_nmi;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<dac_bit_interface> m_dac;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
DECLARE_DRIVER_INIT(brailab4);
|
||||
DECLARE_VIDEO_START(homelab2);
|
||||
DECLARE_MACHINE_RESET(homelab3);
|
||||
DECLARE_VIDEO_START(homelab3);
|
||||
DECLARE_MACHINE_RESET(brailab4);
|
||||
DECLARE_VIDEO_START(brailab4);
|
||||
uint32_t screen_update_homelab2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
uint32_t screen_update_homelab3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(homelab_frame);
|
||||
DECLARE_QUICKLOAD_LOAD_MEMBER(homelab);
|
||||
uint32_t screen_update_homelab2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
uint32_t screen_update_homelab3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
private:
|
||||
const uint8_t *m_p_videoram;
|
||||
bool m_nmi;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<dac_bit_interface> m_dac;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
};
|
||||
|
||||
INTERRUPT_GEN_MEMBER(homelab_state::homelab_frame)
|
||||
@ -545,19 +548,16 @@ INPUT_PORTS_END
|
||||
|
||||
VIDEO_START_MEMBER(homelab_state,homelab2)
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_p_videoram = memregion("maincpu")->base()+0xc000;
|
||||
}
|
||||
|
||||
VIDEO_START_MEMBER(homelab_state,homelab3)
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_p_videoram = memregion("maincpu")->base()+0xf800;
|
||||
}
|
||||
|
||||
VIDEO_START_MEMBER(homelab_state,brailab4)
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_p_videoram = memregion("maincpu")->base()+0x17800;
|
||||
}
|
||||
|
||||
|
@ -34,15 +34,16 @@ public:
|
||||
, m_p_chargen(*this, "chargen")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
DECLARE_READ8_MEMBER( homez80_keyboard_r );
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
INTERRUPT_GEN_MEMBER(homez80_interrupt);
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
private:
|
||||
bool m_irq;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(homez80_interrupt);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
};
|
||||
|
||||
|
||||
@ -219,10 +220,6 @@ void homez80_state::machine_reset()
|
||||
m_irq = 0;
|
||||
}
|
||||
|
||||
void homez80_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
uint32_t homez80_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t y,ra,chr,gfx;
|
||||
|
@ -46,14 +46,16 @@ public:
|
||||
ibm3153_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
{ }
|
||||
, m_p_chargen(*this, "chargen")
|
||||
{ }
|
||||
|
||||
const uint8_t *m_p_chargen;
|
||||
DECLARE_PALETTE_INIT(ibm3153);
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
private:
|
||||
virtual void machine_reset() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
};
|
||||
|
||||
|
||||
@ -87,7 +89,6 @@ PALETTE_INIT_MEMBER( ibm3153_state, ibm3153 )
|
||||
|
||||
void ibm3153_state::machine_reset()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( ibm3153, ibm3153_state )
|
||||
|
@ -52,29 +52,20 @@ class ie15_state : public driver_device,
|
||||
public device_serial_interface
|
||||
{
|
||||
public:
|
||||
ie15_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
device_serial_interface(mconfig, *this),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_beeper(*this, "beeper"),
|
||||
m_rs232(*this, "rs232"),
|
||||
m_screen(*this, "screen"),
|
||||
m_io_keyboard(*this, "keyboard")
|
||||
ie15_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, device_serial_interface(mconfig, *this)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_videoram(*this, "video")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_beeper(*this, "beeper")
|
||||
, m_rs232(*this, "rs232")
|
||||
, m_screen(*this, "screen")
|
||||
, m_io_keyboard(*this, "keyboard")
|
||||
{ }
|
||||
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
DECLARE_WRITE16_MEMBER( kbd_put );
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( serial_rx_callback );
|
||||
virtual void rcv_complete() override;
|
||||
virtual void tra_callback() override;
|
||||
virtual void tra_complete() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
|
||||
DECLARE_WRITE8_MEMBER( mem_w );
|
||||
DECLARE_READ8_MEMBER( mem_r );
|
||||
DECLARE_WRITE8_MEMBER( mem_addr_lo_w );
|
||||
@ -97,22 +88,19 @@ public:
|
||||
DECLARE_READ8_MEMBER( serial_rx_ready_r );
|
||||
DECLARE_READ8_MEMBER( serial_r );
|
||||
DECLARE_WRITE8_MEMBER( serial_speed_w );
|
||||
|
||||
DECLARE_PALETTE_INIT( ie15 );
|
||||
|
||||
static const device_timer_id TIMER_HBLANK = 0;
|
||||
|
||||
void scanline_callback();
|
||||
private:
|
||||
TIMER_CALLBACK_MEMBER(ie15_beepoff);
|
||||
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
private:
|
||||
static const device_timer_id TIMER_HBLANK = 0;
|
||||
void scanline_callback();
|
||||
void update_leds();
|
||||
void draw_scanline(uint32_t *p, uint16_t offset, uint8_t scanline);
|
||||
std::unique_ptr<uint32_t[]> m_tmpbmp;
|
||||
|
||||
emu_timer *m_hblank_timer;
|
||||
|
||||
const uint8_t *m_p_chargen;
|
||||
uint8_t *m_p_videoram;
|
||||
uint8_t m_long_beep;
|
||||
uint8_t m_kb_control;
|
||||
uint8_t m_kb_data;
|
||||
@ -135,8 +123,17 @@ private:
|
||||
int m_vpos;
|
||||
int m_marker_scanline;
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
virtual void rcv_complete() override;
|
||||
virtual void tra_callback() override;
|
||||
virtual void tra_complete() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<beep_device> m_beeper;
|
||||
required_device<rs232_port_device> m_rs232;
|
||||
required_device<screen_device> m_screen;
|
||||
@ -489,8 +486,6 @@ void ie15_state::machine_reset()
|
||||
|
||||
void ie15_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_p_videoram = memregion("video")->base();
|
||||
m_video.ptr1 = m_video.ptr2 = m_latch = 0;
|
||||
|
||||
m_tmpbmp = std::make_unique<uint32_t[]>(IE15_TOTAL_HORZ * IE15_TOTAL_VERT);
|
||||
|
@ -28,16 +28,17 @@ public:
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
{ }
|
||||
, m_p_chargen(*this, "chargen")
|
||||
{ }
|
||||
|
||||
DECLARE_DRIVER_INIT(jonos);
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
|
||||
private:
|
||||
const uint8_t *m_p_chargen;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
};
|
||||
|
||||
|
||||
@ -60,11 +61,6 @@ void jonos_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
void jonos_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
uint32_t jonos_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t y,ra,chr,gfx;
|
||||
|
@ -71,7 +71,7 @@ ADDRESS_MAP_END
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( jupiter3_mem, AS_PROGRAM, 8, jupiter3_state )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_RAM AM_SHARE("p_ram")
|
||||
AM_RANGE(0x0000, 0xbfff) AM_RAM AM_SHARE("ram")
|
||||
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("videoram")
|
||||
AM_RANGE(0xe000, 0xefff) AM_ROM AM_REGION(Z80_TAG, 0)
|
||||
AM_RANGE(0xf000, 0xffff) AM_RAM
|
||||
@ -128,11 +128,6 @@ WRITE8_MEMBER( jupiter3_state::kbd_put )
|
||||
// VIDEO
|
||||
//**************************************************************************
|
||||
|
||||
void jupiter3_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
uint32_t jupiter3_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t y,ra,chr,gfx;
|
||||
|
@ -36,7 +36,6 @@ private:
|
||||
uint8_t m_framecnt;
|
||||
uint8_t m_term_data;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
@ -94,10 +93,6 @@ DRIVER_INIT_MEMBER(k8915_state,k8915)
|
||||
membank("boot")->configure_entries(0, 2, &RAM[0x0000], 0x10000);
|
||||
}
|
||||
|
||||
void k8915_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
uint32_t k8915_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t y,ra,chr,gfx;
|
||||
|
@ -17,18 +17,21 @@ class m79152pc_state : public driver_device
|
||||
{
|
||||
public:
|
||||
m79152pc_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_p_videoram(*this, "videoram"),
|
||||
m_p_attributes(*this, "attributes"),
|
||||
m_maincpu(*this, "maincpu") { }
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_p_attributes(*this, "attributes")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
{ }
|
||||
|
||||
uint8_t *m_p_chargen;
|
||||
uint32_t screen_update_m79152pc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
private:
|
||||
virtual void machine_reset() override;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_shared_ptr<uint8_t> m_p_attributes;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update_m79152pc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
};
|
||||
|
||||
static ADDRESS_MAP_START(m79152pc_mem, AS_PROGRAM, 8, m79152pc_state)
|
||||
@ -53,11 +56,6 @@ void m79152pc_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
void m79152pc_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base()+4;
|
||||
}
|
||||
|
||||
uint32_t m79152pc_state::screen_update_m79152pc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
// Attributes are unknown so are not implemented
|
||||
@ -74,7 +72,7 @@ uint32_t m79152pc_state::screen_update_m79152pc(screen_device &screen, bitmap_in
|
||||
{
|
||||
chr = m_p_videoram[x];
|
||||
//attr = m_p_attributes[x];
|
||||
gfx = m_p_chargen[(chr<<4) | ra ];
|
||||
gfx = m_p_chargen[((chr<<4) | ra) + 4 ];
|
||||
|
||||
/* Display a scanline of a character */
|
||||
*p++ = BIT(gfx, 7);
|
||||
|
@ -26,7 +26,6 @@ public:
|
||||
|
||||
private:
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
@ -53,10 +52,6 @@ void mes_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
void mes_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
/* This system appears to have 2 screens. Not implemented.
|
||||
Also the screen dimensions are a guess. */
|
||||
uint32_t mes_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
|
@ -26,17 +26,14 @@ class multi8_state : public driver_device
|
||||
{
|
||||
public:
|
||||
multi8_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_ppi(*this, "ppi8255_0"),
|
||||
m_crtc(*this, "crtc"),
|
||||
m_beeper(*this, "beeper")
|
||||
{ }
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_ppi(*this, "ppi8255_0")
|
||||
, m_crtc(*this, "crtc")
|
||||
, m_beeper(*this, "beeper")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<i8255_device> m_ppi;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_device<beep_device> m_beeper;
|
||||
DECLARE_WRITE8_MEMBER(multi8_6845_w);
|
||||
DECLARE_READ8_MEMBER(key_input_r);
|
||||
DECLARE_READ8_MEMBER(key_status_r);
|
||||
@ -50,10 +47,15 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(portb_w);
|
||||
DECLARE_WRITE8_MEMBER(portc_w);
|
||||
DECLARE_WRITE8_MEMBER(ym2203_porta_w);
|
||||
DECLARE_READ8_MEMBER(ay8912_0_r);
|
||||
DECLARE_READ8_MEMBER(ay8912_1_r);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(keyboard_callback);
|
||||
uint32_t screen_update_multi8(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
private:
|
||||
uint8_t *m_p_vram;
|
||||
uint8_t *m_p_wram;
|
||||
uint8_t *m_p_kanji;
|
||||
uint8_t *m_p_chargen;
|
||||
uint8_t m_mcu_init;
|
||||
uint8_t m_keyb_press;
|
||||
uint8_t m_keyb_press_flag;
|
||||
@ -64,14 +66,15 @@ public:
|
||||
uint8_t m_pen_clut[8];
|
||||
uint8_t m_bw_mode;
|
||||
uint16_t m_knj_addr;
|
||||
DECLARE_READ8_MEMBER(ay8912_0_r);
|
||||
DECLARE_READ8_MEMBER(ay8912_1_r);
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update_multi8(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(keyboard_callback);
|
||||
void multi8_draw_pixel(bitmap_ind16 &bitmap,int y,int x,uint8_t pen,uint8_t width);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<i8255_device> m_ppi;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_device<beep_device> m_beeper;
|
||||
};
|
||||
|
||||
#define mc6845_h_char_total (m_crtc_vreg[0])
|
||||
@ -100,7 +103,6 @@ void multi8_state::video_start()
|
||||
|
||||
m_vram_bank = 8;
|
||||
m_bw_mode = 0;
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
void multi8_state::multi8_draw_pixel(bitmap_ind16 &bitmap,int y,int x,uint8_t pen,uint8_t width)
|
||||
|
@ -69,15 +69,16 @@ public:
|
||||
, m_ppi1(*this, "ppi8255_1")
|
||||
, m_ppi2(*this, "ppi8255_2")
|
||||
, m_cass(*this, "cassette")
|
||||
, m_wave(*this, WAVE_TAG)
|
||||
, m_crtc(*this, "crtc")
|
||||
, m_fdc(*this, "fdc")
|
||||
, m_floppy0(*this, "fdc:0")
|
||||
, m_floppy1(*this, "fdc:1")
|
||||
, m_audio(*this, "sn1")
|
||||
, m_rtc(*this, "rtc"),
|
||||
m_palette(*this, "palette")
|
||||
{ }
|
||||
, m_rtc(*this, "rtc")
|
||||
, m_palette(*this, "palette")
|
||||
, m_p_videoram(*this, "vram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
{ }
|
||||
|
||||
DECLARE_READ8_MEMBER(mycom_upper_r);
|
||||
DECLARE_WRITE8_MEMBER(mycom_upper_w);
|
||||
@ -94,10 +95,9 @@ public:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(mycom_kbd);
|
||||
DECLARE_WRITE8_MEMBER(mycom_rtc_w);
|
||||
MC6845_UPDATE_ROW(crtc_update_row);
|
||||
uint8_t *m_p_videoram;
|
||||
uint8_t *m_p_chargen;
|
||||
uint8_t m_0a;
|
||||
|
||||
private:
|
||||
uint8_t m_0a;
|
||||
uint16_t m_i_videoram;
|
||||
uint8_t m_keyb_press;
|
||||
uint8_t m_keyb_press_flag;
|
||||
@ -106,31 +106,24 @@ private:
|
||||
uint8_t *m_p_ram;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
virtual void video_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<i8255_device> m_ppi0;
|
||||
required_device<i8255_device> m_ppi1;
|
||||
required_device<i8255_device> m_ppi2;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
required_device<wave_device> m_wave;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_device<fd1771_t> m_fdc;
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
required_device<floppy_connector> m_floppy1;
|
||||
required_device<sn76489_device> m_audio;
|
||||
required_device<msm5832_device> m_rtc;
|
||||
public:
|
||||
required_device<palette_device> m_palette;
|
||||
required_region_ptr<u8> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
};
|
||||
|
||||
|
||||
|
||||
void mycom_state::video_start()
|
||||
{
|
||||
m_p_videoram = memregion("vram")->base();
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
MC6845_UPDATE_ROW( mycom_state::crtc_update_row )
|
||||
{
|
||||
const rgb_t *palette = m_palette->palette()->entry_list_raw();
|
||||
|
@ -23,26 +23,46 @@ class nanos_state : public driver_device
|
||||
{
|
||||
public:
|
||||
nanos_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_pio(*this, "z80pio"),
|
||||
m_pio_0(*this, "z80pio_0"),
|
||||
m_pio_1(*this, "z80pio_1"),
|
||||
m_sio_0(*this, "z80sio_0"),
|
||||
m_sio_1(*this, "z80sio_1"),
|
||||
m_ctc_0(*this, "z80ctc_0"),
|
||||
m_ctc_1(*this, "z80ctc_1"),
|
||||
m_fdc(*this, "upd765"),
|
||||
m_key_t(*this, "keyboard_timer"),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_region_maincpu(*this, "maincpu"),
|
||||
m_bank1(*this, "bank1"),
|
||||
m_bank2(*this, "bank2"),
|
||||
m_bank3(*this, "bank3"),
|
||||
m_lines(*this, {"LINE0", "LINE1", "LINE2", "LINE3", "LINE4", "LINE5", "LINE6"}),
|
||||
m_linec(*this, "LINEC")
|
||||
{ }
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_pio(*this, "z80pio")
|
||||
, m_pio_0(*this, "z80pio_0")
|
||||
, m_pio_1(*this, "z80pio_1")
|
||||
, m_sio_0(*this, "z80sio_0")
|
||||
, m_sio_1(*this, "z80sio_1")
|
||||
, m_ctc_0(*this, "z80ctc_0")
|
||||
, m_ctc_1(*this, "z80ctc_1")
|
||||
, m_fdc(*this, "upd765")
|
||||
, m_key_t(*this, "keyboard_timer")
|
||||
, m_ram(*this, RAM_TAG)
|
||||
, m_region_maincpu(*this, "maincpu")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_bank1(*this, "bank1")
|
||||
, m_bank2(*this, "bank2")
|
||||
, m_bank3(*this, "bank3")
|
||||
, m_lines(*this, {"LINE0", "LINE1", "LINE2", "LINE3", "LINE4", "LINE5", "LINE6"})
|
||||
, m_linec(*this, "LINEC")
|
||||
{ }
|
||||
|
||||
DECLARE_WRITE8_MEMBER( nanos_tc_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( ctc_z0_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( ctc_z1_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( ctc_z2_w );
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(keyboard_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(z80daisy_interrupt);
|
||||
DECLARE_READ8_MEMBER(nanos_port_a_r);
|
||||
DECLARE_READ8_MEMBER(nanos_port_b_r);
|
||||
DECLARE_WRITE8_MEMBER(nanos_port_b_w);
|
||||
DECLARE_FLOPPY_FORMATS( floppy_formats );
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
private:
|
||||
uint8_t m_key_command;
|
||||
uint8_t m_last_code;
|
||||
uint8_t m_key_pressed;
|
||||
uint8_t row_number(uint8_t code);
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<z80pio_device> m_pio;
|
||||
required_device<z80pio_device> m_pio_0;
|
||||
@ -54,33 +74,13 @@ public:
|
||||
required_device<upd765a_device> m_fdc;
|
||||
required_device<timer_device> m_key_t;
|
||||
required_device<ram_device> m_ram;
|
||||
const uint8_t *m_p_chargen;
|
||||
uint8_t m_key_command;
|
||||
uint8_t m_last_code;
|
||||
uint8_t m_key_pressed;
|
||||
DECLARE_WRITE8_MEMBER( nanos_tc_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( ctc_z0_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( ctc_z1_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( ctc_z2_w );
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(keyboard_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(z80daisy_interrupt);
|
||||
DECLARE_READ8_MEMBER(nanos_port_a_r);
|
||||
DECLARE_READ8_MEMBER(nanos_port_b_r);
|
||||
DECLARE_WRITE8_MEMBER(nanos_port_b_w);
|
||||
DECLARE_FLOPPY_FORMATS( floppy_formats );
|
||||
|
||||
protected:
|
||||
required_memory_region m_region_maincpu;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_memory_bank m_bank1;
|
||||
required_memory_bank m_bank2;
|
||||
required_memory_bank m_bank3;
|
||||
required_ioport_array<7> m_lines;
|
||||
required_ioport m_linec;
|
||||
uint8_t row_number(uint8_t code);
|
||||
};
|
||||
|
||||
|
||||
@ -241,11 +241,6 @@ static INPUT_PORTS_START( nanos )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
void nanos_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
uint32_t nanos_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
// static uint8_t framecnt=0;
|
||||
|
@ -21,20 +21,19 @@ class paso1600_state : public driver_device
|
||||
{
|
||||
public:
|
||||
paso1600_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_pic(*this, "pic8259"),
|
||||
m_dma(*this, "8237dma"),
|
||||
m_crtc(*this, "crtc"),
|
||||
m_p_vram(*this, "vram"),
|
||||
m_p_gvram(*this, "gvram"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_palette(*this, "palette") { }
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_pic(*this, "pic8259")
|
||||
, m_dma(*this, "8237dma")
|
||||
, m_crtc(*this, "crtc")
|
||||
, m_p_vram(*this, "vram")
|
||||
, m_p_gvram(*this, "gvram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_p_pcg(*this, "pcg")
|
||||
, m_gfxdecode(*this, "gfxdecode")
|
||||
, m_palette(*this, "palette")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<pic8259_device> m_pic;
|
||||
required_device<am9517a_device> m_dma;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
DECLARE_READ8_MEMBER(paso1600_pcg_r);
|
||||
DECLARE_WRITE8_MEMBER(paso1600_pcg_w);
|
||||
DECLARE_WRITE8_MEMBER(paso1600_6845_address_w);
|
||||
@ -44,22 +43,27 @@ public:
|
||||
DECLARE_READ8_MEMBER(key_r);
|
||||
DECLARE_WRITE8_MEMBER(key_w);
|
||||
DECLARE_READ16_MEMBER(test_hi_r);
|
||||
DECLARE_READ8_MEMBER(pc_dma_read_byte);
|
||||
DECLARE_WRITE8_MEMBER(pc_dma_write_byte);
|
||||
uint32_t screen_update_paso1600(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
private:
|
||||
uint8_t m_crtc_vreg[0x100],m_crtc_index;
|
||||
uint8_t *m_p_chargen;
|
||||
uint8_t *m_p_pcg;
|
||||
required_shared_ptr<uint16_t> m_p_vram;
|
||||
required_shared_ptr<uint16_t> m_p_gvram;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
struct{
|
||||
uint8_t portb;
|
||||
}m_keyb;
|
||||
DECLARE_READ8_MEMBER(pc_dma_read_byte);
|
||||
DECLARE_WRITE8_MEMBER(pc_dma_write_byte);
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update_paso1600(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<pic8259_device> m_pic;
|
||||
required_device<am9517a_device> m_dma;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_shared_ptr<uint16_t> m_p_vram;
|
||||
required_shared_ptr<uint16_t> m_p_gvram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_region_ptr<u8> m_p_pcg;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
};
|
||||
|
||||
#define mc6845_h_char_total (m_crtc_vreg[0])
|
||||
@ -80,12 +84,6 @@ public:
|
||||
#define mc6845_update_addr (((m_crtc_vreg[0x12]<<8) & 0x3f00) | (m_crtc_vreg[0x13] & 0xff))
|
||||
|
||||
|
||||
void paso1600_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_p_pcg = memregion("pcg")->base();
|
||||
}
|
||||
|
||||
uint32_t paso1600_state::screen_update_paso1600(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
int x,y;
|
||||
|
@ -24,6 +24,8 @@ public:
|
||||
pasopia_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_p_vram(*this, "vram")
|
||||
, m_ppi0(*this, "ppi8255_0")
|
||||
, m_ppi1(*this, "ppi8255_1")
|
||||
, m_ppi2(*this, "ppi8255_2")
|
||||
@ -57,12 +59,11 @@ private:
|
||||
uint8_t m_mux_data;
|
||||
bool m_video_wl;
|
||||
bool m_ram_bank;
|
||||
uint8_t *m_p_vram;
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_region_ptr<u8> m_p_vram;
|
||||
required_device<i8255_device> m_ppi0;
|
||||
required_device<i8255_device> m_ppi1;
|
||||
required_device<i8255_device> m_ppi2;
|
||||
@ -79,14 +80,9 @@ TIMER_CALLBACK_MEMBER( pasopia_state::pio_timer )
|
||||
m_pio->port_b_write(keyb_r(generic_space(),0,0xff));
|
||||
}
|
||||
|
||||
void pasopia_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
MC6845_UPDATE_ROW( pasopia_state::crtc_update_row )
|
||||
{
|
||||
const rgb_t *palette = m_palette->palette()->entry_list_raw();
|
||||
uint8_t *m_p_chargen = memregion("chargen")->base();
|
||||
uint8_t chr,gfx,fg=7,bg=0; // colours need to be determined
|
||||
uint16_t mem,x;
|
||||
uint32_t *p = &bitmap.pix32(y);
|
||||
@ -148,7 +144,6 @@ INPUT_PORTS_END
|
||||
|
||||
void pasopia_state::machine_start()
|
||||
{
|
||||
m_p_vram = memregion("vram")->base();
|
||||
m_hblank = 0;
|
||||
membank("bank1")->set_entry(0);
|
||||
membank("bank2")->set_entry(0);
|
||||
|
@ -68,17 +68,28 @@ class pcm_state : public driver_device
|
||||
{
|
||||
public:
|
||||
pcm_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_pio_s(*this, "z80pio_s"),
|
||||
m_pio_u(*this, "z80pio_u"),
|
||||
m_sio(*this, "z80sio"),
|
||||
m_ctc_s(*this, "z80ctc_s"),
|
||||
m_ctc_u(*this, "z80ctc_u"),
|
||||
m_speaker(*this, "speaker"),
|
||||
m_cass(*this, "cassette"),
|
||||
m_p_videoram(*this, "videoram"){ }
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_pio_s(*this, "z80pio_s")
|
||||
, m_pio_u(*this, "z80pio_u")
|
||||
, m_sio(*this, "z80sio")
|
||||
, m_ctc_s(*this, "z80ctc_s")
|
||||
, m_ctc_u(*this, "z80ctc_u")
|
||||
, m_speaker(*this, "speaker")
|
||||
, m_cass(*this, "cassette")
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
{ }
|
||||
|
||||
DECLARE_READ8_MEMBER( pcm_85_r );
|
||||
DECLARE_WRITE_LINE_MEMBER( pcm_82_w );
|
||||
DECLARE_WRITE8_MEMBER( pcm_85_w );
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
private:
|
||||
bool m_cone;
|
||||
uint8_t m_85;
|
||||
virtual void machine_reset() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<z80pio_device> m_pio_s;
|
||||
required_device<z80pio_device> m_pio_u;
|
||||
@ -87,17 +98,8 @@ public:
|
||||
required_device<z80ctc_device> m_ctc_u;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
DECLARE_READ8_MEMBER( pcm_85_r );
|
||||
DECLARE_WRITE_LINE_MEMBER( pcm_82_w );
|
||||
DECLARE_WRITE8_MEMBER( pcm_85_w );
|
||||
uint8_t *m_p_chargen;
|
||||
bool m_cone;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
private:
|
||||
uint8_t m_85;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
};
|
||||
|
||||
|
||||
@ -183,11 +185,6 @@ void pcm_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
void pcm_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
uint32_t pcm_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t y,ra,chr,gfx;
|
||||
|
@ -62,6 +62,8 @@ public:
|
||||
, m_exp_0c(*this, "exp0c")
|
||||
, m_exp_0d(*this, "exp0d")
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_p_pcgram(*this, "pcg")
|
||||
, m_io_keyboard(*this, "KEY.%u", 0)
|
||||
{ }
|
||||
|
||||
@ -84,15 +86,13 @@ public:
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(exp02_load) { return load_cart(image, m_exp_02, "2000"); }
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(exp0c_load) { return load_cart(image, m_exp_0c, "c000"); }
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(exp0d_load) { return load_cart(image, m_exp_0d, "d000"); }
|
||||
|
||||
private:
|
||||
uint8_t m_kbd_row;
|
||||
bool m_kbd_irq;
|
||||
uint8_t *m_p_pcgram;
|
||||
const uint8_t *m_p_chargen;
|
||||
uint8_t m_control_bits;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
virtual void video_start() override;
|
||||
void pegasus_decrypt_rom(uint8_t *ROM);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
@ -104,6 +104,8 @@ private:
|
||||
required_device<generic_slot_device> m_exp_0c;
|
||||
required_device<generic_slot_device> m_exp_0d;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_region_ptr<u8> m_p_pcgram;
|
||||
required_ioport_array<8> m_io_keyboard;
|
||||
};
|
||||
|
||||
@ -286,11 +288,6 @@ static INPUT_PORTS_START( pegasus )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("{ }") PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('{') PORT_CHAR('}')
|
||||
INPUT_PORTS_END
|
||||
|
||||
void pegasus_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
static const uint8_t mcm6571a_shift[] =
|
||||
{
|
||||
0,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0,
|
||||
@ -452,8 +449,6 @@ image_init_result pegasus_state::load_cart(device_image_interface &image, generi
|
||||
|
||||
void pegasus_state::machine_start()
|
||||
{
|
||||
m_p_pcgram = memregion("pcg")->base();
|
||||
|
||||
if (m_exp_00->exists())
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x0000, 0x0fff, read8_delegate(FUNC(generic_slot_device::read_rom),(generic_slot_device*)m_exp_00));
|
||||
if (m_exp_01->exists())
|
||||
|
@ -65,7 +65,6 @@ private:
|
||||
uint8_t m_data_out;
|
||||
uint8_t m_keyboard_input;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
@ -206,11 +205,6 @@ PALETTE_INIT_MEMBER(phunsy_state, phunsy)
|
||||
}
|
||||
|
||||
|
||||
void phunsy_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
uint32_t phunsy_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t y,ra,chr,gfx,col;
|
||||
|
@ -51,7 +51,6 @@ private:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
uint8_t m_kbd_row;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
@ -175,10 +174,6 @@ DRIVER_INIT_MEMBER(plan80_state,plan80)
|
||||
membank("boot")->configure_entries(0, 2, &RAM[0x0000], 0xf800);
|
||||
}
|
||||
|
||||
void plan80_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
uint32_t plan80_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t y,ra,chr,gfx;
|
||||
|
@ -61,6 +61,8 @@ public:
|
||||
proteus3_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_videoram(*this, "vram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_pia(*this, "pia")
|
||||
, m_acia1(*this, "acia1")
|
||||
, m_acia2(*this, "acia2")
|
||||
@ -81,14 +83,14 @@ private:
|
||||
uint8_t m_video_data;
|
||||
uint8_t m_flashcnt;
|
||||
uint16_t m_curs_pos;
|
||||
uint8_t *m_p_chargen;
|
||||
uint8_t *m_p_videoram;
|
||||
uint8_t m_cass_data[4];
|
||||
bool m_cass_state;
|
||||
bool m_cassold;
|
||||
uint8_t m_clockcnt;
|
||||
virtual void machine_reset() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<pia6821_device> m_pia;
|
||||
required_device<acia6850_device> m_acia1; // cassette uart
|
||||
required_device<acia6850_device> m_acia2; // tty keyboard uart
|
||||
@ -298,8 +300,6 @@ GFXDECODE_END
|
||||
|
||||
void proteus3_state::machine_reset()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_p_videoram = memregion("vram")->base();
|
||||
m_curs_pos = 0;
|
||||
m_cass_data[0] = m_cass_data[1] = m_cass_data[2] = m_cass_data[3] = 0;
|
||||
m_cass_state = 1;
|
||||
|
@ -150,6 +150,7 @@ public:
|
||||
, m_uart(*this, "uart")
|
||||
, m_uart_s(*this, "uart_s")
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_iop_arrows(*this, "ARROWS")
|
||||
, m_iop_config(*this, "CONFIG")
|
||||
, m_iop_s1(*this, "S1")
|
||||
@ -183,10 +184,8 @@ private:
|
||||
uint8_t m_sol20_fa;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
virtual void video_start() override;
|
||||
uint8_t m_sol20_fc;
|
||||
uint8_t m_sol20_fe;
|
||||
const uint8_t *m_p_chargen;
|
||||
uint8_t m_framecnt;
|
||||
cass_data_t m_cass_data;
|
||||
emu_timer *m_cassette_timer;
|
||||
@ -197,6 +196,7 @@ private:
|
||||
required_device<ay31015_device> m_uart;
|
||||
required_device<ay31015_device> m_uart_s;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_ioport m_iop_arrows;
|
||||
required_ioport m_iop_config;
|
||||
required_ioport m_iop_s1;
|
||||
@ -626,11 +626,6 @@ DRIVER_INIT_MEMBER(sol20_state,sol20)
|
||||
membank("boot")->configure_entries(0, 2, &RAM[0x0000], 0xc000);
|
||||
}
|
||||
|
||||
void sol20_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
}
|
||||
|
||||
uint32_t sol20_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
// Visible screen is 64 x 16, with start position controlled by scroll register.
|
||||
|
@ -42,6 +42,7 @@ public:
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_palette(*this, "palette")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_sio1(*this, "sio1")
|
||||
, m_ctc1(*this, "ctc1")
|
||||
, m_pio(*this, "pio")
|
||||
@ -73,7 +74,6 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(kbd_put);
|
||||
|
||||
private:
|
||||
uint8_t *m_p_chargen;
|
||||
bool m_q_state;
|
||||
bool m_qbar_state;
|
||||
bool m_drq_state;
|
||||
@ -82,6 +82,7 @@ private:
|
||||
bool m_tc;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<z80dart_device> m_sio1;
|
||||
required_device<z80ctc_device> m_ctc1;
|
||||
required_device<z80pio_device> m_pio;
|
||||
@ -244,7 +245,6 @@ DRIVER_INIT_MEMBER( rc702_state, rc702 )
|
||||
membank("bankr0")->configure_entry(1, &main[0x0000]);
|
||||
membank("bankr0")->configure_entry(0, &main[0x10000]);
|
||||
membank("bankw0")->configure_entry(0, &main[0x0000]);
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_palette->set_pen_colors(0, our_palette, ARRAY_LENGTH(our_palette));
|
||||
}
|
||||
|
||||
|
@ -47,28 +47,26 @@ To Do:
|
||||
class sbrain_state : public driver_device
|
||||
{
|
||||
public:
|
||||
sbrain_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_p_videoram(*this, "videoram"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_subcpu(*this, "subcpu"),
|
||||
m_beep(*this, "beeper"),
|
||||
m_brg(*this, "brg"),
|
||||
m_u0(*this, "uart0"),
|
||||
m_u1(*this, "uart1"),
|
||||
m_ppi(*this, "ppi"),
|
||||
m_fdc (*this, "fdc"),
|
||||
m_floppy0(*this, "fdc:0"),
|
||||
m_floppy1(*this, "fdc:1"),
|
||||
m_vs(*this, "VS"),
|
||||
m_bankr0(*this, "bankr0"),
|
||||
m_bankw0(*this, "bankw0"),
|
||||
m_bank2(*this, "bank2") {}
|
||||
sbrain_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_subcpu(*this, "subcpu")
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_beep(*this, "beeper")
|
||||
, m_brg(*this, "brg")
|
||||
, m_u0(*this, "uart0")
|
||||
, m_u1(*this, "uart1")
|
||||
, m_ppi(*this, "ppi")
|
||||
, m_fdc (*this, "fdc")
|
||||
, m_floppy0(*this, "fdc:0")
|
||||
, m_floppy1(*this, "fdc:1")
|
||||
, m_vs(*this, "VS")
|
||||
, m_bankr0(*this, "bankr0")
|
||||
, m_bankw0(*this, "bankw0")
|
||||
, m_bank2(*this, "bank2")
|
||||
{}
|
||||
|
||||
public:
|
||||
const uint8_t *m_p_chargen;
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
DECLARE_DRIVER_INIT(sbrain);
|
||||
DECLARE_MACHINE_RESET(sbrain);
|
||||
DECLARE_READ8_MEMBER(ppi_pa_r);
|
||||
@ -82,6 +80,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(baud_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(fr_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(ft_w);
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
private:
|
||||
uint8_t m_porta;
|
||||
uint8_t m_portb;
|
||||
@ -89,6 +89,8 @@ private:
|
||||
uint8_t m_port08;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cpu_device> m_subcpu;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<beep_device> m_beep;
|
||||
required_device<com8116_device> m_brg;
|
||||
required_device<i8251_device> m_u0;
|
||||
@ -270,7 +272,6 @@ SLOT_INTERFACE_END
|
||||
|
||||
MACHINE_RESET_MEMBER( sbrain_state, sbrain )
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
m_bankr0->set_entry(1); // point at rom
|
||||
m_bankw0->set_entry(0); // always write to ram
|
||||
m_bank2->set_entry(1); // point at maincpu bank
|
||||
|
@ -55,29 +55,26 @@
|
||||
class sm7238_state : public driver_device
|
||||
{
|
||||
public:
|
||||
sm7238_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_p_videoram(*this, "videoram"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_nvram(*this, "nvram"),
|
||||
m_pic8259(*this, "pic8259"),
|
||||
m_i8251line(*this, "i8251line"),
|
||||
m_rs232(*this, "rs232"),
|
||||
m_i8251kbd(*this, "i8251kbd"),
|
||||
m_keyboard(*this, "keyboard"),
|
||||
m_i8251prn(*this, "i8251prn"),
|
||||
m_printer(*this, "prtr"),
|
||||
m_t_hblank(*this, "t_hblank"),
|
||||
m_t_vblank(*this, "t_vblank"),
|
||||
m_t_color(*this, "t_color"),
|
||||
m_t_iface(*this, "t_iface"),
|
||||
m_screen(*this, "screen")
|
||||
sm7238_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_nvram(*this, "nvram")
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_pic8259(*this, "pic8259")
|
||||
, m_i8251line(*this, "i8251line")
|
||||
, m_rs232(*this, "rs232")
|
||||
, m_i8251kbd(*this, "i8251kbd")
|
||||
, m_keyboard(*this, "keyboard")
|
||||
, m_i8251prn(*this, "i8251prn")
|
||||
, m_printer(*this, "prtr")
|
||||
, m_t_hblank(*this, "t_hblank")
|
||||
, m_t_vblank(*this, "t_vblank")
|
||||
, m_t_color(*this, "t_color")
|
||||
, m_t_iface(*this, "t_iface")
|
||||
, m_screen(*this, "screen")
|
||||
{ }
|
||||
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void screen_eof(screen_device &screen, bool state);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER( scanline_callback );
|
||||
DECLARE_PALETTE_INIT(sm7238);
|
||||
|
||||
@ -86,6 +83,8 @@ public:
|
||||
|
||||
DECLARE_WRITE8_MEMBER(control_w);
|
||||
DECLARE_WRITE8_MEMBER(text_control_w);
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void screen_eof(screen_device &screen, bool state);
|
||||
|
||||
private:
|
||||
uint32_t draw_scanline(uint16_t *p, uint16_t offset, uint8_t scanline);
|
||||
@ -95,17 +94,18 @@ private:
|
||||
void text_memory_clear();
|
||||
void recompute_parameters();
|
||||
|
||||
const uint8_t *m_p_chargen;
|
||||
struct {
|
||||
uint8_t control;
|
||||
uint8_t stride;
|
||||
uint16_t ptr;
|
||||
} m_video;
|
||||
|
||||
protected:
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<nvram_device> m_nvram;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<pic8259_device> m_pic8259;
|
||||
required_device<i8251_device> m_i8251line;
|
||||
required_device<rs232_port_device> m_rs232;
|
||||
@ -154,8 +154,6 @@ void sm7238_state::machine_reset()
|
||||
|
||||
void sm7238_state::video_start()
|
||||
{
|
||||
m_p_chargen = memregion("chargen")->base();
|
||||
|
||||
m_tmpclip = rectangle(0, KSM_DISP_HORZ-1, 0, KSM_DISP_VERT-1);
|
||||
m_tmpbmp.allocate(KSM_DISP_HORZ, KSM_DISP_VERT);
|
||||
}
|
||||
|
@ -80,7 +80,6 @@ private:
|
||||
uint8_t m_4c;
|
||||
uint8_t m_4e;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<pit8253_device> m_pit;
|
||||
required_device<i8257_device> m_dma;
|
||||
@ -382,10 +381,6 @@ void unior_state::machine_reset()
|
||||
m_maincpu->set_state_int(I8085_PC, 0xF800);
|
||||
}
|
||||
|
||||
void unior_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( unior, unior_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu",I8080, XTAL_20MHz / 9)
|
||||
|
@ -28,7 +28,6 @@ public:
|
||||
|
||||
private:
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
};
|
||||
@ -63,10 +62,6 @@ PALETTE_INIT_MEMBER( unistar_state, unistar )
|
||||
palette.set_pen_color(2, 0, 128, 0 ); /* Dimmed */
|
||||
}
|
||||
|
||||
void unistar_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
uint32_t unistar_state::screen_update_unistar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
return 0;
|
||||
|
@ -37,7 +37,6 @@ public:
|
||||
|
||||
private:
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
@ -64,10 +63,6 @@ void vta2000_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
void vta2000_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
uint32_t vta2000_state::screen_update_vta2000(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
/* Cursor is missing. */
|
||||
{
|
||||
|
@ -79,7 +79,6 @@ private:
|
||||
uint8_t m_keyboard_line;
|
||||
bool m_keyboard_part;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
@ -223,10 +222,6 @@ static INPUT_PORTS_START( z1013 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
void z1013_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
uint32_t z1013_state::screen_update_z1013(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t y,ra,chr,gfx;
|
||||
|
@ -65,7 +65,6 @@ private:
|
||||
bool m_cassbit;
|
||||
virtual void machine_reset() override;
|
||||
//virtual void machine_start();
|
||||
virtual void video_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<beep_device> m_beeper;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
@ -129,10 +128,6 @@ void z9001_state::machine_reset()
|
||||
m_maincpu->set_state_int(Z80_PC, 0xf000);
|
||||
}
|
||||
|
||||
void z9001_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
uint32_t z9001_state::screen_update_z9001(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t y,ra,chr,gfx,col,fg,bg;
|
||||
|
@ -53,7 +53,6 @@ private:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
uint8_t m_term_data;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
@ -207,10 +206,6 @@ void zrt80_state::machine_reset()
|
||||
m_term_data = 0;
|
||||
}
|
||||
|
||||
void zrt80_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
MC6845_UPDATE_ROW( zrt80_state::crtc_update_row )
|
||||
{
|
||||
const rgb_t *palette = m_palette->palette()->entry_list_raw();
|
||||
|
@ -34,6 +34,9 @@ public:
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_palette(*this, "palette")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
, m_p_videoram(*this, "vram")
|
||||
, m_p_attribram(*this, "aram")
|
||||
, m_ctc(*this, "ctc")
|
||||
, m_dma(*this, "dma")
|
||||
, m_pio1(*this, "pio1")
|
||||
@ -91,8 +94,6 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(register_w);
|
||||
MC6845_UPDATE_ROW(crtc_update_row);
|
||||
MC6845_ON_UPDATE_ADDR_CHANGED(crtc_update_addr);
|
||||
int m_centronics_busy;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
private:
|
||||
uint8_t crt8002(uint8_t ac_ra, uint8_t ac_chr, uint8_t ac_attr, uint16_t ac_cnt, bool ac_curs);
|
||||
@ -106,12 +107,14 @@ private:
|
||||
uint8_t m_port35; // byte to be written to vram or aram
|
||||
uint8_t m_video_index;
|
||||
uint16_t m_cnt;
|
||||
uint8_t *m_p_videoram;
|
||||
uint8_t *m_p_attribram;
|
||||
const uint8_t *m_p_chargen;
|
||||
uint16_t m_alpha_address;
|
||||
uint16_t m_graph_address;
|
||||
int m_centronics_busy;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_region_ptr<u8> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_attribram;
|
||||
required_device<z80ctc_device> m_ctc;
|
||||
required_device<z80dma_device> m_dma;
|
||||
required_device<z80pio_device> m_pio1;
|
||||
|
@ -35,7 +35,8 @@ public:
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, Z80_TAG)
|
||||
, m_p_videoram(*this, "videoram")
|
||||
, m_p_ram(*this, "p_ram")
|
||||
, m_p_ram(*this, "ram")
|
||||
, m_p_chargen(*this, "chargen")
|
||||
{ }
|
||||
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
@ -46,13 +47,12 @@ public:
|
||||
DECLARE_READ8_MEMBER(ff_r);
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
uint8_t m_term_data;
|
||||
virtual void machine_reset() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_shared_ptr<uint8_t> m_p_videoram;
|
||||
required_shared_ptr<uint8_t> m_p_ram;
|
||||
const uint8_t *m_p_chargen;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user