trunk/src/mame/drivers/mediagx.c
| r18066 | r18067 | |
| 186 | 186 | virtual void machine_reset(); |
| 187 | 187 | virtual void video_start(); |
| 188 | 188 | UINT32 screen_update_mediagx(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
| 189 | DECLARE_READ32_MEMBER(speedup0_r); |
| 190 | DECLARE_READ32_MEMBER(speedup1_r); |
| 191 | DECLARE_READ32_MEMBER(speedup2_r); |
| 192 | DECLARE_READ32_MEMBER(speedup3_r); |
| 193 | DECLARE_READ32_MEMBER(speedup4_r); |
| 194 | DECLARE_READ32_MEMBER(speedup5_r); |
| 195 | DECLARE_READ32_MEMBER(speedup6_r); |
| 196 | DECLARE_READ32_MEMBER(speedup7_r); |
| 197 | DECLARE_READ32_MEMBER(speedup8_r); |
| 198 | DECLARE_READ32_MEMBER(speedup9_r); |
| 199 | DECLARE_READ32_MEMBER(speedup10_r); |
| 200 | DECLARE_READ32_MEMBER(speedup11_r); |
| 189 | 201 | }; |
| 190 | 202 | |
| 191 | 203 | // Display controller registers |
| r18066 | r18067 | |
| 1271 | 1283 | return state->m_main_ram[state->m_speedup_table[idx].offset/4]; |
| 1272 | 1284 | } |
| 1273 | 1285 | |
| 1274 | | static READ32_HANDLER( speedup0_r ) { return generic_speedup(space, 0); } |
| 1275 | | static READ32_HANDLER( speedup1_r ) { return generic_speedup(space, 1); } |
| 1276 | | static READ32_HANDLER( speedup2_r ) { return generic_speedup(space, 2); } |
| 1277 | | static READ32_HANDLER( speedup3_r ) { return generic_speedup(space, 3); } |
| 1278 | | static READ32_HANDLER( speedup4_r ) { return generic_speedup(space, 4); } |
| 1279 | | static READ32_HANDLER( speedup5_r ) { return generic_speedup(space, 5); } |
| 1280 | | static READ32_HANDLER( speedup6_r ) { return generic_speedup(space, 6); } |
| 1281 | | static READ32_HANDLER( speedup7_r ) { return generic_speedup(space, 7); } |
| 1282 | | static READ32_HANDLER( speedup8_r ) { return generic_speedup(space, 8); } |
| 1283 | | static READ32_HANDLER( speedup9_r ) { return generic_speedup(space, 9); } |
| 1284 | | static READ32_HANDLER( speedup10_r ) { return generic_speedup(space, 10); } |
| 1285 | | static READ32_HANDLER( speedup11_r ) { return generic_speedup(space, 11); } |
| 1286 | READ32_MEMBER(mediagx_state::speedup0_r) { return generic_speedup(space, 0); } |
| 1287 | READ32_MEMBER(mediagx_state::speedup1_r) { return generic_speedup(space, 1); } |
| 1288 | READ32_MEMBER(mediagx_state::speedup2_r) { return generic_speedup(space, 2); } |
| 1289 | READ32_MEMBER(mediagx_state::speedup3_r) { return generic_speedup(space, 3); } |
| 1290 | READ32_MEMBER(mediagx_state::speedup4_r) { return generic_speedup(space, 4); } |
| 1291 | READ32_MEMBER(mediagx_state::speedup5_r) { return generic_speedup(space, 5); } |
| 1292 | READ32_MEMBER(mediagx_state::speedup6_r) { return generic_speedup(space, 6); } |
| 1293 | READ32_MEMBER(mediagx_state::speedup7_r) { return generic_speedup(space, 7); } |
| 1294 | READ32_MEMBER(mediagx_state::speedup8_r) { return generic_speedup(space, 8); } |
| 1295 | READ32_MEMBER(mediagx_state::speedup9_r) { return generic_speedup(space, 9); } |
| 1296 | READ32_MEMBER(mediagx_state::speedup10_r) { return generic_speedup(space, 10); } |
| 1297 | READ32_MEMBER(mediagx_state::speedup11_r) { return generic_speedup(space, 11); } |
| 1286 | 1298 | |
| 1287 | | static const struct { read32_space_func func; const char *name; } speedup_handlers[] = |
| 1299 | static const struct { read32_delegate func; } speedup_handlers[] = |
| 1288 | 1300 | { |
| 1289 | | { FUNC(speedup0_r) }, { FUNC(speedup1_r) }, { FUNC(speedup2_r) }, { FUNC(speedup3_r) }, |
| 1290 | | { FUNC(speedup4_r) }, { FUNC(speedup5_r) }, { FUNC(speedup6_r) }, { FUNC(speedup7_r) }, |
| 1291 | | { FUNC(speedup8_r) }, { FUNC(speedup9_r) }, { FUNC(speedup10_r) }, { FUNC(speedup11_r) } |
| 1301 | { read32_delegate(FUNC(mediagx_state::speedup0_r),(mediagx_state*)0) }, { read32_delegate(FUNC(mediagx_state::speedup1_r),(mediagx_state*)0) }, { read32_delegate(FUNC(mediagx_state::speedup2_r),(mediagx_state*)0) }, { read32_delegate(FUNC(mediagx_state::speedup3_r),(mediagx_state*)0) }, |
| 1302 | { read32_delegate(FUNC(mediagx_state::speedup4_r),(mediagx_state*)0) }, { read32_delegate(FUNC(mediagx_state::speedup5_r),(mediagx_state*)0) }, { read32_delegate(FUNC(mediagx_state::speedup6_r),(mediagx_state*)0) }, { read32_delegate(FUNC(mediagx_state::speedup7_r),(mediagx_state*)0) }, |
| 1303 | { read32_delegate(FUNC(mediagx_state::speedup8_r),(mediagx_state*)0) }, { read32_delegate(FUNC(mediagx_state::speedup9_r),(mediagx_state*)0) }, { read32_delegate(FUNC(mediagx_state::speedup10_r),(mediagx_state*)0) }, { read32_delegate(FUNC(mediagx_state::speedup11_r),(mediagx_state*)0) } |
| 1292 | 1304 | }; |
| 1293 | 1305 | |
| 1294 | 1306 | #ifdef MAME_DEBUG |
| r18066 | r18067 | |
| 1312 | 1324 | state->m_speedup_table = entries; |
| 1313 | 1325 | state->m_speedup_count = count; |
| 1314 | 1326 | |
| 1315 | | for (i = 0; i < count; i++) |
| 1316 | | machine.device("maincpu")->memory().space(AS_PROGRAM).install_legacy_read_handler(entries[i].offset, entries[i].offset + 3, speedup_handlers[i].func, speedup_handlers[i].name); |
| 1327 | for (i = 0; i < count; i++) { |
| 1328 | read32_delegate func = speedup_handlers[i].func; |
| 1329 | func.late_bind(*state); |
| 1330 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(entries[i].offset, entries[i].offset + 3, func); |
| 1331 | } |
| 1317 | 1332 | |
| 1318 | 1333 | #ifdef MAME_DEBUG |
| 1319 | 1334 | machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(report_speedups), &machine)); |