bool retro_load_game(const struct retro_game_info *info) { int i; static char ROMName_buffer[MAXCARTS][1024]; enum retro_pixel_format fmt = RETRO_PIXEL_FORMAT_RGB565; if (!environ_cb(RETRO_ENVIRONMENT_SET_PIXEL_FORMAT, &fmt)) { if (log_cb) log_cb(RETRO_LOG_INFO, "RGB565 is not supported.\n"); return false; } environ_cb(RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY, &ProgDir); check_variables(); set_input_descriptors(); Verbose=1; UPeriod=100; strcpy(ROMName_buffer[0], info->path); ROMName[0]=ROMName_buffer[0]; SETJOYTYPE(0,1); // ProgDir="."; static Image fMSX_image; fMSX_image.Cropped = 0; fMSX_image.D = 16; fMSX_image.Data = image_buffer; fMSX_image.W = image_buffer_width; fMSX_image.H = image_buffer_height; fMSX_image.L = image_buffer_width; GenericSetVideo(&fMSX_image,0,0,image_buffer_width,image_buffer_height); for(i = 0; i < 80; i++) SetColor(i, 0, 0, 0); for(i = 0; i < 256; i++) BPal[i]=PIXEL(((i>>2)&0x07)*255/7,((i>>5)&0x07)*255/7,(i&0x03)*255/3); memset((void *)XKeyState,0xFF,sizeof(XKeyState)); InitSound(SND_RATE, 0); SetChannels(255/MAXCHANNELS, (1<<MAXCHANNELS)-1); ExitNow = 1; StartMSX(Mode,RAMPages,VRAMPages); printf ("Mode %i, RAMPages %i, VRAMPages %i", Mode, RAMPages, VRAMPages); return true; }
static gboolean environment_core_command (RetroCore *self, unsigned cmd, gpointer data) { if (!self) return FALSE; switch (cmd) { case RETRO_ENVIRONMENT_GET_CAN_DUPE: return get_can_dupe (self, (gboolean *) data); case RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY: return get_content_directory (self, (const gchar **) data); case RETRO_ENVIRONMENT_GET_INPUT_DEVICE_CAPABILITIES: return get_input_device_capabilities (self, (guint64 *) data); case RETRO_ENVIRONMENT_GET_LANGUAGE: return get_language (self, (unsigned *) data); case RETRO_ENVIRONMENT_GET_LIBRETRO_PATH: return get_libretro_path (self, (const gchar **) data); case RETRO_ENVIRONMENT_GET_LOG_INTERFACE: return get_log_callback (self, (RetroLogCallback *) data); case RETRO_ENVIRONMENT_GET_OVERSCAN: return get_overscan (self, (gboolean *) data); case RETRO_ENVIRONMENT_GET_RUMBLE_INTERFACE: return get_rumble_callback (self, (RetroRumbleCallback *) data); case RETRO_ENVIRONMENT_GET_SAVE_DIRECTORY: return get_save_directory (self, (const gchar **) data); case RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY: return get_system_directory (self, (const gchar **) data); case RETRO_ENVIRONMENT_GET_VARIABLE: return get_variable (self, (RetroVariable *) data); case RETRO_ENVIRONMENT_GET_VARIABLE_UPDATE: return get_variable_update (self, (bool *) data); case RETRO_ENVIRONMENT_SET_DISK_CONTROL_INTERFACE: return set_disk_control_interface (self, (RetroDiskControlCallback *) data); case RETRO_ENVIRONMENT_SET_GEOMETRY: return set_geometry (self, (RetroGameGeometry *) data); case RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS: return set_input_descriptors (self, (RetroInputDescriptor *) data); case RETRO_ENVIRONMENT_SET_KEYBOARD_CALLBACK: return set_keyboard_callback (self, (RetroKeyboardCallback *) data); case RETRO_ENVIRONMENT_SET_MESSAGE: return set_message (self, (RetroMessage *) data); case RETRO_ENVIRONMENT_SET_PIXEL_FORMAT: return set_pixel_format (self, (RetroPixelFormat *) data); case RETRO_ENVIRONMENT_SET_ROTATION: return set_rotation (self, (RetroRotation *) data); case RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME: return set_support_no_game (self, (gboolean *) data); case RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO: return set_system_av_info (self, (RetroSystemAvInfo *) data); case RETRO_ENVIRONMENT_SET_VARIABLES: return set_variables (self, (RetroVariable *) data); case RETRO_ENVIRONMENT_SHUTDOWN: return shutdown (self); case RETRO_ENVIRONMENT_GET_CAMERA_INTERFACE: case RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER: case RETRO_ENVIRONMENT_GET_HW_RENDER_INTERFACE: case RETRO_ENVIRONMENT_GET_LOCATION_INTERFACE: case RETRO_ENVIRONMENT_GET_PERF_INTERFACE: case RETRO_ENVIRONMENT_GET_SENSOR_INTERFACE: case RETRO_ENVIRONMENT_GET_USERNAME: case RETRO_ENVIRONMENT_SET_AUDIO_CALLBACK: case RETRO_ENVIRONMENT_SET_CONTROLLER_INFO: case RETRO_ENVIRONMENT_SET_FRAME_TIME_CALLBACK: case RETRO_ENVIRONMENT_SET_HW_RENDER: case RETRO_ENVIRONMENT_SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE: case RETRO_ENVIRONMENT_SET_MEMORY_MAPS: case RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL: case RETRO_ENVIRONMENT_SET_PROC_ADDRESS_CALLBACK: case RETRO_ENVIRONMENT_SET_SERIALIZATION_QUIRKS: case RETRO_ENVIRONMENT_SET_SUBSYSTEM_INFO: case RETRO_ENVIRONMENT_SET_SUPPORT_ACHIEVEMENTS: default: return FALSE; } }