trunk/src/mame/includes/atari.h
| r31965 | r31966 | |
| 59 | 59 | inline void LMS(int new_cmd); |
| 60 | 60 | void antic_scanline_dma(int param); |
| 61 | 61 | void generic_atari_interrupt(int button_count); |
| 62 | |
| 63 | int m_antic_render1, m_antic_render2, m_antic_render3; |
| 62 | 64 | }; |
| 63 | 65 | |
| 64 | 66 | /* video */ |
| r31965 | r31966 | |
| 559 | 561 | |
| 560 | 562 | void antic_start(running_machine &machine); |
| 561 | 563 | void antic_reset(void); |
| 564 | void antic_render(address_space &space, VIDEO *video, int param1, int param2, int param3); |
| 562 | 565 | |
| 563 | 566 | |
| 564 | | #define ANTIC_RENDERER(name) void name(address_space &space, VIDEO *video) |
| 565 | | |
| 566 | | ANTIC_RENDERER( antic_mode_0_xx ); |
| 567 | | ANTIC_RENDERER( antic_mode_2_32 ); |
| 568 | | ANTIC_RENDERER( antic_mode_2_40 ); |
| 569 | | ANTIC_RENDERER( antic_mode_2_48 ); |
| 570 | | ANTIC_RENDERER( antic_mode_3_32 ); |
| 571 | | ANTIC_RENDERER( antic_mode_3_40 ); |
| 572 | | ANTIC_RENDERER( antic_mode_3_48 ); |
| 573 | | ANTIC_RENDERER( antic_mode_4_32 ); |
| 574 | | ANTIC_RENDERER( antic_mode_4_40 ); |
| 575 | | ANTIC_RENDERER( antic_mode_4_48 ); |
| 576 | | ANTIC_RENDERER( antic_mode_5_32 ); |
| 577 | | ANTIC_RENDERER( antic_mode_5_40 ); |
| 578 | | ANTIC_RENDERER( antic_mode_5_48 ); |
| 579 | | ANTIC_RENDERER( antic_mode_6_32 ); |
| 580 | | ANTIC_RENDERER( antic_mode_6_40 ); |
| 581 | | ANTIC_RENDERER( antic_mode_6_48 ); |
| 582 | | ANTIC_RENDERER( antic_mode_7_32 ); |
| 583 | | ANTIC_RENDERER( antic_mode_7_40 ); |
| 584 | | ANTIC_RENDERER( antic_mode_7_48 ); |
| 585 | | ANTIC_RENDERER( antic_mode_8_32 ); |
| 586 | | ANTIC_RENDERER( antic_mode_8_40 ); |
| 587 | | ANTIC_RENDERER( antic_mode_8_48 ); |
| 588 | | ANTIC_RENDERER( antic_mode_9_32 ); |
| 589 | | ANTIC_RENDERER( antic_mode_9_40 ); |
| 590 | | ANTIC_RENDERER( antic_mode_9_48 ); |
| 591 | | ANTIC_RENDERER( antic_mode_a_32 ); |
| 592 | | ANTIC_RENDERER( antic_mode_a_40 ); |
| 593 | | ANTIC_RENDERER( antic_mode_a_48 ); |
| 594 | | ANTIC_RENDERER( antic_mode_b_32 ); |
| 595 | | ANTIC_RENDERER( antic_mode_b_40 ); |
| 596 | | ANTIC_RENDERER( antic_mode_b_48 ); |
| 597 | | ANTIC_RENDERER( antic_mode_c_32 ); |
| 598 | | ANTIC_RENDERER( antic_mode_c_40 ); |
| 599 | | ANTIC_RENDERER( antic_mode_c_48 ); |
| 600 | | ANTIC_RENDERER( antic_mode_d_32 ); |
| 601 | | ANTIC_RENDERER( antic_mode_d_40 ); |
| 602 | | ANTIC_RENDERER( antic_mode_d_48 ); |
| 603 | | ANTIC_RENDERER( antic_mode_e_32 ); |
| 604 | | ANTIC_RENDERER( antic_mode_e_40 ); |
| 605 | | ANTIC_RENDERER( antic_mode_e_48 ); |
| 606 | | ANTIC_RENDERER( antic_mode_f_32 ); |
| 607 | | ANTIC_RENDERER( antic_mode_f_40 ); |
| 608 | | ANTIC_RENDERER( antic_mode_f_48 ); |
| 609 | | ANTIC_RENDERER( gtia_mode_1_32 ); |
| 610 | | ANTIC_RENDERER( gtia_mode_1_40 ); |
| 611 | | ANTIC_RENDERER( gtia_mode_1_48 ); |
| 612 | | ANTIC_RENDERER( gtia_mode_2_32 ); |
| 613 | | ANTIC_RENDERER( gtia_mode_2_40 ); |
| 614 | | ANTIC_RENDERER( gtia_mode_2_48 ); |
| 615 | | ANTIC_RENDERER( gtia_mode_3_32 ); |
| 616 | | ANTIC_RENDERER( gtia_mode_3_40 ); |
| 617 | | ANTIC_RENDERER( gtia_mode_3_48 ); |
| 618 | | |
| 619 | 567 | #endif /* ATARI_H */ |
trunk/src/mame/video/atari.c
| r31965 | r31966 | |
| 709 | 709 | |
| 710 | 710 | antic.bitmap = auto_bitmap_ind16_alloc(machine(), machine().first_screen()->width(), machine().first_screen()->height()); |
| 711 | 711 | |
| 712 | | antic.renderer = antic_mode_0_xx; |
| 712 | m_antic_render1 = 0; |
| 713 | m_antic_render2 = 0; |
| 714 | m_antic_render3 = 0; |
| 713 | 715 | antic.cclk_expand = auto_alloc_array(machine(), UINT32, 21 * 256); |
| 714 | 716 | |
| 715 | 717 | antic.pf_21 = &antic.cclk_expand[ 0 * 256]; |
| r31965 | r31966 | |
| 1058 | 1060 | } |
| 1059 | 1061 | |
| 1060 | 1062 | |
| 1061 | | static const atari_renderer_func renderer[2][19][5] = { |
| 1062 | | /* no playfield narrow normal wide */ |
| 1063 | | { |
| 1064 | | {antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx}, |
| 1065 | | {antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx}, |
| 1066 | | {antic_mode_0_xx,antic_mode_2_32,antic_mode_2_40,antic_mode_2_48}, |
| 1067 | | {antic_mode_0_xx,antic_mode_3_32,antic_mode_3_40,antic_mode_3_48}, |
| 1068 | | {antic_mode_0_xx,antic_mode_4_32,antic_mode_4_40,antic_mode_4_48}, |
| 1069 | | {antic_mode_0_xx,antic_mode_5_32,antic_mode_5_40,antic_mode_5_48}, |
| 1070 | | {antic_mode_0_xx,antic_mode_6_32,antic_mode_6_40,antic_mode_6_48}, |
| 1071 | | {antic_mode_0_xx,antic_mode_7_32,antic_mode_7_40,antic_mode_7_48}, |
| 1072 | | {antic_mode_0_xx,antic_mode_8_32,antic_mode_8_40,antic_mode_8_48}, |
| 1073 | | {antic_mode_0_xx,antic_mode_9_32,antic_mode_9_40,antic_mode_9_48}, |
| 1074 | | {antic_mode_0_xx,antic_mode_a_32,antic_mode_a_40,antic_mode_a_48}, |
| 1075 | | {antic_mode_0_xx,antic_mode_b_32,antic_mode_b_40,antic_mode_b_48}, |
| 1076 | | {antic_mode_0_xx,antic_mode_c_32,antic_mode_c_40,antic_mode_c_48}, |
| 1077 | | {antic_mode_0_xx,antic_mode_d_32,antic_mode_d_40,antic_mode_d_48}, |
| 1078 | | {antic_mode_0_xx,antic_mode_e_32,antic_mode_e_40,antic_mode_e_48}, |
| 1079 | | {antic_mode_0_xx,antic_mode_f_32,antic_mode_f_40,antic_mode_f_48}, |
| 1080 | | {antic_mode_0_xx, gtia_mode_1_32, gtia_mode_1_40, gtia_mode_1_48}, |
| 1081 | | {antic_mode_0_xx, gtia_mode_2_32, gtia_mode_2_40, gtia_mode_2_48}, |
| 1082 | | {antic_mode_0_xx, gtia_mode_3_32, gtia_mode_3_40, gtia_mode_3_48}, |
| 1083 | | }, |
| 1084 | | /* with hscrol enabled playfield width is +32 color clocks */ |
| 1085 | | /* no playfield narrow->normal normal->wide wide->wide */ |
| 1086 | | { |
| 1087 | | {antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx}, |
| 1088 | | {antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx}, |
| 1089 | | {antic_mode_0_xx,antic_mode_2_40,antic_mode_2_48,antic_mode_2_48}, |
| 1090 | | {antic_mode_0_xx,antic_mode_3_40,antic_mode_3_48,antic_mode_3_48}, |
| 1091 | | {antic_mode_0_xx,antic_mode_4_40,antic_mode_4_48,antic_mode_4_48}, |
| 1092 | | {antic_mode_0_xx,antic_mode_5_40,antic_mode_5_48,antic_mode_5_48}, |
| 1093 | | {antic_mode_0_xx,antic_mode_6_40,antic_mode_6_48,antic_mode_6_48}, |
| 1094 | | {antic_mode_0_xx,antic_mode_7_40,antic_mode_7_48,antic_mode_7_48}, |
| 1095 | | {antic_mode_0_xx,antic_mode_8_40,antic_mode_8_48,antic_mode_8_48}, |
| 1096 | | {antic_mode_0_xx,antic_mode_9_40,antic_mode_9_48,antic_mode_9_48}, |
| 1097 | | {antic_mode_0_xx,antic_mode_a_40,antic_mode_a_48,antic_mode_a_48}, |
| 1098 | | {antic_mode_0_xx,antic_mode_b_40,antic_mode_b_48,antic_mode_b_48}, |
| 1099 | | {antic_mode_0_xx,antic_mode_c_40,antic_mode_c_48,antic_mode_c_48}, |
| 1100 | | {antic_mode_0_xx,antic_mode_d_40,antic_mode_d_48,antic_mode_d_48}, |
| 1101 | | {antic_mode_0_xx,antic_mode_e_40,antic_mode_e_48,antic_mode_e_48}, |
| 1102 | | {antic_mode_0_xx,antic_mode_f_40,antic_mode_f_48,antic_mode_f_48}, |
| 1103 | | {antic_mode_0_xx, gtia_mode_1_40, gtia_mode_1_48, gtia_mode_1_48}, |
| 1104 | | {antic_mode_0_xx, gtia_mode_2_40, gtia_mode_2_48, gtia_mode_2_48}, |
| 1105 | | {antic_mode_0_xx, gtia_mode_3_40, gtia_mode_3_48, gtia_mode_3_48}, |
| 1106 | | } |
| 1107 | | }; |
| 1108 | | |
| 1109 | 1063 | /***************************************************************************** |
| 1110 | 1064 | * |
| 1111 | 1065 | * Antic Line Done |
| r31965 | r31966 | |
| 1163 | 1117 | VIDEO *video = antic.video[antic.scanline]; |
| 1164 | 1118 | LOG((" @cycle #%3d render mode $%X lines to go #%d\n", cycle(), (antic.cmd & 0x0f), antic.modelines)); |
| 1165 | 1119 | |
| 1166 | | (*antic.renderer)(space, video); |
| 1120 | antic_render(space, video, m_antic_render1, m_antic_render2, m_antic_render3); |
| 1167 | 1121 | |
| 1168 | 1122 | /* if player/missile graphics is enabled */ |
| 1169 | 1123 | if( antic.scanline < 256 && (antic.w.dmactl & (DMA_PLAYER|DMA_MISSILE)) ) |
| r31965 | r31966 | |
| 1264 | 1218 | { |
| 1265 | 1219 | if( antic.modelines <= 0 ) |
| 1266 | 1220 | { |
| 1267 | | int h = 0, w = antic.w.dmactl & 3; |
| 1221 | m_antic_render1 = 0; |
| 1222 | m_antic_render3 = antic.w.dmactl & 3; |
| 1268 | 1223 | UINT8 vscrol_subtract = 0; |
| 1269 | 1224 | UINT8 new_cmd; |
| 1270 | 1225 | |
| r31965 | r31966 | |
| 1295 | 1250 | /* does this command have horizontal scroll enabled ? */ |
| 1296 | 1251 | if( new_cmd & ANTIC_HSCR ) |
| 1297 | 1252 | { |
| 1298 | | h = 1; |
| 1253 | m_antic_render1 = 1; |
| 1299 | 1254 | antic.hscrol_old = antic.w.hscrol; |
| 1300 | 1255 | } |
| 1301 | 1256 | else |
| r31965 | r31966 | |
| 1304 | 1259 | } |
| 1305 | 1260 | } |
| 1306 | 1261 | /* Set the ANTIC mode renderer function */ |
| 1307 | | antic.renderer = renderer[h][new_cmd & ANTIC_MODE][w]; |
| 1262 | m_antic_render2 = new_cmd & ANTIC_MODE; |
| 1308 | 1263 | |
| 1309 | 1264 | switch( new_cmd & ANTIC_MODE ) |
| 1310 | 1265 | { |
| r31965 | r31966 | |
| 1431 | 1386 | switch (m_gtia->get_w_prior() >> 6) |
| 1432 | 1387 | { |
| 1433 | 1388 | case 0: break; |
| 1434 | | case 1: antic.renderer = renderer[h][16][w]; break; |
| 1435 | | case 2: antic.renderer = renderer[h][17][w]; break; |
| 1436 | | case 3: antic.renderer = renderer[h][18][w]; break; |
| 1389 | case 1: m_antic_render2 = 16; break; |
| 1390 | case 2: m_antic_render2 = 17; break; |
| 1391 | case 3: m_antic_render2 = 18; break; |
| 1437 | 1392 | } |
| 1438 | 1393 | antic.modelines = 1; |
| 1439 | 1394 | break; |
| r31965 | r31966 | |
| 1446 | 1401 | { |
| 1447 | 1402 | LOG((" out of visible range\n")); |
| 1448 | 1403 | antic.cmd = 0x00; |
| 1449 | | antic.renderer = antic_mode_0_xx; |
| 1404 | m_antic_render1 = 0; |
| 1405 | m_antic_render2 = 0; |
| 1406 | m_antic_render3 = 0; |
| 1450 | 1407 | } |
| 1451 | 1408 | } |
| 1452 | 1409 | else |
| 1453 | 1410 | { |
| 1454 | 1411 | LOG((" DMA is off\n")); |
| 1455 | 1412 | antic.cmd = 0x00; |
| 1456 | | antic.renderer = antic_mode_0_xx; |
| 1413 | m_antic_render1 = 0; |
| 1414 | m_antic_render2 = 0; |
| 1415 | m_antic_render3 = 0; |
| 1457 | 1416 | } |
| 1458 | 1417 | |
| 1459 | 1418 | antic.r.nmist &= ~DLI_NMI; |
| r31965 | r31966 | |
| 1489 | 1448 | |
| 1490 | 1449 | /* do nothing new for the rest of the frame */ |
| 1491 | 1450 | antic.modelines = machine().first_screen()->height() - VBL_START; |
| 1492 | | antic.renderer = antic_mode_0_xx; |
| 1493 | | |
| 1451 | m_antic_render1 = 0; |
| 1452 | m_antic_render2 = 0; |
| 1453 | m_antic_render3 = 0; |
| 1454 | |
| 1494 | 1455 | /* if the CPU want's to be interrupted at vertical blank... */ |
| 1495 | 1456 | if( antic.w.nmien & VBL_NMI ) |
| 1496 | 1457 | { |
trunk/src/mame/video/antic.c
| r31965 | r31966 | |
| 18 | 18 | |
| 19 | 19 | #define LOG(x) do { if (VERBOSE) logerror x; } while (0) |
| 20 | 20 | |
| 21 | // declaration of renderer functions |
| 22 | #define ANTIC_RENDERER(name) void name(address_space &space, VIDEO *video) |
| 23 | |
| 24 | ANTIC_RENDERER( antic_mode_0_xx ); |
| 25 | ANTIC_RENDERER( antic_mode_2_32 ); |
| 26 | ANTIC_RENDERER( antic_mode_2_40 ); |
| 27 | ANTIC_RENDERER( antic_mode_2_48 ); |
| 28 | ANTIC_RENDERER( antic_mode_3_32 ); |
| 29 | ANTIC_RENDERER( antic_mode_3_40 ); |
| 30 | ANTIC_RENDERER( antic_mode_3_48 ); |
| 31 | ANTIC_RENDERER( antic_mode_4_32 ); |
| 32 | ANTIC_RENDERER( antic_mode_4_40 ); |
| 33 | ANTIC_RENDERER( antic_mode_4_48 ); |
| 34 | ANTIC_RENDERER( antic_mode_5_32 ); |
| 35 | ANTIC_RENDERER( antic_mode_5_40 ); |
| 36 | ANTIC_RENDERER( antic_mode_5_48 ); |
| 37 | ANTIC_RENDERER( antic_mode_6_32 ); |
| 38 | ANTIC_RENDERER( antic_mode_6_40 ); |
| 39 | ANTIC_RENDERER( antic_mode_6_48 ); |
| 40 | ANTIC_RENDERER( antic_mode_7_32 ); |
| 41 | ANTIC_RENDERER( antic_mode_7_40 ); |
| 42 | ANTIC_RENDERER( antic_mode_7_48 ); |
| 43 | ANTIC_RENDERER( antic_mode_8_32 ); |
| 44 | ANTIC_RENDERER( antic_mode_8_40 ); |
| 45 | ANTIC_RENDERER( antic_mode_8_48 ); |
| 46 | ANTIC_RENDERER( antic_mode_9_32 ); |
| 47 | ANTIC_RENDERER( antic_mode_9_40 ); |
| 48 | ANTIC_RENDERER( antic_mode_9_48 ); |
| 49 | ANTIC_RENDERER( antic_mode_a_32 ); |
| 50 | ANTIC_RENDERER( antic_mode_a_40 ); |
| 51 | ANTIC_RENDERER( antic_mode_a_48 ); |
| 52 | ANTIC_RENDERER( antic_mode_b_32 ); |
| 53 | ANTIC_RENDERER( antic_mode_b_40 ); |
| 54 | ANTIC_RENDERER( antic_mode_b_48 ); |
| 55 | ANTIC_RENDERER( antic_mode_c_32 ); |
| 56 | ANTIC_RENDERER( antic_mode_c_40 ); |
| 57 | ANTIC_RENDERER( antic_mode_c_48 ); |
| 58 | ANTIC_RENDERER( antic_mode_d_32 ); |
| 59 | ANTIC_RENDERER( antic_mode_d_40 ); |
| 60 | ANTIC_RENDERER( antic_mode_d_48 ); |
| 61 | ANTIC_RENDERER( antic_mode_e_32 ); |
| 62 | ANTIC_RENDERER( antic_mode_e_40 ); |
| 63 | ANTIC_RENDERER( antic_mode_e_48 ); |
| 64 | ANTIC_RENDERER( antic_mode_f_32 ); |
| 65 | ANTIC_RENDERER( antic_mode_f_40 ); |
| 66 | ANTIC_RENDERER( antic_mode_f_48 ); |
| 67 | ANTIC_RENDERER( gtia_mode_1_32 ); |
| 68 | ANTIC_RENDERER( gtia_mode_1_40 ); |
| 69 | ANTIC_RENDERER( gtia_mode_1_48 ); |
| 70 | ANTIC_RENDERER( gtia_mode_2_32 ); |
| 71 | ANTIC_RENDERER( gtia_mode_2_40 ); |
| 72 | ANTIC_RENDERER( gtia_mode_2_48 ); |
| 73 | ANTIC_RENDERER( gtia_mode_3_32 ); |
| 74 | ANTIC_RENDERER( gtia_mode_3_40 ); |
| 75 | ANTIC_RENDERER( gtia_mode_3_48 ); |
| 76 | |
| 77 | |
| 21 | 78 | ANTIC antic; |
| 22 | 79 | |
| 23 | 80 | void antic_start(running_machine &machine) |
| r31965 | r31966 | |
| 242 | 299 | } |
| 243 | 300 | } |
| 244 | 301 | |
| 302 | |
| 303 | static const atari_renderer_func renderer[2][19][5] = { |
| 304 | /* no playfield narrow normal wide */ |
| 305 | { |
| 306 | {antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx}, |
| 307 | {antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx}, |
| 308 | {antic_mode_0_xx,antic_mode_2_32,antic_mode_2_40,antic_mode_2_48}, |
| 309 | {antic_mode_0_xx,antic_mode_3_32,antic_mode_3_40,antic_mode_3_48}, |
| 310 | {antic_mode_0_xx,antic_mode_4_32,antic_mode_4_40,antic_mode_4_48}, |
| 311 | {antic_mode_0_xx,antic_mode_5_32,antic_mode_5_40,antic_mode_5_48}, |
| 312 | {antic_mode_0_xx,antic_mode_6_32,antic_mode_6_40,antic_mode_6_48}, |
| 313 | {antic_mode_0_xx,antic_mode_7_32,antic_mode_7_40,antic_mode_7_48}, |
| 314 | {antic_mode_0_xx,antic_mode_8_32,antic_mode_8_40,antic_mode_8_48}, |
| 315 | {antic_mode_0_xx,antic_mode_9_32,antic_mode_9_40,antic_mode_9_48}, |
| 316 | {antic_mode_0_xx,antic_mode_a_32,antic_mode_a_40,antic_mode_a_48}, |
| 317 | {antic_mode_0_xx,antic_mode_b_32,antic_mode_b_40,antic_mode_b_48}, |
| 318 | {antic_mode_0_xx,antic_mode_c_32,antic_mode_c_40,antic_mode_c_48}, |
| 319 | {antic_mode_0_xx,antic_mode_d_32,antic_mode_d_40,antic_mode_d_48}, |
| 320 | {antic_mode_0_xx,antic_mode_e_32,antic_mode_e_40,antic_mode_e_48}, |
| 321 | {antic_mode_0_xx,antic_mode_f_32,antic_mode_f_40,antic_mode_f_48}, |
| 322 | {antic_mode_0_xx, gtia_mode_1_32, gtia_mode_1_40, gtia_mode_1_48}, |
| 323 | {antic_mode_0_xx, gtia_mode_2_32, gtia_mode_2_40, gtia_mode_2_48}, |
| 324 | {antic_mode_0_xx, gtia_mode_3_32, gtia_mode_3_40, gtia_mode_3_48}, |
| 325 | }, |
| 326 | /* with hscrol enabled playfield width is +32 color clocks */ |
| 327 | /* no playfield narrow->normal normal->wide wide->wide */ |
| 328 | { |
| 329 | {antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx}, |
| 330 | {antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx,antic_mode_0_xx}, |
| 331 | {antic_mode_0_xx,antic_mode_2_40,antic_mode_2_48,antic_mode_2_48}, |
| 332 | {antic_mode_0_xx,antic_mode_3_40,antic_mode_3_48,antic_mode_3_48}, |
| 333 | {antic_mode_0_xx,antic_mode_4_40,antic_mode_4_48,antic_mode_4_48}, |
| 334 | {antic_mode_0_xx,antic_mode_5_40,antic_mode_5_48,antic_mode_5_48}, |
| 335 | {antic_mode_0_xx,antic_mode_6_40,antic_mode_6_48,antic_mode_6_48}, |
| 336 | {antic_mode_0_xx,antic_mode_7_40,antic_mode_7_48,antic_mode_7_48}, |
| 337 | {antic_mode_0_xx,antic_mode_8_40,antic_mode_8_48,antic_mode_8_48}, |
| 338 | {antic_mode_0_xx,antic_mode_9_40,antic_mode_9_48,antic_mode_9_48}, |
| 339 | {antic_mode_0_xx,antic_mode_a_40,antic_mode_a_48,antic_mode_a_48}, |
| 340 | {antic_mode_0_xx,antic_mode_b_40,antic_mode_b_48,antic_mode_b_48}, |
| 341 | {antic_mode_0_xx,antic_mode_c_40,antic_mode_c_48,antic_mode_c_48}, |
| 342 | {antic_mode_0_xx,antic_mode_d_40,antic_mode_d_48,antic_mode_d_48}, |
| 343 | {antic_mode_0_xx,antic_mode_e_40,antic_mode_e_48,antic_mode_e_48}, |
| 344 | {antic_mode_0_xx,antic_mode_f_40,antic_mode_f_48,antic_mode_f_48}, |
| 345 | {antic_mode_0_xx, gtia_mode_1_40, gtia_mode_1_48, gtia_mode_1_48}, |
| 346 | {antic_mode_0_xx, gtia_mode_2_40, gtia_mode_2_48, gtia_mode_2_48}, |
| 347 | {antic_mode_0_xx, gtia_mode_3_40, gtia_mode_3_48, gtia_mode_3_48}, |
| 348 | } |
| 349 | }; |
| 350 | |
| 351 | void antic_render(address_space &space, VIDEO *video, int param1, int param2, int param3) |
| 352 | { |
| 353 | (*renderer[param1][param2][param3])(space, video); |
| 354 | } |
| 355 | |
| 245 | 356 | /************* ANTIC mode 00: ********************************* |
| 246 | 357 | * generate 1-8 empty scanlines |
| 247 | 358 | ***************************************************************/ |