Skip to content

Commit b81568b

Browse files
authored
konami/tutankhm.cpp, konami/junofrst.cpp: Cleaned up code: (#13309)
* Increased main CPU ROM region size to fix out-of-bounds accesses in some banks. * Reduced sound CPU ROM size to match area mapped in address map. * Made some variables const and reduced preprocessor macros. * konami/timeplt_a.cpp: Use a device finder array for audio filters.
1 parent 4014fc9 commit b81568b

File tree

6 files changed

+138
-158
lines changed

6 files changed

+138
-158
lines changed

Diff for: src/mame/konami/junofrst.cpp

+23-43
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,7 @@ class junofrst_state : public tutankhm_state
106106
: tutankhm_state(mconfig, type, tag)
107107
, m_audiocpu(*this, "audiocpu")
108108
, m_i8039(*this, "mcu")
109-
, m_filter_0_0(*this, "filter.0.0")
110-
, m_filter_0_1(*this, "filter.0.1")
111-
, m_filter_0_2(*this, "filter.0.2")
109+
, m_filter(*this, "filter.0.%u", 0U)
112110
, m_blitrom(*this, "blitrom")
113111
{
114112
}
@@ -121,7 +119,6 @@ class junofrst_state : public tutankhm_state
121119

122120
private:
123121
void blitter_w(offs_t offset, uint8_t data);
124-
void bankselect_w(uint8_t data);
125122
void sh_irqtrigger_w(uint8_t data);
126123
void i8039_irq_w(uint8_t data);
127124
void i8039_irqen_and_status_w(uint8_t data);
@@ -136,9 +133,7 @@ class junofrst_state : public tutankhm_state
136133

137134
required_device<cpu_device> m_audiocpu;
138135
required_device<i8039_device> m_i8039;
139-
required_device<filter_rc_device> m_filter_0_0;
140-
required_device<filter_rc_device> m_filter_0_1;
141-
required_device<filter_rc_device> m_filter_0_2;
136+
required_device_array<filter_rc_device, 3> m_filter;
142137
required_region_ptr<uint8_t> m_blitrom;
143138

144139
uint8_t m_blitterdata[4]{};
@@ -175,7 +170,7 @@ void junofrst_state::blitter_w(offs_t offset, uint8_t data)
175170
offs_t src = ((m_blitterdata[2] << 8) | m_blitterdata[3]) & 0xfffc;
176171
offs_t dest = (m_blitterdata[0] << 8) | m_blitterdata[1];
177172

178-
int copy = m_blitterdata[3] & 0x01;
173+
bool const copy = BIT(m_blitterdata[3], 0);
179174

180175
/* 16x16 graphics */
181176
for (int i = 0; i < 16; i++)
@@ -184,50 +179,40 @@ void junofrst_state::blitter_w(offs_t offset, uint8_t data)
184179
{
185180
uint8_t data;
186181

187-
if (src & 1)
182+
if (BIT(src, 0))
188183
data = m_blitrom[src >> 1] & 0x0f;
189184
else
190185
data = m_blitrom[src >> 1] >> 4;
191186

192-
src += 1;
187+
src++;
193188

194189
/* if there is a source pixel either copy the pixel or clear the pixel depending on the copy flag */
195190

196191
if (data)
197192
{
198-
if (copy == 0)
193+
if (!copy)
199194
data = 0;
200195

201-
if (dest & 1)
196+
if (BIT(dest, 0))
202197
m_videoram[dest >> 1] = (m_videoram[dest >> 1] & 0x0f) | (data << 4);
203198
else
204199
m_videoram[dest >> 1] = (m_videoram[dest >> 1] & 0xf0) | data;
205200
}
206-
207-
dest += 1;
201+
dest++;
208202
}
209-
210203
dest += 240;
211204
}
212205
}
213206
}
214207

215208

216-
void junofrst_state::bankselect_w(uint8_t data)
217-
{
218-
m_mainbank->set_entry(data & 0x0f);
219-
}
220-
221-
222209
uint8_t junofrst_state::portA_r()
223210
{
224-
int timer;
225-
226211
/* main xtal 14.318MHz, divided by 8 to get the CPU clock, further */
227212
/* divided by 1024 to get this timer */
228213
/* (divide by (1024/2), and not 1024, because the CPU cycle counter is */
229214
/* incremented every other state change of the clock) */
230-
timer = (m_audiocpu->total_cycles() / (1024 / 2)) & 0x0f;
215+
int const timer = (m_audiocpu->total_cycles() / (1024 / 2)) & 0x0f;
231216

232217
/* low three bits come from the 8039 */
233218

@@ -237,20 +222,17 @@ uint8_t junofrst_state::portA_r()
237222

238223
void junofrst_state::portB_w(uint8_t data)
239224
{
240-
filter_rc_device *filter[3] = { m_filter_0_0, m_filter_0_1, m_filter_0_2 };
241-
int i;
242-
243-
for (i = 0; i < 3; i++)
225+
for (int i = 0; i < 3; i++)
244226
{
245227
int C = 0;
246228

247-
if (data & 1)
229+
if (BIT(data, 0))
248230
C += 47000; /* 47000pF = 0.047uF */
249-
if (data & 2)
231+
if (BIT(data, 1))
250232
C += 220000; /* 220000pF = 0.22uF */
251233

252234
data >>= 2;
253-
filter[i]->filter_rc_set_RC(filter_rc_device::LOWPASS_3R, 1000, 2200, 200, CAP_P(C));
235+
m_filter[i]->filter_rc_set_RC(filter_rc_device::LOWPASS_3R, 1000, 2200, 200, CAP_P(C));
254236
}
255237
}
256238

@@ -262,7 +244,6 @@ void junofrst_state::sh_irqtrigger_w(uint8_t data)
262244
/* setting bit 0 low then high triggers IRQ on the sound CPU */
263245
m_audiocpu->set_input_line_and_vector(0, HOLD_LINE, 0xff); // Z80
264246
}
265-
266247
m_last_irq = data;
267248
}
268249

@@ -275,15 +256,15 @@ void junofrst_state::i8039_irq_w(uint8_t data)
275256

276257
void junofrst_state::i8039_irqen_and_status_w(uint8_t data)
277258
{
278-
if ((data & 0x80) == 0)
259+
if (BIT(~data, 7))
279260
m_i8039->set_input_line(0, CLEAR_LINE);
280261
m_i8039_status = (data & 0x70) >> 4;
281262
}
282263

283264

284265
void junofrst_state::main_map(address_map &map)
285266
{
286-
map(0x0000, 0x7fff).ram().share("videoram");
267+
map(0x0000, 0x7fff).ram().share(m_videoram);
287268
map(0x8000, 0x800f).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
288269
map(0x8010, 0x8010).portr("DSW2");
289270
map(0x801c, 0x801c).r("watchdog", FUNC(watchdog_timer_device::reset_r));
@@ -434,10 +415,9 @@ void junofrst_state::junofrst(machine_config &config)
434415
m_screen->set_raw(GALAXIAN_PIXEL_CLOCK, GALAXIAN_HTOTAL, GALAXIAN_HBEND, GALAXIAN_HBSTART, GALAXIAN_VTOTAL, GALAXIAN_VBEND, GALAXIAN_VBSTART);
435416
PALETTE(config, m_palette).set_format(1, tutankhm_state::raw_to_rgb_func, 16);
436417

437-
m_screen->set_screen_update(FUNC(junofrst_state::screen_update_tutankhm_scramble));
418+
m_screen->set_screen_update(FUNC(junofrst_state::screen_update_scramble));
438419
m_screen->screen_vblank().set(FUNC(junofrst_state::_30hz_irq));
439420

440-
441421
/* sound hardware */
442422
SPEAKER(config, "speaker").front_center();
443423

@@ -453,14 +433,14 @@ void junofrst_state::junofrst(machine_config &config)
453433

454434
DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // 100K (R56-63)/200K (R64-71) ladder network
455435

456-
FILTER_RC(config, m_filter_0_0).add_route(ALL_OUTPUTS, "speaker", 1.0);
457-
FILTER_RC(config, m_filter_0_1).add_route(ALL_OUTPUTS, "speaker", 1.0);
458-
FILTER_RC(config, m_filter_0_2).add_route(ALL_OUTPUTS, "speaker", 1.0);
436+
FILTER_RC(config, m_filter[0]).add_route(ALL_OUTPUTS, "speaker", 1.0);
437+
FILTER_RC(config, m_filter[1]).add_route(ALL_OUTPUTS, "speaker", 1.0);
438+
FILTER_RC(config, m_filter[2]).add_route(ALL_OUTPUTS, "speaker", 1.0);
459439
}
460440

461441

462442
ROM_START( junofrst )
463-
ROM_REGION( 0x1c000, "maincpu", 0 ) /* code + space for decrypted opcodes */
443+
ROM_REGION( 0x20000, "maincpu", ROMREGION_ERASE00 ) /* code + space for decrypted opcodes */
464444
ROM_LOAD( "jfa_b9.bin", 0x0a000, 0x2000, CRC(f5a7ab9d) SHA1(9603e797839290f8e1f93ccff9cc820604cc49ab) ) /* program ROMs */
465445
ROM_LOAD( "jfb_b10.bin", 0x0c000, 0x2000, CRC(f20626e0) SHA1(46f58bdc1a613124e2c148b61f774fcc6c232868) )
466446
ROM_LOAD( "jfc_a10.bin", 0x0e000, 0x2000, CRC(1e7744a7) SHA1(bee69833af886436016560295cddf0c8b4c5e771) )
@@ -472,7 +452,7 @@ ROM_START( junofrst )
472452
ROM_LOAD( "jfc5_a8.bin", 0x18000, 0x2000, CRC(0539f328) SHA1(c532aaed7f9e6f564e3df0dc6d8fdbee6ed721a2) )
473453
ROM_LOAD( "jfc6_a9.bin", 0x1a000, 0x2000, CRC(1da2ad6e) SHA1(de997d1b2ff6671088b57192bc9f1279359fad5d) )
474454

475-
ROM_REGION( 0x10000 , "audiocpu", 0 ) /* 64k for Z80 sound CPU code */
455+
ROM_REGION( 0x1000, "audiocpu", 0 ) /* 4k for Z80 sound CPU code */
476456
ROM_LOAD( "jfs1_j3.bin", 0x0000, 0x1000, CRC(235a2893) SHA1(b90251c4971f7ba12e407f86c32723d513d6b4a0) )
477457

478458
ROM_REGION( 0x1000, "mcu", 0 ) /* 8039 */
@@ -485,7 +465,7 @@ ROM_START( junofrst )
485465
ROM_END
486466

487467
ROM_START( junofrstg )
488-
ROM_REGION( 0x1c000, "maincpu", 0 ) /* code + space for decrypted opcodes */
468+
ROM_REGION( 0x20000, "maincpu", ROMREGION_ERASE00 ) /* code + space for decrypted opcodes */
489469
ROM_LOAD( "jfg_a.9b", 0x0a000, 0x2000, CRC(8f77d1c5) SHA1(d47fcdbc47673c228661a3528fff0c691c76df9e) ) /* program ROMs */
490470
ROM_LOAD( "jfg_b.10b", 0x0c000, 0x2000, CRC(cd645673) SHA1(25994210a8a424bdf2eca3efa19e7eeffc097cec) )
491471
ROM_LOAD( "jfg_c.10a", 0x0e000, 0x2000, CRC(47852761) SHA1(eeef814b6ad681d4c2274f0a69d1ed9c5c1b9118) )
@@ -497,7 +477,7 @@ ROM_START( junofrstg )
497477
ROM_LOAD( "jfc5_a8.bin", 0x18000, 0x2000, CRC(0539f328) SHA1(c532aaed7f9e6f564e3df0dc6d8fdbee6ed721a2) )
498478
ROM_LOAD( "jfc6_a9.bin", 0x1a000, 0x2000, CRC(1da2ad6e) SHA1(de997d1b2ff6671088b57192bc9f1279359fad5d) )
499479

500-
ROM_REGION( 0x10000 , "audiocpu", 0 ) /* 64k for Z80 sound CPU code */
480+
ROM_REGION( 0x1000, "audiocpu", 0 ) /* 4k for Z80 sound CPU code */
501481
ROM_LOAD( "jfs1_j3.bin", 0x0000, 0x1000, CRC(235a2893) SHA1(b90251c4971f7ba12e407f86c32723d513d6b4a0) )
502482

503483
ROM_REGION( 0x1000, "mcu", 0 ) /* 8039 */

Diff for: src/mame/konami/tutankhm.cpp

+12-12
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ void tutankhm_state::irq_enable_w(int state)
126126
*
127127
*************************************/
128128

129-
void tutankhm_state::tutankhm_bankselect_w(uint8_t data)
129+
void tutankhm_state::bankselect_w(uint8_t data)
130130
{
131131
m_mainbank->set_entry(data & 0x0f);
132132
}
@@ -165,10 +165,10 @@ void tutankhm_state::sound_on_w(uint8_t data)
165165

166166
void tutankhm_state::main_map(address_map &map)
167167
{
168-
map(0x0000, 0x7fff).ram().share("videoram");
168+
map(0x0000, 0x7fff).ram().share(m_videoram);
169169
map(0x8000, 0x800f).mirror(0x00f0).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
170170
//0x8100 -> Custom 089 D9 Pin 15
171-
map(0x8100, 0x8100).mirror(0x000f).ram().share("scroll");
171+
map(0x8100, 0x8100).mirror(0x000f).ram().share(m_scroll);
172172

173173
/* a read here produces a 1-0-1 write to line 420 (084).
174174
* This most likely resets some sort of timer implemented by the 084 custom chip
@@ -183,7 +183,7 @@ void tutankhm_state::main_map(address_map &map)
183183
map(0x81c0, 0x81c0).mirror(0x000f).portr("IN2"); /* IN2: Player 2 I/O */
184184
map(0x81e0, 0x81e0).mirror(0x000f).portr("DSW1"); /* DSW1 (inverted bits) */
185185
map(0x8200, 0x8207).mirror(0x00f8).nopr().w("mainlatch", FUNC(ls259_device::write_d0));
186-
map(0x8300, 0x8300).mirror(0x00ff).w(FUNC(tutankhm_state::tutankhm_bankselect_w));
186+
map(0x8300, 0x8300).mirror(0x00ff).w(FUNC(tutankhm_state::bankselect_w));
187187
map(0x8600, 0x8600).mirror(0x00ff).w(FUNC(tutankhm_state::sound_on_w));
188188
map(0x8700, 0x8700).mirror(0x00ff).w(m_timeplt_audio, FUNC(timeplt_audio_device::sound_data_w));
189189

@@ -291,8 +291,8 @@ void tutankhm_state::tutankhm(machine_config &config)
291291
mainlatch.q_out_cb<1>().set_nop(); // PAY OUT - not used
292292
mainlatch.q_out_cb<2>().set(FUNC(tutankhm_state::coin_counter_2_w));
293293
mainlatch.q_out_cb<3>().set(FUNC(tutankhm_state::coin_counter_1_w));
294-
mainlatch.q_out_cb<4>().set(FUNC(tutankhm_state::galaxian_stars_enable_w));
295-
mainlatch.q_out_cb<5>().set("timeplt_audio", FUNC(timeplt_audio_device::mute_w));
294+
mainlatch.q_out_cb<4>().set(FUNC(tutankhm_state::stars_enable_w));
295+
mainlatch.q_out_cb<5>().set(m_timeplt_audio, FUNC(timeplt_audio_device::mute_w));
296296
mainlatch.q_out_cb<6>().set(FUNC(tutankhm_state::flip_screen_x_w));
297297
mainlatch.q_out_cb<7>().set(FUNC(tutankhm_state::flip_screen_y_w));
298298

@@ -303,11 +303,11 @@ void tutankhm_state::tutankhm(machine_config &config)
303303
m_screen->set_raw(GALAXIAN_PIXEL_CLOCK, GALAXIAN_HTOTAL, GALAXIAN_HBEND, GALAXIAN_HBSTART, GALAXIAN_VTOTAL, GALAXIAN_VBEND, GALAXIAN_VBSTART);
304304
PALETTE(config, m_palette).set_format(1, tutankhm_state::raw_to_rgb_func, 16);
305305

306-
m_screen->set_screen_update(FUNC(tutankhm_state::screen_update_tutankhm));
306+
m_screen->set_screen_update(FUNC(tutankhm_state::screen_update));
307307
m_screen->screen_vblank().set(FUNC(tutankhm_state::vblank_irq));
308308

309309
/* sound hardware */
310-
TIMEPLT_AUDIO(config, "timeplt_audio");
310+
TIMEPLT_AUDIO(config, m_timeplt_audio);
311311

312312
/* blinking frequency is determined by 555 counter with Ra=100k, Rb=10k, C=10uF */
313313
TIMER(config, "stars").configure_periodic(FUNC(tutankhm_state::scramble_stars_blink_timer), PERIOD_OF_555_ASTABLE(100000, 10000, 0.00001));
@@ -329,7 +329,7 @@ void tutankhm_state::tutankhm(machine_config &config)
329329

330330
ROM_START( tutankhm )
331331
/* ROMS located on the KT-3203-1B board. */
332-
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for M6809 CPU code + 64k for ROM banks */
332+
ROM_REGION( 0x20000, "maincpu", ROMREGION_ERASE00 ) /* 64k for M6809 CPU code + 64k for ROM banks */
333333
ROM_LOAD( "m1.1h", 0x0a000, 0x1000, CRC(da18679f) SHA1(8d2a3665db937d0e1d19300ae22277d9db61fcbc) ) /* program ROMs */
334334
ROM_LOAD( "m2.2h", 0x0b000, 0x1000, CRC(a0f02c85) SHA1(29a78b3ffd6b597772953543b02dd59acf5af38c) )
335335
ROM_LOAD( "3j.3h", 0x0c000, 0x1000, CRC(ea03a1ab) SHA1(27a3cca0595bac642caaf9ee2f276814442c8721) ) /* Name guessed */
@@ -348,7 +348,7 @@ ROM_START( tutankhm )
348348
/* the other banks (1900-1fff) are empty */
349349

350350
/* ROMS located on the KT-5112-2B board. */
351-
ROM_REGION( 0x10000 , "timeplt_audio:tpsound", 0 ) /* 64k for Z80 sound CPU code */
351+
ROM_REGION( 0x3000, "timeplt_audio:tpsound", ROMREGION_ERASE00 ) /* 12k for Z80 sound CPU code */
352352
ROM_LOAD( "s1.7a", 0x0000, 0x1000, CRC(b52d01fa) SHA1(9b6cf9ea51d3a87c174f34d42a4b1b5f38b48723) )
353353
ROM_LOAD( "s2.8a", 0x1000, 0x1000, CRC(9db5c0ce) SHA1(b5bc1d89a7f7d7a0baae64390c37ee11f69a0e76) )
354354
ROM_END
@@ -379,7 +379,7 @@ TUTANKHAM RA1 10E (25) 1982 STERN (in socket 8A)
379379
*/
380380
ROM_START( tutankhms )
381381
/* ROMS located on the KT-3203-1B board. */
382-
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for M6809 CPU code + 64k for ROM banks */
382+
ROM_REGION( 0x20000, "maincpu", ROMREGION_ERASE00 ) /* 64k for M6809 CPU code + 64k for ROM banks */
383383
ROM_LOAD( "m1.1h", 0x0a000, 0x1000, CRC(da18679f) SHA1(8d2a3665db937d0e1d19300ae22277d9db61fcbc) ) /* program ROMs */
384384
ROM_LOAD( "m2.2h", 0x0b000, 0x1000, CRC(a0f02c85) SHA1(29a78b3ffd6b597772953543b02dd59acf5af38c) )
385385
ROM_LOAD( "3a.3h", 0x0c000, 0x1000, CRC(2d62d7b1) SHA1(910718f36735f2614cda0c3a1abdfa995d82dbd2) )
@@ -398,7 +398,7 @@ ROM_START( tutankhms )
398398
/* the other banks (1900-1fff) are empty */
399399

400400
/* ROMS located on the KT-5112-2B board. */
401-
ROM_REGION( 0x10000, "timeplt_audio:tpsound", 0 ) /* 64k for Z80 sound CPU code */
401+
ROM_REGION( 0x3000, "timeplt_audio:tpsound", ROMREGION_ERASE00 ) /* 12k for Z80 sound CPU code */
402402
ROM_LOAD( "s1.7a", 0x0000, 0x1000, CRC(b52d01fa) SHA1(9b6cf9ea51d3a87c174f34d42a4b1b5f38b48723) )
403403
ROM_LOAD( "s2.8a", 0x1000, 0x1000, CRC(9db5c0ce) SHA1(b5bc1d89a7f7d7a0baae64390c37ee11f69a0e76) )
404404
ROM_END

Diff for: src/mame/konami/tutankhm.h

+32-30
Original file line numberDiff line numberDiff line change
@@ -29,37 +29,30 @@ class tutankhm_state : public driver_device
2929
public:
3030
tutankhm_state(const machine_config &mconfig, device_type type, const char *tag) :
3131
driver_device(mconfig, type, tag),
32-
m_videoram(*this, "videoram"),
33-
m_scroll(*this, "scroll"),
34-
m_mainbank(*this, "mainbank"),
3532
m_maincpu(*this, "maincpu"),
3633
m_palette(*this, "palette"),
3734
m_screen(*this, "screen"),
3835
m_timeplt_audio(*this, "timeplt_audio"),
39-
m_stars_config(*this, "STARS")
36+
m_stars_config(*this, "STARS"),
37+
m_videoram(*this, "videoram"),
38+
m_scroll(*this, "scroll"),
39+
m_mainbank(*this, "mainbank")
4040
{
4141
}
4242

4343
void tutankhm(machine_config &config);
4444

4545
protected:
46-
void irq_enable_w(int state);
47-
void tutankhm_bankselect_w(uint8_t data);
48-
void coin_counter_1_w(int state);
49-
void coin_counter_2_w(int state);
50-
void sound_on_w(uint8_t data);
51-
void flip_screen_x_w(int state);
52-
void flip_screen_y_w(int state);
5346
virtual void machine_start() override ATTR_COLD;
5447
virtual void machine_reset() override ATTR_COLD;
55-
uint32_t screen_update_tutankhm_bootleg(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
56-
uint32_t screen_update_tutankhm_scramble(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
57-
uint32_t screen_update_tutankhm(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
58-
void vblank_irq(int state);
59-
void main_map(address_map &map) ATTR_COLD;
6048
virtual void video_start() override ATTR_COLD;
61-
void galaxian_palette(palette_device &palette);
62-
static rgb_t raw_to_rgb_func(u32 raw);
49+
50+
/* devices */
51+
required_device<cpu_device> m_maincpu;
52+
required_device<palette_device> m_palette;
53+
required_device<screen_device> m_screen;
54+
optional_device<timeplt_audio_device> m_timeplt_audio;
55+
optional_ioport m_stars_config;
6356

6457
/* memory pointers */
6558
required_shared_ptr<uint8_t> m_videoram;
@@ -75,27 +68,36 @@ class tutankhm_state : public driver_device
7568
uint8_t m_irq_toggle = 0;
7669
uint8_t m_irq_enable = 0;
7770

78-
/* devices */
79-
required_device<cpu_device> m_maincpu;
80-
required_device<palette_device> m_palette;
81-
required_device<screen_device> m_screen;
82-
optional_device<timeplt_audio_device> m_timeplt_audio;
83-
optional_ioport m_stars_config;
71+
uint8_t m_star_mode = 0;
72+
rgb_t m_star_color[64];
73+
std::unique_ptr<uint8_t[]> m_stars;
74+
uint8_t m_stars_enabled = 0;
75+
uint8_t m_stars_blink_state = 0;
76+
77+
void irq_enable_w(int state);
78+
void bankselect_w(uint8_t data);
79+
void coin_counter_1_w(int state);
80+
void coin_counter_2_w(int state);
81+
void sound_on_w(uint8_t data);
82+
void flip_screen_x_w(int state);
83+
void flip_screen_y_w(int state);
84+
uint32_t screen_update_bootleg(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
85+
uint32_t screen_update_scramble(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
86+
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
87+
void vblank_irq(int state);
88+
void galaxian_palette(palette_device &palette);
89+
static rgb_t raw_to_rgb_func(u32 raw);
8490

8591
TIMER_DEVICE_CALLBACK_MEMBER(scramble_stars_blink_timer);
86-
void galaxian_stars_enable_w(uint8_t data);
92+
void stars_enable_w(uint8_t data);
8793
void stars_init();
8894
void stars_init_scramble();
8995
void stars_init_bootleg();
9096
void stars_draw_row(bitmap_rgb32 &bitmap, int maxx, int y, uint32_t star_offs);
9197
void scramble_draw_stars(bitmap_rgb32 &bitmap, const rectangle &cliprect, int maxx);
9298
void scramble_draw_background(bitmap_rgb32 &bitmap, const rectangle &cliprect);
9399

94-
uint8_t m_star_mode = 0;
95-
rgb_t m_star_color[64];
96-
std::unique_ptr<uint8_t[]> m_stars;
97-
uint8_t m_stars_enabled = 0;
98-
uint8_t m_stars_blink_state = 0;
100+
void main_map(address_map &map) ATTR_COLD;
99101
};
100102

101103
#endif // MAME_KONAMI_TUTANKHM_H

0 commit comments

Comments
 (0)