mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-23 22:52:34 +01:00
byuu says: Changelog: - added higan/emulator/platform.hpp (moved out Emulator::Platform from emulator/interface.hpp) - moved gmake build paramter to nall/GNUmakefile; both higan and icarus use it now - added build=profile mode - MD: added the region select I/O register - MD: started to add region selection support internally (still no external select or PAL support) - PCE: added cycle stealing when reading/writing to the VDC or VCE; and when using ST# instructions - PCE: cleaned up PSG to match the behavior of Mednafen (doesn't improve sound at all ;_;) - note: need to remove loadWaveSample, loadWavePeriod - HuC6280: ADC/SBC decimal mode consumes an extra cycle; does not set V flag - HuC6280: block transfer instructions were taking one cycle too many - icarus: added code to strip out PC Engine ROM headers - hiro: added options support to BrowserDialog The last one sure ended in failure. The plan was to put a region dropdown directly onto hiro::BrowserDialog, and I had all the code for it working. But I forgot one important detail: the system loads cartridges AFTER powering on, so even though I could technically change the system region post-boot, I'd rather not do so. So that means we have to know what region we want before we even select a game. Shit.
24 lines
714 B
C++
24 lines
714 B
C++
struct PCEngineCartridge {
|
|
PCEngineCartridge(string location, uint8_t* data, uint size);
|
|
|
|
string manifest;
|
|
|
|
//private:
|
|
struct Information {
|
|
} information;
|
|
};
|
|
|
|
PCEngineCartridge::PCEngineCartridge(string location, uint8_t* data, uint size) {
|
|
//skip header
|
|
if((size & 0x1fff) == 512) data += 512, size -= 512;
|
|
|
|
manifest.append("board\n");
|
|
manifest.append(" rom name=program.rom size=0x", hex(size), "\n");
|
|
manifest.append("\n");
|
|
manifest.append("information\n");
|
|
manifest.append(" title: ", Location::prefix(location), "\n");
|
|
manifest.append(" sha256: ", Hash::SHA256(data, size).digest(), "\n");
|
|
manifest.append("\n");
|
|
manifest.append("note: heuristically generated by icarus\n");
|
|
}
|