trunk/src/mess/drivers/apc.c
| r18974 | r18975 | |
| 175 | 175 | // tile_addr = addr+(x*(state->m_video_ff[WIDTH40_REG]+1)); |
| 176 | 176 | tile_addr = addr+(x*(1)); |
| 177 | 177 | |
| 178 | | tile = state->m_video_ram_1[(tile_addr*2+1) & 0x1fff] & 0x00ff; |
| 178 | tile = state->m_video_ram_1[(tile_addr*2+1) & 0x1fff] & 0x007f; |
| 179 | 179 | attr = (state->m_video_ram_1[(tile_addr*2 & 0x1fff) | 0x2000] & 0x00ff); |
| 180 | 180 | |
| 181 | 181 | // secret = (attr & 1) ^ 1; |
| r18974 | r18975 | |
| 199 | 199 | continue; |
| 200 | 200 | |
| 201 | 201 | // tile_data = secret ? 0 : (state->m_char_rom[tile*char_size+interlace_on*0x800+yi]); |
| 202 | | tile_data = (state->m_char_rom[tile*char_size+yi]); |
| 202 | tile_data = (state->m_char_rom[tile+yi*0x80]); |
| 203 | 203 | |
| 204 | 204 | // if(reverse) { tile_data^=0xff; } |
| 205 | 205 | // if(u_line && yi == 7) { tile_data = 0xff; } |
| r18974 | r18975 | |
| 211 | 211 | if(yi >= char_size) |
| 212 | 212 | pen = 0; |
| 213 | 213 | else |
| 214 | | pen = (tile_data >> (7-xi) & 1) ? color : 0; |
| 214 | pen = (tile_data >> (xi) & 1) ? color : 0; |
| 215 | 215 | |
| 216 | 216 | if(pen) |
| 217 | 217 | bitmap.pix16(res_y, res_x) = pen; |
| r18974 | r18975 | |
| 441 | 441 | |
| 442 | 442 | static const gfx_layout charset_8x16 = |
| 443 | 443 | { |
| 444 | | 8,16, |
| 445 | | 256, |
| 444 | 8, 16, |
| 445 | 128, |
| 446 | 446 | 1, |
| 447 | 447 | { 0 }, |
| 448 | | { 0, 1, 2, 3, 4, 5, 6, 7 }, |
| 449 | | { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 }, |
| 450 | | 8*16 |
| 448 | { 7, 6, 5, 4, 3, 2, 1, 0 }, |
| 449 | { 0*1024, 1*1024, 2*1024, 3*1024, 4*1024, 5*1024, 6*1024, 7*1024, 8*1024, 9*1024, 10*1024, 11*1024, 12*1024, 13*1024, 14*1024, 15*1024 }, |
| 450 | 8 |
| 451 | 451 | }; |
| 452 | 452 | |
| 453 | | |
| 454 | 453 | static GFXDECODE_START( apc ) |
| 455 | | GFXDECODE_ENTRY( "ipl", 0x0000, charset_8x16, 0, 8 ) |
| 456 | | GFXDECODE_ENTRY( "gfx", 0x0000, charset_8x16, 0, 8 ) |
| 454 | GFXDECODE_ENTRY( "gfx", 0x0000, charset_8x16, 0, 128 ) |
| 455 | GFXDECODE_ENTRY( "gfx", 0x0800, charset_8x16, 0, 128 ) |
| 456 | GFXDECODE_ENTRY( "gfx", 0x1000, charset_8x16, 0, 128 ) |
| 457 | GFXDECODE_ENTRY( "gfx", 0x1800, charset_8x16, 0, 128 ) |
| 457 | 458 | GFXDECODE_END |
| 458 | 459 | |
| 459 | 460 | |
| 461 | |
| 460 | 462 | static ADDRESS_MAP_START( upd7220_1_map, AS_0, 8, apc_state) |
| 461 | 463 | AM_RANGE(0x00000, 0x3ffff) AM_RAM AM_SHARE("video_ram_1") |
| 462 | 464 | ADDRESS_MAP_END |
| r18974 | r18975 | |
| 678 | 680 | // ROM_LOAD( "sioapc.o", 0, 0x10000, CRC(1) SHA1(1) ) |
| 679 | 681 | |
| 680 | 682 | ROM_REGION( 0x2000, "gfx", ROMREGION_ERASE00 ) |
| 681 | | ROM_LOAD("pfcu1r.bin", 0x000000, 0x002000, BAD_DUMP CRC(683efa94) SHA1(43157984a1746b2e448f3236f571011af9a3aa73) ) |
| 682 | | ROM_LOAD("hn613128pac8.bin",0x00000, 0x01000, BAD_DUMP CRC(b5a15b5c) SHA1(e5f071edb72a5e9a8b8b1c23cf94a74d24cb648e) ) //fake, taken from PC-9801 |
| 683 | ROM_LOAD("pfcu1r.bin", 0x000000, 0x002000, CRC(683efa94) SHA1(43157984a1746b2e448f3236f571011af9a3aa73) ) |
| 683 | 684 | ROM_END |
| 684 | 685 | |
| 685 | 686 | DRIVER_INIT_MEMBER(apc_state,apc) |