annotate sega_mapper.h @ 1925:039553703c20

Don't apply address and cd register changes to the 'live' registers until pending flag is cleared, but do preserve the upper address bits in the latch. Fixes regression in Overdrive 2 while preserving fix to Mona in 344 bytes
author Michael Pavone <pavone@retrodev.com>
date Mon, 13 Apr 2020 20:43:25 -0700
parents 14a2834d010c
children 3748a2a8a4b7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1415
f7d653bb8899 Move Sega mapper implementation out of romdb.c
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
1 #ifndef SEGA_MAPPER_H_
f7d653bb8899 Move Sega mapper implementation out of romdb.c
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
2 #define SEGA_MAPPER_H_
1444
14a2834d010c Save/restore mapper state in native save states
Michael Pavone <pavone@retrodev.com>
parents: 1415
diff changeset
3 #include "serialize.h"
1415
f7d653bb8899 Move Sega mapper implementation out of romdb.c
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
4
f7d653bb8899 Move Sega mapper implementation out of romdb.c
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
5 uint16_t read_sram_w(uint32_t address, m68k_context * context);
f7d653bb8899 Move Sega mapper implementation out of romdb.c
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
6 uint8_t read_sram_b(uint32_t address, m68k_context * context);
f7d653bb8899 Move Sega mapper implementation out of romdb.c
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
7 m68k_context * write_sram_area_w(uint32_t address, m68k_context * context, uint16_t value);
f7d653bb8899 Move Sega mapper implementation out of romdb.c
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
8 m68k_context * write_sram_area_b(uint32_t address, m68k_context * context, uint8_t value);
f7d653bb8899 Move Sega mapper implementation out of romdb.c
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
9 m68k_context * write_bank_reg_w(uint32_t address, m68k_context * context, uint16_t value);
f7d653bb8899 Move Sega mapper implementation out of romdb.c
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
10 m68k_context * write_bank_reg_b(uint32_t address, m68k_context * context, uint8_t value);
1444
14a2834d010c Save/restore mapper state in native save states
Michael Pavone <pavone@retrodev.com>
parents: 1415
diff changeset
11 void sega_mapper_serialize(genesis_context *gen, serialize_buffer *buf);
14a2834d010c Save/restore mapper state in native save states
Michael Pavone <pavone@retrodev.com>
parents: 1415
diff changeset
12 void sega_mapper_deserialize(deserialize_buffer *buf, genesis_context *gen);
1415
f7d653bb8899 Move Sega mapper implementation out of romdb.c
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
13
f7d653bb8899 Move Sega mapper implementation out of romdb.c
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
14 #endif //SEGA_MAPPER_H_