src/mess/machine/special.c
| r14894 | r14895 | |
| 119 | 119 | */ |
| 120 | 120 | WRITE8_MEMBER( special_state::video_memory_w ) |
| 121 | 121 | { |
| 122 | | machine().device<ram_device>(RAM_TAG)->pointer()[0x9000 + offset] = data; |
| 122 | m_ram->pointer()[0x9000 + offset] = data; |
| 123 | 123 | m_specimx_colorram[offset] = m_specimx_color; |
| 124 | 124 | } |
| 125 | 125 | |
| r14894 | r14895 | |
| 136 | 136 | void special_state::specimx_set_bank(offs_t i, UINT8 data) |
| 137 | 137 | { |
| 138 | 138 | address_space *space = m_maincpu->memory().space(AS_PROGRAM); |
| 139 | | UINT8 *ram = machine().device<ram_device>(RAM_TAG)->pointer(); |
| 139 | UINT8 *ram = m_ram->pointer(); |
| 140 | 140 | |
| 141 | 141 | space->install_write_bank(0xc000, 0xffbf, "bank3"); |
| 142 | 142 | space->install_write_bank(0xffc0, 0xffdf, "bank4"); |
| r14894 | r14895 | |
| 145 | 145 | { |
| 146 | 146 | case 0 : |
| 147 | 147 | space->install_write_bank(0x0000, 0x8fff, "bank1"); |
| 148 | | //space->install_legacy_write_handler(0x9000, 0xbfff, FUNC(video_memory_w)); |
| 149 | 148 | space->install_write_handler(0x9000, 0xbfff, write8_delegate(FUNC(special_state::video_memory_w), this)); |
| 150 | 149 | |
| 151 | 150 | memory_set_bankptr(machine(), "bank1", ram); |
| r14894 | r14895 | |
| 274 | 273 | UINT8 bank3 = (m_RR_register >> 4) & 3; |
| 275 | 274 | UINT8 bank4 = (m_RR_register >> 6) & 3; |
| 276 | 275 | UINT8 *mem = machine().region("maincpu")->base(); |
| 277 | | UINT8 *ram = machine().device<ram_device>(RAM_TAG)->pointer(); |
| 276 | UINT8 *ram = m_ram->pointer(); |
| 278 | 277 | address_space *space = m_maincpu->memory().space(AS_PROGRAM); |
| 279 | 278 | |
| 280 | 279 | space->install_write_bank(0x0000, 0x3fff, "bank1"); |
src/mess/video/special.c
| r14894 | r14895 | |
| 89 | 89 | SCREEN_UPDATE_IND16( specimx ) |
| 90 | 90 | { |
| 91 | 91 | special_state *state = screen.machine().driver_data<special_state>(); |
| 92 | | UINT8 code,color; |
| 92 | UINT8 code, color; |
| 93 | 93 | int y, x, b; |
| 94 | 94 | |
| 95 | 95 | for (x = 0; x < 48; x++) |
| 96 | 96 | { |
| 97 | 97 | for (y = 0; y < 256; y++) |
| 98 | 98 | { |
| 99 | | code = screen.machine().device<ram_device>(RAM_TAG)->pointer()[0x9000 + y + x*256]; |
| 99 | code = state->m_ram->pointer()[0x9000 + y + x*256]; |
| 100 | 100 | color = state->m_specimx_colorram[y + x*256]; |
| 101 | 101 | for (b = 7; b >= 0; b--) |
| 102 | 102 | bitmap.pix16(y, x*8+(7-b)) = ((code >> b) & 0x01)==0 ? color & 0x0f : (color >> 4)& 0x0f ; |
| r14894 | r14895 | |
| 129 | 129 | SCREEN_UPDATE_IND16( erik ) |
| 130 | 130 | { |
| 131 | 131 | special_state *state = screen.machine().driver_data<special_state>(); |
| 132 | | UINT8 code1; |
| 133 | | UINT8 code2; |
| 134 | | UINT8 color1,color2; |
| 132 | UINT8 code1, code2, color1, color2; |
| 135 | 133 | int y, x, b; |
| 136 | | UINT8 *erik_video_ram_p1; |
| 137 | | UINT8 *erik_video_ram_p2; |
| 134 | UINT8 *erik_video_ram_p1, *erik_video_ram_p2; |
| 138 | 135 | |
| 139 | | erik_video_ram_p1 = screen.machine().device<ram_device>(RAM_TAG)->pointer() + 0x9000; |
| 140 | | erik_video_ram_p2 = screen.machine().device<ram_device>(RAM_TAG)->pointer() + 0xd000; |
| 136 | erik_video_ram_p1 = state->m_ram->pointer() + 0x9000; |
| 137 | erik_video_ram_p2 = state->m_ram->pointer() + 0xd000; |
| 141 | 138 | |
| 142 | 139 | for (x = 0; x < 48; x++) |
| 143 | 140 | { |
src/mess/drivers/special.c
| r14894 | r14895 | |
| 577 | 577 | |
| 578 | 578 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 579 | 579 | COMP( 1985, special, 0, 0, special, special, special, "<unknown>", "Specialist", GAME_NOT_WORKING ) |
| 580 | | COMP( 1985, specialm, special, 0, special, special, special, "<unknown>", "Specialist M", GAME_NOT_WORKING ) |
| 580 | COMP( 1985, specialm, special, 0, special, special, special, "<unknown>", "Specialist M", 0 ) |
| 581 | 581 | COMP( 1985, pioner, special, 0, special, special, special, "<unknown>", "Pioner", GAME_NOT_WORKING ) |
| 582 | 582 | COMP( 1985, specialp, special, 0, specialp, specialp, special, "<unknown>", "Specialist + hires graph", GAME_NOT_WORKING ) |
| 583 | 583 | COMP( 1985, lik, special, 0, special, lik, special, "<unknown>", "Lik", GAME_NOT_WORKING ) |