src/mame/machine/kabuki.c
| r8807 | r8808 | |
| 167 | 167 | int numbanks = (memory_region_length(machine, "maincpu") - 0x10000) / 0x4000; |
| 168 | 168 | int i; |
| 169 | 169 | |
| 170 | | memory_set_decrypted_region(space, 0x0000, 0x7fff, decrypt); |
| 170 | space->set_decrypted_region(0x0000, 0x7fff, decrypt); |
| 171 | 171 | kabuki_decode(rom,decrypt,rom,0x0000,0x8000, swap_key1,swap_key2,addr_key,xor_key); |
| 172 | 172 | |
| 173 | 173 | rom += 0x10000; |
| r8807 | r8808 | |
| 206 | 206 | UINT8 *decrypt = auto_alloc_array(machine, UINT8, 0x8000); |
| 207 | 207 | UINT8 *rom = memory_region(machine, "audiocpu"); |
| 208 | 208 | |
| 209 | | memory_set_decrypted_region(space, 0x0000, 0x7fff, decrypt); |
| 209 | space->set_decrypted_region(0x0000, 0x7fff, decrypt); |
| 210 | 210 | kabuki_decode(rom,decrypt,rom,0x0000,0x8000, swap_key1,swap_key2,addr_key,xor_key); |
| 211 | 211 | } |
| 212 | 212 | |
src/emu/debug/debugcpu.c
| r8807 | r8808 | |
| 1133 | 1133 | if (opcode & 1) |
| 1134 | 1134 | base = (UINT8 *)memory_decrypted_read_ptr(space, address & ~lowmask); |
| 1135 | 1135 | else |
| 1136 | | base = (UINT8 *)memory_get_read_ptr(space, address & ~lowmask); |
| 1136 | base = (UINT8 *)space->get_read_ptr(address & ~lowmask); |
| 1137 | 1137 | |
| 1138 | 1138 | /* if we have a valid base, return the appropriate byte */ |
| 1139 | 1139 | if (base != NULL) |
| r8807 | r8808 | |
| 1306 | 1306 | if (opcode & 1) |
| 1307 | 1307 | base = (UINT8 *)memory_decrypted_read_ptr(space, address & ~lowmask); |
| 1308 | 1308 | else |
| 1309 | | base = (UINT8 *)memory_get_read_ptr(space, address & ~lowmask); |
| 1309 | base = (UINT8 *)space->get_read_ptr(address & ~lowmask); |
| 1310 | 1310 | |
| 1311 | 1311 | /* if we have a valid base, write the appropriate byte */ |
| 1312 | 1312 | if (base != NULL) |
| r8807 | r8808 | |
| 2592 | 2592 | } |
| 2593 | 2593 | |
| 2594 | 2594 | // push the flags out globally |
| 2595 | | memory_enable_read_watchpoints(&space, enableread); |
| 2596 | | memory_enable_write_watchpoints(&space, enablewrite); |
| 2595 | space.enable_read_watchpoints(enableread); |
| 2596 | space.enable_write_watchpoints(enablewrite); |
| 2597 | 2597 | } |
| 2598 | 2598 | |
| 2599 | 2599 | |
| r8807 | r8808 | |
| 2789 | 2789 | UINT64 device_debug::get_logunmap(void *globalref, void *ref) |
| 2790 | 2790 | { |
| 2791 | 2791 | address_space *space = reinterpret_cast<address_space *>(ref); |
| 2792 | | return memory_get_log_unmap(space); |
| 2792 | return space->log_unmap(); |
| 2793 | 2793 | } |
| 2794 | 2794 | |
| 2795 | 2795 | |
src/emu/memory.h
| r8807 | r8808 | |
| 851 | 851 | static inline UINT64 memory_decrypted_read_qword(address_space *space, offs_t byteaddress) { return space->direct().read_decrypted_qword(byteaddress); } |
| 852 | 852 | |
| 853 | 853 | |
| 854 | | |
| 855 | | |
| 856 | | static inline void memory_set_decrypted_region(address_space *space, offs_t addrstart, offs_t addrend, void *base) |
| 857 | | { |
| 858 | | const_cast<address_space *>(space)->set_decrypted_region(addrstart, addrend, base); |
| 859 | | } |
| 860 | | |
| 861 | | static inline void *memory_get_read_ptr(address_space *space, offs_t byteaddress) |
| 862 | | { |
| 863 | | return const_cast<address_space *>(space)->get_read_ptr(byteaddress); |
| 864 | | } |
| 865 | | |
| 866 | | static inline void *memory_get_write_ptr(address_space *space, offs_t byteaddress) |
| 867 | | { |
| 868 | | return const_cast<address_space *>(space)->get_write_ptr(byteaddress); |
| 869 | | } |
| 870 | | |
| 871 | | static inline const char *memory_get_handler_string(address_space *space, read_or_write readorwrite, offs_t byteaddress) |
| 872 | | { |
| 873 | | return const_cast<address_space *>(space)->get_handler_string(readorwrite, byteaddress); |
| 874 | | } |
| 875 | | |
| 876 | | static inline void memory_enable_read_watchpoints(address_space *space, bool enable) |
| 877 | | { |
| 878 | | const_cast<address_space *>(space)->enable_read_watchpoints(enable); |
| 879 | | } |
| 880 | | |
| 881 | | static inline void memory_enable_write_watchpoints(address_space *space, bool enable) |
| 882 | | { |
| 883 | | const_cast<address_space *>(space)->enable_write_watchpoints(enable); |
| 884 | | } |
| 885 | | |
| 886 | | static inline void memory_set_debugger_access(address_space *space, bool debugger) |
| 887 | | { |
| 888 | | const_cast<address_space *>(space)->set_debugger_access(debugger); |
| 889 | | } |
| 890 | | |
| 891 | | static inline void memory_set_log_unmap(address_space *space, bool log) |
| 892 | | { |
| 893 | | const_cast<address_space *>(space)->set_log_unmap(log); |
| 894 | | } |
| 895 | | |
| 896 | | static inline bool memory_get_log_unmap(address_space *space) |
| 897 | | { |
| 898 | | return space->log_unmap(); |
| 899 | | } |
| 900 | | |
| 901 | | |
| 902 | 854 | #endif /* __MEMORY_H__ */ |
src/mess/machine/electron.c
| r8807 | r8808 | |
| 266 | 266 | electron_ula.screen_mode = ( data >> 3 ) & 0x07; |
| 267 | 267 | electron_ula.screen_base = electron_screen_base[ electron_ula.screen_mode ]; |
| 268 | 268 | electron_ula.screen_size = 0x8000 - electron_ula.screen_base; |
| 269 | | electron_ula.vram = (UINT8 *)memory_get_read_ptr( space, electron_ula.screen_base ); |
| 269 | electron_ula.vram = (UINT8 *)space->get_read_ptr(electron_ula.screen_base ); |
| 270 | 270 | logerror( "ULA: screen mode set to %d\n", electron_ula.screen_mode ); |
| 271 | 271 | electron_ula.cassette_motor_mode = ( data >> 6 ) & 0x01; |
| 272 | 272 | cassette_change_state( cassette_device_image( space->machine ), electron_ula.cassette_motor_mode ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED, CASSETTE_MOTOR_DISABLED ); |
| r8807 | r8808 | |
| 336 | 336 | electron_ula.screen_size = 0x8000 - 0x3000; |
| 337 | 337 | electron_ula.screen_addr = 0; |
| 338 | 338 | electron_ula.tape_running = 0; |
| 339 | | electron_ula.vram = (UINT8 *)memory_get_read_ptr(cputag_get_address_space(&machine, "maincpu", ADDRESS_SPACE_PROGRAM), electron_ula.screen_base); |
| 339 | electron_ula.vram = (UINT8 *)cputag_get_address_space(&machine, "maincpu", ADDRESS_SPACE_PROGRAM)->get_read_ptr(electron_ula.screen_base); |
| 340 | 340 | } |
| 341 | 341 | |
| 342 | 342 | MACHINE_START( electron ) |
src/mess/machine/amigacrt.c
| r8807 | r8808 | |
| 89 | 89 | static void amiga_ar1_nmi( running_machine *machine ) |
| 90 | 90 | { |
| 91 | 91 | /* get the cart's built-in ram */ |
| 92 | | UINT16 *ar_ram = (UINT16 *)memory_get_write_ptr(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x9fc000); |
| 92 | UINT16 *ar_ram = (UINT16 *)cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM)->get_write_ptr(0x9fc000); |
| 93 | 93 | |
| 94 | 94 | if ( ar_ram != NULL ) |
| 95 | 95 | { |
| r8807 | r8808 | |
| 261 | 261 | if ( ((pc >> 16) & 0xfe ) != 0x40 ) |
| 262 | 262 | { |
| 263 | 263 | /* get the cart's built-in ram */ |
| 264 | | UINT16 *ar_ram = (UINT16 *)memory_get_write_ptr(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x440000); |
| 264 | UINT16 *ar_ram = (UINT16 *)cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM)->get_write_ptr(0x440000); |
| 265 | 265 | |
| 266 | 266 | if ( ar_ram != NULL ) |
| 267 | 267 | { |
src/mess/machine/z1013.c
| r8807 | r8808 | |
| 87 | 87 | if (data[12]!='C') return IMAGE_INIT_FAIL; |
| 88 | 88 | if (data[13]!=0xD3 || data[14]!=0xD3 || data[14]!=0xD3) return IMAGE_INIT_FAIL; |
| 89 | 89 | |
| 90 | | memcpy (memory_get_read_ptr(cputag_get_address_space(image.device().machine, "maincpu", ADDRESS_SPACE_PROGRAM), startaddr ), |
| 90 | memcpy (cputag_get_address_space(image.device().machine, "maincpu", ADDRESS_SPACE_PROGRAM)->get_read_ptr(startaddr), |
| 91 | 91 | data+0x20, endaddr - startaddr + 1); |
| 92 | 92 | |
| 93 | 93 | cpu_set_reg(image.device().machine->device("maincpu"), Z80_PC, runaddr); |
src/mess/machine/wswan.c
| r8807 | r8808 | |
| 267 | 267 | /* Initialize VDP */ |
| 268 | 268 | memset( &wswan_vdp, 0, sizeof( wswan_vdp ) ); |
| 269 | 269 | |
| 270 | | wswan_vdp.vram = (UINT8*)memory_get_read_ptr( space, 0 ); |
| 271 | | wswan_vdp.palette_vram = (UINT8*)memory_get_read_ptr( space, ( system_type == WSC ) ? 0xFE00 : 0 ); |
| 270 | wswan_vdp.vram = (UINT8*)space->get_read_ptr(0); |
| 271 | wswan_vdp.palette_vram = (UINT8*)space->get_read_ptr(( system_type == WSC ) ? 0xFE00 : 0 ); |
| 272 | 272 | wswan_vdp.current_line = 145; /* Randomly chosen, beginning of VBlank period to give cart some time to boot up */ |
| 273 | 273 | wswan_vdp.new_display_vertical = ROMMap[ROMBanks-1][0xfffc] & 0x01; |
| 274 | 274 | wswan_vdp.display_vertical = ~wswan_vdp.new_display_vertical; |
| r8807 | r8808 | |
| 1382 | 1382 | else |
| 1383 | 1383 | size = image.get_software_region_length("rom"); |
| 1384 | 1384 | |
| 1385 | | ws_ram = (UINT8*) memory_get_read_ptr(cputag_get_address_space(image.device().machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0); |
| 1385 | ws_ram = (UINT8*) cputag_get_address_space(image.device().machine, "maincpu", ADDRESS_SPACE_PROGRAM)->get_read_ptr(0); |
| 1386 | 1386 | memset(ws_ram, 0, 0xffff); |
| 1387 | 1387 | ROMBanks = size / 65536; |
| 1388 | 1388 | |
src/mess/machine/lynx.c
| r8807 | r8808 | |
| 785 | 785 | int i; int o;int colors; |
| 786 | 786 | |
| 787 | 787 | blitter.memory_accesses = 0; |
| 788 | | blitter.mem = (UINT8*)memory_get_read_ptr(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x0000); |
| 788 | blitter.mem = (UINT8*)cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM)->get_read_ptr(0x0000); |
| 789 | 789 | |
| 790 | 790 | blitter.xoff = GET_WORD(suzy.data, 0x04); |
| 791 | 791 | blitter.yoff = GET_WORD(suzy.data, 0x06); |
src/mess/machine/mtx.c
| r8807 | r8808 | |
| 374 | 374 | { |
| 375 | 375 | /* long header */ |
| 376 | 376 | addr = pick_integer_le(header, 16, 2); |
| 377 | | void *ptr = memory_get_write_ptr(program, addr); |
| 377 | void *ptr = program->get_write_ptr(addr); |
| 378 | 378 | image.fread( ptr, 599); |
| 379 | | ptr = memory_get_write_ptr(program, 0xc000); |
| 379 | ptr = program->get_write_ptr(0xc000); |
| 380 | 380 | image.fread( ptr, snapshot_size - 599 - 18); |
| 381 | 381 | } |
| 382 | 382 | else |
| r8807 | r8808 | |
| 384 | 384 | /* short header */ |
| 385 | 385 | addr = pick_integer_le(header, 0, 2); |
| 386 | 386 | image.fseek(4, SEEK_SET); |
| 387 | | void *ptr = memory_get_write_ptr(program, addr); |
| 387 | void *ptr = program->get_write_ptr(addr); |
| 388 | 388 | image.fread( ptr, 599); |
| 389 | | ptr = memory_get_write_ptr(program, 0xc000); |
| 389 | ptr = program->get_write_ptr(0xc000); |
| 390 | 390 | image.fread( ptr, snapshot_size - 599 - 4); |
| 391 | 391 | } |
| 392 | 392 | |
src/mess/machine/rmnimbus.c
| r8807 | r8808 | |
| 1408 | 1408 | address_space *space = cpu_get_address_space(&device, ADDRESS_SPACE_PROGRAM); |
| 1409 | 1409 | UINT8 *addr_ptr; |
| 1410 | 1410 | |
| 1411 | | addr_ptr = (UINT8*)memory_get_read_ptr(space,curpc); |
| 1411 | addr_ptr = (UINT8*)space->get_read_ptr(curpc); |
| 1412 | 1412 | |
| 1413 | 1413 | if(DEBUG_SET(DECODE_BIOS)) |
| 1414 | 1414 | if ((addr_ptr !=NULL) && (addr_ptr[0]==0xCD) && (addr_ptr[1]==0xF0)) |
| r8807 | r8808 | |
| 1753 | 1753 | addr=((ds<<4)+si); |
| 1754 | 1754 | OUTPUT_SEGOFS("DS:SI",ds,si); |
| 1755 | 1755 | |
| 1756 | | return memory_get_read_ptr(space, addr); |
| 1756 | return space->get_read_ptr(addr); |
| 1757 | 1757 | } |
| 1758 | 1758 | |
| 1759 | 1759 | static void decode_dssi_f_fill_area(running_device *device,UINT16 ds, UINT16 si) |
| r8807 | r8808 | |
| 1768 | 1768 | area_params = (t_area_params *)get_dssi_ptr(space,ds,si); |
| 1769 | 1769 | |
| 1770 | 1770 | OUTPUT_SEGOFS("SegBrush:OfsBrush",area_params->seg_brush,area_params->ofs_brush); |
| 1771 | | brush=(t_nimbus_brush *)memory_get_read_ptr(space, LINEAR_ADDR(area_params->seg_brush,area_params->ofs_brush)); |
| 1771 | brush=(t_nimbus_brush *)space->get_read_ptr(LINEAR_ADDR(area_params->seg_brush,area_params->ofs_brush)); |
| 1772 | 1772 | |
| 1773 | 1773 | logerror("Brush params\n"); |
| 1774 | 1774 | logerror("Style=%04X, StyleIndex=%04X\n",brush->style,brush->style_index); |
| r8807 | r8808 | |
| 1779 | 1779 | |
| 1780 | 1780 | OUTPUT_SEGOFS("SegData:OfsData",area_params->seg_data,area_params->ofs_data); |
| 1781 | 1781 | |
| 1782 | | addr_ptr = (UINT16 *)memory_get_read_ptr(space, LINEAR_ADDR(area_params->seg_data,area_params->ofs_data)); |
| 1782 | addr_ptr = (UINT16 *)space->get_read_ptr(LINEAR_ADDR(area_params->seg_data,area_params->ofs_data)); |
| 1783 | 1783 | for(cocount=0; cocount < area_params->count; cocount++) |
| 1784 | 1784 | { |
| 1785 | 1785 | logerror("x=%d y=%d\n",addr_ptr[cocount*2],addr_ptr[(cocount*2)+1]); |
| r8807 | r8808 | |
| 1801 | 1801 | |
| 1802 | 1802 | logerror("x=%d, y=%d, length=%d\n",plot_string_params->x,plot_string_params->y,plot_string_params->length); |
| 1803 | 1803 | |
| 1804 | | char_ptr=(UINT8*)memory_get_read_ptr(space, LINEAR_ADDR(plot_string_params->seg_data,plot_string_params->ofs_data)); |
| 1804 | char_ptr=(UINT8*)space->get_read_ptr(LINEAR_ADDR(plot_string_params->seg_data,plot_string_params->ofs_data)); |
| 1805 | 1805 | |
| 1806 | 1806 | if (plot_string_params->length==0xFFFF) |
| 1807 | 1807 | logerror("%s",char_ptr); |
src/mess/video/oric.c
| r8807 | r8808 | |
| 168 | 168 | if (oric_ram) |
| 169 | 169 | vh_state.char_base = oric_ram + (unsigned long)0x09800; |
| 170 | 170 | else |
| 171 | | vh_state.char_base = (unsigned char *)memory_get_read_ptr(space, 0x09800); |
| 171 | vh_state.char_base = (unsigned char *)space->get_read_ptr(0x09800); |
| 172 | 172 | |
| 173 | 173 | /* changing the mode also changes the position of the standard charset |
| 174 | 174 | and alternative charset */ |
| r8807 | r8808 | |
| 181 | 181 | if (oric_ram) |
| 182 | 182 | vh_state.char_base = oric_ram + (unsigned long)0x0b400; |
| 183 | 183 | else |
| 184 | | vh_state.char_base = (unsigned char *)memory_get_read_ptr(space, 0x0b400); |
| 184 | vh_state.char_base = (unsigned char *)space->get_read_ptr(0x0b400); |
| 185 | 185 | |
| 186 | 186 | /* changing the mode also changes the position of the standard charset |
| 187 | 187 | and alternative charset */ |