Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/libsnes/bsnes/snes/chip/sufamiturbo/sufamiturbo.cpp
2 views
1
#include <snes/snes.hpp>
2
3
#define SUFAMITURBO_CPP
4
namespace SNES {
5
6
#include "serialization.cpp"
7
SufamiTurbo sufamiturbo;
8
9
SufamiTurbo::SufamiTurbo()
10
{
11
slotA.ram.setName("SUFAMI_TURBO_A_RAM");
12
slotB.ram.setName("SUFAMI_TURBO_B_RAM");
13
}
14
15
void SufamiTurbo::load() {
16
slotA.ram.map(allocate<uint8>(128 * 1024, 0xff), 128 * 1024);
17
slotB.ram.map(allocate<uint8>(128 * 1024, 0xff), 128 * 1024);
18
19
if(slotA.rom.data()) {
20
cartridge.nvram.append({ "program.ram", slotA.ram.data(), slotA.ram.size(), Cartridge::Slot::SufamiTurboA });
21
} else {
22
slotA.rom.map(allocate<uint8>(128 * 1024, 0xff), 128 * 1024);
23
}
24
25
if(slotB.rom.data()) {
26
cartridge.nvram.append({ "program.ram", slotB.ram.data(), slotB.ram.size(), Cartridge::Slot::SufamiTurboB });
27
} else {
28
slotB.rom.map(allocate<uint8>(128 * 1024, 0xff), 128 * 1024);
29
}
30
}
31
32
void SufamiTurbo::unload() {
33
slotA.rom.reset();
34
slotA.ram.reset();
35
slotB.rom.reset();
36
slotB.ram.reset();
37
}
38
39
}
40
41