diff options
author | 2014-09-19 20:29:36 +0000 | |
---|---|---|
committer | 2014-09-19 20:29:36 +0000 | |
commit | ed4eedbb586c266245c63e04a8fa73fff77f7dcb (patch) | |
tree | bfad4c1bdd18cbfb94e37dddca7d59ba90c0ee3b /src/mess/drivers/tim100.c | |
parent | 711106a283c82eb7ea18ec0c74aa2f01344329bb (diff) |
(MESS) tim100.c: Reduce tagmap lookups (nw)
Diffstat (limited to 'src/mess/drivers/tim100.c')
-rw-r--r-- | src/mess/drivers/tim100.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/mess/drivers/tim100.c b/src/mess/drivers/tim100.c index 649a7bd11cd..fa86af5d6c6 100644 --- a/src/mess/drivers/tim100.c +++ b/src/mess/drivers/tim100.c @@ -23,8 +23,12 @@ public: required_device<cpu_device> m_maincpu; required_device<palette_device> m_palette; + virtual void machine_start(); virtual void machine_reset(); I8275_DRAW_CHARACTER_MEMBER( crtc_display_pixels ); + +private: + UINT8 *m_charmap; }; static ADDRESS_MAP_START(tim100_mem, AS_PROGRAM, 8, tim100_state) @@ -57,6 +61,11 @@ static const rgb_t tim100_palette[3] = { rgb_t(0xff, 0xff, 0xff) // highlight }; +void tim100_state::machine_start() +{ + m_charmap = memregion("chargen")->base(); +} + void tim100_state::machine_reset() { m_palette->set_pen_colors(0, tim100_palette, ARRAY_LENGTH(tim100_palette)); @@ -85,8 +94,7 @@ I8275_DRAW_CHARACTER_MEMBER( tim100_state::crtc_display_pixels ) { int i; const rgb_t *palette = m_palette->palette()->entry_list_raw(); - UINT8 *charmap = memregion("chargen")->base(); - UINT8 pixels = charmap[(linecount & 15) + (charcode << 4)]; + UINT8 pixels = m_charmap[(linecount & 15) + (charcode << 4)]; if (vsp) { pixels = 0; |