src/mess/drivers/mz2500.c
| r8938 | r8939 | |
| 200 | 200 | |
| 201 | 201 | tv_mode = text_reg[0] >> 2; |
| 202 | 202 | |
| 203 | | switch(tv_mode) |
| 203 | switch(tv_mode & 3) |
| 204 | 204 | { |
| 205 | 205 | // case 0: mixed 6bpp mode |
| 206 | 206 | case 1: |
| r8938 | r8939 | |
| 213 | 213 | draw_40x25(machine,bitmap,cliprect,0); |
| 214 | 214 | draw_40x25(machine,bitmap,cliprect,1); |
| 215 | 215 | break; |
| 216 | | default: popmessage("%02x %02x %02x",tv_mode,text_reg[1],text_reg[2]); break; |
| 216 | default: popmessage("%02x %02x %02x",tv_mode & 3,text_reg[1],text_reg[2]); break; |
| 217 | 217 | } |
| 218 | 218 | } |
| 219 | 219 | |
| r8938 | r8939 | |
| 804 | 804 | { |
| 805 | 805 | static UINT16 vs,ve,hs,he; |
| 806 | 806 | rectangle visarea; |
| 807 | static int x_size,y_size; |
| 807 | 808 | |
| 809 | x_size = ((cg_reg[0x0e] & 0x1f) == 0x17 || (cg_reg[0x0e] & 0x1f) == 0x03) ? 640 : 320; |
| 810 | y_size = ((cg_reg[0x0e] & 0x1f) == 0x03) ? 400 : 200; |
| 811 | |
| 808 | 812 | visarea.min_x = 0; |
| 809 | 813 | visarea.min_y = 0; |
| 810 | | visarea.max_x = 640 - 1; |
| 811 | | visarea.max_y = 200 - 1; |
| 814 | visarea.max_x = x_size - 1; |
| 815 | visarea.max_y = y_size - 1; |
| 812 | 816 | |
| 813 | 817 | vs = (cg_reg[0x08]) | ((cg_reg[0x09]<<8) & 1); |
| 814 | 818 | ve = (cg_reg[0x0a]) | ((cg_reg[0x0b]<<8) & 1); |
| r8938 | r8939 | |
| 1400 | 1404 | MDRV_SCREEN_ADD("screen", RASTER) |
| 1401 | 1405 | MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) |
| 1402 | 1406 | //MDRV_SCREEN_RAW_PARAMS(XTAL_17_73447MHz/2, 568, 0, 320, 312, 0, 200) |
| 1403 | | MDRV_SCREEN_RAW_PARAMS(XTAL_17_73447MHz, 640+108, 0, 640, 480, 0, 200) //TODO: fix this |
| 1407 | MDRV_SCREEN_RAW_PARAMS(XTAL_17_73447MHz, 640+108, 0, 320, 480, 0, 200) //TODO: fix this |
| 1404 | 1408 | MDRV_PALETTE_LENGTH(0x200+4096) // TODO: it needs more than this |
| 1405 | 1409 | MDRV_PALETTE_INIT(mz2500) |
| 1406 | 1410 | |