You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.0 KiB
105 lines
2.0 KiB
3 years ago
|
/*****************************************************************************\
|
||
|
Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
|
||
|
This file is licensed under the Snes9x License.
|
||
|
For further information, consult the LICENSE file in the root directory.
|
||
|
\*****************************************************************************/
|
||
|
|
||
|
#ifndef _SPC7110_H_
|
||
|
#define _SPC7110_H_
|
||
|
|
||
|
#define SPC7110_DECOMP_BUFFER_SIZE 64
|
||
|
|
||
|
// for snapshot only
|
||
|
struct SSPC7110Snapshot
|
||
|
{
|
||
|
uint8 r4801;
|
||
|
uint8 r4802;
|
||
|
uint8 r4803;
|
||
|
uint8 r4804;
|
||
|
uint8 r4805;
|
||
|
uint8 r4806;
|
||
|
uint8 r4807;
|
||
|
uint8 r4808;
|
||
|
uint8 r4809;
|
||
|
uint8 r480a;
|
||
|
uint8 r480b;
|
||
|
uint8 r480c;
|
||
|
|
||
|
uint8 r4811;
|
||
|
uint8 r4812;
|
||
|
uint8 r4813;
|
||
|
uint8 r4814;
|
||
|
uint8 r4815;
|
||
|
uint8 r4816;
|
||
|
uint8 r4817;
|
||
|
uint8 r4818;
|
||
|
|
||
|
uint8 r481x;
|
||
|
|
||
|
bool8 r4814_latch; // bool
|
||
|
bool8 r4815_latch; // bool
|
||
|
|
||
|
uint8 r4820;
|
||
|
uint8 r4821;
|
||
|
uint8 r4822;
|
||
|
uint8 r4823;
|
||
|
uint8 r4824;
|
||
|
uint8 r4825;
|
||
|
uint8 r4826;
|
||
|
uint8 r4827;
|
||
|
uint8 r4828;
|
||
|
uint8 r4829;
|
||
|
uint8 r482a;
|
||
|
uint8 r482b;
|
||
|
uint8 r482c;
|
||
|
uint8 r482d;
|
||
|
uint8 r482e;
|
||
|
uint8 r482f;
|
||
|
|
||
|
uint8 r4830;
|
||
|
uint8 r4831;
|
||
|
uint8 r4832;
|
||
|
uint8 r4833;
|
||
|
uint8 r4834;
|
||
|
|
||
|
uint32 dx_offset; // unsigned
|
||
|
uint32 ex_offset; // unsigned
|
||
|
uint32 fx_offset; // unsigned
|
||
|
|
||
|
uint8 r4840;
|
||
|
uint8 r4841;
|
||
|
uint8 r4842;
|
||
|
|
||
|
int32 rtc_state; // enum RTC_State
|
||
|
int32 rtc_mode; // enum RTC_Mode
|
||
|
uint32 rtc_index; // unsigned
|
||
|
|
||
|
uint32 decomp_mode; // unsigned
|
||
|
uint32 decomp_offset; // unsigned
|
||
|
|
||
|
uint8 decomp_buffer[SPC7110_DECOMP_BUFFER_SIZE];
|
||
|
|
||
|
uint32 decomp_buffer_rdoffset; // unsigned
|
||
|
uint32 decomp_buffer_wroffset; // unsigned
|
||
|
uint32 decomp_buffer_length; // unsigned
|
||
|
|
||
|
struct ContextState
|
||
|
{
|
||
|
uint8 index;
|
||
|
uint8 invert;
|
||
|
} context[32];
|
||
|
};
|
||
|
|
||
|
extern struct SSPC7110Snapshot s7snap;
|
||
|
|
||
|
void S9xInitSPC7110 (void);
|
||
|
void S9xResetSPC7110 (void);
|
||
|
void S9xSPC7110PreSaveState (void);
|
||
|
void S9xSPC7110PostLoadState (int);
|
||
|
void S9xSetSPC7110 (uint8, uint16);
|
||
|
uint8 S9xGetSPC7110 (uint16);
|
||
|
uint8 S9xGetSPC7110Byte (uint32);
|
||
|
uint8 * S9xGetBasePointerSPC7110 (uint32);
|
||
|
|
||
|
#endif
|