view sega_mapper.h @ 2220:dd9d43c67986

Add support for newer controller types. Fix crash caused by new controller button types introduced in 2.0.12 and support mapping them
author Michael Pavone <pavone@retrodev.com>
date Fri, 02 Sep 2022 22:53:41 -0700
parents 3748a2a8a4b7
children b9cd3c64652d
line wrap: on
line source

#ifndef SEGA_MAPPER_H_
#define SEGA_MAPPER_H_
#include "serialize.h"

uint16_t read_sram_w(uint32_t address, m68k_context * context);
uint8_t read_sram_b(uint32_t address, m68k_context * context);
m68k_context * write_sram_area_w(uint32_t address, m68k_context * context, uint16_t value);
m68k_context * write_sram_area_b(uint32_t address, m68k_context * context, uint8_t value);
m68k_context * write_bank_reg_w(uint32_t address, m68k_context * context, uint16_t value);
m68k_context * write_bank_reg_b(uint32_t address, m68k_context * context, uint8_t value);
void* write_med_ram0_w(uint32_t address, void *vcontext, uint16_t value);
void* write_med_ram1_w(uint32_t address, void *vcontext, uint16_t value);
void* write_med_ram2_w(uint32_t address, void *vcontext, uint16_t value);
void* write_med_ram3_w(uint32_t address, void *vcontext, uint16_t value);
void* write_med_ram4_w(uint32_t address, void *vcontext, uint16_t value);
void* write_med_ram5_w(uint32_t address, void *vcontext, uint16_t value);
void* write_med_ram6_w(uint32_t address, void *vcontext, uint16_t value);
void* write_med_ram7_w(uint32_t address, void *vcontext, uint16_t value);
void* write_med_ram0_b(uint32_t address, void *vcontext, uint8_t value);
void* write_med_ram1_b(uint32_t address, void *vcontext, uint8_t value);
void* write_med_ram2_b(uint32_t address, void *vcontext, uint8_t value);
void* write_med_ram3_b(uint32_t address, void *vcontext, uint8_t value);
void* write_med_ram4_b(uint32_t address, void *vcontext, uint8_t value);
void* write_med_ram5_b(uint32_t address, void *vcontext, uint8_t value);
void* write_med_ram6_b(uint32_t address, void *vcontext, uint8_t value);
void* write_med_ram7_b(uint32_t address, void *vcontext, uint8_t value);
void sega_mapper_serialize(genesis_context *gen, serialize_buffer *buf);
void sega_mapper_deserialize(deserialize_buffer *buf, genesis_context *gen);

#endif //SEGA_MAPPER_H_