void seibu_sound_device::apply_decrypt(UINT8 *rom, UINT8 *opcodes, int length) { for (int i = 0; i < length; i++) { UINT8 src = rom[i]; rom[i] = decrypt_data(i,src); opcodes[i] = decrypt_opcode(i,src); } }
void seibu_sound_decrypt(int cpu_region,int length) { UINT8 *decrypt = auto_malloc(length); UINT8 *rom = memory_region(cpu_region); int i; memory_set_decrypted_region(cpu_region - REGION_CPU1, 0x0000, (length < 0x10000) ? (length - 1) : 0x1fff, decrypt); for (i = 0;i < length;i++) { UINT8 src = rom[i]; rom[i] = decrypt_data(i,src); decrypt[i] = decrypt_opcode(i,src); } if (length > 0x10000) memory_configure_bank_decrypted(1, 0, (length - 0x10000) / 0x8000, decrypt + 0x10000, 0x8000); }
void seibu_sound_decrypt(running_machine &machine,const char *cpu,int length) { address_space &space = machine.device(cpu)->memory().space(AS_PROGRAM); UINT8 *decrypt = auto_alloc_array(machine, UINT8, length); UINT8 *rom = machine.root_device().memregion(cpu)->base(); int i; space.set_decrypted_region(0x0000, (length < 0x10000) ? (length - 1) : 0x1fff, decrypt); for (i = 0;i < length;i++) { UINT8 src = rom[i]; rom[i] = decrypt_data(i,src); decrypt[i] = decrypt_opcode(i,src); } if (length > 0x10000) machine.root_device().membank("bank1")->configure_decrypted_entries(0, (length - 0x10000) / 0x8000, decrypt + 0x10000, 0x8000); }
void seibu_sound_decrypt(running_machine *machine,const char *cpu,int length) { address_space *space = cputag_get_address_space(machine, cpu, ADDRESS_SPACE_PROGRAM); UINT8 *decrypt = auto_alloc_array(machine, UINT8, length); UINT8 *rom = machine->region(cpu)->base(); int i; space->set_decrypted_region(0x0000, (length < 0x10000) ? (length - 1) : 0x1fff, decrypt); for (i = 0;i < length;i++) { UINT8 src = rom[i]; rom[i] = decrypt_data(i,src); decrypt[i] = decrypt_opcode(i,src); } if (length > 0x10000) memory_configure_bank_decrypted(machine, "bank1", 0, (length - 0x10000) / 0x8000, decrypt + 0x10000, 0x8000); }