mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-12-29 04:31:49 +01:00
ab4638144c
--------------- * added support for Master System compatibility mode (Z80 ports access mode), incl. Mode 5 rendering. * added Mode 4 rendering for both Genesis & Master System modes. * added alternate BG planes rendering functions (should be faster on PPC architectures). [Core/IO] --------------- * added support for Master System compatibility mode (Z80 ports access mode). * added Master System peripherals emulation (Control Pad, Paddle, Sports Pad & Light Phaser). * added XE-1AP (analog controller) emulation. * added Activator emulation. [Core/Extra] --------------- * added support for all known Master System cartridge mappers. * added copy-protection hardware emulation for a few MD unlicensed games: fixes 777 Casino (crash when talking to bunny girls). (NB: most of those unlicensed games seem to have been already patched by ROM dumpers, main purpose is documenting them) * added support for Top Shooter arcade board controller. (A=Shoot, B=Bet, C/RIGHT=Coins, START=Start, hold UP on startup to enter service mode) * improved King of Fighters 98 mapper emulation (registers address decoding is now 100% accurate) * fixed Game Genie when several codes affect same ROM address. * fixed EEPROM types for Brian Lara Cricket & NBA Jam TE (verified on real cartridges) [Core/General] --------------- * added Master System compatibility mode emulation (automatically enabled when loading ROM file with .sms extension). * improved savestate stability & compatibility (support for old 1.4.x savestates is preserved) * various code cleanup & comments. [Gamecube/Wii] --------------- * fixed cheat codes handling when several codes affect same ROM address. * improved input controller detection on menu exit. * improved key remapping dialog box to match emulated device * changed Menu key for Gamecube controller to allow MODE button mapping * fixed DVD not being unmounted on swap (memory leak) [Wii only] --------------- * added USB mouse support for Sega Mouse emulation * compiled with latest libogc: improves USB compatibility & fixes stability issues with Wiimotes.
67 lines
3.0 KiB
C
67 lines
3.0 KiB
C
/*******************************************************************************
|
|
* *
|
|
* Define size independent data types and operations. *
|
|
* *
|
|
* The following types must be supported by all platforms: *
|
|
* *
|
|
* UINT8 - Unsigned 8-bit Integer INT8 - Signed 8-bit integer *
|
|
* UINT16 - Unsigned 16-bit Integer INT16 - Signed 16-bit integer *
|
|
* UINT32 - Unsigned 32-bit Integer INT32 - Signed 32-bit integer *
|
|
* UINT64 - Unsigned 64-bit Integer INT64 - Signed 64-bit integer *
|
|
* *
|
|
* *
|
|
* The macro names for the artithmatic operations are composed as follows: *
|
|
* *
|
|
* XXX_R_A_B, where XXX - 3 letter operation code (ADD, SUB, etc.) *
|
|
* R - The type of the result *
|
|
* A - The type of operand 1 *
|
|
* B - The type of operand 2 (if binary operation) *
|
|
* *
|
|
* Each type is one of: U8,8,U16,16,U32,32,U64,64 *
|
|
* *
|
|
*******************************************************************************/
|
|
|
|
#ifndef OSD_CPU_H
|
|
#define OSD_CPU_H
|
|
|
|
#ifndef NGC
|
|
#ifndef DOS
|
|
#include "basetsd.h"
|
|
#endif
|
|
#undef TRUE
|
|
#undef FALSE
|
|
#define TRUE 1
|
|
#define FALSE 0
|
|
#endif
|
|
|
|
typedef unsigned char UINT8;
|
|
typedef unsigned short UINT16;
|
|
typedef unsigned int UINT32;
|
|
__extension__ typedef unsigned long long UINT64;
|
|
typedef signed char INT8;
|
|
typedef signed short INT16;
|
|
typedef signed int INT32;
|
|
__extension__ typedef signed long long INT64;
|
|
|
|
|
|
/******************************************************************************
|
|
* Union of UINT8, UINT16 and UINT32 in native endianess of the target
|
|
* This is used to access bytes and words in a machine independent manner.
|
|
* The upper bytes h2 and h3 normally contain zero (16 bit CPU cores)
|
|
* thus PAIR.d can be used to pass arguments to the memory system
|
|
* which expects 'int' really.
|
|
******************************************************************************/
|
|
|
|
typedef union {
|
|
#ifdef LSB_FIRST
|
|
struct { UINT8 l,h,h2,h3; } b;
|
|
struct { UINT16 l,h; } w;
|
|
#else
|
|
struct { UINT8 h3,h2,h,l; } b;
|
|
struct { UINT16 h,l; } w;
|
|
#endif
|
|
UINT32 d;
|
|
} PAIR;
|
|
|
|
#endif /* defined OSD_CPU_H */
|