mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-10-05 10:21:42 +02:00
The source tarball also included empty obj/ and out/ directories which git does not support. byuu says: Project started, so basically everything is new. It's basically a rough skeleton that mimics bsnes project structure. Eventually the src/gameboy folder will be copied into bsnes-official and used by the chip/supergameboy core. The middleware layer (supergameboy/interface) will be merged into a new chip/icd2 folder that will represent direct Super Game Boy emulation in the future. At least, if all goes according to plan. There is a simple GUI that can load ROMs, but do nothing after it. It's not hooked up to ruby yet. There is a basic system class and interface to expose the video/audio/input functions. There is a basic memory bus that doesn't support any MBCs yet. There is a CPU skeleton that only handles easy read/write access to the CPU registers (AF is a really fucked up register.) The core is not hooked up to libco yet, but I intend for it to be, so that I can run the CPU + LCD how I like. If it turns out the LCD+audio is easily enslavable, then I'll probably drop libco and just run it like a regular emulator, using a thread wrapper around it in bsnes only. We'll see. The CPU doesn't actually support any opcodes, and loading a ROM won't actually execute anything.
16 lines
354 B
C++
Executable File
16 lines
354 B
C++
Executable File
#include "../base.hpp"
|
|
Utility utility;
|
|
|
|
void Utility::loadCartridge(const char *filename) {
|
|
file fp;
|
|
if(fp.open(filename, file::mode::read)) {
|
|
unsigned size = fp.size();
|
|
uint8_t *data = new uint8_t[size];
|
|
fp.read(data, size);
|
|
fp.close();
|
|
GameBoy::cartridge.load(data, size);
|
|
delete[] data;
|
|
GameBoy::system.power();
|
|
}
|
|
}
|