mirror of
https://github.com/libretro/gambatte-libretro.git
synced 2024-11-26 17:30:23 +00:00
Set OSX target back to 'default' - some libc++ conflicts - rely
instead for 10.7 backwards compatibility on us not using anything unusual in libc++ that could cause issues at runtime, like strlcpy_chk_ or sincos
This commit is contained in:
parent
b4dfe7cc26
commit
dc3d11af96
@ -168,7 +168,7 @@ libretro-build-linux-i686:
|
||||
# MacOS 64-bit
|
||||
libretro-build-osx-x64:
|
||||
extends:
|
||||
- .libretro-osx-x64-make-10-7
|
||||
- .libretro-osx-x64-make-default
|
||||
- .core-defs
|
||||
|
||||
# MacOS ARM 64-bit
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <stdint.h>
|
||||
#include <cstring>
|
||||
#include <string>
|
||||
#include <memory>
|
||||
|
||||
#include "bootloader.h"
|
||||
|
||||
@ -14,7 +14,7 @@ void Bootloader::patch_gbc_to_gba_mode() {
|
||||
/*moves one jump over another and puts ld b,0x01 into the original position*/
|
||||
uint16_t patchloc = 0xF2;
|
||||
uint8_t patch[0x7] = {0xCD,0xD0,0x05/*<-call systemsetup*/,0x06,0x01/*<-ld b,0x1*/,0x00/*<-nop*/,0x00/*<-nop*/};
|
||||
std::memcpy(bootromswapspace + patchloc, patch, 0x7);
|
||||
memcpy(bootromswapspace + patchloc, patch, 0x7);
|
||||
}
|
||||
|
||||
void Bootloader::load(bool isgbc, bool isgba) {
|
||||
@ -42,14 +42,14 @@ void Bootloader::load(bool isgbc, bool isgba) {
|
||||
patch_gbc_to_gba_mode();
|
||||
|
||||
//backup rom segment that is shared with bootloader
|
||||
std::memcpy(rombackup, (uint8_t*)addrspace_start, bootloadersize);
|
||||
memcpy(rombackup, (uint8_t*)addrspace_start, bootloadersize);
|
||||
|
||||
//put back cartridge data in a 256 byte window of the bios that is not mapped(GBC only)
|
||||
if (isgbc)
|
||||
std::memcpy(bootromswapspace + 0x100, rombackup + 0x100, 0x100);
|
||||
memcpy(bootromswapspace + 0x100, rombackup + 0x100, 0x100);
|
||||
|
||||
//put bootloader in main memory
|
||||
std::memcpy((uint8_t*)addrspace_start, bootromswapspace, bootloadersize);
|
||||
memcpy((uint8_t*)addrspace_start, bootromswapspace, bootloadersize);
|
||||
|
||||
using_bootloader = true;
|
||||
}
|
||||
@ -89,14 +89,14 @@ void Bootloader::choosebank(bool inbootloader) {
|
||||
void Bootloader::call_FF50() {
|
||||
if (!has_called_FF50 && using_bootloader) {
|
||||
//put rom back in main memory when bootloader has finished
|
||||
std::memcpy((uint8_t*)addrspace_start, rombackup, bootloadersize);
|
||||
memcpy((uint8_t*)addrspace_start, rombackup, bootloadersize);
|
||||
has_called_FF50 = true;
|
||||
}
|
||||
}
|
||||
|
||||
//this is a developer function only,a real gameboy can never undo calling 0xFF50,this function is for savestate functionality
|
||||
void Bootloader::uncall_FF50() {
|
||||
std::memcpy((uint8_t*)addrspace_start, bootromswapspace, bootloadersize);
|
||||
memcpy((uint8_t*)addrspace_start, bootromswapspace, bootloadersize);
|
||||
has_called_FF50 = false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user