Skip to content

Commit

Permalink
v106.217
Browse files Browse the repository at this point in the history
Added preliminary Mama Mitte emulation (boots the canonical software)
  • Loading branch information
byuu committed Sep 25, 2019
1 parent ce0dcbb commit 0964b91
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 2 deletions.
2 changes: 1 addition & 1 deletion higan/emulator/emulator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ using namespace nall;

namespace higan {
static const string Name = "higan";
static const string Version = "106.216";
static const string Version = "106.217";
static const string Author = "byuu";
static const string License = "GPLv3";
static const string Website = "https://byuu.org";
Expand Down
5 changes: 4 additions & 1 deletion higan/ws/cartridge/cartridge.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,10 @@ auto Cartridge::load(Node::Object parent, Node::Object from) -> void {
port = Node::append<Node::Port>(parent, from, "Cartridge Slot");
port->setFamily(interface->name());
port->setType("Cartridge");
port->setAllocate([&] { return Node::Peripheral::create(interface->name()); });
port->setAllocate([&] {
if(Model::SwanCrystal()) return Node::Peripheral::create("WonderSwan Color");
return Node::Peripheral::create(interface->name());
});
port->setAttach([&](auto node) { connect(node); });
port->setDetach([&](auto node) { disconnect(); });
port->scan(from);
Expand Down
1 change: 1 addition & 0 deletions higan/ws/memory/memory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ auto Bus::map(IO* io, uint16_t lo, maybe<uint16_t> hi) -> void {

auto Bus::portRead(uint16 address) -> uint8 {
if(auto io = port[address]) return io->portRead(address);
if(address == 0x00ca) return 0x80; //Mama Mitte (unknown status bit)
return 0x00;
}

Expand Down
6 changes: 6 additions & 0 deletions higan/ws/system/system.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,12 @@ auto System::load(Node::Object& root, Node::Object from) -> void {
eeprom.program(0x82, 0x27);
eeprom.program(0x83, 0x03); //d0-d1 = volume (0-3)
initializeName("SWANCRYSTAL"); //verified

//Mama Mitte (used by the software to detect the specific Mama Mitte SwanCrystal hardware)
eeprom.program(0x7a, 0x7f);
eeprom.program(0x7b, 0x52);
eeprom.program(0x07fe, 0x34);
eeprom.program(0x07ff, 0x12);
}

if(WonderSwan::Model::PocketChallengeV2()) {
Expand Down

0 comments on commit 0964b91

Please sign in to comment.