summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/tim100.c
diff options
context:
space:
mode:
author Wilbert Pol <wilbert@jdg.info>2014-09-19 20:29:36 +0000
committer Wilbert Pol <wilbert@jdg.info>2014-09-19 20:29:36 +0000
commited4eedbb586c266245c63e04a8fa73fff77f7dcb (patch)
treebfad4c1bdd18cbfb94e37dddca7d59ba90c0ee3b /src/mess/drivers/tim100.c
parent711106a283c82eb7ea18ec0c74aa2f01344329bb (diff)
(MESS) tim100.c: Reduce tagmap lookups (nw)
Diffstat (limited to 'src/mess/drivers/tim100.c')
-rw-r--r--src/mess/drivers/tim100.c12
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;