BYTE slot_operation(BYTE mode, BYTE slot, FILE *fp) { uint32_t tmp = 0; WORD i = 0; rewind(fp); save_slot.version = SAVE_VERSION; if (mode == SAVE_SLOT_COUNT) { save_slot.tot_size[slot] = 0; /* * forzo la lettura perche' devo sapere la * versione del file di salvataggio e le informazioni * della rom. */ save_slot_int(SAVE_SLOT_READ, slot, save_slot.version) if (save_slot.version < 16) { _save_slot_ele(SAVE_SLOT_READ, slot, save_slot.rom_file, 1024) } else { save_slot_ele(SAVE_SLOT_READ, slot, save_slot.rom_file) } save_slot_ele(SAVE_SLOT_READ, slot, save_slot.sha1sum.prg.value) save_slot_ele(SAVE_SLOT_READ, slot, save_slot.sha1sum.prg.string) if (save_slot.version >= 11) { save_slot_ele(SAVE_SLOT_READ, slot, save_slot.sha1sum.chr.value) save_slot_ele(SAVE_SLOT_READ, slot, save_slot.sha1sum.chr.string) } } else if (mode == SAVE_SLOT_READ) {
BYTE extcl_save_mapper_Irem_H3000(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, irem_H3000.enable); save_slot_ele(mode, slot, irem_H3000.count); save_slot_ele(mode, slot, irem_H3000.reload); save_slot_ele(mode, slot, irem_H3000.delay); return (EXIT_OK); }
BYTE extcl_save_mapper_BMC411120C(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, bmc411120c.reg); save_slot_ele(mode, slot, bmc411120c.prg_map); save_slot_ele(mode, slot, bmc411120c.chr_map); extcl_save_mapper_MMC3(mode, slot, fp); return (EXIT_OK); }
BYTE extcl_save_mapper_KS7037(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, ks7037.ind); save_slot_ele(mode, slot, ks7037.reg); if (mode == SAVE_SLOT_READ) { ks7037_update(); } return (EXIT_OK); }
BYTE extcl_save_mapper_83(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, m83.is2kbank); save_slot_ele(mode, slot, m83.isnot2kbank); save_slot_ele(mode, slot, m83.mode); save_slot_ele(mode, slot, m83.bank); save_slot_ele(mode, slot, m83.dip); save_slot_ele(mode, slot, m83.low); save_slot_ele(mode, slot, m83.reg); save_slot_ele(mode, slot, m83.irq.active); save_slot_ele(mode, slot, m83.irq.count); return (EXIT_OK); }
BYTE extcl_save_mapper_BB(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, bb.reg); if (mode == SAVE_SLOT_READ) { bb_prg_6000 = prg_chip_byte_pnt(0, bb.reg << 13); } return (EXIT_OK); }
BYTE extcl_save_mapper_SL1632(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, sl1632.mode); save_slot_ele(mode, slot, sl1632.mirroring); save_slot_ele(mode, slot, sl1632.prg_map); save_slot_ele(mode, slot, sl1632.chr_map); save_slot_ele(mode, slot, sl1632.mmc3.mirroring); save_slot_ele(mode, slot, sl1632.mmc3.prg_map); save_slot_ele(mode, slot, sl1632.mmc3.chr_map); extcl_save_mapper_MMC3(mode, slot, fp); return (EXIT_OK); }
BYTE extcl_save_mapper_VRC3(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, vrc3.enabled); save_slot_ele(mode, slot, vrc3.reload); save_slot_ele(mode, slot, vrc3.mode); save_slot_ele(mode, slot, vrc3.acknowledge); save_slot_ele(mode, slot, vrc3.mask); save_slot_ele(mode, slot, vrc3.count); return (EXIT_OK); }
BYTE extcl_save_mapper_Irem_G101(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, irem_G101.prg_mode); save_slot_ele(mode, slot, irem_G101.prg_reg); return (EXIT_OK); }
BYTE extcl_save_mapper_Whirlwind(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, whirlwind.prg_ram); return (EXIT_OK); }
BYTE extcl_save_mapper_Bandai_161x02x74(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, b161x02x74.chr_rom_bank); return (EXIT_OK); }
BYTE extcl_save_mapper_Ntdec_asder(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, asder.address); save_slot_ele(mode, slot, asder.reg); return (EXIT_OK); }
BYTE extcl_save_mapper_164(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, m164.prg); return (EXIT_OK); }
BYTE extcl_save_mapper_CNROM(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, cnrom_2627.chr_rd_enable); return (EXIT_OK); }
BYTE extcl_save_mapper_254(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, m254.reg); extcl_save_mapper_MMC3(mode, slot, fp); return (EXIT_OK); }
BYTE extcl_save_mapper_91(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, m91.irq.active); save_slot_ele(mode, slot, m91.irq.count); return (EXIT_OK); }
BYTE extcl_save_mapper_BMC70IN1(BYTE mode, BYTE slot, FILE *fp) { save_slot_ele(mode, slot, bmc70in1.reg); return (EXIT_OK); }