diff --git a/src/codegen/codegen_ops_fpu.h b/src/codegen/codegen_ops_fpu.h index 1021cc742..242743dee 100644 --- a/src/codegen/codegen_ops_fpu.h +++ b/src/codegen/codegen_ops_fpu.h @@ -671,9 +671,10 @@ ropFCHS(uint8_t opcode, uint32_t fetchdat, uint32_t op_32, uint32_t op_pc, codeb ropFLD##name(uint8_t opcode, uint32_t fetchdat, uint32_t op_32, uint32_t op_pc, codeblock_t *block) \ { \ static double fp_imm = v; \ + static uint64_t *fptr = (uint64_t *) &fp_imm; \ \ FP_ENTER(); \ - FP_LOAD_IMM_Q(*(uint64_t *) &fp_imm); \ + FP_LOAD_IMM_Q(*fptr); \ \ return op_pc; \ } diff --git a/src/disk/lba_enhancer.c b/src/disk/lba_enhancer.c index f0ce6b700..35c845c16 100644 --- a/src/disk/lba_enhancer.c +++ b/src/disk/lba_enhancer.c @@ -35,27 +35,25 @@ typedef struct lba_enhancer_t #define BIOS_LBA_ENHANCER "roms/hdd/misc/lbaenhancer.bin" -void * -lba_enhancer_init(const device_t *info) -{ - lba_enhancer_t *lba_enhancer = (lba_enhancer_t *) calloc(1, sizeof(lba_enhancer_t)); - - rom_init(&lba_enhancer->rom, BIOS_LBA_ENHANCER, - device_get_config_hex20("bios_addr"), 0x4000, 0x3fff, 0, MEM_MAPPING_EXTERNAL); - - return lba_enhancer; -} - void lba_enhancer_close(void* priv) { - lba_enhancer_t *lba_enhancer = (lba_enhancer_t *) priv; - free(priv); return; } +void * +lba_enhancer_init(const device_t *info) +{ + lba_enhancer_t *dev = (lba_enhancer_t *) calloc(1, sizeof(lba_enhancer_t)); + + rom_init(&dev->rom, BIOS_LBA_ENHANCER, + device_get_config_hex20("bios_addr"), 0x4000, 0x3fff, 0, MEM_MAPPING_EXTERNAL); + + return dev; +} + static int lba_enhancer_available(void) {