mirror of https://github.com/mgba-emu/mgba.git
Libretro: BIOS loading
This commit is contained in:
parent
1975fc7706
commit
85c4162ad1
1
CHANGES
1
CHANGES
|
@ -27,6 +27,7 @@ Features:
|
||||||
- Undo-able savestate loading and saving
|
- Undo-able savestate loading and saving
|
||||||
- Controller profiles now store shortcut settings
|
- Controller profiles now store shortcut settings
|
||||||
- Default controller profiles for several common controllers
|
- Default controller profiles for several common controllers
|
||||||
|
- Libretro now supports BIOS and rumble
|
||||||
Bugfixes:
|
Bugfixes:
|
||||||
- ARM7: Fix SWI and IRQ timings
|
- ARM7: Fix SWI and IRQ timings
|
||||||
- GBA Audio: Force audio FIFOs to 32-bit
|
- GBA Audio: Force audio FIFOs to 32-bit
|
||||||
|
|
|
@ -39,6 +39,7 @@ static struct VFile* rom;
|
||||||
static void* data;
|
static void* data;
|
||||||
static struct VFile* save;
|
static struct VFile* save;
|
||||||
static void* savedata;
|
static void* savedata;
|
||||||
|
static struct VFile* bios;
|
||||||
static struct GBAAVStream stream;
|
static struct GBAAVStream stream;
|
||||||
static int rumbleLevel;
|
static int rumbleLevel;
|
||||||
static struct CircleBuffer rumbleHistory;
|
static struct CircleBuffer rumbleHistory;
|
||||||
|
@ -152,6 +153,16 @@ void retro_init(void) {
|
||||||
}
|
}
|
||||||
rom = 0;
|
rom = 0;
|
||||||
|
|
||||||
|
const char* sysDir = 0;
|
||||||
|
if (environCallback(RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY, &sysDir)) {
|
||||||
|
char biosPath[PATH_MAX];
|
||||||
|
snprintf(biosPath, sizeof(biosPath), "%s%s%s", sysDir, PATH_SEP, "gba_bios.bin");
|
||||||
|
bios = VFileOpen(biosPath, O_RDONLY);
|
||||||
|
if (bios) {
|
||||||
|
GBALoadBIOS(&gba, bios);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
GBAVideoSoftwareRendererCreate(&renderer);
|
GBAVideoSoftwareRendererCreate(&renderer);
|
||||||
renderer.outputBuffer = malloc(256 * VIDEO_VERTICAL_PIXELS * BYTES_PER_PIXEL);
|
renderer.outputBuffer = malloc(256 * VIDEO_VERTICAL_PIXELS * BYTES_PER_PIXEL);
|
||||||
renderer.outputBufferStride = 256;
|
renderer.outputBufferStride = 256;
|
||||||
|
@ -166,6 +177,10 @@ void retro_init(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void retro_deinit(void) {
|
void retro_deinit(void) {
|
||||||
|
if (bios) {
|
||||||
|
bios->close(bios);
|
||||||
|
bios = 0;
|
||||||
|
}
|
||||||
GBADestroy(&gba);
|
GBADestroy(&gba);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue