diff options
Diffstat (limited to 'src/mame/drivers/mes.cpp')
-rw-r--r-- | src/mame/drivers/mes.cpp | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/mame/drivers/mes.cpp b/src/mame/drivers/mes.cpp index dfefe69f66b..24b69b6866a 100644 --- a/src/mame/drivers/mes.cpp +++ b/src/mame/drivers/mes.cpp @@ -31,7 +31,9 @@ public: void mes(machine_config &config); private: - uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void machine_reset() override; + void machine_start() override; + u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void kbd_put(u8 data); u8 port00_r(); u8 port08_r(); @@ -41,9 +43,8 @@ private: u8 m_term_data; u8 m_port08; - virtual void machine_reset() override; required_device<cpu_device> m_maincpu; - required_shared_ptr<uint8_t> m_p_videoram; + required_shared_ptr<u8> m_p_videoram; required_region_ptr<u8> m_p_chargen; }; @@ -63,7 +64,7 @@ u8 mes_state::port08_r() void mes_state::mem_map(address_map &map) { map.unmap_value_high(); - map(0x0000, 0x0fff).rom().region("roms", 0); + map(0x0000, 0x0fff).rom(); map(0x1000, 0xefff).ram(); map(0xf000, 0xffff).ram().share("videoram"); } @@ -82,6 +83,12 @@ void mes_state::io_map(address_map &map) static INPUT_PORTS_START( mes ) INPUT_PORTS_END +void mes_state::machine_start() +{ + save_item(NAME(m_term_data)); + save_item(NAME(m_port08)); +} + void mes_state::machine_reset() { m_port08 = 0; @@ -92,14 +99,14 @@ void mes_state::machine_reset() Also the screen dimensions are a guess. */ uint32_t mes_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - uint8_t y,ra,chr,gfx; - uint16_t sy=0,ma=0,x; + u8 y,ra,chr,gfx; + u16 sy=0,ma=0,x; for (y = 0; y < 25; y++) { for (ra = 0; ra < 10; ra++) { - uint16_t *p = &bitmap.pix16(sy++); + u16 *p = &bitmap.pix16(sy++); for (x = ma; x < ma + 80; x++) { @@ -160,10 +167,10 @@ void mes_state::mes(machine_config &config) /* ROM definition */ ROM_START( mes ) - ROM_REGION( 0x1000, "roms", ROMREGION_ERASEFF ) + ROM_REGION( 0x1000, "maincpu", 0 ) ROM_LOAD( "mescpu.bin", 0x0000, 0x1000, CRC(b6d90cf4) SHA1(19e608af5bdaabb00a134e1106b151b00e2a0b04)) - ROM_REGION( 0x2000, "xebec", ROMREGION_ERASEFF ) + ROM_REGION( 0x2000, "xebec", 0 ) ROM_LOAD( "mesxebec.bin", 0x0000, 0x2000, CRC(061b7212) SHA1(c5d600116fb7563c69ebd909eb9613269b2ada0f)) /* character generator not dumped, using the one from 'c10' for now */ @@ -174,4 +181,4 @@ ROM_END /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 198?, mes, 0, 0, mes, mes, mes_state, empty_init, "Schleicher", "MES", MACHINE_NOT_WORKING | MACHINE_NO_SOUND) +COMP( 198?, mes, 0, 0, mes, mes, mes_state, empty_init, "Schleicher", "MES", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) |