Path: blob/master/dep/rcheevos/include/rc_consoles.h
4246 views
#ifndef RC_CONSOLES_H1#define RC_CONSOLES_H23#include "rc_export.h"45#include <stdint.h>67RC_BEGIN_C_DECLS89/*****************************************************************************\10| Console identifiers |11\*****************************************************************************/1213enum {14RC_CONSOLE_UNKNOWN = 0,15RC_CONSOLE_MEGA_DRIVE = 1,16RC_CONSOLE_NINTENDO_64 = 2,17RC_CONSOLE_SUPER_NINTENDO = 3,18RC_CONSOLE_GAMEBOY = 4,19RC_CONSOLE_GAMEBOY_ADVANCE = 5,20RC_CONSOLE_GAMEBOY_COLOR = 6,21RC_CONSOLE_NINTENDO = 7,22RC_CONSOLE_PC_ENGINE = 8,23RC_CONSOLE_SEGA_CD = 9,24RC_CONSOLE_SEGA_32X = 10,25RC_CONSOLE_MASTER_SYSTEM = 11,26RC_CONSOLE_PLAYSTATION = 12,27RC_CONSOLE_ATARI_LYNX = 13,28RC_CONSOLE_NEOGEO_POCKET = 14,29RC_CONSOLE_GAME_GEAR = 15,30RC_CONSOLE_GAMECUBE = 16,31RC_CONSOLE_ATARI_JAGUAR = 17,32RC_CONSOLE_NINTENDO_DS = 18,33RC_CONSOLE_WII = 19,34RC_CONSOLE_WII_U = 20,35RC_CONSOLE_PLAYSTATION_2 = 21,36RC_CONSOLE_XBOX = 22,37RC_CONSOLE_MAGNAVOX_ODYSSEY2 = 23,38RC_CONSOLE_POKEMON_MINI = 24,39RC_CONSOLE_ATARI_2600 = 25,40RC_CONSOLE_MS_DOS = 26,41RC_CONSOLE_ARCADE = 27,42RC_CONSOLE_VIRTUAL_BOY = 28,43RC_CONSOLE_MSX = 29,44RC_CONSOLE_COMMODORE_64 = 30,45RC_CONSOLE_ZX81 = 31,46RC_CONSOLE_ORIC = 32,47RC_CONSOLE_SG1000 = 33,48RC_CONSOLE_VIC20 = 34,49RC_CONSOLE_AMIGA = 35,50RC_CONSOLE_ATARI_ST = 36,51RC_CONSOLE_AMSTRAD_PC = 37,52RC_CONSOLE_APPLE_II = 38,53RC_CONSOLE_SATURN = 39,54RC_CONSOLE_DREAMCAST = 40,55RC_CONSOLE_PSP = 41,56RC_CONSOLE_CDI = 42,57RC_CONSOLE_3DO = 43,58RC_CONSOLE_COLECOVISION = 44,59RC_CONSOLE_INTELLIVISION = 45,60RC_CONSOLE_VECTREX = 46,61RC_CONSOLE_PC8800 = 47,62RC_CONSOLE_PC9800 = 48,63RC_CONSOLE_PCFX = 49,64RC_CONSOLE_ATARI_5200 = 50,65RC_CONSOLE_ATARI_7800 = 51,66RC_CONSOLE_X68K = 52,67RC_CONSOLE_WONDERSWAN = 53,68RC_CONSOLE_CASSETTEVISION = 54,69RC_CONSOLE_SUPER_CASSETTEVISION = 55,70RC_CONSOLE_NEO_GEO_CD = 56,71RC_CONSOLE_FAIRCHILD_CHANNEL_F = 57,72RC_CONSOLE_FM_TOWNS = 58,73RC_CONSOLE_ZX_SPECTRUM = 59,74RC_CONSOLE_GAME_AND_WATCH = 60,75RC_CONSOLE_NOKIA_NGAGE = 61,76RC_CONSOLE_NINTENDO_3DS = 62,77RC_CONSOLE_SUPERVISION = 63,78RC_CONSOLE_SHARPX1 = 64,79RC_CONSOLE_TIC80 = 65,80RC_CONSOLE_THOMSONTO8 = 66,81RC_CONSOLE_PC6000 = 67,82RC_CONSOLE_PICO = 68,83RC_CONSOLE_MEGADUCK = 69,84RC_CONSOLE_ZEEBO = 70,85RC_CONSOLE_ARDUBOY = 71,86RC_CONSOLE_WASM4 = 72,87RC_CONSOLE_ARCADIA_2001 = 73,88RC_CONSOLE_INTERTON_VC_4000 = 74,89RC_CONSOLE_ELEKTOR_TV_GAMES_COMPUTER = 75,90RC_CONSOLE_PC_ENGINE_CD = 76,91RC_CONSOLE_ATARI_JAGUAR_CD = 77,92RC_CONSOLE_NINTENDO_DSI = 78,93RC_CONSOLE_TI83 = 79,94RC_CONSOLE_UZEBOX = 80,95RC_CONSOLE_FAMICOM_DISK_SYSTEM = 81,9697RC_CONSOLE_HUBS = 100,98RC_CONSOLE_EVENTS = 101,99RC_CONSOLE_STANDALONE = 102100};101102RC_EXPORT const char* RC_CCONV rc_console_name(uint32_t console_id);103104/*****************************************************************************\105| Memory mapping |106\*****************************************************************************/107108enum {109RC_MEMORY_TYPE_SYSTEM_RAM, /* normal system memory */110RC_MEMORY_TYPE_SAVE_RAM, /* memory that persists between sessions */111RC_MEMORY_TYPE_VIDEO_RAM, /* memory reserved for graphical processing */112RC_MEMORY_TYPE_READONLY, /* memory that maps to read only data */113RC_MEMORY_TYPE_HARDWARE_CONTROLLER, /* memory for interacting with system components */114RC_MEMORY_TYPE_VIRTUAL_RAM, /* secondary address space that maps to real memory in system RAM */115RC_MEMORY_TYPE_UNUSED /* these addresses don't really exist */116};117118typedef struct rc_memory_region_t {119uint32_t start_address; /* first address of block as queried by RetroAchievements */120uint32_t end_address; /* last address of block as queried by RetroAchievements */121uint32_t real_address; /* real address for first address of block */122uint8_t type; /* RC_MEMORY_TYPE_ for block */123const char* description; /* short description of block */124}125rc_memory_region_t;126127typedef struct rc_memory_regions_t {128const rc_memory_region_t* region;129uint32_t num_regions;130}131rc_memory_regions_t;132133RC_EXPORT const rc_memory_regions_t* RC_CCONV rc_console_memory_regions(uint32_t console_id);134135RC_END_C_DECLS136137#endif /* RC_CONSOLES_H */138139140