summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/mes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mes.cpp')
-rw-r--r--src/mame/drivers/mes.cpp27
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 )