diff --git a/GNUmakefile b/higan/GNUmakefile similarity index 60% rename from GNUmakefile rename to higan/GNUmakefile index eba1f35f..1e8fce2e 100644 --- a/GNUmakefile +++ b/higan/GNUmakefile @@ -1,4 +1,4 @@ -include nall/GNUmakefile +include ../nall/GNUmakefile fc := fc sfc := sfc @@ -9,8 +9,7 @@ profile := accuracy target := tomoko # console := true -# compiler -flags += -I. -O3 +flags += -I. -I.. -O3 objects := libco # profile-guided optimization mode @@ -47,12 +46,9 @@ else ifeq ($(platform),bsd) link += -Wl,-export-dynamic link += -lX11 -lXext else - $(error unsupported platform.) + $(error "unsupported platform") endif -ui := target-$(target) - -# implicit rules compile = \ $(strip \ $(if $(filter %.c,$<), \ @@ -67,39 +63,9 @@ compile = \ all: build; -obj/libco.o: libco/libco.c libco/* - +ui := target-$(target) include $(ui)/GNUmakefile -flags := $(flags) $(foreach o,$(call strupper,$(options)),-D$o) -# targets clean: -@$(call delete,out/*) - -@$(call delete,obj/*.o) - -@$(call delete,obj/*.a) - -@$(call delete,obj/*.so) - -@$(call delete,obj/*.dylib) - -@$(call delete,obj/*.dll) - -archive: - if [ -f higan.tar.xz ]; then rm higan.tar.xz; fi - tar -cJf higan.tar.xz `ls` - -sync: -ifeq ($(shell id -un),byuu) - if [ -d ./libco ]; then rm -r ./libco; fi - if [ -d ./nall ]; then rm -r ./nall; fi - if [ -d ./ruby ]; then rm -r ./ruby; fi - if [ -d ./hiro ]; then rm -r ./hiro; fi - cp -r ../libco ./libco - cp -r ../nall ./nall - cp -r ../ruby ./ruby - cp -r ../hiro ./hiro - rm -r libco/doc - rm -r libco/-test - rm -r nall/-test - rm -r ruby/-test - rm -r hiro/-test -endif - -help:; + -@$(call delete,obj/*) diff --git a/data/Info.plist b/higan/data/Info.plist similarity index 100% rename from data/Info.plist rename to higan/data/Info.plist diff --git a/data/cheats.bml b/higan/data/cheats.bml similarity index 100% rename from data/cheats.bml rename to higan/data/cheats.bml diff --git a/data/higan.Manifest b/higan/data/higan.Manifest similarity index 100% rename from data/higan.Manifest rename to higan/data/higan.Manifest diff --git a/data/higan.desktop b/higan/data/higan.desktop similarity index 100% rename from data/higan.desktop rename to higan/data/higan.desktop diff --git a/data/higan.ico b/higan/data/higan.ico similarity index 100% rename from data/higan.ico rename to higan/data/higan.ico diff --git a/data/higan.png b/higan/data/higan.png similarity index 100% rename from data/higan.png rename to higan/data/higan.png diff --git a/data/resource.rc b/higan/data/resource.rc similarity index 100% rename from data/resource.rc rename to higan/data/resource.rc diff --git a/emulator/emulator.hpp b/higan/emulator/emulator.hpp similarity index 97% rename from emulator/emulator.hpp rename to higan/emulator/emulator.hpp index bc403fed..87c38ede 100644 --- a/emulator/emulator.hpp +++ b/higan/emulator/emulator.hpp @@ -7,7 +7,7 @@ using namespace nall; namespace Emulator { static const string Name = "higan"; - static const string Version = "096"; + static const string Version = "096.01"; static const string Author = "byuu"; static const string License = "GPLv3"; static const string Website = "http://byuu.org/"; diff --git a/emulator/interface.hpp b/higan/emulator/interface.hpp similarity index 100% rename from emulator/interface.hpp rename to higan/emulator/interface.hpp diff --git a/fc/GNUmakefile b/higan/fc/GNUmakefile similarity index 100% rename from fc/GNUmakefile rename to higan/fc/GNUmakefile diff --git a/fc/apu/apu.cpp b/higan/fc/apu/apu.cpp similarity index 100% rename from fc/apu/apu.cpp rename to higan/fc/apu/apu.cpp diff --git a/fc/apu/apu.hpp b/higan/fc/apu/apu.hpp similarity index 100% rename from fc/apu/apu.hpp rename to higan/fc/apu/apu.hpp diff --git a/fc/apu/dmc.cpp b/higan/fc/apu/dmc.cpp similarity index 100% rename from fc/apu/dmc.cpp rename to higan/fc/apu/dmc.cpp diff --git a/fc/apu/dmc.hpp b/higan/fc/apu/dmc.hpp similarity index 100% rename from fc/apu/dmc.hpp rename to higan/fc/apu/dmc.hpp diff --git a/fc/apu/envelope.cpp b/higan/fc/apu/envelope.cpp similarity index 100% rename from fc/apu/envelope.cpp rename to higan/fc/apu/envelope.cpp diff --git a/fc/apu/envelope.hpp b/higan/fc/apu/envelope.hpp similarity index 100% rename from fc/apu/envelope.hpp rename to higan/fc/apu/envelope.hpp diff --git a/fc/apu/noise.cpp b/higan/fc/apu/noise.cpp similarity index 100% rename from fc/apu/noise.cpp rename to higan/fc/apu/noise.cpp diff --git a/fc/apu/noise.hpp b/higan/fc/apu/noise.hpp similarity index 100% rename from fc/apu/noise.hpp rename to higan/fc/apu/noise.hpp diff --git a/fc/apu/pulse.cpp b/higan/fc/apu/pulse.cpp similarity index 100% rename from fc/apu/pulse.cpp rename to higan/fc/apu/pulse.cpp diff --git a/fc/apu/pulse.hpp b/higan/fc/apu/pulse.hpp similarity index 100% rename from fc/apu/pulse.hpp rename to higan/fc/apu/pulse.hpp diff --git a/fc/apu/serialization.cpp b/higan/fc/apu/serialization.cpp similarity index 100% rename from fc/apu/serialization.cpp rename to higan/fc/apu/serialization.cpp diff --git a/fc/apu/sweep.cpp b/higan/fc/apu/sweep.cpp similarity index 100% rename from fc/apu/sweep.cpp rename to higan/fc/apu/sweep.cpp diff --git a/fc/apu/sweep.hpp b/higan/fc/apu/sweep.hpp similarity index 100% rename from fc/apu/sweep.hpp rename to higan/fc/apu/sweep.hpp diff --git a/fc/apu/triangle.cpp b/higan/fc/apu/triangle.cpp similarity index 100% rename from fc/apu/triangle.cpp rename to higan/fc/apu/triangle.cpp diff --git a/fc/apu/triangle.hpp b/higan/fc/apu/triangle.hpp similarity index 100% rename from fc/apu/triangle.hpp rename to higan/fc/apu/triangle.hpp diff --git a/fc/cartridge/board/bandai-fcg.cpp b/higan/fc/cartridge/board/bandai-fcg.cpp similarity index 100% rename from fc/cartridge/board/bandai-fcg.cpp rename to higan/fc/cartridge/board/bandai-fcg.cpp diff --git a/fc/cartridge/board/board.cpp b/higan/fc/cartridge/board/board.cpp similarity index 100% rename from fc/cartridge/board/board.cpp rename to higan/fc/cartridge/board/board.cpp diff --git a/fc/cartridge/board/board.hpp b/higan/fc/cartridge/board/board.hpp similarity index 100% rename from fc/cartridge/board/board.hpp rename to higan/fc/cartridge/board/board.hpp diff --git a/fc/cartridge/board/konami-vrc1.cpp b/higan/fc/cartridge/board/konami-vrc1.cpp similarity index 100% rename from fc/cartridge/board/konami-vrc1.cpp rename to higan/fc/cartridge/board/konami-vrc1.cpp diff --git a/fc/cartridge/board/konami-vrc2.cpp b/higan/fc/cartridge/board/konami-vrc2.cpp similarity index 100% rename from fc/cartridge/board/konami-vrc2.cpp rename to higan/fc/cartridge/board/konami-vrc2.cpp diff --git a/fc/cartridge/board/konami-vrc3.cpp b/higan/fc/cartridge/board/konami-vrc3.cpp similarity index 100% rename from fc/cartridge/board/konami-vrc3.cpp rename to higan/fc/cartridge/board/konami-vrc3.cpp diff --git a/fc/cartridge/board/konami-vrc4.cpp b/higan/fc/cartridge/board/konami-vrc4.cpp similarity index 100% rename from fc/cartridge/board/konami-vrc4.cpp rename to higan/fc/cartridge/board/konami-vrc4.cpp diff --git a/fc/cartridge/board/konami-vrc6.cpp b/higan/fc/cartridge/board/konami-vrc6.cpp similarity index 100% rename from fc/cartridge/board/konami-vrc6.cpp rename to higan/fc/cartridge/board/konami-vrc6.cpp diff --git a/fc/cartridge/board/konami-vrc7.cpp b/higan/fc/cartridge/board/konami-vrc7.cpp similarity index 100% rename from fc/cartridge/board/konami-vrc7.cpp rename to higan/fc/cartridge/board/konami-vrc7.cpp diff --git a/fc/cartridge/board/nes-axrom.cpp b/higan/fc/cartridge/board/nes-axrom.cpp similarity index 100% rename from fc/cartridge/board/nes-axrom.cpp rename to higan/fc/cartridge/board/nes-axrom.cpp diff --git a/fc/cartridge/board/nes-bnrom.cpp b/higan/fc/cartridge/board/nes-bnrom.cpp similarity index 100% rename from fc/cartridge/board/nes-bnrom.cpp rename to higan/fc/cartridge/board/nes-bnrom.cpp diff --git a/fc/cartridge/board/nes-cnrom.cpp b/higan/fc/cartridge/board/nes-cnrom.cpp similarity index 100% rename from fc/cartridge/board/nes-cnrom.cpp rename to higan/fc/cartridge/board/nes-cnrom.cpp diff --git a/fc/cartridge/board/nes-exrom.cpp b/higan/fc/cartridge/board/nes-exrom.cpp similarity index 100% rename from fc/cartridge/board/nes-exrom.cpp rename to higan/fc/cartridge/board/nes-exrom.cpp diff --git a/fc/cartridge/board/nes-fxrom.cpp b/higan/fc/cartridge/board/nes-fxrom.cpp similarity index 100% rename from fc/cartridge/board/nes-fxrom.cpp rename to higan/fc/cartridge/board/nes-fxrom.cpp diff --git a/fc/cartridge/board/nes-gxrom.cpp b/higan/fc/cartridge/board/nes-gxrom.cpp similarity index 100% rename from fc/cartridge/board/nes-gxrom.cpp rename to higan/fc/cartridge/board/nes-gxrom.cpp diff --git a/fc/cartridge/board/nes-hkrom.cpp b/higan/fc/cartridge/board/nes-hkrom.cpp similarity index 100% rename from fc/cartridge/board/nes-hkrom.cpp rename to higan/fc/cartridge/board/nes-hkrom.cpp diff --git a/fc/cartridge/board/nes-nrom.cpp b/higan/fc/cartridge/board/nes-nrom.cpp similarity index 100% rename from fc/cartridge/board/nes-nrom.cpp rename to higan/fc/cartridge/board/nes-nrom.cpp diff --git a/fc/cartridge/board/nes-pxrom.cpp b/higan/fc/cartridge/board/nes-pxrom.cpp similarity index 100% rename from fc/cartridge/board/nes-pxrom.cpp rename to higan/fc/cartridge/board/nes-pxrom.cpp diff --git a/fc/cartridge/board/nes-sxrom.cpp b/higan/fc/cartridge/board/nes-sxrom.cpp similarity index 100% rename from fc/cartridge/board/nes-sxrom.cpp rename to higan/fc/cartridge/board/nes-sxrom.cpp diff --git a/fc/cartridge/board/nes-txrom.cpp b/higan/fc/cartridge/board/nes-txrom.cpp similarity index 100% rename from fc/cartridge/board/nes-txrom.cpp rename to higan/fc/cartridge/board/nes-txrom.cpp diff --git a/fc/cartridge/board/nes-uxrom.cpp b/higan/fc/cartridge/board/nes-uxrom.cpp similarity index 100% rename from fc/cartridge/board/nes-uxrom.cpp rename to higan/fc/cartridge/board/nes-uxrom.cpp diff --git a/fc/cartridge/board/sunsoft-5b.cpp b/higan/fc/cartridge/board/sunsoft-5b.cpp similarity index 100% rename from fc/cartridge/board/sunsoft-5b.cpp rename to higan/fc/cartridge/board/sunsoft-5b.cpp diff --git a/fc/cartridge/cartridge.cpp b/higan/fc/cartridge/cartridge.cpp similarity index 100% rename from fc/cartridge/cartridge.cpp rename to higan/fc/cartridge/cartridge.cpp diff --git a/fc/cartridge/cartridge.hpp b/higan/fc/cartridge/cartridge.hpp similarity index 100% rename from fc/cartridge/cartridge.hpp rename to higan/fc/cartridge/cartridge.hpp diff --git a/fc/cartridge/chip/chip.cpp b/higan/fc/cartridge/chip/chip.cpp similarity index 100% rename from fc/cartridge/chip/chip.cpp rename to higan/fc/cartridge/chip/chip.cpp diff --git a/fc/cartridge/chip/chip.hpp b/higan/fc/cartridge/chip/chip.hpp similarity index 100% rename from fc/cartridge/chip/chip.hpp rename to higan/fc/cartridge/chip/chip.hpp diff --git a/fc/cartridge/chip/mmc1.cpp b/higan/fc/cartridge/chip/mmc1.cpp similarity index 100% rename from fc/cartridge/chip/mmc1.cpp rename to higan/fc/cartridge/chip/mmc1.cpp diff --git a/fc/cartridge/chip/mmc3.cpp b/higan/fc/cartridge/chip/mmc3.cpp similarity index 100% rename from fc/cartridge/chip/mmc3.cpp rename to higan/fc/cartridge/chip/mmc3.cpp diff --git a/fc/cartridge/chip/mmc5.cpp b/higan/fc/cartridge/chip/mmc5.cpp similarity index 100% rename from fc/cartridge/chip/mmc5.cpp rename to higan/fc/cartridge/chip/mmc5.cpp diff --git a/fc/cartridge/chip/mmc6.cpp b/higan/fc/cartridge/chip/mmc6.cpp similarity index 100% rename from fc/cartridge/chip/mmc6.cpp rename to higan/fc/cartridge/chip/mmc6.cpp diff --git a/fc/cartridge/chip/vrc1.cpp b/higan/fc/cartridge/chip/vrc1.cpp similarity index 100% rename from fc/cartridge/chip/vrc1.cpp rename to higan/fc/cartridge/chip/vrc1.cpp diff --git a/fc/cartridge/chip/vrc2.cpp b/higan/fc/cartridge/chip/vrc2.cpp similarity index 100% rename from fc/cartridge/chip/vrc2.cpp rename to higan/fc/cartridge/chip/vrc2.cpp diff --git a/fc/cartridge/chip/vrc3.cpp b/higan/fc/cartridge/chip/vrc3.cpp similarity index 100% rename from fc/cartridge/chip/vrc3.cpp rename to higan/fc/cartridge/chip/vrc3.cpp diff --git a/fc/cartridge/chip/vrc4.cpp b/higan/fc/cartridge/chip/vrc4.cpp similarity index 100% rename from fc/cartridge/chip/vrc4.cpp rename to higan/fc/cartridge/chip/vrc4.cpp diff --git a/fc/cartridge/chip/vrc6.cpp b/higan/fc/cartridge/chip/vrc6.cpp similarity index 100% rename from fc/cartridge/chip/vrc6.cpp rename to higan/fc/cartridge/chip/vrc6.cpp diff --git a/fc/cartridge/chip/vrc7.cpp b/higan/fc/cartridge/chip/vrc7.cpp similarity index 100% rename from fc/cartridge/chip/vrc7.cpp rename to higan/fc/cartridge/chip/vrc7.cpp diff --git a/fc/cheat/cheat.cpp b/higan/fc/cheat/cheat.cpp similarity index 100% rename from fc/cheat/cheat.cpp rename to higan/fc/cheat/cheat.cpp diff --git a/fc/cheat/cheat.hpp b/higan/fc/cheat/cheat.hpp similarity index 100% rename from fc/cheat/cheat.hpp rename to higan/fc/cheat/cheat.hpp diff --git a/fc/cpu/cpu.cpp b/higan/fc/cpu/cpu.cpp similarity index 100% rename from fc/cpu/cpu.cpp rename to higan/fc/cpu/cpu.cpp diff --git a/fc/cpu/cpu.hpp b/higan/fc/cpu/cpu.hpp similarity index 100% rename from fc/cpu/cpu.hpp rename to higan/fc/cpu/cpu.hpp diff --git a/fc/cpu/serialization.cpp b/higan/fc/cpu/serialization.cpp similarity index 100% rename from fc/cpu/serialization.cpp rename to higan/fc/cpu/serialization.cpp diff --git a/fc/cpu/timing.cpp b/higan/fc/cpu/timing.cpp similarity index 100% rename from fc/cpu/timing.cpp rename to higan/fc/cpu/timing.cpp diff --git a/fc/fc.hpp b/higan/fc/fc.hpp similarity index 100% rename from fc/fc.hpp rename to higan/fc/fc.hpp diff --git a/fc/input/input.cpp b/higan/fc/input/input.cpp similarity index 100% rename from fc/input/input.cpp rename to higan/fc/input/input.cpp diff --git a/fc/input/input.hpp b/higan/fc/input/input.hpp similarity index 100% rename from fc/input/input.hpp rename to higan/fc/input/input.hpp diff --git a/fc/input/serialization.cpp b/higan/fc/input/serialization.cpp similarity index 100% rename from fc/input/serialization.cpp rename to higan/fc/input/serialization.cpp diff --git a/fc/interface/interface.cpp b/higan/fc/interface/interface.cpp similarity index 100% rename from fc/interface/interface.cpp rename to higan/fc/interface/interface.cpp diff --git a/fc/interface/interface.hpp b/higan/fc/interface/interface.hpp similarity index 100% rename from fc/interface/interface.hpp rename to higan/fc/interface/interface.hpp diff --git a/fc/memory/memory.cpp b/higan/fc/memory/memory.cpp similarity index 100% rename from fc/memory/memory.cpp rename to higan/fc/memory/memory.cpp diff --git a/fc/memory/memory.hpp b/higan/fc/memory/memory.hpp similarity index 100% rename from fc/memory/memory.hpp rename to higan/fc/memory/memory.hpp diff --git a/fc/ppu/ppu.cpp b/higan/fc/ppu/ppu.cpp similarity index 100% rename from fc/ppu/ppu.cpp rename to higan/fc/ppu/ppu.cpp diff --git a/fc/ppu/ppu.hpp b/higan/fc/ppu/ppu.hpp similarity index 100% rename from fc/ppu/ppu.hpp rename to higan/fc/ppu/ppu.hpp diff --git a/fc/ppu/serialization.cpp b/higan/fc/ppu/serialization.cpp similarity index 100% rename from fc/ppu/serialization.cpp rename to higan/fc/ppu/serialization.cpp diff --git a/fc/scheduler/scheduler.cpp b/higan/fc/scheduler/scheduler.cpp similarity index 100% rename from fc/scheduler/scheduler.cpp rename to higan/fc/scheduler/scheduler.cpp diff --git a/fc/scheduler/scheduler.hpp b/higan/fc/scheduler/scheduler.hpp similarity index 100% rename from fc/scheduler/scheduler.hpp rename to higan/fc/scheduler/scheduler.hpp diff --git a/fc/system/serialization.cpp b/higan/fc/system/serialization.cpp similarity index 100% rename from fc/system/serialization.cpp rename to higan/fc/system/serialization.cpp diff --git a/fc/system/system.cpp b/higan/fc/system/system.cpp similarity index 100% rename from fc/system/system.cpp rename to higan/fc/system/system.cpp diff --git a/fc/system/system.hpp b/higan/fc/system/system.hpp similarity index 100% rename from fc/system/system.hpp rename to higan/fc/system/system.hpp diff --git a/fc/video/video.cpp b/higan/fc/video/video.cpp similarity index 100% rename from fc/video/video.cpp rename to higan/fc/video/video.cpp diff --git a/fc/video/video.hpp b/higan/fc/video/video.hpp similarity index 100% rename from fc/video/video.hpp rename to higan/fc/video/video.hpp diff --git a/gb/GNUmakefile b/higan/gb/GNUmakefile similarity index 100% rename from gb/GNUmakefile rename to higan/gb/GNUmakefile diff --git a/gb/apu/apu.cpp b/higan/gb/apu/apu.cpp similarity index 100% rename from gb/apu/apu.cpp rename to higan/gb/apu/apu.cpp diff --git a/gb/apu/apu.hpp b/higan/gb/apu/apu.hpp similarity index 100% rename from gb/apu/apu.hpp rename to higan/gb/apu/apu.hpp diff --git a/gb/apu/master/master.cpp b/higan/gb/apu/master/master.cpp similarity index 100% rename from gb/apu/master/master.cpp rename to higan/gb/apu/master/master.cpp diff --git a/gb/apu/master/master.hpp b/higan/gb/apu/master/master.hpp similarity index 100% rename from gb/apu/master/master.hpp rename to higan/gb/apu/master/master.hpp diff --git a/gb/apu/noise/noise.cpp b/higan/gb/apu/noise/noise.cpp similarity index 100% rename from gb/apu/noise/noise.cpp rename to higan/gb/apu/noise/noise.cpp diff --git a/gb/apu/noise/noise.hpp b/higan/gb/apu/noise/noise.hpp similarity index 100% rename from gb/apu/noise/noise.hpp rename to higan/gb/apu/noise/noise.hpp diff --git a/gb/apu/serialization.cpp b/higan/gb/apu/serialization.cpp similarity index 100% rename from gb/apu/serialization.cpp rename to higan/gb/apu/serialization.cpp diff --git a/gb/apu/square1/square1.cpp b/higan/gb/apu/square1/square1.cpp similarity index 100% rename from gb/apu/square1/square1.cpp rename to higan/gb/apu/square1/square1.cpp diff --git a/gb/apu/square1/square1.hpp b/higan/gb/apu/square1/square1.hpp similarity index 100% rename from gb/apu/square1/square1.hpp rename to higan/gb/apu/square1/square1.hpp diff --git a/gb/apu/square2/square2.cpp b/higan/gb/apu/square2/square2.cpp similarity index 100% rename from gb/apu/square2/square2.cpp rename to higan/gb/apu/square2/square2.cpp diff --git a/gb/apu/square2/square2.hpp b/higan/gb/apu/square2/square2.hpp similarity index 100% rename from gb/apu/square2/square2.hpp rename to higan/gb/apu/square2/square2.hpp diff --git a/gb/apu/wave/wave.cpp b/higan/gb/apu/wave/wave.cpp similarity index 100% rename from gb/apu/wave/wave.cpp rename to higan/gb/apu/wave/wave.cpp diff --git a/gb/apu/wave/wave.hpp b/higan/gb/apu/wave/wave.hpp similarity index 100% rename from gb/apu/wave/wave.hpp rename to higan/gb/apu/wave/wave.hpp diff --git a/gb/cartridge/cartridge.cpp b/higan/gb/cartridge/cartridge.cpp similarity index 100% rename from gb/cartridge/cartridge.cpp rename to higan/gb/cartridge/cartridge.cpp diff --git a/gb/cartridge/cartridge.hpp b/higan/gb/cartridge/cartridge.hpp similarity index 100% rename from gb/cartridge/cartridge.hpp rename to higan/gb/cartridge/cartridge.hpp diff --git a/gb/cartridge/huc1/huc1.cpp b/higan/gb/cartridge/huc1/huc1.cpp similarity index 100% rename from gb/cartridge/huc1/huc1.cpp rename to higan/gb/cartridge/huc1/huc1.cpp diff --git a/gb/cartridge/huc1/huc1.hpp b/higan/gb/cartridge/huc1/huc1.hpp similarity index 100% rename from gb/cartridge/huc1/huc1.hpp rename to higan/gb/cartridge/huc1/huc1.hpp diff --git a/gb/cartridge/huc3/huc3.cpp b/higan/gb/cartridge/huc3/huc3.cpp similarity index 100% rename from gb/cartridge/huc3/huc3.cpp rename to higan/gb/cartridge/huc3/huc3.cpp diff --git a/gb/cartridge/huc3/huc3.hpp b/higan/gb/cartridge/huc3/huc3.hpp similarity index 100% rename from gb/cartridge/huc3/huc3.hpp rename to higan/gb/cartridge/huc3/huc3.hpp diff --git a/gb/cartridge/mbc0/mbc0.cpp b/higan/gb/cartridge/mbc0/mbc0.cpp similarity index 100% rename from gb/cartridge/mbc0/mbc0.cpp rename to higan/gb/cartridge/mbc0/mbc0.cpp diff --git a/gb/cartridge/mbc0/mbc0.hpp b/higan/gb/cartridge/mbc0/mbc0.hpp similarity index 100% rename from gb/cartridge/mbc0/mbc0.hpp rename to higan/gb/cartridge/mbc0/mbc0.hpp diff --git a/gb/cartridge/mbc1/mbc1.cpp b/higan/gb/cartridge/mbc1/mbc1.cpp similarity index 100% rename from gb/cartridge/mbc1/mbc1.cpp rename to higan/gb/cartridge/mbc1/mbc1.cpp diff --git a/gb/cartridge/mbc1/mbc1.hpp b/higan/gb/cartridge/mbc1/mbc1.hpp similarity index 100% rename from gb/cartridge/mbc1/mbc1.hpp rename to higan/gb/cartridge/mbc1/mbc1.hpp diff --git a/gb/cartridge/mbc2/mbc2.cpp b/higan/gb/cartridge/mbc2/mbc2.cpp similarity index 100% rename from gb/cartridge/mbc2/mbc2.cpp rename to higan/gb/cartridge/mbc2/mbc2.cpp diff --git a/gb/cartridge/mbc2/mbc2.hpp b/higan/gb/cartridge/mbc2/mbc2.hpp similarity index 100% rename from gb/cartridge/mbc2/mbc2.hpp rename to higan/gb/cartridge/mbc2/mbc2.hpp diff --git a/gb/cartridge/mbc3/mbc3.cpp b/higan/gb/cartridge/mbc3/mbc3.cpp similarity index 100% rename from gb/cartridge/mbc3/mbc3.cpp rename to higan/gb/cartridge/mbc3/mbc3.cpp diff --git a/gb/cartridge/mbc3/mbc3.hpp b/higan/gb/cartridge/mbc3/mbc3.hpp similarity index 100% rename from gb/cartridge/mbc3/mbc3.hpp rename to higan/gb/cartridge/mbc3/mbc3.hpp diff --git a/gb/cartridge/mbc5/mbc5.cpp b/higan/gb/cartridge/mbc5/mbc5.cpp similarity index 100% rename from gb/cartridge/mbc5/mbc5.cpp rename to higan/gb/cartridge/mbc5/mbc5.cpp diff --git a/gb/cartridge/mbc5/mbc5.hpp b/higan/gb/cartridge/mbc5/mbc5.hpp similarity index 100% rename from gb/cartridge/mbc5/mbc5.hpp rename to higan/gb/cartridge/mbc5/mbc5.hpp diff --git a/gb/cartridge/mmm01/mmm01.cpp b/higan/gb/cartridge/mmm01/mmm01.cpp similarity index 100% rename from gb/cartridge/mmm01/mmm01.cpp rename to higan/gb/cartridge/mmm01/mmm01.cpp diff --git a/gb/cartridge/mmm01/mmm01.hpp b/higan/gb/cartridge/mmm01/mmm01.hpp similarity index 100% rename from gb/cartridge/mmm01/mmm01.hpp rename to higan/gb/cartridge/mmm01/mmm01.hpp diff --git a/gb/cartridge/serialization.cpp b/higan/gb/cartridge/serialization.cpp similarity index 100% rename from gb/cartridge/serialization.cpp rename to higan/gb/cartridge/serialization.cpp diff --git a/gb/cheat/cheat.cpp b/higan/gb/cheat/cheat.cpp similarity index 100% rename from gb/cheat/cheat.cpp rename to higan/gb/cheat/cheat.cpp diff --git a/gb/cheat/cheat.hpp b/higan/gb/cheat/cheat.hpp similarity index 100% rename from gb/cheat/cheat.hpp rename to higan/gb/cheat/cheat.hpp diff --git a/gb/cpu/cpu.cpp b/higan/gb/cpu/cpu.cpp similarity index 100% rename from gb/cpu/cpu.cpp rename to higan/gb/cpu/cpu.cpp diff --git a/gb/cpu/cpu.hpp b/higan/gb/cpu/cpu.hpp similarity index 100% rename from gb/cpu/cpu.hpp rename to higan/gb/cpu/cpu.hpp diff --git a/gb/cpu/memory.cpp b/higan/gb/cpu/memory.cpp similarity index 100% rename from gb/cpu/memory.cpp rename to higan/gb/cpu/memory.cpp diff --git a/gb/cpu/mmio.cpp b/higan/gb/cpu/mmio.cpp similarity index 100% rename from gb/cpu/mmio.cpp rename to higan/gb/cpu/mmio.cpp diff --git a/gb/cpu/serialization.cpp b/higan/gb/cpu/serialization.cpp similarity index 100% rename from gb/cpu/serialization.cpp rename to higan/gb/cpu/serialization.cpp diff --git a/gb/cpu/timing.cpp b/higan/gb/cpu/timing.cpp similarity index 100% rename from gb/cpu/timing.cpp rename to higan/gb/cpu/timing.cpp diff --git a/gb/gb.hpp b/higan/gb/gb.hpp similarity index 100% rename from gb/gb.hpp rename to higan/gb/gb.hpp diff --git a/gb/interface/interface.cpp b/higan/gb/interface/interface.cpp similarity index 100% rename from gb/interface/interface.cpp rename to higan/gb/interface/interface.cpp diff --git a/gb/interface/interface.hpp b/higan/gb/interface/interface.hpp similarity index 100% rename from gb/interface/interface.hpp rename to higan/gb/interface/interface.hpp diff --git a/gb/memory/memory.cpp b/higan/gb/memory/memory.cpp similarity index 100% rename from gb/memory/memory.cpp rename to higan/gb/memory/memory.cpp diff --git a/gb/memory/memory.hpp b/higan/gb/memory/memory.hpp similarity index 100% rename from gb/memory/memory.hpp rename to higan/gb/memory/memory.hpp diff --git a/gb/ppu/cgb.cpp b/higan/gb/ppu/cgb.cpp similarity index 100% rename from gb/ppu/cgb.cpp rename to higan/gb/ppu/cgb.cpp diff --git a/gb/ppu/dmg.cpp b/higan/gb/ppu/dmg.cpp similarity index 100% rename from gb/ppu/dmg.cpp rename to higan/gb/ppu/dmg.cpp diff --git a/gb/ppu/mmio.cpp b/higan/gb/ppu/mmio.cpp similarity index 100% rename from gb/ppu/mmio.cpp rename to higan/gb/ppu/mmio.cpp diff --git a/gb/ppu/ppu.cpp b/higan/gb/ppu/ppu.cpp similarity index 100% rename from gb/ppu/ppu.cpp rename to higan/gb/ppu/ppu.cpp diff --git a/gb/ppu/ppu.hpp b/higan/gb/ppu/ppu.hpp similarity index 100% rename from gb/ppu/ppu.hpp rename to higan/gb/ppu/ppu.hpp diff --git a/gb/ppu/serialization.cpp b/higan/gb/ppu/serialization.cpp similarity index 100% rename from gb/ppu/serialization.cpp rename to higan/gb/ppu/serialization.cpp diff --git a/gb/scheduler/scheduler.cpp b/higan/gb/scheduler/scheduler.cpp similarity index 100% rename from gb/scheduler/scheduler.cpp rename to higan/gb/scheduler/scheduler.cpp diff --git a/gb/scheduler/scheduler.hpp b/higan/gb/scheduler/scheduler.hpp similarity index 100% rename from gb/scheduler/scheduler.hpp rename to higan/gb/scheduler/scheduler.hpp diff --git a/gb/system/serialization.cpp b/higan/gb/system/serialization.cpp similarity index 100% rename from gb/system/serialization.cpp rename to higan/gb/system/serialization.cpp diff --git a/gb/system/system.cpp b/higan/gb/system/system.cpp similarity index 100% rename from gb/system/system.cpp rename to higan/gb/system/system.cpp diff --git a/gb/system/system.hpp b/higan/gb/system/system.hpp similarity index 100% rename from gb/system/system.hpp rename to higan/gb/system/system.hpp diff --git a/gb/video/video.cpp b/higan/gb/video/video.cpp similarity index 100% rename from gb/video/video.cpp rename to higan/gb/video/video.cpp diff --git a/gb/video/video.hpp b/higan/gb/video/video.hpp similarity index 100% rename from gb/video/video.hpp rename to higan/gb/video/video.hpp diff --git a/gba/GNUmakefile b/higan/gba/GNUmakefile similarity index 100% rename from gba/GNUmakefile rename to higan/gba/GNUmakefile diff --git a/gba/apu/apu.cpp b/higan/gba/apu/apu.cpp similarity index 100% rename from gba/apu/apu.cpp rename to higan/gba/apu/apu.cpp diff --git a/gba/apu/apu.hpp b/higan/gba/apu/apu.hpp similarity index 100% rename from gba/apu/apu.hpp rename to higan/gba/apu/apu.hpp diff --git a/gba/apu/fifo.cpp b/higan/gba/apu/fifo.cpp similarity index 100% rename from gba/apu/fifo.cpp rename to higan/gba/apu/fifo.cpp diff --git a/gba/apu/mmio.cpp b/higan/gba/apu/mmio.cpp similarity index 100% rename from gba/apu/mmio.cpp rename to higan/gba/apu/mmio.cpp diff --git a/gba/apu/noise.cpp b/higan/gba/apu/noise.cpp similarity index 100% rename from gba/apu/noise.cpp rename to higan/gba/apu/noise.cpp diff --git a/gba/apu/registers.cpp b/higan/gba/apu/registers.cpp similarity index 100% rename from gba/apu/registers.cpp rename to higan/gba/apu/registers.cpp diff --git a/gba/apu/registers.hpp b/higan/gba/apu/registers.hpp similarity index 100% rename from gba/apu/registers.hpp rename to higan/gba/apu/registers.hpp diff --git a/gba/apu/sequencer.cpp b/higan/gba/apu/sequencer.cpp similarity index 100% rename from gba/apu/sequencer.cpp rename to higan/gba/apu/sequencer.cpp diff --git a/gba/apu/serialization.cpp b/higan/gba/apu/serialization.cpp similarity index 100% rename from gba/apu/serialization.cpp rename to higan/gba/apu/serialization.cpp diff --git a/gba/apu/square.cpp b/higan/gba/apu/square.cpp similarity index 100% rename from gba/apu/square.cpp rename to higan/gba/apu/square.cpp diff --git a/gba/apu/square1.cpp b/higan/gba/apu/square1.cpp similarity index 100% rename from gba/apu/square1.cpp rename to higan/gba/apu/square1.cpp diff --git a/gba/apu/square2.cpp b/higan/gba/apu/square2.cpp similarity index 100% rename from gba/apu/square2.cpp rename to higan/gba/apu/square2.cpp diff --git a/gba/apu/wave.cpp b/higan/gba/apu/wave.cpp similarity index 100% rename from gba/apu/wave.cpp rename to higan/gba/apu/wave.cpp diff --git a/gba/cartridge/cartridge.cpp b/higan/gba/cartridge/cartridge.cpp similarity index 100% rename from gba/cartridge/cartridge.cpp rename to higan/gba/cartridge/cartridge.cpp diff --git a/gba/cartridge/cartridge.hpp b/higan/gba/cartridge/cartridge.hpp similarity index 100% rename from gba/cartridge/cartridge.hpp rename to higan/gba/cartridge/cartridge.hpp diff --git a/gba/cartridge/eeprom.cpp b/higan/gba/cartridge/eeprom.cpp similarity index 100% rename from gba/cartridge/eeprom.cpp rename to higan/gba/cartridge/eeprom.cpp diff --git a/gba/cartridge/flash.cpp b/higan/gba/cartridge/flash.cpp similarity index 100% rename from gba/cartridge/flash.cpp rename to higan/gba/cartridge/flash.cpp diff --git a/gba/cartridge/memory.hpp b/higan/gba/cartridge/memory.hpp similarity index 100% rename from gba/cartridge/memory.hpp rename to higan/gba/cartridge/memory.hpp diff --git a/gba/cartridge/mrom.cpp b/higan/gba/cartridge/mrom.cpp similarity index 100% rename from gba/cartridge/mrom.cpp rename to higan/gba/cartridge/mrom.cpp diff --git a/gba/cartridge/serialization.cpp b/higan/gba/cartridge/serialization.cpp similarity index 100% rename from gba/cartridge/serialization.cpp rename to higan/gba/cartridge/serialization.cpp diff --git a/gba/cartridge/sram.cpp b/higan/gba/cartridge/sram.cpp similarity index 100% rename from gba/cartridge/sram.cpp rename to higan/gba/cartridge/sram.cpp diff --git a/gba/cpu/bus.cpp b/higan/gba/cpu/bus.cpp similarity index 100% rename from gba/cpu/bus.cpp rename to higan/gba/cpu/bus.cpp diff --git a/gba/cpu/cpu.cpp b/higan/gba/cpu/cpu.cpp similarity index 100% rename from gba/cpu/cpu.cpp rename to higan/gba/cpu/cpu.cpp diff --git a/gba/cpu/cpu.hpp b/higan/gba/cpu/cpu.hpp similarity index 100% rename from gba/cpu/cpu.hpp rename to higan/gba/cpu/cpu.hpp diff --git a/gba/cpu/dma.cpp b/higan/gba/cpu/dma.cpp similarity index 100% rename from gba/cpu/dma.cpp rename to higan/gba/cpu/dma.cpp diff --git a/gba/cpu/memory.cpp b/higan/gba/cpu/memory.cpp similarity index 100% rename from gba/cpu/memory.cpp rename to higan/gba/cpu/memory.cpp diff --git a/gba/cpu/mmio.cpp b/higan/gba/cpu/mmio.cpp similarity index 100% rename from gba/cpu/mmio.cpp rename to higan/gba/cpu/mmio.cpp diff --git a/gba/cpu/prefetch.cpp b/higan/gba/cpu/prefetch.cpp similarity index 100% rename from gba/cpu/prefetch.cpp rename to higan/gba/cpu/prefetch.cpp diff --git a/gba/cpu/prefetch.hpp b/higan/gba/cpu/prefetch.hpp similarity index 100% rename from gba/cpu/prefetch.hpp rename to higan/gba/cpu/prefetch.hpp diff --git a/gba/cpu/registers.cpp b/higan/gba/cpu/registers.cpp similarity index 100% rename from gba/cpu/registers.cpp rename to higan/gba/cpu/registers.cpp diff --git a/gba/cpu/registers.hpp b/higan/gba/cpu/registers.hpp similarity index 100% rename from gba/cpu/registers.hpp rename to higan/gba/cpu/registers.hpp diff --git a/gba/cpu/serialization.cpp b/higan/gba/cpu/serialization.cpp similarity index 100% rename from gba/cpu/serialization.cpp rename to higan/gba/cpu/serialization.cpp diff --git a/gba/cpu/state.hpp b/higan/gba/cpu/state.hpp similarity index 100% rename from gba/cpu/state.hpp rename to higan/gba/cpu/state.hpp diff --git a/gba/cpu/timer.cpp b/higan/gba/cpu/timer.cpp similarity index 100% rename from gba/cpu/timer.cpp rename to higan/gba/cpu/timer.cpp diff --git a/gba/gba.hpp b/higan/gba/gba.hpp similarity index 100% rename from gba/gba.hpp rename to higan/gba/gba.hpp diff --git a/gba/interface/interface.cpp b/higan/gba/interface/interface.cpp similarity index 100% rename from gba/interface/interface.cpp rename to higan/gba/interface/interface.cpp diff --git a/gba/interface/interface.hpp b/higan/gba/interface/interface.hpp similarity index 100% rename from gba/interface/interface.hpp rename to higan/gba/interface/interface.hpp diff --git a/gba/memory/memory.cpp b/higan/gba/memory/memory.cpp similarity index 100% rename from gba/memory/memory.cpp rename to higan/gba/memory/memory.cpp diff --git a/gba/memory/memory.hpp b/higan/gba/memory/memory.hpp similarity index 100% rename from gba/memory/memory.hpp rename to higan/gba/memory/memory.hpp diff --git a/gba/memory/mmio.cpp b/higan/gba/memory/mmio.cpp similarity index 100% rename from gba/memory/mmio.cpp rename to higan/gba/memory/mmio.cpp diff --git a/gba/player/player.cpp b/higan/gba/player/player.cpp similarity index 100% rename from gba/player/player.cpp rename to higan/gba/player/player.cpp diff --git a/gba/player/player.hpp b/higan/gba/player/player.hpp similarity index 100% rename from gba/player/player.hpp rename to higan/gba/player/player.hpp diff --git a/gba/player/serialization.cpp b/higan/gba/player/serialization.cpp similarity index 100% rename from gba/player/serialization.cpp rename to higan/gba/player/serialization.cpp diff --git a/gba/ppu/background.cpp b/higan/gba/ppu/background.cpp similarity index 100% rename from gba/ppu/background.cpp rename to higan/gba/ppu/background.cpp diff --git a/gba/ppu/memory.cpp b/higan/gba/ppu/memory.cpp similarity index 100% rename from gba/ppu/memory.cpp rename to higan/gba/ppu/memory.cpp diff --git a/gba/ppu/mmio.cpp b/higan/gba/ppu/mmio.cpp similarity index 100% rename from gba/ppu/mmio.cpp rename to higan/gba/ppu/mmio.cpp diff --git a/gba/ppu/mosaic.cpp b/higan/gba/ppu/mosaic.cpp similarity index 100% rename from gba/ppu/mosaic.cpp rename to higan/gba/ppu/mosaic.cpp diff --git a/gba/ppu/object.cpp b/higan/gba/ppu/object.cpp similarity index 100% rename from gba/ppu/object.cpp rename to higan/gba/ppu/object.cpp diff --git a/gba/ppu/ppu.cpp b/higan/gba/ppu/ppu.cpp similarity index 100% rename from gba/ppu/ppu.cpp rename to higan/gba/ppu/ppu.cpp diff --git a/gba/ppu/ppu.hpp b/higan/gba/ppu/ppu.hpp similarity index 100% rename from gba/ppu/ppu.hpp rename to higan/gba/ppu/ppu.hpp diff --git a/gba/ppu/registers.cpp b/higan/gba/ppu/registers.cpp similarity index 100% rename from gba/ppu/registers.cpp rename to higan/gba/ppu/registers.cpp diff --git a/gba/ppu/registers.hpp b/higan/gba/ppu/registers.hpp similarity index 100% rename from gba/ppu/registers.hpp rename to higan/gba/ppu/registers.hpp diff --git a/gba/ppu/screen.cpp b/higan/gba/ppu/screen.cpp similarity index 100% rename from gba/ppu/screen.cpp rename to higan/gba/ppu/screen.cpp diff --git a/gba/ppu/serialization.cpp b/higan/gba/ppu/serialization.cpp similarity index 100% rename from gba/ppu/serialization.cpp rename to higan/gba/ppu/serialization.cpp diff --git a/gba/ppu/state.hpp b/higan/gba/ppu/state.hpp similarity index 100% rename from gba/ppu/state.hpp rename to higan/gba/ppu/state.hpp diff --git a/gba/scheduler/scheduler.cpp b/higan/gba/scheduler/scheduler.cpp similarity index 100% rename from gba/scheduler/scheduler.cpp rename to higan/gba/scheduler/scheduler.cpp diff --git a/gba/scheduler/scheduler.hpp b/higan/gba/scheduler/scheduler.hpp similarity index 100% rename from gba/scheduler/scheduler.hpp rename to higan/gba/scheduler/scheduler.hpp diff --git a/gba/system/bios.cpp b/higan/gba/system/bios.cpp similarity index 100% rename from gba/system/bios.cpp rename to higan/gba/system/bios.cpp diff --git a/gba/system/serialization.cpp b/higan/gba/system/serialization.cpp similarity index 100% rename from gba/system/serialization.cpp rename to higan/gba/system/serialization.cpp diff --git a/gba/system/system.cpp b/higan/gba/system/system.cpp similarity index 100% rename from gba/system/system.cpp rename to higan/gba/system/system.cpp diff --git a/gba/system/system.hpp b/higan/gba/system/system.hpp similarity index 100% rename from gba/system/system.hpp rename to higan/gba/system/system.hpp diff --git a/gba/video/video.cpp b/higan/gba/video/video.cpp similarity index 100% rename from gba/video/video.cpp rename to higan/gba/video/video.cpp diff --git a/gba/video/video.hpp b/higan/gba/video/video.hpp similarity index 100% rename from gba/video/video.hpp rename to higan/gba/video/video.hpp diff --git a/obj/.gitignore b/higan/obj/.gitignore similarity index 100% rename from obj/.gitignore rename to higan/obj/.gitignore diff --git a/out/.gitignore b/higan/out/.gitignore similarity index 100% rename from out/.gitignore rename to higan/out/.gitignore diff --git a/processor/GNUmakefile b/higan/processor/GNUmakefile similarity index 100% rename from processor/GNUmakefile rename to higan/processor/GNUmakefile diff --git a/processor/arm/algorithms.cpp b/higan/processor/arm/algorithms.cpp similarity index 100% rename from processor/arm/algorithms.cpp rename to higan/processor/arm/algorithms.cpp diff --git a/processor/arm/arm.cpp b/higan/processor/arm/arm.cpp similarity index 100% rename from processor/arm/arm.cpp rename to higan/processor/arm/arm.cpp diff --git a/processor/arm/arm.hpp b/higan/processor/arm/arm.hpp similarity index 100% rename from processor/arm/arm.hpp rename to higan/processor/arm/arm.hpp diff --git a/processor/arm/disassembler.cpp b/higan/processor/arm/disassembler.cpp similarity index 99% rename from processor/arm/disassembler.cpp rename to higan/processor/arm/disassembler.cpp index d8ec7998..eb0728a3 100644 --- a/processor/arm/disassembler.cpp +++ b/higan/processor/arm/disassembler.cpp @@ -141,7 +141,7 @@ auto ARM::disassemble_arm_instruction(uint32 pc) -> string { //load_register() //ldr{condition}s(h,b) rd,[rn,rm]{!} //ldr{condition}s(h,b) rd,[rn],rm - if((instruction & 0x0e5000d0) == 0x001000b0) { + if((instruction & 0x0e5000d0) == 0x001000d0) { uint4 condition = instruction >> 28; uint1 pre = instruction >> 24; uint1 up = instruction >> 23; diff --git a/processor/arm/disassembler.hpp b/higan/processor/arm/disassembler.hpp similarity index 100% rename from processor/arm/disassembler.hpp rename to higan/processor/arm/disassembler.hpp diff --git a/processor/arm/instructions-arm.cpp b/higan/processor/arm/instructions-arm.cpp similarity index 100% rename from processor/arm/instructions-arm.cpp rename to higan/processor/arm/instructions-arm.cpp diff --git a/processor/arm/instructions-arm.hpp b/higan/processor/arm/instructions-arm.hpp similarity index 100% rename from processor/arm/instructions-arm.hpp rename to higan/processor/arm/instructions-arm.hpp diff --git a/processor/arm/instructions-thumb.cpp b/higan/processor/arm/instructions-thumb.cpp similarity index 100% rename from processor/arm/instructions-thumb.cpp rename to higan/processor/arm/instructions-thumb.cpp diff --git a/processor/arm/instructions-thumb.hpp b/higan/processor/arm/instructions-thumb.hpp similarity index 100% rename from processor/arm/instructions-thumb.hpp rename to higan/processor/arm/instructions-thumb.hpp diff --git a/processor/arm/registers.cpp b/higan/processor/arm/registers.cpp similarity index 100% rename from processor/arm/registers.cpp rename to higan/processor/arm/registers.cpp diff --git a/processor/arm/registers.hpp b/higan/processor/arm/registers.hpp similarity index 100% rename from processor/arm/registers.hpp rename to higan/processor/arm/registers.hpp diff --git a/processor/arm/serialization.cpp b/higan/processor/arm/serialization.cpp similarity index 100% rename from processor/arm/serialization.cpp rename to higan/processor/arm/serialization.cpp diff --git a/processor/arm/step.cpp b/higan/processor/arm/step.cpp similarity index 100% rename from processor/arm/step.cpp rename to higan/processor/arm/step.cpp diff --git a/processor/gsu/gsu.cpp b/higan/processor/gsu/gsu.cpp similarity index 100% rename from processor/gsu/gsu.cpp rename to higan/processor/gsu/gsu.cpp diff --git a/processor/gsu/gsu.hpp b/higan/processor/gsu/gsu.hpp similarity index 100% rename from processor/gsu/gsu.hpp rename to higan/processor/gsu/gsu.hpp diff --git a/processor/gsu/instructions.cpp b/higan/processor/gsu/instructions.cpp similarity index 100% rename from processor/gsu/instructions.cpp rename to higan/processor/gsu/instructions.cpp diff --git a/processor/gsu/registers.hpp b/higan/processor/gsu/registers.hpp similarity index 100% rename from processor/gsu/registers.hpp rename to higan/processor/gsu/registers.hpp diff --git a/processor/gsu/serialization.cpp b/higan/processor/gsu/serialization.cpp similarity index 100% rename from processor/gsu/serialization.cpp rename to higan/processor/gsu/serialization.cpp diff --git a/processor/gsu/table.cpp b/higan/processor/gsu/table.cpp similarity index 100% rename from processor/gsu/table.cpp rename to higan/processor/gsu/table.cpp diff --git a/processor/hg51b/hg51b.cpp b/higan/processor/hg51b/hg51b.cpp similarity index 100% rename from processor/hg51b/hg51b.cpp rename to higan/processor/hg51b/hg51b.cpp diff --git a/processor/hg51b/hg51b.hpp b/higan/processor/hg51b/hg51b.hpp similarity index 100% rename from processor/hg51b/hg51b.hpp rename to higan/processor/hg51b/hg51b.hpp diff --git a/processor/hg51b/instructions.cpp b/higan/processor/hg51b/instructions.cpp similarity index 100% rename from processor/hg51b/instructions.cpp rename to higan/processor/hg51b/instructions.cpp diff --git a/processor/hg51b/registers.cpp b/higan/processor/hg51b/registers.cpp similarity index 100% rename from processor/hg51b/registers.cpp rename to higan/processor/hg51b/registers.cpp diff --git a/processor/hg51b/serialization.cpp b/higan/processor/hg51b/serialization.cpp similarity index 100% rename from processor/hg51b/serialization.cpp rename to higan/processor/hg51b/serialization.cpp diff --git a/processor/lr35902/disassembler.cpp b/higan/processor/lr35902/disassembler.cpp similarity index 100% rename from processor/lr35902/disassembler.cpp rename to higan/processor/lr35902/disassembler.cpp diff --git a/processor/lr35902/instructions.cpp b/higan/processor/lr35902/instructions.cpp similarity index 100% rename from processor/lr35902/instructions.cpp rename to higan/processor/lr35902/instructions.cpp diff --git a/processor/lr35902/lr35902.cpp b/higan/processor/lr35902/lr35902.cpp similarity index 100% rename from processor/lr35902/lr35902.cpp rename to higan/processor/lr35902/lr35902.cpp diff --git a/processor/lr35902/lr35902.hpp b/higan/processor/lr35902/lr35902.hpp similarity index 100% rename from processor/lr35902/lr35902.hpp rename to higan/processor/lr35902/lr35902.hpp diff --git a/processor/lr35902/registers.hpp b/higan/processor/lr35902/registers.hpp similarity index 100% rename from processor/lr35902/registers.hpp rename to higan/processor/lr35902/registers.hpp diff --git a/processor/lr35902/serialization.cpp b/higan/processor/lr35902/serialization.cpp similarity index 100% rename from processor/lr35902/serialization.cpp rename to higan/processor/lr35902/serialization.cpp diff --git a/processor/processor.hpp b/higan/processor/processor.hpp similarity index 100% rename from processor/processor.hpp rename to higan/processor/processor.hpp diff --git a/processor/r6502/disassembler.cpp b/higan/processor/r6502/disassembler.cpp similarity index 100% rename from processor/r6502/disassembler.cpp rename to higan/processor/r6502/disassembler.cpp diff --git a/processor/r6502/instructions.cpp b/higan/processor/r6502/instructions.cpp similarity index 100% rename from processor/r6502/instructions.cpp rename to higan/processor/r6502/instructions.cpp diff --git a/processor/r6502/memory.cpp b/higan/processor/r6502/memory.cpp similarity index 100% rename from processor/r6502/memory.cpp rename to higan/processor/r6502/memory.cpp diff --git a/processor/r6502/r6502.cpp b/higan/processor/r6502/r6502.cpp similarity index 100% rename from processor/r6502/r6502.cpp rename to higan/processor/r6502/r6502.cpp diff --git a/processor/r6502/r6502.hpp b/higan/processor/r6502/r6502.hpp similarity index 100% rename from processor/r6502/r6502.hpp rename to higan/processor/r6502/r6502.hpp diff --git a/processor/r6502/registers.hpp b/higan/processor/r6502/registers.hpp similarity index 100% rename from processor/r6502/registers.hpp rename to higan/processor/r6502/registers.hpp diff --git a/processor/r6502/serialization.cpp b/higan/processor/r6502/serialization.cpp similarity index 100% rename from processor/r6502/serialization.cpp rename to higan/processor/r6502/serialization.cpp diff --git a/processor/r65816/algorithms.cpp b/higan/processor/r65816/algorithms.cpp similarity index 100% rename from processor/r65816/algorithms.cpp rename to higan/processor/r65816/algorithms.cpp diff --git a/processor/r65816/disassembler.cpp b/higan/processor/r65816/disassembler.cpp similarity index 100% rename from processor/r65816/disassembler.cpp rename to higan/processor/r65816/disassembler.cpp diff --git a/processor/r65816/disassembler.hpp b/higan/processor/r65816/disassembler.hpp similarity index 100% rename from processor/r65816/disassembler.hpp rename to higan/processor/r65816/disassembler.hpp diff --git a/processor/r65816/memory.hpp b/higan/processor/r65816/memory.hpp similarity index 100% rename from processor/r65816/memory.hpp rename to higan/processor/r65816/memory.hpp diff --git a/processor/r65816/opcode_misc.cpp b/higan/processor/r65816/opcode_misc.cpp similarity index 100% rename from processor/r65816/opcode_misc.cpp rename to higan/processor/r65816/opcode_misc.cpp diff --git a/processor/r65816/opcode_pc.cpp b/higan/processor/r65816/opcode_pc.cpp similarity index 100% rename from processor/r65816/opcode_pc.cpp rename to higan/processor/r65816/opcode_pc.cpp diff --git a/processor/r65816/opcode_read.cpp b/higan/processor/r65816/opcode_read.cpp similarity index 100% rename from processor/r65816/opcode_read.cpp rename to higan/processor/r65816/opcode_read.cpp diff --git a/processor/r65816/opcode_rmw.cpp b/higan/processor/r65816/opcode_rmw.cpp similarity index 100% rename from processor/r65816/opcode_rmw.cpp rename to higan/processor/r65816/opcode_rmw.cpp diff --git a/processor/r65816/opcode_write.cpp b/higan/processor/r65816/opcode_write.cpp similarity index 100% rename from processor/r65816/opcode_write.cpp rename to higan/processor/r65816/opcode_write.cpp diff --git a/processor/r65816/r65816.cpp b/higan/processor/r65816/r65816.cpp similarity index 100% rename from processor/r65816/r65816.cpp rename to higan/processor/r65816/r65816.cpp diff --git a/processor/r65816/r65816.hpp b/higan/processor/r65816/r65816.hpp similarity index 100% rename from processor/r65816/r65816.hpp rename to higan/processor/r65816/r65816.hpp diff --git a/processor/r65816/registers.hpp b/higan/processor/r65816/registers.hpp similarity index 100% rename from processor/r65816/registers.hpp rename to higan/processor/r65816/registers.hpp diff --git a/processor/r65816/serialization.cpp b/higan/processor/r65816/serialization.cpp similarity index 100% rename from processor/r65816/serialization.cpp rename to higan/processor/r65816/serialization.cpp diff --git a/processor/r65816/switch.cpp b/higan/processor/r65816/switch.cpp similarity index 100% rename from processor/r65816/switch.cpp rename to higan/processor/r65816/switch.cpp diff --git a/processor/spc700/algorithms.cpp b/higan/processor/spc700/algorithms.cpp similarity index 100% rename from processor/spc700/algorithms.cpp rename to higan/processor/spc700/algorithms.cpp diff --git a/processor/spc700/disassembler.cpp b/higan/processor/spc700/disassembler.cpp similarity index 100% rename from processor/spc700/disassembler.cpp rename to higan/processor/spc700/disassembler.cpp diff --git a/processor/spc700/instructions.cpp b/higan/processor/spc700/instructions.cpp similarity index 100% rename from processor/spc700/instructions.cpp rename to higan/processor/spc700/instructions.cpp diff --git a/processor/spc700/memory.hpp b/higan/processor/spc700/memory.hpp similarity index 100% rename from processor/spc700/memory.hpp rename to higan/processor/spc700/memory.hpp diff --git a/processor/spc700/registers.hpp b/higan/processor/spc700/registers.hpp similarity index 100% rename from processor/spc700/registers.hpp rename to higan/processor/spc700/registers.hpp diff --git a/processor/spc700/serialization.cpp b/higan/processor/spc700/serialization.cpp similarity index 100% rename from processor/spc700/serialization.cpp rename to higan/processor/spc700/serialization.cpp diff --git a/processor/spc700/spc700.cpp b/higan/processor/spc700/spc700.cpp similarity index 100% rename from processor/spc700/spc700.cpp rename to higan/processor/spc700/spc700.cpp diff --git a/processor/spc700/spc700.hpp b/higan/processor/spc700/spc700.hpp similarity index 100% rename from processor/spc700/spc700.hpp rename to higan/processor/spc700/spc700.hpp diff --git a/processor/upd96050/disassembler.cpp b/higan/processor/upd96050/disassembler.cpp similarity index 100% rename from processor/upd96050/disassembler.cpp rename to higan/processor/upd96050/disassembler.cpp diff --git a/processor/upd96050/instructions.cpp b/higan/processor/upd96050/instructions.cpp similarity index 100% rename from processor/upd96050/instructions.cpp rename to higan/processor/upd96050/instructions.cpp diff --git a/processor/upd96050/memory.cpp b/higan/processor/upd96050/memory.cpp similarity index 100% rename from processor/upd96050/memory.cpp rename to higan/processor/upd96050/memory.cpp diff --git a/processor/upd96050/registers.cpp b/higan/processor/upd96050/registers.cpp similarity index 100% rename from processor/upd96050/registers.cpp rename to higan/processor/upd96050/registers.cpp diff --git a/processor/upd96050/serialization.cpp b/higan/processor/upd96050/serialization.cpp similarity index 100% rename from processor/upd96050/serialization.cpp rename to higan/processor/upd96050/serialization.cpp diff --git a/processor/upd96050/upd96050.cpp b/higan/processor/upd96050/upd96050.cpp similarity index 100% rename from processor/upd96050/upd96050.cpp rename to higan/processor/upd96050/upd96050.cpp diff --git a/processor/upd96050/upd96050.hpp b/higan/processor/upd96050/upd96050.hpp similarity index 100% rename from processor/upd96050/upd96050.hpp rename to higan/processor/upd96050/upd96050.hpp diff --git a/profile/Famicom.sys/manifest.bml b/higan/profile/Famicom.sys/manifest.bml similarity index 100% rename from profile/Famicom.sys/manifest.bml rename to higan/profile/Famicom.sys/manifest.bml diff --git a/profile/Game Boy Advance.sys/manifest.bml b/higan/profile/Game Boy Advance.sys/manifest.bml similarity index 100% rename from profile/Game Boy Advance.sys/manifest.bml rename to higan/profile/Game Boy Advance.sys/manifest.bml diff --git a/profile/Game Boy Color.sys/boot.rom b/higan/profile/Game Boy Color.sys/boot.rom similarity index 100% rename from profile/Game Boy Color.sys/boot.rom rename to higan/profile/Game Boy Color.sys/boot.rom diff --git a/profile/Game Boy Color.sys/manifest.bml b/higan/profile/Game Boy Color.sys/manifest.bml similarity index 100% rename from profile/Game Boy Color.sys/manifest.bml rename to higan/profile/Game Boy Color.sys/manifest.bml diff --git a/profile/Game Boy.sys/boot.rom b/higan/profile/Game Boy.sys/boot.rom similarity index 100% rename from profile/Game Boy.sys/boot.rom rename to higan/profile/Game Boy.sys/boot.rom diff --git a/profile/Game Boy.sys/manifest.bml b/higan/profile/Game Boy.sys/manifest.bml similarity index 100% rename from profile/Game Boy.sys/manifest.bml rename to higan/profile/Game Boy.sys/manifest.bml diff --git a/profile/Super Famicom.sys/ipl.rom b/higan/profile/Super Famicom.sys/ipl.rom similarity index 100% rename from profile/Super Famicom.sys/ipl.rom rename to higan/profile/Super Famicom.sys/ipl.rom diff --git a/profile/Super Famicom.sys/manifest.bml b/higan/profile/Super Famicom.sys/manifest.bml similarity index 100% rename from profile/Super Famicom.sys/manifest.bml rename to higan/profile/Super Famicom.sys/manifest.bml diff --git a/sfc/GNUmakefile b/higan/sfc/GNUmakefile similarity index 100% rename from sfc/GNUmakefile rename to higan/sfc/GNUmakefile diff --git a/sfc/alt/cpu/cpu.cpp b/higan/sfc/alt/cpu/cpu.cpp similarity index 100% rename from sfc/alt/cpu/cpu.cpp rename to higan/sfc/alt/cpu/cpu.cpp diff --git a/sfc/alt/cpu/cpu.hpp b/higan/sfc/alt/cpu/cpu.hpp similarity index 100% rename from sfc/alt/cpu/cpu.hpp rename to higan/sfc/alt/cpu/cpu.hpp diff --git a/sfc/alt/cpu/dma.cpp b/higan/sfc/alt/cpu/dma.cpp similarity index 100% rename from sfc/alt/cpu/dma.cpp rename to higan/sfc/alt/cpu/dma.cpp diff --git a/sfc/alt/cpu/memory.cpp b/higan/sfc/alt/cpu/memory.cpp similarity index 100% rename from sfc/alt/cpu/memory.cpp rename to higan/sfc/alt/cpu/memory.cpp diff --git a/sfc/alt/cpu/mmio.cpp b/higan/sfc/alt/cpu/mmio.cpp similarity index 100% rename from sfc/alt/cpu/mmio.cpp rename to higan/sfc/alt/cpu/mmio.cpp diff --git a/sfc/alt/cpu/serialization.cpp b/higan/sfc/alt/cpu/serialization.cpp similarity index 100% rename from sfc/alt/cpu/serialization.cpp rename to higan/sfc/alt/cpu/serialization.cpp diff --git a/sfc/alt/cpu/timing.cpp b/higan/sfc/alt/cpu/timing.cpp similarity index 100% rename from sfc/alt/cpu/timing.cpp rename to higan/sfc/alt/cpu/timing.cpp diff --git a/sfc/alt/dsp/SPC_DSP.cpp b/higan/sfc/alt/dsp/SPC_DSP.cpp similarity index 100% rename from sfc/alt/dsp/SPC_DSP.cpp rename to higan/sfc/alt/dsp/SPC_DSP.cpp diff --git a/sfc/alt/dsp/SPC_DSP.h b/higan/sfc/alt/dsp/SPC_DSP.h similarity index 100% rename from sfc/alt/dsp/SPC_DSP.h rename to higan/sfc/alt/dsp/SPC_DSP.h diff --git a/sfc/alt/dsp/blargg_common.h b/higan/sfc/alt/dsp/blargg_common.h similarity index 100% rename from sfc/alt/dsp/blargg_common.h rename to higan/sfc/alt/dsp/blargg_common.h diff --git a/sfc/alt/dsp/blargg_config.h b/higan/sfc/alt/dsp/blargg_config.h similarity index 100% rename from sfc/alt/dsp/blargg_config.h rename to higan/sfc/alt/dsp/blargg_config.h diff --git a/sfc/alt/dsp/blargg_endian.h b/higan/sfc/alt/dsp/blargg_endian.h similarity index 100% rename from sfc/alt/dsp/blargg_endian.h rename to higan/sfc/alt/dsp/blargg_endian.h diff --git a/sfc/alt/dsp/blargg_source.h b/higan/sfc/alt/dsp/blargg_source.h similarity index 100% rename from sfc/alt/dsp/blargg_source.h rename to higan/sfc/alt/dsp/blargg_source.h diff --git a/sfc/alt/dsp/dsp.cpp b/higan/sfc/alt/dsp/dsp.cpp similarity index 100% rename from sfc/alt/dsp/dsp.cpp rename to higan/sfc/alt/dsp/dsp.cpp diff --git a/sfc/alt/dsp/dsp.hpp b/higan/sfc/alt/dsp/dsp.hpp similarity index 100% rename from sfc/alt/dsp/dsp.hpp rename to higan/sfc/alt/dsp/dsp.hpp diff --git a/sfc/alt/dsp/serialization.cpp b/higan/sfc/alt/dsp/serialization.cpp similarity index 100% rename from sfc/alt/dsp/serialization.cpp rename to higan/sfc/alt/dsp/serialization.cpp diff --git a/sfc/alt/ppu-balanced/memory/memory.cpp b/higan/sfc/alt/ppu-balanced/memory/memory.cpp similarity index 100% rename from sfc/alt/ppu-balanced/memory/memory.cpp rename to higan/sfc/alt/ppu-balanced/memory/memory.cpp diff --git a/sfc/alt/ppu-balanced/memory/memory.hpp b/higan/sfc/alt/ppu-balanced/memory/memory.hpp similarity index 100% rename from sfc/alt/ppu-balanced/memory/memory.hpp rename to higan/sfc/alt/ppu-balanced/memory/memory.hpp diff --git a/sfc/alt/ppu-balanced/mmio/mmio.cpp b/higan/sfc/alt/ppu-balanced/mmio/mmio.cpp similarity index 100% rename from sfc/alt/ppu-balanced/mmio/mmio.cpp rename to higan/sfc/alt/ppu-balanced/mmio/mmio.cpp diff --git a/sfc/alt/ppu-balanced/mmio/mmio.hpp b/higan/sfc/alt/ppu-balanced/mmio/mmio.hpp similarity index 100% rename from sfc/alt/ppu-balanced/mmio/mmio.hpp rename to higan/sfc/alt/ppu-balanced/mmio/mmio.hpp diff --git a/sfc/alt/ppu-balanced/ppu.cpp b/higan/sfc/alt/ppu-balanced/ppu.cpp similarity index 100% rename from sfc/alt/ppu-balanced/ppu.cpp rename to higan/sfc/alt/ppu-balanced/ppu.cpp diff --git a/sfc/alt/ppu-balanced/ppu.hpp b/higan/sfc/alt/ppu-balanced/ppu.hpp similarity index 100% rename from sfc/alt/ppu-balanced/ppu.hpp rename to higan/sfc/alt/ppu-balanced/ppu.hpp diff --git a/sfc/alt/ppu-balanced/render/addsub.cpp b/higan/sfc/alt/ppu-balanced/render/addsub.cpp similarity index 100% rename from sfc/alt/ppu-balanced/render/addsub.cpp rename to higan/sfc/alt/ppu-balanced/render/addsub.cpp diff --git a/sfc/alt/ppu-balanced/render/bg.cpp b/higan/sfc/alt/ppu-balanced/render/bg.cpp similarity index 100% rename from sfc/alt/ppu-balanced/render/bg.cpp rename to higan/sfc/alt/ppu-balanced/render/bg.cpp diff --git a/sfc/alt/ppu-balanced/render/cache.cpp b/higan/sfc/alt/ppu-balanced/render/cache.cpp similarity index 100% rename from sfc/alt/ppu-balanced/render/cache.cpp rename to higan/sfc/alt/ppu-balanced/render/cache.cpp diff --git a/sfc/alt/ppu-balanced/render/line.cpp b/higan/sfc/alt/ppu-balanced/render/line.cpp similarity index 100% rename from sfc/alt/ppu-balanced/render/line.cpp rename to higan/sfc/alt/ppu-balanced/render/line.cpp diff --git a/sfc/alt/ppu-balanced/render/mode7.cpp b/higan/sfc/alt/ppu-balanced/render/mode7.cpp similarity index 100% rename from sfc/alt/ppu-balanced/render/mode7.cpp rename to higan/sfc/alt/ppu-balanced/render/mode7.cpp diff --git a/sfc/alt/ppu-balanced/render/oam.cpp b/higan/sfc/alt/ppu-balanced/render/oam.cpp similarity index 100% rename from sfc/alt/ppu-balanced/render/oam.cpp rename to higan/sfc/alt/ppu-balanced/render/oam.cpp diff --git a/sfc/alt/ppu-balanced/render/render.cpp b/higan/sfc/alt/ppu-balanced/render/render.cpp similarity index 100% rename from sfc/alt/ppu-balanced/render/render.cpp rename to higan/sfc/alt/ppu-balanced/render/render.cpp diff --git a/sfc/alt/ppu-balanced/render/render.hpp b/higan/sfc/alt/ppu-balanced/render/render.hpp similarity index 100% rename from sfc/alt/ppu-balanced/render/render.hpp rename to higan/sfc/alt/ppu-balanced/render/render.hpp diff --git a/sfc/alt/ppu-balanced/render/windows.cpp b/higan/sfc/alt/ppu-balanced/render/windows.cpp similarity index 100% rename from sfc/alt/ppu-balanced/render/windows.cpp rename to higan/sfc/alt/ppu-balanced/render/windows.cpp diff --git a/sfc/alt/ppu-balanced/serialization.cpp b/higan/sfc/alt/ppu-balanced/serialization.cpp similarity index 100% rename from sfc/alt/ppu-balanced/serialization.cpp rename to higan/sfc/alt/ppu-balanced/serialization.cpp diff --git a/sfc/alt/ppu-performance/background/background.cpp b/higan/sfc/alt/ppu-performance/background/background.cpp similarity index 100% rename from sfc/alt/ppu-performance/background/background.cpp rename to higan/sfc/alt/ppu-performance/background/background.cpp diff --git a/sfc/alt/ppu-performance/background/background.hpp b/higan/sfc/alt/ppu-performance/background/background.hpp similarity index 100% rename from sfc/alt/ppu-performance/background/background.hpp rename to higan/sfc/alt/ppu-performance/background/background.hpp diff --git a/sfc/alt/ppu-performance/background/mode7.cpp b/higan/sfc/alt/ppu-performance/background/mode7.cpp similarity index 100% rename from sfc/alt/ppu-performance/background/mode7.cpp rename to higan/sfc/alt/ppu-performance/background/mode7.cpp diff --git a/sfc/alt/ppu-performance/cache/cache.cpp b/higan/sfc/alt/ppu-performance/cache/cache.cpp similarity index 100% rename from sfc/alt/ppu-performance/cache/cache.cpp rename to higan/sfc/alt/ppu-performance/cache/cache.cpp diff --git a/sfc/alt/ppu-performance/cache/cache.hpp b/higan/sfc/alt/ppu-performance/cache/cache.hpp similarity index 100% rename from sfc/alt/ppu-performance/cache/cache.hpp rename to higan/sfc/alt/ppu-performance/cache/cache.hpp diff --git a/sfc/alt/ppu-performance/mmio/mmio.cpp b/higan/sfc/alt/ppu-performance/mmio/mmio.cpp similarity index 100% rename from sfc/alt/ppu-performance/mmio/mmio.cpp rename to higan/sfc/alt/ppu-performance/mmio/mmio.cpp diff --git a/sfc/alt/ppu-performance/mmio/mmio.hpp b/higan/sfc/alt/ppu-performance/mmio/mmio.hpp similarity index 100% rename from sfc/alt/ppu-performance/mmio/mmio.hpp rename to higan/sfc/alt/ppu-performance/mmio/mmio.hpp diff --git a/sfc/alt/ppu-performance/ppu.cpp b/higan/sfc/alt/ppu-performance/ppu.cpp similarity index 100% rename from sfc/alt/ppu-performance/ppu.cpp rename to higan/sfc/alt/ppu-performance/ppu.cpp diff --git a/sfc/alt/ppu-performance/ppu.hpp b/higan/sfc/alt/ppu-performance/ppu.hpp similarity index 100% rename from sfc/alt/ppu-performance/ppu.hpp rename to higan/sfc/alt/ppu-performance/ppu.hpp diff --git a/sfc/alt/ppu-performance/screen/screen.cpp b/higan/sfc/alt/ppu-performance/screen/screen.cpp similarity index 100% rename from sfc/alt/ppu-performance/screen/screen.cpp rename to higan/sfc/alt/ppu-performance/screen/screen.cpp diff --git a/sfc/alt/ppu-performance/screen/screen.hpp b/higan/sfc/alt/ppu-performance/screen/screen.hpp similarity index 100% rename from sfc/alt/ppu-performance/screen/screen.hpp rename to higan/sfc/alt/ppu-performance/screen/screen.hpp diff --git a/sfc/alt/ppu-performance/serialization.cpp b/higan/sfc/alt/ppu-performance/serialization.cpp similarity index 100% rename from sfc/alt/ppu-performance/serialization.cpp rename to higan/sfc/alt/ppu-performance/serialization.cpp diff --git a/sfc/alt/ppu-performance/sprite/sprite.cpp b/higan/sfc/alt/ppu-performance/sprite/sprite.cpp similarity index 100% rename from sfc/alt/ppu-performance/sprite/sprite.cpp rename to higan/sfc/alt/ppu-performance/sprite/sprite.cpp diff --git a/sfc/alt/ppu-performance/sprite/sprite.hpp b/higan/sfc/alt/ppu-performance/sprite/sprite.hpp similarity index 100% rename from sfc/alt/ppu-performance/sprite/sprite.hpp rename to higan/sfc/alt/ppu-performance/sprite/sprite.hpp diff --git a/sfc/alt/ppu-performance/window/window.cpp b/higan/sfc/alt/ppu-performance/window/window.cpp similarity index 100% rename from sfc/alt/ppu-performance/window/window.cpp rename to higan/sfc/alt/ppu-performance/window/window.cpp diff --git a/sfc/alt/ppu-performance/window/window.hpp b/higan/sfc/alt/ppu-performance/window/window.hpp similarity index 100% rename from sfc/alt/ppu-performance/window/window.hpp rename to higan/sfc/alt/ppu-performance/window/window.hpp diff --git a/sfc/alt/smp/algorithms.cpp b/higan/sfc/alt/smp/algorithms.cpp similarity index 100% rename from sfc/alt/smp/algorithms.cpp rename to higan/sfc/alt/smp/algorithms.cpp diff --git a/sfc/alt/smp/core.cpp b/higan/sfc/alt/smp/core.cpp similarity index 100% rename from sfc/alt/smp/core.cpp rename to higan/sfc/alt/smp/core.cpp diff --git a/sfc/alt/smp/core/cc.sh b/higan/sfc/alt/smp/core/cc.sh similarity index 100% rename from sfc/alt/smp/core/cc.sh rename to higan/sfc/alt/smp/core/cc.sh diff --git a/sfc/alt/smp/core/generate.cpp b/higan/sfc/alt/smp/core/generate.cpp similarity index 100% rename from sfc/alt/smp/core/generate.cpp rename to higan/sfc/alt/smp/core/generate.cpp diff --git a/sfc/alt/smp/core/op_misc.b b/higan/sfc/alt/smp/core/op_misc.b similarity index 100% rename from sfc/alt/smp/core/op_misc.b rename to higan/sfc/alt/smp/core/op_misc.b diff --git a/sfc/alt/smp/core/op_misc.cpp b/higan/sfc/alt/smp/core/op_misc.cpp similarity index 100% rename from sfc/alt/smp/core/op_misc.cpp rename to higan/sfc/alt/smp/core/op_misc.cpp diff --git a/sfc/alt/smp/core/op_mov.b b/higan/sfc/alt/smp/core/op_mov.b similarity index 100% rename from sfc/alt/smp/core/op_mov.b rename to higan/sfc/alt/smp/core/op_mov.b diff --git a/sfc/alt/smp/core/op_mov.cpp b/higan/sfc/alt/smp/core/op_mov.cpp similarity index 100% rename from sfc/alt/smp/core/op_mov.cpp rename to higan/sfc/alt/smp/core/op_mov.cpp diff --git a/sfc/alt/smp/core/op_pc.b b/higan/sfc/alt/smp/core/op_pc.b similarity index 100% rename from sfc/alt/smp/core/op_pc.b rename to higan/sfc/alt/smp/core/op_pc.b diff --git a/sfc/alt/smp/core/op_pc.cpp b/higan/sfc/alt/smp/core/op_pc.cpp similarity index 100% rename from sfc/alt/smp/core/op_pc.cpp rename to higan/sfc/alt/smp/core/op_pc.cpp diff --git a/sfc/alt/smp/core/op_read.b b/higan/sfc/alt/smp/core/op_read.b similarity index 100% rename from sfc/alt/smp/core/op_read.b rename to higan/sfc/alt/smp/core/op_read.b diff --git a/sfc/alt/smp/core/op_read.cpp b/higan/sfc/alt/smp/core/op_read.cpp similarity index 100% rename from sfc/alt/smp/core/op_read.cpp rename to higan/sfc/alt/smp/core/op_read.cpp diff --git a/sfc/alt/smp/core/op_rmw.b b/higan/sfc/alt/smp/core/op_rmw.b similarity index 100% rename from sfc/alt/smp/core/op_rmw.b rename to higan/sfc/alt/smp/core/op_rmw.b diff --git a/sfc/alt/smp/core/op_rmw.cpp b/higan/sfc/alt/smp/core/op_rmw.cpp similarity index 100% rename from sfc/alt/smp/core/op_rmw.cpp rename to higan/sfc/alt/smp/core/op_rmw.cpp diff --git a/sfc/alt/smp/core/opcycle_misc.cpp b/higan/sfc/alt/smp/core/opcycle_misc.cpp similarity index 100% rename from sfc/alt/smp/core/opcycle_misc.cpp rename to higan/sfc/alt/smp/core/opcycle_misc.cpp diff --git a/sfc/alt/smp/core/opcycle_mov.cpp b/higan/sfc/alt/smp/core/opcycle_mov.cpp similarity index 100% rename from sfc/alt/smp/core/opcycle_mov.cpp rename to higan/sfc/alt/smp/core/opcycle_mov.cpp diff --git a/sfc/alt/smp/core/opcycle_pc.cpp b/higan/sfc/alt/smp/core/opcycle_pc.cpp similarity index 100% rename from sfc/alt/smp/core/opcycle_pc.cpp rename to higan/sfc/alt/smp/core/opcycle_pc.cpp diff --git a/sfc/alt/smp/core/opcycle_read.cpp b/higan/sfc/alt/smp/core/opcycle_read.cpp similarity index 100% rename from sfc/alt/smp/core/opcycle_read.cpp rename to higan/sfc/alt/smp/core/opcycle_read.cpp diff --git a/sfc/alt/smp/core/opcycle_rmw.cpp b/higan/sfc/alt/smp/core/opcycle_rmw.cpp similarity index 100% rename from sfc/alt/smp/core/opcycle_rmw.cpp rename to higan/sfc/alt/smp/core/opcycle_rmw.cpp diff --git a/sfc/alt/smp/disassembler.cpp b/higan/sfc/alt/smp/disassembler.cpp similarity index 100% rename from sfc/alt/smp/disassembler.cpp rename to higan/sfc/alt/smp/disassembler.cpp diff --git a/sfc/alt/smp/memory.cpp b/higan/sfc/alt/smp/memory.cpp similarity index 100% rename from sfc/alt/smp/memory.cpp rename to higan/sfc/alt/smp/memory.cpp diff --git a/sfc/alt/smp/smp.cpp b/higan/sfc/alt/smp/smp.cpp similarity index 100% rename from sfc/alt/smp/smp.cpp rename to higan/sfc/alt/smp/smp.cpp diff --git a/sfc/alt/smp/smp.hpp b/higan/sfc/alt/smp/smp.hpp similarity index 100% rename from sfc/alt/smp/smp.hpp rename to higan/sfc/alt/smp/smp.hpp diff --git a/sfc/alt/smp/timing.cpp b/higan/sfc/alt/smp/timing.cpp similarity index 100% rename from sfc/alt/smp/timing.cpp rename to higan/sfc/alt/smp/timing.cpp diff --git a/sfc/cartridge/cartridge.cpp b/higan/sfc/cartridge/cartridge.cpp similarity index 100% rename from sfc/cartridge/cartridge.cpp rename to higan/sfc/cartridge/cartridge.cpp diff --git a/sfc/cartridge/cartridge.hpp b/higan/sfc/cartridge/cartridge.hpp similarity index 100% rename from sfc/cartridge/cartridge.hpp rename to higan/sfc/cartridge/cartridge.hpp diff --git a/sfc/cartridge/markup.cpp b/higan/sfc/cartridge/markup.cpp similarity index 99% rename from sfc/cartridge/markup.cpp rename to higan/sfc/cartridge/markup.cpp index 9e9b6f31..d40ec0d8 100644 --- a/sfc/cartridge/markup.cpp +++ b/higan/sfc/cartridge/markup.cpp @@ -14,7 +14,7 @@ auto Cartridge::parseMarkup(const string& markup) -> void { auto board = document["board"]; this->information.title.cartridge = information["title"].text(); - _region = board["cic"].text() == "413" ? Region::PAL : Region::NTSC; + _region = board["region"].text() == "pal" ? Region::PAL : Region::NTSC; mapping.reset(); if(auto node = board["rom"]) parseMarkupROM(node); diff --git a/sfc/cartridge/serialization.cpp b/higan/sfc/cartridge/serialization.cpp similarity index 100% rename from sfc/cartridge/serialization.cpp rename to higan/sfc/cartridge/serialization.cpp diff --git a/sfc/cheat/cheat.cpp b/higan/sfc/cheat/cheat.cpp similarity index 100% rename from sfc/cheat/cheat.cpp rename to higan/sfc/cheat/cheat.cpp diff --git a/sfc/cheat/cheat.hpp b/higan/sfc/cheat/cheat.hpp similarity index 100% rename from sfc/cheat/cheat.hpp rename to higan/sfc/cheat/cheat.hpp diff --git a/sfc/controller/controller.cpp b/higan/sfc/controller/controller.cpp similarity index 100% rename from sfc/controller/controller.cpp rename to higan/sfc/controller/controller.cpp diff --git a/sfc/controller/controller.hpp b/higan/sfc/controller/controller.hpp similarity index 100% rename from sfc/controller/controller.hpp rename to higan/sfc/controller/controller.hpp diff --git a/sfc/controller/gamepad/gamepad.cpp b/higan/sfc/controller/gamepad/gamepad.cpp similarity index 100% rename from sfc/controller/gamepad/gamepad.cpp rename to higan/sfc/controller/gamepad/gamepad.cpp diff --git a/sfc/controller/gamepad/gamepad.hpp b/higan/sfc/controller/gamepad/gamepad.hpp similarity index 100% rename from sfc/controller/gamepad/gamepad.hpp rename to higan/sfc/controller/gamepad/gamepad.hpp diff --git a/sfc/controller/justifier/justifier.cpp b/higan/sfc/controller/justifier/justifier.cpp similarity index 100% rename from sfc/controller/justifier/justifier.cpp rename to higan/sfc/controller/justifier/justifier.cpp diff --git a/sfc/controller/justifier/justifier.hpp b/higan/sfc/controller/justifier/justifier.hpp similarity index 100% rename from sfc/controller/justifier/justifier.hpp rename to higan/sfc/controller/justifier/justifier.hpp diff --git a/sfc/controller/mouse/mouse.cpp b/higan/sfc/controller/mouse/mouse.cpp similarity index 100% rename from sfc/controller/mouse/mouse.cpp rename to higan/sfc/controller/mouse/mouse.cpp diff --git a/sfc/controller/mouse/mouse.hpp b/higan/sfc/controller/mouse/mouse.hpp similarity index 100% rename from sfc/controller/mouse/mouse.hpp rename to higan/sfc/controller/mouse/mouse.hpp diff --git a/sfc/controller/multitap/multitap.cpp b/higan/sfc/controller/multitap/multitap.cpp similarity index 100% rename from sfc/controller/multitap/multitap.cpp rename to higan/sfc/controller/multitap/multitap.cpp diff --git a/sfc/controller/multitap/multitap.hpp b/higan/sfc/controller/multitap/multitap.hpp similarity index 100% rename from sfc/controller/multitap/multitap.hpp rename to higan/sfc/controller/multitap/multitap.hpp diff --git a/sfc/controller/superscope/superscope.cpp b/higan/sfc/controller/superscope/superscope.cpp similarity index 100% rename from sfc/controller/superscope/superscope.cpp rename to higan/sfc/controller/superscope/superscope.cpp diff --git a/sfc/controller/superscope/superscope.hpp b/higan/sfc/controller/superscope/superscope.hpp similarity index 100% rename from sfc/controller/superscope/superscope.hpp rename to higan/sfc/controller/superscope/superscope.hpp diff --git a/sfc/controller/usart/usart.cpp b/higan/sfc/controller/usart/usart.cpp similarity index 100% rename from sfc/controller/usart/usart.cpp rename to higan/sfc/controller/usart/usart.cpp diff --git a/sfc/controller/usart/usart.hpp b/higan/sfc/controller/usart/usart.hpp similarity index 100% rename from sfc/controller/usart/usart.hpp rename to higan/sfc/controller/usart/usart.hpp diff --git a/sfc/coprocessor/armdsp/armdsp.cpp b/higan/sfc/coprocessor/armdsp/armdsp.cpp similarity index 100% rename from sfc/coprocessor/armdsp/armdsp.cpp rename to higan/sfc/coprocessor/armdsp/armdsp.cpp diff --git a/sfc/coprocessor/armdsp/armdsp.hpp b/higan/sfc/coprocessor/armdsp/armdsp.hpp similarity index 100% rename from sfc/coprocessor/armdsp/armdsp.hpp rename to higan/sfc/coprocessor/armdsp/armdsp.hpp diff --git a/sfc/coprocessor/armdsp/memory.cpp b/higan/sfc/coprocessor/armdsp/memory.cpp similarity index 100% rename from sfc/coprocessor/armdsp/memory.cpp rename to higan/sfc/coprocessor/armdsp/memory.cpp diff --git a/sfc/coprocessor/armdsp/registers.hpp b/higan/sfc/coprocessor/armdsp/registers.hpp similarity index 100% rename from sfc/coprocessor/armdsp/registers.hpp rename to higan/sfc/coprocessor/armdsp/registers.hpp diff --git a/sfc/coprocessor/armdsp/serialization.cpp b/higan/sfc/coprocessor/armdsp/serialization.cpp similarity index 100% rename from sfc/coprocessor/armdsp/serialization.cpp rename to higan/sfc/coprocessor/armdsp/serialization.cpp diff --git a/sfc/coprocessor/coprocessor.hpp b/higan/sfc/coprocessor/coprocessor.hpp similarity index 100% rename from sfc/coprocessor/coprocessor.hpp rename to higan/sfc/coprocessor/coprocessor.hpp diff --git a/sfc/coprocessor/epsonrtc/epsonrtc.cpp b/higan/sfc/coprocessor/epsonrtc/epsonrtc.cpp similarity index 100% rename from sfc/coprocessor/epsonrtc/epsonrtc.cpp rename to higan/sfc/coprocessor/epsonrtc/epsonrtc.cpp diff --git a/sfc/coprocessor/epsonrtc/epsonrtc.hpp b/higan/sfc/coprocessor/epsonrtc/epsonrtc.hpp similarity index 100% rename from sfc/coprocessor/epsonrtc/epsonrtc.hpp rename to higan/sfc/coprocessor/epsonrtc/epsonrtc.hpp diff --git a/sfc/coprocessor/epsonrtc/memory.cpp b/higan/sfc/coprocessor/epsonrtc/memory.cpp similarity index 100% rename from sfc/coprocessor/epsonrtc/memory.cpp rename to higan/sfc/coprocessor/epsonrtc/memory.cpp diff --git a/sfc/coprocessor/epsonrtc/serialization.cpp b/higan/sfc/coprocessor/epsonrtc/serialization.cpp similarity index 100% rename from sfc/coprocessor/epsonrtc/serialization.cpp rename to higan/sfc/coprocessor/epsonrtc/serialization.cpp diff --git a/sfc/coprocessor/epsonrtc/time.cpp b/higan/sfc/coprocessor/epsonrtc/time.cpp similarity index 100% rename from sfc/coprocessor/epsonrtc/time.cpp rename to higan/sfc/coprocessor/epsonrtc/time.cpp diff --git a/sfc/coprocessor/event/event.cpp b/higan/sfc/coprocessor/event/event.cpp similarity index 100% rename from sfc/coprocessor/event/event.cpp rename to higan/sfc/coprocessor/event/event.cpp diff --git a/sfc/coprocessor/event/event.hpp b/higan/sfc/coprocessor/event/event.hpp similarity index 100% rename from sfc/coprocessor/event/event.hpp rename to higan/sfc/coprocessor/event/event.hpp diff --git a/sfc/coprocessor/hitachidsp/hitachidsp.cpp b/higan/sfc/coprocessor/hitachidsp/hitachidsp.cpp similarity index 100% rename from sfc/coprocessor/hitachidsp/hitachidsp.cpp rename to higan/sfc/coprocessor/hitachidsp/hitachidsp.cpp diff --git a/sfc/coprocessor/hitachidsp/hitachidsp.hpp b/higan/sfc/coprocessor/hitachidsp/hitachidsp.hpp similarity index 100% rename from sfc/coprocessor/hitachidsp/hitachidsp.hpp rename to higan/sfc/coprocessor/hitachidsp/hitachidsp.hpp diff --git a/sfc/coprocessor/hitachidsp/memory.cpp b/higan/sfc/coprocessor/hitachidsp/memory.cpp similarity index 100% rename from sfc/coprocessor/hitachidsp/memory.cpp rename to higan/sfc/coprocessor/hitachidsp/memory.cpp diff --git a/sfc/coprocessor/hitachidsp/mmio.hpp b/higan/sfc/coprocessor/hitachidsp/mmio.hpp similarity index 100% rename from sfc/coprocessor/hitachidsp/mmio.hpp rename to higan/sfc/coprocessor/hitachidsp/mmio.hpp diff --git a/sfc/coprocessor/hitachidsp/serialization.cpp b/higan/sfc/coprocessor/hitachidsp/serialization.cpp similarity index 100% rename from sfc/coprocessor/hitachidsp/serialization.cpp rename to higan/sfc/coprocessor/hitachidsp/serialization.cpp diff --git a/sfc/coprocessor/icd2/icd2.cpp b/higan/sfc/coprocessor/icd2/icd2.cpp similarity index 100% rename from sfc/coprocessor/icd2/icd2.cpp rename to higan/sfc/coprocessor/icd2/icd2.cpp diff --git a/sfc/coprocessor/icd2/icd2.hpp b/higan/sfc/coprocessor/icd2/icd2.hpp similarity index 100% rename from sfc/coprocessor/icd2/icd2.hpp rename to higan/sfc/coprocessor/icd2/icd2.hpp diff --git a/sfc/coprocessor/icd2/interface/interface.cpp b/higan/sfc/coprocessor/icd2/interface/interface.cpp similarity index 100% rename from sfc/coprocessor/icd2/interface/interface.cpp rename to higan/sfc/coprocessor/icd2/interface/interface.cpp diff --git a/sfc/coprocessor/icd2/interface/interface.hpp b/higan/sfc/coprocessor/icd2/interface/interface.hpp similarity index 100% rename from sfc/coprocessor/icd2/interface/interface.hpp rename to higan/sfc/coprocessor/icd2/interface/interface.hpp diff --git a/sfc/coprocessor/icd2/mmio/mmio.cpp b/higan/sfc/coprocessor/icd2/mmio/mmio.cpp similarity index 100% rename from sfc/coprocessor/icd2/mmio/mmio.cpp rename to higan/sfc/coprocessor/icd2/mmio/mmio.cpp diff --git a/sfc/coprocessor/icd2/mmio/mmio.hpp b/higan/sfc/coprocessor/icd2/mmio/mmio.hpp similarity index 100% rename from sfc/coprocessor/icd2/mmio/mmio.hpp rename to higan/sfc/coprocessor/icd2/mmio/mmio.hpp diff --git a/sfc/coprocessor/icd2/serialization.cpp b/higan/sfc/coprocessor/icd2/serialization.cpp similarity index 100% rename from sfc/coprocessor/icd2/serialization.cpp rename to higan/sfc/coprocessor/icd2/serialization.cpp diff --git a/sfc/coprocessor/mcc/mcc.cpp b/higan/sfc/coprocessor/mcc/mcc.cpp similarity index 100% rename from sfc/coprocessor/mcc/mcc.cpp rename to higan/sfc/coprocessor/mcc/mcc.cpp diff --git a/sfc/coprocessor/mcc/mcc.hpp b/higan/sfc/coprocessor/mcc/mcc.hpp similarity index 100% rename from sfc/coprocessor/mcc/mcc.hpp rename to higan/sfc/coprocessor/mcc/mcc.hpp diff --git a/sfc/coprocessor/mcc/serialization.cpp b/higan/sfc/coprocessor/mcc/serialization.cpp similarity index 100% rename from sfc/coprocessor/mcc/serialization.cpp rename to higan/sfc/coprocessor/mcc/serialization.cpp diff --git a/sfc/coprocessor/msu1/msu1.cpp b/higan/sfc/coprocessor/msu1/msu1.cpp similarity index 100% rename from sfc/coprocessor/msu1/msu1.cpp rename to higan/sfc/coprocessor/msu1/msu1.cpp diff --git a/sfc/coprocessor/msu1/msu1.hpp b/higan/sfc/coprocessor/msu1/msu1.hpp similarity index 100% rename from sfc/coprocessor/msu1/msu1.hpp rename to higan/sfc/coprocessor/msu1/msu1.hpp diff --git a/sfc/coprocessor/msu1/serialization.cpp b/higan/sfc/coprocessor/msu1/serialization.cpp similarity index 100% rename from sfc/coprocessor/msu1/serialization.cpp rename to higan/sfc/coprocessor/msu1/serialization.cpp diff --git a/sfc/coprocessor/necdsp/necdsp.cpp b/higan/sfc/coprocessor/necdsp/necdsp.cpp similarity index 100% rename from sfc/coprocessor/necdsp/necdsp.cpp rename to higan/sfc/coprocessor/necdsp/necdsp.cpp diff --git a/sfc/coprocessor/necdsp/necdsp.hpp b/higan/sfc/coprocessor/necdsp/necdsp.hpp similarity index 100% rename from sfc/coprocessor/necdsp/necdsp.hpp rename to higan/sfc/coprocessor/necdsp/necdsp.hpp diff --git a/sfc/coprocessor/necdsp/serialization.cpp b/higan/sfc/coprocessor/necdsp/serialization.cpp similarity index 100% rename from sfc/coprocessor/necdsp/serialization.cpp rename to higan/sfc/coprocessor/necdsp/serialization.cpp diff --git a/sfc/coprocessor/nss/nss.cpp b/higan/sfc/coprocessor/nss/nss.cpp similarity index 100% rename from sfc/coprocessor/nss/nss.cpp rename to higan/sfc/coprocessor/nss/nss.cpp diff --git a/sfc/coprocessor/nss/nss.hpp b/higan/sfc/coprocessor/nss/nss.hpp similarity index 100% rename from sfc/coprocessor/nss/nss.hpp rename to higan/sfc/coprocessor/nss/nss.hpp diff --git a/sfc/coprocessor/obc1/obc1.cpp b/higan/sfc/coprocessor/obc1/obc1.cpp similarity index 100% rename from sfc/coprocessor/obc1/obc1.cpp rename to higan/sfc/coprocessor/obc1/obc1.cpp diff --git a/sfc/coprocessor/obc1/obc1.hpp b/higan/sfc/coprocessor/obc1/obc1.hpp similarity index 100% rename from sfc/coprocessor/obc1/obc1.hpp rename to higan/sfc/coprocessor/obc1/obc1.hpp diff --git a/sfc/coprocessor/obc1/serialization.cpp b/higan/sfc/coprocessor/obc1/serialization.cpp similarity index 100% rename from sfc/coprocessor/obc1/serialization.cpp rename to higan/sfc/coprocessor/obc1/serialization.cpp diff --git a/sfc/coprocessor/sa1/bus/bus.cpp b/higan/sfc/coprocessor/sa1/bus/bus.cpp similarity index 100% rename from sfc/coprocessor/sa1/bus/bus.cpp rename to higan/sfc/coprocessor/sa1/bus/bus.cpp diff --git a/sfc/coprocessor/sa1/bus/bus.hpp b/higan/sfc/coprocessor/sa1/bus/bus.hpp similarity index 100% rename from sfc/coprocessor/sa1/bus/bus.hpp rename to higan/sfc/coprocessor/sa1/bus/bus.hpp diff --git a/sfc/coprocessor/sa1/dma/dma.cpp b/higan/sfc/coprocessor/sa1/dma/dma.cpp similarity index 100% rename from sfc/coprocessor/sa1/dma/dma.cpp rename to higan/sfc/coprocessor/sa1/dma/dma.cpp diff --git a/sfc/coprocessor/sa1/dma/dma.hpp b/higan/sfc/coprocessor/sa1/dma/dma.hpp similarity index 100% rename from sfc/coprocessor/sa1/dma/dma.hpp rename to higan/sfc/coprocessor/sa1/dma/dma.hpp diff --git a/sfc/coprocessor/sa1/memory/memory.cpp b/higan/sfc/coprocessor/sa1/memory/memory.cpp similarity index 100% rename from sfc/coprocessor/sa1/memory/memory.cpp rename to higan/sfc/coprocessor/sa1/memory/memory.cpp diff --git a/sfc/coprocessor/sa1/memory/memory.hpp b/higan/sfc/coprocessor/sa1/memory/memory.hpp similarity index 100% rename from sfc/coprocessor/sa1/memory/memory.hpp rename to higan/sfc/coprocessor/sa1/memory/memory.hpp diff --git a/sfc/coprocessor/sa1/mmio/mmio.cpp b/higan/sfc/coprocessor/sa1/mmio/mmio.cpp similarity index 100% rename from sfc/coprocessor/sa1/mmio/mmio.cpp rename to higan/sfc/coprocessor/sa1/mmio/mmio.cpp diff --git a/sfc/coprocessor/sa1/mmio/mmio.hpp b/higan/sfc/coprocessor/sa1/mmio/mmio.hpp similarity index 100% rename from sfc/coprocessor/sa1/mmio/mmio.hpp rename to higan/sfc/coprocessor/sa1/mmio/mmio.hpp diff --git a/sfc/coprocessor/sa1/sa1.cpp b/higan/sfc/coprocessor/sa1/sa1.cpp similarity index 100% rename from sfc/coprocessor/sa1/sa1.cpp rename to higan/sfc/coprocessor/sa1/sa1.cpp diff --git a/sfc/coprocessor/sa1/sa1.hpp b/higan/sfc/coprocessor/sa1/sa1.hpp similarity index 100% rename from sfc/coprocessor/sa1/sa1.hpp rename to higan/sfc/coprocessor/sa1/sa1.hpp diff --git a/sfc/coprocessor/sa1/serialization.cpp b/higan/sfc/coprocessor/sa1/serialization.cpp similarity index 100% rename from sfc/coprocessor/sa1/serialization.cpp rename to higan/sfc/coprocessor/sa1/serialization.cpp diff --git a/sfc/coprocessor/sdd1/decomp.cpp b/higan/sfc/coprocessor/sdd1/decomp.cpp similarity index 100% rename from sfc/coprocessor/sdd1/decomp.cpp rename to higan/sfc/coprocessor/sdd1/decomp.cpp diff --git a/sfc/coprocessor/sdd1/decomp.hpp b/higan/sfc/coprocessor/sdd1/decomp.hpp similarity index 100% rename from sfc/coprocessor/sdd1/decomp.hpp rename to higan/sfc/coprocessor/sdd1/decomp.hpp diff --git a/sfc/coprocessor/sdd1/sdd1.cpp b/higan/sfc/coprocessor/sdd1/sdd1.cpp similarity index 100% rename from sfc/coprocessor/sdd1/sdd1.cpp rename to higan/sfc/coprocessor/sdd1/sdd1.cpp diff --git a/sfc/coprocessor/sdd1/sdd1.hpp b/higan/sfc/coprocessor/sdd1/sdd1.hpp similarity index 100% rename from sfc/coprocessor/sdd1/sdd1.hpp rename to higan/sfc/coprocessor/sdd1/sdd1.hpp diff --git a/sfc/coprocessor/sdd1/serialization.cpp b/higan/sfc/coprocessor/sdd1/serialization.cpp similarity index 100% rename from sfc/coprocessor/sdd1/serialization.cpp rename to higan/sfc/coprocessor/sdd1/serialization.cpp diff --git a/sfc/coprocessor/sharprtc/memory.cpp b/higan/sfc/coprocessor/sharprtc/memory.cpp similarity index 100% rename from sfc/coprocessor/sharprtc/memory.cpp rename to higan/sfc/coprocessor/sharprtc/memory.cpp diff --git a/sfc/coprocessor/sharprtc/serialization.cpp b/higan/sfc/coprocessor/sharprtc/serialization.cpp similarity index 100% rename from sfc/coprocessor/sharprtc/serialization.cpp rename to higan/sfc/coprocessor/sharprtc/serialization.cpp diff --git a/sfc/coprocessor/sharprtc/sharprtc.cpp b/higan/sfc/coprocessor/sharprtc/sharprtc.cpp similarity index 100% rename from sfc/coprocessor/sharprtc/sharprtc.cpp rename to higan/sfc/coprocessor/sharprtc/sharprtc.cpp diff --git a/sfc/coprocessor/sharprtc/sharprtc.hpp b/higan/sfc/coprocessor/sharprtc/sharprtc.hpp similarity index 100% rename from sfc/coprocessor/sharprtc/sharprtc.hpp rename to higan/sfc/coprocessor/sharprtc/sharprtc.hpp diff --git a/sfc/coprocessor/sharprtc/time.cpp b/higan/sfc/coprocessor/sharprtc/time.cpp similarity index 100% rename from sfc/coprocessor/sharprtc/time.cpp rename to higan/sfc/coprocessor/sharprtc/time.cpp diff --git a/sfc/coprocessor/spc7110/alu.cpp b/higan/sfc/coprocessor/spc7110/alu.cpp similarity index 100% rename from sfc/coprocessor/spc7110/alu.cpp rename to higan/sfc/coprocessor/spc7110/alu.cpp diff --git a/sfc/coprocessor/spc7110/data.cpp b/higan/sfc/coprocessor/spc7110/data.cpp similarity index 100% rename from sfc/coprocessor/spc7110/data.cpp rename to higan/sfc/coprocessor/spc7110/data.cpp diff --git a/sfc/coprocessor/spc7110/dcu.cpp b/higan/sfc/coprocessor/spc7110/dcu.cpp similarity index 100% rename from sfc/coprocessor/spc7110/dcu.cpp rename to higan/sfc/coprocessor/spc7110/dcu.cpp diff --git a/sfc/coprocessor/spc7110/decompressor.cpp b/higan/sfc/coprocessor/spc7110/decompressor.cpp similarity index 100% rename from sfc/coprocessor/spc7110/decompressor.cpp rename to higan/sfc/coprocessor/spc7110/decompressor.cpp diff --git a/sfc/coprocessor/spc7110/serialization.cpp b/higan/sfc/coprocessor/spc7110/serialization.cpp similarity index 100% rename from sfc/coprocessor/spc7110/serialization.cpp rename to higan/sfc/coprocessor/spc7110/serialization.cpp diff --git a/sfc/coprocessor/spc7110/spc7110.cpp b/higan/sfc/coprocessor/spc7110/spc7110.cpp similarity index 100% rename from sfc/coprocessor/spc7110/spc7110.cpp rename to higan/sfc/coprocessor/spc7110/spc7110.cpp diff --git a/sfc/coprocessor/spc7110/spc7110.hpp b/higan/sfc/coprocessor/spc7110/spc7110.hpp similarity index 100% rename from sfc/coprocessor/spc7110/spc7110.hpp rename to higan/sfc/coprocessor/spc7110/spc7110.hpp diff --git a/sfc/coprocessor/superfx/bus/bus.cpp b/higan/sfc/coprocessor/superfx/bus/bus.cpp similarity index 100% rename from sfc/coprocessor/superfx/bus/bus.cpp rename to higan/sfc/coprocessor/superfx/bus/bus.cpp diff --git a/sfc/coprocessor/superfx/bus/bus.hpp b/higan/sfc/coprocessor/superfx/bus/bus.hpp similarity index 100% rename from sfc/coprocessor/superfx/bus/bus.hpp rename to higan/sfc/coprocessor/superfx/bus/bus.hpp diff --git a/sfc/coprocessor/superfx/core/core.cpp b/higan/sfc/coprocessor/superfx/core/core.cpp similarity index 100% rename from sfc/coprocessor/superfx/core/core.cpp rename to higan/sfc/coprocessor/superfx/core/core.cpp diff --git a/sfc/coprocessor/superfx/core/core.hpp b/higan/sfc/coprocessor/superfx/core/core.hpp similarity index 100% rename from sfc/coprocessor/superfx/core/core.hpp rename to higan/sfc/coprocessor/superfx/core/core.hpp diff --git a/sfc/coprocessor/superfx/disassembler/disassembler.cpp b/higan/sfc/coprocessor/superfx/disassembler/disassembler.cpp similarity index 100% rename from sfc/coprocessor/superfx/disassembler/disassembler.cpp rename to higan/sfc/coprocessor/superfx/disassembler/disassembler.cpp diff --git a/sfc/coprocessor/superfx/disassembler/disassembler.hpp b/higan/sfc/coprocessor/superfx/disassembler/disassembler.hpp similarity index 100% rename from sfc/coprocessor/superfx/disassembler/disassembler.hpp rename to higan/sfc/coprocessor/superfx/disassembler/disassembler.hpp diff --git a/sfc/coprocessor/superfx/memory/memory.cpp b/higan/sfc/coprocessor/superfx/memory/memory.cpp similarity index 100% rename from sfc/coprocessor/superfx/memory/memory.cpp rename to higan/sfc/coprocessor/superfx/memory/memory.cpp diff --git a/sfc/coprocessor/superfx/memory/memory.hpp b/higan/sfc/coprocessor/superfx/memory/memory.hpp similarity index 100% rename from sfc/coprocessor/superfx/memory/memory.hpp rename to higan/sfc/coprocessor/superfx/memory/memory.hpp diff --git a/sfc/coprocessor/superfx/mmio/mmio.cpp b/higan/sfc/coprocessor/superfx/mmio/mmio.cpp similarity index 100% rename from sfc/coprocessor/superfx/mmio/mmio.cpp rename to higan/sfc/coprocessor/superfx/mmio/mmio.cpp diff --git a/sfc/coprocessor/superfx/mmio/mmio.hpp b/higan/sfc/coprocessor/superfx/mmio/mmio.hpp similarity index 100% rename from sfc/coprocessor/superfx/mmio/mmio.hpp rename to higan/sfc/coprocessor/superfx/mmio/mmio.hpp diff --git a/sfc/coprocessor/superfx/serialization.cpp b/higan/sfc/coprocessor/superfx/serialization.cpp similarity index 100% rename from sfc/coprocessor/superfx/serialization.cpp rename to higan/sfc/coprocessor/superfx/serialization.cpp diff --git a/sfc/coprocessor/superfx/superfx.cpp b/higan/sfc/coprocessor/superfx/superfx.cpp similarity index 100% rename from sfc/coprocessor/superfx/superfx.cpp rename to higan/sfc/coprocessor/superfx/superfx.cpp diff --git a/sfc/coprocessor/superfx/superfx.hpp b/higan/sfc/coprocessor/superfx/superfx.hpp similarity index 100% rename from sfc/coprocessor/superfx/superfx.hpp rename to higan/sfc/coprocessor/superfx/superfx.hpp diff --git a/sfc/coprocessor/superfx/timing/timing.cpp b/higan/sfc/coprocessor/superfx/timing/timing.cpp similarity index 100% rename from sfc/coprocessor/superfx/timing/timing.cpp rename to higan/sfc/coprocessor/superfx/timing/timing.cpp diff --git a/sfc/coprocessor/superfx/timing/timing.hpp b/higan/sfc/coprocessor/superfx/timing/timing.hpp similarity index 100% rename from sfc/coprocessor/superfx/timing/timing.hpp rename to higan/sfc/coprocessor/superfx/timing/timing.hpp diff --git a/sfc/cpu/cpu.cpp b/higan/sfc/cpu/cpu.cpp similarity index 100% rename from sfc/cpu/cpu.cpp rename to higan/sfc/cpu/cpu.cpp diff --git a/sfc/cpu/cpu.hpp b/higan/sfc/cpu/cpu.hpp similarity index 100% rename from sfc/cpu/cpu.hpp rename to higan/sfc/cpu/cpu.hpp diff --git a/sfc/cpu/dma/dma.cpp b/higan/sfc/cpu/dma/dma.cpp similarity index 100% rename from sfc/cpu/dma/dma.cpp rename to higan/sfc/cpu/dma/dma.cpp diff --git a/sfc/cpu/dma/dma.hpp b/higan/sfc/cpu/dma/dma.hpp similarity index 100% rename from sfc/cpu/dma/dma.hpp rename to higan/sfc/cpu/dma/dma.hpp diff --git a/sfc/cpu/memory/memory.cpp b/higan/sfc/cpu/memory/memory.cpp similarity index 100% rename from sfc/cpu/memory/memory.cpp rename to higan/sfc/cpu/memory/memory.cpp diff --git a/sfc/cpu/memory/memory.hpp b/higan/sfc/cpu/memory/memory.hpp similarity index 100% rename from sfc/cpu/memory/memory.hpp rename to higan/sfc/cpu/memory/memory.hpp diff --git a/sfc/cpu/mmio/mmio.cpp b/higan/sfc/cpu/mmio/mmio.cpp similarity index 100% rename from sfc/cpu/mmio/mmio.cpp rename to higan/sfc/cpu/mmio/mmio.cpp diff --git a/sfc/cpu/mmio/mmio.hpp b/higan/sfc/cpu/mmio/mmio.hpp similarity index 100% rename from sfc/cpu/mmio/mmio.hpp rename to higan/sfc/cpu/mmio/mmio.hpp diff --git a/sfc/cpu/serialization.cpp b/higan/sfc/cpu/serialization.cpp similarity index 100% rename from sfc/cpu/serialization.cpp rename to higan/sfc/cpu/serialization.cpp diff --git a/sfc/cpu/timing/irq.cpp b/higan/sfc/cpu/timing/irq.cpp similarity index 100% rename from sfc/cpu/timing/irq.cpp rename to higan/sfc/cpu/timing/irq.cpp diff --git a/sfc/cpu/timing/joypad.cpp b/higan/sfc/cpu/timing/joypad.cpp similarity index 100% rename from sfc/cpu/timing/joypad.cpp rename to higan/sfc/cpu/timing/joypad.cpp diff --git a/sfc/cpu/timing/timing.cpp b/higan/sfc/cpu/timing/timing.cpp similarity index 100% rename from sfc/cpu/timing/timing.cpp rename to higan/sfc/cpu/timing/timing.cpp diff --git a/sfc/cpu/timing/timing.hpp b/higan/sfc/cpu/timing/timing.hpp similarity index 100% rename from sfc/cpu/timing/timing.hpp rename to higan/sfc/cpu/timing/timing.hpp diff --git a/sfc/dsp/brr.cpp b/higan/sfc/dsp/brr.cpp similarity index 100% rename from sfc/dsp/brr.cpp rename to higan/sfc/dsp/brr.cpp diff --git a/sfc/dsp/counter.cpp b/higan/sfc/dsp/counter.cpp similarity index 100% rename from sfc/dsp/counter.cpp rename to higan/sfc/dsp/counter.cpp diff --git a/sfc/dsp/dsp.cpp b/higan/sfc/dsp/dsp.cpp similarity index 100% rename from sfc/dsp/dsp.cpp rename to higan/sfc/dsp/dsp.cpp diff --git a/sfc/dsp/dsp.hpp b/higan/sfc/dsp/dsp.hpp similarity index 100% rename from sfc/dsp/dsp.hpp rename to higan/sfc/dsp/dsp.hpp diff --git a/sfc/dsp/echo.cpp b/higan/sfc/dsp/echo.cpp similarity index 100% rename from sfc/dsp/echo.cpp rename to higan/sfc/dsp/echo.cpp diff --git a/sfc/dsp/envelope.cpp b/higan/sfc/dsp/envelope.cpp similarity index 100% rename from sfc/dsp/envelope.cpp rename to higan/sfc/dsp/envelope.cpp diff --git a/sfc/dsp/gaussian.cpp b/higan/sfc/dsp/gaussian.cpp similarity index 100% rename from sfc/dsp/gaussian.cpp rename to higan/sfc/dsp/gaussian.cpp diff --git a/sfc/dsp/misc.cpp b/higan/sfc/dsp/misc.cpp similarity index 100% rename from sfc/dsp/misc.cpp rename to higan/sfc/dsp/misc.cpp diff --git a/sfc/dsp/modulo-array.hpp b/higan/sfc/dsp/modulo-array.hpp similarity index 100% rename from sfc/dsp/modulo-array.hpp rename to higan/sfc/dsp/modulo-array.hpp diff --git a/sfc/dsp/serialization.cpp b/higan/sfc/dsp/serialization.cpp similarity index 100% rename from sfc/dsp/serialization.cpp rename to higan/sfc/dsp/serialization.cpp diff --git a/sfc/dsp/voice.cpp b/higan/sfc/dsp/voice.cpp similarity index 100% rename from sfc/dsp/voice.cpp rename to higan/sfc/dsp/voice.cpp diff --git a/sfc/expansion/eboot/eboot.cpp b/higan/sfc/expansion/eboot/eboot.cpp similarity index 100% rename from sfc/expansion/eboot/eboot.cpp rename to higan/sfc/expansion/eboot/eboot.cpp diff --git a/sfc/expansion/eboot/eboot.hpp b/higan/sfc/expansion/eboot/eboot.hpp similarity index 100% rename from sfc/expansion/eboot/eboot.hpp rename to higan/sfc/expansion/eboot/eboot.hpp diff --git a/sfc/expansion/expansion.hpp b/higan/sfc/expansion/expansion.hpp similarity index 100% rename from sfc/expansion/expansion.hpp rename to higan/sfc/expansion/expansion.hpp diff --git a/sfc/expansion/satellaview/satellaview.cpp b/higan/sfc/expansion/satellaview/satellaview.cpp similarity index 100% rename from sfc/expansion/satellaview/satellaview.cpp rename to higan/sfc/expansion/satellaview/satellaview.cpp diff --git a/sfc/expansion/satellaview/satellaview.hpp b/higan/sfc/expansion/satellaview/satellaview.hpp similarity index 100% rename from sfc/expansion/satellaview/satellaview.hpp rename to higan/sfc/expansion/satellaview/satellaview.hpp diff --git a/sfc/interface/interface.cpp b/higan/sfc/interface/interface.cpp similarity index 100% rename from sfc/interface/interface.cpp rename to higan/sfc/interface/interface.cpp diff --git a/sfc/interface/interface.hpp b/higan/sfc/interface/interface.hpp similarity index 100% rename from sfc/interface/interface.hpp rename to higan/sfc/interface/interface.hpp diff --git a/sfc/memory/memory-inline.hpp b/higan/sfc/memory/memory-inline.hpp similarity index 100% rename from sfc/memory/memory-inline.hpp rename to higan/sfc/memory/memory-inline.hpp diff --git a/sfc/memory/memory.cpp b/higan/sfc/memory/memory.cpp similarity index 100% rename from sfc/memory/memory.cpp rename to higan/sfc/memory/memory.cpp diff --git a/sfc/memory/memory.hpp b/higan/sfc/memory/memory.hpp similarity index 100% rename from sfc/memory/memory.hpp rename to higan/sfc/memory/memory.hpp diff --git a/sfc/ppu/background/background.cpp b/higan/sfc/ppu/background/background.cpp similarity index 100% rename from sfc/ppu/background/background.cpp rename to higan/sfc/ppu/background/background.cpp diff --git a/sfc/ppu/background/background.hpp b/higan/sfc/ppu/background/background.hpp similarity index 100% rename from sfc/ppu/background/background.hpp rename to higan/sfc/ppu/background/background.hpp diff --git a/sfc/ppu/background/mode7.cpp b/higan/sfc/ppu/background/mode7.cpp similarity index 100% rename from sfc/ppu/background/mode7.cpp rename to higan/sfc/ppu/background/mode7.cpp diff --git a/sfc/ppu/counter/counter-inline.hpp b/higan/sfc/ppu/counter/counter-inline.hpp similarity index 100% rename from sfc/ppu/counter/counter-inline.hpp rename to higan/sfc/ppu/counter/counter-inline.hpp diff --git a/sfc/ppu/counter/counter.hpp b/higan/sfc/ppu/counter/counter.hpp similarity index 100% rename from sfc/ppu/counter/counter.hpp rename to higan/sfc/ppu/counter/counter.hpp diff --git a/sfc/ppu/mmio/mmio.cpp b/higan/sfc/ppu/mmio/mmio.cpp similarity index 100% rename from sfc/ppu/mmio/mmio.cpp rename to higan/sfc/ppu/mmio/mmio.cpp diff --git a/sfc/ppu/mmio/mmio.hpp b/higan/sfc/ppu/mmio/mmio.hpp similarity index 100% rename from sfc/ppu/mmio/mmio.hpp rename to higan/sfc/ppu/mmio/mmio.hpp diff --git a/sfc/ppu/ppu.cpp b/higan/sfc/ppu/ppu.cpp similarity index 100% rename from sfc/ppu/ppu.cpp rename to higan/sfc/ppu/ppu.cpp diff --git a/sfc/ppu/ppu.hpp b/higan/sfc/ppu/ppu.hpp similarity index 100% rename from sfc/ppu/ppu.hpp rename to higan/sfc/ppu/ppu.hpp diff --git a/sfc/ppu/screen/screen.cpp b/higan/sfc/ppu/screen/screen.cpp similarity index 100% rename from sfc/ppu/screen/screen.cpp rename to higan/sfc/ppu/screen/screen.cpp diff --git a/sfc/ppu/screen/screen.hpp b/higan/sfc/ppu/screen/screen.hpp similarity index 100% rename from sfc/ppu/screen/screen.hpp rename to higan/sfc/ppu/screen/screen.hpp diff --git a/sfc/ppu/serialization.cpp b/higan/sfc/ppu/serialization.cpp similarity index 100% rename from sfc/ppu/serialization.cpp rename to higan/sfc/ppu/serialization.cpp diff --git a/sfc/ppu/sprite/list.cpp b/higan/sfc/ppu/sprite/list.cpp similarity index 100% rename from sfc/ppu/sprite/list.cpp rename to higan/sfc/ppu/sprite/list.cpp diff --git a/sfc/ppu/sprite/sprite.cpp b/higan/sfc/ppu/sprite/sprite.cpp similarity index 100% rename from sfc/ppu/sprite/sprite.cpp rename to higan/sfc/ppu/sprite/sprite.cpp diff --git a/sfc/ppu/sprite/sprite.hpp b/higan/sfc/ppu/sprite/sprite.hpp similarity index 100% rename from sfc/ppu/sprite/sprite.hpp rename to higan/sfc/ppu/sprite/sprite.hpp diff --git a/sfc/ppu/window/window.cpp b/higan/sfc/ppu/window/window.cpp similarity index 100% rename from sfc/ppu/window/window.cpp rename to higan/sfc/ppu/window/window.cpp diff --git a/sfc/ppu/window/window.hpp b/higan/sfc/ppu/window/window.hpp similarity index 100% rename from sfc/ppu/window/window.hpp rename to higan/sfc/ppu/window/window.hpp diff --git a/sfc/profile-accuracy.hpp b/higan/sfc/profile-accuracy.hpp similarity index 100% rename from sfc/profile-accuracy.hpp rename to higan/sfc/profile-accuracy.hpp diff --git a/sfc/profile-balanced.hpp b/higan/sfc/profile-balanced.hpp similarity index 100% rename from sfc/profile-balanced.hpp rename to higan/sfc/profile-balanced.hpp diff --git a/sfc/profile-performance.hpp b/higan/sfc/profile-performance.hpp similarity index 100% rename from sfc/profile-performance.hpp rename to higan/sfc/profile-performance.hpp diff --git a/sfc/scheduler/scheduler.cpp b/higan/sfc/scheduler/scheduler.cpp similarity index 100% rename from sfc/scheduler/scheduler.cpp rename to higan/sfc/scheduler/scheduler.cpp diff --git a/sfc/scheduler/scheduler.hpp b/higan/sfc/scheduler/scheduler.hpp similarity index 100% rename from sfc/scheduler/scheduler.hpp rename to higan/sfc/scheduler/scheduler.hpp diff --git a/sfc/sfc.hpp b/higan/sfc/sfc.hpp similarity index 100% rename from sfc/sfc.hpp rename to higan/sfc/sfc.hpp diff --git a/sfc/slot/bsmemory/bsmemory.cpp b/higan/sfc/slot/bsmemory/bsmemory.cpp similarity index 100% rename from sfc/slot/bsmemory/bsmemory.cpp rename to higan/sfc/slot/bsmemory/bsmemory.cpp diff --git a/sfc/slot/bsmemory/bsmemory.hpp b/higan/sfc/slot/bsmemory/bsmemory.hpp similarity index 100% rename from sfc/slot/bsmemory/bsmemory.hpp rename to higan/sfc/slot/bsmemory/bsmemory.hpp diff --git a/sfc/slot/slot.hpp b/higan/sfc/slot/slot.hpp similarity index 100% rename from sfc/slot/slot.hpp rename to higan/sfc/slot/slot.hpp diff --git a/sfc/slot/sufamiturbo/serialization.cpp b/higan/sfc/slot/sufamiturbo/serialization.cpp similarity index 100% rename from sfc/slot/sufamiturbo/serialization.cpp rename to higan/sfc/slot/sufamiturbo/serialization.cpp diff --git a/sfc/slot/sufamiturbo/sufamiturbo.cpp b/higan/sfc/slot/sufamiturbo/sufamiturbo.cpp similarity index 100% rename from sfc/slot/sufamiturbo/sufamiturbo.cpp rename to higan/sfc/slot/sufamiturbo/sufamiturbo.cpp diff --git a/sfc/slot/sufamiturbo/sufamiturbo.hpp b/higan/sfc/slot/sufamiturbo/sufamiturbo.hpp similarity index 100% rename from sfc/slot/sufamiturbo/sufamiturbo.hpp rename to higan/sfc/slot/sufamiturbo/sufamiturbo.hpp diff --git a/sfc/smp/memory.cpp b/higan/sfc/smp/memory.cpp similarity index 100% rename from sfc/smp/memory.cpp rename to higan/sfc/smp/memory.cpp diff --git a/sfc/smp/serialization.cpp b/higan/sfc/smp/serialization.cpp similarity index 100% rename from sfc/smp/serialization.cpp rename to higan/sfc/smp/serialization.cpp diff --git a/sfc/smp/smp.cpp b/higan/sfc/smp/smp.cpp similarity index 100% rename from sfc/smp/smp.cpp rename to higan/sfc/smp/smp.cpp diff --git a/sfc/smp/smp.hpp b/higan/sfc/smp/smp.hpp similarity index 100% rename from sfc/smp/smp.hpp rename to higan/sfc/smp/smp.hpp diff --git a/sfc/smp/timing.cpp b/higan/sfc/smp/timing.cpp similarity index 100% rename from sfc/smp/timing.cpp rename to higan/sfc/smp/timing.cpp diff --git a/sfc/system/audio.cpp b/higan/sfc/system/audio.cpp similarity index 100% rename from sfc/system/audio.cpp rename to higan/sfc/system/audio.cpp diff --git a/sfc/system/audio.hpp b/higan/sfc/system/audio.hpp similarity index 100% rename from sfc/system/audio.hpp rename to higan/sfc/system/audio.hpp diff --git a/sfc/system/device.cpp b/higan/sfc/system/device.cpp similarity index 100% rename from sfc/system/device.cpp rename to higan/sfc/system/device.cpp diff --git a/sfc/system/device.hpp b/higan/sfc/system/device.hpp similarity index 100% rename from sfc/system/device.hpp rename to higan/sfc/system/device.hpp diff --git a/sfc/system/serialization.cpp b/higan/sfc/system/serialization.cpp similarity index 100% rename from sfc/system/serialization.cpp rename to higan/sfc/system/serialization.cpp diff --git a/sfc/system/system.cpp b/higan/sfc/system/system.cpp similarity index 100% rename from sfc/system/system.cpp rename to higan/sfc/system/system.cpp diff --git a/sfc/system/system.hpp b/higan/sfc/system/system.hpp similarity index 100% rename from sfc/system/system.hpp rename to higan/sfc/system/system.hpp diff --git a/sfc/system/video.cpp b/higan/sfc/system/video.cpp similarity index 100% rename from sfc/system/video.cpp rename to higan/sfc/system/video.cpp diff --git a/sfc/system/video.hpp b/higan/sfc/system/video.hpp similarity index 100% rename from sfc/system/video.hpp rename to higan/sfc/system/video.hpp diff --git a/target-tomoko/GNUmakefile b/higan/target-tomoko/GNUmakefile similarity index 92% rename from target-tomoko/GNUmakefile rename to higan/target-tomoko/GNUmakefile index 6dc8442b..7f12aa0a 100644 --- a/target-tomoko/GNUmakefile +++ b/higan/target-tomoko/GNUmakefile @@ -33,21 +33,23 @@ else ifeq ($(platform),bsd) endif # ruby -include ruby/GNUmakefile +include ../ruby/GNUmakefile link += $(rubylink) # hiro -include hiro/GNUmakefile +include ../hiro/GNUmakefile link += $(hirolink) # rules objects := $(ui_objects) $(objects) objects := $(patsubst %,obj/%.o,$(objects)) -obj/ruby.o: ruby/ruby.cpp $(call rwildcard,ruby/) +obj/libco.o: ../libco/libco.c $(call rwildcard,../libco/) + +obj/ruby.o: ../ruby/ruby.cpp $(call rwildcard,../ruby/) $(compiler) $(rubyflags) -c $< -o $@ -obj/hiro.o: hiro/hiro.cpp $(call rwildcard,hiro/) +obj/hiro.o: ../hiro/hiro.cpp $(call rwildcard,../hiro/) $(compiler) $(hiroflags) -c $< -o $@ obj/ui-tomoko.o: $(ui)/tomoko.cpp $(call rwildcard,$(ui)/) diff --git a/target-tomoko/configuration/configuration.cpp b/higan/target-tomoko/configuration/configuration.cpp similarity index 100% rename from target-tomoko/configuration/configuration.cpp rename to higan/target-tomoko/configuration/configuration.cpp diff --git a/target-tomoko/configuration/configuration.hpp b/higan/target-tomoko/configuration/configuration.hpp similarity index 100% rename from target-tomoko/configuration/configuration.hpp rename to higan/target-tomoko/configuration/configuration.hpp diff --git a/target-tomoko/input/hotkeys.cpp b/higan/target-tomoko/input/hotkeys.cpp similarity index 100% rename from target-tomoko/input/hotkeys.cpp rename to higan/target-tomoko/input/hotkeys.cpp diff --git a/target-tomoko/input/input.cpp b/higan/target-tomoko/input/input.cpp similarity index 100% rename from target-tomoko/input/input.cpp rename to higan/target-tomoko/input/input.cpp diff --git a/target-tomoko/input/input.hpp b/higan/target-tomoko/input/input.hpp similarity index 100% rename from target-tomoko/input/input.hpp rename to higan/target-tomoko/input/input.hpp diff --git a/target-tomoko/presentation/presentation.cpp b/higan/target-tomoko/presentation/presentation.cpp similarity index 100% rename from target-tomoko/presentation/presentation.cpp rename to higan/target-tomoko/presentation/presentation.cpp diff --git a/target-tomoko/presentation/presentation.hpp b/higan/target-tomoko/presentation/presentation.hpp similarity index 100% rename from target-tomoko/presentation/presentation.hpp rename to higan/target-tomoko/presentation/presentation.hpp diff --git a/target-tomoko/program/interface.cpp b/higan/target-tomoko/program/interface.cpp similarity index 100% rename from target-tomoko/program/interface.cpp rename to higan/target-tomoko/program/interface.cpp diff --git a/target-tomoko/program/media.cpp b/higan/target-tomoko/program/media.cpp similarity index 100% rename from target-tomoko/program/media.cpp rename to higan/target-tomoko/program/media.cpp diff --git a/target-tomoko/program/program.cpp b/higan/target-tomoko/program/program.cpp similarity index 100% rename from target-tomoko/program/program.cpp rename to higan/target-tomoko/program/program.cpp diff --git a/target-tomoko/program/program.hpp b/higan/target-tomoko/program/program.hpp similarity index 100% rename from target-tomoko/program/program.hpp rename to higan/target-tomoko/program/program.hpp diff --git a/target-tomoko/program/state.cpp b/higan/target-tomoko/program/state.cpp similarity index 100% rename from target-tomoko/program/state.cpp rename to higan/target-tomoko/program/state.cpp diff --git a/target-tomoko/program/utility.cpp b/higan/target-tomoko/program/utility.cpp similarity index 100% rename from target-tomoko/program/utility.cpp rename to higan/target-tomoko/program/utility.cpp diff --git a/target-tomoko/settings/advanced.cpp b/higan/target-tomoko/settings/advanced.cpp similarity index 100% rename from target-tomoko/settings/advanced.cpp rename to higan/target-tomoko/settings/advanced.cpp diff --git a/target-tomoko/settings/audio.cpp b/higan/target-tomoko/settings/audio.cpp similarity index 100% rename from target-tomoko/settings/audio.cpp rename to higan/target-tomoko/settings/audio.cpp diff --git a/target-tomoko/settings/hotkeys.cpp b/higan/target-tomoko/settings/hotkeys.cpp similarity index 100% rename from target-tomoko/settings/hotkeys.cpp rename to higan/target-tomoko/settings/hotkeys.cpp diff --git a/target-tomoko/settings/input.cpp b/higan/target-tomoko/settings/input.cpp similarity index 100% rename from target-tomoko/settings/input.cpp rename to higan/target-tomoko/settings/input.cpp diff --git a/target-tomoko/settings/settings.cpp b/higan/target-tomoko/settings/settings.cpp similarity index 100% rename from target-tomoko/settings/settings.cpp rename to higan/target-tomoko/settings/settings.cpp diff --git a/target-tomoko/settings/settings.hpp b/higan/target-tomoko/settings/settings.hpp similarity index 100% rename from target-tomoko/settings/settings.hpp rename to higan/target-tomoko/settings/settings.hpp diff --git a/target-tomoko/settings/timing.cpp b/higan/target-tomoko/settings/timing.cpp similarity index 100% rename from target-tomoko/settings/timing.cpp rename to higan/target-tomoko/settings/timing.cpp diff --git a/target-tomoko/settings/video.cpp b/higan/target-tomoko/settings/video.cpp similarity index 100% rename from target-tomoko/settings/video.cpp rename to higan/target-tomoko/settings/video.cpp diff --git a/target-tomoko/tomoko.cpp b/higan/target-tomoko/tomoko.cpp similarity index 100% rename from target-tomoko/tomoko.cpp rename to higan/target-tomoko/tomoko.cpp diff --git a/target-tomoko/tomoko.hpp b/higan/target-tomoko/tomoko.hpp similarity index 100% rename from target-tomoko/tomoko.hpp rename to higan/target-tomoko/tomoko.hpp diff --git a/target-tomoko/tools/cheat-database.cpp b/higan/target-tomoko/tools/cheat-database.cpp similarity index 100% rename from target-tomoko/tools/cheat-database.cpp rename to higan/target-tomoko/tools/cheat-database.cpp diff --git a/target-tomoko/tools/cheat-editor.cpp b/higan/target-tomoko/tools/cheat-editor.cpp similarity index 100% rename from target-tomoko/tools/cheat-editor.cpp rename to higan/target-tomoko/tools/cheat-editor.cpp diff --git a/target-tomoko/tools/manifest-viewer.cpp b/higan/target-tomoko/tools/manifest-viewer.cpp similarity index 100% rename from target-tomoko/tools/manifest-viewer.cpp rename to higan/target-tomoko/tools/manifest-viewer.cpp diff --git a/target-tomoko/tools/state-manager.cpp b/higan/target-tomoko/tools/state-manager.cpp similarity index 100% rename from target-tomoko/tools/state-manager.cpp rename to higan/target-tomoko/tools/state-manager.cpp diff --git a/target-tomoko/tools/tools.cpp b/higan/target-tomoko/tools/tools.cpp similarity index 100% rename from target-tomoko/tools/tools.cpp rename to higan/target-tomoko/tools/tools.cpp diff --git a/target-tomoko/tools/tools.hpp b/higan/target-tomoko/tools/tools.hpp similarity index 100% rename from target-tomoko/tools/tools.hpp rename to higan/target-tomoko/tools/tools.hpp diff --git a/hiro/cocoa/action/action.cpp b/hiro/cocoa/action/action.cpp index 41578414..a71477ef 100644 --- a/hiro/cocoa/action/action.cpp +++ b/hiro/cocoa/action/action.cpp @@ -1,21 +1,25 @@ -namespace phoenix { +#if defined(Hiro_Action) -void pAction::setEnabled(bool enabled) { +namespace hiro { + +auto pAction::construct() -> void { +} + +auto pAction::destruct() -> void { +} + +auto pAction::setEnabled(bool enabled) -> void { @autoreleasepool { [cocoaAction setEnabled:enabled]; } } -void pAction::setVisible(bool visible) { +auto pAction::setVisible(bool visible) -> void { @autoreleasepool { [cocoaAction setHidden:!visible]; } } -void pAction::constructor() { } -void pAction::destructor() { -} - -} +#endif diff --git a/hiro/cocoa/action/action.hpp b/hiro/cocoa/action/action.hpp index c8e71b4e..c870bfe5 100644 --- a/hiro/cocoa/action/action.hpp +++ b/hiro/cocoa/action/action.hpp @@ -1,15 +1,16 @@ -namespace phoenix { +#if defined(Hiro_Action) + +namespace hiro { + +struct pAction : pObject { + Declare(Action, Object) + + auto setEnabled(bool enabled) -> void override; + auto setVisible(bool visible) -> void override; -struct pAction : public pObject { - Action& action; NSMenuItem* cocoaAction = nullptr; - - void setEnabled(bool enabled); - void setVisible(bool visible); - - pAction(Action& action) : pObject(action), action(action) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/action/check-item.cpp b/hiro/cocoa/action/check-item.cpp deleted file mode 100644 index 9729dbf0..00000000 --- a/hiro/cocoa/action/check-item.cpp +++ /dev/null @@ -1,49 +0,0 @@ -@implementation CocoaCheckItem : NSMenuItem - --(id) initWith:(phoenix::CheckItem&)checkItemReference { - if(self = [super initWithTitle:@"" action:@selector(activate) keyEquivalent:@""]) { - checkItem = &checkItemReference; - - [self setTarget:self]; - } - return self; -} - --(void) activate { - checkItem->state.checked = !checkItem->state.checked; - auto state = checkItem->state.checked ? NSOnState : NSOffState; - [self setState:state]; - if(checkItem->onToggle) checkItem->onToggle(); -} - -@end - -namespace phoenix { - -void pCheckItem::setChecked(bool checked) { - @autoreleasepool { - auto state = checked ? NSOnState : NSOffState; - [cocoaAction setState:state]; - } -} - -void pCheckItem::setText(string text) { - @autoreleasepool { - [cocoaAction setTitle:[NSString stringWithUTF8String:text]]; - } -} - -void pCheckItem::constructor() { - @autoreleasepool { - cocoaAction = cocoaCheckItem = [[CocoaCheckItem alloc] initWith:checkItem]; - setText(checkItem.state.text); - } -} - -void pCheckItem::destructor() { - @autoreleasepool { - [cocoaAction release]; - } -} - -} diff --git a/hiro/cocoa/action/check-item.hpp b/hiro/cocoa/action/check-item.hpp deleted file mode 100644 index 9097fecb..00000000 --- a/hiro/cocoa/action/check-item.hpp +++ /dev/null @@ -1,23 +0,0 @@ -@interface CocoaCheckItem : NSMenuItem { -@public - phoenix::CheckItem* checkItem; -} --(id) initWith:(phoenix::CheckItem&)checkItem; --(void) activate; -@end - -namespace phoenix { - -struct pCheckItem : public pAction { - CheckItem& checkItem; - CocoaCheckItem* cocoaCheckItem = nullptr; - - void setChecked(bool checked); - void setText(string text); - - pCheckItem(CheckItem& checkItem) : pAction(checkItem), checkItem(checkItem) {} - void constructor(); - void destructor(); -}; - -} diff --git a/hiro/cocoa/action/item.cpp b/hiro/cocoa/action/item.cpp deleted file mode 100644 index 2af3c76d..00000000 --- a/hiro/cocoa/action/item.cpp +++ /dev/null @@ -1,45 +0,0 @@ -@implementation CocoaItem : NSMenuItem - --(id) initWith:(phoenix::Item&)itemReference { - if(self = [super initWithTitle:@"" action:@selector(activate) keyEquivalent:@""]) { - item = &itemReference; - - [self setTarget:self]; - } - return self; -} - --(void) activate { - if(item->onActivate) item->onActivate(); -} - -@end - -namespace phoenix { - -void pItem::setImage(const image& image) { - @autoreleasepool { - unsigned size = 15; //there is no API to retrieve the optimal size - [cocoaAction setImage:NSMakeImage(image, size, size)]; - } -} - -void pItem::setText(string text) { - @autoreleasepool { - [cocoaAction setTitle:[NSString stringWithUTF8String:text]]; - } -} - -void pItem::constructor() { - @autoreleasepool { - cocoaAction = cocoaItem = [[CocoaItem alloc] initWith:item]; - } -} - -void pItem::destructor() { - @autoreleasepool { - [cocoaAction release]; - } -} - -} diff --git a/hiro/cocoa/action/item.hpp b/hiro/cocoa/action/item.hpp deleted file mode 100644 index 23fc908f..00000000 --- a/hiro/cocoa/action/item.hpp +++ /dev/null @@ -1,23 +0,0 @@ -@interface CocoaItem : NSMenuItem { -@public - phoenix::Item* item; -} --(id) initWith:(phoenix::Item&)item; --(void) activate; -@end - -namespace phoenix { - -struct pItem : public pAction { - Item& item; - CocoaItem* cocoaItem = nullptr; - - void setImage(const image& image); - void setText(string text); - - pItem(Item& item) : pAction(item), item(item) {} - void constructor(); - void destructor(); -}; - -} diff --git a/hiro/cocoa/action/menu-check-item.cpp b/hiro/cocoa/action/menu-check-item.cpp new file mode 100644 index 00000000..308ac537 --- /dev/null +++ b/hiro/cocoa/action/menu-check-item.cpp @@ -0,0 +1,56 @@ +#if defined(Hiro_MenuCheckItem) + +@implementation CocoaMenuCheckItem : NSMenuItem + +-(id) initWith:(hiro::mMenuCheckItem&)menuCheckItemReference { + if(self = [super initWithTitle:@"" action:@selector(activate) keyEquivalent:@""]) { + menuCheckItem = &menuCheckItemReference; + + [self setTarget:self]; + } + return self; +} + +-(void) activate { + menuCheckItem->state.checked = !menuCheckItem->state.checked; + auto state = menuCheckItem->state.checked ? NSOnState : NSOffState; + [self setState:state]; + menuCheckItem->doToggle(); +} + +@end + +namespace hiro { + +auto pMenuCheckItem::construct() -> void { + @autoreleasepool { + cocoaAction = cocoaMenuCheckItem = [[CocoaMenuCheckItem alloc] initWith:self()]; + pAction::construct(); + + setChecked(state().checked); + setText(state().text); + } +} + +auto pMenuCheckItem::destruct() -> void { + @autoreleasepool { + [cocoaAction release]; + } +} + +auto pMenuCheckItem::setChecked(bool checked) -> void { + @autoreleasepool { + auto state = checked ? NSOnState : NSOffState; + [cocoaAction setState:state]; + } +} + +auto pMenuCheckItem::setText(const string& text) -> void { + @autoreleasepool { + [cocoaAction setTitle:[NSString stringWithUTF8String:text]]; + } +} + +} + +#endif diff --git a/hiro/cocoa/action/menu-check-item.hpp b/hiro/cocoa/action/menu-check-item.hpp new file mode 100644 index 00000000..8352821d --- /dev/null +++ b/hiro/cocoa/action/menu-check-item.hpp @@ -0,0 +1,24 @@ +#if defined(Hiro_MenuCheckItem) + +@interface CocoaMenuCheckItem : NSMenuItem { +@public + hiro::mMenuCheckItem* menuCheckItem; +} +-(id) initWith:(hiro::mMenuCheckItem&)checkItem; +-(void) activate; +@end + +namespace hiro { + +struct pMenuCheckItem : pAction { + Declare(MenuCheckItem, Action) + + auto setChecked(bool checked) -> void; + auto setText(const string& text) -> void; + + CocoaMenuCheckItem* cocoaMenuCheckItem = nullptr; +}; + +} + +#endif diff --git a/hiro/cocoa/action/menu-item.cpp b/hiro/cocoa/action/menu-item.cpp new file mode 100644 index 00000000..e02cfe7b --- /dev/null +++ b/hiro/cocoa/action/menu-item.cpp @@ -0,0 +1,53 @@ +#if defined(Hiro_MenuItem) + +@implementation CocoaMenuItem : NSMenuItem + +-(id) initWith:(hiro::mMenuItem&)menuItemReference { + if(self = [super initWithTitle:@"" action:@selector(activate) keyEquivalent:@""]) { + menuItem = &menuItemReference; + + [self setTarget:self]; + } + return self; +} + +-(void) activate { + menuItem->doActivate(); +} + +@end + +namespace hiro { + +auto pMenuItem::construct() -> void { + @autoreleasepool { + cocoaAction = cocoaMenuItem = [[CocoaMenuItem alloc] initWith:self()]; + pAction::construct(); + + setImage(state().image); + setText(state().text); + } +} + +auto pMenuItem::destruct() -> void { + @autoreleasepool { + [cocoaAction release]; + } +} + +auto pMenuItem::setImage(const Image& image) -> void { + @autoreleasepool { + uint size = 15; //there is no API to retrieve the optimal size + [cocoaAction setImage:NSMakeImage(image, size, size)]; + } +} + +auto pMenuItem::setText(const string& text) -> void { + @autoreleasepool { + [cocoaAction setTitle:[NSString stringWithUTF8String:text]]; + } +} + +} + +#endif diff --git a/hiro/cocoa/action/menu-item.hpp b/hiro/cocoa/action/menu-item.hpp new file mode 100644 index 00000000..2e4aaa97 --- /dev/null +++ b/hiro/cocoa/action/menu-item.hpp @@ -0,0 +1,24 @@ +#if defined(Hiro_MenuItem) + +@interface CocoaMenuItem : NSMenuItem { +@public + hiro::mMenuItem* menuItem; +} +-(id) initWith:(hiro::mMenuItem&)menuItem; +-(void) activate; +@end + +namespace hiro { + +struct pMenuItem : pAction { + Declare(MenuItem, Action) + + auto setImage(const Image& image) -> void; + auto setText(const string& text) -> void; + + CocoaMenuItem* cocoaMenuItem = nullptr; +}; + +} + +#endif diff --git a/hiro/cocoa/action/menu-radio-item.cpp b/hiro/cocoa/action/menu-radio-item.cpp new file mode 100644 index 00000000..a1fa7735 --- /dev/null +++ b/hiro/cocoa/action/menu-radio-item.cpp @@ -0,0 +1,68 @@ +#if defined(Hiro_MenuRadioItem) + +@implementation CocoaMenuRadioItem : NSMenuItem + +-(id) initWith:(hiro::mMenuRadioItem&)menuRadioItemReference { + if(self = [super initWithTitle:@"" action:@selector(activate) keyEquivalent:@""]) { + menuRadioItem = &menuRadioItemReference; + + [self setTarget:self]; + [self setOnStateImage:[NSImage imageNamed:@"NSMenuRadio"]]; + } + return self; +} + +-(void) activate { + menuRadioItem->setChecked(); + menuRadioItem->doActivate(); +} + +@end + +namespace hiro { + +auto pMenuRadioItem::construct() -> void { + @autoreleasepool { + cocoaAction = cocoaMenuRadioItem = [[CocoaMenuRadioItem alloc] initWith:self()]; + pAction::construct(); + + if(state().checked) setChecked(); + setText(state().text); + } +} + +auto pMenuRadioItem::destruct() -> void { + @autoreleasepool { + [cocoaAction release]; + } +} + +auto pMenuRadioItem::setChecked() -> void { + @autoreleasepool { + if(auto group = state().group) { + for(auto& weak : group->state.objects) { + if(auto object = weak.acquire()) { + if(auto self = object->self()) { + if(auto p = dynamic_cast(self)) { + auto state = this == p ? NSOnState : NSOffState; + [p->cocoaAction setState:state]; + } + } + } + } + } + } +} + +auto pMenuRadioItem::setGroup(sGroup group) -> void { +} + +auto pMenuRadioItem::setText(const string& text) -> void { + @autoreleasepool { + [cocoaAction setTitle:[NSString stringWithUTF8String:text]]; + } +} + +} + +#endif diff --git a/hiro/cocoa/action/menu-radio-item.hpp b/hiro/cocoa/action/menu-radio-item.hpp new file mode 100644 index 00000000..681b79dc --- /dev/null +++ b/hiro/cocoa/action/menu-radio-item.hpp @@ -0,0 +1,25 @@ +#if defined(Hiro_MenuRadioItem) + +@interface CocoaMenuRadioItem : NSMenuItem { +@public + hiro::mMenuRadioItem* menuRadioItem; +} +-(id) initWith:(hiro::mMenuRadioItem&)menuRadioItem; +-(void) activate; +@end + +namespace hiro { + +struct pMenuRadioItem : pAction { + Declare(MenuRadioItem, Action) + + auto setChecked() -> void; + auto setGroup(sGroup group) -> void; + auto setText(const string& text) -> void; + + CocoaMenuRadioItem* cocoaMenuRadioItem = nullptr; +}; + +} + +#endif diff --git a/hiro/cocoa/action/menu-separator.cpp b/hiro/cocoa/action/menu-separator.cpp new file mode 100644 index 00000000..9ecf9b8b --- /dev/null +++ b/hiro/cocoa/action/menu-separator.cpp @@ -0,0 +1,20 @@ +#if defined(Hiro_MenuSeparator) + +namespace hiro { + +auto pMenuSeparator::construct() -> void { + @autoreleasepool { + cocoaAction = cocoaSeparator = [[NSMenuItem separatorItem] retain]; + pAction::construct(); + } +} + +auto pMenuSeparator::destruct() -> void { + @autoreleasepool { + [cocoaAction release]; + } +} + +} + +#endif diff --git a/hiro/cocoa/action/menu-separator.hpp b/hiro/cocoa/action/menu-separator.hpp new file mode 100644 index 00000000..2fa46b43 --- /dev/null +++ b/hiro/cocoa/action/menu-separator.hpp @@ -0,0 +1,13 @@ +#if defined(Hiro_MenuSeparator) + +namespace hiro { + +struct pMenuSeparator : pAction { + Declare(MenuSeparator, Action) + + NSMenuItem* cocoaSeparator = nullptr; +}; + +} + +#endif diff --git a/hiro/cocoa/action/menu.cpp b/hiro/cocoa/action/menu.cpp index 8553432c..a6ba104a 100644 --- a/hiro/cocoa/action/menu.cpp +++ b/hiro/cocoa/action/menu.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_Menu) + @implementation CocoaMenu : NSMenuItem --(id) initWith:(phoenix::Menu&)menuReference { +-(id) initWith:(hiro::mMenu&)menuReference { if(self = [super initWithTitle:@"" action:nil keyEquivalent:@""]) { menu = &menuReference; @@ -16,46 +18,51 @@ @end -namespace phoenix { +namespace hiro { -void pMenu::append(Action& action) { +auto pMenu::construct() -> void { @autoreleasepool { - [[cocoaAction cocoaMenu] addItem:action.p.cocoaAction]; + cocoaAction = cocoaMenu = [[CocoaMenu alloc] initWith:self()]; + pAction::construct(); + + setImage(state().image); + setText(state().text); } } -void pMenu::remove(Action& action) { - @autoreleasepool { - [[cocoaAction cocoaMenu] removeItem:action.p.cocoaAction]; - } -} - -void pMenu::setImage(const image& image) { - @autoreleasepool { - unsigned size = 15; //there is no API to retrieve the optimal size - [cocoaAction setImage:NSMakeImage(image, size, size)]; - } -} - -void pMenu::setText(string text) { - @autoreleasepool { - [[cocoaAction cocoaMenu] setTitle:[NSString stringWithUTF8String:text]]; - [cocoaAction setTitle:[NSString stringWithUTF8String:text]]; - } -} - -void pMenu::constructor() { - @autoreleasepool { - cocoaAction = cocoaMenu = [[CocoaMenu alloc] initWith:menu]; - setText(menu.state.text); - } -} - -void pMenu::destructor() { +auto pMenu::destruct() -> void { @autoreleasepool { [[cocoaAction cocoaMenu] release]; [cocoaAction release]; } } +auto pMenu::append(sAction action) -> void { + @autoreleasepool { +// [[cocoaAction cocoaMenu] addItem:action.p.cocoaAction]; + } } + +auto pMenu::remove(sAction action) -> void { + @autoreleasepool { +// [[cocoaAction cocoaMenu] removeItem:action.p.cocoaAction]; + } +} + +auto pMenu::setImage(const Image& image) -> void { + @autoreleasepool { + uint size = 15; //there is no API to retrieve the optimal size +// [cocoaAction setImage:NSMakeImage(image, size, size)]; + } +} + +auto pMenu::setText(const string& text) -> void { + @autoreleasepool { + [[cocoaAction cocoaMenu] setTitle:[NSString stringWithUTF8String:text]]; + [cocoaAction setTitle:[NSString stringWithUTF8String:text]]; + } +} + +} + +#endif diff --git a/hiro/cocoa/action/menu.hpp b/hiro/cocoa/action/menu.hpp index 322b8782..e7021ec0 100644 --- a/hiro/cocoa/action/menu.hpp +++ b/hiro/cocoa/action/menu.hpp @@ -1,26 +1,27 @@ +#if defined(Hiro_Menu) + @interface CocoaMenu : NSMenuItem { @public - phoenix::Menu* menu; + hiro::mMenu* menu; NSMenu* cocoaMenu; } --(id) initWith:(phoenix::Menu&)menu; +-(id) initWith:(hiro::mMenu&)menu; -(NSMenu*) cocoaMenu; @end -namespace phoenix { +namespace hiro { + +struct pMenu : pAction { + Declare(Menu, Action) + + auto append(sAction action) -> void; + auto remove(sAction action) -> void; + auto setImage(const Image& image) -> void; + auto setText(const string& text) -> void; -struct pMenu : public pAction { - Menu& menu; CocoaMenu* cocoaMenu = nullptr; - - void append(Action& action); - void remove(Action& action); - void setImage(const image& image); - void setText(string text); - - pMenu(Menu& menu) : pAction(menu), menu(menu) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/action/radio-item.cpp b/hiro/cocoa/action/radio-item.cpp deleted file mode 100644 index 39801cc3..00000000 --- a/hiro/cocoa/action/radio-item.cpp +++ /dev/null @@ -1,53 +0,0 @@ -@implementation CocoaRadioItem : NSMenuItem - --(id) initWith:(phoenix::RadioItem&)radioItemReference { - if(self = [super initWithTitle:@"" action:@selector(activate) keyEquivalent:@""]) { - radioItem = &radioItemReference; - - [self setTarget:self]; - [self setOnStateImage:[NSImage imageNamed:@"NSMenuRadio"]]; - } - return self; -} - --(void) activate { - radioItem->setChecked(); - if(radioItem->onActivate) radioItem->onActivate(); -} - -@end - -namespace phoenix { - -void pRadioItem::setChecked() { - @autoreleasepool { - for(auto& item : radioItem.state.group) { - auto state = (&item == &radioItem) ? NSOnState : NSOffState; - [item.p.cocoaAction setState:state]; - } - } -} - -void pRadioItem::setGroup(const group& group) { -} - -void pRadioItem::setText(string text) { - @autoreleasepool { - [cocoaAction setTitle:[NSString stringWithUTF8String:text]]; - } -} - -void pRadioItem::constructor() { - @autoreleasepool { - cocoaAction = cocoaRadioItem = [[CocoaRadioItem alloc] initWith:radioItem]; - setText(radioItem.state.text); - } -} - -void pRadioItem::destructor() { - @autoreleasepool { - [cocoaAction release]; - } -} - -} diff --git a/hiro/cocoa/action/radio-item.hpp b/hiro/cocoa/action/radio-item.hpp deleted file mode 100644 index 62a98cd4..00000000 --- a/hiro/cocoa/action/radio-item.hpp +++ /dev/null @@ -1,24 +0,0 @@ -@interface CocoaRadioItem : NSMenuItem { -@public - phoenix::RadioItem* radioItem; -} --(id) initWith:(phoenix::RadioItem&)radioItem; --(void) activate; -@end - -namespace phoenix { - -struct pRadioItem : public pAction { - RadioItem& radioItem; - CocoaRadioItem* cocoaRadioItem = nullptr; - - void setChecked(); - void setGroup(const group& group); - void setText(string text); - - pRadioItem(RadioItem& radioItem) : pAction(radioItem), radioItem(radioItem) {} - void constructor(); - void destructor(); -}; - -} diff --git a/hiro/cocoa/action/separator.cpp b/hiro/cocoa/action/separator.cpp deleted file mode 100644 index db3346d9..00000000 --- a/hiro/cocoa/action/separator.cpp +++ /dev/null @@ -1,15 +0,0 @@ -namespace phoenix { - -void pSeparator::constructor() { - @autoreleasepool { - cocoaAction = cocoaSeparator = [[NSMenuItem separatorItem] retain]; - } -} - -void pSeparator::destructor() { - @autoreleasepool { - [cocoaAction release]; - } -} - -} diff --git a/hiro/cocoa/action/separator.hpp b/hiro/cocoa/action/separator.hpp deleted file mode 100644 index fe57e7b6..00000000 --- a/hiro/cocoa/action/separator.hpp +++ /dev/null @@ -1,12 +0,0 @@ -namespace phoenix { - -struct pSeparator : public pAction { - Separator& separator; - NSMenuItem* cocoaSeparator = nullptr; - - pSeparator(Separator& separator) : pAction(separator), separator(separator) {} - void constructor(); - void destructor(); -}; - -} diff --git a/hiro/cocoa/application.cpp b/hiro/cocoa/application.cpp index fbb0f787..7ea0f6de 100644 --- a/hiro/cocoa/application.cpp +++ b/hiro/cocoa/application.cpp @@ -1,26 +1,28 @@ +#if defined(Hiro_Application) + @implementation CocoaDelegate : NSObject -(NSApplicationTerminateReply) applicationShouldTerminate:(NSApplication*)sender { - using phoenix::Application; - if(Application::Cocoa::onQuit) Application::Cocoa::onQuit(); + using hiro::Application; + if(Application::state.cocoa.onQuit) Application::Cocoa::doQuit(); else Application::quit(); return NSTerminateCancel; } -(BOOL) applicationShouldHandleReopen:(NSApplication*)application hasVisibleWindows:(BOOL)flag { - using phoenix::Application; - if(Application::Cocoa::onActivate) Application::Cocoa::onActivate(); + using hiro::Application; + if(Application::state.cocoa.onActivate) Application::Cocoa::doActivate(); return NO; } -(void) run:(NSTimer*)timer { - using phoenix::Application; - if(Application::main) Application::main(); + using hiro::Application; + if(Application::state.onMain) Application::doMain(); } -(void) updateInDock:(NSTimer*)timer { NSArray* windows = [NSApp windows]; - for(unsigned n = 0; n < [windows count]; n++) { + for(uint n = 0; n < [windows count]; n++) { NSWindow* window = [windows objectAtIndex:n]; if([window isMiniaturized]) { [window updateInDock]; @@ -32,12 +34,12 @@ CocoaDelegate* cocoaDelegate = nullptr; -namespace phoenix { +namespace hiro { -void pApplication::run() { +auto pApplication::run() -> void { //NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval:0.1667 target:cocoaDelegate selector:@selector(updateInDock:) userInfo:nil repeats:YES]; - if(Application::main) { + if(Application::state.onMain) { NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval:0.0 target:cocoaDelegate selector:@selector(run:) userInfo:nil repeats:YES]; //below line is needed to run application during window resize; however it has a large performance penalty on the resize smoothness @@ -49,7 +51,7 @@ void pApplication::run() { } } -bool pApplication::pendingEvents() { +auto pApplication::pendingEvents() -> bool { bool result = false; @autoreleasepool { NSEvent* event = [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate distantPast] inMode:NSDefaultRunLoopMode dequeue:NO]; @@ -58,9 +60,9 @@ bool pApplication::pendingEvents() { return result; } -void pApplication::processEvents() { +auto pApplication::processEvents() -> void { @autoreleasepool { - while(applicationState.quit == false) { + while(!Application::state.quit) { NSEvent* event = [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate distantPast] inMode:NSDefaultRunLoopMode dequeue:YES]; if(event == nil) break; [event retain]; @@ -70,7 +72,7 @@ void pApplication::processEvents() { } } -void pApplication::quit() { +auto pApplication::quit() -> void { @autoreleasepool { [NSApp stop:nil]; NSEvent* event = [NSEvent otherEventWithType:NSApplicationDefined location:NSMakePoint(0, 0) modifierFlags:0 timestamp:0.0 windowNumber:0 context:nil subtype:0 data1:0 data2:0]; @@ -78,14 +80,16 @@ void pApplication::quit() { } } -void pApplication::initialize() { +auto pApplication::initialize() -> void { @autoreleasepool { [NSApplication sharedApplication]; cocoaDelegate = [[CocoaDelegate alloc] init]; [NSApp setDelegate:cocoaDelegate]; //every window has the default application menu; call this so it is displayed at startup - [NSApp setMainMenu:[pWindow::none().p.cocoaWindow menu]]; +// [NSApp setMainMenu:[pWindow::none().p.cocoaWindow menu]]; } } } + +#endif diff --git a/hiro/cocoa/application.hpp b/hiro/cocoa/application.hpp index d15ad7a3..b6973113 100644 --- a/hiro/cocoa/application.hpp +++ b/hiro/cocoa/application.hpp @@ -1,3 +1,5 @@ +#if defined(Hiro_Application) + @interface CocoaDelegate : NSObject { } -(NSApplicationTerminateReply) applicationShouldTerminate:(NSApplication*)sender; @@ -6,15 +8,17 @@ -(void) updateInDock:(NSTimer*)timer; @end -namespace phoenix { +namespace hiro { struct pApplication { - static void run(); - static bool pendingEvents(); - static void processEvents(); - static void quit(); + static auto run() -> void; + static auto pendingEvents() -> bool; + static auto processEvents() -> void; + static auto quit() -> void; - static void initialize(); + static auto initialize() -> void; }; } + +#endif diff --git a/hiro/cocoa/browser-window.cpp b/hiro/cocoa/browser-window.cpp index 9302061b..e2e54298 100644 --- a/hiro/cocoa/browser-window.cpp +++ b/hiro/cocoa/browser-window.cpp @@ -1,6 +1,8 @@ -namespace phoenix { +#if defined(Hiro_BrowserWindow) -string pBrowserWindow::directory(BrowserWindow::State& state) { +namespace hiro { + +auto pBrowserWindow::directory(BrowserWindow::State& state) -> string { string result; @autoreleasepool { @@ -18,13 +20,13 @@ string pBrowserWindow::directory(BrowserWindow::State& state) { return result; } -string pBrowserWindow::open(BrowserWindow::State& state) { +auto pBrowserWindow::open(BrowserWindow::State& state) -> string { string result; @autoreleasepool { NSMutableArray* filters = [[NSMutableArray alloc] init]; for(auto& rule : state.filters) { - string pattern = rule.split<1>("(")(1).rtrim(")"); + string pattern = rule.split("(", 1L)(1).rtrim(")", 1L); if(!pattern.empty()) [filters addObject:[NSString stringWithUTF8String:pattern]]; } NSOpenPanel* panel = [NSOpenPanel openPanel]; @@ -43,13 +45,13 @@ string pBrowserWindow::open(BrowserWindow::State& state) { return result; } -string pBrowserWindow::save(BrowserWindow::State& state) { +auto pBrowserWindow::save(BrowserWindow::State& state) -> string { string result; @autoreleasepool { NSMutableArray* filters = [[NSMutableArray alloc] init]; for(auto& rule : state.filters) { - string pattern = rule.split<1>("(")(1).rtrim(")"); + string pattern = rule.split("(", 1L)(1).rtrim(")", 1L); if(!pattern.empty()) [filters addObject:[NSString stringWithUTF8String:pattern]]; } NSSavePanel* panel = [NSSavePanel savePanel]; @@ -67,3 +69,5 @@ string pBrowserWindow::save(BrowserWindow::State& state) { } } + +#endif diff --git a/hiro/cocoa/browser-window.hpp b/hiro/cocoa/browser-window.hpp index 56563bc7..80e561b1 100644 --- a/hiro/cocoa/browser-window.hpp +++ b/hiro/cocoa/browser-window.hpp @@ -1,9 +1,13 @@ -namespace phoenix { +#if defined(Hiro_BrowserWindow) + +namespace hiro { struct pBrowserWindow { - static string directory(BrowserWindow::State& state); - static string open(BrowserWindow::State& state); - static string save(BrowserWindow::State& state); + static auto directory(BrowserWindow::State& state) -> string; + static auto open(BrowserWindow::State& state) -> string; + static auto save(BrowserWindow::State& state) -> string; }; } + +#endif diff --git a/hiro/cocoa/desktop.cpp b/hiro/cocoa/desktop.cpp index f42cf43c..083c7028 100644 --- a/hiro/cocoa/desktop.cpp +++ b/hiro/cocoa/desktop.cpp @@ -1,18 +1,22 @@ -namespace phoenix { +#if defined(Hiro_Desktop) -Size pDesktop::size() { +namespace hiro { + +auto pDesktop::size() -> Size { @autoreleasepool { NSRect primary = [[[NSScreen screens] objectAtIndex:0] frame]; - return {primary.size.width, primary.size.height}; + return {(int)primary.size.width, (int)primary.size.height}; } } -Geometry pDesktop::workspace() { +auto pDesktop::workspace() -> Geometry { @autoreleasepool { auto screen = Desktop::size(); NSRect area = [[[NSScreen screens] objectAtIndex:0] visibleFrame]; - return {area.origin.x, screen.height - area.size.height - area.origin.y, area.size.width, area.size.height}; + return {(int)area.origin.x, (int)(screen.height() - area.size.height - area.origin.y), (int)area.size.width, (int)area.size.height}; } } } + +#endif diff --git a/hiro/cocoa/desktop.hpp b/hiro/cocoa/desktop.hpp index fed9ab6a..2c179b61 100644 --- a/hiro/cocoa/desktop.hpp +++ b/hiro/cocoa/desktop.hpp @@ -1,8 +1,12 @@ -namespace phoenix { +#if defined(Hiro_Desktop) + +namespace hiro { struct pDesktop { - static Size size(); - static Geometry workspace(); + static auto size() -> Size; + static auto workspace() -> Geometry; }; } + +#endif diff --git a/hiro/cocoa/font.cpp b/hiro/cocoa/font.cpp index bc0780f9..98071895 100644 --- a/hiro/cocoa/font.cpp +++ b/hiro/cocoa/font.cpp @@ -1,59 +1,51 @@ -namespace phoenix { +#if defined(Hiro_Font) -string pFont::serif(unsigned size, string style) { - if(size == 0) size = 8; - if(style == "") style = "Normal"; - return {"Georgia, ", size, ", ", style}; -} +namespace hiro { -string pFont::sans(unsigned size, string style) { - if(size == 0) size = 8; - if(style == "") style = "Normal"; - return {"Lucida Grande, ", size, ", ", style}; -} - -string pFont::monospace(unsigned size, string style) { - if(size == 0) size = 8; - if(style == "") style = "Normal"; - return {"Menlo, ", size, ", ", style}; -} - -Size pFont::size(string font, string text) { +auto pFont::size(const Font& font, const string& text) -> Size { @autoreleasepool { - if(NSFont* nsFont = cocoaFont(font)) { + if(NSFont* nsFont = create(font)) { return size(nsFont, text); } } return {0, 0}; } -NSFont* pFont::cocoaFont(string description) { - lstring part = description.split<2>(",").strip(); +auto pFont::size(NSFont* font, const string& text) -> Size { + @autoreleasepool { + NSString* cocoaText = [NSString stringWithUTF8String:text]; + NSDictionary* fontAttributes = [NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName, nil]; + NSSize size = [cocoaText sizeWithAttributes:fontAttributes]; + return {(int)size.width, (int)size.height}; + } +} - NSString* family = @"Lucida Grande"; +auto pFont::family(const string& family) -> string { + if(family == Font::Sans ) return "Lucida Grande"; + if(family == Font::Serif) return "Georgia"; + if(family == Font::Mono ) return "Menlo"; + return "Lucida Grande"; +} + +auto pFont::create(const Font& font) -> NSFont* { + auto fontName = family(font.family()); + NSString* family = [NSString stringWithUTF8String:fontName]; + CGFloat size = (float)(font.size() ? font.size() : 8); NSFontTraitMask traits = 0; - CGFloat size = 8.0; - if(!part(0).empty()) family = [NSString stringWithUTF8String:part(0)]; - if(!part(1).empty()) size = part(1).natural(); - if(part(2).ifind("bold")) traits |= NSBoldFontMask; - if(part(2).ifind("italic")) traits |= NSItalicFontMask; - if(part(2).ifind("narrow")) traits |= NSNarrowFontMask; - if(part(2).ifind("expanded")) traits |= NSExpandedFontMask; - if(part(2).ifind("condensed")) traits |= NSCondensedFontMask; - if(part(2).ifind("smallcaps")) traits |= NSSmallCapsFontMask; + if(font.bold()) traits |= NSBoldFontMask; + if(font.italic()) traits |= NSItalicFontMask; + +//note: below properties are not exposed by hiro::Font; traits are saved here for possible future use +//if(font.narrow()) traits |= NSNarrowFontMask; +//if(font.expanded()) traits |= NSExpandedFontMask; +//if(font.condensed()) traits |= NSCondensedFontMask; +//if(font.smallCaps()) traits |= NSSmallCapsFontMask; size *= 1.5; //scale to point sizes (for consistency with other operating systems) return [[NSFontManager sharedFontManager] fontWithFamily:family traits:traits weight:5 size:size]; } -Size pFont::size(NSFont* font, string text) { - @autoreleasepool { - NSString* cocoaText = [NSString stringWithUTF8String:text]; - NSDictionary* fontAttributes = [NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName, nil]; - NSSize size = [cocoaText sizeWithAttributes:fontAttributes]; - return {size.width, size.height}; - } } -} +#endif diff --git a/hiro/cocoa/font.hpp b/hiro/cocoa/font.hpp index 1eca0ad9..67f2596e 100644 --- a/hiro/cocoa/font.hpp +++ b/hiro/cocoa/font.hpp @@ -1,13 +1,14 @@ -namespace phoenix { +#if defined(Hiro_Font) + +namespace hiro { struct pFont { - static string serif(unsigned size, string style); - static string sans(unsigned size, string style); - static string monospace(unsigned size, string style); - static Size size(string font, string text); - - static NSFont* cocoaFont(string description); - static Size size(NSFont* font, string text); + static auto size(const Font& font, const string& text) -> Size; + static auto size(NSFont* font, const string& text) -> Size; + static auto family(const string& family) -> string; + static auto create(const Font& font) -> NSFont*; }; } + +#endif diff --git a/hiro/cocoa/group.cpp b/hiro/cocoa/group.cpp new file mode 100644 index 00000000..cbf387ff --- /dev/null +++ b/hiro/cocoa/group.cpp @@ -0,0 +1,13 @@ +#if defined(Hiro_Group) + +namespace hiro { + +auto pGroup::construct() -> void { +} + +auto pGroup::destruct() -> void { +} + +} + +#endif diff --git a/hiro/cocoa/group.hpp b/hiro/cocoa/group.hpp new file mode 100644 index 00000000..fe22c508 --- /dev/null +++ b/hiro/cocoa/group.hpp @@ -0,0 +1,11 @@ +#if defined(Hiro_Group) + +namespace hiro { + +struct pGroup : pObject { + Declare(Group, Object); +}; + +} + +#endif diff --git a/hiro/cocoa/keyboard.cpp b/hiro/cocoa/keyboard.cpp index 9c2f8bb9..46647e28 100644 --- a/hiro/cocoa/keyboard.cpp +++ b/hiro/cocoa/keyboard.cpp @@ -1,14 +1,16 @@ -namespace phoenix { +#if defined(Hiro_Keyboard) -bool pKeyboard::pressed(Keyboard::Scancode scancode) { +namespace hiro { + +auto pKeyboard::poll() -> vector { + vector result; + return result; +} + +auto pKeyboard::pressed(uint code) -> bool { return false; } -vector pKeyboard::state() { - vector output; - output.resize((unsigned)Keyboard::Scancode::Limit); - for(auto& n : output) n = false; - return output; } -} +#endif diff --git a/hiro/cocoa/keyboard.hpp b/hiro/cocoa/keyboard.hpp index 2c0a42ae..e8b8d401 100644 --- a/hiro/cocoa/keyboard.hpp +++ b/hiro/cocoa/keyboard.hpp @@ -1,8 +1,12 @@ -namespace phoenix { +#if defined(Hiro_Keyboard) + +namespace hiro { struct pKeyboard { - static bool pressed(Keyboard::Scancode scancode); - static vector state(); + static auto poll() -> vector; + static auto pressed(uint code) -> bool; }; } + +#endif diff --git a/hiro/cocoa/layout.cpp b/hiro/cocoa/layout.cpp new file mode 100644 index 00000000..01fda4f6 --- /dev/null +++ b/hiro/cocoa/layout.cpp @@ -0,0 +1,15 @@ +#if defined(Hiro_Layout) + +namespace hiro { + +auto pLayout::construct() -> void { + for(auto& sizable : state().sizables) sizable->construct(); +} + +auto pLayout::destruct() -> void { + for(auto& sizable : state().sizables) sizable->destruct(); +} + +} + +#endif diff --git a/hiro/cocoa/layout.hpp b/hiro/cocoa/layout.hpp new file mode 100644 index 00000000..4c7d8e1c --- /dev/null +++ b/hiro/cocoa/layout.hpp @@ -0,0 +1,11 @@ +#if defined(Hiro_Layout) + +namespace hiro { + +struct pLayout : pSizable { + Declare(Layout, Sizable); +}; + +} + +#endif diff --git a/hiro/cocoa/menu-bar.cpp b/hiro/cocoa/menu-bar.cpp new file mode 100644 index 00000000..f57fbff8 --- /dev/null +++ b/hiro/cocoa/menu-bar.cpp @@ -0,0 +1,19 @@ +#if defined(Hiro_MenuBar) + +namespace hiro { + +auto pMenuBar::construct() -> void { +} + +auto pMenuBar::destruct() -> void { +} + +auto pMenuBar::append(sMenu menu) -> void { +} + +auto pMenuBar::remove(sMenu menu) -> void { +} + +} + +#endif diff --git a/hiro/cocoa/menu-bar.hpp b/hiro/cocoa/menu-bar.hpp new file mode 100644 index 00000000..ca1c724b --- /dev/null +++ b/hiro/cocoa/menu-bar.hpp @@ -0,0 +1,14 @@ +#if defined(Hiro_MenuBar) + +namespace hiro { + +struct pMenuBar : pObject { + Declare(MenuBar, Object) + + auto append(sMenu menu) -> void; + auto remove(sMenu menu) -> void; +}; + +} + +#endif diff --git a/hiro/cocoa/message-window.cpp b/hiro/cocoa/message-window.cpp index 98bedcf8..a85e0ce9 100644 --- a/hiro/cocoa/message-window.cpp +++ b/hiro/cocoa/message-window.cpp @@ -1,8 +1,10 @@ -namespace phoenix { +#if defined(Hiro_MessageWindow) -enum class MessageWindowType : unsigned { Error, Information, Question, Warning }; +namespace hiro { -MessageWindow::Response MessageWindow_dialog(MessageWindow::State& state, MessageWindowType type) { +enum class MessageWindowType : uint { Error, Information, Question, Warning }; + +auto MessageWindow_dialog(MessageWindow::State& state, MessageWindowType type) -> MessageWindow::Response { @autoreleasepool { NSAlert* alert = [[[NSAlert alloc] init] autorelease]; if(state.title) [alert setMessageText:[NSString stringWithUTF8String:state.title]]; @@ -60,20 +62,22 @@ MessageWindow::Response MessageWindow_dialog(MessageWindow::State& state, Messag throw; } -MessageWindow::Response pMessageWindow::error(MessageWindow::State& state) { +auto pMessageWindow::error(MessageWindow::State& state) -> MessageWindow::Response { return MessageWindow_dialog(state, MessageWindowType::Error); } -MessageWindow::Response pMessageWindow::information(MessageWindow::State& state) { +auto pMessageWindow::information(MessageWindow::State& state) -> MessageWindow::Response { return MessageWindow_dialog(state, MessageWindowType::Information); } -MessageWindow::Response pMessageWindow::question(MessageWindow::State& state) { +auto pMessageWindow::question(MessageWindow::State& state) -> MessageWindow::Response { return MessageWindow_dialog(state, MessageWindowType::Question); } -MessageWindow::Response pMessageWindow::warning(MessageWindow::State& state) { +auto pMessageWindow::warning(MessageWindow::State& state) -> MessageWindow::Response { return MessageWindow_dialog(state, MessageWindowType::Warning); } } + +#endif diff --git a/hiro/cocoa/message-window.hpp b/hiro/cocoa/message-window.hpp index b73b19e8..b8b26af5 100644 --- a/hiro/cocoa/message-window.hpp +++ b/hiro/cocoa/message-window.hpp @@ -1,10 +1,14 @@ -namespace phoenix { +#if defined(Hiro_MessageWindow) + +namespace hiro { struct pMessageWindow { - static MessageWindow::Response error(MessageWindow::State& state); - static MessageWindow::Response information(MessageWindow::State& state); - static MessageWindow::Response question(MessageWindow::State& state); - static MessageWindow::Response warning(MessageWindow::State& state); + static auto error(MessageWindow::State& state) -> MessageWindow::Response; + static auto information(MessageWindow::State& state) -> MessageWindow::Response; + static auto question(MessageWindow::State& state) -> MessageWindow::Response; + static auto warning(MessageWindow::State& state) -> MessageWindow::Response; }; } + +#endif diff --git a/hiro/cocoa/monitor.cpp b/hiro/cocoa/monitor.cpp index c1b2083c..f6799db5 100644 --- a/hiro/cocoa/monitor.cpp +++ b/hiro/cocoa/monitor.cpp @@ -1,21 +1,25 @@ -namespace phoenix { +#if defined(Hiro_Monitor) -unsigned pMonitor::count() { +namespace hiro { + +auto pMonitor::count() -> uint { @autoreleasepool { return [[NSScreen screens] count]; } } -Geometry pMonitor::geometry(unsigned monitor) { +auto pMonitor::geometry(uint monitor) -> Geometry { @autoreleasepool { NSRect rectangle = [[[NSScreen screens] objectAtIndex:monitor] frame]; - return {rectangle.origin.x, rectangle.origin.y, rectangle.size.width, rectangle.size.height}; + return {(int)rectangle.origin.x, (int)rectangle.origin.y, (int)rectangle.size.width, (int)rectangle.size.height}; } } -unsigned pMonitor::primary() { +auto pMonitor::primary() -> uint { //on OS X, the primary monitor is always the first monitor return 0; } } + +#endif diff --git a/hiro/cocoa/monitor.hpp b/hiro/cocoa/monitor.hpp index 0b5964c0..b41ab72a 100644 --- a/hiro/cocoa/monitor.hpp +++ b/hiro/cocoa/monitor.hpp @@ -1,9 +1,13 @@ -namespace phoenix { +#if defined(Hiro_Monitor) + +namespace hiro { struct pMonitor { - static unsigned count(); - static Geometry geometry(unsigned monitor); - static unsigned primary(); + static auto count() -> uint; + static auto geometry(uint monitor) -> Geometry; + static auto primary() -> uint; }; } + +#endif diff --git a/hiro/cocoa/mouse.cpp b/hiro/cocoa/mouse.cpp index ca5e8556..5bf9f382 100644 --- a/hiro/cocoa/mouse.cpp +++ b/hiro/cocoa/mouse.cpp @@ -1,11 +1,15 @@ -namespace phoenix { +#if defined(Hiro_Mouse) -Position pMouse::position() { +namespace hiro { + +auto pMouse::position() -> Position { return {0, 0}; } -bool pMouse::pressed(Mouse::Button button) { +auto pMouse::pressed(Mouse::Button button) -> bool { return false; } } + +#endif diff --git a/hiro/cocoa/mouse.hpp b/hiro/cocoa/mouse.hpp index 7e21f2ea..72a56058 100644 --- a/hiro/cocoa/mouse.hpp +++ b/hiro/cocoa/mouse.hpp @@ -1,8 +1,12 @@ -namespace phoenix { +#if defined(Hiro_Mouse) + +namespace hiro { struct pMouse { - static Position position(); - static bool pressed(Mouse::Button button); + static auto position() -> Position; + static auto pressed(Mouse::Button button) -> bool; }; } + +#endif diff --git a/hiro/cocoa/object.cpp b/hiro/cocoa/object.cpp index d1397b10..3c6ac442 100644 --- a/hiro/cocoa/object.cpp +++ b/hiro/cocoa/object.cpp @@ -1,9 +1,35 @@ -namespace phoenix { +#if defined(Hiro_Object) -void pObject::constructor() { +namespace hiro { + +auto pObject::construct() -> void { } -void pObject::destructor() { +auto pObject::destruct() -> void { +} + +auto pObject::focused() const -> bool { + return false; +} + +auto pObject::remove() -> void { +} + +auto pObject::reset() -> void { +} + +auto pObject::setEnabled(bool enabled) -> void { +} + +auto pObject::setFocused() -> void { +} + +auto pObject::setFont(const Font& font) -> void { +} + +auto pObject::setVisible(bool visible) -> void { } } + +#endif diff --git a/hiro/cocoa/object.hpp b/hiro/cocoa/object.hpp index 9ea423e3..056ed0b7 100644 --- a/hiro/cocoa/object.hpp +++ b/hiro/cocoa/object.hpp @@ -1,14 +1,31 @@ -namespace phoenix { +#if defined(Hiro_Object) + +namespace hiro { struct pObject { - Object& object; - bool locked; - - pObject(Object& object) : object(object), locked(false) {} + pObject(mObject& reference) : reference(reference) {} virtual ~pObject() {} + auto self() const -> mObject& { return (mObject&)reference; } + auto state() const -> mObject::State& { return self().state; } + virtual auto construct() -> void; + virtual auto destruct() -> void; - void constructor(); - void destructor(); + virtual auto focused() const -> bool; + virtual auto remove() -> void; + virtual auto reset() -> void; + virtual auto setEnabled(bool enabled) -> void; + virtual auto setFocused() -> void; + virtual auto setFont(const Font& font) -> void; + virtual auto setVisible(bool visible) -> void; + + auto locked() const -> bool { return locks != 0; } + auto lock() -> void { ++locks; } + auto unlock() -> void { --locks; } + + mObject& reference; + signed locks = 0; }; } + +#endif diff --git a/hiro/cocoa/platform.cpp b/hiro/cocoa/platform.cpp index 575b0b5a..1da44744 100644 --- a/hiro/cocoa/platform.cpp +++ b/hiro/cocoa/platform.cpp @@ -8,16 +8,25 @@ #include "mouse.cpp" #include "browser-window.cpp" #include "message-window.cpp" + #include "object.cpp" +#include "group.cpp" + #include "timer.cpp" #include "window.cpp" +#include "status-bar.cpp" +#include "menu-bar.cpp" +#include "popup-menu.cpp" #include "action/action.cpp" #include "action/menu.cpp" -#include "action/separator.cpp" -#include "action/item.cpp" -#include "action/check-item.cpp" -#include "action/radio-item.cpp" +#include "action/menu-separator.cpp" +#include "action/menu-item.cpp" +#include "action/menu-check-item.cpp" +#include "action/menu-radio-item.cpp" + +#include "sizable.cpp" +#include "layout.cpp" #include "widget/widget.cpp" #include "widget/button.cpp" @@ -25,20 +34,26 @@ #include "widget/check-button.cpp" #include "widget/check-label.cpp" #include "widget/combo-button.cpp" +#include "widget/combo-button-item.cpp" #include "widget/console.cpp" #include "widget/frame.cpp" #include "widget/hex-edit.cpp" -#include "widget/horizontal-scroller.cpp" +#include "widget/horizontal-scroll-bar.cpp" #include "widget/horizontal-slider.cpp" #include "widget/label.cpp" #include "widget/line-edit.cpp" #include "widget/list-view.cpp" +#include "widget/list-view-header.cpp" +#include "widget/list-view-column.cpp" +#include "widget/list-view-item.cpp" +#include "widget/list-view-cell.cpp" #include "widget/progress-bar.cpp" #include "widget/radio-button.cpp" #include "widget/radio-label.cpp" #include "widget/tab-frame.cpp" +#include "widget/tab-frame-item.cpp" #include "widget/text-edit.cpp" -#include "widget/vertical-scroller.cpp" +#include "widget/vertical-scroll-bar.cpp" #include "widget/vertical-slider.cpp" #include "widget/viewport.cpp" diff --git a/hiro/cocoa/platform.hpp b/hiro/cocoa/platform.hpp index 059f7799..324d6c0f 100644 --- a/hiro/cocoa/platform.hpp +++ b/hiro/cocoa/platform.hpp @@ -1,4 +1,4 @@ -namespace phoenix { +namespace hiro { struct pFont; struct pWindow; struct pMenu; @@ -6,6 +6,13 @@ namespace phoenix { struct pWidget; } +#define Declare(Name, Base) \ + p##Name(m##Name& reference) : p##Base(reference) {} \ + auto self() const -> m##Name& { return (m##Name&)reference; } \ + auto state() const -> m##Name::State& { return self().state; } \ + auto construct() -> void override; \ + auto destruct() -> void override; \ + #include "font.hpp" #include "desktop.hpp" #include "monitor.hpp" @@ -13,40 +20,55 @@ namespace phoenix { #include "mouse.hpp" #include "browser-window.hpp" #include "message-window.hpp" + #include "object.hpp" +#include "group.hpp" + #include "timer.hpp" #include "window.hpp" +#include "status-bar.hpp" +#include "menu-bar.hpp" +#include "popup-menu.hpp" #include "action/action.hpp" #include "action/menu.hpp" -#include "action/separator.hpp" -#include "action/item.hpp" -#include "action/check-item.hpp" -#include "action/radio-item.hpp" +#include "action/menu-separator.hpp" +#include "action/menu-item.hpp" +#include "action/menu-check-item.hpp" +#include "action/menu-radio-item.hpp" + +#include "sizable.hpp" +#include "layout.hpp" -#include "widget/sizable.hpp" -#include "widget/layout.hpp" #include "widget/widget.hpp" #include "widget/button.hpp" #include "widget/canvas.hpp" #include "widget/check-button.hpp" #include "widget/check-label.hpp" #include "widget/combo-button.hpp" +#include "widget/combo-button-item.hpp" #include "widget/console.hpp" #include "widget/frame.hpp" #include "widget/hex-edit.hpp" -#include "widget/horizontal-scroller.hpp" +#include "widget/horizontal-scroll-bar.hpp" #include "widget/horizontal-slider.hpp" #include "widget/label.hpp" #include "widget/line-edit.hpp" #include "widget/list-view.hpp" +#include "widget/list-view-header.hpp" +#include "widget/list-view-column.hpp" +#include "widget/list-view-item.hpp" +#include "widget/list-view-cell.hpp" #include "widget/progress-bar.hpp" #include "widget/radio-button.hpp" #include "widget/radio-label.hpp" #include "widget/tab-frame.hpp" +#include "widget/tab-frame-item.hpp" #include "widget/text-edit.hpp" -#include "widget/vertical-scroller.hpp" +#include "widget/vertical-scroll-bar.hpp" #include "widget/vertical-slider.hpp" #include "widget/viewport.hpp" +#undef Declare + #include "application.hpp" diff --git a/hiro/cocoa/popup-menu.cpp b/hiro/cocoa/popup-menu.cpp new file mode 100644 index 00000000..fa8c1976 --- /dev/null +++ b/hiro/cocoa/popup-menu.cpp @@ -0,0 +1,22 @@ +#if defined(Hiro_PopupMenu) + +namespace hiro { + +auto pPopupMenu::construct() -> void { +} + +auto pPopupMenu::destruct() -> void { +} + +auto pPopupMenu::append(sAction action) -> void { +} + +auto pPopupMenu::remove(sAction action) -> void { +} + +auto pPopupMenu::setVisible(bool visible) -> void { +} + +} + +#endif diff --git a/hiro/cocoa/popup-menu.hpp b/hiro/cocoa/popup-menu.hpp new file mode 100644 index 00000000..4b692ce2 --- /dev/null +++ b/hiro/cocoa/popup-menu.hpp @@ -0,0 +1,15 @@ +#if defined(Hiro_PopupMenu) + +namespace hiro { + +struct pPopupMenu : pObject { + Declare(PopupMenu, Object) + + auto append(sAction action) -> void; + auto remove(sAction action) -> void; + auto setVisible(bool visible) -> void; +}; + +} + +#endif diff --git a/hiro/cocoa/sizable.cpp b/hiro/cocoa/sizable.cpp new file mode 100644 index 00000000..4e793ab3 --- /dev/null +++ b/hiro/cocoa/sizable.cpp @@ -0,0 +1,20 @@ +#if defined(Hiro_Sizable) + +namespace hiro { + +auto pSizable::construct() -> void { +} + +auto pSizable::destruct() -> void { +} + +auto pSizable::minimumSize() const -> Size { + return {0, 0}; +} + +auto pSizable::setGeometry(Geometry geometry) -> void { +} + +} + +#endif diff --git a/hiro/cocoa/sizable.hpp b/hiro/cocoa/sizable.hpp new file mode 100644 index 00000000..5270283f --- /dev/null +++ b/hiro/cocoa/sizable.hpp @@ -0,0 +1,14 @@ +#if defined(Hiro_Sizable) + +namespace hiro { + +struct pSizable : pObject { + Declare(Sizable, Object) + + virtual auto minimumSize() const -> Size; + virtual auto setGeometry(Geometry geometry) -> void; +}; + +} + +#endif diff --git a/hiro/cocoa/status-bar.cpp b/hiro/cocoa/status-bar.cpp new file mode 100644 index 00000000..393cad5a --- /dev/null +++ b/hiro/cocoa/status-bar.cpp @@ -0,0 +1,16 @@ +#if defined(Hiro_StatusBar) + +namespace hiro { + +auto pStatusBar::construct() -> void { +} + +auto pStatusBar::destruct() -> void { +} + +auto pStatusBar::setText(const string& text) -> void { +} + +} + +#endif diff --git a/hiro/cocoa/status-bar.hpp b/hiro/cocoa/status-bar.hpp new file mode 100644 index 00000000..23ffa3b6 --- /dev/null +++ b/hiro/cocoa/status-bar.hpp @@ -0,0 +1,13 @@ +#if defined(Hiro_StatusBar) + +namespace hiro { + +struct pStatusBar : pObject { + Declare(StatusBar, Object) + + auto setText(const string& text) -> void; +}; + +} + +#endif diff --git a/hiro/cocoa/timer.cpp b/hiro/cocoa/timer.cpp index a3eea720..82cfed60 100644 --- a/hiro/cocoa/timer.cpp +++ b/hiro/cocoa/timer.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_Timer) + @implementation CocoaTimer : NSObject --(id) initWith:(phoenix::Timer&)timerReference { +-(id) initWith:(hiro::mTimer&)timerReference { if(self = [super init]) { timer = &timerReference; instance = nil; @@ -17,7 +19,7 @@ [instance invalidate]; instance = nil; } - if(timer->state.enabled == false) return; + if(!timer->enabled()) return; instance = [NSTimer scheduledTimerWithTimeInterval:timer->state.interval / 1000.0 target:self selector:@selector(run:) userInfo:nil repeats:YES @@ -25,36 +27,38 @@ } -(void) run:(NSTimer*)instance { - if(timer->onActivate) timer->onActivate(); + timer->doActivate(); } @end -namespace phoenix { +namespace hiro { -void pTimer::setEnabled(bool enabled) { +auto pTimer::construct() -> void { @autoreleasepool { - [cocoaTimer update]; + cocoaTimer = [[CocoaTimer alloc] initWith:self()]; } } -void pTimer::setInterval(unsigned interval) { - @autoreleasepool { - [cocoaTimer update]; - } -} - -void pTimer::constructor() { - @autoreleasepool { - cocoaTimer = [[CocoaTimer alloc] initWith:timer]; - } -} - -void pTimer::destructor() { +auto pTimer::destruct() -> void { @autoreleasepool { if([cocoaTimer instance]) [[cocoaTimer instance] invalidate]; [cocoaTimer release]; } } +auto pTimer::setEnabled(bool enabled) -> void { + @autoreleasepool { + [cocoaTimer update]; + } } + +auto pTimer::setInterval(uint interval) -> void { + @autoreleasepool { + [cocoaTimer update]; + } +} + +} + +#endif diff --git a/hiro/cocoa/timer.hpp b/hiro/cocoa/timer.hpp index 15617332..d8fd3372 100644 --- a/hiro/cocoa/timer.hpp +++ b/hiro/cocoa/timer.hpp @@ -1,26 +1,27 @@ +#if defined(Hiro_Timer) + @interface CocoaTimer : NSObject { @public - phoenix::Timer* timer; + hiro::mTimer* timer; NSTimer* instance; } --(id) initWith:(phoenix::Timer&)timer; +-(id) initWith:(hiro::mTimer&)timer; -(NSTimer*) instance; -(void) update; -(void) run:(NSTimer*)instance; @end -namespace phoenix { +namespace hiro { + +struct pTimer : pObject { + Declare(Timer, Object) + + auto setEnabled(bool enabled) -> void; + auto setInterval(uint interval) -> void; -struct pTimer : public pObject { - Timer& timer; CocoaTimer* cocoaTimer = nullptr; - - void setEnabled(bool enabled); - void setInterval(unsigned interval); - - pTimer(Timer& timer) : pObject(timer), timer(timer) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/utility.cpp b/hiro/cocoa/utility.cpp index 25cb06cb..32c12dfc 100644 --- a/hiro/cocoa/utility.cpp +++ b/hiro/cocoa/utility.cpp @@ -1,22 +1,40 @@ -NSImage* NSMakeImage(nall::image image, unsigned width = 0, unsigned height = 0) { - if(image.empty()) return nil; - if(width && height) image.scale(width, height, Interpolation::Linear); - image.transform(0, 32, 255u << 24, 255u << 0, 255u << 8, 255u << 16); - NSImage* cocoaImage = [[[NSImage alloc] initWithSize:NSMakeSize(image.width, image.height)] autorelease]; +auto NSMakeImage(hiro::Image image, uint scaleWidth = 0, uint scaleHeight = 0) -> NSImage* { + if(!image.state.data) return nil; + + //convert ARGB8888 to ABGR8888 + auto p = image.data(); + for(auto n : range(image.width() * image.height())) { + uint32 color = *p; + color = (color & 0xff00ff00) | ((color & 0xff0000) >> 16) | ((color & 0x0000ff) << 16); + *p++ = color; + } + + //create NSImage from memory + NSImage* cocoaImage = [[[NSImage alloc] initWithSize:NSMakeSize(image.width(), image.height())] autorelease]; NSBitmapImageRep* bitmap = [[[NSBitmapImageRep alloc] initWithBitmapDataPlanes:nil - pixelsWide:image.width pixelsHigh:image.height + pixelsWide:image.width() pixelsHigh:image.height() bitsPerSample:8 samplesPerPixel:4 hasAlpha:YES isPlanar:NO colorSpaceName:NSCalibratedRGBColorSpace bitmapFormat:NSAlphaNonpremultipliedBitmapFormat - bytesPerRow:image.pitch bitsPerPixel:32 + bytesPerRow:4*image.width() bitsPerPixel:32 ] autorelease]; - memcpy([bitmap bitmapData], image.data, image.height * image.pitch); + memory::copy([bitmap bitmapData], image.data(), 4 * image.width() * image.height()); [cocoaImage addRepresentation:bitmap]; - return cocoaImage; + if(!scaleWidth || !scaleHeight) return cocoaImage; + + //scale image + [cocoaImage setScalesWhenResized:YES]; + NSImage* scaleImage = [[[NSImage alloc] initWithSize:NSMakeSize(scaleWidth, scaleHeight)] autorelease]; + [scaleImage lockFocus]; + [cocoaImage setSize:NSMakeSize(scaleWidth, scaleHeight)]; + [[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationHigh]; + [cocoaImage drawAtPoint:NSZeroPoint fromRect:CGRectMake(0, 0, scaleWidth, scaleHeight) operation:NSCompositeCopy fraction:1.0]; + [scaleImage unlockFocus]; + return scaleImage; } -NSDragOperation DropPathsOperation(id sender) { +auto DropPathsOperation(id sender) -> NSDragOperation { NSPasteboard* pboard = [sender draggingPasteboard]; if([[pboard types] containsObject:NSFilenamesPboardType]) { if([sender draggingSourceOperationMask] & NSDragOperationGeneric) { @@ -26,12 +44,12 @@ NSDragOperation DropPathsOperation(id sender) { return NSDragOperationNone; } -lstring DropPaths(id sender) { +auto DropPaths(id sender) -> lstring { lstring paths; NSPasteboard* pboard = [sender draggingPasteboard]; if([[pboard types] containsObject:NSFilenamesPboardType]) { NSArray* files = [pboard propertyListForType:NSFilenamesPboardType]; - for(unsigned n = 0; n < [files count]; n++) { + for(uint n = 0; n < [files count]; n++) { string path = [[files objectAtIndex:n] UTF8String]; if(directory::exists(path) && !path.endsWith("/")) path.append("/"); paths.append(path); diff --git a/hiro/cocoa/widget/button.cpp b/hiro/cocoa/widget/button.cpp index 3114c7b1..527829fb 100644 --- a/hiro/cocoa/widget/button.cpp +++ b/hiro/cocoa/widget/button.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_Button) + @implementation CocoaButton : NSButton --(id) initWith:(phoenix::Button&)buttonReference { +-(id) initWith:(hiro::mButton&)buttonReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { button = &buttonReference; [self setTarget:self]; @@ -12,69 +14,81 @@ } -(IBAction) activate:(id)sender { - if(button->onActivate) button->onActivate(); + button->doActivate(); } @end -namespace phoenix { +namespace hiro { -Size pButton::minimumSize() { - Size size = Font::size(button.font(), button.state.text); - - if(button.state.orientation == Orientation::Horizontal) { - size.width += button.state.image.width; - size.height = max(button.state.image.height, size.height); - } - - if(button.state.orientation == Orientation::Vertical) { - size.width = max(button.state.image.width, size.width); - size.height += button.state.image.height; - } - - return {size.width + (button.state.text ? 20 : 4), size.height + 4}; -} - -void pButton::setBordered(bool bordered) { -} - -void pButton::setGeometry(Geometry geometry) { - pWidget::setGeometry({ - geometry.x - 2, geometry.y - 2, - geometry.width + 4, geometry.height + 4 - }); -} - -void pButton::setImage(const image& image, Orientation orientation) { +auto pButton::construct() -> void { @autoreleasepool { - if(image.empty()) { - [cocoaView setImage:nil]; - return; - } + cocoaView = cocoaButton = [[CocoaButton alloc] initWith:self()]; + pWidget::construct(); - [cocoaView setImage:NSMakeImage(image)]; - - if(orientation == Orientation::Horizontal) [cocoaView setImagePosition:NSImageLeft]; - if(orientation == Orientation::Vertical ) [cocoaView setImagePosition:NSImageAbove]; + setBordered(state().bordered); + setImage(state().image); + setOrientation(state().orientation); + setText(state().text); } } -void pButton::setText(string text) { - @autoreleasepool { - [cocoaView setTitle:[NSString stringWithUTF8String:text]]; - } -} - -void pButton::constructor() { - @autoreleasepool { - cocoaView = cocoaButton = [[CocoaButton alloc] initWith:button]; - } -} - -void pButton::destructor() { +auto pButton::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pButton::minimumSize() const -> Size { + Size size = pFont::size(self().font(true), state().text); + + if(state().orientation == Orientation::Horizontal) { + size.setWidth(size.width() + state().image.width()); + size.setHeight(max(size.height(), state().image.height())); + } + + if(state().orientation == Orientation::Vertical) { + size.setWidth(max(size.width(), state().image.width())); + size.setHeight(size.height() + state().image.height()); + } + + return {size.width() + (state().text ? 20 : 4), size.height() + 4}; } + +auto pButton::setBordered(bool bordered) -> void { +} + +auto pButton::setGeometry(Geometry geometry) -> void { + pWidget::setGeometry({ + geometry.x() - 2, geometry.y() - 2, + geometry.width() + 4, geometry.height() + 4 + }); +} + +auto pButton::setImage(const Image& image) -> void { + @autoreleasepool { + if(!image) { + [cocoaView setImage:nil]; + return; + } + + [cocoaView setImage:NSMakeImage(image)]; + } +} + +auto pButton::setOrientation(Orientation orientation) -> void { + @autoreleasepool { + if(orientation == Orientation::Horizontal) [cocoaView setImagePosition:NSImageLeft]; + if(orientation == Orientation::Vertical ) [cocoaView setImagePosition:NSImageAbove]; + } +} + +auto pButton::setText(const string& text) -> void { + @autoreleasepool { + [cocoaView setTitle:[NSString stringWithUTF8String:text]]; + } +} + +} + +#endif diff --git a/hiro/cocoa/widget/button.hpp b/hiro/cocoa/widget/button.hpp index 62f16361..2b2177d9 100644 --- a/hiro/cocoa/widget/button.hpp +++ b/hiro/cocoa/widget/button.hpp @@ -1,26 +1,28 @@ +#if defined(Hiro_Button) + @interface CocoaButton : NSButton { @public - phoenix::Button* button; + hiro::mButton* button; } --(id) initWith:(phoenix::Button&)button; +-(id) initWith:(hiro::mButton&)button; -(IBAction) activate:(id)sender; @end -namespace phoenix { +namespace hiro { + +struct pButton : pWidget { + Declare(Button, Widget) + + auto minimumSize() const -> Size override; + auto setBordered(bool bordered) -> void; + auto setGeometry(Geometry geometry) -> void override; + auto setImage(const Image& image) -> void; + auto setOrientation(Orientation orientation) -> void; + auto setText(const string& text) -> void; -struct pButton : public pWidget { - Button& button; CocoaButton* cocoaButton = nullptr; - - Size minimumSize(); - void setBordered(bool bordered); - void setGeometry(Geometry geometry); - void setImage(const image& image, Orientation orientation); - void setText(string text); - - pButton(Button& button) : pWidget(button), button(button) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/canvas.cpp b/hiro/cocoa/widget/canvas.cpp index cc6fe974..7ba3993a 100644 --- a/hiro/cocoa/widget/canvas.cpp +++ b/hiro/cocoa/widget/canvas.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_Canvas) + @implementation CocoaCanvas : NSImageView --(id) initWith:(phoenix::Canvas&)canvasReference { +-(id) initWith:(hiro::mCanvas&)canvasReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { canvas = &canvasReference; [self setEditable:NO]; //disable image drag-and-drop functionality @@ -20,11 +22,12 @@ -(BOOL) performDragOperation:(id)sender { lstring paths = DropPaths(sender); if(paths.empty()) return NO; - if(canvas->onDrop) canvas->onDrop(paths); + canvas->doDrop(paths); return YES; } -(void) mouseButton:(NSEvent*)event down:(BOOL)isDown { +/* if(auto& callback = isDown ? canvas->onMousePress : canvas->onMouseRelease) { switch([event buttonNumber]) { case 0: return callback(phoenix::Mouse::Button::Left); @@ -32,16 +35,17 @@ case 2: return callback(phoenix::Mouse::Button::Middle); } } +*/ } -(void) mouseExited:(NSEvent*)event { - if(canvas->onMouseLeave) canvas->onMouseLeave(); + canvas->doMouseLeave(); } -(void) mouseMove:(NSEvent*)event { if([event window] == nil) return; NSPoint location = [self convertPoint:[event locationInWindow] fromView:nil]; - if(canvas->onMouseMove) canvas->onMouseMove({location.x, [self frame].size.height - 1 - location.y}); + canvas->doMouseMove({(int)location.x, (int)([self frame].size.height - 1 - location.y)}); } -(void) mouseDown:(NSEvent*)event { @@ -82,9 +86,31 @@ @end -namespace phoenix { +namespace hiro { -void pCanvas::setDroppable(bool droppable) { +auto pCanvas::construct() -> void { + @autoreleasepool { + cocoaView = cocoaCanvas = [[CocoaCanvas alloc] initWith:self()]; + pWidget::construct(); + + setDroppable(state().droppable); + } +} + +auto pCanvas::destruct() -> void { + @autoreleasepool { + [cocoaView release]; + } +} + +auto pCanvas::minimumSize() const -> Size { + return {0, 0}; +} + +auto pCanvas::setColor(Color color) -> void { +} + +auto pCanvas::setDroppable(bool droppable) -> void { @autoreleasepool { if(droppable) { [cocoaCanvas registerForDraggedTypes:[NSArray arrayWithObject:NSFilenamesPboardType]]; @@ -94,11 +120,12 @@ void pCanvas::setDroppable(bool droppable) { } } -void pCanvas::setGeometry(Geometry geometry) { +auto pCanvas::setGeometry(Geometry geometry) -> void { +/* if(canvas.state.width == 0 || canvas.state.height == 0) rasterize(); - unsigned width = canvas.state.width; - unsigned height = canvas.state.height; + uint width = canvas.state.width; + uint height = canvas.state.height; if(width == 0) width = widget.state.geometry.width; if(height == 0) height = widget.state.geometry.height; @@ -111,32 +138,22 @@ void pCanvas::setGeometry(Geometry geometry) { geometry.y += (geometry.height - height) / 2; geometry.height = height; } +*/ pWidget::setGeometry(geometry); } -void pCanvas::setMode(Canvas::Mode mode) { - rasterize(), redraw(); +auto pCanvas::setGradient(Gradient gradient) -> void { } -void pCanvas::setSize(Size size) { - rasterize(), redraw(); +auto pCanvas::setImage(const Image& image) -> void { } -void pCanvas::constructor() { - @autoreleasepool { - cocoaView = cocoaCanvas = [[CocoaCanvas alloc] initWith:canvas]; - } - setSize(canvas.size()); +auto pCanvas::update() -> void { } -void pCanvas::destructor() { - @autoreleasepool { - [cocoaView release]; - } -} - -void pCanvas::rasterize() { +auto pCanvas::_rasterize() -> void { +/* @autoreleasepool { unsigned width = canvas.state.width; unsigned height = canvas.state.height; @@ -203,12 +220,15 @@ void pCanvas::rasterize() { } } } +*/ } -void pCanvas::redraw() { +auto pCanvas::_redraw() -> void { @autoreleasepool { [cocoaView setNeedsDisplay:YES]; } } } + +#endif diff --git a/hiro/cocoa/widget/canvas.hpp b/hiro/cocoa/widget/canvas.hpp index fb728350..414f458a 100644 --- a/hiro/cocoa/widget/canvas.hpp +++ b/hiro/cocoa/widget/canvas.hpp @@ -1,8 +1,10 @@ +#if defined(Hiro_Canvas) + @interface CocoaCanvas : NSImageView { @public - phoenix::Canvas* canvas; + hiro::mCanvas* canvas; } --(id) initWith:(phoenix::Canvas&)canvas; +-(id) initWith:(hiro::mCanvas&)canvas; -(NSDragOperation) draggingEntered:(id)sender; -(BOOL) performDragOperation:(id)sender; -(void) mouseButton:(NSEvent*)event down:(BOOL)isDown; @@ -19,24 +21,27 @@ -(void) otherMouseDragged:(NSEvent*)event; @end -namespace phoenix { +namespace hiro { + +struct pCanvas : pWidget { + Declare(Canvas, Widget) + + auto minimumSize() const -> Size; + auto setColor(Color color) -> void; + auto setDroppable(bool droppable) -> void; + auto setGeometry(Geometry geometry) -> void override; + auto setGradient(Gradient gradient) -> void; + auto setImage(const Image& image) -> void; + auto update() -> void; + + auto _rasterize() -> void; + auto _redraw() -> void; -struct pCanvas : public pWidget { - Canvas& canvas; CocoaCanvas* cocoaCanvas = nullptr; - unsigned surfaceWidth = 0; - unsigned surfaceHeight = 0; - - void setDroppable(bool droppable); - void setGeometry(Geometry geometry); - void setMode(Canvas::Mode mode); - void setSize(Size size); - - pCanvas(Canvas& canvas) : pWidget(canvas), canvas(canvas) {} - void constructor(); - void destructor(); - void rasterize(); - void redraw(); + uint surfaceWidth = 0; + uint surfaceHeight = 0; }; } + +#endif diff --git a/hiro/cocoa/widget/check-button.cpp b/hiro/cocoa/widget/check-button.cpp index 2c38f591..0cecdacb 100644 --- a/hiro/cocoa/widget/check-button.cpp +++ b/hiro/cocoa/widget/check-button.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_CheckButton) + @implementation CocoaCheckButton : NSButton --(id) initWith:(phoenix::CheckButton&)checkButtonReference { +-(id) initWith:(hiro::mCheckButton&)checkButtonReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { checkButton = &checkButtonReference; @@ -14,72 +16,88 @@ -(IBAction) activate:(id)sender { checkButton->state.checked = [self state] != NSOffState; - if(checkButton->onToggle) checkButton->onToggle(); + checkButton->doToggle(); } @end -namespace phoenix { +namespace hiro { -Size pCheckButton::minimumSize() { - Size size = Font::size(checkButton.font(), checkButton.state.text); - - if(checkButton.state.orientation == Orientation::Horizontal) { - size.width += checkButton.state.image.width; - size.height = max(checkButton.state.image.height, size.height); - } - - if(checkButton.state.orientation == Orientation::Vertical) { - size.width = max(checkButton.state.image.width, size.width); - size.height += checkButton.state.image.height; - } - - return {size.width + 20, size.height + 4}; -} - -void pCheckButton::setChecked(bool checked) { +auto pCheckButton::construct() -> void { @autoreleasepool { - [cocoaView setState:checked ? NSOnState : NSOffState]; + cocoaView = cocoaCheckButton = [[CocoaCheckButton alloc] initWith:self()]; + pWidget::construct(); + + setBordered(state().bordered); + setChecked(state().checked); + setImage(state().image); + setOrientation(state().orientation); + setText(state().text); } } -void pCheckButton::setGeometry(Geometry geometry) { - pWidget::setGeometry({ - geometry.x - 2, geometry.y - 2, - geometry.width + 4, geometry.height + 4 - }); -} - -void pCheckButton::setImage(const image& image, Orientation orientation) { - @autoreleasepool { - if(image.empty()) { - [cocoaView setImage:nil]; - return; - } - - [cocoaView setImage:NSMakeImage(image)]; - - if(orientation == Orientation::Horizontal) [cocoaView setImagePosition:NSImageLeft]; - if(orientation == Orientation::Vertical ) [cocoaView setImagePosition:NSImageAbove]; - } -} - -void pCheckButton::setText(string text) { - @autoreleasepool { - [cocoaView setTitle:[NSString stringWithUTF8String:text]]; - } -} - -void pCheckButton::constructor() { - @autoreleasepool { - cocoaView = cocoaCheckButton = [[CocoaCheckButton alloc] initWith:checkButton]; - } -} - -void pCheckButton::destructor() { +auto pCheckButton::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pCheckButton::minimumSize() const -> Size { + Size size = pFont::size(self().font(true), state().text); + + if(state().orientation == Orientation::Horizontal) { + size.setWidth(size.width() + state().image.width()); + size.setHeight(max(size.height(), state().image.height())); + } + + if(state().orientation == Orientation::Vertical) { + size.setWidth(max(size.width(), state().image.width())); + size.setHeight(size.height() + state().image.height()); + } + + return {size.width() + 20, size.height() + 4}; } + +auto pCheckButton::setBordered(bool bordered) -> void { +} + +auto pCheckButton::setChecked(bool checked) -> void { + @autoreleasepool { + [cocoaView setState:checked ? NSOnState : NSOffState]; + } +} + +auto pCheckButton::setGeometry(Geometry geometry) -> void { + pWidget::setGeometry({ + geometry.x() - 2, geometry.y() - 2, + geometry.width() + 4, geometry.height() + 4 + }); +} + +auto pCheckButton::setImage(const Image& image) -> void { + @autoreleasepool { + if(!image) { + [cocoaView setImage:nil]; + return; + } + + [cocoaView setImage:NSMakeImage(image)]; + } +} + +auto pCheckButton::setOrientation(Orientation orientation) -> void { + @autoreleasepool { + if(orientation == Orientation::Horizontal) [cocoaView setImagePosition:NSImageLeft]; + if(orientation == Orientation::Vertical ) [cocoaView setImagePosition:NSImageAbove]; + } +} + +auto pCheckButton::setText(const string& text) -> void { + @autoreleasepool { + [cocoaView setTitle:[NSString stringWithUTF8String:text]]; + } +} + +} + +#endif diff --git a/hiro/cocoa/widget/check-button.hpp b/hiro/cocoa/widget/check-button.hpp index 11dca24b..ae74bfb3 100644 --- a/hiro/cocoa/widget/check-button.hpp +++ b/hiro/cocoa/widget/check-button.hpp @@ -1,26 +1,29 @@ +#if defined(Hiro_CheckButton) + @interface CocoaCheckButton : NSButton { @public - phoenix::CheckButton* checkButton; + hiro::mCheckButton* checkButton; } --(id) initWith:(phoenix::CheckButton&)checkButton; +-(id) initWith:(hiro::mCheckButton&)checkButton; -(IBAction) activate:(id)sender; @end -namespace phoenix { +namespace hiro { + +struct pCheckButton : pWidget { + Declare(CheckButton, Widget) + + auto minimumSize() const -> Size override; + auto setBordered(bool bordered) -> void; + auto setChecked(bool checked) -> void; + auto setGeometry(Geometry geometry) -> void override; + auto setImage(const Image& image) -> void; + auto setOrientation(Orientation orientation) -> void; + auto setText(const string& text) -> void; -struct pCheckButton : public pWidget { - CheckButton& checkButton; CocoaCheckButton* cocoaCheckButton = nullptr; - - Size minimumSize(); - void setChecked(bool checked); - void setGeometry(Geometry geometry); - void setImage(const image& image, Orientation orientation); - void setText(string text); - - pCheckButton(CheckButton& checkButton) : pWidget(checkButton), checkButton(checkButton) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/check-label.cpp b/hiro/cocoa/widget/check-label.cpp index 6978d962..3378e646 100644 --- a/hiro/cocoa/widget/check-label.cpp +++ b/hiro/cocoa/widget/check-label.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_CheckLabel) + @implementation CocoaCheckLabel : NSButton --(id) initWith:(phoenix::CheckLabel&)checkLabelReference { +-(id) initWith:(hiro::mCheckLabel&)checkLabelReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { checkLabel = &checkLabelReference; @@ -13,49 +15,53 @@ -(IBAction) activate:(id)sender { checkLabel->state.checked = [self state] != NSOffState; - if(checkLabel->onToggle) checkLabel->onToggle(); + checkLabel->doToggle(); } @end -namespace phoenix { +namespace hiro { -Size pCheckLabel::minimumSize() { - Size size = Font::size(checkLabel.font(), checkLabel.state.text); - return {size.width + 20, size.height}; -} - -void pCheckLabel::setChecked(bool checked) { +auto pCheckLabel::construct() -> void { @autoreleasepool { - [cocoaView setState:checked ? NSOnState : NSOffState]; + cocoaView = cocoaCheckLabel = [[CocoaCheckLabel alloc] initWith:self()]; + pWidget::construct(); + + setChecked(state().checked); + setText(state().text); } } -void pCheckLabel::setGeometry(Geometry geometry) { - pWidget::setGeometry({ - geometry.x - 2, geometry.y, - geometry.width + 4, geometry.height - }); -} - -void pCheckLabel::setText(string text) { - @autoreleasepool { - [cocoaView setTitle:[NSString stringWithUTF8String:text]]; - } -} - -void pCheckLabel::constructor() { - @autoreleasepool { - cocoaView = cocoaCheckLabel = [[CocoaCheckLabel alloc] initWith:checkLabel]; - setChecked(checkLabel.state.checked); - setText(checkLabel.state.text); - } -} - -void pCheckLabel::destructor() { +auto pCheckLabel::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pCheckLabel::minimumSize() const -> Size { + Size size = pFont::size(self().font(true), state().text); + return {size.width() + 20, size.height()}; } + +auto pCheckLabel::setChecked(bool checked) -> void { + @autoreleasepool { + [cocoaView setState:checked ? NSOnState : NSOffState]; + } +} + +auto pCheckLabel::setGeometry(Geometry geometry) -> void { + pWidget::setGeometry({ + geometry.x() - 2, geometry.y(), + geometry.width() + 4, geometry.height() + }); +} + +auto pCheckLabel::setText(const string& text) -> void { + @autoreleasepool { + [cocoaView setTitle:[NSString stringWithUTF8String:text]]; + } +} + +} + +#endif diff --git a/hiro/cocoa/widget/check-label.hpp b/hiro/cocoa/widget/check-label.hpp index 4fdcf659..2f8f2d3e 100644 --- a/hiro/cocoa/widget/check-label.hpp +++ b/hiro/cocoa/widget/check-label.hpp @@ -1,25 +1,26 @@ +#if defined(Hiro_CheckLabel) + @interface CocoaCheckLabel : NSButton { @public - phoenix::CheckLabel* checkLabel; + hiro::mCheckLabel* checkLabel; } --(id) initWith:(phoenix::CheckLabel&)checkLabel; +-(id) initWith:(hiro::mCheckLabel&)checkLabel; -(IBAction) activate:(id)sender; @end -namespace phoenix { +namespace hiro { + +struct pCheckLabel : pWidget { + Declare(CheckLabel, Widget) + + auto minimumSize() const -> Size override; + auto setChecked(bool checked) -> void; + auto setGeometry(Geometry geometry) -> void; + auto setText(const string& text) -> void; -struct pCheckLabel : public pWidget { - CheckLabel& checkLabel; CocoaCheckLabel* cocoaCheckLabel = nullptr; - - Size minimumSize(); - void setChecked(bool checked); - void setGeometry(Geometry geometry); - void setText(string text); - - pCheckLabel(CheckLabel& checkLabel) : pWidget(checkLabel), checkLabel(checkLabel) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/combo-button-item.cpp b/hiro/cocoa/widget/combo-button-item.cpp new file mode 100644 index 00000000..97d72210 --- /dev/null +++ b/hiro/cocoa/widget/combo-button-item.cpp @@ -0,0 +1,39 @@ +#if defined(Hiro_ComboButton) + +namespace hiro { + +auto pComboButtonItem::construct() -> void { +} + +auto pComboButtonItem::destruct() -> void { +} + +auto pComboButtonItem::setImage(const Image& icon) -> void { +} + +auto pComboButtonItem::setSelected() -> void { + @autoreleasepool { + if(auto parent = _parent()) { + [parent->cocoaView selectItemAtIndex:self().offset()]; + } + } +} + +auto pComboButtonItem::setText(const string& text) -> void { + @autoreleasepool { + if(auto parent = _parent()) { + [[parent->cocoaView itemAtIndex:self().offset()] setTitle:[NSString stringWithUTF8String:text]]; + } + } +} + +auto pComboButtonItem::_parent() -> maybe { + if(auto parent = self().parentComboButton()) { + if(auto self = parent->self()) return *self; + } + return nothing; +} + +} + +#endif diff --git a/hiro/cocoa/widget/combo-button-item.hpp b/hiro/cocoa/widget/combo-button-item.hpp new file mode 100644 index 00000000..1a3c0965 --- /dev/null +++ b/hiro/cocoa/widget/combo-button-item.hpp @@ -0,0 +1,17 @@ +#if defined(Hiro_ComboButton) + +namespace hiro { + +struct pComboButtonItem : pObject { + Declare(ComboButtonItem, Object) + + auto setImage(const Image& icon) -> void; + auto setSelected() -> void; + auto setText(const string& text) -> void; + + auto _parent() -> maybe; +}; + +} + +#endif diff --git a/hiro/cocoa/widget/combo-button.cpp b/hiro/cocoa/widget/combo-button.cpp index 47330096..70ee2e5b 100644 --- a/hiro/cocoa/widget/combo-button.cpp +++ b/hiro/cocoa/widget/combo-button.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_ComboButton) + @implementation CocoaComboButton : NSPopUpButton --(id) initWith:(phoenix::ComboButton&)comboButtonReference { +-(id) initWith:(hiro::mComboButton&)comboButtonReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0) pullsDown:NO]) { comboButton = &comboButtonReference; @@ -11,68 +13,68 @@ } -(IBAction) activate:(id)sender { - comboButton->state.selection = [self indexOfSelectedItem]; - if(comboButton->onChange) comboButton->onChange(); + if(auto p = comboButton->self()) p->_updateSelected([self indexOfSelectedItem]); + comboButton->doChange(); } @end -namespace phoenix { +namespace hiro { -void pComboButton::append(string text) { +auto pComboButton::construct() -> void { @autoreleasepool { - [cocoaView addItemWithTitle:[NSString stringWithUTF8String:text]]; + cocoaView = cocoaComboButton = [[CocoaComboButton alloc] initWith:self()]; + pWidget::construct(); } } -Size pComboButton::minimumSize() { - unsigned maximumWidth = 0; - for(auto& text : comboButton.state.text) maximumWidth = max(maximumWidth, Font::size(comboButton.font(), text).width); - Size size = Font::size(comboButton.font(), " "); - return {maximumWidth + 36, size.height + 6}; -} - -void pComboButton::remove(unsigned selection) { - @autoreleasepool { - [cocoaView removeItemAtIndex:selection]; - } -} - -void pComboButton::reset() { - @autoreleasepool { - [cocoaView removeAllItems]; - } -} - -void pComboButton::setGeometry(Geometry geometry) { - pWidget::setGeometry({ - geometry.x - 2, geometry.y, - geometry.width + 4, geometry.height - }); -} - -void pComboButton::setSelection(unsigned selection) { - @autoreleasepool { - [cocoaView selectItemAtIndex:selection]; - } -} - -void pComboButton::setText(unsigned selection, string text) { - @autoreleasepool { - [[cocoaView itemAtIndex:selection] setTitle:[NSString stringWithUTF8String:text]]; - } -} - -void pComboButton::constructor() { - @autoreleasepool { - cocoaView = cocoaComboButton = [[CocoaComboButton alloc] initWith:comboButton]; - } -} - -void pComboButton::destructor() { +auto pComboButton::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pComboButton::append(sComboButtonItem item) -> void { + @autoreleasepool { + [cocoaView addItemWithTitle:[NSString stringWithUTF8String:item->text()]]; + } } + +auto pComboButton::minimumSize() const -> Size { + auto font = self().font(true); + int maximumWidth = 0; + for(auto& item : state().items) { + maximumWidth = max(maximumWidth, pFont::size(font, item->state.text).width()); + } + Size size = pFont::size(font, " "); + return {maximumWidth + 36, size.height() + 6}; +} + +auto pComboButton::remove(sComboButtonItem item) -> void { + @autoreleasepool { + [cocoaView removeItemAtIndex:item->offset()]; + } +} + +auto pComboButton::reset() -> void { + @autoreleasepool { + [cocoaView removeAllItems]; + } +} + +auto pComboButton::setGeometry(Geometry geometry) -> void { + pWidget::setGeometry({ + geometry.x() - 2, geometry.y(), + geometry.width() + 4, geometry.height() + }); +} + +auto pComboButton::_updateSelected(signed selected) -> void { + for(auto& item : state().items) { + item->state.selected = item->offset() == selected; + } +} + +} + +#endif diff --git a/hiro/cocoa/widget/combo-button.hpp b/hiro/cocoa/widget/combo-button.hpp index 500f17cc..042de0c5 100644 --- a/hiro/cocoa/widget/combo-button.hpp +++ b/hiro/cocoa/widget/combo-button.hpp @@ -1,28 +1,29 @@ +#if defined(Hiro_ComboButton) + @interface CocoaComboButton : NSPopUpButton { @public - phoenix::ComboButton* comboButton; + hiro::mComboButton* comboButton; } --(id) initWith:(phoenix::ComboButton&)comboButton; +-(id) initWith:(hiro::mComboButton&)comboButton; -(IBAction) activate:(id)sender; @end -namespace phoenix { +namespace hiro { + +struct pComboButton : pWidget { + Declare(ComboButton, Widget) + + auto append(sComboButtonItem item) -> void; + auto minimumSize() const -> Size override; + auto remove(sComboButtonItem item) -> void; + auto reset() -> void; + auto setGeometry(Geometry geometry) -> void override; + + auto _updateSelected(signed selected) -> void; -struct pComboButton : public pWidget { - ComboButton& comboButton; CocoaComboButton* cocoaComboButton = nullptr; - - void append(string text); - Size minimumSize(); - void remove(unsigned selection); - void reset(); - void setGeometry(Geometry geometry); - void setSelection(unsigned selection); - void setText(unsigned selection, string text); - - pComboButton(ComboButton& comboButton) : pWidget(comboButton), comboButton(comboButton) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/console.cpp b/hiro/cocoa/widget/console.cpp index 0e983e5f..5b363045 100644 --- a/hiro/cocoa/widget/console.cpp +++ b/hiro/cocoa/widget/console.cpp @@ -1,3 +1,5 @@ +#if defined(Hiro_Console) + @implementation CocoaConsole : NSScrollView -(id) initWith:(phoenix::Console&)consoleReference { @@ -9,7 +11,7 @@ @end -namespace phoenix { +namespace hiro { void pConsole::print(string text) { } @@ -39,3 +41,5 @@ void pConsole::destructor() { } } + +#endif diff --git a/hiro/cocoa/widget/console.hpp b/hiro/cocoa/widget/console.hpp index 65391e2a..fa42a991 100644 --- a/hiro/cocoa/widget/console.hpp +++ b/hiro/cocoa/widget/console.hpp @@ -1,3 +1,5 @@ +#if defined(Hiro_Console) + @interface CocoaConsole : NSScrollView { @public phoenix::Console* console; @@ -5,7 +7,7 @@ -(id) initWith:(phoenix::Console&)console; @end -namespace phoenix { +namespace hiro { struct pConsole : public pWidget { Console& console; @@ -23,3 +25,5 @@ struct pConsole : public pWidget { }; } + +#endif diff --git a/hiro/cocoa/widget/frame.cpp b/hiro/cocoa/widget/frame.cpp index ebf6b96b..21186dac 100644 --- a/hiro/cocoa/widget/frame.cpp +++ b/hiro/cocoa/widget/frame.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_Frame) + @implementation CocoaFrame : NSBox --(id) initWith:(phoenix::Frame&)frameReference { +-(id) initWith:(hiro::mFrame&)frameReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { frame = &frameReference; @@ -11,58 +13,69 @@ @end -namespace phoenix { +namespace hiro { -void pFrame::setEnabled(bool enabled) { - if(frame.state.layout) frame.state.layout->setEnabled(frame.state.layout->enabled()); - pWidget::setEnabled(enabled); -} - -void pFrame::setFont(string font) { +auto pFrame::construct() -> void { @autoreleasepool { - [cocoaView setTitleFont:pFont::cocoaFont(font)]; + cocoaView = cocoaFrame = [[CocoaFrame alloc] initWith:self()]; + pWidget::construct(); + + setText(state().text); } } -void pFrame::setGeometry(Geometry geometry) { - bool empty = frame.state.text.empty(); - Size size = Font::size(frame.font(), frame.state.text); - pWidget::setGeometry({ - geometry.x - 3, geometry.y - (empty ? size.height - 2 : 1), - geometry.width + 6, geometry.height + (empty ? size.height + 2 : 5) - }); - if(frame.state.layout == nullptr) return; - geometry.x += 1, geometry.y += (empty ? 1 : size.height - 2); - geometry.width -= 2, geometry.height -= (empty ? 1 : size.height - 1); - frame.state.layout->setGeometry(geometry); -} - -void pFrame::setText(string text) { - @autoreleasepool { - [cocoaView setTitle:[NSString stringWithUTF8String:text]]; - } -} - -void pFrame::setVisible(bool visible) { - if(frame.state.layout) frame.state.layout->setVisible(frame.state.layout->visible()); - pWidget::setVisible(visible); -} - -void pFrame::constructor() { - @autoreleasepool { - cocoaView = cocoaFrame = [[CocoaFrame alloc] initWith:frame]; - } -} - -void pFrame::destructor() { +auto pFrame::destruct() -> void { @autoreleasepool { [cocoaView release]; } } -void pFrame::orphan() { - destructor(); - constructor(); +auto pFrame::setEnabled(bool enabled) -> void { + if(auto layout = _layout()) layout->setEnabled(layout->self().enabled(true)); + pWidget::setEnabled(enabled); +} + +auto pFrame::setFont(const Font& font) -> void { + @autoreleasepool { + if(auto layout = _layout()) layout->setFont(layout->self().font(true)); + [cocoaView setTitleFont:pFont::create(font)]; + } +} + +auto pFrame::setGeometry(Geometry geometry) -> void { + bool empty = !state().text; + Size size = pFont::size(self().font(true), state().text); + pWidget::setGeometry({ + geometry.x() - 3, geometry.y() - (empty ? size.height() - 2 : 1), + geometry.width() + 6, geometry.height() + (empty ? size.height() + 2 : 5) + }); + if(auto layout = _layout()) { + geometry.setX(geometry.x() + 1); + geometry.setY(geometry.y() + (empty ? 1 : size.height() - 2)); + geometry.setWidth(geometry.width() - 2); + geometry.setHeight(geometry.height() - (empty ? 1 : size.height() - 1)); + layout->setGeometry(geometry); + } +} + +auto pFrame::setText(const string& text) -> void { + @autoreleasepool { + [cocoaView setTitle:[NSString stringWithUTF8String:text]]; + } +} + +auto pFrame::setVisible(bool visible) -> void { + if(auto layout = _layout()) layout->setVisible(layout->self().visible(true)); + pWidget::setVisible(visible); +} + +auto pFrame::_layout() -> maybe { + if(auto layout = state().layout) { + if(auto self = layout->self()) return *self; + } + return nothing; } } + +#endif diff --git a/hiro/cocoa/widget/frame.hpp b/hiro/cocoa/widget/frame.hpp index b5f220c2..94db247e 100644 --- a/hiro/cocoa/widget/frame.hpp +++ b/hiro/cocoa/widget/frame.hpp @@ -1,26 +1,28 @@ +#if defined(Hiro_Frame) + @interface CocoaFrame : NSBox { @public - phoenix::Frame* frame; + hiro::mFrame* frame; } --(id) initWith:(phoenix::Frame&)frame; +-(id) initWith:(hiro::mFrame&)frame; @end -namespace phoenix { +namespace hiro { + +struct pFrame : pWidget { + Declare(Frame, Widget) + + auto setEnabled(bool enabled) -> void override; + auto setFont(const Font& font) -> void override; + auto setGeometry(Geometry geometry) -> void override; + auto setText(const string& text) -> void; + auto setVisible(bool visible) -> void override; + + auto _layout() -> maybe; -struct pFrame : public pWidget { - Frame& frame; CocoaFrame* cocoaFrame = nullptr; - - void setEnabled(bool enabled); - void setFont(string font); - void setGeometry(Geometry geometry); - void setText(string text); - void setVisible(bool visible); - - pFrame(Frame& frame) : pWidget(frame), frame(frame) {} - void constructor(); - void destructor(); - void orphan(); }; } + +#endif diff --git a/hiro/cocoa/widget/hex-edit.cpp b/hiro/cocoa/widget/hex-edit.cpp index 65e50702..5cea6256 100644 --- a/hiro/cocoa/widget/hex-edit.cpp +++ b/hiro/cocoa/widget/hex-edit.cpp @@ -1,3 +1,5 @@ +#if defined(Hiro_HexEdit) + @implementation CocoaHexEdit : NSScrollView -(id) initWith:(phoenix::HexEdit&)hexEditReference { @@ -9,7 +11,7 @@ @end -namespace phoenix { +namespace hiro { void pHexEdit::setBackgroundColor(Color color) { } @@ -45,3 +47,5 @@ void pHexEdit::destructor() { } } + +#endif diff --git a/hiro/cocoa/widget/hex-edit.hpp b/hiro/cocoa/widget/hex-edit.hpp index e144c5e8..b78755eb 100644 --- a/hiro/cocoa/widget/hex-edit.hpp +++ b/hiro/cocoa/widget/hex-edit.hpp @@ -1,3 +1,5 @@ +#if defined(Hiro_HexEdit) + @interface CocoaHexEdit : NSScrollView { @public phoenix::HexEdit* hexEdit; @@ -5,7 +7,7 @@ -(id) initWith:(phoenix::HexEdit&)hexEdit; @end -namespace phoenix { +namespace hiro { struct pHexEdit : public pWidget { HexEdit& hexEdit; @@ -25,3 +27,5 @@ struct pHexEdit : public pWidget { }; } + +#endif diff --git a/hiro/cocoa/widget/horizontal-scroller.cpp b/hiro/cocoa/widget/horizontal-scroll-bar.cpp similarity index 51% rename from hiro/cocoa/widget/horizontal-scroller.cpp rename to hiro/cocoa/widget/horizontal-scroll-bar.cpp index d91770cd..41585b88 100644 --- a/hiro/cocoa/widget/horizontal-scroller.cpp +++ b/hiro/cocoa/widget/horizontal-scroll-bar.cpp @@ -1,8 +1,10 @@ -@implementation CocoaHorizontalScroller : NSScroller +#if defined(Hiro_HorizontalScrollBar) --(id) initWith:(phoenix::HorizontalScroller&)horizontalScrollerReference { +@implementation CocoaHorizontalScrollBar : NSScroller + +-(id) initWith:(hiro::mHorizontalScrollBar&)horizontalScrollBarReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 1, 0)]) { - horizontalScroller = &horizontalScrollerReference; + horizontalScrollBar = &horizontalScrollBarReference; [self setTarget:self]; [self setAction:@selector(scroll:)]; @@ -17,15 +19,15 @@ } -(void) update { - double d = 1.0 / horizontalScroller->state.length; - double f = d * horizontalScroller->state.position; + double d = 1.0 / horizontalScrollBar->state.length; + double f = d * horizontalScrollBar->state.position; [self setDoubleValue:f]; [self setKnobProportion:d]; } -(IBAction) scroll:(id)sender { - auto& state = horizontalScroller->state; + auto& state = horizontalScrollBar->state; switch([self hitPart]) { case NSScrollerIncrementLine: @@ -45,41 +47,47 @@ break; } - if(horizontalScroller->onChange) horizontalScroller->onChange(); + horizontalScrollBar->doChange(); } @end -namespace phoenix { +namespace hiro { -Size pHorizontalScroller::minimumSize() { +auto pHorizontalScrollBar::construct() -> void { @autoreleasepool { - return {32, [NSScroller scrollerWidthForControlSize:NSRegularControlSize scrollerStyle:NSScrollerStyleLegacy]}; + cocoaView = cocoaHorizontalScrollBar = [[CocoaHorizontalScrollBar alloc] initWith:self()]; + pWidget::construct(); + + setLength(state().length); + setPosition(state().position); } } -void pHorizontalScroller::setLength(unsigned length) { - @autoreleasepool { - [cocoaView update]; - } -} - -void pHorizontalScroller::setPosition(unsigned position) { - @autoreleasepool { - [cocoaView update]; - } -} - -void pHorizontalScroller::constructor() { - @autoreleasepool { - cocoaView = cocoaHorizontalScroller = [[CocoaHorizontalScroller alloc] initWith:horizontalScroller]; - } -} - -void pHorizontalScroller::destructor() { +auto pHorizontalScrollBar::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pHorizontalScrollBar::minimumSize() const -> Size { + @autoreleasepool { + return {32, (int)[NSScroller scrollerWidthForControlSize:NSRegularControlSize scrollerStyle:NSScrollerStyleLegacy]}; + } } + +auto pHorizontalScrollBar::setLength(uint length) -> void { + @autoreleasepool { + [cocoaView update]; + } +} + +auto pHorizontalScrollBar::setPosition(uint position) -> void { + @autoreleasepool { + [cocoaView update]; + } +} + +} + +#endif diff --git a/hiro/cocoa/widget/horizontal-scroll-bar.hpp b/hiro/cocoa/widget/horizontal-scroll-bar.hpp new file mode 100644 index 00000000..b80cc649 --- /dev/null +++ b/hiro/cocoa/widget/horizontal-scroll-bar.hpp @@ -0,0 +1,26 @@ +#if defined(Hiro_HorizontalScrollBar) + +@interface CocoaHorizontalScrollBar : NSScroller { +@public + hiro::mHorizontalScrollBar* horizontalScrollBar; +} +-(id) initWith:(hiro::mHorizontalScrollBar&)horizontalScrollBar; +-(void) update; +-(IBAction) scroll:(id)sender; +@end + +namespace hiro { + +struct pHorizontalScrollBar : pWidget { + Declare(HorizontalScrollBar, Widget) + + auto minimumSize() const -> Size override; + auto setLength(uint length) -> void; + auto setPosition(uint position) -> void; + + CocoaHorizontalScrollBar* cocoaHorizontalScrollBar = nullptr; +}; + +} + +#endif diff --git a/hiro/cocoa/widget/horizontal-scroller.hpp b/hiro/cocoa/widget/horizontal-scroller.hpp deleted file mode 100644 index 1603edca..00000000 --- a/hiro/cocoa/widget/horizontal-scroller.hpp +++ /dev/null @@ -1,25 +0,0 @@ -@interface CocoaHorizontalScroller : NSScroller { -@public - phoenix::HorizontalScroller* horizontalScroller; -} --(id) initWith:(phoenix::HorizontalScroller&)horizontalScroller; --(void) update; --(IBAction) scroll:(id)sender; -@end - -namespace phoenix { - -struct pHorizontalScroller : public pWidget { - HorizontalScroller& horizontalScroller; - CocoaHorizontalScroller* cocoaHorizontalScroller = nullptr; - - Size minimumSize(); - void setLength(unsigned length); - void setPosition(unsigned position); - - pHorizontalScroller(HorizontalScroller& horizontalScroller) : pWidget(horizontalScroller), horizontalScroller(horizontalScroller) {} - void constructor(); - void destructor(); -}; - -} diff --git a/hiro/cocoa/widget/horizontal-slider.cpp b/hiro/cocoa/widget/horizontal-slider.cpp index ca801a4c..d0c90f8c 100644 --- a/hiro/cocoa/widget/horizontal-slider.cpp +++ b/hiro/cocoa/widget/horizontal-slider.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_HorizontalSlider) + @implementation CocoaHorizontalSlider : NSSlider --(id) initWith:(phoenix::HorizontalSlider&)horizontalSliderReference { +-(id) initWith:(hiro::mHorizontalSlider&)horizontalSliderReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 1, 0)]) { horizontalSlider = &horizontalSliderReference; @@ -13,49 +15,52 @@ -(IBAction) activate:(id)sender { horizontalSlider->state.position = [self doubleValue]; - if(horizontalSlider->onChange) horizontalSlider->onChange(); + horizontalSlider->doChange(); } @end -namespace phoenix { +namespace hiro { -Size pHorizontalSlider::minimumSize() { - return {48, 20}; -} - -void pHorizontalSlider::setGeometry(Geometry geometry) { - pWidget::setGeometry({ - geometry.x - 2, geometry.y, - geometry.width + 4, geometry.height - }); -} - -void pHorizontalSlider::setLength(unsigned length) { +auto pHorizontalSlider::construct() -> void { @autoreleasepool { - [cocoaView setMaxValue:length]; + cocoaView = cocoaHorizontalSlider = [[CocoaHorizontalSlider alloc] initWith:self()]; + pWidget::construct(); + + setLength(state().length); + setPosition(state().position); } } -void pHorizontalSlider::setPosition(unsigned position) { - @autoreleasepool { - [cocoaView setDoubleValue:position]; - } -} - -void pHorizontalSlider::constructor() { - @autoreleasepool { - cocoaView = cocoaHorizontalSlider = [[CocoaHorizontalSlider alloc] initWith:horizontalSlider]; - - setLength(horizontalSlider.state.length); - setPosition(horizontalSlider.state.position); - } -} - -void pHorizontalSlider::destructor() { +auto pHorizontalSlider::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pHorizontalSlider::minimumSize() const -> Size { + return {48, 20}; } + +auto pHorizontalSlider::setGeometry(Geometry geometry) -> void { + pWidget::setGeometry({ + geometry.x() - 2, geometry.y(), + geometry.width() + 4, geometry.height() + }); +} + +auto pHorizontalSlider::setLength(uint length) -> void { + @autoreleasepool { + [cocoaView setMaxValue:length]; + } +} + +auto pHorizontalSlider::setPosition(uint position) -> void { + @autoreleasepool { + [cocoaView setDoubleValue:position]; + } +} + +} + +#endif diff --git a/hiro/cocoa/widget/horizontal-slider.hpp b/hiro/cocoa/widget/horizontal-slider.hpp index 595d7521..b8d4b0da 100644 --- a/hiro/cocoa/widget/horizontal-slider.hpp +++ b/hiro/cocoa/widget/horizontal-slider.hpp @@ -1,25 +1,26 @@ +#if defined(Hiro_HorizontalSlider) + @interface CocoaHorizontalSlider : NSSlider { @public - phoenix::HorizontalSlider* horizontalSlider; + hiro::mHorizontalSlider* horizontalSlider; } --(id) initWith:(phoenix::HorizontalSlider&)horizontalSlider; +-(id) initWith:(hiro::mHorizontalSlider&)horizontalSlider; -(IBAction) activate:(id)sender; @end -namespace phoenix { +namespace hiro { + +struct pHorizontalSlider : pWidget { + Declare(HorizontalSlider, Widget) + + auto minimumSize() const -> Size override; + auto setGeometry(Geometry geometry) -> void; + auto setLength(uint length) -> void; + auto setPosition(uint position) -> void; -struct pHorizontalSlider : public pWidget { - HorizontalSlider& horizontalSlider; CocoaHorizontalSlider* cocoaHorizontalSlider = nullptr; - - Size minimumSize(); - void setGeometry(Geometry geometry); - void setLength(unsigned length); - void setPosition(unsigned position); - - pHorizontalSlider(HorizontalSlider& horizontalSlider) : pWidget(horizontalSlider), horizontalSlider(horizontalSlider) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/label.cpp b/hiro/cocoa/widget/label.cpp index a1a7218a..e83253c6 100644 --- a/hiro/cocoa/widget/label.cpp +++ b/hiro/cocoa/widget/label.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_Label) + @implementation CocoaLabel : NSTextField --(id) initWith:(phoenix::Label&)labelReference { +-(id) initWith:(hiro::mLabel&)labelReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { label = &labelReference; @@ -14,49 +16,54 @@ @end -namespace phoenix { +namespace hiro { -Size pLabel::minimumSize() { - Size size = Font::size(label.font(), label.state.text); - return {size.width, size.height}; -} - -void pLabel::setGeometry(Geometry geometry) { - //NSTextField does not support vertical text centering: - //simulate this by adjusting the geometry placement (reduce height, move view down) - unsigned height = Font::size(label.font(), " ").height; - unsigned widgetHeight = geometry.height + 4; //+4 compensates for margin adjust - auto offset = geometry; - - if(widgetHeight > height) { - unsigned diff = widgetHeight - height; - offset.y += diff >> 1; - offset.height -= diff >> 1; - } - - pWidget::setGeometry({ - offset.x - 3, offset.y - 3, - offset.width + 6, offset.height + 6 - }); -} - -void pLabel::setText(string text) { +auto pLabel::construct() -> void { @autoreleasepool { - [cocoaView setStringValue:[NSString stringWithUTF8String:text]]; + cocoaView = cocoaLabel = [[CocoaLabel alloc] initWith:self()]; + pWidget::construct(); + + setText(state().text); } } -void pLabel::constructor() { - @autoreleasepool { - cocoaView = cocoaLabel = [[CocoaLabel alloc] initWith:label]; - setText(label.state.text); - } -} - -void pLabel::destructor() { +auto pLabel::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pLabel::minimumSize() const -> Size { + return pFont::size(self().font(true), state().text); } + +auto pLabel::setAlignment(Alignment alignment) -> void { +} + +auto pLabel::setGeometry(Geometry geometry) -> void { + //NSTextField does not support vertical text centering: + //simulate this by adjusting the geometry placement (reduce height, move view down) + uint height = pFont::size(self().font(true), " ").height(); + auto offset = geometry; + + if(geometry.height() > height) { + uint diff = geometry.height() - height; + offset.setY(offset.y() + diff >> 1); + offset.setHeight(offset.height() - diff >> 1); + } + + pWidget::setGeometry({ + offset.x() - 3, offset.y() - 3, + offset.width() + 6, offset.height() + 6 + }); +} + +auto pLabel::setText(const string& text) -> void { + @autoreleasepool { + [cocoaView setStringValue:[NSString stringWithUTF8String:text]]; + } +} + +} + +#endif diff --git a/hiro/cocoa/widget/label.hpp b/hiro/cocoa/widget/label.hpp index e1d87d06..db079544 100644 --- a/hiro/cocoa/widget/label.hpp +++ b/hiro/cocoa/widget/label.hpp @@ -1,23 +1,25 @@ +#if defined(Hiro_Label) + @interface CocoaLabel : NSTextField { @public - phoenix::Label* label; + hiro::mLabel* label; } --(id) initWith:(phoenix::Label&)label; +-(id) initWith:(hiro::mLabel&)label; @end -namespace phoenix { +namespace hiro { + +struct pLabel : pWidget { + Declare(Label, Widget) + + auto minimumSize() const -> Size override; + auto setAlignment(Alignment alignment) -> void; + auto setGeometry(Geometry geometry) -> void override; + auto setText(const string& text) -> void; -struct pLabel : public pWidget { - Label& label; CocoaLabel* cocoaLabel = nullptr; - - Size minimumSize(); - void setGeometry(Geometry geometry); - void setText(string text); - - pLabel(Label& label) : pWidget(label), label(label) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/layout.hpp b/hiro/cocoa/widget/layout.hpp deleted file mode 100644 index 45b0d2d5..00000000 --- a/hiro/cocoa/widget/layout.hpp +++ /dev/null @@ -1,9 +0,0 @@ -namespace phoenix { - -struct pLayout : public pSizable { - Layout& layout; - - pLayout(Layout& layout) : pSizable(layout), layout(layout) {} -}; - -} diff --git a/hiro/cocoa/widget/line-edit.cpp b/hiro/cocoa/widget/line-edit.cpp index 8538ab35..e41621fc 100644 --- a/hiro/cocoa/widget/line-edit.cpp +++ b/hiro/cocoa/widget/line-edit.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_LineEdit) + @implementation CocoaLineEdit : NSTextField --(id) initWith:(phoenix::LineEdit&)lineEditReference { +-(id) initWith:(hiro::mLineEdit&)lineEditReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { lineEdit = &lineEditReference; @@ -15,57 +17,66 @@ } -(void) textDidChange:(NSNotification*)n { - if(lineEdit->onChange) lineEdit->onChange(); + lineEdit->doChange(); } -(IBAction) activate:(id)sender { - if(lineEdit->onActivate) lineEdit->onActivate(); + lineEdit->doActivate(); } @end -namespace phoenix { +namespace hiro { -Size pLineEdit::minimumSize() { - Size size = Font::size(lineEdit.font(), lineEdit.state.text); - return {size.width + 10, size.height + 8}; -} - -void pLineEdit::setBackgroundColor(Color color) { -} - -void pLineEdit::setEditable(bool editable) { +auto pLineEdit::construct() -> void { @autoreleasepool { - [cocoaView setEditable:editable]; + cocoaView = cocoaLineEdit = [[CocoaLineEdit alloc] initWith:self()]; + pWidget::construct(); + + setBackgroundColor(state().backgroundColor); + setEditable(state().editable); + setForegroundColor(state().foregroundColor); + setText(state().text); } } -void pLineEdit::setForegroundColor(Color color) { -} - -void pLineEdit::setText(string text) { - @autoreleasepool { - [cocoaView setStringValue:[NSString stringWithUTF8String:text]]; - } -} - -string pLineEdit::text() { - @autoreleasepool { - return [[cocoaView stringValue] UTF8String]; - } -} - -void pLineEdit::constructor() { - @autoreleasepool { - cocoaView = cocoaLineEdit = [[CocoaLineEdit alloc] initWith:lineEdit]; - setEditable(lineEdit.state.editable); - } -} - -void pLineEdit::destructor() { +auto pLineEdit::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pLineEdit::minimumSize() const -> Size { + Size size = pFont::size(self().font(true), state().text); + return {size.width() + 10, size.height() + 8}; } + +auto pLineEdit::setBackgroundColor(Color color) -> void { +} + +auto pLineEdit::setEditable(bool editable) -> void { + @autoreleasepool { + [cocoaView setEditable:editable]; + } +} + +auto pLineEdit::setForegroundColor(Color color) -> void { +} + +auto pLineEdit::setText(const string& text) -> void { + @autoreleasepool { + [cocoaView setStringValue:[NSString stringWithUTF8String:text]]; + } +} + +/* +auto pLineEdit::text() const -> string { + @autoreleasepool { + return [[cocoaView stringValue] UTF8String]; + } +} +*/ + +} + +#endif diff --git a/hiro/cocoa/widget/line-edit.hpp b/hiro/cocoa/widget/line-edit.hpp index ab985304..c3fec79f 100644 --- a/hiro/cocoa/widget/line-edit.hpp +++ b/hiro/cocoa/widget/line-edit.hpp @@ -1,28 +1,28 @@ +#if defined(Hiro_LineEdit) + @interface CocoaLineEdit : NSTextField { @public - phoenix::LineEdit* lineEdit; + hiro::mLineEdit* lineEdit; } --(id) initWith:(phoenix::LineEdit&)lineEdit; +-(id) initWith:(hiro::mLineEdit&)lineEdit; -(void) textDidChange:(NSNotification*)n; -(IBAction) activate:(id)sender; @end -namespace phoenix { +namespace hiro { + +struct pLineEdit : pWidget { + Declare(LineEdit, Widget) + + auto minimumSize() const -> Size override; + auto setBackgroundColor(Color color) -> void; + auto setEditable(bool editable) -> void; + auto setForegroundColor(Color color) -> void; + auto setText(const string& text) -> void; -struct pLineEdit : public pWidget { - LineEdit& lineEdit; CocoaLineEdit* cocoaLineEdit = nullptr; - - Size minimumSize(); - void setBackgroundColor(Color color); - void setEditable(bool editable); - void setForegroundColor(Color color); - void setText(string text); - string text(); - - pLineEdit(LineEdit& lineEdit) : pWidget(lineEdit), lineEdit(lineEdit) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/list-view-cell.cpp b/hiro/cocoa/widget/list-view-cell.cpp new file mode 100644 index 00000000..8dc815ef --- /dev/null +++ b/hiro/cocoa/widget/list-view-cell.cpp @@ -0,0 +1,34 @@ +#if defined(Hiro_ListView) + +namespace hiro { + +auto pListViewCell::construct() -> void { +} + +auto pListViewCell::destruct() -> void { +} + +auto pListViewCell::setAlignment(Alignment alignment) -> void { +} + +auto pListViewCell::setBackgroundColor(Color color) -> void { +} + +auto pListViewCell::setCheckable(bool checkable) -> void { +} + +auto pListViewCell::setChecked(bool checked) -> void { +} + +auto pListViewCell::setForegroundColor(Color color) -> void { +} + +auto pListViewCell::setImage(const Image& image) -> void { +} + +auto pListViewCell::setText(const string& text) -> void { +} + +} + +#endif diff --git a/hiro/cocoa/widget/list-view-cell.hpp b/hiro/cocoa/widget/list-view-cell.hpp new file mode 100644 index 00000000..ab07e337 --- /dev/null +++ b/hiro/cocoa/widget/list-view-cell.hpp @@ -0,0 +1,19 @@ +#if defined(Hiro_ListView) + +namespace hiro { + +struct pListViewCell : pObject { + Declare(ListViewCell, Object) + + auto setAlignment(Alignment alignment) -> void; + auto setBackgroundColor(Color color) -> void; + auto setCheckable(bool checkable) -> void; + auto setChecked(bool checked) -> void; + auto setForegroundColor(Color color) -> void; + auto setImage(const Image& image) -> void; + auto setText(const string& text) -> void; +}; + +} + +#endif diff --git a/hiro/cocoa/widget/list-view-column.cpp b/hiro/cocoa/widget/list-view-column.cpp new file mode 100644 index 00000000..7649fff3 --- /dev/null +++ b/hiro/cocoa/widget/list-view-column.cpp @@ -0,0 +1,58 @@ +#if defined(Hiro_ListView) + +namespace hiro { + +auto pListViewColumn::construct() -> void { +} + +auto pListViewColumn::destruct() -> void { +} + +auto pListViewColumn::setActive() -> void { +} + +auto pListViewColumn::setAlignment(Alignment alignment) -> void { +} + +auto pListViewColumn::setBackgroundColor(Color color) -> void { +} + +auto pListViewColumn::setEditable(bool editable) -> void { +} + +auto pListViewColumn::setExpandable(bool expandable) -> void { +} + +auto pListViewColumn::setFont(const Font& font) -> void { +} + +auto pListViewColumn::setForegroundColor(Color color) -> void { +} + +auto pListViewColumn::setHorizontalAlignment(double alignment) -> void { +} + +auto pListViewColumn::setImage(const Image& image) -> void { +} + +auto pListViewColumn::setResizable(bool resizable) -> void { +} + +auto pListViewColumn::setSortable(bool sortable) -> void { +} + +auto pListViewColumn::setText(const string& text) -> void { +} + +auto pListViewColumn::setVerticalAlignment(double alignment) -> void { +} + +auto pListViewColumn::setVisible(bool visible) -> void { +} + +auto pListViewColumn::setWidth(signed width) -> void { +} + +} + +#endif diff --git a/hiro/cocoa/widget/list-view-column.hpp b/hiro/cocoa/widget/list-view-column.hpp new file mode 100644 index 00000000..81365cec --- /dev/null +++ b/hiro/cocoa/widget/list-view-column.hpp @@ -0,0 +1,27 @@ +#if defined(Hiro_ListView) + +namespace hiro { + +struct pListViewColumn : pObject { + Declare(ListViewColumn, Object) + + auto setActive() -> void; + auto setAlignment(Alignment alignment) -> void; + auto setBackgroundColor(Color color) -> void; + auto setEditable(bool editable) -> void; + auto setExpandable(bool expandable) -> void; + auto setFont(const Font& font) -> void override; + auto setForegroundColor(Color color) -> void; + auto setHorizontalAlignment(double) -> void; + auto setImage(const Image& image) -> void; + auto setResizable(bool resizable) -> void; + auto setSortable(bool sortable) -> void; + auto setText(const string& text) -> void; + auto setVerticalAlignment(double) -> void; + auto setVisible(bool visible) -> void override; + auto setWidth(signed width) -> void; +}; + +} + +#endif diff --git a/hiro/cocoa/widget/list-view-header.cpp b/hiro/cocoa/widget/list-view-header.cpp new file mode 100644 index 00000000..323d8de3 --- /dev/null +++ b/hiro/cocoa/widget/list-view-header.cpp @@ -0,0 +1,19 @@ +#if defined(Hiro_ListView) + +namespace hiro { + +auto pListViewHeader::construct() -> void { +} + +auto pListViewHeader::destruct() -> void { +} + +auto pListViewHeader::append(sListViewColumn column) -> void { +} + +auto pListViewHeader::remove(sListViewColumn column) -> void { +} + +} + +#endif diff --git a/hiro/cocoa/widget/list-view-header.hpp b/hiro/cocoa/widget/list-view-header.hpp new file mode 100644 index 00000000..7cb3251b --- /dev/null +++ b/hiro/cocoa/widget/list-view-header.hpp @@ -0,0 +1,14 @@ +#if defined(Hiro_ListView) + +namespace hiro { + +struct pListViewHeader : pObject { + Declare(ListViewHeader, Object) + + auto append(sListViewColumn column) -> void; + auto remove(sListViewColumn column) -> void; +}; + +} + +#endif diff --git a/hiro/cocoa/widget/list-view-item.cpp b/hiro/cocoa/widget/list-view-item.cpp new file mode 100644 index 00000000..db9b5743 --- /dev/null +++ b/hiro/cocoa/widget/list-view-item.cpp @@ -0,0 +1,34 @@ +#if defined(Hiro_ListView) + +namespace hiro { + +auto pListViewItem::construct() -> void { +} + +auto pListViewItem::destruct() -> void { +} + +auto pListViewItem::append(sListViewCell cell) -> void { +} + +auto pListViewItem::remove(sListViewCell cell) -> void { +} + +auto pListViewItem::setAlignment(Alignment alignment) -> void { +} + +auto pListViewItem::setBackgroundColor(Color color) -> void { +} + +auto pListViewItem::setFocused() -> void { +} + +auto pListViewItem::setForegroundColor(Color color) -> void { +} + +auto pListViewItem::setSelected(bool selected) -> void { +} + +} + +#endif diff --git a/hiro/cocoa/widget/list-view-item.hpp b/hiro/cocoa/widget/list-view-item.hpp new file mode 100644 index 00000000..bf6e6663 --- /dev/null +++ b/hiro/cocoa/widget/list-view-item.hpp @@ -0,0 +1,19 @@ +#if defined(Hiro_ListView) + +namespace hiro { + +struct pListViewItem : pObject { + Declare(ListViewItem, Object) + + auto append(sListViewCell cell) -> void; + auto remove(sListViewCell cell) -> void; + auto setAlignment(Alignment alignment) -> void; + auto setBackgroundColor(Color color) -> void; + auto setFocused() -> void; + auto setForegroundColor(Color color) -> void; + auto setSelected(bool selected) -> void; +}; + +} + +#endif diff --git a/hiro/cocoa/widget/list-view.cpp b/hiro/cocoa/widget/list-view.cpp index 3a783214..e1fe65e6 100644 --- a/hiro/cocoa/widget/list-view.cpp +++ b/hiro/cocoa/widget/list-view.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_ListView) + @implementation CocoaListView : NSScrollView --(id) initWith:(phoenix::ListView&)listViewReference { +-(id) initWith:(hiro::mListView&)listViewReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { listView = &listViewReference; content = [[CocoaListViewContent alloc] initWithFrame:NSMakeRect(0, 0, 0, 0)]; @@ -47,7 +49,7 @@ if(font) [font release]; font = fontPointer; - unsigned fontHeight = phoenix::pFont::size(font, " ").height; + uint fontHeight = hiro::pFont::size(font, " ").height(); [content setFont:font]; [content setRowHeight:fontHeight]; [self reloadColumns]; @@ -58,10 +60,10 @@ [content removeTableColumn:[[content tableColumns] lastObject]]; } - if(listView->state.checkable) { - NSTableColumn *tableColumn = [[NSTableColumn alloc] initWithIdentifier:@"check"]; - NSTableHeaderCell *headerCell = [[NSTableHeaderCell alloc] initTextCell:@""]; - NSButtonCell *dataCell = [[NSButtonCell alloc] initTextCell:@""]; + if(false) { //listView->state.checkable) { + NSTableColumn* tableColumn = [[NSTableColumn alloc] initWithIdentifier:@"check"]; + NSTableHeaderCell* headerCell = [[NSTableHeaderCell alloc] initTextCell:@""]; + NSButtonCell* dataCell = [[NSButtonCell alloc] initTextCell:@""]; [dataCell setButtonType:NSSwitchButton]; [dataCell setControlSize:NSSmallControlSize]; @@ -75,11 +77,11 @@ [content addTableColumn:tableColumn]; } - lstring headers = listView->state.headerText; + lstring headers; // = listView->state.headerText; if(headers.size() == 0) headers.append(""); - [content setUsesAlternatingRowBackgroundColors:headers.size() >= 2]; +//[content setUsesAlternatingRowBackgroundColors:headers.size() >= 2]; - for(unsigned column = 0; column < headers.size(); column++) { + for(auto column : range(headers)) { NSTableColumn* tableColumn = [[NSTableColumn alloc] initWithIdentifier:[[NSNumber numberWithInteger:column] stringValue]]; NSTableHeaderCell* headerCell = [[NSTableHeaderCell alloc] initTextCell:[NSString stringWithUTF8String:headers(column)]]; CocoaListViewCell* dataCell = [[CocoaListViewCell alloc] initTextCell:@""]; @@ -95,20 +97,20 @@ } -(NSInteger) numberOfRowsInTableView:(NSTableView*)table { - return listView->state.text.size(); + return 0; //listView->state.text.size(); } -(id) tableView:(NSTableView*)table objectValueForTableColumn:(NSTableColumn*)tableColumn row:(NSInteger)row { if([[tableColumn identifier] isEqualToString:@"check"]) { - auto checked = listView->state.checked(row) ? NSOnState : NSOffState; + auto checked = false; //listView->state.checked(row) ? NSOnState : NSOffState; return [NSNumber numberWithInteger:checked]; } NSInteger column = [[tableColumn identifier] integerValue]; - unsigned height = [table rowHeight]; + uint height = [table rowHeight]; - NSString* text = [NSString stringWithUTF8String:listView->state.text(row)(column)]; - NSImage* image = NSMakeImage(listView->state.image(row)(column), height, height); + NSString* text = nil; //[NSString stringWithUTF8String:listView->state.text(row)(column)]; + NSImage* image = nil; //NSMakeImage(listView->state.image(row)(column), height, height); if(image) return @{ @"text":text, @"image":image }; return @{ @"text":text }; @@ -124,8 +126,8 @@ -(void) tableView:(NSTableView*)table setObjectValue:(id)object forTableColumn:(NSTableColumn*)tableColumn row:(NSInteger)row { if([[tableColumn identifier] isEqualToString:@"check"]) { - listView->state.checked(row) = [object integerValue] != NSOffState; - if(listView->onToggle) listView->onToggle(row); + //listView->state.checked(row) = [object integerValue] != NSOffState; + //listView->doToggle(row); } } @@ -134,13 +136,13 @@ } -(void) tableViewSelectionDidChange:(NSNotification*)notification { - listView->state.selected = true; - listView->state.selection = [content selectedRow]; - if(listView->onChange) listView->onChange(); +//listView->state.selected = true; +//listView->state.selection = [content selectedRow]; + listView->doChange(); } -(IBAction) activate:(id)sender { - if(listView->onActivate) listView->onActivate(); + listView->doActivate(); } -(IBAction) doubleAction:(id)sender { @@ -177,7 +179,7 @@ -(void) drawWithFrame:(NSRect)frame inView:(NSView*)view { NSString* text = [[self objectValue] objectForKey:@"text"]; NSImage* image = [[self objectValue] objectForKey:@"image"]; - unsigned textDisplacement = 0; + uint textDisplacement = 0; if(image) { [[NSGraphicsContext currentContext] saveGraphicsState]; @@ -207,15 +209,72 @@ @end -namespace phoenix { +namespace hiro { -void pListView::append(const lstring& text) { +auto pListView::construct() -> void { + @autoreleasepool { + cocoaView = cocoaListView = [[CocoaListView alloc] initWith:self()]; + pWidget::construct(); + + setAlignment(state().alignment); + setBackgroundColor(state().backgroundColor); + setBatchable(state().batchable); + setBordered(state().bordered); + setFont(self().font(true)); + setForegroundColor(state().foregroundColor); + } +} + +auto pListView::destruct() -> void { + @autoreleasepool { + [cocoaView release]; + } +} + +auto pListView::append(sListViewHeader header) -> void { +} + +auto pListView::append(sListViewItem item) -> void { +} + +auto pListView::remove(sListViewHeader header) -> void { +} + +auto pListView::remove(sListViewItem item) -> void { +} + +auto pListView::resizeColumns() -> void { +} + +auto pListView::setAlignment(Alignment alignment) -> void { +} + +auto pListView::setBackgroundColor(Color color) -> void { +} + +auto pListView::setBatchable(bool batchable) -> void { +} + +auto pListView::setBordered(bool bordered) -> void { +} + +auto pListView::setFont(const Font& font) -> void { + @autoreleasepool { + [cocoaView setFont:pFont::create(font)]; + } +} + +auto pListView::setForegroundColor(Color color) -> void { +} + +/* +auto pListView::append(const lstring& text) -> void { @autoreleasepool { [[cocoaView content] reloadData]; } } -void pListView::autoSizeColumns() { +auto pListView::autoSizeColumns() -> void { @autoreleasepool { if(listView.state.checkable) { NSTableColumn* tableColumn = [[cocoaView content] tableColumnWithIdentifier:@"check"]; @@ -238,49 +297,37 @@ void pListView::autoSizeColumns() { } } -void pListView::remove(unsigned selection) { +auto pListView::remove(unsigned selection) -> void { @autoreleasepool { [[cocoaView content] reloadData]; } } -void pListView::reset() { +auto pListView::reset() -> void { @autoreleasepool { [[cocoaView content] reloadData]; } } -void pListView::setBackgroundColor(Color color) { -} - -void pListView::setCheckable(bool checkable) { +auto pListView::setCheckable(bool checkable) -> void { @autoreleasepool { [cocoaView reloadColumns]; } } -void pListView::setChecked(unsigned selection, bool checked) { +auto pListView::setChecked(unsigned selection, bool checked) -> void { @autoreleasepool { [[cocoaView content] reloadData]; } } -void pListView::setFont(string font) { - @autoreleasepool { - [cocoaView setFont:pFont::cocoaFont(font)]; - } -} - -void pListView::setForegroundColor(Color color) { -} - -void pListView::setHeaderText(const lstring& text) { +auto pListView::setHeaderText(const lstring& text) -> void { @autoreleasepool { [cocoaView reloadColumns]; } } -void pListView::setHeaderVisible(bool visible) { +auto pListView::setHeaderVisible(bool visible) -> void { @autoreleasepool { if(visible) { [[cocoaView content] setHeaderView:[[[NSTableHeaderView alloc] init] autorelease]]; @@ -290,13 +337,13 @@ void pListView::setHeaderVisible(bool visible) { } } -void pListView::setImage(unsigned selection, unsigned position, const image& image) { +auto pListView::setImage(unsigned selection, unsigned position, const image& image) -> void { @autoreleasepool { [[cocoaView content] reloadData]; } } -void pListView::setSelected(bool selected) { +auto pListView::setSelected(bool selected) -> void { @autoreleasepool { if(selected == false) { [[cocoaView content] deselectAll:nil]; @@ -304,30 +351,19 @@ void pListView::setSelected(bool selected) { } } -void pListView::setSelection(unsigned selection) { +auto pListView::setSelection(unsigned selection) -> void { @autoreleasepool { [[cocoaView content] selectRowIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(selection, 1)] byExtendingSelection:NO]; } } -void pListView::setText(unsigned selection, unsigned position, const string text) { +auto pListView::setText(unsigned selection, unsigned position, const string text) -> void { @autoreleasepool { [[cocoaView content] reloadData]; } } - -void pListView::constructor() { - @autoreleasepool { - cocoaView = cocoaListView = [[CocoaListView alloc] initWith:listView]; - setHeaderVisible(listView.state.headerVisible); - setHeaderText(listView.state.headerText); - } -} - -void pListView::destructor() { - @autoreleasepool { - [cocoaView release]; - } -} +*/ } + +#endif diff --git a/hiro/cocoa/widget/list-view.hpp b/hiro/cocoa/widget/list-view.hpp index 5d03074e..09840d31 100644 --- a/hiro/cocoa/widget/list-view.hpp +++ b/hiro/cocoa/widget/list-view.hpp @@ -1,12 +1,14 @@ +#if defined(Hiro_ListView) + @class CocoaListViewContent; @interface CocoaListView : NSScrollView { @public - phoenix::ListView* listView; + hiro::mListView* listView; CocoaListViewContent* content; NSFont* font; } --(id) initWith:(phoenix::ListView&)listView; +-(id) initWith:(hiro::mListView&)listView; -(void) dealloc; -(CocoaListViewContent*) content; -(NSFont*) font; @@ -34,31 +36,26 @@ -(void) drawWithFrame:(NSRect)frame inView:(NSView*)view; @end -namespace phoenix { +namespace hiro { + +struct pListView : pWidget { + Declare(ListView, Widget) + + auto append(sListViewHeader header) -> void; + auto append(sListViewItem item) -> void; + auto remove(sListViewHeader header) -> void; + auto remove(sListViewItem item) -> void; + auto resizeColumns() -> void; + auto setAlignment(Alignment alignment) -> void; + auto setBackgroundColor(Color color) -> void; + auto setBatchable(bool batchable) -> void; + auto setBordered(bool bordered) -> void; + auto setFont(const Font& font) -> void override; + auto setForegroundColor(Color color) -> void; -struct pListView : public pWidget { - ListView& listView; CocoaListView* cocoaListView = nullptr; - - void append(const lstring& text); - void autoSizeColumns(); - void remove(unsigned selection); - void reset(); - void setBackgroundColor(Color color); - void setCheckable(bool checkable); - void setChecked(unsigned selection, bool checked); - void setFont(string font); - void setForegroundColor(Color color); - void setHeaderText(const lstring& text); - void setHeaderVisible(bool visible); - void setImage(unsigned selection, unsigned position, const image& image); - void setSelected(bool selected); - void setSelection(unsigned selection); - void setText(unsigned selection, unsigned position, string text); - - pListView(ListView& listView) : pWidget(listView), listView(listView) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/progress-bar.cpp b/hiro/cocoa/widget/progress-bar.cpp index 1144af01..731188c0 100644 --- a/hiro/cocoa/widget/progress-bar.cpp +++ b/hiro/cocoa/widget/progress-bar.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_ProgressBar) + @implementation CocoaProgressBar : NSProgressIndicator --(id) initWith:(phoenix::ProgressBar&)progressBarReference { +-(id) initWith:(hiro::mProgressBar&)progressBarReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { progressBar = &progressBarReference; @@ -13,25 +15,33 @@ @end -namespace phoenix { +namespace hiro { -void pProgressBar::setPosition(unsigned position) { +auto pProgressBar::construct() -> void { @autoreleasepool { - [cocoaView setDoubleValue:position]; + cocoaView = cocoaProgressBar = [[CocoaProgressBar alloc] initWith:self()]; + pWidget::construct(); + + setPosition(state().position); } } -void pProgressBar::constructor() { - @autoreleasepool { - cocoaView = cocoaProgressBar = [[CocoaProgressBar alloc] initWith:progressBar]; - setPosition(progressBar.state.position); - } -} - -void pProgressBar::destructor() { +auto pProgressBar::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pProgressBar::minimumSize() const -> Size { + return {0, 12}; } + +auto pProgressBar::setPosition(uint position) -> void { + @autoreleasepool { + [cocoaView setDoubleValue:position]; + } +} + +} + +#endif diff --git a/hiro/cocoa/widget/progress-bar.hpp b/hiro/cocoa/widget/progress-bar.hpp index b9177db1..03691567 100644 --- a/hiro/cocoa/widget/progress-bar.hpp +++ b/hiro/cocoa/widget/progress-bar.hpp @@ -1,21 +1,23 @@ +#if defined(Hiro_ProgressBar) + @interface CocoaProgressBar : NSProgressIndicator { @public - phoenix::ProgressBar* progressBar; + hiro::mProgressBar* progressBar; } --(id) initWith:(phoenix::ProgressBar&)progressBar; +-(id) initWith:(hiro::mProgressBar&)progressBar; @end -namespace phoenix { +namespace hiro { + +struct pProgressBar : pWidget { + Declare(ProgressBar, Widget) + + auto minimumSize() const -> Size override; + auto setPosition(uint position) -> void; -struct pProgressBar : public pWidget { - ProgressBar& progressBar; CocoaProgressBar* cocoaProgressBar = nullptr; - - void setPosition(unsigned position); - - pProgressBar(ProgressBar& progressBar) : pWidget(progressBar), progressBar(progressBar) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/radio-button.cpp b/hiro/cocoa/widget/radio-button.cpp index bf387e3a..cf3a234c 100644 --- a/hiro/cocoa/widget/radio-button.cpp +++ b/hiro/cocoa/widget/radio-button.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_RadioButton) + @implementation CocoaRadioButton : NSButton --(id) initWith:(phoenix::RadioButton&)radioButtonReference { +-(id) initWith:(hiro::mRadioButton&)radioButtonReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { radioButton = &radioButtonReference; @@ -15,80 +17,102 @@ -(IBAction) activate:(id)sender { bool wasChecked = radioButton->state.checked; radioButton->setChecked(); - if(wasChecked == false) { - if(radioButton->onActivate) radioButton->onActivate(); - } + if(!wasChecked) radioButton->doActivate(); } @end -namespace phoenix { +namespace hiro { -Size pRadioButton::minimumSize() { - Size size = Font::size(radioButton.font(), radioButton.state.text); - - if(radioButton.state.orientation == Orientation::Horizontal) { - size.width += radioButton.state.image.width; - size.height = max(radioButton.state.image.height, size.height); - } - - if(radioButton.state.orientation == Orientation::Vertical) { - size.width = max(radioButton.state.image.width, size.width); - size.height += radioButton.state.image.height; - } - - return {size.width + 20, size.height + 4}; -} - -void pRadioButton::setChecked() { +auto pRadioButton::construct() -> void { @autoreleasepool { - for(auto& button : radioButton.state.group) { - auto state = (&button == &radioButton) ? NSOnState : NSOffState; - [button.p.cocoaView setState:state]; - } + cocoaView = cocoaRadioButton = [[CocoaRadioButton alloc] initWith:self()]; + pWidget::construct(); + + setBordered(state().bordered); + if(state().checked) setChecked(); + setImage(state().image); + setOrientation(state().orientation); + setText(state().text); } } -void pRadioButton::setGeometry(Geometry geometry) { - pWidget::setGeometry({ - geometry.x - 2, geometry.y - 2, - geometry.width + 4, geometry.height + 4 - }); -} - -void pRadioButton::setGroup(const group& group) { -} - -void pRadioButton::setImage(const image& image, Orientation orientation) { - @autoreleasepool { - if(image.empty()) { - [cocoaView setImage:nil]; - return; - } - - [cocoaView setImage:NSMakeImage(image)]; - - if(orientation == Orientation::Horizontal) [cocoaView setImagePosition:NSImageLeft]; - if(orientation == Orientation::Vertical ) [cocoaView setImagePosition:NSImageAbove]; - } -} - -void pRadioButton::setText(string text) { - @autoreleasepool { - [cocoaView setTitle:[NSString stringWithUTF8String:text]]; - } -} - -void pRadioButton::constructor() { - @autoreleasepool { - cocoaView = cocoaRadioButton = [[CocoaRadioButton alloc] initWith:radioButton]; - } -} - -void pRadioButton::destructor() { +auto pRadioButton::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pRadioButton::minimumSize() const -> Size { + Size size = pFont::size(self().font(true), state().text); + + if(state().orientation == Orientation::Horizontal) { + size.setWidth(size.width() + state().image.width()); + size.setHeight(max(size.height(), state().image.height())); + } + + if(state().orientation == Orientation::Vertical) { + size.setWidth(max(size.width(), state().image.width())); + size.setHeight(size.height() + state().image.height()); + } + + return {size.width() + 20, size.height() + 4}; } + +auto pRadioButton::setBordered(bool bordered) -> void { +} + +auto pRadioButton::setChecked() -> void { + @autoreleasepool { + if(auto group = state().group) { + for(auto& weak : group->state.objects) { + if(auto object = weak.acquire()) { + if(auto self = object->self()) { + if(auto p = dynamic_cast(self)) { + auto state = this == p ? NSOnState : NSOffState; + [p->cocoaView setState:state]; + } + } + } + } + } + } +} + +auto pRadioButton::setGeometry(Geometry geometry) -> void { + pWidget::setGeometry({ + geometry.x() - 2, geometry.y() - 2, + geometry.width() + 4, geometry.height() + 4 + }); +} + +auto pRadioButton::setGroup(sGroup group) -> void { +} + +auto pRadioButton::setImage(const Image& image) -> void { + @autoreleasepool { + if(!image) { + [cocoaView setImage:nil]; + return; + } + + [cocoaView setImage:NSMakeImage(image)]; + } +} + +auto pRadioButton::setOrientation(Orientation orientation) -> void { + @autoreleasepool { + if(orientation == Orientation::Horizontal) [cocoaView setImagePosition:NSImageLeft]; + if(orientation == Orientation::Vertical ) [cocoaView setImagePosition:NSImageAbove]; + } +} + +auto pRadioButton::setText(const string& text) -> void { + @autoreleasepool { + [cocoaView setTitle:[NSString stringWithUTF8String:text]]; + } +} + +} + +#endif diff --git a/hiro/cocoa/widget/radio-button.hpp b/hiro/cocoa/widget/radio-button.hpp index 0242ddaa..76c04335 100644 --- a/hiro/cocoa/widget/radio-button.hpp +++ b/hiro/cocoa/widget/radio-button.hpp @@ -1,27 +1,30 @@ +#if defined(Hiro_RadioButton) + @interface CocoaRadioButton : NSButton { @public - phoenix::RadioButton* radioButton; + hiro::mRadioButton* radioButton; } --(id) initWith:(phoenix::RadioButton&)radioButton; +-(id) initWith:(hiro::mRadioButton&)radioButton; -(IBAction) activate:(id)sender; @end -namespace phoenix { +namespace hiro { + +struct pRadioButton : pWidget { + Declare(RadioButton, Widget) + + auto minimumSize() const -> Size override; + auto setBordered(bool bordered) -> void; + auto setChecked() -> void; + auto setGeometry(Geometry geometry) -> void override; + auto setGroup(sGroup group) -> void; + auto setImage(const Image& image) -> void; + auto setOrientation(Orientation orientation) -> void; + auto setText(const string& text) -> void; -struct pRadioButton : public pWidget { - RadioButton& radioButton; CocoaRadioButton* cocoaRadioButton = nullptr; - - Size minimumSize(); - void setChecked(); - void setGeometry(Geometry geometry); - void setGroup(const group& group); - void setImage(const image& image, Orientation orientation); - void setText(string text); - - pRadioButton(RadioButton& radioButton) : pWidget(radioButton), radioButton(radioButton) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/radio-label.cpp b/hiro/cocoa/widget/radio-label.cpp index b677dd35..80d62e6f 100644 --- a/hiro/cocoa/widget/radio-label.cpp +++ b/hiro/cocoa/widget/radio-label.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_RadioLabel) + @implementation CocoaRadioLabel : NSButton --(id) initWith:(phoenix::RadioLabel&)radioLabelReference { +-(id) initWith:(hiro::mRadioLabel&)radioLabelReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { radioLabel = &radioLabelReference; @@ -13,53 +15,67 @@ -(IBAction) activate:(id)sender { radioLabel->setChecked(); - if(radioLabel->onActivate) radioLabel->onActivate(); + radioLabel->doActivate(); } @end -namespace phoenix { +namespace hiro { -Size pRadioLabel::minimumSize() { - Size size = Font::size(radioLabel.font(), radioLabel.state.text); - return {size.width + 22, size.height}; -} - -void pRadioLabel::setChecked() { +auto pRadioLabel::construct() -> void { @autoreleasepool { - for(auto& item : radioLabel.state.group) { - auto state = (&item == &radioLabel) ? NSOnState : NSOffState; - [item.p.cocoaView setState:state]; - } + cocoaView = cocoaRadioLabel = [[CocoaRadioLabel alloc] initWith:self()]; + pWidget::construct(); + + if(state().checked) setChecked(); + setText(state().text); } } -void pRadioLabel::setGeometry(Geometry geometry) { - pWidget::setGeometry({ - geometry.x - 1, geometry.y, - geometry.width + 2, geometry.height - }); -} - -void pRadioLabel::setGroup(const group& group) { -} - -void pRadioLabel::setText(string text) { - @autoreleasepool { - [cocoaView setTitle:[NSString stringWithUTF8String:text]]; - } -} - -void pRadioLabel::constructor() { - @autoreleasepool { - cocoaView = cocoaRadioLabel = [[CocoaRadioLabel alloc] initWith:radioLabel]; - } -} - -void pRadioLabel::destructor() { +auto pRadioLabel::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pRadioLabel::minimumSize() const -> Size { + Size size = pFont::size(self().font(true), state().text); + return {size.width() + 22, size.height()}; } + +auto pRadioLabel::setChecked() -> void { + @autoreleasepool { + if(auto group = state().group) { + for(auto& weak : group->state.objects) { + if(auto object = weak.acquire()) { + if(auto self = object->self()) { + if(auto p = dynamic_cast(self)) { + auto state = this == p ? NSOnState : NSOffState; + [p->cocoaView setState:state]; + } + } + } + } + } + } +} + +auto pRadioLabel::setGeometry(Geometry geometry) -> void { + pWidget::setGeometry({ + geometry.x() - 1, geometry.y(), + geometry.width() + 2, geometry.height() + }); +} + +auto pRadioLabel::setGroup(sGroup group) -> void { +} + +auto pRadioLabel::setText(const string& text) -> void { + @autoreleasepool { + [cocoaView setTitle:[NSString stringWithUTF8String:text]]; + } +} + +} + +#endif diff --git a/hiro/cocoa/widget/radio-label.hpp b/hiro/cocoa/widget/radio-label.hpp index c971683c..c064f866 100644 --- a/hiro/cocoa/widget/radio-label.hpp +++ b/hiro/cocoa/widget/radio-label.hpp @@ -1,26 +1,27 @@ +#if defined(Hiro_RadioLabel) + @interface CocoaRadioLabel : NSButton { @public - phoenix::RadioLabel* radioLabel; + hiro::mRadioLabel* radioLabel; } --(id) initWith:(phoenix::RadioLabel&)radioLabel; +-(id) initWith:(hiro::mRadioLabel&)radioLabel; -(IBAction) activate:(id)sender; @end -namespace phoenix { +namespace hiro { + +struct pRadioLabel : pWidget { + Declare(RadioLabel, Widget) + + auto minimumSize() const -> Size override; + auto setChecked() -> void; + auto setGeometry(Geometry geometry) -> void override; + auto setGroup(sGroup group) -> void; + auto setText(const string& text) -> void; -struct pRadioLabel : public pWidget { - RadioLabel& radioLabel; CocoaRadioLabel* cocoaRadioLabel = nullptr; - - Size minimumSize(); - void setChecked(); - void setGeometry(Geometry geometry); - void setGroup(const group& group); - void setText(string text); - - pRadioLabel(RadioLabel& radioLabel) : pWidget(radioLabel), radioLabel(radioLabel) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/sizable.hpp b/hiro/cocoa/widget/sizable.hpp deleted file mode 100644 index afb33e67..00000000 --- a/hiro/cocoa/widget/sizable.hpp +++ /dev/null @@ -1,9 +0,0 @@ -namespace phoenix { - -struct pSizable : public pObject { - Sizable& sizable; - - pSizable(Sizable& sizable) : pObject(sizable), sizable(sizable) {} -}; - -} diff --git a/hiro/cocoa/widget/tab-frame-item.cpp b/hiro/cocoa/widget/tab-frame-item.cpp new file mode 100644 index 00000000..12c4a4ef --- /dev/null +++ b/hiro/cocoa/widget/tab-frame-item.cpp @@ -0,0 +1,34 @@ +#if defined(Hiro_TabFrame) + +namespace hiro { + +auto pTabFrameItem::construct() -> void { +} + +auto pTabFrameItem::destruct() -> void { +} + +auto pTabFrameItem::append(sLayout layout) -> void { +} + +auto pTabFrameItem::remove(sLayout layout) -> void { +} + +auto pTabFrameItem::setClosable(bool closable) -> void { +} + +auto pTabFrameItem::setImage(const Image& image) -> void { +} + +auto pTabFrameItem::setMovable(bool movable) -> void { +} + +auto pTabFrameItem::setSelected() -> void { +} + +auto pTabFrameItem::setText(const string& text) -> void { +} + +} + +#endif diff --git a/hiro/cocoa/widget/tab-frame-item.hpp b/hiro/cocoa/widget/tab-frame-item.hpp new file mode 100644 index 00000000..ba11b5a0 --- /dev/null +++ b/hiro/cocoa/widget/tab-frame-item.hpp @@ -0,0 +1,19 @@ +#if defined(Hiro_TabFrame) + +namespace hiro { + +struct pTabFrameItem : pObject { + Declare(TabFrameItem, Object) + + auto append(sLayout layout) -> void; + auto remove(sLayout layout) -> void; + auto setClosable(bool closable) -> void; + auto setImage(const Image& image) -> void; + auto setMovable(bool movable) -> void; + auto setSelected() -> void; + auto setText(const string& text) -> void; +}; + +} + +#endif diff --git a/hiro/cocoa/widget/tab-frame.cpp b/hiro/cocoa/widget/tab-frame.cpp index dd44620d..4fd21211 100644 --- a/hiro/cocoa/widget/tab-frame.cpp +++ b/hiro/cocoa/widget/tab-frame.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_TabFrame) + @implementation CocoaTabFrame : NSTabView --(id) initWith:(phoenix::TabFrame&)tabFrameReference { +-(id) initWith:(hiro::mTabFrame&)tabFrameReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { tabFrame = &tabFrameReference; @@ -10,38 +12,38 @@ } -(void) tabView:(NSTabView*)tabView didSelectTabViewItem:(NSTabViewItem*)tabViewItem { - tabFrame->state.selection = [tabView indexOfTabViewItem:tabViewItem]; - tabFrame->p.synchronizeLayout(); - if(tabFrame->onChange) tabFrame->onChange(); + tabFrame->self()->_updateSelected([tabView indexOfTabViewItem:tabViewItem]); + tabFrame->self()->_synchronizeLayout(); + tabFrame->doChange(); } @end @implementation CocoaTabFrameItem : NSTabViewItem --(id) initWith:(phoenix::TabFrame&)tabFrameReference { +-(id) initWith:(hiro::mTabFrame&)tabFrameReference { if(self = [super initWithIdentifier:nil]) { tabFrame = &tabFrameReference; - cocoaTabFrame = tabFrame->p.cocoaTabFrame; + cocoaTabFrame = tabFrame->self()->cocoaTabFrame; } return self; } -(NSSize) sizeOfLabel:(BOOL)shouldTruncateLabel { NSSize sizeOfLabel = [super sizeOfLabel:shouldTruncateLabel]; - signed selection = [cocoaTabFrame indexOfTabViewItem:self]; + int selection = [cocoaTabFrame indexOfTabViewItem:self]; if(selection < 0) return sizeOfLabel; //should never happen - if(tabFrame->state.image[selection].empty() == false) { - unsigned iconSize = phoenix::Font::size(tabFrame->font(), " ").height; - sizeOfLabel.width += iconSize + 2; - } +// if(!tabFrame->state.image[selection].empty()) { +// uint iconSize = hiro::pFont::size(tabFrame->font(true), " ").height(); +// sizeOfLabel.width += iconSize + 2; +// } return sizeOfLabel; } -(void) drawLabel:(BOOL)shouldTruncateLabel inRect:(NSRect)tabRect { - signed selection = [cocoaTabFrame indexOfTabViewItem:self]; - if(selection >= 0 && tabFrame->state.image[selection].empty() == false) { - unsigned iconSize = phoenix::Font::size(tabFrame->font(), " ").height; + int selection = [cocoaTabFrame indexOfTabViewItem:self]; +/*if(selection >= 0 && !tabFrame->state.image[selection].empty()) { + uint iconSize = phoenix::Font::size(tabFrame->font(), " ").height; NSImage* image = NSMakeImage(tabFrame->state.image[selection]); [[NSGraphicsContext currentContext] saveGraphicsState]; @@ -51,15 +53,37 @@ tabRect.origin.x += iconSize + 2; tabRect.size.width -= iconSize + 2; - } + }*/ [super drawLabel:shouldTruncateLabel inRect:tabRect]; } @end -namespace phoenix { +namespace hiro { -void pTabFrame::append(string text, const image& image) { +auto pTabFrame::construct() -> void { + @autoreleasepool { + cocoaView = cocoaTabFrame = [[CocoaTabFrame alloc] initWith:self()]; + pWidget::construct(); + + setNavigation(state().navigation); + } +} + +auto pTabFrame::destruct() -> void { + @autoreleasepool { + [cocoaView release]; + } +} + +auto pTabFrame::append(sTabFrameItem item) -> void { +} + +auto pTabFrame::remove(sTabFrameItem item) -> void { +} + +/* +auto pTabFrame::append(string text, const image& image) -> void { @autoreleasepool { CocoaTabFrameItem* item = [[CocoaTabFrameItem alloc] initWith:tabFrame]; [item setLabel:[NSString stringWithUTF8String:text]]; @@ -68,7 +92,7 @@ void pTabFrame::append(string text, const image& image) { } } -void pTabFrame::remove(unsigned selection) { +auto pTabFrame::remove(unsigned selection) -> void { @autoreleasepool { CocoaTabFrameItem* item = tabs[selection]; [cocoaView removeTabViewItem:item]; @@ -76,14 +100,16 @@ void pTabFrame::remove(unsigned selection) { } } -void pTabFrame::setEnabled(bool enabled) { +auto pTabFrame::setEnabled(bool enabled) -> void { for(auto& layout : tabFrame.state.layout) { if(layout) layout->setEnabled(layout->enabled()); } pWidget::setEnabled(enabled); } +*/ -void pTabFrame::setGeometry(Geometry geometry) { +auto pTabFrame::setGeometry(Geometry geometry) -> void { +/* pWidget::setGeometry({ geometry.x - 7, geometry.y - 5, geometry.width + 14, geometry.height + 6 @@ -95,12 +121,14 @@ void pTabFrame::setGeometry(Geometry geometry) { layout->setGeometry(geometry); } synchronizeLayout(); +*/ } -void pTabFrame::setImage(unsigned selection, const image& image) { +auto pTabFrame::setNavigation(Navigation navigation) -> void { } -void pTabFrame::setSelection(unsigned selection) { +/* +auto pTabFrame::setSelection(unsigned selection) -> void { @autoreleasepool { CocoaTabFrameItem* item = tabs[selection]; [cocoaView selectTabViewItem:item]; @@ -108,38 +136,34 @@ void pTabFrame::setSelection(unsigned selection) { synchronizeLayout(); } -void pTabFrame::setText(unsigned selection, string text) { +auto pTabFrame::setText(unsigned selection, string text) -> void { @autoreleasepool { CocoaTabFrameItem* item = tabs[selection]; [item setLabel:[NSString stringWithUTF8String:text]]; } } -void pTabFrame::setVisible(bool visible) { +auto pTabFrame::setVisible(bool visible) -> void { for(auto& layout : tabFrame.state.layout) { if(layout) layout->setVisible(layout->visible()); } pWidget::setVisible(visible); } +*/ -void pTabFrame::constructor() { - @autoreleasepool { - cocoaView = cocoaTabFrame = [[CocoaTabFrame alloc] initWith:tabFrame]; - } -} - -void pTabFrame::destructor() { - @autoreleasepool { - [cocoaView release]; - } -} - -void pTabFrame::synchronizeLayout() { - unsigned selection = 0; +auto pTabFrame::_synchronizeLayout() -> void { +/* + uint selection = 0; for(auto& layout : tabFrame.state.layout) { if(layout) layout->setVisible(selection == tabFrame.state.selection); selection++; } +*/ +} + +auto pTabFrame::_updateSelected(int selected) -> void { } } + +#endif diff --git a/hiro/cocoa/widget/tab-frame.hpp b/hiro/cocoa/widget/tab-frame.hpp index e1891060..f4d97ba2 100644 --- a/hiro/cocoa/widget/tab-frame.hpp +++ b/hiro/cocoa/widget/tab-frame.hpp @@ -1,41 +1,40 @@ +#if defined(Hiro_TabFrame) + @interface CocoaTabFrame : NSTabView { @public - phoenix::TabFrame* tabFrame; + hiro::mTabFrame* tabFrame; } --(id) initWith:(phoenix::TabFrame&)tabFrame; +-(id) initWith:(hiro::mTabFrame&)tabFrame; -(void) tabView:(NSTabView*)tabView didSelectTabViewItem:(NSTabViewItem*)tabViewItem; @end @interface CocoaTabFrameItem : NSTabViewItem { @public - phoenix::TabFrame* tabFrame; + hiro::mTabFrame* tabFrame; CocoaTabFrame* cocoaTabFrame; } --(id) initWith:(phoenix::TabFrame&)tabFrame; +-(id) initWith:(hiro::mTabFrame&)tabFrame; -(NSSize) sizeOfLabel:(BOOL)shouldTruncateLabel; -(void) drawLabel:(BOOL)shouldTruncateLabel inRect:(NSRect)tabRect; @end -namespace phoenix { +namespace hiro { + +struct pTabFrame : pWidget { + Declare(TabFrame, Widget) + + auto append(sTabFrameItem item) -> void; + auto remove(sTabFrameItem item) -> void; + auto setGeometry(Geometry geometry) -> void override; + auto setNavigation(Navigation navigation) -> void; + + auto _synchronizeLayout() -> void; + auto _updateSelected(int selected) -> void; -struct pTabFrame : public pWidget { - TabFrame& tabFrame; CocoaTabFrame* cocoaTabFrame = nullptr; vector tabs; - - void append(string text, const image& image); - void remove(unsigned selection); - void setEnabled(bool enabled); - void setGeometry(Geometry geometry); - void setImage(unsigned selection, const image& image); - void setSelection(unsigned selection); - void setText(unsigned selection, string text); - void setVisible(bool visible); - - pTabFrame(TabFrame& tabFrame) : pWidget(tabFrame), tabFrame(tabFrame) {} - void constructor(); - void destructor(); - void synchronizeLayout(); }; } + +#endif diff --git a/hiro/cocoa/widget/text-edit.cpp b/hiro/cocoa/widget/text-edit.cpp index 108221ec..ac7ce82d 100644 --- a/hiro/cocoa/widget/text-edit.cpp +++ b/hiro/cocoa/widget/text-edit.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_TextEdit) + @implementation CocoaTextEdit : NSScrollView --(id) initWith:(phoenix::TextEdit&)textEditReference { +-(id) initWith:(hiro::mTextEdit&)textEditReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { textEdit = &textEditReference; @@ -36,72 +38,76 @@ -(void) textDidChange:(NSNotification*)notification { textEdit->state.text = [[content string] UTF8String]; - if(textEdit->onChange) textEdit->onChange(); + textEdit->doChange(); } @end -namespace phoenix { +namespace hiro { -void pTextEdit::setBackgroundColor(Color color) { -} - -void pTextEdit::setCursorPosition(unsigned position) { +auto pTextEdit::construct() -> void { @autoreleasepool { - string text = [[[cocoaView content] string] UTF8String]; - position = min(position, text.length()); - [[cocoaView content] setSelectedRange:NSMakeRange(position, 0)]; + cocoaView = cocoaTextEdit = [[CocoaTextEdit alloc] initWith:self()]; + pWidget::construct(); + + setEditable(state().editable); + setWordWrap(state().wordWrap); + setText(state().text); + setCursor(state().cursor); } } -void pTextEdit::setEditable(bool editable) { - @autoreleasepool { - [[cocoaView content] setEditable:editable]; - } -} - -void pTextEdit::setFont(string font) { - @autoreleasepool { - [[cocoaView content] setFont:pFont::cocoaFont(font)]; - } -} - -void pTextEdit::setForegroundColor(Color color) { -} - -void pTextEdit::setText(string text) { - @autoreleasepool { - [[cocoaView content] setString:[NSString stringWithUTF8String:text]]; - } -} - -void pTextEdit::setWordWrap(bool wordWrap) { - @autoreleasepool { - [cocoaView configure]; - } -} - -string pTextEdit::text() { - @autoreleasepool { - return [[[cocoaView content] string] UTF8String]; - } -} - -void pTextEdit::constructor() { - @autoreleasepool { - cocoaView = cocoaTextEdit = [[CocoaTextEdit alloc] initWith:textEdit]; - setEditable(textEdit.state.editable); - setWordWrap(textEdit.state.wordWrap); - setFont(textEdit.font()); - setText(textEdit.state.text); - setCursorPosition(textEdit.state.cursorPosition); - } -} - -void pTextEdit::destructor() { +auto pTextEdit::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pTextEdit::setBackgroundColor(Color color) -> void { } + +auto pTextEdit::setCursor(Cursor cursor) -> void { + @autoreleasepool { + //todo: handle text selection (cursor.length()) + string text = [[[cocoaView content] string] UTF8String]; + auto offset = min(cursor.offset(), text.length()); + [[cocoaView content] setSelectedRange:NSMakeRange(offset, 0)]; + } +} + +auto pTextEdit::setEditable(bool editable) -> void { + @autoreleasepool { + [[cocoaView content] setEditable:editable]; + } +} + +auto pTextEdit::setFont(const Font& font) -> void { + @autoreleasepool { + [[cocoaView content] setFont:pFont::create(font)]; + } +} + +auto pTextEdit::setForegroundColor(Color color) -> void { +} + +auto pTextEdit::setText(const string& text) -> void { + @autoreleasepool { + [[cocoaView content] setString:[NSString stringWithUTF8String:text]]; + } +} + +auto pTextEdit::setWordWrap(bool wordWrap) -> void { + @autoreleasepool { + [cocoaView configure]; + } +} + +auto pTextEdit::text() const -> string { + @autoreleasepool { + return [[[cocoaView content] string] UTF8String]; + } +} + +} + +#endif diff --git a/hiro/cocoa/widget/text-edit.hpp b/hiro/cocoa/widget/text-edit.hpp index b2d3b9e4..c00e2ce4 100644 --- a/hiro/cocoa/widget/text-edit.hpp +++ b/hiro/cocoa/widget/text-edit.hpp @@ -1,32 +1,33 @@ +#if defined(Hiro_TextEdit) + @interface CocoaTextEdit : NSScrollView { @public - phoenix::TextEdit* textEdit; + hiro::mTextEdit* textEdit; NSTextView* content; } --(id) initWith:(phoenix::TextEdit&)textEdit; +-(id) initWith:(hiro::mTextEdit&)textEdit; -(NSTextView*) content; -(void) configure; -(void) textDidChange:(NSNotification*)notification; @end -namespace phoenix { +namespace hiro { + +struct pTextEdit : pWidget { + Declare(TextEdit, Widget) + + auto setBackgroundColor(Color color) -> void; + auto setCursor(Cursor cursor) -> void; + auto setEditable(bool editable) -> void; + auto setFont(const Font& font) -> void override; + auto setForegroundColor(Color color) -> void; + auto setText(const string& text) -> void; + auto setWordWrap(bool wordWrap) -> void; + auto text() const -> string; -struct pTextEdit : public pWidget { - TextEdit& textEdit; CocoaTextEdit* cocoaTextEdit = nullptr; - - void setBackgroundColor(Color color); - void setCursorPosition(unsigned position); - void setEditable(bool editable); - void setFont(string font); - void setForegroundColor(Color color); - void setText(string text); - void setWordWrap(bool wordWrap); - string text(); - - pTextEdit(TextEdit& textEdit) : pWidget(textEdit), textEdit(textEdit) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/vertical-scroller.cpp b/hiro/cocoa/widget/vertical-scroll-bar.cpp similarity index 51% rename from hiro/cocoa/widget/vertical-scroller.cpp rename to hiro/cocoa/widget/vertical-scroll-bar.cpp index 6e98e383..fcbda93c 100644 --- a/hiro/cocoa/widget/vertical-scroller.cpp +++ b/hiro/cocoa/widget/vertical-scroll-bar.cpp @@ -1,8 +1,10 @@ -@implementation CocoaVerticalScroller : NSScroller +#if defined(Hiro_VerticalScrollBar) --(id) initWith:(phoenix::VerticalScroller&)verticalScrollerReference { +@implementation CocoaVerticalScrollBar : NSScroller + +-(id) initWith:(hiro::mVerticalScrollBar&)verticalScrollBarReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 1)]) { - verticalScroller = &verticalScrollerReference; + verticalScrollBar = &verticalScrollBarReference; [self setTarget:self]; [self setAction:@selector(scroll:)]; @@ -17,15 +19,15 @@ } -(void) update { - double d = 1.0 / verticalScroller->state.length; - double f = d * verticalScroller->state.position; + double d = 1.0 / verticalScrollBar->state.length; + double f = d * verticalScrollBar->state.position; [self setDoubleValue:f]; [self setKnobProportion:d]; } -(IBAction) scroll:(id)sender { - auto& state = verticalScroller->state; + auto& state = verticalScrollBar->state; switch([self hitPart]) { case NSScrollerIncrementLine: @@ -45,41 +47,47 @@ break; } - if(verticalScroller->onChange) verticalScroller->onChange(); + verticalScrollBar->doChange(); } @end -namespace phoenix { +namespace hiro { -Size pVerticalScroller::minimumSize() { +auto pVerticalScrollBar::construct() -> void { @autoreleasepool { - return {[NSScroller scrollerWidthForControlSize:NSRegularControlSize scrollerStyle:NSScrollerStyleLegacy], 32}; + cocoaView = cocoaVerticalScrollBar = [[CocoaVerticalScrollBar alloc] initWith:self()]; + pWidget::construct(); + + setLength(state().length); + setPosition(state().position); } } -void pVerticalScroller::setLength(unsigned length) { - @autoreleasepool { - [cocoaView update]; - } -} - -void pVerticalScroller::setPosition(unsigned position) { - @autoreleasepool { - [cocoaView update]; - } -} - -void pVerticalScroller::constructor() { - @autoreleasepool { - cocoaView = cocoaVerticalScroller = [[CocoaVerticalScroller alloc] initWith:verticalScroller]; - } -} - -void pVerticalScroller::destructor() { +auto pVerticalScrollBar::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pVerticalScrollBar::minimumSize() const -> Size { + @autoreleasepool { + return {(int)[NSScroller scrollerWidthForControlSize:NSRegularControlSize scrollerStyle:NSScrollerStyleLegacy], 32}; + } } + +auto pVerticalScrollBar::setLength(uint length) -> void { + @autoreleasepool { + [cocoaView update]; + } +} + +auto pVerticalScrollBar::setPosition(uint position) -> void { + @autoreleasepool { + [cocoaView update]; + } +} + +} + +#endif diff --git a/hiro/cocoa/widget/vertical-scroll-bar.hpp b/hiro/cocoa/widget/vertical-scroll-bar.hpp new file mode 100644 index 00000000..22e232b9 --- /dev/null +++ b/hiro/cocoa/widget/vertical-scroll-bar.hpp @@ -0,0 +1,26 @@ +#if defined(Hiro_VerticalScrollBar) + +@interface CocoaVerticalScrollBar : NSScroller { +@public + hiro::mVerticalScrollBar* verticalScrollBar; +} +-(id) initWith:(hiro::mVerticalScrollBar&)verticalScrollBar; +-(void) update; +-(IBAction) scroll:(id)sender; +@end + +namespace hiro { + +struct pVerticalScrollBar : pWidget { + Declare(VerticalScrollBar, Widget) + + auto minimumSize() const -> Size override; + auto setLength(uint length) -> void; + auto setPosition(uint position) -> void; + + CocoaVerticalScrollBar* cocoaVerticalScrollBar = nullptr; +}; + +} + +#endif diff --git a/hiro/cocoa/widget/vertical-scroller.hpp b/hiro/cocoa/widget/vertical-scroller.hpp deleted file mode 100644 index 00129538..00000000 --- a/hiro/cocoa/widget/vertical-scroller.hpp +++ /dev/null @@ -1,25 +0,0 @@ -@interface CocoaVerticalScroller : NSScroller { -@public - phoenix::VerticalScroller* verticalScroller; -} --(id) initWith:(phoenix::VerticalScroller&)verticalScroller; --(void) update; --(IBAction) scroll:(id)sender; -@end - -namespace phoenix { - -struct pVerticalScroller : public pWidget { - VerticalScroller& verticalScroller; - CocoaVerticalScroller* cocoaVerticalScroller = nullptr; - - Size minimumSize(); - void setLength(unsigned length); - void setPosition(unsigned position); - - pVerticalScroller(VerticalScroller& verticalScroller) : pWidget(verticalScroller), verticalScroller(verticalScroller) {} - void constructor(); - void destructor(); -}; - -} diff --git a/hiro/cocoa/widget/vertical-slider.cpp b/hiro/cocoa/widget/vertical-slider.cpp index 264ba444..89d0fa98 100644 --- a/hiro/cocoa/widget/vertical-slider.cpp +++ b/hiro/cocoa/widget/vertical-slider.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_VerticalSlider) + @implementation CocoaVerticalSlider : NSSlider --(id) initWith:(phoenix::VerticalSlider&)verticalSliderReference { +-(id) initWith:(hiro::mVerticalSlider&)verticalSliderReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 1)]) { verticalSlider = &verticalSliderReference; @@ -13,49 +15,52 @@ -(IBAction) activate:(id)sender { verticalSlider->state.position = [self doubleValue]; - if(verticalSlider->onChange) verticalSlider->onChange(); + verticalSlider->doChange(); } @end -namespace phoenix { +namespace hiro { -Size pVerticalSlider::minimumSize() { - return {20, 48}; -} - -void pVerticalSlider::setGeometry(Geometry geometry) { - pWidget::setGeometry({ - geometry.x, geometry.y - 2, - geometry.width, geometry.height + 4 - }); -} - -void pVerticalSlider::setLength(unsigned length) { +auto pVerticalSlider::construct() -> void { @autoreleasepool { - [cocoaView setMaxValue:length]; + cocoaView = cocoaVerticalSlider = [[CocoaVerticalSlider alloc] initWith:self()]; + pWidget::construct(); + + setLength(state().length); + setPosition(state().position); } } -void pVerticalSlider::setPosition(unsigned position) { - @autoreleasepool { - [cocoaView setDoubleValue:position]; - } -} - -void pVerticalSlider::constructor() { - @autoreleasepool { - cocoaView = cocoaVerticalSlider = [[CocoaVerticalSlider alloc] initWith:verticalSlider]; - - setLength(verticalSlider.state.length); - setPosition(verticalSlider.state.position); - } -} - -void pVerticalSlider::destructor() { +auto pVerticalSlider::destruct() -> void { @autoreleasepool { [cocoaView release]; } } +auto pVerticalSlider::minimumSize() const -> Size { + return {20, 48}; } + +auto pVerticalSlider::setGeometry(Geometry geometry) -> void { + pWidget::setGeometry({ + geometry.x(), geometry.y() - 2, + geometry.width(), geometry.height() + 4 + }); +} + +auto pVerticalSlider::setLength(uint length) -> void { + @autoreleasepool { + [cocoaView setMaxValue:length]; + } +} + +auto pVerticalSlider::setPosition(uint position) -> void { + @autoreleasepool { + [cocoaView setDoubleValue:position]; + } +} + +} + +#endif diff --git a/hiro/cocoa/widget/vertical-slider.hpp b/hiro/cocoa/widget/vertical-slider.hpp index ecec74ad..a8b2c1e4 100644 --- a/hiro/cocoa/widget/vertical-slider.hpp +++ b/hiro/cocoa/widget/vertical-slider.hpp @@ -1,25 +1,26 @@ +#if defined(Hiro_VerticalSlider) + @interface CocoaVerticalSlider : NSSlider { @public - phoenix::VerticalSlider* verticalSlider; + hiro::mVerticalSlider* verticalSlider; } --(id) initWith:(phoenix::VerticalSlider&)verticalSlider; +-(id) initWith:(hiro::mVerticalSlider&)verticalSlider; -(IBAction) activate:(id)sender; @end -namespace phoenix { +namespace hiro { + +struct pVerticalSlider : pWidget { + Declare(VerticalSlider, Widget) + + auto minimumSize() const -> Size override; + auto setGeometry(Geometry geometry) -> void override; + auto setLength(uint length) -> void; + auto setPosition(uint position) -> void; -struct pVerticalSlider : public pWidget { - VerticalSlider& verticalSlider; CocoaVerticalSlider* cocoaVerticalSlider = nullptr; - - Size minimumSize(); - void setGeometry(Geometry geometry); - void setLength(unsigned length); - void setPosition(unsigned position); - - pVerticalSlider(VerticalSlider& verticalSlider) : pWidget(verticalSlider), verticalSlider(verticalSlider) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/viewport.cpp b/hiro/cocoa/widget/viewport.cpp index 4f5172cb..cb788cc1 100644 --- a/hiro/cocoa/widget/viewport.cpp +++ b/hiro/cocoa/widget/viewport.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_Viewport) + @implementation CocoaViewport : NSView --(id) initWith:(phoenix::Viewport&)viewportReference { +-(id) initWith:(hiro::mViewport&)viewportReference { if(self = [super initWithFrame:NSMakeRect(0, 0, 0, 0)]) { viewport = &viewportReference; } @@ -23,7 +25,7 @@ -(BOOL) performDragOperation:(id)sender { lstring paths = DropPaths(sender); if(paths.empty()) return NO; - if(viewport->onDrop) viewport->onDrop(paths); + viewport->doDrop(paths); return YES; } @@ -35,13 +37,26 @@ @end -namespace phoenix { +namespace hiro { -uintptr_t pViewport::handle() { - return (uintptr_t)cocoaViewport; +auto pViewport::construct() -> void { + @autoreleasepool { + cocoaView = cocoaViewport = [[CocoaViewport alloc] initWith:self()]; + pWidget::construct(); + } } -void pViewport::setDroppable(bool droppable) { +auto pViewport::destruct() -> void { + @autoreleasepool { + [cocoaView release]; + } +} + +auto pViewport::handle() const -> uintptr { + return (uintptr)cocoaViewport; +} + +auto pViewport::setDroppable(bool droppable) -> void { @autoreleasepool { if(droppable) { [cocoaViewport registerForDraggedTypes:[NSArray arrayWithObject:NSFilenamesPboardType]]; @@ -51,16 +66,6 @@ void pViewport::setDroppable(bool droppable) { } } -void pViewport::constructor() { - @autoreleasepool { - cocoaView = cocoaViewport = [[CocoaViewport alloc] initWith:viewport]; - } } -void pViewport::destructor() { - @autoreleasepool { - [cocoaView release]; - } -} - -} +#endif diff --git a/hiro/cocoa/widget/viewport.hpp b/hiro/cocoa/widget/viewport.hpp index 67cff565..36a93eee 100644 --- a/hiro/cocoa/widget/viewport.hpp +++ b/hiro/cocoa/widget/viewport.hpp @@ -1,8 +1,10 @@ +#if defined(Hiro_Viewport) + @interface CocoaViewport : NSView { @public - phoenix::Viewport* viewport; + hiro::mViewport* viewport; } --(id) initWith:(phoenix::Viewport&)viewport; +-(id) initWith:(hiro::mViewport&)viewport; -(void) drawRect:(NSRect)rect; -(BOOL) acceptsFirstResponder; -(NSDragOperation) draggingEntered:(id)sender; @@ -11,18 +13,17 @@ -(void) keyUp:(NSEvent*)event; @end -namespace phoenix { +namespace hiro { + +struct pViewport : pWidget { + Declare(Viewport, Widget) + + auto handle() const -> uintptr; + auto setDroppable(bool droppable) -> void; -struct pViewport : public pWidget { - Viewport& viewport; CocoaViewport* cocoaViewport = nullptr; - - uintptr_t handle(); - void setDroppable(bool droppable); - - pViewport(Viewport& viewport) : pWidget(viewport), viewport(viewport) {} - void constructor(); - void destructor(); }; } + +#endif diff --git a/hiro/cocoa/widget/widget.cpp b/hiro/cocoa/widget/widget.cpp index c2f7ed5e..56529310 100644 --- a/hiro/cocoa/widget/widget.cpp +++ b/hiro/cocoa/widget/widget.cpp @@ -1,25 +1,46 @@ -namespace phoenix { +#if defined(Hiro_Widget) +namespace hiro { + +auto pWidget::construct() -> void { + @autoreleasepool { + if(!cocoaView) { + abstract = true; + cocoaView = [[NSView alloc] initWithFrame:NSMakeRect(0, 0, 0, 0)]; + [cocoaView setHidden:true]; + } + + if(auto window = self().parentWindow(true)) { + if(auto p = window->self()) p->_append(self()); + setEnabled(self().enabled(true)); + setFont(self().font(true)); + setVisible(self().visible(true)); + } + } +} + +auto pWidget::destruct() -> void { + @autoreleasepool { + [cocoaView release]; + } +} + +/* bool pWidget::enabled() { @autoreleasepool { return [cocoaView respondsToSelector:@selector(enabled)] && [cocoaView enabled]; } } +*/ -bool pWidget::focused() { +auto pWidget::focused() const -> bool { @autoreleasepool { return cocoaView == [[cocoaView window] firstResponder]; } } -Size pWidget::minimumSize() { - return {0, 0}; -} - -void pWidget::setEnabled(bool enabled) { - if(!widget.parent()) enabled = false; - if(widget.state.abstract) enabled = false; - if(!widget.enabledToAll()) enabled = false; +auto pWidget::setEnabled(bool enabled) -> void { + if(abstract) enabled = false; @autoreleasepool { if([cocoaView respondsToSelector:@selector(setEnabled:)]) { @@ -28,52 +49,37 @@ void pWidget::setEnabled(bool enabled) { } } -void pWidget::setFocused() { +auto pWidget::setFocused() -> void { @autoreleasepool { [[cocoaView window] makeFirstResponder:cocoaView]; } } -void pWidget::setFont(string font) { +auto pWidget::setFont(const Font& font) -> void { @autoreleasepool { if([cocoaView respondsToSelector:@selector(setFont:)]) { - [cocoaView setFont:pFont::cocoaFont(font)]; + [cocoaView setFont:pFont::create(font)]; } } } -void pWidget::setGeometry(Geometry geometry) { +auto pWidget::setGeometry(Geometry geometry) -> void { @autoreleasepool { CGFloat windowHeight = [[cocoaView superview] frame].size.height; - [cocoaView setFrame:NSMakeRect(geometry.x, windowHeight - geometry.y - geometry.height, geometry.width, geometry.height)]; + [cocoaView setFrame:NSMakeRect(geometry.x(), windowHeight - geometry.y() - geometry.height(), geometry.width(), geometry.height())]; [[cocoaView superview] setNeedsDisplay:YES]; } - if(widget.onSize) widget.onSize(); + self().doSize(); } -void pWidget::setVisible(bool visible) { - if(!widget.parent()) visible = false; - if(widget.state.abstract) visible = false; - if(!widget.visibleToAll()) visible = false; +auto pWidget::setVisible(bool visible) -> void { + if(abstract) visible = false; @autoreleasepool { [cocoaView setHidden:!visible]; } } -void pWidget::constructor() { - if(!widget.state.abstract) return; - - @autoreleasepool { - cocoaView = [[NSView alloc] initWithFrame:NSMakeRect(0, 0, 0, 0)]; - [cocoaView setHidden:true]; - } } -void pWidget::destructor() { - @autoreleasepool { - [cocoaView release]; - } -} - -} +#endif diff --git a/hiro/cocoa/widget/widget.hpp b/hiro/cocoa/widget/widget.hpp index c4e9c394..ca5e48e9 100644 --- a/hiro/cocoa/widget/widget.hpp +++ b/hiro/cocoa/widget/widget.hpp @@ -1,21 +1,21 @@ -namespace phoenix { +#if defined(Hiro_Widget) + +namespace hiro { + +struct pWidget : pSizable { + Declare(Widget, Sizable) + + auto focused() const -> bool; + auto setEnabled(bool enabled) -> void override; + auto setFocused() -> void override; + auto setFont(const Font& font) -> void override; + auto setGeometry(Geometry geometry) -> void override; + auto setVisible(bool visible) -> void override; -struct pWidget : public pSizable { - Widget& widget; NSView* cocoaView = nullptr; - - bool enabled(); - bool focused(); - virtual Size minimumSize(); - virtual void setEnabled(bool enabled); - void setFocused(); - virtual void setFont(string font); - virtual void setGeometry(Geometry geometry); - virtual void setVisible(bool visible); - - pWidget(Widget& widget) : pSizable(widget), widget(widget) {} - void constructor(); - void destructor(); + bool abstract = false; }; } + +#endif diff --git a/hiro/cocoa/window.cpp b/hiro/cocoa/window.cpp index b6c39978..3c04a9cd 100644 --- a/hiro/cocoa/window.cpp +++ b/hiro/cocoa/window.cpp @@ -1,6 +1,8 @@ +#if defined(Hiro_Window) + @implementation CocoaWindow : NSWindow --(id) initWith:(phoenix::Window&)windowReference { +-(id) initWith:(hiro::mWindow&)windowReference { window = &windowReference; NSUInteger style = NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask; @@ -15,7 +17,7 @@ NSBundle* bundle = [NSBundle mainBundle]; NSDictionary* dictionary = [bundle infoDictionary]; NSString* applicationName = [dictionary objectForKey:@"CFBundleDisplayName"]; - if(applicationName == nil) applicationName = [NSString stringWithUTF8String:phoenix::applicationState.name]; + if(applicationName == nil) applicationName = [NSString stringWithUTF8String:hiro::Application::state.name]; menuBar = [[NSMenu alloc] init]; @@ -85,21 +87,21 @@ } -(void) windowDidBecomeMain:(NSNotification*)notification { - if(window->state.menu.size() > 0) { + if(window->state.menuBar) { [NSApp setMainMenu:menuBar]; } } -(void) windowDidMove:(NSNotification*)notification { - window->p.moveEvent(); + if(auto p = window->self()) p->moveEvent(); } -(void) windowDidResize:(NSNotification*)notification { - window->p.sizeEvent(); + if(auto p = window->self()) p->sizeEvent(); } -(BOOL) windowShouldClose:(id)sender { - if(window->onClose) window->onClose(); + if(window->state.onClose) window->doClose(); else window->setVisible(false); if(window->state.modal && !window->visible()) window->setModal(false); return NO; @@ -112,7 +114,7 @@ -(BOOL) performDragOperation:(id)sender { lstring paths = DropPaths(sender); if(paths.empty()) return NO; - if(window->onDrop) window->onDrop(paths); + window->doDrop(paths); return YES; } @@ -121,18 +123,15 @@ } -(void) menuAbout { - using phoenix::Application; - if(Application::Cocoa::onAbout) Application::Cocoa::onAbout(); + hiro::Application::Cocoa::doAbout(); } -(void) menuPreferences { - using phoenix::Application; - if(Application::Cocoa::onPreferences) Application::Cocoa::onPreferences(); + hiro::Application::Cocoa::doPreferences(); } -(void) menuQuit { - using phoenix::Application; - if(Application::Cocoa::onQuit) Application::Cocoa::onQuit(); + hiro::Application::Cocoa::doQuit(); } -(NSTextField*) statusBar { @@ -141,95 +140,101 @@ @end -namespace phoenix { +namespace hiro { -Window& pWindow::none() { +auto pWindow::none() -> Window& { static Window* window = nullptr; if(window == nullptr) window = new Window; return *window; } -void pWindow::append(Layout& layout) { - Geometry geometry = window.state.geometry; - geometry.x = geometry.y = 0; - layout.setGeometry(geometry); +auto pWindow::construct() -> void { + @autoreleasepool { + cocoaWindow = [[CocoaWindow alloc] initWith:self()]; + } +} +auto pWindow::destruct() -> void { + @autoreleasepool { + [cocoaWindow release]; + } +} + +auto pWindow::append(sLayout layout) -> void { + layout->setGeometry(self().geometry().setPosition(0, 0)); statusBarReposition(); } -void pWindow::append(Menu& menu) { +auto pWindow::append(sMenuBar menuBar) -> void { @autoreleasepool { - [[cocoaWindow menuBar] addItem:menu.p.cocoaAction]; +// [[cocoaWindow menuBar] addItem:menu.p.cocoaAction]; } } -void pWindow::append(Widget& widget) { - if(widget.font().empty() && !window.state.widgetFont.empty()) { - widget.setFont(window.state.widgetFont); - } - - @autoreleasepool { - [widget.p.cocoaView removeFromSuperview]; - [[cocoaWindow contentView] addSubview:widget.p.cocoaView positioned:NSWindowAbove relativeTo:nil]; - widget.p.setGeometry(widget.geometry()); - [[cocoaWindow contentView] setNeedsDisplay:YES]; - } +auto pWindow::append(sStatusBar statusBar) -> void { } -bool pWindow::focused() { +auto pWindow::focused() const -> bool { @autoreleasepool { return [cocoaWindow isMainWindow] == YES; } } -Geometry pWindow::frameMargin() { +auto pWindow::frameMargin() const -> Geometry { @autoreleasepool { NSRect frame = [cocoaWindow frameRectForContentRect:NSMakeRect(0, 0, 640, 480)]; - return {abs(frame.origin.x), frame.size.height - 480, frame.size.width - 640, abs(frame.origin.y)}; + return {abs(frame.origin.x), (int)(frame.size.height - 480), (int)(frame.size.width - 640), abs(frame.origin.y)}; } } -Geometry pWindow::geometry() { +/* +auto pWindow::geometry() -> Geometry { @autoreleasepool { NSRect area = [cocoaWindow contentRectForFrameRect:[cocoaWindow frame]]; area.size.height -= statusBarHeight(); return {area.origin.x, Desktop::size().height - area.origin.y - area.size.height, area.size.width, area.size.height}; } } +*/ -void pWindow::remove(Layout& layout) { +auto pWindow::remove(sLayout layout) -> void { @autoreleasepool { [[cocoaWindow contentView] setNeedsDisplay:YES]; } } -void pWindow::remove(Menu& menu) { +auto pWindow::remove(sMenuBar menuBar) -> void { @autoreleasepool { - [[cocoaWindow menuBar] removeItem:menu.p.cocoaAction]; +// [[cocoaWindow menuBar] removeItem:menu.p.cocoaAction]; } } -void pWindow::remove(Widget& widget) { +auto pWindow::remove(sStatusBar statusBar) -> void { +} + +/* +auto pWindow::remove(Widget& widget) -> void { @autoreleasepool { [widget.p.cocoaView removeFromSuperview]; [[cocoaWindow contentView] setNeedsDisplay:YES]; } } +*/ -void pWindow::setBackgroundColor(Color color) { +auto pWindow::setBackgroundColor(Color color) -> void { @autoreleasepool { [cocoaWindow setBackgroundColor:[NSColor - colorWithCalibratedRed:color.red / 255.0 - green:color.green / 255.0 - blue:color.blue / 255.0 - alpha:color.alpha / 255.0 + colorWithCalibratedRed:color.red() / 255.0 + green:color.green() / 255.0 + blue:color.blue() / 255.0 + alpha:color.alpha() / 255.0 ] ]; } } -void pWindow::setDroppable(bool droppable) { +auto pWindow::setDroppable(bool droppable) -> void { @autoreleasepool { if(droppable) { [cocoaWindow registerForDraggedTypes:[NSArray arrayWithObject:NSFilenamesPboardType]]; @@ -239,13 +244,13 @@ void pWindow::setDroppable(bool droppable) { } } -void pWindow::setFocused() { +auto pWindow::setFocused() -> void { @autoreleasepool { [cocoaWindow makeKeyAndOrderFront:nil]; } } -void pWindow::setFullScreen(bool fullScreen) { +auto pWindow::setFullScreen(bool fullScreen) -> void { @autoreleasepool { if(fullScreen == true) { [NSApp setPresentationOptions:NSApplicationPresentationFullScreen]; @@ -259,39 +264,31 @@ void pWindow::setFullScreen(bool fullScreen) { } } -void pWindow::setGeometry(Geometry geometry) { - locked = true; +auto pWindow::setGeometry(Geometry geometry) -> void { + lock(); @autoreleasepool { [cocoaWindow setFrame:[cocoaWindow frameRectForContentRect:NSMakeRect( - geometry.x, Desktop::size().height - geometry.y - geometry.height, - geometry.width, geometry.height + statusBarHeight() + geometry.x(), Desktop::size().height() - geometry.y() - geometry.height(), + geometry.width(), geometry.height() + statusBarHeight() ) ] display:YES ]; - for(auto& layout : window.state.layout) { - Geometry geometry = this->geometry(); - geometry.x = geometry.y = 0; - layout.setGeometry(geometry); + if(auto& layout = state().layout) { + layout->setGeometry(self().geometry().setPosition(0, 0)); } statusBarReposition(); } - locked = false; + unlock(); } -void pWindow::setMenuFont(string font) { -} - -void pWindow::setMenuVisible(bool visible) { -} - -void pWindow::setModal(bool modal) { +auto pWindow::setModal(bool modal) -> void { @autoreleasepool { if(modal == true) { [NSApp runModalForWindow:cocoaWindow]; @@ -303,7 +300,7 @@ void pWindow::setModal(bool modal) { } } -void pWindow::setResizable(bool resizable) { +auto pWindow::setResizable(bool resizable) -> void { @autoreleasepool { NSUInteger style = NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask; if(resizable) style |= NSResizableWindowMask; @@ -311,100 +308,80 @@ void pWindow::setResizable(bool resizable) { } } -void pWindow::setStatusFont(string font) { +/* +auto pWindow::setStatusFont(string font) -> void { @autoreleasepool { [[cocoaWindow statusBar] setFont:pFont::cocoaFont(font)]; } statusBarReposition(); } -void pWindow::setStatusText(string text) { +auto pWindow::setStatusText(string text) -> void { @autoreleasepool { [[cocoaWindow statusBar] setStringValue:[NSString stringWithUTF8String:text]]; } } -void pWindow::setStatusVisible(bool visible) { +auto pWindow::setStatusVisible(bool visible) -> void { @autoreleasepool { [[cocoaWindow statusBar] setHidden:!visible]; setGeometry(geometry()); } } +*/ -void pWindow::setTitle(string text) { +auto pWindow::setTitle(const string& text) -> void { @autoreleasepool { [cocoaWindow setTitle:[NSString stringWithUTF8String:text]]; } } -void pWindow::setVisible(bool visible) { +auto pWindow::setVisible(bool visible) -> void { @autoreleasepool { if(visible) [cocoaWindow makeKeyAndOrderFront:nil]; else [cocoaWindow orderOut:nil]; } } -void pWindow::setWidgetFont(string font) { +auto pWindow::moveEvent() -> void { + if(!locked() && !self().fullScreen() && self().visible()) { + @autoreleasepool { + NSRect area = [cocoaWindow contentRectForFrameRect:[cocoaWindow frame]]; + area.size.height -= statusBarHeight(); + state().geometry.setX(area.origin.x); + state().geometry.setY(Desktop::size().height() - area.origin.y - area.size.height); + } + } + + if(!locked()) self().doMove(); } -void pWindow::constructor() { - @autoreleasepool { - cocoaWindow = [[CocoaWindow alloc] initWith:window]; - - NSColor* color = [[cocoaWindow backgroundColor] colorUsingColorSpaceName:NSCalibratedRGBColorSpace]; - window.state.backgroundColor = Color( - (uint8_t)(255 * [color redComponent]), - (uint8_t)(255 * [color greenComponent]), - (uint8_t)(255 * [color blueComponent]), - (uint8_t)(255 * [color alphaComponent]) - ); - } -} - -void pWindow::destructor() { - @autoreleasepool { - [cocoaWindow release]; - } -} - -void pWindow::moveEvent() { - if(locked == false && window.fullScreen() == false && window.visible() == true) { - Geometry geometry = this->geometry(); - window.state.geometry.x = geometry.x; - window.state.geometry.y = geometry.y; +auto pWindow::sizeEvent() -> void { + if(!locked() && !self().fullScreen() && self().visible()) { + @autoreleasepool { + NSRect area = [cocoaWindow contentRectForFrameRect:[cocoaWindow frame]]; + area.size.height -= statusBarHeight(); + state().geometry.setWidth(area.size.width); + state().geometry.setHeight(area.size.height); + } } - if(locked == false) { - if(window.onMove) window.onMove(); - } -} - -void pWindow::sizeEvent() { - if(locked == false && window.fullScreen() == false && window.visible() == true) { - Geometry geometry = this->geometry(); - window.state.geometry.width = geometry.width; - window.state.geometry.height = geometry.height; - } - - for(auto& layout : window.state.layout) { - Geometry geometry = this->geometry(); - geometry.x = geometry.y = 0; - layout.setGeometry(geometry); + if(auto& layout = state().layout) { + layout->setGeometry(self().geometry().setPosition(0, 0)); } statusBarReposition(); - if(locked == false) { - if(window.onSize) window.onSize(); - } + if(!locked()) self().doSize(); } -unsigned pWindow::statusBarHeight() { - if(!window.state.statusVisible) return 0; - return Font::size(window.state.statusFont, " ").height + 6; +auto pWindow::statusBarHeight() -> uint { + if(!state().statusBar) return 0; +//return Font::size(window.state.statusFont, " ").height + 6; + return 0; } -void pWindow::statusBarReposition() { +auto pWindow::statusBarReposition() -> void { @autoreleasepool { NSRect area = [cocoaWindow contentRectForFrameRect:[cocoaWindow frame]]; [[cocoaWindow statusBar] setFrame:NSMakeRect(0, 0, area.size.width, statusBarHeight())]; @@ -412,4 +389,17 @@ void pWindow::statusBarReposition() { } } +auto pWindow::_append(mWidget& widget) -> void { + @autoreleasepool { + if(auto pWidget = widget.self()) { + [pWidget->cocoaView removeFromSuperview]; + [[cocoaWindow contentView] addSubview:pWidget->cocoaView positioned:NSWindowAbove relativeTo:nil]; + pWidget->setGeometry(widget.geometry()); + [[cocoaWindow contentView] setNeedsDisplay:YES]; + } + } } + +} + +#endif diff --git a/hiro/cocoa/window.hpp b/hiro/cocoa/window.hpp index bac1818a..dae360e0 100644 --- a/hiro/cocoa/window.hpp +++ b/hiro/cocoa/window.hpp @@ -1,11 +1,13 @@ +#if defined(Hiro_Window) + @interface CocoaWindow : NSWindow { @public - phoenix::Window* window; + hiro::mWindow* window; NSMenu* menuBar; NSMenu* rootMenu; NSTextField* statusBar; } --(id) initWith:(phoenix::Window&)window; +-(id) initWith:(hiro::mWindow&)window; -(BOOL) canBecomeKeyWindow; -(BOOL) canBecomeMainWindow; -(void) windowDidBecomeMain:(NSNotification*)notification; @@ -21,46 +23,41 @@ -(NSTextField*) statusBar; @end -namespace phoenix { +namespace hiro { + +struct pWindow : pObject { + Declare(Window, Object) + + static auto none() -> Window&; + + auto append(sLayout layout) -> void; + auto append(sMenuBar menuBar) -> void; + auto append(sStatusBar statusBar) -> void; + auto focused() const -> bool override; + auto frameMargin() const -> Geometry; + auto remove(sLayout layout) -> void; + auto remove(sMenuBar menuBar) -> void; + auto remove(sStatusBar statusBar) -> void; + auto setBackgroundColor(Color color) -> void; + auto setDroppable(bool droppable) -> void; + auto setFocused() -> void override; + auto setFullScreen(bool fullScreen) -> void; + auto setGeometry(Geometry geometry) -> void; + auto setModal(bool modal) -> void; + auto setResizable(bool resizable) -> void; + auto setTitle(const string& text) -> void; + auto setVisible(bool visible) -> void; + + auto moveEvent() -> void; + auto sizeEvent() -> void; + auto statusBarHeight() -> uint; + auto statusBarReposition() -> void; + + auto _append(mWidget& widget) -> void; -struct pWindow : public pObject { - Window& window; CocoaWindow* cocoaWindow = nullptr; - - static Window& none(); - - void append(Layout& layout); - void append(Menu& menu); - void append(Widget& widget); - bool focused(); - Geometry frameMargin(); - Geometry geometry(); - void remove(Layout& layout); - void remove(Menu& menu); - void remove(Widget& widget); - void setBackgroundColor(Color color); - void setDroppable(bool droppable); - void setFocused(); - void setFullScreen(bool fullScreen); - void setGeometry(Geometry geometry); - void setMenuFont(string font); - void setMenuVisible(bool visible); - void setModal(bool modal); - void setResizable(bool resizable); - void setStatusFont(string font); - void setStatusText(string text); - void setStatusVisible(bool visible); - void setTitle(string text); - void setVisible(bool visible); - void setWidgetFont(string font); - - pWindow(Window& window) : pObject(window), window(window) {} - void constructor(); - void destructor(); - void moveEvent(); - void sizeEvent(); - unsigned statusBarHeight(); - void statusBarReposition(); }; } + +#endif diff --git a/hiro/components.hpp b/hiro/components.hpp index 5fb6853f..bfb9a8d3 100644 --- a/hiro/components.hpp +++ b/hiro/components.hpp @@ -79,6 +79,17 @@ #define Hiro_HorizontalLayout #define Hiro_VerticalLayout +#if defined(HIRO_WINDOWS) || defined(HIRO_COCOA) || defined(HIRO_QT) + #undef Hiro_Console + #undef Hiro_IconView + #undef Hiro_SourceEdit + #undef Hiro_TreeView +#endif + +#if defined(HIRO_COCOA) + #undef Hiro_HexEdit +#endif + #if defined(Hiro_Button) && defined(Hiro_Canvas) && defined(Hiro_Label) #define Hiro_MessageDialog #endif @@ -86,10 +97,3 @@ #if defined(Hiro_Button) && defined(Hiro_ComboButton) && defined(Hiro_LineEdit) && defined(Hiro_ListView) && defined(Hiro_MessageDialog) #define Hiro_BrowserDialog #endif - -#if defined(HIRO_WINDOWS) || defined(HIRO_QT) - #undef Hiro_Console - #undef Hiro_IconView - #undef Hiro_SourceEdit - #undef Hiro_TreeView -#endif diff --git a/hiro/gtk/application.cpp b/hiro/gtk/application.cpp index 21323b82..9ca4c22a 100644 --- a/hiro/gtk/application.cpp +++ b/hiro/gtk/application.cpp @@ -6,7 +6,7 @@ namespace hiro { XlibDisplay* pApplication::display = nullptr; #endif -void pApplication::run() { +auto pApplication::run() -> void { if(Application::state.onMain) { while(!Application::state.quit) { Application::doMain(); @@ -17,15 +17,15 @@ void pApplication::run() { } } -bool pApplication::pendingEvents() { +auto pApplication::pendingEvents() -> bool { return gtk_events_pending(); } -void pApplication::processEvents() { +auto pApplication::processEvents() -> void { while(pendingEvents()) gtk_main_iteration_do(false); } -void pApplication::quit() { +auto pApplication::quit() -> void { //if gtk_main() was invoked, call gtk_main_quit() if(gtk_main_level()) gtk_main_quit(); @@ -37,7 +37,7 @@ void pApplication::quit() { #endif } -void pApplication::initialize() { +auto pApplication::initialize() -> void { #if defined(DISPLAY_XORG) display = XOpenDisplay(nullptr); #endif diff --git a/hiro/gtk/application.hpp b/hiro/gtk/application.hpp index 31247606..9f8feb73 100644 --- a/hiro/gtk/application.hpp +++ b/hiro/gtk/application.hpp @@ -7,12 +7,12 @@ struct pApplication { static XlibDisplay* display; #endif - static void run(); - static bool pendingEvents(); - static void processEvents(); - static void quit(); + static auto run() -> void; + static auto pendingEvents() -> bool; + static auto processEvents() -> void; + static auto quit() -> void; - static void initialize(); + static auto initialize() -> void; }; } diff --git a/hiro/gtk/browser-window.cpp b/hiro/gtk/browser-window.cpp index 1cffbfd4..947feb19 100644 --- a/hiro/gtk/browser-window.cpp +++ b/hiro/gtk/browser-window.cpp @@ -2,7 +2,7 @@ namespace hiro { -static void BrowserWindow_addFilters(GtkWidget* dialog, lstring filters) { +static auto BrowserWindow_addFilters(GtkWidget* dialog, lstring filters) -> void { for(auto& filter : filters) { GtkFileFilter* gtkFilter = gtk_file_filter_new(); gtk_file_filter_set_name(gtkFilter, filter); diff --git a/hiro/gtk/desktop.cpp b/hiro/gtk/desktop.cpp index c22b06e8..3a58829e 100644 --- a/hiro/gtk/desktop.cpp +++ b/hiro/gtk/desktop.cpp @@ -2,14 +2,14 @@ namespace hiro { -Size pDesktop::size() { +auto pDesktop::size() -> Size { return { gdk_screen_get_width(gdk_screen_get_default()), gdk_screen_get_height(gdk_screen_get_default()) }; } -Geometry pDesktop::workspace() { +auto pDesktop::workspace() -> Geometry { #if defined(DISPLAY_WINDOWS) RECT rc; SystemParametersInfo(SPI_GETWORKAREA, 0, &rc, 0); diff --git a/hiro/gtk/desktop.hpp b/hiro/gtk/desktop.hpp index 74efc343..2c179b61 100644 --- a/hiro/gtk/desktop.hpp +++ b/hiro/gtk/desktop.hpp @@ -3,8 +3,8 @@ namespace hiro { struct pDesktop { - static Size size(); - static Geometry workspace(); + static auto size() -> Size; + static auto workspace() -> Geometry; }; } diff --git a/hiro/gtk/keyboard.hpp b/hiro/gtk/keyboard.hpp index c7555f6f..5733268a 100644 --- a/hiro/gtk/keyboard.hpp +++ b/hiro/gtk/keyboard.hpp @@ -1,4 +1,4 @@ -#if defined(Hiro_Mouse) +#if defined(Hiro_Keyboard) namespace hiro { diff --git a/hiro/gtk/monitor.cpp b/hiro/gtk/monitor.cpp index b542cfa1..498ea8b6 100644 --- a/hiro/gtk/monitor.cpp +++ b/hiro/gtk/monitor.cpp @@ -2,17 +2,17 @@ namespace hiro { -unsigned pMonitor::count() { +auto pMonitor::count() -> uint { return gdk_screen_get_n_monitors(gdk_screen_get_default()); } -Geometry pMonitor::geometry(unsigned monitor) { +auto pMonitor::geometry(uint monitor) -> Geometry { GdkRectangle rectangle = {0}; gdk_screen_get_monitor_geometry(gdk_screen_get_default(), monitor, &rectangle); return {rectangle.x, rectangle.y, rectangle.width, rectangle.height}; } -unsigned pMonitor::primary() { +auto pMonitor::primary() -> uint { return gdk_screen_get_primary_monitor(gdk_screen_get_default()); } diff --git a/hiro/gtk/monitor.hpp b/hiro/gtk/monitor.hpp index e922bcfe..53df3c93 100644 --- a/hiro/gtk/monitor.hpp +++ b/hiro/gtk/monitor.hpp @@ -3,9 +3,9 @@ namespace hiro { struct pMonitor { - static unsigned count(); - static Geometry geometry(unsigned monitor); - static unsigned primary(); + static auto count() -> uint; + static auto geometry(unsigned monitor) -> Geometry; + static auto primary() -> uint; }; } diff --git a/hiro/gtk/timer.cpp b/hiro/gtk/timer.cpp index eb413ada..38b182b8 100644 --- a/hiro/gtk/timer.cpp +++ b/hiro/gtk/timer.cpp @@ -27,7 +27,7 @@ auto pTimer::setEnabled(bool enabled) -> void { } } -auto pTimer::setInterval(unsigned interval) -> void { +auto pTimer::setInterval(uint interval) -> void { } } diff --git a/hiro/gtk/timer.hpp b/hiro/gtk/timer.hpp index a5baf34f..57671ae7 100644 --- a/hiro/gtk/timer.hpp +++ b/hiro/gtk/timer.hpp @@ -6,7 +6,7 @@ struct pTimer : pObject { Declare(Timer, Object) auto setEnabled(bool enabled) -> void; - auto setInterval(unsigned interval) -> void; + auto setInterval(uint interval) -> void; }; } diff --git a/hiro/gtk/widget/widget.hpp b/hiro/gtk/widget/widget.hpp index 0a8ec0cb..831f0007 100644 --- a/hiro/gtk/widget/widget.hpp +++ b/hiro/gtk/widget/widget.hpp @@ -6,9 +6,9 @@ struct pWidget : pSizable { Declare(Widget, Sizable) virtual auto container(mWidget& widget) -> GtkWidget*; - virtual auto focused() const -> bool override; + auto focused() const -> bool override; auto setEnabled(bool enabled) -> void override; - virtual auto setFocused() -> void override; + auto setFocused() -> void override; auto setFont(const Font& font) -> void override; auto setGeometry(Geometry geometry) -> void override; auto setVisible(bool visible) -> void override; diff --git a/icarus/Database/Super Famicom.bml b/icarus/Database/Super Famicom.bml index 7a11bb65..ce2b349a 100644 --- a/icarus/Database/Super Famicom.bml +++ b/icarus/Database/Super Famicom.bml @@ -1,5 +1,32 @@ +cartridge sha256:dd499445275fca6692c0487a8bd70a23f6c8e78e766df0e3c58fbbe53f8adb06 + :board region=ntsc + : rom name=program.rom size=0x100000 + : map address=00-1f,80-9f:8000-ffff mask=0x8000 + : ram name=save.ram size=0x2000 + : map address=70-7d,f0-ff:0000-ffff + : + :information + : serial: SNS-ZF-CAN + : board: SHVC-1A3B-13 + : revision: 1.0 + : name: Legende de Zelda - La Triforce des Dieux, La + : title: La Legende de Zelda: La Triforce des Dieux + +cartridge sha256:e678a29a93111cf2016c487ba9977b14de8f719040651a42c74bd74eea2d0d81 + :board region=ntsc + : rom name=program.rom size=0x200000 + : map address=00-7d,80-ff:8000-ffff mask=0x8000 + : map address=40-7d,c0-ff:0000-7fff mask=0x8000 + : + :information + : serial: SNS-9D-LTN + : board: SHVC-1A0N-30 + : revision: 1.1 + : name: Death and Return of Superman, The + : title: The Death and Return of Superman + cartridge sha256:2ffe8828480f943056fb1ab5c3c84d48a0bf8cbe3ed7c9960b349b59adb07f3b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7,13 +34,12 @@ cartridge sha256:2ffe8828480f943056fb1ab5c3c84d48a0bf8cbe3ed7c9960b349b59adb07f3 :information : serial: SNS-A3NE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: 3 Ninjas Kick Back : title: 3 Ninjas Kick Back cartridge sha256:4dd631433c867ba920997fd3add2c838b62e70e06e0ef55c53884b8b68b0dd27 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -23,13 +49,12 @@ cartridge sha256:4dd631433c867ba920997fd3add2c838b62e70e06e0ef55c53884b8b68b0dd2 :information : serial: SNS-EL-USA : board: SHVC-2J3M-01 - : region: NA : revision: 1.0 : name: 7th Saga, The : title: The 7th Saga cartridge sha256:ce164872c4f5814bce04cf0565edcdb5b7969ae95a3b5cd515cfb626b5cde7b3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -37,13 +62,12 @@ cartridge sha256:ce164872c4f5814bce04cf0565edcdb5b7969ae95a3b5cd515cfb626b5cde7b :information : serial: SNS-ANNE-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Aaahh!!! Real Monsters : title: Aaahh!!! Real Monsters cartridge sha256:bb83f982961c33b81fefc1f545e18ab572d1c43cf6c241948544f05a1a71f2ba - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -52,13 +76,12 @@ cartridge sha256:bb83f982961c33b81fefc1f545e18ab572d1c43cf6c241948544f05a1a71f2b :information : serial: SNS-N5-USA : board: SHVC-1A3M-10 - : region: NA : revision: 1.0 : name: ABC Monday Night Football : title: ABC Monday Night Football cartridge sha256:d07e8802a6d9c777247874e05ec08fce7e0fa1bf122cc1ab9913f7d828e4072b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x8000 @@ -67,13 +90,12 @@ cartridge sha256:d07e8802a6d9c777247874e05ec08fce7e0fa1bf122cc1ab9913f7d828e4072 :information : serial: SNS-ACME-USA : board: SHVC-1A5M-11 - : region: NA : revision: 1.0 : name: ACME Animation Factory : title: ACME Animation Factory cartridge sha256:b8055844825653210d252d29a2229f9a3e7e512004e83940620173c57d8723f0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -82,13 +104,12 @@ cartridge sha256:b8055844825653210d252d29a2229f9a3e7e512004e83940620173c57d8723f :information : serial: SNS-AR-USA : board: SHVC-1A3B-11 - : region: NA : revision: 1.0 : name: ActRaiser : title: ActRaiser cartridge sha256:71bdd448a30b88725864e55594ebb67a118b1f197a3f9e5dd39dbf23399efa15 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -96,13 +117,12 @@ cartridge sha256:71bdd448a30b88725864e55594ebb67a118b1f197a3f9e5dd39dbf23399efa1 :information : serial: SNS-A8-USA : board: SHVC-2J0N-01 - : region: NA : revision: 1.0 : name: ActRaiser 2 : title: ActRaiser 2 cartridge sha256:e645310d2406ace85523ed91070ee7ff6aa245217267dacb158ae9fc75109692 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -110,13 +130,12 @@ cartridge sha256:e645310d2406ace85523ed91070ee7ff6aa245217267dacb158ae9fc7510969 :information : serial: SNS-AF-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Addams Family : title: The Addams Family cartridge sha256:b6957bae7fd97ba681afbf8962fe2138e209649fd88ed9add2d5233178680aaa - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -124,13 +143,12 @@ cartridge sha256:b6957bae7fd97ba681afbf8962fe2138e209649fd88ed9add2d5233178680aa :information : serial: SNS-AH-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Addams Family 2 - Pugsley's Scavenger Hunt : title: The Addams Family 2: Pugsley's Scavenger Hunt cartridge sha256:f59a0a8ed11ea2ba6217b1640e74bab8d8d8161a4585f5ae4a02edd7958ad9a3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -138,13 +156,12 @@ cartridge sha256:f59a0a8ed11ea2ba6217b1640e74bab8d8d8161a4585f5ae4a02edd7958ad9a :information : serial: SNS-VY-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Addams Family Values : title: Addams Family Values cartridge sha256:8083307f3f4b7df9e5bf53d5f25877c2e548f0f677540d4ee62d60ccca3098f8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -152,13 +169,12 @@ cartridge sha256:8083307f3f4b7df9e5bf53d5f25877c2e548f0f677540d4ee62d60ccca3098f :information : serial: SNS-ABTE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Adventures of Batman & Robin, The : title: The Adventures of Batman & Robin cartridge sha256:ecd964ae44e61203bc8759cfc6441365bf0c6e7bae6ad2a0fd553d4c7efab71e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -166,13 +182,12 @@ cartridge sha256:ecd964ae44e61203bc8759cfc6441365bf0c6e7bae6ad2a0fd553d4c7efab71 :information : serial: SNS-6F-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Adventures of Dr. Franken, The : title: The Adventures of Dr. Franken cartridge sha256:670d898bdcf97d7ca3aab6c2dd1641f1270fcc2a070bbd3028ab413aef2b2ecc - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x140000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -180,13 +195,12 @@ cartridge sha256:670d898bdcf97d7ca3aab6c2dd1641f1270fcc2a070bbd3028ab413aef2b2ec :information : serial: SNS-YK-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Adventures of Kid Kleets, The : title: The Adventures of Kid Kleets cartridge sha256:889beb58d2a48a05a6230cabda14555cb030e2e986c0293bdf396e85af5c6798 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -194,13 +208,12 @@ cartridge sha256:889beb58d2a48a05a6230cabda14555cb030e2e986c0293bdf396e85af5c679 :information : serial: SNS-AMOE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Adventures of Mighty Max, The : title: The Adventures of Mighty Max cartridge sha256:b70099186d3774355ac5db370240e370c73f9ce5341f6c805cf9f771374b43ae - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -208,13 +221,12 @@ cartridge sha256:b70099186d3774355ac5db370240e370c73f9ce5341f6c805cf9f771374b43a :information : serial: SNS-RZ-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Adventures of Rocky and Bullwinkle and Friends, The : title: The Adventures of Rocky and Bullwinkle and Friends cartridge sha256:8049175767eddbc3e21ca5b94ee23fc225f834ccfab4ded30d2e981b0ef73ab6 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -222,13 +234,12 @@ cartridge sha256:8049175767eddbc3e21ca5b94ee23fc225f834ccfab4ded30d2e981b0ef73ab :information : serial: SNS-Y8-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Adventures of Yogi Bear : title: Adventures of Yogi Bear cartridge sha256:b737de81315eef8ded7cfd5df6b37aba01d9e6e14566486db7ec83eb0c1aa85e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x140000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -236,13 +247,12 @@ cartridge sha256:b737de81315eef8ded7cfd5df6b37aba01d9e6e14566486db7ec83eb0c1aa85 :information : serial: SNS-AERE-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Aero Fighters : title: Aero Fighters cartridge sha256:18a553dafd4980cc2869180b05f9fdf6e980bf092cc683e498ec6373c9701c6e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -250,13 +260,12 @@ cartridge sha256:18a553dafd4980cc2869180b05f9fdf6e980bf092cc683e498ec6373c9701c6 :information : serial: SNS-XB-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Aero the Acro-Bat : title: Aero the Acro-Bat cartridge sha256:fc5df5db0a96d39d3df651f63993adf0f5cb5a6b92a36211f3a05d460d92c72d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -264,13 +273,12 @@ cartridge sha256:fc5df5db0a96d39d3df651f63993adf0f5cb5a6b92a36211f3a05d460d92c72 :information : serial: SNS-AE2E-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Aero the Acro-Bat 2 : title: Aero the Acro-Bat 2 cartridge sha256:d5f0fbeed3774bbccbd769698fc4051487a0a5eb699790a8a094451595600f60 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -279,13 +287,12 @@ cartridge sha256:d5f0fbeed3774bbccbd769698fc4051487a0a5eb699790a8a094451595600f6 :information : serial: SNS-AL-USA : board: SHVC-1A3B-13 - : region: NA : revision: 1.0 : name: Aerobiz : title: Aerobiz cartridge sha256:6b6921d7aba9ba353e96e39c8d79d24eef1b84eb5c7fa54edaa83d2447dcd954 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -294,13 +301,12 @@ cartridge sha256:6b6921d7aba9ba353e96e39c8d79d24eef1b84eb5c7fa54edaa83d2447dcd95 :information : serial: SNS-AG-USA : board: SHVC-1A3M-21 - : region: NA : revision: 1.0 : name: Aerobiz Supersonic : title: Aerobiz Supersonic cartridge sha256:1f5738552c51de25ffe8aa44ff396c1ab238435296f1e8f99f8cf335483c03d5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -308,13 +314,12 @@ cartridge sha256:1f5738552c51de25ffe8aa44ff396c1ab238435296f1e8f99f8cf335483c03d :information : serial: SNS-ACCE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Air Cavalry : title: Air Cavalry cartridge sha256:69c5805ad0494703e7d636d3d40d615d33e79bebef9d2cdb4a23b73d44c7b6f9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -323,13 +328,12 @@ cartridge sha256:69c5805ad0494703e7d636d3d40d615d33e79bebef9d2cdb4a23b73d44c7b6f :information : serial: SNS-4A-USA : board: SHVC-1A3M-21 - : region: NA : revision: 1.0 : name: Air Strike Patrol : title: Air Strike Patrol cartridge sha256:0099bdb56e4190f81440c8c29395ecc15d78eeabfc38a93dca4773817d6f720f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -337,13 +341,12 @@ cartridge sha256:0099bdb56e4190f81440c8c29395ecc15d78eeabfc38a93dca4773817d6f720 :information : serial: SNS-AUJE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Al Unser Jr.'s Road to the Top : title: Al Unser Jr.'s Road to the Top cartridge sha256:aa768b8b00123717c8d49f2c6731cdbfd80ab6a54128bae7594e93f45e38a19e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x140000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -351,13 +354,12 @@ cartridge sha256:aa768b8b00123717c8d49f2c6731cdbfd80ab6a54128bae7594e93f45e38a19 :information : serial: SNS-RJ-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Aladdin : title: Aladdin cartridge sha256:e637b8241d55ee334a3452888df5e30d72c520dbb55c498db1a984438bab3e55 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -365,13 +367,12 @@ cartridge sha256:e637b8241d55ee334a3452888df5e30d72c520dbb55c498db1a984438bab3e5 :information : serial: SNS-A3-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Alien 3 : title: Alien 3 cartridge sha256:05eb897d7696555790591c431c9d55a43ff9a1c12162443c17c5fcddfa5eb3c5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -379,13 +380,12 @@ cartridge sha256:05eb897d7696555790591c431c9d55a43ff9a1c12162443c17c5fcddfa5eb3c :information : serial: SNS-AP-USA : board: SHVC-YA0N-01 - : region: NA : revision: 1.0 : name: Alien vs. Predator : title: Alien vs. Predator cartridge sha256:dc9cefb4dd50dce2e9d626ac71d4a06306516cba4bc784c90e4a30fe4e7ff4ef - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -393,13 +393,12 @@ cartridge sha256:dc9cefb4dd50dce2e9d626ac71d4a06306516cba4bc784c90e4a30fe4e7ff4e :information : serial: SNS-AA-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: American Gladiators : title: American Gladiators cartridge sha256:6931a3eacb7ab3c2f2fb57ba7d59c6da56fe6c7d60484cebec9332e6caca3ae9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -407,13 +406,12 @@ cartridge sha256:6931a3eacb7ab3c2f2fb57ba7d59c6da56fe6c7d60484cebec9332e6caca3ae :information : serial: SNS-9W-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: American Tail - Fievel Goes West, An : title: An American Tail: Fievel Goes West cartridge sha256:9abb426bac62e03e4437f5a9a8455c3000042f339125cc60ae29382ae89d8493 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -421,13 +419,12 @@ cartridge sha256:9abb426bac62e03e4437f5a9a8455c3000042f339125cc60ae29382ae89d849 :information : serial: SNS-7A-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Andre Agassi Tennis : title: Andre Agassi Tennis cartridge sha256:626f1fe52b0df0f8ede23f0062cd842321c8dabf14aefdca12e526876ecf383a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -435,13 +432,12 @@ cartridge sha256:626f1fe52b0df0f8ede23f0062cd842321c8dabf14aefdca12e526876ecf383 :information : serial: SNS-ANCE-USA : board: MJSC-1A0N-30 - : region: NA : revision: 1.0 : name: Animaniacs : title: Animaniacs cartridge sha256:31569bef662bc438194726967970bf19f504101060763cbd649350362fb6ef2f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -449,13 +445,12 @@ cartridge sha256:31569bef662bc438194726967970bf19f504101060763cbd649350362fb6ef2 :information : serial: SNS-AW7E-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Arcade's Greatest Hits - The Atari Collection 1 : title: Arcade's Greatest Hits: The Atari Collection 1 cartridge sha256:aac9d6f2b8408e4bbdc83ebbba755428caf8021fefbfac7220fb4c772abd9944 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -464,13 +459,12 @@ cartridge sha256:aac9d6f2b8408e4bbdc83ebbba755428caf8021fefbfac7220fb4c772abd994 :information : serial: SNS-RF-USA : board: SHVC-1A3B-13 - : region: NA : revision: 1.0 : name: Arcana : title: Arcana cartridge sha256:0f474dafe5a26f3dea491d18073dd490d2f1f91313a7e91086565510d38d9a09 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -478,13 +472,12 @@ cartridge sha256:0f474dafe5a26f3dea491d18073dd490d2f1f91313a7e91086565510d38d9a0 :information : serial: SNS-A9-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Ardy Light Foot : title: Ardy Light Foot cartridge sha256:14d3ece30898587eda20c661a4a55ec595ba6352ca1f0bfc177542aa0eef0039 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -492,13 +485,12 @@ cartridge sha256:14d3ece30898587eda20c661a4a55ec595ba6352ca1f0bfc177542aa0eef003 :information : serial: SNS-A6-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Arkanoid - Doh It Again! : title: Arkanoid: Doh It Again! cartridge sha256:55e57c5e012583ff0fafd1aee16b3f8269ee2b34fe10f10b93ba0dde72f2b78d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -506,13 +498,12 @@ cartridge sha256:55e57c5e012583ff0fafd1aee16b3f8269ee2b34fe10f10b93ba0dde72f2b78 :information : serial: SNS-RW-USA : board: SHVC-1J0N-01 - : region: NA : revision: 1.0 : name: Art of Fighting : title: Art of Fighting cartridge sha256:2431f8dc067ba27c6c3a846929f3deac6a45aa53a9a9ac20ede8ec5ca6854ea2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -520,13 +511,12 @@ cartridge sha256:2431f8dc067ba27c6c3a846929f3deac6a45aa53a9a9ac20ede8ec5ca6854ea :information : serial: SNS-AX-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Axelay : title: Axelay cartridge sha256:a3213e40d7abbc25a5b909642433103b06d8f90500c930bf64093ade0329da78 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -539,13 +529,12 @@ cartridge sha256:a3213e40d7abbc25a5b909642433103b06d8f90500c930bf64093ade0329da7 :information : serial: SNS-ABZE-USA : board: SHVC-1K0N-01 - : region: NA : revision: 1.0 : name: Ballz 3D : title: Ballz 3D cartridge sha256:865919b25a9d241c907bcda18b380e3c704f33f4997ad44559046f0f08c4968b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -553,13 +542,12 @@ cartridge sha256:865919b25a9d241c907bcda18b380e3c704f33f4997ad44559046f0f08c4968 :information : serial: SNS-8L-USA : board: SHVC-YA0N-01 - : region: NA : revision: 1.0 : name: Barbie Super Star : title: Barbie Super Star cartridge sha256:fe1ad128313b2b9a47f89cf0d95d4c0cc2cb35a817ac5d915ee6c4d98d47d675 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -567,13 +555,12 @@ cartridge sha256:fe1ad128313b2b9a47f89cf0d95d4c0cc2cb35a817ac5d915ee6c4d98d47d67 :information : serial: SNS-U5-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Barkley Shut Up and Jam! : title: Barkley Shut Up and Jam! cartridge sha256:c670e16c076f6d92ba581b78769b604e79ad567c04c647dac557f45a48c3448f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -581,13 +568,12 @@ cartridge sha256:c670e16c076f6d92ba581b78769b604e79ad567c04c647dac557f45a48c3448 :information : serial: SNS-ABAE-USA : board: SHVC-2A0N-20 - : region: NA : revision: 1.0 : name: Bass Masters Classic : title: Bass Masters Classic cartridge sha256:db1ac03cc8b7daaa812da239029bcf999b30b2afe1c03d51f7ae849a796617ea - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -595,13 +581,12 @@ cartridge sha256:db1ac03cc8b7daaa812da239029bcf999b30b2afe1c03d51f7ae849a796617e :information : serial: SNS-A9BE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Bass Masters Classic - Pro Edition : title: Bass Masters Classic: Pro Edition cartridge sha256:e2be173c77bd1957787be36d13334f655e14d32dad99cacb0fd5e5fc65d96fa1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -610,13 +595,12 @@ cartridge sha256:e2be173c77bd1957787be36d13334f655e14d32dad99cacb0fd5e5fc65d96fa :information : serial: SNS-AB2E-USA : board: SHVC-1A3M-21 - : region: NA : revision: 1.0 : name: Bassin's Black Bass : title: Bassin's Black Bass cartridge sha256:e36aaba64be016cabc33a2dcf88913341e2edacc722e2a1ebe04eccda2a5d6e7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -624,13 +608,12 @@ cartridge sha256:e36aaba64be016cabc33a2dcf88913341e2edacc722e2a1ebe04eccda2a5d6e :information : serial: SNS-A3BE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Batman Forever : title: Batman Forever cartridge sha256:f8d5c51f74df33edc827fbf8df7aab70160770ab0a896db6e59438ad9208cc6e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -638,13 +621,12 @@ cartridge sha256:f8d5c51f74df33edc827fbf8df7aab70160770ab0a896db6e59438ad9208cc6 :information : serial: SNS-BJ-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Batman Returns : title: Batman Returns cartridge sha256:983022203546e031773db0d1af7552c489187954882843f13ff123f09064c1d3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -652,13 +634,12 @@ cartridge sha256:983022203546e031773db0d1af7552c489187954882843f13ff123f09064c1d :information : serial: SNS-BZ-USA : board: SHVC-YA0N-01 - : region: NA : revision: 1.0 : name: Battle Blaze : title: Battle Blaze cartridge sha256:d19113964c4d268e986018e256e9358cde9a23a05e6053b54c0f2d950dcdf395 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -666,13 +647,12 @@ cartridge sha256:d19113964c4d268e986018e256e9358cde9a23a05e6053b54c0f2d950dcdf39 :information : serial: SNS-4B-USA : board: SHVC-YA0N-01 - : region: NA : revision: 1.0 : name: Battle Cars : title: Battle Cars cartridge sha256:32f42fda0667d9435a2de84c7ce7b067bcbab1164f8f6d837992ad6cfac4f8de - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -680,13 +660,12 @@ cartridge sha256:32f42fda0667d9435a2de84c7ce7b067bcbab1164f8f6d837992ad6cfac4f8d :information : serial: SNS-BT-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Battle Clash : title: Battle Clash cartridge sha256:6e436020d967d35a0f7ce43e38e83a616b70696ae7d35b37cd56601cfb3822ba - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -694,13 +673,12 @@ cartridge sha256:6e436020d967d35a0f7ce43e38e83a616b70696ae7d35b37cd56601cfb3822b :information : serial: SNS-BG-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Battle Grand Prix : title: Battle Grand Prix cartridge sha256:c7f0269498d190e4fd0f6f880a148fbe3713cd3a632083bac1e5bd18f8172371 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -708,13 +686,12 @@ cartridge sha256:c7f0269498d190e4fd0f6f880a148fbe3713cd3a632083bac1e5bd18f817237 :information : serial: SNS-UL-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Battletoads & Double Dragon : title: Battletoads & Double Dragon cartridge sha256:b0dbd4d7e5689c32234e80b0c5362ef67c425ab72d6ddb49d1cb1133ef630ef7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -722,13 +699,12 @@ cartridge sha256:b0dbd4d7e5689c32234e80b0c5362ef67c425ab72d6ddb49d1cb1133ef630ef :information : serial: SNS-NX-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Battletoads in Battlemaniacs : title: Battletoads in Battlemaniacs cartridge sha256:0b0f991da7ce4b3c2974d6adf62191ec554db9793c5def14cdfb62b7ae28cc98 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -736,13 +712,12 @@ cartridge sha256:0b0f991da7ce4b3c2974d6adf62191ec554db9793c5def14cdfb62b7ae28cc9 :information : serial: SNS-BY-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Bazooka Blitzkrieg : title: Bazooka Blitzkrieg cartridge sha256:d7271ca08400bbf5ae165b0aaa6e8a8a1b266f72e6e0ae10aae529732a472f7c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -750,13 +725,12 @@ cartridge sha256:d7271ca08400bbf5ae165b0aaa6e8a8a1b266f72e6e0ae10aae529732a472f7 :information : serial: SNS-EW-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Beauty and the Beast : title: Beauty and the Beast cartridge sha256:15d4fc90cb202a9391718cd40b9f0384165aef03018ed932540e8f7c18b397dd - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -764,13 +738,12 @@ cartridge sha256:15d4fc90cb202a9391718cd40b9f0384165aef03018ed932540e8f7c18b397d :information : serial: SNS-ABUE-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Beavis and Butt-Head : title: Beavis and Butt-Head cartridge sha256:4958eda26f2419f473449017c64121caee5e49c480ffa205422e7dd45cd23e31 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -778,13 +751,12 @@ cartridge sha256:4958eda26f2419f473449017c64121caee5e49c480ffa205422e7dd45cd23e3 :information : serial: SNS-6B-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Bebe's Kids : title: Bebe's Kids cartridge sha256:4d22279e534848012e0f1595468687742ae18cabc3fe44eeef938bc3a4dd08bf - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -792,13 +764,12 @@ cartridge sha256:4d22279e534848012e0f1595468687742ae18cabc3fe44eeef938bc3a4dd08b :information : serial: SNS-2V-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Beethoven - The Ultimate Canine Caper! : title: Beethoven: The Ultimate Canine Caper! cartridge sha256:e4e9beaeeb3e968af772d1c4c9e4c1b4dfdba4e47c0205b458e1ab3a62a96060 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -806,13 +777,12 @@ cartridge sha256:e4e9beaeeb3e968af772d1c4c9e4c1b4dfdba4e47c0205b458e1ab3a62a9606 :information : serial: SNS-BE-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Best of the Best - Championship Karate : title: Best of the Best: Championship Karate cartridge sha256:4cb601168c91fa0608c16a8cf2f292d991c6a5615d51861dee2f9b91c8d6bb19 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -821,13 +791,12 @@ cartridge sha256:4cb601168c91fa0608c16a8cf2f292d991c6a5615d51861dee2f9b91c8d6bb1 :information : serial: SNS-AB9E-USA : board: SHVC-1A1M-20 - : region: NA : revision: 1.0 : name: Big Sky Trooper : title: Big Sky Trooper cartridge sha256:91ba5691dea3cdf103177ae5779110fc372fce8229cf91f263073667e7a8b5b7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -835,13 +804,12 @@ cartridge sha256:91ba5691dea3cdf103177ae5779110fc372fce8229cf91f263073667e7a8b5b :information : serial: SNS-ABME-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Biker Mice from Mars : title: Biker Mice from Mars cartridge sha256:6fa6b8a8804ff6544bdedf94339a86ba64ce0b6dbf059605abb1cd6f102d3483 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -850,13 +818,12 @@ cartridge sha256:6fa6b8a8804ff6544bdedf94339a86ba64ce0b6dbf059605abb1cd6f102d348 :information : serial: SNS-C8-USA : board: SHVC-1A3B-12 - : region: NA : revision: 1.0 : name: Bill Laimbeer's Combat Basketball : title: Bill Laimbeer's Combat Basketball cartridge sha256:ec2d91e238c26a5ddf7067d104b3b3e2eaee89255377e1eb6c4df8f301300e64 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -864,13 +831,12 @@ cartridge sha256:ec2d91e238c26a5ddf7067d104b3b3e2eaee89255377e1eb6c4df8f301300e6 :information : serial: SNS-7F-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Bill Walsh College Football : title: Bill Walsh College Football cartridge sha256:de1de85ad549a6aaf0431cceb47cbd07e1f6e81f9e16fd62575305e2c1f06240 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -878,13 +844,12 @@ cartridge sha256:de1de85ad549a6aaf0431cceb47cbd07e1f6e81f9e16fd62575305e2c1f0624 :information : serial: SNS-BV-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Bio Metal : title: Bio Metal cartridge sha256:328c8f57e2ea371f6fd5b8a9834c56e35eb3bfe710502dd80f370739f9ccb7e1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -892,13 +857,12 @@ cartridge sha256:328c8f57e2ea371f6fd5b8a9834c56e35eb3bfe710502dd80f370739f9ccb7e :information : serial: SNS-6Z-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Blackthorne : title: Blackthorne cartridge sha256:0d4e0d134396bd1c7254cdc1da356eb944ca14910b6690f484a75a9c3a8106e7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -906,13 +870,12 @@ cartridge sha256:0d4e0d134396bd1c7254cdc1da356eb944ca14910b6690f484a75a9c3a8106e :information : serial: SNS-BL-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: BlaZeon - The Bio-Cyborg Challenge : title: BlaZeon: The Bio-Cyborg Challenge cartridge sha256:99f40f06fa4dbeeea4fe67d2de5b4c1bf301bedac1958ba1c239dcaf39b0a998 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -920,13 +883,12 @@ cartridge sha256:99f40f06fa4dbeeea4fe67d2de5b4c1bf301bedac1958ba1c239dcaf39b0a99 :information : serial: SNS-B6-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Blues Brothers, The : title: The Blues Brothers cartridge sha256:9e6ebebcf14609c2a38a5f4409d0c8c859949cded70c5b6fd16fd15d9983d9d3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -934,13 +896,12 @@ cartridge sha256:9e6ebebcf14609c2a38a5f4409d0c8c859949cded70c5b6fd16fd15d9983d9d :information : serial: SNS-B4-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: BOB : title: B.O.B. cartridge sha256:854d2492d1cb059749bb0904ca5f92a5eeec09167abf84f7cca4023b1819e4f0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -948,13 +909,12 @@ cartridge sha256:854d2492d1cb059749bb0904ca5f92a5eeec09167abf84f7cca4023b1819e4f :information : serial: SNS-ABNE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Bonkers : title: Bonkers cartridge sha256:8f131182b286bd87f12cf4f00453336538ce690d0e1f0972ac0be98df4d48987 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -962,13 +922,12 @@ cartridge sha256:8f131182b286bd87f12cf4f00453336538ce690d0e1f0972ac0be98df4d4898 :information : serial: SNS-AB4E-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Boogerman - A Pick and Flick Adventure : title: Boogerman: A Pick and Flick Adventure cartridge sha256:e67940a2106c1507f3a8d38790f263bbbf814578ebf3dbc4e3eb6007d310793c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -976,13 +935,12 @@ cartridge sha256:e67940a2106c1507f3a8d38790f263bbbf814578ebf3dbc4e3eb6007d310793 :information : serial: SNS-LL-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Boxing Legends of the Ring : title: Boxing Legends of the Ring cartridge sha256:f4666355e7fea434843dc6d5119673bd6c23e69b884aac0b382ff036997e52b5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -992,13 +950,12 @@ cartridge sha256:f4666355e7fea434843dc6d5119673bd6c23e69b884aac0b382ff036997e52b :information : serial: SNS-3B-USA : board: SHVC-2J3M-11 - : region: NA : revision: 1.0 : name: Brain Lord : title: Brain Lord cartridge sha256:9885ca148d32c4df6230642bcfa153f7e51b9559415042a831db14d07b3e6c3d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1006,13 +963,12 @@ cartridge sha256:9885ca148d32c4df6230642bcfa153f7e51b9559415042a831db14d07b3e6c3 :information : serial: SNS-B7-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Brainies, The : title: The Brainies cartridge sha256:bbde8b46c7262f9d4a5b3926a00850cb00b4f7711f6421f0adf4e2b0c847a5d6 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1020,13 +976,12 @@ cartridge sha256:bbde8b46c7262f9d4a5b3926a00850cb00b4f7711f6421f0adf4e2b0c847a5d :information : serial: SNS-5D-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Bram Stoker's Dracula : title: Bram Stoker's Dracula cartridge sha256:130a74e76369b0ec4d6378a014550921433f1ae1ac1dddffb51f77c9f21a818f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -1036,13 +991,12 @@ cartridge sha256:130a74e76369b0ec4d6378a014550921433f1ae1ac1dddffb51f77c9f21a818 :information : serial: SNS-QF-USA : board: SHVC-2J5M-01 - : region: NA : revision: 1.0 : name: Brandish : title: Brandish cartridge sha256:044b61613ed66eae08abd5fa5dcd13b24aab11a942e3309cdff624d198c47440 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1050,13 +1004,12 @@ cartridge sha256:044b61613ed66eae08abd5fa5dcd13b24aab11a942e3309cdff624d198c4744 :information : serial: SNS-RE-USA : board: SHVC-2A0N-10 - : region: NA : revision: 1.0 : name: Brawl Brothers : title: Brawl Brothers cartridge sha256:aad8c9be1b7a9662256b0c3d76f5b7a273bcd497aa838232d307e9f2e80cf699 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1064,13 +1017,12 @@ cartridge sha256:aad8c9be1b7a9662256b0c3d76f5b7a273bcd497aa838232d307e9f2e80cf69 :information : serial: SNS-ABXE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: BreakThru! : title: BreakThru! cartridge sha256:cbc496a7879ba78f32c51c3df4ba1a1a42f17d78d48a39ea9c709d1ad18cb8df - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -1079,13 +1031,12 @@ cartridge sha256:cbc496a7879ba78f32c51c3df4ba1a1a42f17d78d48a39ea9c709d1ad18cb8d :information : serial: SNS-BF-USA : board: SHVC-2A3M-11 - : region: NA : revision: 1.0 : name: Breath of Fire : title: Breath of Fire cartridge sha256:fede9d4aec8c35ed11e2868c3c517bce53ee3e6af724085c92500e99e43e63de - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -1095,13 +1046,12 @@ cartridge sha256:fede9d4aec8c35ed11e2868c3c517bce53ee3e6af724085c92500e99e43e63d :information : serial: SNS-AF2E-USA : board: SHVC-1J3M-20 - : region: NA : revision: 1.0 : name: Breath of Fire II : title: Breath of Fire II cartridge sha256:99450b45ccc70a1ed387f968c8f863a3c7f6a4b86809e841c25a71e1e904ac61 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1109,13 +1059,12 @@ cartridge sha256:99450b45ccc70a1ed387f968c8f863a3c7f6a4b86809e841c25a71e1e904ac6 :information : serial: SNS-5Y-USA : board: SHVC-2A0N-01 - : region: NA : revision: 1.0 : name: Brett Hull Hockey '94 : title: Brett Hull Hockey cartridge sha256:a427db4860cb5140935f263ba872fe14949c3548db644fed46b2edf3dff3d4a8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1123,13 +1072,12 @@ cartridge sha256:a427db4860cb5140935f263ba872fe14949c3548db644fed46b2edf3dff3d4a :information : serial: SNS-ABHE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Brett Hull Hockey '95 : title: Brett Hull Hockey '95 cartridge sha256:f2bc4cb460dfc5d5288065a2f529190b72e69d4e02634246086244c20f30521c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1137,13 +1085,12 @@ cartridge sha256:f2bc4cb460dfc5d5288065a2f529190b72e69d4e02634246086244c20f30521 :information : serial: SNS-AB6E-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Bronkie the Bronchiasaurus : title: Bronkie the Bronchiasaurus cartridge sha256:ee00c57ddfa9b967d1857acb518df039ba73055bdebe78db014de0f5da262fd9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -1151,13 +1098,12 @@ cartridge sha256:ee00c57ddfa9b967d1857acb518df039ba73055bdebe78db014de0f5da262fd :information : serial: SNS-AWUE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Brunswick World Tournament of Champions : title: Brunswick World Tournament of Champions cartridge sha256:9e3ad5e521e759a2e2260ea8072eb3314b6fcf67a3b7247357a5de9bcb24eeaa - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1165,13 +1111,12 @@ cartridge sha256:9e3ad5e521e759a2e2260ea8072eb3314b6fcf67a3b7247357a5de9bcb24eea :information : serial: SNS-ABLE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Brutal - Paws of Fury : title: Brutal: Paws of Fury cartridge sha256:811cbc3287c0959e8eb242e817684d36de664ebebc5873a1fa9958693857c438 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1179,13 +1124,12 @@ cartridge sha256:811cbc3287c0959e8eb242e817684d36de664ebebc5873a1fa9958693857c43 :information : serial: SNS-UY-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Bubsy I - Claws Encounters of the Furred Kind : title: Bubsy in Claws Encounters of the Furred Kind cartridge sha256:2357d344af77d25dda030520ce203045fd9060f83e3b9609a228dba859d9017b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -1193,13 +1137,12 @@ cartridge sha256:2357d344af77d25dda030520ce203045fd9060f83e3b9609a228dba859d9017 :information : serial: SNS-ABBE-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Bubsy II : title: Bubsy II cartridge sha256:49020695a017acc3dfadea97a60e28609e583571f69c5abeb3c6b1c2db8113fa - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1207,13 +1150,12 @@ cartridge sha256:49020695a017acc3dfadea97a60e28609e583571f69c5abeb3c6b1c2db8113f :information : serial: SNS-R7-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Bugs Bunny - Rabbit Rampage : title: Bugs Bunny: Rabbit Rampage cartridge sha256:ba4f31353e0e1233b574391ad97a80901d7de212e2c55d7be2af11a9a57c8225 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1221,13 +1163,12 @@ cartridge sha256:ba4f31353e0e1233b574391ad97a80901d7de212e2c55d7be2af11a9a57c822 :information : serial: SNS-BU-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Bulls vs. Blazers and the NBA Playoffs : title: Bulls vs. Blazers and the NBA Playoffs cartridge sha256:d8b3d9267470adb8ef2d197ade44476e504c0823f8fe9d2cf2883a03aa75bd49 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1235,13 +1176,12 @@ cartridge sha256:d8b3d9267470adb8ef2d197ade44476e504c0823f8fe9d2cf2883a03aa75bd4 :information : serial: SNS-BU-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.1 : name: Bulls vs. Blazers and the NBA Playoffs : title: Bulls vs. Blazers and the NBA Playoffs cartridge sha256:d6f6c30732dae8d00cd83628c3156acbdf26f99df701f779522e21de74dae5fe - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1249,13 +1189,12 @@ cartridge sha256:d6f6c30732dae8d00cd83628c3156acbdf26f99df701f779522e21de74dae5f :information : serial: SNS-AYKE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Bust-a-Move : title: Bust-a-Move cartridge sha256:a8294d449bbb8370816efe0374704e8af20dbbde9c19afe969d898528bc293d0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1263,13 +1202,12 @@ cartridge sha256:a8294d449bbb8370816efe0374704e8af20dbbde9c19afe969d898528bc293d :information : serial: SNS-CC-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Cacoma Knight in Bizyland : title: Cacoma Knight in Bizyland cartridge sha256:75993076c8773e7c7d555ef290be10590def40ca7b83307b8dc86556b04a6565 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1277,13 +1215,12 @@ cartridge sha256:75993076c8773e7c7d555ef290be10590def40ca7b83307b8dc86556b04a656 :information : serial: SNS-CJ-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Cal Ripken Jr. Baseball : title: Cal Ripken Jr. Baseball cartridge sha256:19f4a1f08aa55ff3cc8ff7ae60ffe03f0e436e8d8901455f1311f2276497a492 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1291,13 +1228,12 @@ cartridge sha256:19f4a1f08aa55ff3cc8ff7ae60ffe03f0e436e8d8901455f1311f2276497a49 :information : serial: SNS-C2-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: California Games II : title: California Games II cartridge sha256:6cdec3cb9c91aa23feb13005f874bda580c2f548302874491a31951031c9dbbd - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -1306,13 +1242,12 @@ cartridge sha256:6cdec3cb9c91aa23feb13005f874bda580c2f548302874491a31951031c9dbb :information : serial: SNS-ASCE-USA : board: SHVC-2A1M-01 - : region: NA : revision: 1.0 : name: Cannondale Cup : title: Cannondale Cup cartridge sha256:9590110a990e90f525d5c8d70fc2a3da10879378003173b6761afb8bf042ee0d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1320,13 +1255,12 @@ cartridge sha256:9590110a990e90f525d5c8d70fc2a3da10879378003173b6761afb8bf042ee0 :information : serial: SNS-NL-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Capcom's MVP Football : title: Capcom's MVP Football cartridge sha256:fd5761f9dd1f2b87ad11df6085046d0dfcdc3a79139263e47b0cff707966ba51 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1334,13 +1268,12 @@ cartridge sha256:fd5761f9dd1f2b87ad11df6085046d0dfcdc3a79139263e47b0cff707966ba5 :information : serial: SNS-JL-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Capcom's Soccer Shootout : title: Capcom's Soccer Shootout cartridge sha256:2a117951adcfbc4298763673a834d502c3f7a3964db1e59650f113c07bb831fb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1348,13 +1281,12 @@ cartridge sha256:2a117951adcfbc4298763673a834d502c3f7a3964db1e59650f113c07bb831f :information : serial: SNS-6A-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Captain America and The Avengers : title: Captain America and The Avengers cartridge sha256:d9b7f9356be0780f0037093a86ef8450f15e569cbd3680073d1cd345dfadb709 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -1362,13 +1294,12 @@ cartridge sha256:d9b7f9356be0780f0037093a86ef8450f15e569cbd3680073d1cd345dfadb70 :information : serial: SNS-QM-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Captain Commando : title: Captain Commando cartridge sha256:8784614896e2b3e8d98c8166613ca5d2329643795a4dc107791c58c6c51e1268 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1376,13 +1307,12 @@ cartridge sha256:8784614896e2b3e8d98c8166613ca5d2329643795a4dc107791c58c6c51e126 :information : serial: SNS-CP-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Captain Novolin : title: Captain Novolin cartridge sha256:ee5fc27dd19a2ecb3c3c7c73d558a18ffd5ff365710c18b88150e277f08d587e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1390,13 +1320,12 @@ cartridge sha256:ee5fc27dd19a2ecb3c3c7c73d558a18ffd5ff365710c18b88150e277f08d587 :information : serial: SNS-ACAE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Carrier Aces : title: Carrier Aces cartridge sha256:b9b982cd8f91c51089d49b550f11882b1ee785ebddcb7355cfc465916d61a042 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1404,13 +1333,12 @@ cartridge sha256:b9b982cd8f91c51089d49b550f11882b1ee785ebddcb7355cfc465916d61a04 :information : serial: SNS-AXCE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Casper : title: Casper cartridge sha256:367725a149a471411e4f72ad77603b61fb101c9cab4521be5647e13708cc97ba - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1418,13 +1346,12 @@ cartridge sha256:367725a149a471411e4f72ad77603b61fb101c9cab4521be5647e13708cc97b :information : serial: SNS-ADZE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Castlevania - Dracula X : title: Castlevania: Dracula X cartridge sha256:32008c429eafe7eb59aff7a89f77e1a267f02f9061ff8830ade7b99081e27f7c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1432,13 +1359,12 @@ cartridge sha256:32008c429eafe7eb59aff7a89f77e1a267f02f9061ff8830ade7b99081e27f7 :information : serial: SNS-8W-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Champions World Class Soccer : title: Champions World Class Soccer cartridge sha256:e6c4f468b39f2dea3436b63758db8ac9b29731357b982ec373334a36f202623f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1446,13 +1372,12 @@ cartridge sha256:e6c4f468b39f2dea3436b63758db8ac9b29731357b982ec373334a36f202623 :information : serial: SNS-5P-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Championship Pool : title: Championship Pool cartridge sha256:fdd763dffc6fb38975d4c6d6e3123f9738122781b7d13e1fc7f9820464cbaeb5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -1461,13 +1386,12 @@ cartridge sha256:fdd763dffc6fb38975d4c6d6e3123f9738122781b7d13e1fc7f9820464cbaeb :information : serial: SNS-67-USA : board: SHVC-1A3M-20 - : region: NA : revision: 1.0 : name: Championship Soccer '94 : title: Championship Soccer '94 cartridge sha256:aa69d4e19c2eb206fe88eba65994c830256c220e5506f59824aefa0a75dd44d5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -1476,13 +1400,12 @@ cartridge sha256:aa69d4e19c2eb206fe88eba65994c830256c220e5506f59824aefa0a75dd44d :information : serial: SNS-ZV-USA : board: SHVC-1A1M-01 - : region: MX : revision: 1.0 : name: Chavez : title: Chavez cartridge sha256:39de64101cf7f25863ce55e03a27d13422ea572ee996746578b5936fea80228b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1490,13 +1413,12 @@ cartridge sha256:39de64101cf7f25863ce55e03a27d13422ea572ee996746578b5936fea80228 :information : serial: SNS-AC2E-USA : board: SHVC-1A0N-20 - : region: MX : revision: 1.0 : name: Chavez II : title: Chavez II cartridge sha256:ee0e51d922d1cf8abe3dfc6b0d84a988a6635dc96b2a96962007c41aaa542774 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1504,13 +1426,12 @@ cartridge sha256:ee0e51d922d1cf8abe3dfc6b0d84a988a6635dc96b2a96962007c41aaa54277 :information : serial: SNS-CH-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Chessmaster, The : title: The Chessmaster cartridge sha256:c7e7df8932bf0056aa530f3dc3c913c1171a359af4c197094c2b972946dc6051 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1518,13 +1439,12 @@ cartridge sha256:c7e7df8932bf0056aa530f3dc3c913c1171a359af4c197094c2b972946dc605 :information : serial: SNS-CE-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Chester Cheetah - Too Cool to Fool : title: Chester Cheetah: Too Cool to Fool cartridge sha256:21a2aa488cb8140ca318f7d1f513103d14e758181aa336a594097d32ba0a7587 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x140000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1532,13 +1452,12 @@ cartridge sha256:21a2aa488cb8140ca318f7d1f513103d14e758181aa336a594097d32ba0a758 :information : serial: SNS-7C-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Chester Cheetah - Wild, Wild Quest : title: Chester Cheetah: Wild, Wild Quest cartridge sha256:9a064b67f522b75b82d0857519c0e33b4dbbe494c2ef79a44fdc913d605d0b26 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1546,13 +1465,12 @@ cartridge sha256:9a064b67f522b75b82d0857519c0e33b4dbbe494c2ef79a44fdc913d605d0b2 :information : serial: SNS-3C-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Choplifter III : title: Choplifter III cartridge sha256:06d1c2b06b716052c5596aaa0c2e5632a027fee1a9a28439e509f813c30829a9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -1562,13 +1480,12 @@ cartridge sha256:06d1c2b06b716052c5596aaa0c2e5632a027fee1a9a28439e509f813c30829a :information : serial: SNS-ACTE-USA : board: SHVC-1J3M-20 - : region: NA : revision: 1.0 : name: Chrono Trigger : title: Chrono Trigger cartridge sha256:63ab79e86ea13e2cf9bb67aec971febb68450db9865b00b5f412610653822393 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1576,13 +1493,12 @@ cartridge sha256:63ab79e86ea13e2cf9bb67aec971febb68450db9865b00b5f41261065382239 :information : serial: SNS-CK-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Chuck Rock : title: Chuck Rock cartridge sha256:8b7525b2aa30cbea9e3deee601dd26e0100b8169c1948f19866be15cae0ac00d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -1590,13 +1506,12 @@ cartridge sha256:8b7525b2aa30cbea9e3deee601dd26e0100b8169c1948f19866be15cae0ac00 :information : serial: SNS-8C-USA : board: SHVC-1J0N-01 - : region: NA : revision: 1.0 : name: Clay Fighter : title: Clay Fighter cartridge sha256:ea52b39a8e1ea15bfad6b92883c9a5fe744cecd7c0e175aa3bd40280cf7a966e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -1604,13 +1519,12 @@ cartridge sha256:ea52b39a8e1ea15bfad6b92883c9a5fe744cecd7c0e175aa3bd40280cf7a966 :information : serial: SNS-7E-USA : board: SHVC-BJ0N-01 - : region: NA : revision: 1.0 : name: Clay Fighter - Tournament Edition : title: Clay Fighter: Tournament Edition cartridge sha256:2d40c86bc19d85555bf2672acf515b04dbf56a6a59b29ad503e672310b0fae3b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -1618,13 +1532,12 @@ cartridge sha256:2d40c86bc19d85555bf2672acf515b04dbf56a6a59b29ad503e672310b0fae3 :information : serial: SNS-ACZE-USA : board: SHVC-BJ0N-20 - : region: NA : revision: 1.0 : name: Clay Fighter 2 - Judgment Clay : title: Clay Fighter 2: Judgment Clay cartridge sha256:6d9cd7f0cda3c0a82ed3f6a92cbbba4fe8365438e0a7867ad1cae2044d1738eb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -1632,13 +1545,12 @@ cartridge sha256:6d9cd7f0cda3c0a82ed3f6a92cbbba4fe8365438e0a7867ad1cae2044d1738e :information : serial: SNS-Y5-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Claymates : title: Claymates cartridge sha256:e5980b990605a9c91fa89101c440b2ec9993329296ba09a9538042d724a080fb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1646,13 +1558,12 @@ cartridge sha256:e5980b990605a9c91fa89101c440b2ec9993329296ba09a9538042d724a080f :information : serial: SNS-6C-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Cliffhanger : title: Cliffhanger cartridge sha256:03f6c69aef92d36b5ea25a6023368da0e1da9fa160e8316ebd533d4f358ffacf - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1660,13 +1571,12 @@ cartridge sha256:03f6c69aef92d36b5ea25a6023368da0e1da9fa160e8316ebd533d4f358ffac :information : serial: SNS-CL-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Clue : title: Clue cartridge sha256:5536cea2da39f2572abe3b0fcf71f8fcd981376b470b174969772aae4a7a1845 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -1675,13 +1585,12 @@ cartridge sha256:5536cea2da39f2572abe3b0fcf71f8fcd981376b470b174969772aae4a7a184 :information : serial: SNS-AC7E-USA : board: SHVC-1A3M-30 - : region: NA : revision: 1.0 : name: College Football USA '97 - The Road to New Orleans : title: College Football USA '97: The Road to New Orleans cartridge sha256:b0be35a0d5e500f4fffca5f2940e0ec52c81ce99dacd773c3ca9cf92f592d943 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -1690,13 +1599,12 @@ cartridge sha256:b0be35a0d5e500f4fffca5f2940e0ec52c81ce99dacd773c3ca9cf92f592d94 :information : serial: SNS-ANYE-USA : board: SHVC-1A3M-30 - : region: NA : revision: 1.0 : name: College Slam : title: College Slam cartridge sha256:c88a882ad72dfa07a9b1eb8a2183aa10057d60877a02edf90cf2cd8c78abe65e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1704,13 +1612,12 @@ cartridge sha256:c88a882ad72dfa07a9b1eb8a2183aa10057d60877a02edf90cf2cd8c78abe65 :information : serial: SNS-CR-USA : board: SHVC-2A0N-01 - : region: NA : revision: 1.0 : name: Combatribes, The : title: The Combatribes cartridge sha256:26e09f5bc2bde28d57aeca0bf5be7f7fb8e3b3887af975bcbf2e6f29b07df56f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1718,13 +1625,12 @@ cartridge sha256:26e09f5bc2bde28d57aeca0bf5be7f7fb8e3b3887af975bcbf2e6f29b07df56 :information : serial: SNS-J2-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Congo's Caper : title: Congo's Caper cartridge sha256:a93ea87fc835c530b5135c5294433d15eef6dbf656144b387e89ac19cf864996 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1732,13 +1638,12 @@ cartridge sha256:a93ea87fc835c530b5135c5294433d15eef6dbf656144b387e89ac19cf86499 :information : serial: SNS-CS-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Contra III - The Alien Wars : title: Contra III: The Alien Wars cartridge sha256:c7d622391f7699fb0dc6367e141c894e700cc9bd8abca69f36785e7bc2f42a49 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1746,13 +1651,12 @@ cartridge sha256:c7d622391f7699fb0dc6367e141c894e700cc9bd8abca69f36785e7bc2f42a4 :information : serial: SNS-C8-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Cool Spot : title: Cool Spot cartridge sha256:9674cc269d89a52d1719a487b44acf004fb777cbd58d76b19a2cd25749728215 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1760,13 +1664,12 @@ cartridge sha256:9674cc269d89a52d1719a487b44acf004fb777cbd58d76b19a2cd2574972821 :information : serial: SNS-CD-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Cool World : title: Cool World cartridge sha256:7c722f9941957630467c1784d0eb3f92fbfc0a2a1da3c8f5c27f593eca2a5a04 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1774,13 +1677,12 @@ cartridge sha256:7c722f9941957630467c1784d0eb3f92fbfc0a2a1da3c8f5c27f593eca2a5a0 :information : serial: SNS-AC8E-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: CutThroat Island : title: CutThroat Island cartridge sha256:c4ae2797fac2586b8640064be6398f2b4f2b3158a07f26c66912b29f7fd197de - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1788,13 +1690,12 @@ cartridge sha256:c4ae2797fac2586b8640064be6398f2b4f2b3158a07f26c66912b29f7fd197d :information : serial: SNS-CF-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Cyber Spin : title: Cyber Spin cartridge sha256:ad31b94ce928ecff605e2b89082154671691509e95d38370ed381437f2c36698 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1802,13 +1703,12 @@ cartridge sha256:ad31b94ce928ecff605e2b89082154671691509e95d38370ed381437f2c3669 :information : serial: SNS-AV-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Cybernator : title: Cybernator cartridge sha256:337e643d3e63915de06429992f306e8d2b73aed6849b795f9c855c2d03c18180 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1816,13 +1716,12 @@ cartridge sha256:337e643d3e63915de06429992f306e8d2b73aed6849b795f9c855c2d03c1818 :information : serial: SNS-DF-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: D-Force : title: D-Force cartridge sha256:4068add412571bd85adac32dff9835e4a4886077d752adb104fee3908e42b7ef - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1830,13 +1729,12 @@ cartridge sha256:4068add412571bd85adac32dff9835e4a4886077d752adb104fee3908e42b7e :information : serial: SNS-YF-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Daffy Duck - The Marvin Missions : title: Daffy Duck: The Marvin Missions cartridge sha256:ceb470157576eac3b8b8c16e8ab6b59672409681ffb4232e4ec39dd0cb37ef91 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1844,13 +1742,12 @@ cartridge sha256:ceb470157576eac3b8b8c16e8ab6b59672409681ffb4232e4ec39dd0cb37ef9 :information : serial: SNS-DT-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Darius Twin : title: Darius Twin cartridge sha256:e6efb6361af04963f22c772f879a466543f56b3b6a084204fef2dcb4659d82d9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1858,27 +1755,12 @@ cartridge sha256:e6efb6361af04963f22c772f879a466543f56b3b6a084204fef2dcb4659d82d :information : serial: SNS-ZT-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: David Crane's Amazing Tennis : title: David Crane's Amazing Tennis -cartridge sha256:e678a29a93111cf2016c487ba9977b14de8f719040651a42c74bd74eea2d0d81 - :board cic=411 - : rom name=program.rom size=0x200000 - : map address=00-7d,80-ff:8000-ffff mask=0x8000 - : map address=40-7d,c0-ff:0000-7fff mask=0x8000 - : - :information - : serial: SNS-9D-LTN - : board: SHVC-1A0N-30 - : region: NA - : revision: 1.1 - : name: Death and Return of Superman, The - : title: The Death and Return of Superman - cartridge sha256:752d24fab240f4dd1dfbfea5ec83438998316806ad44488bf8c84430ca5a2cd0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1886,13 +1768,12 @@ cartridge sha256:752d24fab240f4dd1dfbfea5ec83438998316806ad44488bf8c84430ca5a2cd :information : serial: SNS-AD6E-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Demolition Man : title: Demolition Man cartridge sha256:18d40a807d5f88c5b6a1ad849eec7e0f189225d9a1586037c850f6680b5844de - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1900,13 +1781,12 @@ cartridge sha256:18d40a807d5f88c5b6a1ad849eec7e0f189225d9a1586037c850f6680b5844d :information : serial: SNS-3Z-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Demon's Crest : title: Demon's Crest cartridge sha256:a362033d0d7e754d79202b255679186ad799b9e784719614b913ec8c9857ae33 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1914,13 +1794,12 @@ cartridge sha256:a362033d0d7e754d79202b255679186ad799b9e784719614b913ec8c9857ae3 :information : serial: SNS-4D-USA : board: SHVC-YA0N-01 - : region: NA : revision: 1.0 : name: Dennis the Menace : title: Dennis the Menace cartridge sha256:606abf536440173ae36466db360c7db6b474beb7a105c8a62bc74a54cbe1c38b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1928,13 +1807,12 @@ cartridge sha256:606abf536440173ae36466db360c7db6b474beb7a105c8a62bc74a54cbe1c38 :information : serial: SNS-RG-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Desert Strike - Return to the Gulf : title: Desert Strike: Return to the Gulf cartridge sha256:9c4721339a197185d61e0697ea0149db143a27ddb2f57ebd398f18bcf4d7724b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -1943,13 +1821,12 @@ cartridge sha256:9c4721339a197185d61e0697ea0149db143a27ddb2f57ebd398f18bcf4d7724 :information : serial: SNS-VH-USA : board: SHVC-1A3M-20 - : region: NA : revision: 1.0 : name: Dig & Spike Volleyball : title: Dig & Spike Volleyball cartridge sha256:7dbfc44d28a46e6d399628e43086aa9fd0b2abeda4c108751a5ad91c102c3aaf - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -1957,13 +1834,12 @@ cartridge sha256:7dbfc44d28a46e6d399628e43086aa9fd0b2abeda4c108751a5ad91c102c3aa :information : serial: SNS-DW-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: DinoCity : title: DinoCity cartridge sha256:c5474de3592e2a99aac0e5511516658f9f0b50167c754a018409842ec35bcd45 - :board cic=411 + :board region=ntsc : superfx : map address=00-3f,80-bf:3000-34ff : rom name=program.rom size=0x80000 @@ -1976,13 +1852,12 @@ cartridge sha256:c5474de3592e2a99aac0e5511516658f9f0b50167c754a018409842ec35bcd4 :information : serial: SNS-AF9E-USA : board: SHVC-1CA0N6S-01 - : region: NA : revision: 1.0 : name: Dirt Trax FX : title: Dirt Trax FX cartridge sha256:df2644d435330192a13768cc1f79c5aa3084a64217a5250c6dd4ffdbe2175be4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -1992,13 +1867,12 @@ cartridge sha256:df2644d435330192a13768cc1f79c5aa3084a64217a5250c6dd4ffdbe2175be :information : serial: SNS-8X-USA : board: SHVC-1J1M-11 - : region: NA : revision: 1.1 : name: Donkey Kong Country : title: Donkey Kong Country cartridge sha256:628147468c3539283197f58f03b94df49758a332831857481ea9cc31645f0527 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2008,13 +1882,12 @@ cartridge sha256:628147468c3539283197f58f03b94df49758a332831857481ea9cc31645f052 :information : serial: SNS-8X-USA : board: SHVC-1J1M-20 - : region: NA : revision: 1.2 : name: Donkey Kong Country : title: Donkey Kong Country cartridge sha256:35421a9af9dd011b40b91f792192af9f99c93201d8d394026bdfb42cbf2d8633 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2024,13 +1897,12 @@ cartridge sha256:35421a9af9dd011b40b91f792192af9f99c93201d8d394026bdfb42cbf2d863 :information : serial: SNS-ADNE-USA : board: SHVC-1J1M-20 - : region: NA : revision: 1.0 : name: Donkey Kong Country 2 - Diddy's Kong Quest : title: Donkey Kong Country 2: Diddy's Kong Quest cartridge sha256:2277a2d8dddb01fe5cb0ae9a0fa225d42b3a11adccaeafa18e3c339b3794a32b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2040,13 +1912,12 @@ cartridge sha256:2277a2d8dddb01fe5cb0ae9a0fa225d42b3a11adccaeafa18e3c339b3794a32 :information : serial: SNS-A3CE-USA : board: SHVC-1J1M-20 - : region: NA : revision: 1.0 : name: Donkey Kong Country 3 - Dixie Kong's Double Trouble : title: Donkey Kong Country 3: Dixie Kong's Double Trouble cartridge sha256:d45e26eb10c323ecd480e5f2326b223e29264c3adde67f48f0d2791128e519e8 - :board cic=411 + :board region=ntsc : superfx : map address=00-3f,80-bf:3000-34ff : rom name=program.rom size=0x200000 @@ -2059,13 +1930,12 @@ cartridge sha256:d45e26eb10c323ecd480e5f2326b223e29264c3adde67f48f0d2791128e519e :information : serial: SNS-AD8E-USA : board: SHVC-1CB0N7S-01 - : region: NA : revision: 1.0 : name: Doom : title: Doom cartridge sha256:bb915b286b33842e39e9022366169233a4041515c7ecc60ac428420b28e48dd5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2073,13 +1943,12 @@ cartridge sha256:bb915b286b33842e39e9022366169233a4041515c7ecc60ac428420b28e48dd :information : serial: SNS-DM-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Doomsday Warrior : title: Doomsday Warrior cartridge sha256:b32aa9cbf8f6baacc84f6418fa6fbc33b9ce71458fecc91275aafdbf6f743a99 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2087,13 +1956,12 @@ cartridge sha256:b32aa9cbf8f6baacc84f6418fa6fbc33b9ce71458fecc91275aafdbf6f743a9 :information : serial: SNS-5E-USA : board: SHVC-BJ0N-01 - : region: NA : revision: 1.0 : name: Double Dragon V - The Shadow Falls : title: Double Dragon V: The Shadow Falls cartridge sha256:d98d7da1e7636e067563e2e480d7dfbc013b7e9bdf1329fd61c5cacac0293e1d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2101,13 +1969,12 @@ cartridge sha256:d98d7da1e7636e067563e2e480d7dfbc013b7e9bdf1329fd61c5cacac0293e1 :information : serial: SNS-AD5E-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Dragon - The Bruce Lee Story : title: Dragon: The Bruce Lee Story cartridge sha256:a3b1cae3fe55fe52c035ab122e7f850640b0935524496d45b1915ca3c8a934f4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2116,13 +1983,12 @@ cartridge sha256:a3b1cae3fe55fe52c035ab122e7f850640b0935524496d45b1915ca3c8a934f :information : serial: SNS-ADVE-USA : board: SHVC-1A3M-21 - : region: NA : revision: 1.0 : name: Dragon View : title: Dragon View cartridge sha256:49a1f9f5e6084b3daa1b13ab5a37ebe8bd3cf20e1c7429fbf722298092893e81 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2130,13 +1996,12 @@ cartridge sha256:49a1f9f5e6084b3daa1b13ab5a37ebe8bd3cf20e1c7429fbf722298092893e8 :information : serial: SNS-DI-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Dragon's Lair : title: Dragon's Lair cartridge sha256:74910ce01d19d25cb97a243a51f21c3d522f02fb116682f60440da3292bb14f7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2145,13 +2010,12 @@ cartridge sha256:74910ce01d19d25cb97a243a51f21c3d522f02fb116682f60440da3292bb14f :information : serial: SNS-DK-USA : board: SHVC-1A3B-11 - : region: NA : revision: 1.0 : name: Drakkhen : title: Drakkhen cartridge sha256:1a79d51a2ad7dd4848205a07ff8e5d873b155dc420de5e52158c9bab935e05c3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2159,13 +2023,12 @@ cartridge sha256:1a79d51a2ad7dd4848205a07ff8e5d873b155dc420de5e52158c9bab935e05c :information : serial: SNS-VE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Dream TV : title: Dream T.V. cartridge sha256:03d25227fb88899d0f3234c4a3f76f1dbe8d582cb6429454fd6f1c4cf14d5c6e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x8000 @@ -2179,13 +2042,12 @@ cartridge sha256:03d25227fb88899d0f3234c4a3f76f1dbe8d582cb6429454fd6f1c4cf14d5c6 :information : serial: SNS-V2-USA : board: SHVC-1B5B-02 - : region: NA : revision: 1.0 : name: Dungeon Master : title: Dungeon Master cartridge sha256:0408e3d9f2259044344a3bfbd7a7ca3c3427f82108fbecd6e5c4c41e80cd303b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2193,13 +2055,12 @@ cartridge sha256:0408e3d9f2259044344a3bfbd7a7ca3c3427f82108fbecd6e5c4c41e80cd303 :information : serial: SNS-ED-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Earth Defense Force : title: Earth Defense Force cartridge sha256:a8fe2226728002786d68c27ddddf0b90a894db52e4dfe268fdf72a68cae5f02e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2209,13 +2070,12 @@ cartridge sha256:a8fe2226728002786d68c27ddddf0b90a894db52e4dfe268fdf72a68cae5f02 :information : serial: SNS-MB-USA : board: SHVC-1J3M-20 - : region: NA : revision: 1.0 : name: EarthBound : title: EarthBound cartridge sha256:4579e437279f79eedd6b9cf648a814df2ab2c83d937a1bcec1578d28965fb9a0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2223,13 +2083,12 @@ cartridge sha256:4579e437279f79eedd6b9cf648a814df2ab2c83d937a1bcec1578d28965fb9a :information : serial: SNS-AEJE-USA : board: SHVC-BJ0N-01 - : region: NA : revision: 1.0 : name: Earthworm Jim : title: Earthworm Jim cartridge sha256:10eadaab168707829418702386e1bcedd2619d9bbefc37cf31c4118313bcf6de - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2237,13 +2096,12 @@ cartridge sha256:10eadaab168707829418702386e1bcedd2619d9bbefc37cf31c4118313bcf6d :information : serial: SNS-A2EE-USA : board: MJSC-1J0N-20 - : region: NA : revision: 1.0 : name: Earthworm Jim 2 : title: Earthworm Jim 2 cartridge sha256:5d658b63d35e2e0baf48ae3bb04ea5e1553855b34bb39fc2c7ca41fbd3894d52 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2251,13 +2109,12 @@ cartridge sha256:5d658b63d35e2e0baf48ae3bb04ea5e1553855b34bb39fc2c7ca41fbd3894d5 :information : serial: SNS-E7-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Eek! The Cat : title: Eek! The Cat cartridge sha256:b296054effb1948039635044bc905fdf8ff53e7a73038fd5d8436a913ea5ad8a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2265,13 +2122,12 @@ cartridge sha256:b296054effb1948039635044bc905fdf8ff53e7a73038fd5d8436a913ea5ad8 :information : serial: SNS-L7-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Elite Soccer : title: Elite Soccer cartridge sha256:f14e30ee452ec930a6d08094094b287d0c40c8108f2017c418015242987649b3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2280,13 +2136,12 @@ cartridge sha256:f14e30ee452ec930a6d08094094b287d0c40c8108f2017c418015242987649b :information : serial: SNS-AESE-USA : board: SHVC-1A3M-30 - : region: NA : revision: 1.0 : name: Emmitt Smith Football : title: Emmitt Smith Football cartridge sha256:cfd666f0bbabec59613d9fe189db7d0a060a78047bc084c0c365840769047bf2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2295,13 +2150,12 @@ cartridge sha256:cfd666f0bbabec59613d9fe189db7d0a060a78047bc084c0c365840769047bf :information : serial: SNS-EX-USA : board: SHVC-1A3M-20 - : region: NA : revision: 1.0 : name: Equinox : title: Equinox cartridge sha256:c702c3860e9dffdaa1917d013ecbcefdd2c47f89726992f7f810d879772dcc4d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2309,13 +2163,12 @@ cartridge sha256:c702c3860e9dffdaa1917d013ecbcefdd2c47f89726992f7f810d879772dcc4 :information : serial: SNS-EV-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: ESPN Baseball Tonight : title: ESPN Baseball Tonight cartridge sha256:3326061160ad12c7aef5176544ec1c8ef2f534a51960ca882dbc7fcb9b1a7384 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2324,13 +2177,12 @@ cartridge sha256:3326061160ad12c7aef5176544ec1c8ef2f534a51960ca882dbc7fcb9b1a738 :information : serial: SNS-AEHE-USA : board: SHVC-1A3M-21 - : region: NA : revision: 1.0 : name: ESPN National Hockey Night : title: ESPN National Hockey Night cartridge sha256:7b2fdab972e393395f5379d7fb13e40464db152f6acf58b2d2a6a18f81cefecb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2339,13 +2191,12 @@ cartridge sha256:7b2fdab972e393395f5379d7fb13e40464db152f6acf58b2d2a6a18f81cefec :information : serial: SNS-ASWE-USA : board: SHVC-1A3M-21 - : region: NA : revision: 1.0 : name: ESPN Speed World : title: ESPN Speed World cartridge sha256:faf595b4671f005fa9367ba3fcd30dbff371bc7a9ca8bbfbc0ebfcc5826b60f8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2354,13 +2205,12 @@ cartridge sha256:faf595b4671f005fa9367ba3fcd30dbff371bc7a9ca8bbfbc0ebfcc5826b60f :information : serial: SNS-ASNE-USA : board: SHVC-1A3M-21 - : region: NA : revision: 1.0 : name: ESPN Sunday Night NFL : title: ESPN Sunday Night NFL cartridge sha256:8481e47381bd98c27b9782b5727a5d5f0976fbb3aa3df25c2c42aa37e0586815 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2369,13 +2219,12 @@ cartridge sha256:8481e47381bd98c27b9782b5727a5d5f0976fbb3aa3df25c2c42aa37e058681 :information : serial: SNS-46-USA : board: SHVC-2A3M-01#R - : region: NA : revision: 1.0 : name: EVO - Search for Eden : title: E.V.O.: Search for Eden cartridge sha256:f2455253db316b6ccd0c5c686d1f1e2d94cd5e37534e70a3a07a409120d58df6 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -2384,13 +2233,12 @@ cartridge sha256:f2455253db316b6ccd0c5c686d1f1e2d94cd5e37534e70a3a07a409120d58df :information : serial: SNS-9X-USA : board: SHVC-1A1M-11 - : region: NA : revision: 1.0 : name: Exertainment Mountain Bike Rally : title: Exertainment Mountain Bike Rally cartridge sha256:a0521f50b0d0bff6666bfb712498476eb8d5974ef38caf157e2f67cbce5475bb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2399,13 +2247,12 @@ cartridge sha256:a0521f50b0d0bff6666bfb712498476eb8d5974ef38caf157e2f67cbce5475b :information : serial: SNS-ALFE-USA : board: SHVC-1A3M-30 - : region: NA : revision: 1.0 : name: Exertainment Mountain Bike Rally + Speed Racer : title: Exertainment Mountain Bike Rally + Speed Racer cartridge sha256:1576066e0cb771a91caf79e7d4f6dc00eb0daa47f0786f1604b32537429a7f45 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2414,13 +2261,12 @@ cartridge sha256:1576066e0cb771a91caf79e7d4f6dc00eb0daa47f0786f1604b32537429a7f4 :information : serial: SNS-GL-USA : board: SHVC-1A3B-12 - : region: NA : revision: 1.0 : name: Extra Innings : title: Extra Innings cartridge sha256:0a8cd5101f849ccd4e40d55fdc4edce914b2825b69eb76ec31cf53b59719e79e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x8000 @@ -2429,13 +2275,12 @@ cartridge sha256:0a8cd5101f849ccd4e40d55fdc4edce914b2825b69eb76ec31cf53b59719e79 :information : serial: SNS-IB-USA : board: SHVC-1A5M-01 - : region: NA : revision: 1.0 : name: Eye of the Beholder : title: Eye of the Beholder cartridge sha256:bf16c3c867c58e2ab061c70de9295b6930d63f29f81cc986f5ecae03e0ad18d2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -2444,13 +2289,12 @@ cartridge sha256:bf16c3c867c58e2ab061c70de9295b6930d63f29f81cc986f5ecae03e0ad18d :information : serial: SNS-FZ-USA : board: SHVC-1A1B-04 - : region: NA : revision: 1.0 : name: F-Zero : title: F-Zero cartridge sha256:55c33efb514568c9946c4b866c160ed190fe436faee265ee2fb107f7fe94d524 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -2459,13 +2303,12 @@ cartridge sha256:55c33efb514568c9946c4b866c160ed190fe436faee265ee2fb107f7fe94d52 :information : serial: SNS-6P-USA : board: SHVC-1A1M-01 - : region: NA : revision: 1.0 : name: F1 Pole Position : title: F1 Pole Position cartridge sha256:1d38e3af9e3a6409e93f4705b68c42558f558c68f3e83ef2a40e46cf560b26cc - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2474,13 +2317,12 @@ cartridge sha256:1d38e3af9e3a6409e93f4705b68c42558f558c68f3e83ef2a40e46cf560b26c :information : serial: SNS-EH-USA : board: SHVC-1A3B-13 - : region: NA : revision: 1.0 : name: F1 Race of Champions : title: F1 Race of Champions cartridge sha256:3ae7bfd38a3dc273f4d387af3b15621beefebf5056731af06e3822f5e57db5c5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : necdsp model=uPD96050 frequency=11000000 @@ -2493,13 +2335,12 @@ cartridge sha256:3ae7bfd38a3dc273f4d387af3b15621beefebf5056731af06e3822f5e57db5c :information : serial: SNS-E2-USA : board: SHVC-1DS0B-20 - : region: NA : revision: 1.0 : name: F1 Race of Champions II : title: F1 Race of Champions II cartridge sha256:d689392884df91c2bb84b1411a96f3919b6c9cc8a583dff901a98f0d86d31c30 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2507,13 +2348,12 @@ cartridge sha256:d689392884df91c2bb84b1411a96f3919b6c9cc8a583dff901a98f0d86d31c3 :information : serial: SNS-2F-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Faceball 2000 : title: Faceball 2000 cartridge sha256:2891f1eab285133364ecc379a5c9e1d0026d60f425f1a458d149014f386cfa50 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2521,13 +2361,12 @@ cartridge sha256:2891f1eab285133364ecc379a5c9e1d0026d60f425f1a458d149014f386cfa5 :information : serial: SNS-D8-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Family Dog : title: Family Dog cartridge sha256:4f43ce12e1d8cd195468d7048494ad2930721e5bf9e69bfd86eeee707ffc634b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2535,13 +2374,12 @@ cartridge sha256:4f43ce12e1d8cd195468d7048494ad2930721e5bf9e69bfd86eeee707ffc634 :information : serial: SNS-FN-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Family Feud : title: Family Feud cartridge sha256:d5c651d726dd957b80d03ab6fdbed4cdd26a3cccf5ec9d91af67251b3ec26a3c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2549,13 +2387,12 @@ cartridge sha256:d5c651d726dd957b80d03ab6fdbed4cdd26a3cccf5ec9d91af67251b3ec26a3 :information : serial: SNS-FN-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.1 : name: Family Feud : title: Family Feud cartridge sha256:c92f389d25870aada3002775838ec9f69a988120c0238af885fd08d46bd94930 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2563,13 +2400,12 @@ cartridge sha256:c92f389d25870aada3002775838ec9f69a988120c0238af885fd08d46bd9493 :information : serial: SNS-GN-USA : board: SHVC-2A0N-01 - : region: NA : revision: 1.0 : name: Fatal Fury : title: Fatal Fury cartridge sha256:a0c554d46034caef231c36dd6849828ca39703678fb7fdd15a11f292b93bcd6b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x280000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2577,13 +2413,12 @@ cartridge sha256:a0c554d46034caef231c36dd6849828ca39703678fb7fdd15a11f292b93bcd6 :information : serial: SNS-DJ-USA : board: SHVC-BJ0N-01 - : region: NA : revision: 1.0 : name: Fatal Fury 2 : title: Fatal Fury 2 cartridge sha256:410e90db3d38507ccc85ad3bca6b27a080123fd5160e82b5de4d914d4b6d6e61 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2591,13 +2426,12 @@ cartridge sha256:410e90db3d38507ccc85ad3bca6b27a080123fd5160e82b5de4d914d4b6d6e6 :information : serial: SNS-3R-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Fatal Fury Special : title: Fatal Fury Special cartridge sha256:1f454f2ce16fb96ba0b950ceaa098fe6eabed9e4a0e512252debad8fa6bc5ef5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2605,13 +2439,12 @@ cartridge sha256:1f454f2ce16fb96ba0b950ceaa098fe6eabed9e4a0e512252debad8fa6bc5ef :information : serial: SNS-84-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: FIFA International Soccer : title: FIFA International Soccer cartridge sha256:26ff143c2f1a4a16ca838cc4b5555e39bbe7208515dca8f1c4b1a00dec61cf09 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2620,13 +2453,12 @@ cartridge sha256:26ff143c2f1a4a16ca838cc4b5555e39bbe7208515dca8f1c4b1a00dec61cf0 :information : serial: SNS-A6SE-USA : board: SHVC-1A3M-30 - : region: NA : revision: 1.0 : name: FIFA Soccer '96 : title: FIFA Soccer '96 cartridge sha256:c514f855ad377242582952eee95513a2152ebbf6bb5b06bdf9f031fc5ac748ab - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x1e0000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2635,13 +2467,12 @@ cartridge sha256:c514f855ad377242582952eee95513a2152ebbf6bb5b06bdf9f031fc5ac748a :information : serial: SNS-A7IE-USA : board: EA-1A3M-30 - : region: NA : revision: 1.0 : name: FIFA Soccer '97 : title: FIFA Soccer '97 cartridge sha256:b9594d588816ae570ea5fea14577ed47de4db9ac9a40a116c84e0ad7a2ce58f8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x280000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2649,13 +2480,12 @@ cartridge sha256:b9594d588816ae570ea5fea14577ed47de4db9ac9a40a116c84e0ad7a2ce58f :information : serial: SNS-YH-USA : board: SHVC-BJ0N-01 - : region: NA : revision: 1.1 : name: Fighter's History : title: Fighter's History cartridge sha256:6151389f33ce2e53db3cd99592440c0020f5f4668f581ce3bd615bc92077f255 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2664,13 +2494,12 @@ cartridge sha256:6151389f33ce2e53db3cd99592440c0020f5f4668f581ce3bd615bc92077f25 :information : serial: SNS-MQ-USA : board: SHVC-1A3B-13 - : region: NA : revision: 1.0 : name: Final Fantasy - Mystic Quest : title: Final Fantasy: Mystic Quest cartridge sha256:680535dc1c4196c53b40dc9c2c9bc159a77802ab8d4b474bef5dc0281c15ad06 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2679,13 +2508,12 @@ cartridge sha256:680535dc1c4196c53b40dc9c2c9bc159a77802ab8d4b474bef5dc0281c15ad0 :information : serial: SNS-F4-USA : board: SHVC-1A3B-12 - : region: NA : revision: 1.0 : name: Final Fantasy II : title: Final Fantasy II cartridge sha256:0f51b4fca41b7fd509e4b8f9d543151f68efa5e97b08493e4b2a0c06f5d8d5e2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2695,13 +2523,12 @@ cartridge sha256:0f51b4fca41b7fd509e4b8f9d543151f68efa5e97b08493e4b2a0c06f5d8d5e :information : serial: SNS-F6-USA : board: SHVC-BJ3M-10 - : region: NA : revision: 1.0 : name: Final Fantasy III : title: Final Fantasy III cartridge sha256:60cca2592d0756b8c4c7a0a254fafa5ac47aa752521fd1f77dcbf4b6ee1bee90 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2709,13 +2536,12 @@ cartridge sha256:60cca2592d0756b8c4c7a0a254fafa5ac47aa752521fd1f77dcbf4b6ee1bee9 :information : serial: SNS-FT-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Final Fight : title: Final Fight cartridge sha256:744d1a16c3f99970283597ae8f43b7c3621c5f995c4566ef24b8d70b0692007b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x140000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2723,13 +2549,12 @@ cartridge sha256:744d1a16c3f99970283597ae8f43b7c3621c5f995c4566ef24b8d70b0692007 :information : serial: SNS-F2-USA : board: SHVC-2A0N-01 - : region: NA : revision: 1.0 : name: Final Fight 2 : title: Final Fight 2 cartridge sha256:f9dac709b2c2859f828103a0dd980716817e2bde3b9d7e2fdea36e9bb9bed7f2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2737,13 +2562,12 @@ cartridge sha256:f9dac709b2c2859f828103a0dd980716817e2bde3b9d7e2fdea36e9bb9bed7f :information : serial: SNS-AFZE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Final Fight 3 : title: Final Fight 3 cartridge sha256:8c47f9dc79748c0ae6c648f8480614d22eaefade065612ad1fe749fc3db4d1bc - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2751,13 +2575,12 @@ cartridge sha256:8c47f9dc79748c0ae6c648f8480614d22eaefade065612ad1fe749fc3db4d1b :information : serial: SNS-FY-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Final Fight Guy : title: Final Fight Guy cartridge sha256:003dba0193acc5336840307194643ca3b1f848dcfc77580b4e17c605105b27f5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2765,13 +2588,12 @@ cartridge sha256:003dba0193acc5336840307194643ca3b1f848dcfc77580b4e17c605105b27f :information : serial: SNS-FW-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Firepower 2000 : title: Firepower 2000 cartridge sha256:6f32355bef68d4ad58822f50074b46bcc9a68357cd2c6a5470c96bf5344f84d8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2779,13 +2601,12 @@ cartridge sha256:6f32355bef68d4ad58822f50074b46bcc9a68357cd2c6a5470c96bf5344f84d :information : serial: SNS-3S-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Firestriker : title: Firestriker cartridge sha256:4c1354337efa788169387458fa6bdbcf4be0c98369920af2bd876ad98d29070f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2793,13 +2614,12 @@ cartridge sha256:4c1354337efa788169387458fa6bdbcf4be0c98369920af2bd876ad98d29070 :information : serial: SNS-FK-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: First Samurai : title: First Samurai cartridge sha256:064a880a8dfcf576f74ae8a17c3ec7b0a27e8cb0300a5e5959452fcc30422f14 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2807,13 +2627,12 @@ cartridge sha256:064a880a8dfcf576f74ae8a17c3ec7b0a27e8cb0300a5e5959452fcc30422f1 :information : serial: SNS-5F-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Flashback - The Quest for Identity : title: Flashback: The Quest for Identity cartridge sha256:ff09d72d6241b331dc429d1cf27c04c26546f23312a22c7a14e6a4bf41ed1069 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2821,13 +2640,12 @@ cartridge sha256:ff09d72d6241b331dc429d1cf27c04c26546f23312a22c7a14e6a4bf41ed106 :information : serial: SNS-AFNE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Flintstones - The Movie, The : title: The Flintstones: The Movie cartridge sha256:3d5bbc06e7e9797d937c803610c40b262c14c3f0a39e8048dd6b0b052a040fc1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2835,13 +2653,12 @@ cartridge sha256:3d5bbc06e7e9797d937c803610c40b262c14c3f0a39e8048dd6b0b052a040fc :information : serial: SNS-9F-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Flintstones - The Treasure of Sierra Madrock, The : title: The Flintstones: The Treasure of Sierra Madrock cartridge sha256:40b55ee44bc6f1c83daac3e1806dcf7ecd5b35280cdb6a63c7a5e52fbd2115e6 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2849,13 +2666,12 @@ cartridge sha256:40b55ee44bc6f1c83daac3e1806dcf7ecd5b35280cdb6a63c7a5e52fbd2115e :information : serial: SNS-UF-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Football Fury : title: Football Fury cartridge sha256:bc6b0344a434644c391ac69a53c7720c51e2d3c5c082b8d78598ae4df100c464 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2863,13 +2679,12 @@ cartridge sha256:bc6b0344a434644c391ac69a53c7720c51e2d3c5c082b8d78598ae4df100c46 :information : serial: SNS-AFEE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Foreman For Real : title: Foreman For Real cartridge sha256:ba93721bdb0f19506e722bc580d0b4dad6e8648dddbc52e3ce45dd75ea165f72 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2878,13 +2693,12 @@ cartridge sha256:ba93721bdb0f19506e722bc580d0b4dad6e8648dddbc52e3ce45dd75ea165f7 :information : serial: SNS-AFKE-USA : board: SHVC-1A3M-30 - : region: NA : revision: 1.0 : name: Frank Thomas' Big Hurt Baseball : title: Frank Thomas' Big Hurt Baseball cartridge sha256:25b380f529f5a9295df7c0adcc5213d67f131f552d078a3d8f545f988047c90a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2892,13 +2706,12 @@ cartridge sha256:25b380f529f5a9295df7c0adcc5213d67f131f552d078a3d8f545f988047c90 :information : serial: SNS-AF8E-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Frantic Flea : title: Frantic Flea cartridge sha256:1ce72767795f41049a1f4d2829e837a8885eb91e1c14faf1ca62d05839ebe3c9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2906,13 +2719,12 @@ cartridge sha256:1ce72767795f41049a1f4d2829e837a8885eb91e1c14faf1ca62d05839ebe3c :information : serial: SNS-AF7E-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Frogger : title: Frogger cartridge sha256:3db8a496a49d47b1ac2a893feaf682722765b2cde63c22af3aa68212dcfa975f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2920,13 +2732,12 @@ cartridge sha256:3db8a496a49d47b1ac2a893feaf682722765b2cde63c22af3aa68212dcfa975 :information : serial: SNS-AFTE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Full Throttle - All-American Racing : title: Full Throttle: All-American Racing cartridge sha256:dcceb5be536c9b91bf34f65e7fcec4b55a78af0192323cf86f3b9555072037ee - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2934,13 +2745,12 @@ cartridge sha256:dcceb5be536c9b91bf34f65e7fcec4b55a78af0192323cf86f3b9555072037e :information : serial: SNS-7N-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Fun & Games : title: fun 'n games cartridge sha256:78e2b8210d8dd8776ee23153eb3dce2cbf7d8ddc3e8a5d25b580428f59d98bdb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -2949,13 +2759,12 @@ cartridge sha256:78e2b8210d8dd8776ee23153eb3dce2cbf7d8ddc3e8a5d25b580428f59d98bd :information : serial: SNS-RL-USA : board: SHVC-1A3B-13 - : region: NA : revision: 1.0 : name: Gemfire : title: Gemfire cartridge sha256:05e9404bfe0689e484a34991f22712c9da718cf000b0f748378af5758b654a3d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -2965,13 +2774,12 @@ cartridge sha256:05e9404bfe0689e484a34991f22712c9da718cf000b0f748378af5758b654a3 :information : serial: SNS-6G-USA : board: SHVC-1J3B-01 - : region: NA : revision: 1.0 : name: Genghis Khan II - Clan of the Gray Wolf : title: Genghis Khan II: Clan of the Gray Wolf cartridge sha256:fc993c122079b94ebc9b9452b46a55d5ddcd3715a4b97af795222b264827e90f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2979,13 +2787,12 @@ cartridge sha256:fc993c122079b94ebc9b9452b46a55d5ddcd3715a4b97af795222b264827e90 :information : serial: SNS-GK-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: George Foreman's KO Boxing : title: George Foreman's KO Boxing cartridge sha256:a4ceb31b82ea532e6eb640fa2eda61625758e72251efa5f0ae9a984f4a98a8a0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -2993,13 +2800,12 @@ cartridge sha256:a4ceb31b82ea532e6eb640fa2eda61625758e72251efa5f0ae9a984f4a98a8a :information : serial: SNS-AGJE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Ghoul Patrol : title: Ghoul Patrol cartridge sha256:feff03cfa195512ad87dc876012d70520cf192e2874c518b6dbdf3d876ea60c4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -3008,13 +2814,12 @@ cartridge sha256:feff03cfa195512ad87dc876012d70520cf192e2874c518b6dbdf3d876ea60c :information : serial: SNS-SU-USA : board: SHVC-1A3B-13 - : region: NA : revision: 1.0 : name: Goal! : title: Goal! cartridge sha256:8796ca4de3aeffd3a494fe28e7d7e2aeb220ca652b43684f29e2cc94f02c20c4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3022,13 +2827,12 @@ cartridge sha256:8796ca4de3aeffd3a494fe28e7d7e2aeb220ca652b43684f29e2cc94f02c20c :information : serial: SNS-GZ-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Gods : title: Gods cartridge sha256:2bb368c47189ce813ad716eef16c01cd47685cb98e2c1cb35fa6f0173c97dd7c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3036,13 +2840,12 @@ cartridge sha256:2bb368c47189ce813ad716eef16c01cd47685cb98e2c1cb35fa6f0173c97dd7 :information : serial: SNS-G6-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Goof Troop : title: Goof Troop cartridge sha256:342ddf438aec3f0696de8f2cd74bb7f48a956f488f1246eeccaff5ef246ca50b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3050,13 +2853,12 @@ cartridge sha256:342ddf438aec3f0696de8f2cd74bb7f48a956f488f1246eeccaff5ef246ca50 :information : serial: SNS-G7-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: GP-1 : title: GP-1 cartridge sha256:2e478569949c3935529c956448947ef90bae64abaf3d523bd89e7f4cf5e83702 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -3064,13 +2866,12 @@ cartridge sha256:2e478569949c3935529c956448947ef90bae64abaf3d523bd89e7f4cf5e8370 :information : serial: SNS-AGRE-USA : board: SHVC-2J0N-11 - : region: NA : revision: 1.0 : name: GP-1 - Part II : title: GP-1: Part II cartridge sha256:93da752a0c76167d0907efa832367e5d14aab8e835b864f345c386071a9af718 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3078,13 +2879,12 @@ cartridge sha256:93da752a0c76167d0907efa832367e5d14aab8e835b864f345c386071a9af71 :information : serial: SNS-G3-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Gradius III : title: Gradius III cartridge sha256:b5492aea296ee4bfcd2c677fbec5153fd4c4db758c835b372ef750cf2399649b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -3092,13 +2892,12 @@ cartridge sha256:b5492aea296ee4bfcd2c677fbec5153fd4c4db758c835b372ef750cf2399649 :information : serial: SNS-4C-USA : board: SHVC-2J0N-11 - : region: NA : revision: 1.0 : name: Great Circus Mystery - Starring Micky & Minnie, The : title: The Great Circus Mystery: Starring Micky & Minnie cartridge sha256:3ab1ca181000f10cb7c2ae8dc9fafeecd5d77314ee92960e26dff0d6a1fd11ee - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3106,13 +2905,12 @@ cartridge sha256:3ab1ca181000f10cb7c2ae8dc9fafeecd5d77314ee92960e26dff0d6a1fd11e :information : serial: SNS-GW-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Great Waldo Search, The : title: The Great Waldo Search cartridge sha256:f921297c361f16ad3f1257e91829638fc795f9323172015d7237ed648c8f7515 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3120,13 +2918,12 @@ cartridge sha256:f921297c361f16ad3f1257e91829638fc795f9323172015d7237ed648c8f751 :information : serial: SNS-GU-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: GunForce : title: GunForce cartridge sha256:5a6deb5617e86a9f4b981031e939510e30c5c8ad047f5f012e40442113fd28c2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -3134,13 +2931,12 @@ cartridge sha256:5a6deb5617e86a9f4b981031e939510e30c5c8ad047f5f012e40442113fd28c :information : serial: SNS-AHGE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Hagane : title: Hagane cartridge sha256:de1cf1512e48473b03adb87b7504f394e8b330b346bac24044f833d83609799a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3148,13 +2944,12 @@ cartridge sha256:de1cf1512e48473b03adb87b7504f394e8b330b346bac24044f833d83609799 :information : serial: SNS-JO-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Hal's Hole in One Golf : title: Hal's Hole in One Golf cartridge sha256:21cd6d749674c55342f5f1a895642d4b58b9bd7eb211f5df3a35dc6c2f5d4501 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3162,13 +2957,12 @@ cartridge sha256:21cd6d749674c55342f5f1a895642d4b58b9bd7eb211f5df3a35dc6c2f5d450 :information : serial: SNS-LJ-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Hammer Lock Wrestling : title: Hammer Lock Wrestling cartridge sha256:4fb9b010e4b1dc166ab7995a6f9491114063b68aac344004b1edfc555951d959 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -3176,13 +2970,12 @@ cartridge sha256:4fb9b010e4b1dc166ab7995a6f9491114063b68aac344004b1edfc555951d95 :information : serial: SNS-3Y-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Hard Ball III : title: Hard Ball III cartridge sha256:6e2a02a8944c19db3da76d2646f232fbe3ed039bc7d44cc03910814fa77a7acf - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3190,13 +2983,12 @@ cartridge sha256:6e2a02a8944c19db3da76d2646f232fbe3ed039bc7d44cc03910814fa77a7ac :information : serial: SNS-HV-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Harley's Humongous Adventure : title: Harley's Humongous Adventure cartridge sha256:73a3aa87ddd5ce5df5ba51292316f42b6e128280179b0a1b11b4dcddc17d4163 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -3205,13 +2997,12 @@ cartridge sha256:73a3aa87ddd5ce5df5ba51292316f42b6e128280179b0a1b11b4dcddc17d416 :information : serial: SNS-AYWE-USA : board: SHVC-1A3M-30 - : region: NA : revision: 1.0 : name: Harvest Moon : title: Harvest Moon cartridge sha256:9ff6bbcce7dc1f3bded96860a86698cab161d13ee167c57b5b114ac646eea0ea - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3219,13 +3010,12 @@ cartridge sha256:9ff6bbcce7dc1f3bded96860a86698cab161d13ee167c57b5b114ac646eea0e :information : serial: SNS-AVSE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Head-On Soccer : title: Head-On Soccer cartridge sha256:fa418618787145291201b3d9247048b2d7dfba37f6556dcb1d40db499124dd60 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3233,13 +3023,12 @@ cartridge sha256:fa418618787145291201b3d9247048b2d7dfba37f6556dcb1d40db499124dd6 :information : serial: SNS-HC-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Hit the Ice : title: Hit the Ice cartridge sha256:7c34908526db2a634216fab0276c42a8e4e22d59c728cd586200142a12dd2c2c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3247,13 +3036,12 @@ cartridge sha256:7c34908526db2a634216fab0276c42a8e4e22d59c728cd586200142a12dd2c2 :information : serial: SNS-HA-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Home Alone : title: Home Alone cartridge sha256:27eaccb4eea93832639565a664bf3561ed5a11ac025d377a3f33262d851c1b2b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3261,13 +3049,12 @@ cartridge sha256:27eaccb4eea93832639565a664bf3561ed5a11ac025d377a3f33262d851c1b2 :information : serial: SNS-HN-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Home Alone 2 - Lost in New York : title: Home Alone 2: Lost in New York cartridge sha256:48a3ac52e2c9128abc2dc60e07817a51898e8a93be0d51d6f541a8635263a089 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3275,13 +3062,12 @@ cartridge sha256:48a3ac52e2c9128abc2dc60e07817a51898e8a93be0d51d6f541a8635263a08 :information : serial: SNS-AHIE-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Home Improvement : title: Home Improvement cartridge sha256:acad4c594f156e0f30dec2532b35fcb3bab800e08263377634e2d96dfd055f3e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3289,13 +3075,12 @@ cartridge sha256:acad4c594f156e0f30dec2532b35fcb3bab800e08263377634e2d96dfd055f3 :information : serial: SNS-HO-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Hook : title: Hook cartridge sha256:a03528344d40bf800cdbde2dd240b30442cec7aea6026fbbe312a7c36bf0f74a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3303,13 +3088,12 @@ cartridge sha256:a03528344d40bf800cdbde2dd240b30442cec7aea6026fbbe312a7c36bf0f74 :information : serial: SNS-RO-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Hunt for Red October, The : title: The Hunt for Red October cartridge sha256:41cc900d2461a8dc4706640e493885ddf85db04d8dffceebf7a0ed89cc983d8d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3317,13 +3101,12 @@ cartridge sha256:41cc900d2461a8dc4706640e493885ddf85db04d8dffceebf7a0ed89cc983d8 :information : serial: SNS-AHUE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Hurricanes : title: Hurricanes cartridge sha256:db57f45e113127b7148c1b0add2da888e16e16b3e46749f95973b3ef497ae90b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3331,13 +3114,12 @@ cartridge sha256:db57f45e113127b7148c1b0add2da888e16e16b3e46749f95973b3ef497ae90 :information : serial: SNS-HQ-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Hyper V-Ball : title: Hyper V-Ball cartridge sha256:f57c49cc3e4c5e34929e12658db0de8794265c517e42f3c518bb1466ba46f14a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3345,13 +3127,12 @@ cartridge sha256:f57c49cc3e4c5e34929e12658db0de8794265c517e42f3c518bb1466ba46f14 :information : serial: SNS-HZ-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Hyper Zone : title: Hyper Zone cartridge sha256:fa143784fd20721d61101920e6aae9b7f5012b8157b1ce0c7ea83ea6c875d84d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -3359,13 +3140,12 @@ cartridge sha256:fa143784fd20721d61101920e6aae9b7f5012b8157b1ce0c7ea83ea6c875d84 :information : serial: SNS-AIFE-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Ignition Factor, The : title: The Ignition Factor cartridge sha256:32adc048fd89228a4310c03df243e83de7d436cdb2460b4cc83ade20d359b2bd - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -3375,13 +3155,12 @@ cartridge sha256:32adc048fd89228a4310c03df243e83de7d436cdb2460b4cc83ade20d359b2b :information : serial: SNS-JG-USA : board: SHVC-1J3B-01 - : region: NA : revision: 1.0 : name: Illusion of Gaia : title: Illusion of Gaia cartridge sha256:4dc2b5de98e9109583d9b61b38d26a8216af4dba246ef71350122213630562d0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3389,13 +3168,12 @@ cartridge sha256:4dc2b5de98e9109583d9b61b38d26a8216af4dba246ef71350122213630562d :information : serial: SNS-DN-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Imperium : title: Imperium cartridge sha256:c41150c0e84055801377fb7cb273cc51ca442b269ca6287cadf514f553e34750 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3403,13 +3181,12 @@ cartridge sha256:c41150c0e84055801377fb7cb273cc51ca442b269ca6287cadf514f553e3475 :information : serial: SNS-AIYE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Incantation : title: Incantation cartridge sha256:0415adfe80977485f84cdffaaa79f18c91c004c7dba202b4cf9a94eb11adeada - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3417,13 +3194,12 @@ cartridge sha256:0415adfe80977485f84cdffaaa79f18c91c004c7dba202b4cf9a94eb11adead :information : serial: SNS-C7-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Incredible Crash Dummies, The : title: The Incredible Crash Dummies cartridge sha256:8d170628d2d2fdf142bb82ad80e908bba54c45fa33241c779b8eafaf1b21171f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3431,13 +3207,12 @@ cartridge sha256:8d170628d2d2fdf142bb82ad80e908bba54c45fa33241c779b8eafaf1b21171 :information : serial: SNS-8U-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Incredible Hulk, The : title: The Incredible Hulk cartridge sha256:cf611b40f9570e8fcfdc21db623965da62561e8ca82ded59e432ba6fb0bfb562 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3445,13 +3220,12 @@ cartridge sha256:cf611b40f9570e8fcfdc21db623965da62561e8ca82ded59e432ba6fb0bfb56 :information : serial: SNS-AIJE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Indiana Jones' Greatest Adventures : title: Indiana Jones' Greatest Adventures cartridge sha256:5e5cac64fdcf09a52a9c0ab1ebc8bd309dcb1256faf1405284443569b5284fe5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -3460,13 +3234,12 @@ cartridge sha256:5e5cac64fdcf09a52a9c0ab1ebc8bd309dcb1256faf1405284443569b5284fe :information : serial: SNS-IN-USA : board: SHVC-1A3B-13 - : region: NA : revision: 1.0 : name: Inindo - Way of the Ninja : title: Inindo: Way of the Ninja cartridge sha256:c7b1706a0ee96f3e0d65cd043c05966bfe3d5c57d08bbd2df3118817424adf82 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -3474,13 +3247,12 @@ cartridge sha256:c7b1706a0ee96f3e0d65cd043c05966bfe3d5c57d08bbd2df3118817424adf8 :information : serial: SNS-5G-USA : board: SHVC-YJ0N-01 - : region: NA : revision: 1.0 : name: Inspector Gadget : title: Inspector Gadget cartridge sha256:6443fecebcdc2ff7061a40432f3ad1db6dfd354909a5f306972cf6afa122752c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3488,13 +3260,12 @@ cartridge sha256:6443fecebcdc2ff7061a40432f3ad1db6dfd354909a5f306972cf6afa122752 :information : serial: SNS-3U-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: International Superstar Soccer : title: International Superstar Soccer cartridge sha256:d2fe66c1ce66c65ce14e478c94be2e616f9e2cad374b5783a6a64d3c1a99cfa9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3502,13 +3273,12 @@ cartridge sha256:d2fe66c1ce66c65ce14e478c94be2e616f9e2cad374b5783a6a64d3c1a99cfa :information : serial: SNS-AWJE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: International Superstar Soccer Deluxe : title: International Superstar Soccer Deluxe cartridge sha256:4e8044b1e7a779685d6751351eef2391272ac8b2bd909edeecfc3d3c5a594bef - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3516,13 +3286,12 @@ cartridge sha256:4e8044b1e7a779685d6751351eef2391272ac8b2bd909edeecfc3d3c5a594be :information : serial: SNS-IT-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: International Tennis Tour : title: International Tennis Tour cartridge sha256:8304d8bc55aa9e64bdd144d384f4b185af2426e7d64888c6c23dd41366a53981 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3530,13 +3299,12 @@ cartridge sha256:8304d8bc55aa9e64bdd144d384f4b185af2426e7d64888c6c23dd41366a5398 :information : serial: SNS-MT-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Irem Skins Game, The : title: The Irem Skins Game cartridge sha256:39bfe828571cdb23e7c85c23cf5b175979dcc2042c5841add58f5ae6492168a9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3544,13 +3312,12 @@ cartridge sha256:39bfe828571cdb23e7c85c23cf5b175979dcc2042c5841add58f5ae6492168a :information : serial: SNS-AISE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Itchy & Scratchy Game, The : title: The Itchy & Scratchy Game cartridge sha256:183af7d642b55d52cd594786ec2f031d033cc6c8c1a2a84a834e4ada04301b26 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3558,13 +3325,12 @@ cartridge sha256:183af7d642b55d52cd594786ec2f031d033cc6c8c1a2a84a834e4ada04301b2 :information : serial: SNS-AIZE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Izzy's Quest for the Olympic Rings : title: Izzy's Quest for the Olympic Rings cartridge sha256:3ffbb6e0ccf8e9f5e4c72d9fe526a16371e562b71a91d6430e562bf358a5126b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3572,13 +3338,12 @@ cartridge sha256:3ffbb6e0ccf8e9f5e4c72d9fe526a16371e562b71a91d6430e562bf358a5126 :information : serial: SNS-JN-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Jack Nicklaus Golf : title: Jack Nicklaus Golf cartridge sha256:9cf82dd9a851cdc38bf2afc286c077ff18a0a5d3bb301eba606cc52db62f8965 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3586,13 +3351,12 @@ cartridge sha256:9cf82dd9a851cdc38bf2afc286c077ff18a0a5d3bb301eba606cc52db62f896 :information : serial: SNS-JJ-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: James Bond Jr. : title: James Bond Jr. cartridge sha256:8b7b33f3d2edb844f1d43cfdd595b8c2cb6fc005d59acb899a1afda999e47638 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3600,13 +3364,12 @@ cartridge sha256:8b7b33f3d2edb844f1d43cfdd595b8c2cb6fc005d59acb899a1afda999e4763 :information : serial: SNS-J6-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Jammit : title: Jammit cartridge sha256:85e5f6fedc420925557092d728e1dc6b4e2042368fb78bf93c0df447f8c9c0c0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3614,13 +3377,12 @@ cartridge sha256:85e5f6fedc420925557092d728e1dc6b4e2042368fb78bf93c0df447f8c9c0c :information : serial: SNS-JY-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Jeopardy! : title: Jeopardy! cartridge sha256:76d760da59aa7fc2fd4426c1d1aec57412703ab901b9df60ac2be16ede80b0e7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3628,13 +3390,12 @@ cartridge sha256:76d760da59aa7fc2fd4426c1d1aec57412703ab901b9df60ac2be16ede80b0e :information : serial: SNS-7J-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Jeopardy! Deluxe Edition : title: Jeopardy! Deluxe Edition cartridge sha256:d7110ddc0b34aa4ecd5e55f7b846657edb982db82cf0ba340fe0464daf0ca9be - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3642,13 +3403,12 @@ cartridge sha256:d7110ddc0b34aa4ecd5e55f7b846657edb982db82cf0ba340fe0464daf0ca9b :information : serial: SNS-8Y-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Jeopardy! Sports Edition : title: Jeopardy! Sports Edition cartridge sha256:ee7a29eb9c302ea2bb235ef990fd8344a6beb9817499941c40a8a94ad5f7c964 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3656,13 +3416,12 @@ cartridge sha256:ee7a29eb9c302ea2bb235ef990fd8344a6beb9817499941c40a8a94ad5f7c96 :information : serial: SNS-8J-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Jetsons - Invasion of the Planet Pirates, The : title: The Jetsons: Invasion of the Planet Pirates cartridge sha256:a314583b11d594b8245b5177aa64a4d3b7497d096edabbea7c1842c57aa2ad2b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3670,13 +3429,12 @@ cartridge sha256:a314583b11d594b8245b5177aa64a4d3b7497d096edabbea7c1842c57aa2ad2 :information : serial: SNS-AWIE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Jim Lee's Wild Covert Action Teams : title: Jim Lee's Wild Covert Action Teams cartridge sha256:6f0bec87ece503b0fbe108cd159ed6f5fa7711b1c4fe31e982af41ad5c638093 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3684,13 +3442,12 @@ cartridge sha256:6f0bec87ece503b0fbe108cd159ed6f5fa7711b1c4fe31e982af41ad5c63809 :information : serial: SNS-6J-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Jim Power - The Lost Dimension in 3D : title: Jim Power: The Lost Dimension in 3D cartridge sha256:205890f94e27e7c1b381124cc35c866351bafa906383e507cd17ccb9d1b68ffd - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3698,13 +3455,12 @@ cartridge sha256:205890f94e27e7c1b381124cc35c866351bafa906383e507cd17ccb9d1b68ff :information : serial: SNS-JC-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Jimmy Connors' Pro Tennis Tour : title: Jimmy Connors' Pro Tennis Tour cartridge sha256:6abe908b4005a68d1f6e9a54339c94a33db41801890d8c058ce974fdab3d0bcd - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -3713,13 +3469,12 @@ cartridge sha256:6abe908b4005a68d1f6e9a54339c94a33db41801890d8c058ce974fdab3d0bc :information : serial: SNS-AFUE-USA : board: SHVC-1A3M-30 - : region: NA : revision: 1.0 : name: Jimmy Houston's Bass Tournament, USA : title: Jimmy Houston's Bass Tournament, U.S.A. cartridge sha256:3b2b8b813b58049a4a86ce1c42d2a651f19fd9bbab2407a494e20cf343d3c1a4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3727,13 +3482,12 @@ cartridge sha256:3b2b8b813b58049a4a86ce1c42d2a651f19fd9bbab2407a494e20cf343d3c1a :information : serial: SNS-JT-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Joe & Mac : title: Joe & Mac cartridge sha256:c9889799a9ae8558f26d66ae546db930c99acb78d921b4395afbbc38da6272aa - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3741,13 +3495,12 @@ cartridge sha256:c9889799a9ae8558f26d66ae546db930c99acb78d921b4395afbbc38da6272a :information : serial: SNS-J3-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Joe & Mac 2 - Lost in the Tropics : title: Joe & Mac 2: Lost in the Tropics cartridge sha256:67fa7115eb6bf292c024c3a8b06ce9bd457c4d46de182a06a573afff968cc0f1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3755,13 +3508,12 @@ cartridge sha256:67fa7115eb6bf292c024c3a8b06ce9bd457c4d46de182a06a573afff968cc0f :information : serial: SNS-AJDE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Judge Dredd - The Movie : title: Judge Dredd: The Movie cartridge sha256:771a0322d9f5f8e13a52d01e80257a1f75cc693cf4abf74793520eb5f8b5580e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3769,13 +3521,12 @@ cartridge sha256:771a0322d9f5f8e13a52d01e80257a1f75cc693cf4abf74793520eb5f8b5580 :information : serial: SNS-7K-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Jungle Book, The : title: The Jungle Book cartridge sha256:8d812ea4fa897274116f7f43bc689e110f1cfbd3f7eb3a1737c2a85d36369159 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3783,13 +3534,12 @@ cartridge sha256:8d812ea4fa897274116f7f43bc689e110f1cfbd3f7eb3a1737c2a85d3636915 :information : serial: SNS-AJGE-USA : board: MJSC-1A0N-30 - : region: NA : revision: 1.0 : name: Jungle Strike : title: Jungle Strike cartridge sha256:fe91d45201753ae9655d5ce38838e352f478b26b2d933c1bcb5bd8330121f9ff - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3797,13 +3547,12 @@ cartridge sha256:fe91d45201753ae9655d5ce38838e352f478b26b2d933c1bcb5bd8330121f9f :information : serial: SNS-J8-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Jurassic Park : title: Jurassic Park cartridge sha256:0a4e9d6fa2ac16aa51da5538d93280734de480e44c430173ed14826c84553c7d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3811,13 +3560,12 @@ cartridge sha256:0a4e9d6fa2ac16aa51da5538d93280734de480e44c430173ed14826c84553c7 :information : serial: SNS-J8-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.1 : name: Jurassic Park : title: Jurassic Park cartridge sha256:5eff7c27f69b3ebc1ec1294ffcd1debf3512bc3e6c1c75fbdc5e778dcaaba1c9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3825,13 +3573,12 @@ cartridge sha256:5eff7c27f69b3ebc1ec1294ffcd1debf3512bc3e6c1c75fbdc5e778dcaaba1c :information : serial: SNS-A2JE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Jurassic Park 2 - The Chaos Continues : title: Jurassic Park 2: The Chaos Continues cartridge sha256:7f05959f423bc656091ea3bddfbc89c877ae243dca346f63233e27973f34e0eb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x280000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3839,13 +3586,12 @@ cartridge sha256:7f05959f423bc656091ea3bddfbc89c877ae243dca346f63233e27973f34e0e :information : serial: SNS-AJLE-USA : board: SHVC-BA0N-10 - : region: NA : revision: 1.0 : name: Justice League Task Force : title: Justice League Task Force cartridge sha256:05152bcf9bf086e7bcdbfa7dd8edfe2085f1339c4d7e193e0071c49a10471ef4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3853,13 +3599,12 @@ cartridge sha256:05152bcf9bf086e7bcdbfa7dd8edfe2085f1339c4d7e193e0071c49a10471ef :information : serial: SNS-BB-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Ka-Blooey : title: Ka-Blooey cartridge sha256:7cc3693cc5e1e834d57795f04b048fab27864a898a9507e7ca383771e2035414 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3867,13 +3612,12 @@ cartridge sha256:7cc3693cc5e1e834d57795f04b048fab27864a898a9507e7ca383771e203541 :information : serial: SNS-KC-USA : board: SHVC-2A0N-10 - : region: NA : revision: 1.0 : name: Kawasaki Caribbean Challenge : title: Kawasaki Caribbean Challenge cartridge sha256:fec6dd097e378e795dd164be658b10b1c60672b2351a7f4a7722d1fe5736410e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3881,13 +3625,12 @@ cartridge sha256:fec6dd097e378e795dd164be658b10b1c60672b2351a7f4a7722d1fe5736410 :information : serial: SNS-AKEE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Kawasaki Superbike Challenge : title: Kawasaki Superbike Challenge cartridge sha256:3104d6c06c8909c56f6adb2faecf1b4382f2490370798b605631da926c5306d8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -3896,13 +3639,12 @@ cartridge sha256:3104d6c06c8909c56f6adb2faecf1b4382f2490370798b605631da926c5306d :information : serial: SNS-JR-USA : board: SHVC-1A3B-20 - : region: NA : revision: 1.0 : name: Ken Griffey Jr. Presents Major League Baseball : title: Ken Griffey Jr. Presents Major League Baseball cartridge sha256:f9f7a2de8cbafd6f9042841dfc42529f8245d75f436bed1c23f9ba1663182e61 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -3911,13 +3653,12 @@ cartridge sha256:f9f7a2de8cbafd6f9042841dfc42529f8245d75f436bed1c23f9ba1663182e6 :information : serial: SNS-JR-USA : board: SHVC-1A3M-21 - : region: NA : revision: 1.1 : name: Ken Griffey Jr. Presents Major League Baseball : title: Ken Griffey Jr. Presents Major League Baseball cartridge sha256:18b5276be764c06531219c1757d40214aeec06fae68f4ce3ec78b58ee750a43e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -3927,13 +3668,12 @@ cartridge sha256:18b5276be764c06531219c1757d40214aeec06fae68f4ce3ec78b58ee750a43 :information : serial: SNS-A9GE-USA : board: SHVC-1J3M-20 - : region: NA : revision: 1.0 : name: Ken Griffey Jr.'s Winning Run : title: Ken Griffey Jr.'s Winning Run cartridge sha256:b16661d5151d73cea5ac46d7c899531c7b2cdee2558092c23a5460c8092b80b8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3941,13 +3681,12 @@ cartridge sha256:b16661d5151d73cea5ac46d7c899531c7b2cdee2558092c23a5460c8092b80b :information : serial: SNS-M7-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Kendo Rage : title: Kendo Rage cartridge sha256:914652f72d6ceb83b8b43414d6c42581ec12e9b3f45259b8b2768d26b8d4f073 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3955,13 +3694,12 @@ cartridge sha256:914652f72d6ceb83b8b43414d6c42581ec12e9b3f45259b8b2768d26b8d4f07 :information : serial: SNS-ZI-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Kid Klown in Crazy Chase : title: Kid Klown in Crazy Chase cartridge sha256:618a23636e07110e094277ec1d1e60c3620a6e9a5f386292808267593fa803ad - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -3969,13 +3707,12 @@ cartridge sha256:618a23636e07110e094277ec1d1e60c3620a6e9a5f386292808267593fa803a :information : serial: SNS-AKLE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Killer Instinct : title: Killer Instinct cartridge sha256:1b58d0aed4510811c73d267244a7e915aa0b334c86e68f3fa5883f5cb534e4d7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x280000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -3983,13 +3720,12 @@ cartridge sha256:1b58d0aed4510811c73d267244a7e915aa0b334c86e68f3fa5883f5cb534e4d :information : serial: SNS-AAKE-USA : board: SHVC-BJ0N-20 - : region: NA : revision: 1.0 : name: King Arthur & The Knights of Justice : title: King Arthur & The Knights of Justice cartridge sha256:aca9eb59d6783e2cae3787c69053888fea98f5dfe4c8af8b5a6360e0afb3b5d7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -3997,13 +3733,12 @@ cartridge sha256:aca9eb59d6783e2cae3787c69053888fea98f5dfe4c8af8b5a6360e0afb3b5d :information : serial: SNS-RC-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: King Arthur's World : title: King Arthur's World cartridge sha256:6638b5541059814d4c34574e5e277ef613aebf81c91d3def557a7642fb5840e1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4011,13 +3746,12 @@ cartridge sha256:6638b5541059814d4c34574e5e277ef613aebf81c91d3def557a7642fb5840e :information : serial: SNS-EI-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: King of Dragons : title: King of Dragons cartridge sha256:1135858a1ce686a0a163bb0e6f3a4d7cd71c0cd56efbc79677372f2624cf2306 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4025,13 +3759,12 @@ cartridge sha256:1135858a1ce686a0a163bb0e6f3a4d7cd71c0cd56efbc79677372f2624cf230 :information : serial: SNS-KM-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: King of the Monsters : title: King of the Monsters cartridge sha256:a9729d049ce580839bbfef1836a13dc16f2fc934d203ebf7390e0b1c47ea9a2d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4039,13 +3772,12 @@ cartridge sha256:a9729d049ce580839bbfef1836a13dc16f2fc934d203ebf7390e0b1c47ea9a2 :information : serial: SNS-KT-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: King of the Monsters 2 : title: King of the Monsters 2 cartridge sha256:4e095fbbdec4a16b075d7140385ff68b259870ca9e3357f076dfff7f3d1c4a62 - :board cic=411 + :board region=ntsc : sa1 : map address=00-3f,80-bf:2200-23ff : rom name=program.rom size=0x400000 @@ -4060,13 +3792,12 @@ cartridge sha256:4e095fbbdec4a16b075d7140385ff68b259870ca9e3357f076dfff7f3d1c4a6 :information : serial: SNS-AKFE-USA : board: SHVC-1L3B-11 - : region: NA : revision: 1.0 : name: Kirby Super Star : title: Kirby Super Star cartridge sha256:67937dd7a29a93b1aaabb6df89f0748369ff47f3f6c655a402c00d5657973140 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4074,13 +3805,12 @@ cartridge sha256:67937dd7a29a93b1aaabb6df89f0748369ff47f3f6c655a402c00d565797314 :information : serial: SNS-PQ-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Kirby's Avalanche : title: Kirby's Avalanche cartridge sha256:0f984dc5fe8293f75e3b8fad98b0cb564706d9b1e3902b56415aa399c2d4df2b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -4089,13 +3819,12 @@ cartridge sha256:0f984dc5fe8293f75e3b8fad98b0cb564706d9b1e3902b56415aa399c2d4df2 :information : serial: SNS-CG-USA : board: SHVC-1A3M-30 - : region: NA : revision: 1.0 : name: Kirby's Dream Course : title: Kirby's Dream Course cartridge sha256:b50bf9d95485e8aeb7a6730e9f9f9c9c4ec23a85b336a4fb2e3b63034531e36f - :board cic=411 + :board region=ntsc : sa1 : map address=00-3f,80-bf:2200-23ff : rom name=program.rom size=0x400000 @@ -4110,13 +3839,12 @@ cartridge sha256:b50bf9d95485e8aeb7a6730e9f9f9c9c4ec23a85b336a4fb2e3b63034531e36 :information : serial: SNS-AFJE-USA : board: SHVC-1L5B-20 - : region: NA : revision: 1.0 : name: Kirby's Dream Land 3 : title: Kirby's Dream Land 3 cartridge sha256:fb601ead645edce139b0483d3155b4e3d7ab245bf87a3a66cb88c0a617c0a526 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4124,13 +3852,12 @@ cartridge sha256:fb601ead645edce139b0483d3155b4e3d7ab245bf87a3a66cb88c0a617c0a52 :information : serial: SNS-LO-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Knights of the Round : title: Knights of the Round cartridge sha256:bed18c968aee0eb0c866c1964c28135364cd6d65fff7bcb5873342c04e63750d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4138,13 +3865,12 @@ cartridge sha256:bed18c968aee0eb0c866c1964c28135364cd6d65fff7bcb5873342c04e63750 :information : serial: SNS-FH-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Krusty's Super Fun House : title: Krusty's Super Fun House cartridge sha256:e36322697c48baae6492db91e6cbf3844a420f6e0cc8a75f3a73556026ddbbb8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4152,13 +3878,12 @@ cartridge sha256:e36322697c48baae6492db91e6cbf3844a420f6e0cc8a75f3a73556026ddbbb :information : serial: SNS-FH-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.1 : name: Krusty's Super Fun House : title: Krusty's Super Fun House cartridge sha256:daf3e45bafbec81ffa5911b94810b2cd267574de717292360f9940f41fb2a6a9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4166,13 +3891,12 @@ cartridge sha256:daf3e45bafbec81ffa5911b94810b2cd267574de717292360f9940f41fb2a6a :information : serial: SNS-AKPE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Kyle Petty's No Fear Racing : title: Kyle Petty's No Fear Racing cartridge sha256:46c811f0cacffe8f20e1d63072d25d7c47e9bb3fd5124851fd05aca9884d21fb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -4181,13 +3905,12 @@ cartridge sha256:46c811f0cacffe8f20e1d63072d25d7c47e9bb3fd5124851fd05aca9884d21f :information : serial: SNS-LA-USA : board: SHVC-1A3B-12 - : region: NA : revision: 1.0 : name: Lagoon : title: Lagoon cartridge sha256:48cd9476fef1ed685b9c30dd1669b46048f7295cbbb2abcfa5b1a48699346ea3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4195,13 +3918,12 @@ cartridge sha256:48cd9476fef1ed685b9c30dd1669b46048f7295cbbb2abcfa5b1a48699346ea :information : serial: SNS-L8-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Lamborghini American Challenge : title: Lamborghini American Challenge cartridge sha256:314d53f409b66ba3f4426a6f1bb7c69f6779aeed277ce2e19535f94d7c8ca586 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4209,13 +3931,12 @@ cartridge sha256:314d53f409b66ba3f4426a6f1bb7c69f6779aeed277ce2e19535f94d7c8ca58 :information : serial: SNS-L5-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Last Action Hero : title: Last Action Hero cartridge sha256:a179a1188220b59787c49a78a0dde79b89380e3a8a8a0ab558f0102c5796f873 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4223,13 +3944,12 @@ cartridge sha256:a179a1188220b59787c49a78a0dde79b89380e3a8a8a0ab558f0102c5796f87 :information : serial: SNS-LW-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Lawnmower Man, The : title: The Lawnmower Man cartridge sha256:c7814cee0fc95d6422cf19a3dc8c9a65b60f6f56da75f09cebea02cc5f99261b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4237,13 +3957,12 @@ cartridge sha256:c7814cee0fc95d6422cf19a3dc8c9a65b60f6f56da75f09cebea02cc5f99261 :information : serial: SNS-6L-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Legend : title: Legend cartridge sha256:c865fb17e8c59a21d32b9a605319241fa74ec732e3f0ee58f5d7fcbd8ee57c6b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4251,13 +3970,12 @@ cartridge sha256:c865fb17e8c59a21d32b9a605319241fa74ec732e3f0ee58f5d7fcbd8ee57c6 :information : serial: SNS-GG-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Legend of the Mystical Ninja, The : title: The Legend of the Mystical Ninja cartridge sha256:66871d66be19ad2c34c927d6b14cd8eb6fc3181965b6e517cb361f7316009cfb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -4266,28 +3984,12 @@ cartridge sha256:66871d66be19ad2c34c927d6b14cd8eb6fc3181965b6e517cb361f7316009cf :information : serial: SNS-ZL-USA : board: SHVC-1A3B-12 - : region: NA : revision: 1.0 : name: Legend of Zelda - A Link to the Past, The : title: The Legend of Zelda: A Link to the Past -cartridge sha256:dd499445275fca6692c0487a8bd70a23f6c8e78e766df0e3c58fbbe53f8adb06 - :board cic=411 - : rom name=program.rom size=0x100000 - : map address=00-1f,80-9f:8000-ffff mask=0x8000 - : ram name=save.ram size=0x2000 - : map address=70-7d,f0-ff:0000-ffff - : - :information - : serial: SNS-ZF-CAN - : board: SHVC-1A3B-13 - : region: CA - : revision: 1.0 - : name: Legende de Zelda - La Triforce des Dieux, La - : title: La Legende de Zelda: La Triforce des Dieux - cartridge sha256:4b28d2ddab405976bb56e41a40ec1ea11d7362a8f398d5f8c117d715a15719ca - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4295,13 +3997,12 @@ cartridge sha256:4b28d2ddab405976bb56e41a40ec1ea11d7362a8f398d5f8c117d715a15719c :information : serial: SNS-LE-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Lemmings : title: Lemmings cartridge sha256:cd016c41c7ef9f4f243d57c2b1564b4ceb3b4c38cc165cd02ab6c8e35c93aa2e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4309,13 +4010,12 @@ cartridge sha256:cd016c41c7ef9f4f243d57c2b1564b4ceb3b4c38cc165cd02ab6c8e35c93aa2 :information : serial: SNS-LE-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.1 : name: Lemmings : title: Lemmings cartridge sha256:63ecdca7f89b2432ccd57bdb81c0875f6336353f5897f756ef162ab2ec2ee707 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -4324,13 +4024,12 @@ cartridge sha256:63ecdca7f89b2432ccd57bdb81c0875f6336353f5897f756ef162ab2ec2ee70 :information : serial: SNS-L2-USA : board: SHVC-1A1M-11 - : region: NA : revision: 1.0 : name: Lemmings 2 - The Tribes : title: Lemmings 2: The Tribes cartridge sha256:a2c1970670e2831e47e24ced01bf4ba5aba05cac3773bf524c62d689c35687e1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4338,13 +4037,12 @@ cartridge sha256:a2c1970670e2831e47e24ced01bf4ba5aba05cac3773bf524c62d689c35687e :information : serial: SNS-LY-USA : board: SHVC-1J0N-01 - : region: NA : revision: 1.0 : name: Lester the Unlikely : title: Lester the Unlikely cartridge sha256:3bc5f296c3dbee012e93a5cf25568f9288ce87b34d74085401a560350eaca03f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4352,13 +4050,12 @@ cartridge sha256:3bc5f296c3dbee012e93a5cf25568f9288ce87b34d74085401a560350eaca03 :information : serial: SNS-LK-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Lethal Enforcers : title: Lethal Enforcers cartridge sha256:80c22cc92d51a54de9cd9fd00db5ff58a35fff35e822169c94e445d50834fba3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4366,13 +4063,12 @@ cartridge sha256:80c22cc92d51a54de9cd9fd00db5ff58a35fff35e822169c94e445d50834fba :information : serial: SNS-L3-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Lethal Weapon : title: Lethal Weapon cartridge sha256:8fcb9c34aea863d49ff08a0ace3f83d301b81f01e2ede28bee7e6d778878d0cc - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x140000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4382,13 +4078,12 @@ cartridge sha256:8fcb9c34aea863d49ff08a0ace3f83d301b81f01e2ede28bee7e6d778878d0c :information : serial: SNS-7L-USA : board: SHVC-2J3M-01 - : region: NA : revision: 1.0 : name: Liberty or Death : title: Liberty or Death cartridge sha256:457abe634e0a8be03e29513a3dca8f3e9d0ddc6bf97d8931f2316094260f3712 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4396,13 +4091,12 @@ cartridge sha256:457abe634e0a8be03e29513a3dca8f3e9d0ddc6bf97d8931f2316094260f371 :information : serial: SNS-ALKE-USA : board: MJSC-1J0N-20 - : region: NA : revision: 1.0 : name: Lion King, The : title: The Lion King cartridge sha256:0e2ba574ff73587f211c8f818d444631584832e9240548f003171c11b898ad62 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4415,13 +4109,12 @@ cartridge sha256:0e2ba574ff73587f211c8f818d444631584832e9240548f003171c11b898ad6 :information : serial: SNS-AZ-USA : board: SHVC-1K0N-01 - : region: NA : revision: 1.0 : name: Lock On : title: Lock On cartridge sha256:76ba0fc1f5c1f39354bb3173a600f23915f1191f400f7d525d220b4b3c8d958d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4429,13 +4122,12 @@ cartridge sha256:76ba0fc1f5c1f39354bb3173a600f23915f1191f400f7d525d220b4b3c8d958 :information : serial: SNS-ALTE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Looney Tunes B-Ball : title: Looney Tunes B-Ball cartridge sha256:62557ee2a3fc3b5a3f59431f966eb61bb380ba983ef6c7742cb55cf075f15f6c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4443,13 +4135,12 @@ cartridge sha256:62557ee2a3fc3b5a3f59431f966eb61bb380ba983ef6c7742cb55cf075f15f6 :information : serial: SNS-64-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Lord of the Rings - Volume 1, The : title: The Lord of the Rings: Volume 1 cartridge sha256:9f7782a92fda789f9d119b1f0a2f7da0f35606357556a48eca9487797ee1a888 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4457,13 +4148,12 @@ cartridge sha256:9f7782a92fda789f9d119b1f0a2f7da0f35606357556a48eca9487797ee1a88 :information : serial: SNS-LV-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Lost Vikings : title: The Lost Vikings cartridge sha256:ab3d97c1a3a979e1680a428ec65df54cfb72997bbfe2173292248a4fa8c51ba1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4471,13 +4161,12 @@ cartridge sha256:ab3d97c1a3a979e1680a428ec65df54cfb72997bbfe2173292248a4fa8c51ba :information : serial: SNS-ALVE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Lost Vikings 2 : title: Lost Vikings 2 cartridge sha256:73731a5a7932965de02a9e98055dcf88b4d17b8f710a6ecfde3e36a1f248773b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -4486,13 +4175,12 @@ cartridge sha256:73731a5a7932965de02a9e98055dcf88b4d17b8f710a6ecfde3e36a1f248773 :information : serial: SNS-ES-USA : board: SHVC-1A3M-20 - : region: NA : revision: 1.0 : name: Lufia & The Fortress of Doom : title: Lufia & The Fortress of Doom cartridge sha256:7c34ecb16c10f551120ed7b86cfbc947042f479b52ee74bb3c40e92fdd192b3a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x280000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -4501,13 +4189,12 @@ cartridge sha256:7c34ecb16c10f551120ed7b86cfbc947042f479b52ee74bb3c40e92fdd192b3 :information : serial: SNS-ANIE-USA : board: SHVC-1A3M-30 - : region: NA : revision: 1.0 : name: Lufia II - Rise of the Sinistrals : title: Lufia II: Rise of the Sinistrals cartridge sha256:5a76347672ea7d27bb334b1e30bbc73e06f92373883bed499245377327a8f0cf - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4515,13 +4202,12 @@ cartridge sha256:5a76347672ea7d27bb334b1e30bbc73e06f92373883bed499245377327a8f0c :information : serial: SNS-JM-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Madden NFL '92 : title: John Madden Football cartridge sha256:3e62872bf69ea90dd7093608268f8defa2c6016adb1011745dab3c2af45d69b7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4529,13 +4215,12 @@ cartridge sha256:3e62872bf69ea90dd7093608268f8defa2c6016adb1011745dab3c2af45d69b :information : serial: SNS-MF-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Madden NFL '93 : title: John Madden Football '93 cartridge sha256:7e77e196db47e87a5b297e60f0dfa7ce41df8d2d1fdd9152e06628d0b0e586af - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4543,13 +4228,12 @@ cartridge sha256:7e77e196db47e87a5b297e60f0dfa7ce41df8d2d1fdd9152e06628d0b0e586a :information : serial: SNS-9M-USA : board: SHVC-1J0N-01 - : region: NA : revision: 1.0 : name: Madden NFL '94 : title: Madden NFL '94 cartridge sha256:0ad77ae7af231313e1369a52d1622b88e3751aa5ec774628df7071f9e4244abc - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4559,13 +4243,12 @@ cartridge sha256:0ad77ae7af231313e1369a52d1622b88e3751aa5ec774628df7071f9e4244ab :information : serial: SNS-ANLE-USA : board: SHVC-1J3M-11 - : region: NA : revision: 1.0 : name: Madden NFL '95 : title: Madden NFL '95 cartridge sha256:3059d86cdc383985c564a7a891fe18e08f5222ead7ede9fa309159d60cde13a1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4575,13 +4258,12 @@ cartridge sha256:3059d86cdc383985c564a7a891fe18e08f5222ead7ede9fa309159d60cde13a :information : serial: SNS-A6FE-USA : board: SHVC-1J3M-20 - : region: NA : revision: 1.0 : name: Madden NFL '96 : title: Madden NFL '96 cartridge sha256:6874568d985f65dd817d4b03998e71c8cbacc8d8707411fde7bffee350605a88 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4591,13 +4273,12 @@ cartridge sha256:6874568d985f65dd817d4b03998e71c8cbacc8d8707411fde7bffee350605a8 :information : serial: SNS-A7NE-USA : board: EA-1J3M-20 - : region: NA : revision: 1.0 : name: Madden NFL '97 : title: Madden NFL '97 cartridge sha256:e3c62c9fe55d2311aa6a264f41b45d6cbc7b1b069ed3aa82ee57d381c062547d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4607,13 +4288,12 @@ cartridge sha256:e3c62c9fe55d2311aa6a264f41b45d6cbc7b1b069ed3aa82ee57d381c062547 :information : serial: SNS-A8NE-USA : board: EA-1J3M-20 - : region: NA : revision: 1.0 : name: Madden NFL '98 : title: Madden NFL '98 cartridge sha256:c01fb8989d391d3e343003934937f02bd8ef9aacdad68c32c3d3f56feb72f5b0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4621,13 +4301,12 @@ cartridge sha256:c01fb8989d391d3e343003934937f02bd8ef9aacdad68c32c3d3f56feb72f5b :information : serial: SNS-YG-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Magic Boy : title: Magic Boy cartridge sha256:1d3cceaa05e054b002caeb09fd5fb9e718ec446764f4169d97bc185da76fdf4d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4635,13 +4314,12 @@ cartridge sha256:1d3cceaa05e054b002caeb09fd5fb9e718ec446764f4169d97bc185da76fdf4 :information : serial: SNS-MD-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Magic Sword : title: Magic Sword cartridge sha256:f301bb8ea867e530ecb64e8eff504ed5b9697cf076c70e2036ecf2ffbe6c487a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4649,13 +4327,12 @@ cartridge sha256:f301bb8ea867e530ecb64e8eff504ed5b9697cf076c70e2036ecf2ffbe6c487 :information : serial: SNS-MI-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Magical Quest Starring Mickey Mouse, The : title: The Magical Quest Starring Mickey Mouse cartridge sha256:8267e2f092c86d5a29c9a826db82c7473638e28e2507cdaf5c86981f07cd0bef - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4663,13 +4340,12 @@ cartridge sha256:8267e2f092c86d5a29c9a826db82c7473638e28e2507cdaf5c86981f07cd0be :information : serial: SNS-MU-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Mario is Missing! : title: Mario is Missing! cartridge sha256:e842cac1a4301be196f1e137fbd1a16866d5c913f24dbca313f4dd8bd7472f45 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x8000 @@ -4678,13 +4354,12 @@ cartridge sha256:e842cac1a4301be196f1e137fbd1a16866d5c913f24dbca313f4dd8bd7472f4 :information : serial: SNS-MP-USA : board: SHVC-1A5M-20 - : region: NA : revision: 1.0 : name: Mario Paint : title: Mario Paint cartridge sha256:22b21fb39d40447846f6ff77a07f7b4aba2a7473941ba50c787aae6153b1fb5e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4692,13 +4367,12 @@ cartridge sha256:22b21fb39d40447846f6ff77a07f7b4aba2a7473941ba50c787aae6153b1fb5 :information : serial: SNS-AMYE-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Mario's Early Years - Fun with Letters : title: Mario's Early Years: Fun with Letters cartridge sha256:57b94f5f576abbe8bd8f5a4eeb6cf927300ec1b5f0596610f3539ba733505c12 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4706,13 +4380,12 @@ cartridge sha256:57b94f5f576abbe8bd8f5a4eeb6cf927300ec1b5f0596610f3539ba733505c1 :information : serial: SNS-YR-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Mario's Early Years - Fun with Numbers : title: Mario's Early Years: Fun with Numbers cartridge sha256:c646b1e60e2cd5a2741915f5d3dfe3c17f45ff7283f8052e840bd4354b0990e1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4720,13 +4393,12 @@ cartridge sha256:c646b1e60e2cd5a2741915f5d3dfe3c17f45ff7283f8052e840bd4354b0990e :information : serial: SNS-AMEE-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Mario's Early Years - Preschool Fun : title: Mario's Early Years: Preschool Fun cartridge sha256:4b69d4958e099c3b3f6ae45e153ced9b24755d8c161dfee06c9f67886a7c0f09 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4734,13 +4406,12 @@ cartridge sha256:4b69d4958e099c3b3f6ae45e153ced9b24755d8c161dfee06c9f67886a7c0f0 :information : serial: SNS-8M-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Mario's Time Machine : title: Mario's Time Machine cartridge sha256:908440f96fd0df14602fc6d1daee8519fc31f765ad00bf64aaba35c2c6ef0b56 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4750,13 +4421,12 @@ cartridge sha256:908440f96fd0df14602fc6d1daee8519fc31f765ad00bf64aaba35c2c6ef0b5 :information : serial: SNS-AOAE-USA : board: SHVC-1J3M-20 - : region: NA : revision: 1.0 : name: Mark Davis' The Fishing Master : title: Mark Davis' The Fishing Master cartridge sha256:49dd77b310b476c875633335243553be59ecfb0bffae62e46f2e53ff05c20fcd - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4764,13 +4434,12 @@ cartridge sha256:49dd77b310b476c875633335243553be59ecfb0bffae62e46f2e53ff05c20fc :information : serial: SNS-AHZE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Marvel Super Heroes in War of the Gems : title: Marvel Super Heroes in War of the Gems cartridge sha256:2731f0bd1c87e75121f41d1ed5cc9fbf177f414b8bf831c76fd9c4b58c86ed08 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4778,13 +4447,12 @@ cartridge sha256:2731f0bd1c87e75121f41d1ed5cc9fbf177f414b8bf831c76fd9c4b58c86ed0 :information : serial: SNS-AFRE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Mary Shelley's Frankenstein : title: Mary Shelley's Frankenstein cartridge sha256:44cc113ce1e7616cc737adea9e8f140436c9f1c3fba57e8e9db48025d4ace632 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4792,13 +4460,12 @@ cartridge sha256:44cc113ce1e7616cc737adea9e8f140436c9f1c3fba57e8e9db48025d4ace63 :information : serial: SNS-AMGE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Mask, The : title: The Mask cartridge sha256:22453182d44380f08004a12c6492a0c4b2e1f584e268dcc3296a03ea03ae0909 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4806,13 +4473,12 @@ cartridge sha256:22453182d44380f08004a12c6492a0c4b2e1f584e268dcc3296a03ea03ae090 :information : serial: SNS-AMME-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Math Blaster - Episode One : title: Math Blaster: Episode One cartridge sha256:a203a13870eaec92095daef1196a0c9fe8416e600504d55dd0dc724d4f5f5cb0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4820,13 +4486,12 @@ cartridge sha256:a203a13870eaec92095daef1196a0c9fe8416e600504d55dd0dc724d4f5f5cb :information : serial: SNS-AZBE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Maui Mallard in Cold Shadow : title: Maui Mallard in Cold Shadow cartridge sha256:c3c4afdeb67136619c643bd9a9f3fe90337541a40745503b5d4eb9b9e6e64b67 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -4835,13 +4500,12 @@ cartridge sha256:c3c4afdeb67136619c643bd9a9f3fe90337541a40745503b5d4eb9b9e6e64b6 :information : serial: SNS-TS-USA : board: SHVC-1A3B-13 - : region: NA : revision: 1.0 : name: Mecarobot Golf : title: Mecarobot Golf cartridge sha256:2a08704748f5ef6488348c4099729feca600412d331bda3756e51efd8b94e113 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -4850,13 +4514,12 @@ cartridge sha256:2a08704748f5ef6488348c4099729feca600412d331bda3756e51efd8b94e11 :information : serial: SNS-WM-USA : board: SHVC-1A1B-06 - : region: NA : revision: 1.0 : name: MechWarrior : title: MechWarrior cartridge sha256:7bffa1dc31604fa3d61e06ce2c59168098cc8dd7e59998e1d5f30c49bdf8d617 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4864,13 +4527,12 @@ cartridge sha256:7bffa1dc31604fa3d61e06ce2c59168098cc8dd7e59998e1d5f30c49bdf8d61 :information : serial: SNS-A35E-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: MechWarrior 3050 : title: MechWarrior 3050 cartridge sha256:a255fec32453739903a1954149f19bc9658f4a415600b44badf1d4e5e13a16f9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -4878,13 +4540,12 @@ cartridge sha256:a255fec32453739903a1954149f19bc9658f4a415600b44badf1d4e5e13a16f :information : serial: SNS-A7RE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Mega Man 7 : title: Mega Man 7 cartridge sha256:cf4d603dc0a3759da571224c671a9bfd29f9e52ca8dbb61bcc8ac8be5481e9b2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x140000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4892,13 +4553,12 @@ cartridge sha256:cf4d603dc0a3759da571224c671a9bfd29f9e52ca8dbb61bcc8ac8be5481e9b :information : serial: SNS-RQ-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Mega Man Soccer : title: Mega Man Soccer cartridge sha256:3e1209f473bff8cd4bcbf71d071e7f8df17a2d564e9a5c4c427ee8198cebb615 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4906,13 +4566,12 @@ cartridge sha256:3e1209f473bff8cd4bcbf71d071e7f8df17a2d564e9a5c4c427ee8198cebb61 :information : serial: SNS-RX-USA : board: SHVC-2A0N-01 - : region: NA : revision: 1.0 : name: Mega Man X : title: Mega Man X cartridge sha256:da484f2a636b8d692840f40e5468e992c5f2af26d365c69fbc12ef2923588d23 - :board cic=411 + :board region=ntsc : hitachidsp model=HG51B169 frequency=20000000 : map address=00-3f,80-bf:6c00-6fff,7c00-7fff : rom name=program.rom size=0x180000 @@ -4926,13 +4585,12 @@ cartridge sha256:da484f2a636b8d692840f40e5468e992c5f2af26d365c69fbc12ef2923588d2 :information : serial: SNS-ARXE-USA : board: SHVC-2DC0N-01 - : region: NA : revision: 1.0 : name: Mega Man X2 : title: Mega Man X2 cartridge sha256:b2aa2c0a621dfbed3b528de93282fc91abb16325d358680d34753d43629263cf - :board cic=411 + :board region=ntsc : hitachidsp model=HG51B169 frequency=20000000 : map address=00-3f,80-bf:6c00-6fff,7c00-7fff : rom name=program.rom size=0x200000 @@ -4946,13 +4604,12 @@ cartridge sha256:b2aa2c0a621dfbed3b528de93282fc91abb16325d358680d34753d43629263c :information : serial: SNS-AR3E-USA : board: SHVC-1DC0N-01 - : region: NA : revision: 1.0 : name: Mega Man X3 : title: Mega Man X3 cartridge sha256:d4f2cb6b209db29f7aec62e5a23846681c14665fb007e94d7bcfc7b5611e938b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff mask=0x8000 : obc1 @@ -4963,13 +4620,12 @@ cartridge sha256:d4f2cb6b209db29f7aec62e5a23846681c14665fb007e94d7bcfc7b5611e938 :information : serial: SNS-KD-USA : board: SHVC-2E3M-01 - : region: NA : revision: 1.0 : name: Metal Combat - Falcon's Revenge : title: Metal Combat: Falcon's Revenge cartridge sha256:0a9609a505dd1555006b16f53d961b3ce50c518aa1597a77dcd46e55ecc716ff - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4977,13 +4633,12 @@ cartridge sha256:0a9609a505dd1555006b16f53d961b3ce50c518aa1597a77dcd46e55ecc716f :information : serial: SNS-6M-USA : board: SHVC-2A0N-01 - : region: NA : revision: 1.0 : name: Metal Marines : title: Metal Marines cartridge sha256:057484558ebd18165f98e556b994080535e31cefdd98b5edb190516f7040fc9d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -4991,13 +4646,12 @@ cartridge sha256:057484558ebd18165f98e556b994080535e31cefdd98b5edb190516f7040fc9 :information : serial: SNS-AMHE-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Metal Morph : title: Metal Morph cartridge sha256:0d7f875877fe856066cfb39b4ecdbbe7d48393a75770720876c94419f809bb1c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5005,13 +4659,12 @@ cartridge sha256:0d7f875877fe856066cfb39b4ecdbbe7d48393a75770720876c94419f809bb1 :information : serial: SNS-AWME-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Metal Warriors : title: Metal Warriors cartridge sha256:88545d24c60c18c695cc3fce8c4074f46ad1bac905e8a39a61d8a6ae6b608621 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5024,13 +4677,12 @@ cartridge sha256:88545d24c60c18c695cc3fce8c4074f46ad1bac905e8a39a61d8a6ae6b60862 :information : serial: SNS-AMAE-USA : board: SHVC-1K0N-01 - : region: NA : revision: 1.0 : name: Michael Andretti's Indy Car Challenge : title: Michael Andretti's Indy Car Challenge cartridge sha256:1b425ea5a883b7464637b74c2937fde699ffff52b53ad6940a66285e0663194a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x140000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5038,13 +4690,12 @@ cartridge sha256:1b425ea5a883b7464637b74c2937fde699ffff52b53ad6940a66285e0663194 :information : serial: SNS-AWCE-USA : board: SHVC-2J0N-11 - : region: NA : revision: 1.0 : name: Michael Jordan - Chaos in the Windy City : title: Michael Jordan: Chaos in the Windy City cartridge sha256:0773eb741ce28f963f767fc7dd44678eb3d37ed4dc7fc82bb9cce7d55f1cfc64 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5052,13 +4703,12 @@ cartridge sha256:0773eb741ce28f963f767fc7dd44678eb3d37ed4dc7fc82bb9cce7d55f1cfc6 :information : serial: SNS-AMIE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Mickey Mania - The Timeless Adventures of Mickey Mouse : title: Mickey Mania: The Timeless Adventures of Mickey Mouse cartridge sha256:add082caffe707df2c0259489c3e272d6557ab07ba3ff856cbc0adba0d7db6a5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5066,13 +4716,12 @@ cartridge sha256:add082caffe707df2c0259489c3e272d6557ab07ba3ff856cbc0adba0d7db6a :information : serial: SNS-6U-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Mickey's Ultimate Challenge : title: Mickey's Ultimate Challenge cartridge sha256:a2adeb4bf0e7cc943611ac726e5578da404373a79e91436c9bbd15480688b15c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5080,13 +4729,12 @@ cartridge sha256:a2adeb4bf0e7cc943611ac726e5578da404373a79e91436c9bbd15480688b15 :information : serial: SNS-AH3E-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Micro Machines : title: Micro Machines cartridge sha256:835ded9479f0e7babae00405d85233d767e82fa247aa1a9cdc14fd1f147b62ef - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -5095,13 +4743,12 @@ cartridge sha256:835ded9479f0e7babae00405d85233d767e82fa247aa1a9cdc14fd1f147b62e :information : serial: SNS-3H-USA : board: SHVC-2A3M-20 - : region: NA : revision: 1.0 : name: Might & Magic III - Isles of Terra : title: Might & Magic III: Isles of Terra cartridge sha256:624a66607caef2ca34920ea15b84b28cdd1916ee089d496cec4f1d43621fdbb3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5109,13 +4756,12 @@ cartridge sha256:624a66607caef2ca34920ea15b84b28cdd1916ee089d496cec4f1d43621fdbb :information : serial: SNS-52-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Mighty Morphin Power Rangers : title: Mighty Morphin Power Rangers cartridge sha256:1b85c0690aa156a255c7f79e133e453345452698fa98abf8df744c262d0cf865 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5123,13 +4769,12 @@ cartridge sha256:1b85c0690aa156a255c7f79e133e453345452698fa98abf8df744c262d0cf86 :information : serial: SNS-A3RE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Mighty Morphin Power Rangers - The Fighting Edition : title: Mighty Morphin Power Rangers: The Fighting Edition cartridge sha256:c706b70097c679f6f0ced6f77a30620807d0b2555fc3c683c0ec2fc791176039 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5137,13 +4782,12 @@ cartridge sha256:c706b70097c679f6f0ced6f77a30620807d0b2555fc3c683c0ec2fc79117603 :information : serial: SNS-A2RE-USA : board: SHVC-2A0N-20 - : region: NA : revision: 1.0 : name: Mighty Morphin Power Rangers - The Movie : title: Mighty Morphin Power Rangers: The Movie cartridge sha256:8546dfc91f6256df8b21083531457e3edf0021da12fce6858e2c59ff239c31da - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5151,13 +4795,12 @@ cartridge sha256:8546dfc91f6256df8b21083531457e3edf0021da12fce6858e2c59ff239c31d :information : serial: SNS-MR-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Miracle Piano Teaching System, The : title: The Miracle Piano Teaching System cartridge sha256:d32f194e27d177e64bf3bda046889b8198276fca2e8772e4b02a17152e9273e4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5165,13 +4808,12 @@ cartridge sha256:d32f194e27d177e64bf3bda046889b8198276fca2e8772e4b02a17152e9273e :information : serial: SNS-XH-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: MLBPA Baseball : title: MLBPA Baseball cartridge sha256:8715a641f2e4dd8b6066be7f2683d9129fff3fcccaf0a09cc8bdd2aa56460764 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5179,13 +4821,12 @@ cartridge sha256:8715a641f2e4dd8b6066be7f2683d9129fff3fcccaf0a09cc8bdd2aa5646076 :information : serial: SNS-AJYE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Mohawk & Headphone Jack : title: Mohawk & Headphone Jack cartridge sha256:480ae7186fd5b28200cd88e136b9cd3b6600d32508e280a0bc27ea0ed8d3c0bb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5193,13 +4834,12 @@ cartridge sha256:480ae7186fd5b28200cd88e136b9cd3b6600d32508e280a0bc27ea0ed8d3c0b :information : serial: SNS-ML-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Monopoly : title: Monopoly cartridge sha256:6b0ac4d52d24536cdb7d9d0dc7d19ee30d08ac34363983290c5912ccc850fa0d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5207,13 +4847,12 @@ cartridge sha256:6b0ac4d52d24536cdb7d9d0dc7d19ee30d08ac34363983290c5912ccc850fa0 :information : serial: SNS-ML-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.1 : name: Monopoly : title: Monopoly cartridge sha256:3c6d3e4a9c9af160f1c1cf11ce4ead531d9500c1f58f1cbe682c90a5eaa3efb2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5221,13 +4860,12 @@ cartridge sha256:3c6d3e4a9c9af160f1c1cf11ce4ead531d9500c1f58f1cbe682c90a5eaa3efb :information : serial: SNS-KX-USA : board: SHVC-2A0N-10 - : region: NA : revision: 1.0 : name: Mortal Kombat : title: Mortal Kombat cartridge sha256:43e36a74fb73a7efc46b380599e269b1fff8f55ecf80f5cf50c34d02ceda041a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5235,13 +4873,12 @@ cartridge sha256:43e36a74fb73a7efc46b380599e269b1fff8f55ecf80f5cf50c34d02ceda041 :information : serial: SNS-28-USA : board: SHVC-BJ0N-01 - : region: NA : revision: 1.0 : name: Mortal Kombat 2 : title: Mortal Kombat II cartridge sha256:ca2f86ca77f822fcd8e86f5a287f2a76d0becbb81a7bce73ae22909beb2f834c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5249,13 +4886,12 @@ cartridge sha256:ca2f86ca77f822fcd8e86f5a287f2a76d0becbb81a7bce73ae22909beb2f834 :information : serial: SNS-28-USA : board: SHVC-BJ0N-01 - : region: NA : revision: 1.1 : name: Mortal Kombat 2 : title: Mortal Kombat II cartridge sha256:417874aa57856fe93eefdb24066fa1a9ca3f23c72c09d5247ae2b3ab4b3d09d1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5263,13 +4899,12 @@ cartridge sha256:417874aa57856fe93eefdb24066fa1a9ca3f23c72c09d5247ae2b3ab4b3d09d :information : serial: SNS-A3ME-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Mortal Kombat 3 : title: Mortal Kombat 3 cartridge sha256:340293c06536d7b6981ad7c681e404f4390ff6c62340f844a4558877c1b82af0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x40000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5277,13 +4912,12 @@ cartridge sha256:340293c06536d7b6981ad7c681e404f4390ff6c62340f844a4558877c1b82af :information : serial: SNS-AUNE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Mr. Do! : title: Mr. Do! cartridge sha256:3472dd574b50aed2fa998f464398db4fbb00f5a300a672c3737ee9336a008a16 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5291,13 +4925,12 @@ cartridge sha256:3472dd574b50aed2fa998f464398db4fbb00f5a300a672c3737ee9336a008a1 :information : serial: SNS-N8-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Mr. Nutz : title: Mr. Nutz cartridge sha256:007735e68a91cab403f1c955d9d562e9311124e660fa5b32e5c5d0a2e052160e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x40000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5305,13 +4938,12 @@ cartridge sha256:007735e68a91cab403f1c955d9d562e9311124e660fa5b32e5c5d0a2e052160 :information : serial: SNS-AN8E-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Ms. Pac-Man : title: Ms. Pac-Man cartridge sha256:f292598ac462fdfcd32ad9b6b35ac01d4bab020391dff92bfe94780ec604289a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5319,13 +4951,12 @@ cartridge sha256:f292598ac462fdfcd32ad9b6b35ac01d4bab020391dff92bfe94780ec604289 :information : serial: SNS-MY-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Musya - The Classic Japanese Tale of Horror : title: Musya: The Classic Japanese Tale of Horror cartridge sha256:8d4ada4f98464d176ae7f0fb8a20032056680f3241637a0f903f23f31f41ff36 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5333,13 +4964,12 @@ cartridge sha256:8d4ada4f98464d176ae7f0fb8a20032056680f3241637a0f903f23f31f41ff3 :information : serial: SNS-AM9E-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Mutant Chronicles - Doom Troopers : title: Mutant Chronicles: Doom Troopers cartridge sha256:22d2260de02552b1205aac2ff5a202a4c80532ac28045ef5a058d88279ab758e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5347,13 +4977,12 @@ cartridge sha256:22d2260de02552b1205aac2ff5a202a4c80532ac28045ef5a058d88279ab758 :information : serial: SNS-7W-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Natsume Championship Wrestling : title: Natsume Championship Wrestling cartridge sha256:c70b812a9d2df7f95b279e4050e03a4b8a68588a370816e645f378296b84e5d1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5361,13 +4990,12 @@ cartridge sha256:c70b812a9d2df7f95b279e4050e03a4b8a68588a370816e645f378296b84e5d :information : serial: SNS-NB-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: NBA All-Star Challenge : title: NBA All-Star Challenge cartridge sha256:5874b942f974bb906d8cbc33b601a1faf8f14aee8d0995124c8dc84bb4973808 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5375,13 +5003,12 @@ cartridge sha256:5874b942f974bb906d8cbc33b601a1faf8f14aee8d0995124c8dc84bb497380 :information : serial: SNS-ANJE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: NBA Give & Go : title: NBA Give 'n Go cartridge sha256:af2fe0627de2bb2672f4f65dcbdaaee22b211275f679f123d5fa5d37fd699363 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5391,13 +5018,12 @@ cartridge sha256:af2fe0627de2bb2672f4f65dcbdaaee22b211275f679f123d5fa5d37fd69936 :information : serial: SNS-AXGE-USA : board: SHVC-1J3M-20 - : region: NA : revision: 1.0 : name: NBA Hang Time : title: NBA Hang Time cartridge sha256:0f18c496426bb97fe5e8b91ad5299f0b1c3898ac17047b745c86b167c212ab7a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5405,13 +5031,12 @@ cartridge sha256:0f18c496426bb97fe5e8b91ad5299f0b1c3898ac17047b745c86b167c212ab7 :information : serial: SNS-8N-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: NBA Jam : title: NBA Jam cartridge sha256:b257cffb3484e6be051a56268cb99ee888bd6d3e9c0e8d6d0779ff66c411f6ba - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -5420,13 +5045,12 @@ cartridge sha256:b257cffb3484e6be051a56268cb99ee888bd6d3e9c0e8d6d0779ff66c411f6b :information : serial: SNS-AJTE-USA : board: SHVC-BA1M-01 - : region: NA : revision: 1.0 : name: NBA Jam - Tournament Edition : title: NBA Jam: Tournament Edition cartridge sha256:2115c39f0580ce19885b5459ad708eaa80cc80fabfe5a9325ec2280a5bcd7870 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -5435,13 +5059,12 @@ cartridge sha256:2115c39f0580ce19885b5459ad708eaa80cc80fabfe5a9325ec2280a5bcd787 :information : serial: SNS-ANBE-USA : board: SHVC-2A3M-20 - : region: NA : revision: 1.0 : name: NBA Live '95 : title: NBA Live '95 cartridge sha256:2d6fc4214245684a8f8f9bb553de637b7c660919ec775bfe3baaf74060c9157e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -5450,13 +5073,12 @@ cartridge sha256:2d6fc4214245684a8f8f9bb553de637b7c660919ec775bfe3baaf74060c9157 :information : serial: SNS-A6BE-USA : board: SHVC-2A3M-20 - : region: NA : revision: 1.0 : name: NBA Live '96 : title: NBA Live '96 cartridge sha256:4b945493d28653d5d047a375136ec9792f27e652be4af00e2c03c40369bd6ecf - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -5465,13 +5087,12 @@ cartridge sha256:4b945493d28653d5d047a375136ec9792f27e652be4af00e2c03c40369bd6ec :information : serial: SNS-A7LE-USA : board: EA-1A3M-30 - : region: NA : revision: 1.0 : name: NBA Live '97 : title: NBA Live '97 cartridge sha256:1d1b257dcf859cc412d3a9521fc58dc876a5917e6a69cd1d960a8e9840454bb4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -5480,13 +5101,12 @@ cartridge sha256:1d1b257dcf859cc412d3a9521fc58dc876a5917e6a69cd1d960a8e9840454bb :information : serial: SNS-A8LE-USA : board: EA-1A3M-30 - : region: NA : revision: 1.0 : name: NBA Live '98 : title: NBA Live '98 cartridge sha256:6a7324734004d99206439430243b51a05fa8c25ffa314dafc7f127235d1a730f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -5495,13 +5115,12 @@ cartridge sha256:6a7324734004d99206439430243b51a05fa8c25ffa314dafc7f127235d1a730 :information : serial: SNS-6N-USA : board: SHVC-1A3M-10 - : region: NA : revision: 1.0 : name: NBA Showdown : title: NBA Showdown cartridge sha256:351587366eca8aeb38236e4ad6cbd4a1b6e37b8cc592725a79249c3a054fa3a7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -5510,13 +5129,12 @@ cartridge sha256:351587366eca8aeb38236e4ad6cbd4a1b6e37b8cc592725a79249c3a054fa3a :information : serial: SNS-DU-USA : board: SHVC-1A1B-06 - : region: NA : revision: 1.0 : name: NCAA Basketball : title: NCAA Basketball cartridge sha256:8ef5d5c50ffeca1e62e88e4fe2909eaf191e28fbb5a9faf98b7b10bea72c9ed9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -5525,13 +5143,12 @@ cartridge sha256:8ef5d5c50ffeca1e62e88e4fe2909eaf191e28fbb5a9faf98b7b10bea72c9ed :information : serial: SNS-DU-USA : board: SHVC-1A1B-06 - : region: NA : revision: 1.1 : name: NCAA Basketball : title: NCAA Basketball cartridge sha256:d297c76efbcd9a528d8ee51025f8774ab2cb6bbc676c24e28592c50f47e71bfc - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -5540,13 +5157,12 @@ cartridge sha256:d297c76efbcd9a528d8ee51025f8774ab2cb6bbc676c24e28592c50f47e71bf :information : serial: SNS-AFIE-USA : board: SHVC-2A3M-20 - : region: NA : revision: 1.0 : name: NCAA Final Four Basketball : title: NCAA Final Four Basketball cartridge sha256:8c43b7c2f2ef1fca9237c64c2f4c9e98d1a48940dae500ce8eac71278d34efb3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -5555,13 +5171,12 @@ cartridge sha256:8c43b7c2f2ef1fca9237c64c2f4c9e98d1a48940dae500ce8eac71278d34efb :information : serial: SNS-AFBE-USA : board: SHVC-1A1M-11 - : region: NA : revision: 1.0 : name: NCAA Football : title: NCAA Football cartridge sha256:489d6d704d3d917d9b46ce382230700419983a8d0d61a98fe07e08c935522dde - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5569,13 +5184,12 @@ cartridge sha256:489d6d704d3d917d9b46ce382230700419983a8d0d61a98fe07e08c935522dd :information : serial: SNS-ANME-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Newman-Haas IndyCar featuring Nigel Mansell : title: Newman-Haas IndyCar featuring Nigel Mansell cartridge sha256:f651a42bb351f7691b880827178c36fcf6c265c7833c6de1d94f7ed69bac0517 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5583,13 +5197,12 @@ cartridge sha256:f651a42bb351f7691b880827178c36fcf6c265c7833c6de1d94f7ed69bac051 :information : serial: SNS-NF-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: NFL Football : title: NFL Football cartridge sha256:6a59115a9958d4a9fa167095505a2ddf222ca6291209d07618319e39a2be8b61 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -5598,13 +5211,12 @@ cartridge sha256:6a59115a9958d4a9fa167095505a2ddf222ca6291209d07618319e39a2be8b6 :information : serial: SNS-Q9-USA : board: SHVC-1A1M-11 - : region: NA : revision: 1.0 : name: NFL Quarterback Club '95 : title: NFL Quarterback Club cartridge sha256:f43f8ec546b8060e9d191fca860c38caf5a43eda86a304f0073647c6fad7b2c9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -5613,13 +5225,12 @@ cartridge sha256:f43f8ec546b8060e9d191fca860c38caf5a43eda86a304f0073647c6fad7b2c :information : serial: SNS-AQBE-USA : board: SHVC-1A1M-20 - : region: NA : revision: 1.0 : name: NFL Quarterback Club '96 : title: NFL Quarterback Club '96 cartridge sha256:5132e1c0d466963e6adc09e8a608ebd90619ab94f7fc908d626bbaf6a99dfa19 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5627,13 +5238,12 @@ cartridge sha256:5132e1c0d466963e6adc09e8a608ebd90619ab94f7fc908d626bbaf6a99dfa1 :information : serial: SNS-4H-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: NHL '94 : title: NHL '94 cartridge sha256:01c0b58d5fd5d5484fea988455a55a71ed9e606538d2b3ce3f216159cc6929b0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5643,13 +5253,12 @@ cartridge sha256:01c0b58d5fd5d5484fea988455a55a71ed9e606538d2b3ce3f216159cc6929b :information : serial: SNS-ANHE-USA : board: SHVC-1J3M-11 - : region: NA : revision: 1.0 : name: NHL '95 : title: NHL '95 cartridge sha256:d24c0175ee4eafed88e277691c5f5dafd4e197723097e2eb68aa6b40f449fff2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5659,13 +5268,12 @@ cartridge sha256:d24c0175ee4eafed88e277691c5f5dafd4e197723097e2eb68aa6b40f449fff :information : serial: SNS-A6HE-USA : board: SHVC-1J3M-20 - : region: NA : revision: 1.0 : name: NHL '96 : title: NHL '96 cartridge sha256:2a2dc2ef84efd9a773d1e8231b7e3e57f0de7e4528968670963f2f1f358eef39 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5675,13 +5283,12 @@ cartridge sha256:2a2dc2ef84efd9a773d1e8231b7e3e57f0de7e4528968670963f2f1f358eef3 :information : serial: SNS-AH7E-USA : board: SHVC-1J3M-20 - : region: NA : revision: 1.0 : name: NHL '97 : title: NHL '97 cartridge sha256:8113c2cedafc8fd5a56c8638ae340fb275f263ff5c5e18d04dc6c3ebc5cfffee - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5691,13 +5298,12 @@ cartridge sha256:8113c2cedafc8fd5a56c8638ae340fb275f263ff5c5e18d04dc6c3ebc5cfffe :information : serial: SNS-A8HE-USA : board: SHVC-1J5M-20 - : region: NA : revision: 1.0 : name: NHL '98 : title: NHL '98 cartridge sha256:d44f487d84f5bb761955b7b70a5464b2f094e199875f595f312c88e04ac647ff - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -5706,13 +5312,12 @@ cartridge sha256:d44f487d84f5bb761955b7b70a5464b2f094e199875f595f312c88e04ac647f :information : serial: SNS-NH-USA : board: SHVC-1A1M-01 - : region: NA : revision: 1.0 : name: NHL Stanley Cup : title: NHL Stanley Cup cartridge sha256:55f3432a130085c112d65aa6443c41eb7a8aeec59aad2c2b4b2ac536b604b449 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5720,13 +5325,12 @@ cartridge sha256:55f3432a130085c112d65aa6443c41eb7a8aeec59aad2c2b4b2ac536b604b44 :information : serial: SNS-HY-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: NHLPA Hockey '93 : title: NHLPA Hockey '93 cartridge sha256:d7ad6f67860da78fe25d9e79dd13af7ac7efaa0c8e0103898a4849ab4af9e438 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5734,13 +5338,12 @@ cartridge sha256:d7ad6f67860da78fe25d9e79dd13af7ac7efaa0c8e0103898a4849ab4af9e43 :information : serial: SNS-ANGE-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Nickelodeon GUTS : title: Nickelodeon GUTS cartridge sha256:ce9c819d6496e58901b39d9b04558a89e09ccc3aac33690b8d02bb0406682a57 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5748,13 +5351,12 @@ cartridge sha256:ce9c819d6496e58901b39d9b04558a89e09ccc3aac33690b8d02bb0406682a5 :information : serial: SNS-M8-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Nigel Mansell's World Championship Racing : title: Nigel Mansell's World Championship Racing cartridge sha256:fccc96af24a2463b1c53253e1c5c8ef63641355fae53c0fb410427f29743262b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5762,13 +5364,12 @@ cartridge sha256:fccc96af24a2463b1c53253e1c5c8ef63641355fae53c0fb410427f29743262 :information : serial: SNS-ANRE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Ninja Gaiden Trilogy : title: Ninja Gaiden Trilogy cartridge sha256:3c109e50b91ec6df3bb8509778ae544c99433fb40dda9b801178dfe513053618 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5776,13 +5377,12 @@ cartridge sha256:3c109e50b91ec6df3bb8509778ae544c99433fb40dda9b801178dfe51305361 :information : serial: SNS-NI-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Ninja Warriors : title: Ninja Warriors cartridge sha256:f099937ac4c8afb38c517c5d85475224985fb8f345dacb44994a617ea05bf4e5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5790,13 +5390,12 @@ cartridge sha256:f099937ac4c8afb38c517c5d85475224985fb8f345dacb44994a617ea05bf4e :information : serial: SNS-ANOE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: No Escape : title: No Escape cartridge sha256:437ea48711d54c2275286170a17948cb57ba9d961ba475715c0dba5fbd61a2db - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5806,13 +5405,12 @@ cartridge sha256:437ea48711d54c2275286170a17948cb57ba9d961ba475715c0dba5fbd61a2d :information : serial: SNS-NZ-USA : board: SHVC-1J3M-01 - : region: NA : revision: 1.0 : name: Nobunga's Ambition : title: Nobunga's Ambition cartridge sha256:ae572a51ebe429cfc06a3b75d7db9581f2884f9adc78827dc162b4c4ddc6ce2d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x8000 @@ -5821,13 +5419,12 @@ cartridge sha256:ae572a51ebe429cfc06a3b75d7db9581f2884f9adc78827dc162b4c4ddc6ce2 :information : serial: SNS-IZ-USA : board: SHVC-1A5M-11 - : region: NA : revision: 1.0 : name: Nobunga's Ambition - Lord of Darkness : title: Nobunga's Ambition: Lord of Darkness cartridge sha256:7f3d0ebac6ecfb99cfd1d5b13210e989df9e8b2f2319a63c42faef8ad115a964 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -5836,13 +5433,12 @@ cartridge sha256:7f3d0ebac6ecfb99cfd1d5b13210e989df9e8b2f2319a63c42faef8ad115a96 :information : serial: SNS-NR-USA : board: SHVC-1A3B-12 - : region: NA : revision: 1.0 : name: Nolan Ryan's Baseball : title: Nolan Ryan's Baseball cartridge sha256:9712829b38f23229d4e3d65da78237659c790235f425c6b12487e4d9e9a37ae9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5850,13 +5446,12 @@ cartridge sha256:9712829b38f23229d4e3d65da78237659c790235f425c6b12487e4d9e9a37ae :information : serial: SNS-NS-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Nosferatu : title: Nosferatu cartridge sha256:31bc862ab0a8eabf23b5124e13940cb3501e7ecdd3f15e34142248ceb4aa139a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -5865,13 +5460,12 @@ cartridge sha256:31bc862ab0a8eabf23b5124e13940cb3501e7ecdd3f15e34142248ceb4aa139 :information : serial: SNS-7B-USA : board: SHVC-1A3M-21 - : region: NA : revision: 1.0 : name: Obitus : title: Obitus cartridge sha256:b766c26498d0afd63f44aefdef42642d2483b54f18d2b81a4f1d67a57f641044 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -5880,13 +5474,12 @@ cartridge sha256:b766c26498d0afd63f44aefdef42642d2483b54f18d2b81a4f1d67a57f64104 :information : serial: SNS-OB-USA : board: SHVC-2A3M-20 - : region: NA : revision: 1.0 : name: Ogre Battle - The March of the Black Queen : title: Ogre Battle: The March of the Black Queen cartridge sha256:a137f4fc1c635f706d10e0c7927e71f52da171ce2d27394ce0deb451b5bed8ae - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5894,13 +5487,12 @@ cartridge sha256:a137f4fc1c635f706d10e0c7927e71f52da171ce2d27394ce0deb451b5bed8a :information : serial: SNS-AO9E-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Olympic Summer Games : title: Olympic Summer Games cartridge sha256:e153195de7b59dd5b9854952cccca6bb93164e5fdff8292124bee6bbe5dbf16f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5908,13 +5500,12 @@ cartridge sha256:e153195de7b59dd5b9854952cccca6bb93164e5fdff8292124bee6bbe5dbf16 :information : serial: SNS-CT-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: On the Ball : title: On the Ball cartridge sha256:9e1a39aaf3585af0d6a5d79de3c35fcfe030c34bd4b09606a6fb8c7def19340b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x140000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5924,13 +5515,12 @@ cartridge sha256:9e1a39aaf3585af0d6a5d79de3c35fcfe030c34bd4b09606a6fb8c7def19340 :information : serial: SNS-YP-USA : board: SHVC-2J5M-01 - : region: NA : revision: 1.0 : name: Operation Europe - Path to Victory 1939-45 : title: Operation Europe: Path to Victory 1939-45 cartridge sha256:190742792a950a112f893cba0e083eb787cf24293f698967defff929635ba0e7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5938,13 +5528,12 @@ cartridge sha256:190742792a950a112f893cba0e083eb787cf24293f698967defff929635ba0e :information : serial: SNS-IY-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Operation Logic Bomb : title: Operation Logic Bomb cartridge sha256:5cbed0401734142184166917427d24f9e5f107a7adea665e2f4b4101491ad54b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x140000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -5952,13 +5541,12 @@ cartridge sha256:5cbed0401734142184166917427d24f9e5f107a7adea665e2f4b4101491ad54 :information : serial: SNS-36-USA : board: SHVC-2J0N-11 - : region: NA : revision: 1.0 : name: Operation Thunderbolt : title: Operation Thunderbolt cartridge sha256:0c08e6b817e4d0b333acb910a0bde3d79bd2dc188defc5df9a7c1233fa81c98d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5966,13 +5554,12 @@ cartridge sha256:0c08e6b817e4d0b333acb910a0bde3d79bd2dc188defc5df9a7c1233fa81c98 :information : serial: SNS-AOZE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Oscar : title: Oscar cartridge sha256:582548dc86598a3557e9e3c27285c81964b006a954affe5c73948da5375ea11c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5980,13 +5567,12 @@ cartridge sha256:582548dc86598a3557e9e3c27285c81964b006a954affe5c73948da5375ea11 :information : serial: SNS-TW-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Out of This World : title: Out of This World cartridge sha256:54b2f03393109ac7fd36d8c7752f15a44d9607ab0187a371b853191db3592c01 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -5994,13 +5580,12 @@ cartridge sha256:54b2f03393109ac7fd36d8c7752f15a44d9607ab0187a371b853191db3592c0 :information : serial: SNS-P8-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Out to Lunch : title: Out to Lunch cartridge sha256:db44f8b58a31b640a47aa4390101c3c6a5f613e4e49c636d44786278033dec19 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6008,13 +5593,12 @@ cartridge sha256:db44f8b58a31b640a47aa4390101c3c6a5f613e4e49c636d44786278033dec1 :information : serial: SNS-LD-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Outlander : title: Outlander cartridge sha256:10c8abce67b49f8afbe880d2f13e0fd6d5efc162df34d5941e4a94851f23b2ff - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6022,13 +5606,12 @@ cartridge sha256:10c8abce67b49f8afbe880d2f13e0fd6d5efc162df34d5941e4a94851f23b2f :information : serial: SNS-P9-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Pac-Attack : title: Pac-Attack cartridge sha256:7fe4cb9c294d66589ff78e225774471ecb7db80df25f2b6199ca25671358072b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6036,13 +5619,12 @@ cartridge sha256:7fe4cb9c294d66589ff78e225774471ecb7db80df25f2b6199ca25671358072 :information : serial: SNS-APTE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Pac-in-Time : title: Pac-in-Time cartridge sha256:4cb52ba751c42d9e12ca429e5d657622a370b608002880a997f64de453f0de20 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6050,13 +5632,12 @@ cartridge sha256:4cb52ba751c42d9e12ca429e5d657622a370b608002880a997f64de453f0de2 :information : serial: SNS-25-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Pac-Man 2 - The New Adventures : title: Pac-Man 2: The New Adventures cartridge sha256:83727f6954bce024edac7f3fd18a6fbf63d05b580f692d96faa37e60893c91cd - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x140000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x8000 @@ -6065,13 +5646,12 @@ cartridge sha256:83727f6954bce024edac7f3fd18a6fbf63d05b580f692d96faa37e60893c91c :information : serial: SNS-TK-USA : board: SHVC-2A5M-01 - : region: NA : revision: 1.0 : name: Pacific Theater of Operations : title: P.T.O.: Pacific Theater of Operations cartridge sha256:2c6119fbe40d23576adde568d60ffae793bbf6b512f8fea8dcd0b1cd2623ef02 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -6081,13 +5661,12 @@ cartridge sha256:2c6119fbe40d23576adde568d60ffae793bbf6b512f8fea8dcd0b1cd2623ef0 :information : serial: SNS-ATEE-USA : board: SHVC-1J5M-20 - : region: NA : revision: 1.0 : name: Pacific Theater of Operations II : title: P.T.O. II: Pacific Theater of Operations cartridge sha256:b1586c8ece4da9697f0602a684d7a9108027247a34652c3771831d31f82ee078 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6095,13 +5674,12 @@ cartridge sha256:b1586c8ece4da9697f0602a684d7a9108027247a34652c3771831d31f82ee07 :information : serial: SNS-APYE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Packy & Marlon : title: Packy & Marlon cartridge sha256:ecaf51852e111512385c5f209d51578e65b45fcaa17b295ca06120c8d1464520 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6109,13 +5687,12 @@ cartridge sha256:ecaf51852e111512385c5f209d51578e65b45fcaa17b295ca06120c8d146452 :information : serial: SNS-APME-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Pagemaster, The : title: The Pagemaster cartridge sha256:46286d0839a4397fc4c067b39783f98d2aefeca870a468bae601a1434f1dde90 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -6124,13 +5701,12 @@ cartridge sha256:46286d0839a4397fc4c067b39783f98d2aefeca870a468bae601a1434f1dde9 :information : serial: SNS-LN-USA : board: SHVC-2A3M-01 - : region: NA : revision: 1.0 : name: Paladin's Quest : title: Paladin's Quest cartridge sha256:7cec4ffc3eda0441561717cf55927901b5fbbd669c254079f78ca74c67c4a17b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6138,13 +5714,12 @@ cartridge sha256:7cec4ffc3eda0441561717cf55927901b5fbbd669c254079f78ca74c67c4a17 :information : serial: SNS-P2-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Paperboy 2 : title: Paperboy 2 cartridge sha256:c414a4084b3d03aba19496d2efdd68fcf826194d8f1308f5c98e3a7af2fcc063 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -6152,13 +5727,12 @@ cartridge sha256:c414a4084b3d03aba19496d2efdd68fcf826194d8f1308f5c98e3a7af2fcc06 :information : serial: SNS-R6-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Peace Keepers, The : title: The Peace Keepers cartridge sha256:5abfb974ca0e56aabb3f4126817d14a546c57a5a5c6042d31196063d80996698 - :board cic=411 + :board region=ntsc : sa1 : map address=00-3f,80-bf:2200-23ff : rom name=program.rom size=0x100000 @@ -6173,13 +5747,12 @@ cartridge sha256:5abfb974ca0e56aabb3f4126817d14a546c57a5a5c6042d31196063d8099669 :information : serial: SNS-AEPE-USA : board: SHVC-1L3B-11 - : region: NA : revision: 1.0 : name: PGA European Tour : title: PGA European Tour cartridge sha256:571d3129350bfb7cca2285499cf31dda48d1047cf9eaef122c8c33dffa9ad296 - :board cic=411 + :board region=ntsc : sa1 : map address=00-3f,80-bf:2200-23ff : rom name=program.rom size=0x200000 @@ -6194,13 +5767,12 @@ cartridge sha256:571d3129350bfb7cca2285499cf31dda48d1047cf9eaef122c8c33dffa9ad29 :information : serial: SNS-A3GE-USA : board: SHVC-1L3B-02 - : region: NA : revision: 1.0 : name: PGA Tour '96 : title: PGA Tour '96 cartridge sha256:5c0b5266a191852ca593235f07180e673cb79e3f0b0dd31f65808eef83bf6e90 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -6209,13 +5781,12 @@ cartridge sha256:5c0b5266a191852ca593235f07180e673cb79e3f0b0dd31f65808eef83bf6e9 :information : serial: SNS-PG-USA : board: SHVC-1A3B-12 - : region: NA : revision: 1.0 : name: PGA Tour Golf : title: PGA Tour Golf cartridge sha256:0663330bc061f4b768fa1806610878ef6e6cf546f36041ae087c8e55703693b8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6223,13 +5794,12 @@ cartridge sha256:0663330bc061f4b768fa1806610878ef6e6cf546f36041ae087c8e55703693b :information : serial: SNS-PH-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Phalanx - The Enforce Fighter A-144 : title: Phalanx: The Enforce Fighter A-144 cartridge sha256:b7291088f5c49e1fc55bf932076ec03f7b39f6e409ae06e884b57024c56cdc87 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6237,13 +5807,12 @@ cartridge sha256:b7291088f5c49e1fc55bf932076ec03f7b39f6e409ae06e884b57024c56cdc8 :information : serial: SNS-A24E-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Phantom 2040 : title: Phantom 2040 cartridge sha256:a0b39d7fd7c39c5b0f41f3542fb8d2887530ded1c111b4ffb2a863845e704ecc - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -6251,13 +5820,12 @@ cartridge sha256:a0b39d7fd7c39c5b0f41f3542fb8d2887530ded1c111b4ffb2a863845e704ec :information : serial: SNS-Z5-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Pieces : title: Pieces cartridge sha256:724144e34990069213591b5df067dd437a613b30f669840e9098db1dce626d2d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : necdsp model=uPD7725 frequency=8000000 @@ -6269,13 +5837,12 @@ cartridge sha256:724144e34990069213591b5df067dd437a613b30f669840e9098db1dce626d2 :information : serial: SNS-PW-USA : board: SHVC-1B0N-02 - : region: NA : revision: 1.0 : name: Pilotwings : title: Pilotwings cartridge sha256:3a52bf09850aa054dca443f7ea74d43f201dffecc40326924ecba9b0f1450e43 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6283,13 +5850,12 @@ cartridge sha256:3a52bf09850aa054dca443f7ea74d43f201dffecc40326924ecba9b0f1450e4 :information : serial: SNS-7D-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Pinball Dreams : title: Pinball Dreams cartridge sha256:0888d20ab2f834c77b0a2dc2162c43890a1640adc78c6b0bb5892ca8d5008ad3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6297,13 +5863,12 @@ cartridge sha256:0888d20ab2f834c77b0a2dc2162c43890a1640adc78c6b0bb5892ca8d5008ad :information : serial: SNS-APFE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Pinball Fantasies : title: Pinball Fantasies cartridge sha256:d0f4a5040ecf96dc49aa0084160e291a38f2ee75319750db4d6687ab36828da9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6311,13 +5876,12 @@ cartridge sha256:d0f4a5040ecf96dc49aa0084160e291a38f2ee75319750db4d6687ab36828da :information : serial: SNS-YW-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Pink Goes to Hollywood : title: Pink Goes to Hollywood cartridge sha256:98c51c3bb577600fe79577c323333a791baa30904f37c695890e6e380b75e3c8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -6325,13 +5889,12 @@ cartridge sha256:98c51c3bb577600fe79577c323333a791baa30904f37c695890e6e380b75e3c :information : serial: SNS-ACGE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Pinocchio : title: Pinocchio cartridge sha256:447dfa710e69479159e9d407474fbf5f67d3a3330ab0c7627afd123ded3fdb3a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6339,13 +5902,12 @@ cartridge sha256:447dfa710e69479159e9d407474fbf5f67d3a3330ab0c7627afd123ded3fdb3 :information : serial: SNS-8P-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Pirates of Dark Water, The : title: The Pirates of Dark Water cartridge sha256:c2a1a66648a0a0bfe2f201cf4f926d138e410fbf85ecf436ccb9aac70c0df3de - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6353,13 +5915,12 @@ cartridge sha256:c2a1a66648a0a0bfe2f201cf4f926d138e410fbf85ecf436ccb9aac70c0df3d :information : serial: SNS-PF-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Pit-Fighter : title: Pit-Fighter cartridge sha256:e03d117d8b3093b0bbad5224638f85378b254b81eb304e506a732b4338802e0f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6367,13 +5928,12 @@ cartridge sha256:e03d117d8b3093b0bbad5224638f85378b254b81eb304e506a732b4338802e0 :information : serial: SNS-APAE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Pitfall - The Mayan Adventure : title: Pitfall: The Mayan Adventure cartridge sha256:0b3b0fd42bbe06a812053df376b183412fc0de335c4b7cb8e45f3fe47b0044e9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6381,13 +5941,12 @@ cartridge sha256:0b3b0fd42bbe06a812053df376b183412fc0de335c4b7cb8e45f3fe47b0044e :information : serial: SNS-P4-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Plok : title: Plok cartridge sha256:72b2b3bead3fcd27a1610ad5d4d8be3235efeaff96df2e7858911992a5892d21 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6395,13 +5954,12 @@ cartridge sha256:72b2b3bead3fcd27a1610ad5d4d8be3235efeaff96df2e7858911992a5892d2 :information : serial: SNS-KK-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Pocky & Rocky : title: Pocky & Rocky cartridge sha256:cc33ae02114ea18a86592de327b2b4bcc80728b11a5e4c61666dca71480d4169 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6409,13 +5967,12 @@ cartridge sha256:cc33ae02114ea18a86592de327b2b4bcc80728b11a5e4c61666dca71480d416 :information : serial: SNS-29-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Pocky & Rocky 2 : title: Pocky & Rocky 2 cartridge sha256:5e580f220ed16281df8ee9a5f450b553f39f8c4078d3f3048d66bda15f98e19f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6423,13 +5980,12 @@ cartridge sha256:5e580f220ed16281df8ee9a5f450b553f39f8c4078d3f3048d66bda15f98e19 :information : serial: SNS-PO-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Populous : title: Populous cartridge sha256:ee9759fdb590ba908f569c2bb8a63703d282b58b84bd1fe0a472ea47685acdc5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6437,13 +5993,12 @@ cartridge sha256:ee9759fdb590ba908f569c2bb8a63703d282b58b84bd1fe0a472ea47685acdc :information : serial: SNS-KX-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Porky Pig's Haunted Holiday : title: Porky Pig's Haunted Holiday cartridge sha256:06c8fc466805f97c9147711b2d8370d4f4d05d9fa3a916f17aa1682f73c9a63b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x280000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -6451,13 +6006,12 @@ cartridge sha256:06c8fc466805f97c9147711b2d8370d4f4d05d9fa3a916f17aa1682f73c9a63 :information : serial: SNS-AGKE-USA : board: SHVC-BJ0N-20 - : region: NA : revision: 1.0 : name: Power Instinct : title: Power Instinct cartridge sha256:42ee7829d3db0213b718168c29674879bb4532573e9fb3450a5b417174a16ed0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6465,13 +6019,12 @@ cartridge sha256:42ee7829d3db0213b718168c29674879bb4532573e9fb3450a5b417174a16ed :information : serial: SNS-P3-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Power Moves : title: Power Moves cartridge sha256:0288ec049723cd0c7f1148cdc1aef0b6922b8a756affe373c99d5690e0dfceaa - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6479,13 +6032,12 @@ cartridge sha256:0288ec049723cd0c7f1148cdc1aef0b6922b8a756affe373c99d5690e0dfcea :information : serial: SNS-AOTE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Power Piggs of the Dark Age : title: Power Piggs of the Dark Age cartridge sha256:2e2a8c0da7f6def617077a25b222062f6988ef14b36b2edfe10d47c6a942d023 - :board cic=411 + :board region=ntsc : sa1 : map address=00-3f,80-bf:2200-23ff : rom name=program.rom size=0x100000 @@ -6500,13 +6052,12 @@ cartridge sha256:2e2a8c0da7f6def617077a25b222062f6988ef14b36b2edfe10d47c6a942d02 :information : serial: SNS-A4RE-USA : board: SHVC-1L3B-11 - : region: NA : revision: 1.0 : name: Power Rangers Zero - Battle Racers : title: Power Rangers Zeo: Battle Racers cartridge sha256:8f387d083de1399bb79e5312c31a6f1757f2a536bfa25cecf1aea77bfd77058b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6514,13 +6065,12 @@ cartridge sha256:8f387d083de1399bb79e5312c31a6f1757f2a536bfa25cecf1aea77bfd77058 :information : serial: SNS-APUE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Prehistorik Man : title: Prehistorik Man cartridge sha256:55376715f243b1bacd9aeecf1092bbc7837fe512592a2c1703d24b0829fc1934 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -6528,13 +6078,12 @@ cartridge sha256:55376715f243b1bacd9aeecf1092bbc7837fe512592a2c1703d24b0829fc193 :information : serial: SNS-AR9E-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Primal Rage : title: Primal Rage cartridge sha256:494190cd6d7fd68882cbe255a6e237d9c4bdaf3988615ede0297a5e285ad5dd9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6542,13 +6091,12 @@ cartridge sha256:494190cd6d7fd68882cbe255a6e237d9c4bdaf3988615ede0297a5e285ad5dd :information : serial: SNS-PR-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Prince of Persia : title: Prince of Persia cartridge sha256:04ca1a481093c4a7e12f18b33697d6e05e50e30e0f5b1655aa265abd14719bba - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6556,13 +6104,12 @@ cartridge sha256:04ca1a481093c4a7e12f18b33697d6e05e50e30e0f5b1655aa265abd14719bb :information : serial: SNS-AUPE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Prince of Persia 2 - The Shadow and the Flame : title: Prince of Persia 2: The Shadow and the Flame cartridge sha256:85e2e58e1f99fce366c85d49f77446395584ca4959ef772a707fe454ed46c68f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6570,13 +6117,12 @@ cartridge sha256:85e2e58e1f99fce366c85d49f77446395584ca4959ef772a707fe454ed46c68 :information : serial: SNS-QB-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Pro Quarterback : title: Pro Quarterback cartridge sha256:00b5b3d3febd1a6f28ceb49e39cdd9476a944fe62ea3850808cdeafaaaa63040 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -6585,13 +6131,12 @@ cartridge sha256:00b5b3d3febd1a6f28ceb49e39cdd9476a944fe62ea3850808cdeafaaaa6304 :information : serial: SNS-UI-USA : board: SHVC-1A3M-20 - : region: NA : revision: 1.0 : name: Pro Sport Hockey : title: Pro Sport Hockey cartridge sha256:475c9baa1c2b76a6b3119e47d32814dc1c08e84e23250ae015bb0bccea915637 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6599,13 +6144,12 @@ cartridge sha256:475c9baa1c2b76a6b3119e47d32814dc1c08e84e23250ae015bb0bccea91563 :information : serial: SNS-PV-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Push-Over : title: Push-Over cartridge sha256:89d57bf308033ef17f770a80080cbeed2d112244635d5b5f860f2016398cd2f6 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6613,13 +6157,12 @@ cartridge sha256:89d57bf308033ef17f770a80080cbeed2d112244635d5b5f860f2016398cd2f :information : serial: SNS-Q3-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Q-bert 3 : title: Q*bert 3 cartridge sha256:4d6c7d6d2693d8d43bafaff7582f9a94885362dadd9ee4012bbbdce1ba10c30e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6627,13 +6170,12 @@ cartridge sha256:4d6c7d6d2693d8d43bafaff7582f9a94885362dadd9ee4012bbbdce1ba10c30 :information : serial: SNS-ER-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: R-Type III - The Third Lightning : title: R-Type III: The Third Lightning cartridge sha256:dd0feb78e2d5d81f59241baf3bca5e2edaebbe98f0ac860a4eb6d448718f1ca5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6641,13 +6183,12 @@ cartridge sha256:dd0feb78e2d5d81f59241baf3bca5e2edaebbe98f0ac860a4eb6d448718f1ca :information : serial: SNS-RV-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Race Drivin' : title: Race Drivin' cartridge sha256:edf990e502c646a2fe83fcd1d359ca0ed5003ace06cb4c3de5a51a0c56d6ec54 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -6656,13 +6197,12 @@ cartridge sha256:edf990e502c646a2fe83fcd1d359ca0ed5003ace06cb4c3de5a51a0c56d6ec5 :information : serial: SNS-RP-USA : board: SHVC-1A1B-05 - : region: NA : revision: 1.0 : name: Radical Psycho Machine Racing : title: Radical Psycho Machine Racing cartridge sha256:1869c0faf93bf21b7ff965f1925fad4b2924a64b1e48f4837221eebdf741226c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6670,13 +6210,12 @@ cartridge sha256:1869c0faf93bf21b7ff965f1925fad4b2924a64b1e48f4837221eebdf741226 :information : serial: SNS-ARRE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Radical Rex : title: Radical Rex cartridge sha256:5fd7666e509f9d3cf1fd6b209dc22f2f3848f74eae7b83239d1090e031fc6df2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6684,13 +6223,12 @@ cartridge sha256:5fd7666e509f9d3cf1fd6b209dc22f2f3848f74eae7b83239d1090e031fc6df :information : serial: SNS-RD-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Raiden Trad : title: Raiden Trad cartridge sha256:e19f7d8d5c3e4cefeff5889380d8780495e01f0553d13be4182a15a5d4b615bb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6698,13 +6236,12 @@ cartridge sha256:e19f7d8d5c3e4cefeff5889380d8780495e01f0553d13be4182a15a5d4b615b :information : serial: SNS-RM-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Rampart : title: Rampart cartridge sha256:32d32ef56af83887cdc2c04b3da4be1cd82a473988deaa2e7dd50d38ef79c3a1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -6712,13 +6249,12 @@ cartridge sha256:32d32ef56af83887cdc2c04b3da4be1cd82a473988deaa2e7dd50d38ef79c3a :information : serial: SNS-R2-USA : board: SHVC-2J0N-01 - : region: NA : revision: 1.0 : name: Ranma Half - Hard Battle : title: Ranma 1/2: Hard Battle cartridge sha256:920bbaaf6a32cab5feabb5bc8b2b427dccd53bfd31d0da8acb7ea4e819139e4f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6726,13 +6262,12 @@ cartridge sha256:920bbaaf6a32cab5feabb5bc8b2b427dccd53bfd31d0da8acb7ea4e819139e4 :information : serial: SNS-ARVE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Rap Jam - Volume One : title: Rap Jam: Volume One cartridge sha256:097cbe9720903bc14599158b80e0cc314ef2fe8a585d6d0a8962eb1626031492 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6740,13 +6275,12 @@ cartridge sha256:097cbe9720903bc14599158b80e0cc314ef2fe8a585d6d0a8962eb162603149 :information : serial: SNS-ARQE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Realm : title: Realm cartridge sha256:549f2e5b17f685cad25ba71ce7bc6e004e7bfd09e6be12a827af9a9a26556fff - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6754,13 +6288,12 @@ cartridge sha256:549f2e5b17f685cad25ba71ce7bc6e004e7bfd09e6be12a827af9a9a26556ff :information : serial: SNS-6R-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Red Line - F1 Racer : title: Red Line: F-1 Racer cartridge sha256:b2221d0a59a399e437710e1191a37071d0a59c72d8e62427cd499de8d8fd7b61 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6768,13 +6301,12 @@ cartridge sha256:b2221d0a59a399e437710e1191a37071d0a59c72d8e62427cd499de8d8fd7b6 :information : serial: SNS-5R-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Relief Pitcher : title: Relief Pitcher cartridge sha256:d322ce440076be0e3678277596acee8089098f4397b35ac8b3df88be5ce5e02f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6782,13 +6314,12 @@ cartridge sha256:d322ce440076be0e3678277596acee8089098f4397b35ac8b3df88be5ce5e02 :information : serial: SNS-ARBE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Ren & Stimpy Show - Buckeroo$!, The : title: The Ren & Stimpy Show: Buckeroo$! cartridge sha256:71e7083cfcf32b738f60f5eeffd4f9d1fd9250afbde0c56e22a4b97abac377a1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6796,13 +6327,12 @@ cartridge sha256:71e7083cfcf32b738f60f5eeffd4f9d1fd9250afbde0c56e22a4b97abac377a :information : serial: SNS-6Y-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Ren & Stimpy Show - Fire Dogs, The : title: The Ren & Stimpy Show: Fire Dogs cartridge sha256:ad7dd4efb8836d4009f6c76bd21865d8f5dcf9c3cbd8fa7bb32d686488847120 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x140000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6810,13 +6340,12 @@ cartridge sha256:ad7dd4efb8836d4009f6c76bd21865d8f5dcf9c3cbd8fa7bb32d68648884712 :information : serial: SNS-ARTE-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Ren & Stimpy Show - Time Warp, The : title: The Ren & Stimpy Show: Time Warp cartridge sha256:ba54d715abf100b94fee801351986fa818e4309730cefbacf9b4fad36e284c1c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6824,13 +6353,12 @@ cartridge sha256:ba54d715abf100b94fee801351986fa818e4309730cefbacf9b4fad36e284c1 :information : serial: SNS-V8-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Ren & Stimpy Show - Veediots!, The : title: The Ren & Stimpy Show: Veediots! cartridge sha256:5fb072c3c2e9d8e7f84bea9c4bf2253e6868eb2b1f13e35a7d75fdf05896d873 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6838,13 +6366,12 @@ cartridge sha256:5fb072c3c2e9d8e7f84bea9c4bf2253e6868eb2b1f13e35a7d75fdf05896d87 :information : serial: SNS-AXRE-USA : board: SHVC-2A0N-20 - : region: NA : revision: 1.0 : name: Revolution X - Music is the Weapon : title: Revolution X: Music is the Weapon cartridge sha256:f44482e2cccd9fcfd5875d84ff700f6e783f3bd8abd1ac4d939074cd6ad3fe65 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6852,13 +6379,12 @@ cartridge sha256:f44482e2cccd9fcfd5875d84ff700f6e783f3bd8abd1ac4d939074cd6ad3fe6 :information : serial: SNS-XR-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Rex Ronan - Experimental Surgeon : title: Rex Ronan: Experimental Surgeon cartridge sha256:e3ea89964ee82d2ae1e5739b8503acf62732aedef28d1b3d5caa9ebae0feec06 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -6867,13 +6393,12 @@ cartridge sha256:e3ea89964ee82d2ae1e5739b8503acf62732aedef28d1b3d5caa9ebae0feec0 :information : serial: SNS-XG-USA : board: SHVC-1A1M-01 - : region: NA : revision: 1.0 : name: Riddick Bowe Boxing : title: Riddick Bowe Boxing cartridge sha256:cce455b7074f62ffdb41863ee8c160ea06f7acd028837666329bc1e0c3567ad0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -6883,13 +6408,12 @@ cartridge sha256:cce455b7074f62ffdb41863ee8c160ea06f7acd028837666329bc1e0c3567ad :information : serial: SNS-QG-USA : board: SHVC-2J3M-11 - : region: NA : revision: 1.0 : name: Rise of the Phoenix : title: Rise of the Phoenix cartridge sha256:38be8013bbe07b2020ba30031fb0a2c77bad8a3eb61fac8217adfe82d6c402af - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -6897,13 +6421,12 @@ cartridge sha256:38be8013bbe07b2020ba30031fb0a2c77bad8a3eb61fac8217adfe82d6c402a :information : serial: SNS-AROE-USA : board: SHVC-BJ0N-01 - : region: NA : revision: 1.0 : name: Rise of the Robots : title: Rise of the Robots cartridge sha256:3f59cc687d22cd1b23cc33ae6e4518234c9da813c01f79f4c43716e12d32a12d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6911,13 +6434,12 @@ cartridge sha256:3f59cc687d22cd1b23cc33ae6e4518234c9da813c01f79f4c43716e12d32a12 :information : serial: SNS-RB-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Rival Turf! : title: Rival Turf! cartridge sha256:864aa9068fb23cd20022a9ac36fb9082299278ea0cb07a20deec2b6a1c6cbc70 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6925,13 +6447,12 @@ cartridge sha256:864aa9068fb23cd20022a9ac36fb9082299278ea0cb07a20deec2b6a1c6cbc7 :information : serial: SNS-RR-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Road Riot 4WD : title: Road Riot 4WD cartridge sha256:2e8203e421f97cf165f03a5d4f69dadf0bcca18c42c6a1dfe79c8705c522cc54 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6939,13 +6460,12 @@ cartridge sha256:2e8203e421f97cf165f03a5d4f69dadf0bcca18c42c6a1dfe79c8705c522cc5 :information : serial: SNS-DV-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Road Runner's Death Valley Rally : title: Road Runner's Death Valley Rally cartridge sha256:055d9c6311a663af7c899a6f76a419c274c57baada3ef64c52fadb1c676b1446 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6953,13 +6473,12 @@ cartridge sha256:055d9c6311a663af7c899a6f76a419c274c57baada3ef64c52fadb1c676b144 :information : serial: SNS-R3-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: RoboCop 3 : title: RoboCop 3 cartridge sha256:a2115e7576dec06e0de613efb89de861815a78ef72e78a3784be09fb7541928f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6967,13 +6486,12 @@ cartridge sha256:a2115e7576dec06e0de613efb89de861815a78ef72e78a3784be09fb7541928 :information : serial: SNS-VR-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: RoboCop vs. The Terminator : title: RoboCop versus The Terminator cartridge sha256:1e2ded7b1e350449b7a99b7ec414525e4b9b086c416deeee5eb3e48e032c46bd - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -6983,13 +6501,12 @@ cartridge sha256:1e2ded7b1e350449b7a99b7ec414525e4b9b086c416deeee5eb3e48e032c46b :information : serial: SNS-E9-USA : board: SHVC-2J3M-11 - : region: NA : revision: 1.0 : name: Robotrek : title: Robotrek cartridge sha256:9d721753301278325c851f1843d669a697aed757dcf6495a31fc31ddf664b182 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -6997,13 +6514,12 @@ cartridge sha256:9d721753301278325c851f1843d669a697aed757dcf6495a31fc31ddf664b18 :information : serial: SNS-RN-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Rock & Roll Racing : title: Rock n' Roll Racing cartridge sha256:b072fd9b08042e3262446fdf418a41848251072a32bd7f8335cc03543c4ae6c8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7011,13 +6527,12 @@ cartridge sha256:b072fd9b08042e3262446fdf418a41848251072a32bd7f8335cc03543c4ae6c :information : serial: SNS-RK-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Rocketeer, The : title: The Rocketeer cartridge sha256:cde8876b99c337ff932322506ceef05519e5882b853c54bb8c650d9500cd5957 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7025,13 +6540,12 @@ cartridge sha256:cde8876b99c337ff932322506ceef05519e5882b853c54bb8c650d9500cd595 :information : serial: SNS-8D-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Rocko's Modern Life - Spunky's Dangerous Day : title: Rocko's Modern Life: Spunky's Dangerous Day cartridge sha256:7c0f915b581796e5b6dd384ecdc0dad8af4d956492fbcedec628c8845d911d7e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7039,13 +6553,12 @@ cartridge sha256:7c0f915b581796e5b6dd384ecdc0dad8af4d956492fbcedec628c8845d911d7 :information : serial: SNS-NP-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Rocky Rodent : title: Rocky Rodent cartridge sha256:e21300c8c4170e084fd83ce4c842dd73f939fbd10ddfe47c9a49b6e291dcd52d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7053,13 +6566,12 @@ cartridge sha256:e21300c8c4170e084fd83ce4c842dd73f939fbd10ddfe47c9a49b6e291dcd52 :information : serial: SNS-VP-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Roger Clemens' MVP Baseball : title: Roger Clemens' MVP Baseball cartridge sha256:f7e3c3012af2dbad350646b6ef3470f0b4c42e4a2873109f7aa6c81d7157c887 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7067,13 +6579,12 @@ cartridge sha256:f7e3c3012af2dbad350646b6ef3470f0b4c42e4a2873109f7aa6c81d7157c88 :information : serial: SNS-VP-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.1 : name: Roger Clemens' MVP Baseball : title: Roger Clemens' MVP Baseball cartridge sha256:815bfcf4fd6eb23a20c2e50dde023c210b273ffb6cd86a93909d803c3643ce46 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -7082,13 +6593,12 @@ cartridge sha256:815bfcf4fd6eb23a20c2e50dde023c210b273ffb6cd86a93909d803c3643ce4 :information : serial: SNS-XL-USA : board: SHVC-1A5B-04 - : region: NA : revision: 1.0 : name: Romance of the Three Kingdoms II : title: Romance of the Three Kingdoms II cartridge sha256:88fa0a78ca98c6386e086c7fa9e81a2625bdecc55115dde6c6f4770b0670aa40 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7098,13 +6608,12 @@ cartridge sha256:88fa0a78ca98c6386e086c7fa9e81a2625bdecc55115dde6c6f4770b0670aa4 :information : serial: SNS-S3-USA : board: SHVC-2J5M-01 - : region: NA : revision: 1.0 : name: Romance of the Three Kingdoms III - Dragon of Destiny : title: Romance of the Three Kingdoms III: Dragon of Destiny cartridge sha256:9670c67eeeb5581fa5345025a2e2ee875179e0da9f5be4bf78641e477d785f17 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7114,13 +6623,12 @@ cartridge sha256:9670c67eeeb5581fa5345025a2e2ee875179e0da9f5be4bf78641e477d785f1 :information : serial: SNS-AS4E-USA : board: SHVC-1J5M-20 - : region: NA : revision: 1.0 : name: Romance of the Three Kingdoms IV - Wall of Fire : title: Romance of the Three Kingdoms IV: Wall of Fire cartridge sha256:4158e3e8890a52f0b12dc9ad5a29276058a247ff41e9f1d22897ebde1eb11269 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7128,13 +6636,12 @@ cartridge sha256:4158e3e8890a52f0b12dc9ad5a29276058a247ff41e9f1d22897ebde1eb1126 :information : serial: SNS-RU-USA : board: SHVC-YA0N-01 - : region: NA : revision: 1.0 : name: Run Saber : title: Run Saber cartridge sha256:5db804171fca42486485ed85e4afe45b29e6d01304bdf75d520bfc42429739e3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7142,13 +6649,12 @@ cartridge sha256:5db804171fca42486485ed85e4afe45b29e6d01304bdf75d520bfc42429739e :information : serial: SNS-A7SE-USA : board: SHVC-BJ0N-01 - : region: NA : revision: 1.0 : name: Samurai Shodown : title: Samurai Shodown cartridge sha256:34e1af0642c85148c5a3dc3c7ab4bcbda13a9fea190934b5526c555fff035651 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7156,13 +6662,12 @@ cartridge sha256:34e1af0642c85148c5a3dc3c7ab4bcbda13a9fea190934b5526c555fff03565 :information : serial: SNS-ZW-USA : board: SHVC-BJ0N-01 - : region: NA : revision: 1.0 : name: Saturday Night Slam Masters : title: Saturday Night Slam Masters cartridge sha256:7fb5236d10852125f0f37c2188b907d636647400a57bccbdb2f63098ffae8b2d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7170,13 +6675,12 @@ cartridge sha256:7fb5236d10852125f0f37c2188b907d636647400a57bccbdb2f63098ffae8b2 :information : serial: SNS-AXDE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Scooby-Doo Mystery : title: Scooby-Doo Mystery cartridge sha256:a4ab8cfad2f236675b1c0124f8484688e149f38e8628a3b38e9ec14d491ec07e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7184,13 +6688,12 @@ cartridge sha256:a4ab8cfad2f236675b1c0124f8484688e149f38e8628a3b38e9ec14d491ec07 :information : serial: SNS-ASQE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: SeaQuest DSV : title: SeaQuest DSV cartridge sha256:17c864a76d498feb6479eee8e7d6807b951c66225033228622bb66754baab1db - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7200,13 +6703,12 @@ cartridge sha256:17c864a76d498feb6479eee8e7d6807b951c66225033228622bb66754baab1d :information : serial: SNS-AEOE-USA : board: SHVC-1J3M-20 - : region: NA : revision: 1.0 : name: Secret of Evermore : title: Secret of Evermore cartridge sha256:4c15013131351e694e05f22e38bb1b3e4031dedac77ec75abecebe8520d82d5f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7216,13 +6718,12 @@ cartridge sha256:4c15013131351e694e05f22e38bb1b3e4031dedac77ec75abecebe8520d82d5 :information : serial: SNS-K2-USA : board: SHVC-1J3M-01 - : region: NA : revision: 1.0 : name: Secret of Mana : title: Secret of Mana cartridge sha256:e6bc0a595d5c7c4bc0bbb61ffe35a70288a77eb78544ed74682d489a9e6f07f4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -7231,13 +6732,12 @@ cartridge sha256:e6bc0a595d5c7c4bc0bbb61ffe35a70288a77eb78544ed74682d489a9e6f07f :information : serial: SNS-WR-USA : board: SHVC-1A3M-10 - : region: NA : revision: 1.0 : name: Shadowrun : title: Shadowrun cartridge sha256:bdbcc53b266159b5a08e307e5b60fdb0cb5a1ba8f8c1c6c7f89d81eaf5133e85 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7245,13 +6745,12 @@ cartridge sha256:bdbcc53b266159b5a08e307e5b60fdb0cb5a1ba8f8c1c6c7f89d81eaf5133e8 :information : serial: SNS-DE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Shanghai II - Dragon's Eye : title: Shanghai II: Dragon's Eye cartridge sha256:c73757eea258e169e506eaef989227a59918060f94117917f338183db14c50b6 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7259,13 +6758,12 @@ cartridge sha256:c73757eea258e169e506eaef989227a59918060f94117917f338183db14c50b :information : serial: SNS-AQFE-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Shaq-Fu : title: Shaq-Fu cartridge sha256:454c580498a7d317ed61cb5863b1999eff57ad440ecd30ebb76e193c9c52f3ac - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7273,13 +6771,12 @@ cartridge sha256:454c580498a7d317ed61cb5863b1999eff57ad440ecd30ebb76e193c9c52f3a :information : serial: SNS-OO-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Shien's Revenge : title: Shien's Revenge cartridge sha256:de2d5a952096c5f50368b9270d342aa6e7a39007ffbec27117e182e30ef4cf32 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7289,13 +6786,12 @@ cartridge sha256:de2d5a952096c5f50368b9270d342aa6e7a39007ffbec27117e182e30ef4cf3 :information : serial: SNS-EQ-USA : board: SHVC-1J5M-20 - : region: NA : revision: 1.0 : name: Sid Meier's Civilization : title: Sid Meier's Civilization cartridge sha256:d09ca5adaee65cfd686742482bc55b1a3ce9bc5ebed61f24c5631555151a7fc7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7303,13 +6799,12 @@ cartridge sha256:d09ca5adaee65cfd686742482bc55b1a3ce9bc5ebed61f24c5631555151a7fc :information : serial: SNS-4P-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Side Pocket : title: Side Pocket cartridge sha256:c0bd1b378337c32047a6b7122a3813beb646e496fbdb1fa5c87ab9856271e4c5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x8000 @@ -7318,13 +6813,12 @@ cartridge sha256:c0bd1b378337c32047a6b7122a3813beb646e496fbdb1fa5c87ab9856271e4c :information : serial: SNS-AN-USA : board: SHVC-1A5M-01 - : region: NA : revision: 1.0 : name: SimAnt - The Electronic Ant Colony : title: SimAnt: The Electronic Ant Colony cartridge sha256:e9c0bc05511e05a0d7c3e7cc42e761e1e8e532d46f59b9854b6902e1a2e9dd0a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x8000 @@ -7333,13 +6827,12 @@ cartridge sha256:e9c0bc05511e05a0d7c3e7cc42e761e1e8e532d46f59b9854b6902e1a2e9dd0 :information : serial: SNS-SC-USA : board: SHVC-1A5B-02 - : region: NA : revision: 1.0 : name: SimCity : title: SimCity cartridge sha256:bf74c58e4190faca2f3a967dc190fe529d13887d1262b72e057b5353e43cf67f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7349,13 +6842,12 @@ cartridge sha256:bf74c58e4190faca2f3a967dc190fe529d13887d1262b72e057b5353e43cf67 :information : serial: SNS-AWWE-USA : board: SHVC-1J5M-20 - : region: NA : revision: 1.0 : name: SimCity 2000 : title: SimCity 2000 cartridge sha256:446a1036d036986fdea7906c83832d3ba79ef63a6ed8c4e88b89ab9cb25daded - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -7364,13 +6856,12 @@ cartridge sha256:446a1036d036986fdea7906c83832d3ba79ef63a6ed8c4e88b89ab9cb25dade :information : serial: SNS-SE-USA : board: SHVC-1A3B-20 - : region: NA : revision: 1.0 : name: SimEarth - The Living Planet : title: SimEarth: The Living Planet cartridge sha256:f0d98e9061d0f6a193bb856de8a592f336dada97c41966e8d03119ba97465413 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7378,13 +6869,12 @@ cartridge sha256:f0d98e9061d0f6a193bb856de8a592f336dada97c41966e8d03119ba9746541 :information : serial: SNS-BN-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Simpsons - Bart's Nightmare, The : title: The Simpsons: Bart's Nightmare cartridge sha256:29c28188234ddbb0b72fc84253dcd3514e23034779c773db8097b073b73390c8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7392,13 +6882,12 @@ cartridge sha256:29c28188234ddbb0b72fc84253dcd3514e23034779c773db8097b073b73390c :information : serial: SNS-AVBE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Simpsons - Virtual Bart, The : title: The Simpsons: Virtual Bart cartridge sha256:70008efe51185eb0a2f8d8d8ac2bdbb99bd3dfcc169dcc474962f82692998051 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7406,13 +6895,12 @@ cartridge sha256:70008efe51185eb0a2f8d8d8ac2bdbb99bd3dfcc169dcc474962f8269299805 :information : serial: SNS-9J-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Sink or Swim : title: S.O.S.: Sink or Swim cartridge sha256:e10070f01845505ae8bfdf7b5b492e7209c2ae876f169fb6ff420dea269f4da3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7420,13 +6908,12 @@ cartridge sha256:e10070f01845505ae8bfdf7b5b492e7209c2ae876f169fb6ff420dea269f4da :information : serial: SNS-SL-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Skuljagger - Revolt of the Westicans : title: Skuljagger: Revolt of the Westicans cartridge sha256:a4ba1483db79c3f6278082387bce216d8f3e3b11ca32d49516d27f5ac07135a5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7434,13 +6921,12 @@ cartridge sha256:a4ba1483db79c3f6278082387bce216d8f3e3b11ca32d49516d27f5ac07135a :information : serial: SNS-LZ-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Skyblazer : title: Skyblazer cartridge sha256:cbca00fa5dfd6c72db2f21d010255657c33f7ac48de2554262035ead11bdf314 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7448,13 +6934,12 @@ cartridge sha256:cbca00fa5dfd6c72db2f21d010255657c33f7ac48de2554262035ead11bdf31 :information : serial: SNS-JB-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Smart Ball : title: Smart Ball cartridge sha256:f653b8308b617e1cba1caf004e5a670088b882e320fa6afcc7a29dd3b2dd0ea0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7462,13 +6947,12 @@ cartridge sha256:f653b8308b617e1cba1caf004e5a670088b882e320fa6afcc7a29dd3b2dd0ea :information : serial: SNS-ASHE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Snow White in Happily Ever After : title: Snow White in Happily Ever After cartridge sha256:6fe7c8d39fcfab7f0a18e837a7ee0dd162e0557d6989c6e0d10c81616d3a0b8b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7476,13 +6960,12 @@ cartridge sha256:6fe7c8d39fcfab7f0a18e837a7ee0dd162e0557d6989c6e0d10c81616d3a0b8 :information : serial: SNS-UD-USA : board: SHVC-2J0N-01 - : region: NA : revision: 1.0 : name: Soldiers of Fortune : title: Soldiers of Fortune cartridge sha256:75a7b5b8ad0329dc828d3201089e125fd55fdfc99d4cec704ffcd7e3036c2410 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7490,13 +6973,12 @@ cartridge sha256:75a7b5b8ad0329dc828d3201089e125fd55fdfc99d4cec704ffcd7e3036c241 :information : serial: SNS-SK-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Sonic Blast Man : title: Sonic Blast Man cartridge sha256:efe78f6fc68ddd0f6ef0ad9e0223d9417c14fcadece987dc8f50423fd6723b27 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7504,13 +6986,12 @@ cartridge sha256:efe78f6fc68ddd0f6ef0ad9e0223d9417c14fcadece987dc8f50423fd6723b2 :information : serial: SNS-2C-USA : board: SHVC-2J0N-11 - : region: NA : revision: 1.0 : name: Sonic Blast Man II : title: Sonic Blast Man II cartridge sha256:8f0a7670fe53d30f721784e5fff78349eb157a9f0eb2246206f9d7db478b7c56 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7518,13 +6999,12 @@ cartridge sha256:8f0a7670fe53d30f721784e5fff78349eb157a9f0eb2246206f9d7db478b7c5 :information : serial: SNS-TT-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: SOS : title: SOS cartridge sha256:8438da09de8ce9aded3bb08644543f7b60fb60cffc68ce2d67d6a0643f2ecfc2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -7533,13 +7013,12 @@ cartridge sha256:8438da09de8ce9aded3bb08644543f7b60fb60cffc68ce2d67d6a0643f2ecfc :information : serial: SNS-SO-USA : board: SHVC-1A3B-13 - : region: NA : revision: 1.0 : name: Soul Blazer : title: Soul Blazer cartridge sha256:85887dfa92374048fb20809c00eabea428992024cf875d287d0431b9767cc7cb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7547,13 +7026,12 @@ cartridge sha256:85887dfa92374048fb20809c00eabea428992024cf875d287d0431b9767cc7c :information : serial: SNS-5A-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Space Ace : title: Space Ace cartridge sha256:24f3f22949f36ebf8ab4beaa8cba22db107efe7a7585f749343f2860bf041fe1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7561,13 +7039,12 @@ cartridge sha256:24f3f22949f36ebf8ab4beaa8cba22db107efe7a7585f749343f2860bf041fe :information : serial: SNS-FL-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Space Football - One on One : title: Space Football: One on One cartridge sha256:dc5353ddc350816619230f25f8c51bddabf7438e6dfba21662eb1c4794856735 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x40000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7575,13 +7052,12 @@ cartridge sha256:dc5353ddc350816619230f25f8c51bddabf7438e6dfba21662eb1c479485673 :information : serial: SNS-IC-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Space Invaders : title: Space Invaders cartridge sha256:f5b7418c00ccac44615cfc57c7e17d57533837056886f6d733e6b714c36dec1f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7589,13 +7065,12 @@ cartridge sha256:f5b7418c00ccac44615cfc57c7e17d57533837056886f6d733e6b714c36dec1 :information : serial: SNS-AT-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Space Megaforce : title: Space Megaforce cartridge sha256:14dc44687c8da35aec63b9edadbaac21bf7293f5171646f614139192e82ab071 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7603,13 +7078,12 @@ cartridge sha256:14dc44687c8da35aec63b9edadbaac21bf7293f5171646f614139192e82ab07 :information : serial: SNS-HJ-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Spanky's Quest : title: Spanky's Quest cartridge sha256:eaa06470734ea57eff9b888137aa468fcb7bb149a0870a85e68c9db123de4670 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7617,13 +7091,12 @@ cartridge sha256:eaa06470734ea57eff9b888137aa468fcb7bb149a0870a85e68c9db123de467 :information : serial: SNS-ASSE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Sparkster : title: Sparkster cartridge sha256:32d0f1ca5b91fd9b2caf81422fb9e8fb30bc091f0b2a429b9269dd307fcba4fd - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7631,13 +7104,12 @@ cartridge sha256:32d0f1ca5b91fd9b2caf81422fb9e8fb30bc091f0b2a429b9269dd307fcba4f :information : serial: SNS-A9WE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Spawn : title: Spawn cartridge sha256:22d0b7687d66436abaf447bb29558e43f562283ec4dbe744df7d79a3e27a2577 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0xe0000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7645,13 +7117,12 @@ cartridge sha256:22d0b7687d66436abaf447bb29558e43f562283ec4dbe744df7d79a3e27a257 :information : serial: SNS-7Q-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Spectre : title: Spectre cartridge sha256:54046ec1fc57f6165ad33080502f72809d1b06b438a5a0d0a80ffa2bb3df8b0b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7659,13 +7130,12 @@ cartridge sha256:54046ec1fc57f6165ad33080502f72809d1b06b438a5a0d0a80ffa2bb3df8b0 :information : serial: SNS-9S-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Speed Racer in My Most Dangerous Adventures : title: Speed Racer in My Most Dangerous Adventures cartridge sha256:df02d0f4f40e2732138309d38e91b48aef482490979007ecb63359a35115dfd4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7673,13 +7143,12 @@ cartridge sha256:df02d0f4f40e2732138309d38e91b48aef482490979007ecb63359a35115dfd :information : serial: SNS-ASSE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Speedy Gonzales - Los Gatos Bandidos : title: Speedy Gonzales: Los Gatos Bandidos cartridge sha256:68a51b7a06b6a9e7100a89521e52b5c467c46c828c0f6504bee677beac2aa6fd - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7687,13 +7156,12 @@ cartridge sha256:68a51b7a06b6a9e7100a89521e52b5c467c46c828c0f6504bee677beac2aa6f :information : serial: SNS-ASEE-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.1 : name: Speedy Gonzales - Los Gatos Bandidos : title: Speedy Gonzales: Los Gatos Bandidos cartridge sha256:964d21996e385e032b5d18baf716692ba1db780245cd71956c212045c1b8eb9a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7701,13 +7169,12 @@ cartridge sha256:964d21996e385e032b5d18baf716692ba1db780245cd71956c212045c1b8eb9 :information : serial: SNS-AMCE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Spider-Man & Venom - Maximum Carnage : title: Spider-Man & Venom: Maximum Carnage cartridge sha256:b72fbbfe737eff49f59dcef9f13b963e50c5bc322d7eb0e7b4c25f3a71aa0815 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7715,13 +7182,12 @@ cartridge sha256:b72fbbfe737eff49f59dcef9f13b963e50c5bc322d7eb0e7b4c25f3a71aa081 :information : serial: SNS-A2CE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Spider-Man & Venom - Separation Anxiety : title: Spider-Man & Venom: Separation Anxiety cartridge sha256:63210a91573fa8e19592f2e6c746a400831d804c00453739447d2df32e731df7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7729,13 +7195,12 @@ cartridge sha256:63210a91573fa8e19592f2e6c746a400831d804c00453739447d2df32e731df :information : serial: SNS-MN-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Spider-Man & X-Men - Arcade's Revenge : title: Spider-Man & X-Men: Arcade's Revenge cartridge sha256:f05d777e3de69aab18d336cac0af07f794f8d00090d085f86cebaed3679cabad - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7743,13 +7208,12 @@ cartridge sha256:f05d777e3de69aab18d336cac0af07f794f8d00090d085f86cebaed3679caba :information : serial: SNS-ADME-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Spider-Man - The Animated Series : title: Spider-Man: The Animated Series cartridge sha256:fe10238ae42ed9eb4d906a81dd50ebe585140982cdfe266308ce1f16e78e6903 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7757,13 +7221,12 @@ cartridge sha256:fe10238ae42ed9eb4d906a81dd50ebe585140982cdfe266308ce1f16e78e690 :information : serial: SNS-SX-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Spindizzy Worlds : title: Spindizzy Worlds cartridge sha256:8d3f20af0be588cf2edc39aee0d96d4085512919a05c0e90a7848e414cc20e42 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7773,13 +7236,12 @@ cartridge sha256:8d3f20af0be588cf2edc39aee0d96d4085512919a05c0e90a7848e414cc20e4 :information : serial: SNS-AWBE-USA : board: SHVC-1J3M-20 - : region: NA : revision: 1.0 : name: Sporting News Baseball, The : title: The Sporting News Baseball cartridge sha256:254d17a82a32d8bd231ca3a87d356b65e65cb0229902a69a57c21a4c99bbba1f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7787,13 +7249,12 @@ cartridge sha256:254d17a82a32d8bd231ca3a87d356b65e65cb0229902a69a57c21a4c99bbba1 :information : serial: SNS-LU-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Sports Illustrated - Championship Football & Baseball : title: Sports Illustrated: Championship Football & Baseball cartridge sha256:3857b5294ea8f7468849437bb2d8271564e8a0ff30774622e9c872bcbd53a84d - :board cic=411 + :board region=ntsc : superfx : map address=00-3f,80-bf:3000-34ff : rom name=program.rom size=0x100000 @@ -7804,13 +7265,12 @@ cartridge sha256:3857b5294ea8f7468849437bb2d8271564e8a0ff30774622e9c872bcbd53a84 :information : serial: SNS-FO-USA : board: SHVC-1C0N5S-01 - : region: NA : revision: 1.0 : name: Star Fox : title: Star Fox cartridge sha256:3a16ad45ae3d89b13c9e53e21c2a4c725ff7cec7fbe7896d538d163f92cb4aac - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7818,13 +7278,12 @@ cartridge sha256:3a16ad45ae3d89b13c9e53e21c2a4c725ff7cec7fbe7896d538d163f92cb4aa :information : serial: SNS-A9DE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Star Trek - Deep Space Nine - Crossroads of Time : title: Star Trek: Deep Space Nine - Crossroads of Time cartridge sha256:b4d0b4a3fd73469f5469dfcc2316e50848ebf0630a225df2969c740759e321f4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7832,13 +7291,12 @@ cartridge sha256:b4d0b4a3fd73469f5469dfcc2316e50848ebf0630a225df2969c740759e321f :information : serial: SNS-ASTE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Star Trek - Starfleet Academy - Starship Bridge Simulator : title: Star Trek: Starfleet Academy - Starship Bridge Simulator cartridge sha256:22c907b56ac6f414365801ed375c3fbf75696ce7f34ec89e1724628dc5622957 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7846,13 +7304,12 @@ cartridge sha256:22c907b56ac6f414365801ed375c3fbf75696ce7f34ec89e1724628dc562295 :information : serial: SNS-XN-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Star Trek - The Next Generation - Future's Past : title: Star Trek: The Next Generation - Future's Past cartridge sha256:9ffd95486904804aca1f7068c99f1c9e91c2c0e5474ec758df1a913393571cc7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7860,13 +7317,12 @@ cartridge sha256:9ffd95486904804aca1f7068c99f1c9e91c2c0e5474ec758df1a913393571cc :information : serial: SNS-AGTE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Stargate : title: Stargate cartridge sha256:91f938b4989215b1cd39635797f23b59b9d7b6d36e583f9eb69d022abe537bfc - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7874,13 +7330,12 @@ cartridge sha256:91f938b4989215b1cd39635797f23b59b9d7b6d36e583f9eb69d022abe537bf :information : serial: SNS-5S-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Steel Talons : title: Steel Talons cartridge sha256:e3b07a59f969ced91c4579bb459f2c747a6c3f12c45ae4776483ef4830f5f00f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7888,13 +7343,12 @@ cartridge sha256:e3b07a59f969ced91c4579bb459f2c747a6c3f12c45ae4776483ef4830f5f00 :information : serial: SNS-AS2E-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Sterling Sharpe - End 2 End : title: Sterling Sharpe: End 2 End cartridge sha256:dad9c116283322d5a13fd659874c681582abdff3df182cc4c90511d33fb7110a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7902,13 +7356,12 @@ cartridge sha256:dad9c116283322d5a13fd659874c681582abdff3df182cc4c90511d33fb7110 :information : serial: SNS-ASOE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Stone Protectors : title: Stone Protectors cartridge sha256:b4626cf0c876a124b50f9421c48a7d762e9ed808ad336c799d543d60b484897c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7916,13 +7369,12 @@ cartridge sha256:b4626cf0c876a124b50f9421c48a7d762e9ed808ad336c799d543d60b484897 :information : serial: SNS-RA-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Street Combat : title: Street Combat cartridge sha256:910a29f834199c63c22beddc749baba746da9922196a553255deade59f4fc127 - :board cic=411 + :board region=ntsc : sdd1 : map address=00-3f,80-bf:4800-4807 : rom name=program.rom size=0x400000 @@ -7932,13 +7384,12 @@ cartridge sha256:910a29f834199c63c22beddc749baba746da9922196a553255deade59f4fc12 :information : serial: SNS-AUZE-USA : board: SHVC-1N0N-01 - : region: NA : revision: 1.0 : name: Street Fighter Alpha 2 : title: Street Fighter Alpha 2 cartridge sha256:2b34161e96ef3f0f48cecd67e531a9bb94310652d8686f301bac426e4ab97e77 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7946,13 +7397,12 @@ cartridge sha256:2b34161e96ef3f0f48cecd67e531a9bb94310652d8686f301bac426e4ab97e7 :information : serial: SNS-S2-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Street Fighter II - The World Warrior : title: Street Fighter II: The World Warrior cartridge sha256:3e487f8ba48c0b5e31744e3281d6bce375089db6075c8eb3d9a929376b817381 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x280000 : map address=00-2f,80-af:8000-ffff : map address=40-6f,c0-ef:0000-ffff @@ -7960,13 +7410,12 @@ cartridge sha256:3e487f8ba48c0b5e31744e3281d6bce375089db6075c8eb3d9a929376b81738 :information : serial: SNS-TI-USA : board: SHVC-3J0N-01 - : region: NA : revision: 1.0 : name: Street Fighter II Turbo - Hyper Fighting : title: Street Fighter II Turbo: Hyper Fighting cartridge sha256:6756f92fe8e066be4b204cfdc94c1615ba6ece7e78fb5d2c77c81a9d298aa744 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -7974,13 +7423,12 @@ cartridge sha256:6756f92fe8e066be4b204cfdc94c1615ba6ece7e78fb5d2c77c81a9d298aa74 :information : serial: SNS-AHYE-USA : board: SHVC-BJ0N-01 - : region: NA : revision: 1.0 : name: Street Hockey '95 : title: Street Hockey '95 cartridge sha256:d1f61b6bb4bb6879a4fbd2c82d77390c546ee7f821edddc884fb9cc7463ad79b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -7988,13 +7436,12 @@ cartridge sha256:d1f61b6bb4bb6879a4fbd2c82d77390c546ee7f821edddc884fb9cc7463ad79 :information : serial: SNS-ASRE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Street Racer : title: Street Racer cartridge sha256:05f14e6ed3394d9273e2397769a8acf1a9db646be6066e82269521e8eec53562 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8002,13 +7449,12 @@ cartridge sha256:05f14e6ed3394d9273e2397769a8acf1a9db646be6066e82269521e8eec5356 :information : serial: SNS-SG-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Strike Gunner STG : title: Strike Gunner S.T.G. cartridge sha256:c04d80b84514202ff319384ca20641eb0189e975eed5612915bd9c224b2ab30a - :board cic=411 + :board region=ntsc : superfx : map address=00-3f,80-bf:3000-34ff : rom name=program.rom size=0x100000 @@ -8021,13 +7467,12 @@ cartridge sha256:c04d80b84514202ff319384ca20641eb0189e975eed5612915bd9c224b2ab30 :information : serial: SNS-CQ-USA : board: SHVC-1CA6B-01 - : region: NA : revision: 1.1 : name: Stunt Race FX : title: Stunt Race FX cartridge sha256:e9c406d4f773697b9b671e7ddf2207c9d0ab242d7f23e502cdd453fbb264d392 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8035,13 +7480,12 @@ cartridge sha256:e9c406d4f773697b9b671e7ddf2207c9d0ab242d7f23e502cdd453fbb264d39 :information : serial: SNS-6S-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Sunset Riders : title: Sunset Riders cartridge sha256:190999122aacc2cff20c5677b3f60ed938d8a36b696d16cc1bf416705efe151e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8049,13 +7493,12 @@ cartridge sha256:190999122aacc2cff20c5677b3f60ed938d8a36b696d16cc1bf416705efe151 :information : serial: SNS-H2-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Super Adventure Island : title: Super Adventure Island cartridge sha256:eaf1b83e95d8a04f9a84d4960cf87cc182fc60ef07be35eb8929c4033d6fef67 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -8065,13 +7508,12 @@ cartridge sha256:eaf1b83e95d8a04f9a84d4960cf87cc182fc60ef07be35eb8929c4033d6fef6 :information : serial: SNS-E4-USA : board: SHVC-2J3M-11 - : region: NA : revision: 1.0 : name: Super Adventure Island II : title: Super Adventure Island II cartridge sha256:0deb7a91fbe5848f1733ce668daaa49b0dad3d821bacc0791837c1ba15e60d7c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8079,13 +7521,12 @@ cartridge sha256:0deb7a91fbe5848f1733ce668daaa49b0dad3d821bacc0791837c1ba15e60d7 :information : serial: SNS-8A-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Alfred Chicken : title: Super Alfred Chicken cartridge sha256:b64f9f95fb244feddb3ff50bf0972af88f5d006e9b09050b930374fef8b37862 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8093,13 +7534,12 @@ cartridge sha256:b64f9f95fb244feddb3ff50bf0972af88f5d006e9b09050b930374fef8b3786 :information : serial: SNS-AU-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Super Aquatic Games starring the Aquabats, The : title: The Super Aquatic Games starring the Aquabats cartridge sha256:8808783f789ca6413364a7abea240f6f7291b5906026f360ba8cfdd2791fc179 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -8107,13 +7547,12 @@ cartridge sha256:8808783f789ca6413364a7abea240f6f7291b5906026f360ba8cfdd2791fc17 :information : serial: SNS-SA-USA : board: SHVC-2J0N-01 - : region: NA : revision: 1.0 : name: Super Baseball 2020 : title: Super Baseball 2020 cartridge sha256:1622371a5a4001fff9690323e89b7a8d449cdc3cae6dcd1249f0c7dc8c651d33 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x200 @@ -8122,13 +7561,12 @@ cartridge sha256:1622371a5a4001fff9690323e89b7a8d449cdc3cae6dcd1249f0c7dc8c651d3 :information : serial: SNS-UB-USA : board: SHVC-1A3B-12 - : region: NA : revision: 1.0 : name: Super Baseball Simulator 1.000 : title: Super Baseball Simulator 1.000 cartridge sha256:a8239355631d303ecebfd43fc14e80f148e4ac9937234e29cc87d6f939b033a0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8136,13 +7574,12 @@ cartridge sha256:a8239355631d303ecebfd43fc14e80f148e4ac9937234e29cc87d6f939b033a :information : serial: SNS-SP-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Super Bases Loaded : title: Super Bases Loaded cartridge sha256:327745aceb708d82419c3d2cffdffa78f55df0878bb1786e1b7fc294385f20ba - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -8156,13 +7593,12 @@ cartridge sha256:327745aceb708d82419c3d2cffdffa78f55df0878bb1786e1b7fc294385f20b :information : serial: SNS-3D-USA : board: SHVC-2B3B-01 - : region: NA : revision: 1.0 : name: Super Bases Loaded 2 : title: Super Bases Loaded 2 cartridge sha256:b21a161fed748920e54cd72c54095416b1d999636e0388d7d147884779c52833 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -8171,13 +7607,12 @@ cartridge sha256:b21a161fed748920e54cd72c54095416b1d999636e0388d7d147884779c5283 :information : serial: SNS-AB3E-USA : board: SHVC-1A3M-30 - : region: NA : revision: 1.0 : name: Super Bases Loaded 3 - License to Steal : title: Super Bases Loaded 3: License to Steal cartridge sha256:165938810948f3226f7446978fa36ae8bc781616d95b39cd126d5c8afbf6e2ee - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8185,13 +7620,12 @@ cartridge sha256:165938810948f3226f7446978fa36ae8bc781616d95b39cd126d5c8afbf6e2e :information : serial: SNS-FA-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Super Batter Up : title: Super Batter Up cartridge sha256:1d6573e3db2efab0c98d1940b4171d569348d27a1cc20e80a83094e6c0e66e35 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8199,13 +7633,12 @@ cartridge sha256:1d6573e3db2efab0c98d1940b4171d569348d27a1cc20e80a83094e6c0e66e3 :information : serial: SNS-8B-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Battleship : title: Super Battleship cartridge sha256:94496e73fc7fdf2f72f16bf2becb0c3935db2ebd97555eac73b63400acbceec6 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8213,13 +7646,12 @@ cartridge sha256:94496e73fc7fdf2f72f16bf2becb0c3935db2ebd97555eac73b63400acbceec :information : serial: SNS-SB-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Super Battletank - War in the Gulf : title: Super Battletank: War in the Gulf cartridge sha256:b68e865b0b5fe6af421a171e94fb1cb0006ae3e412b6361f6f858c44adaa304b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8227,13 +7659,12 @@ cartridge sha256:b68e865b0b5fe6af421a171e94fb1cb0006ae3e412b6361f6f858c44adaa304 :information : serial: SNS-2X-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Battletank 2 : title: Super Battletank 2 cartridge sha256:f0913358cb0870c3dcc7f0c0d2d69704874c31a113150eda668c95024c0d6fd9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8241,13 +7672,12 @@ cartridge sha256:f0913358cb0870c3dcc7f0c0d2d69704874c31a113150eda668c95024c0d6fd :information : serial: SNS-BQ-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Super Black Bass : title: Super Black Bass cartridge sha256:4efab3f49cbe91ec77b6cba747ddfedfdc0b080c755a8b6ba51234f0676c000f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -8255,13 +7685,12 @@ cartridge sha256:4efab3f49cbe91ec77b6cba747ddfedfdc0b080c755a8b6ba51234f0676c000 :information : serial: SNS-H6-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Super Bomberman : title: Super Bomberman cartridge sha256:0a4b4a783a7faf6ada3e1326ecf85de77e8c2a171659b42a78a1fae43f806ca6 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -8269,13 +7698,12 @@ cartridge sha256:0a4b4a783a7faf6ada3e1326ecf85de77e8c2a171659b42a78a1fae43f806ca :information : serial: SNS-M4-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Super Bomberman 2 : title: Super Bomberman 2 cartridge sha256:21d4a72461d8680cf75cf3b8eba42e13127815bc17b6249d89a5e39beb3f1406 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -8283,13 +7711,12 @@ cartridge sha256:21d4a72461d8680cf75cf3b8eba42e13127815bc17b6249d89a5e39beb3f140 :information : serial: SNS-ANKE-USA : board: SHVC-2J0N-11 - : region: NA : revision: 1.0 : name: Super Bonk : title: Super Bonk cartridge sha256:946de556b4f877e54e16b5c828db89c038e50349cfd0ddf8ea96b6541f9d70fa - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8297,13 +7724,12 @@ cartridge sha256:946de556b4f877e54e16b5c828db89c038e50349cfd0ddf8ea96b6541f9d70f :information : serial: SNS-BW-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Super Bowling : title: Super Bowling cartridge sha256:5965bde449ff775c1a0d9fd3cf2fb8c51a86b44ad1942dfb5c14a91f103be030 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8311,13 +7737,12 @@ cartridge sha256:5965bde449ff775c1a0d9fd3cf2fb8c51a86b44ad1942dfb5c14a91f103be03 :information : serial: SNS-SN-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Super Buster Brothers : title: Super Buster Brothers cartridge sha256:d42f8c7969b4c434f9ca04ce0080d897877a5e71c2926d309ef5dae93ba25548 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8325,13 +7750,12 @@ cartridge sha256:d42f8c7969b4c434f9ca04ce0080d897877a5e71c2926d309ef5dae93ba2554 :information : serial: SNS-C6-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Super Caesers Palace : title: Super Caesers Palace cartridge sha256:0ef6f4cce5a2273fa49fe1ce724e0048a8e39c91da6b00dbb693fe1ba909177d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8339,13 +7763,12 @@ cartridge sha256:0ef6f4cce5a2273fa49fe1ce724e0048a8e39c91da6b00dbb693fe1ba909177 :information : serial: SNS-AD-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Super Castlevania IV : title: Super Castlevania IV cartridge sha256:b839253b878821ff00847491d11452e933baaf303f49dd39d22e3a524ea1ff81 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8353,13 +7776,12 @@ cartridge sha256:b839253b878821ff00847491d11452e933baaf303f49dd39d22e3a524ea1ff8 :information : serial: SNS-QT-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Chase HQ : title: Super Chase H.Q. cartridge sha256:6cbc4db85cb8420020f9edbfd290c0f435b313a59577aca65314d31f8b816620 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -8368,13 +7790,12 @@ cartridge sha256:6cbc4db85cb8420020f9edbfd290c0f435b313a59577aca65314d31f8b81662 :information : serial: SNS-CN-USA : board: SHVC-1A1B-06 - : region: NA : revision: 1.0 : name: Super Conflict : title: Super Conflict cartridge sha256:db7d727de86a1ac886ce3c243bf5941910154eaef3be50209187b9711592830d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8382,13 +7803,12 @@ cartridge sha256:db7d727de86a1ac886ce3c243bf5941910154eaef3be50209187b9711592830 :information : serial: SNS-75-USA : board: SHVC-1A0N-20 - : region: MX : revision: 1.0 : name: Super Copa : title: Super Copa cartridge sha256:bcced1be76ef920b562a555696bcb4583d1c8cea4d4b057cab6e0e09be8ef8c4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8396,13 +7816,12 @@ cartridge sha256:bcced1be76ef920b562a555696bcb4583d1c8cea4d4b057cab6e0e09be8ef8c :information : serial: SNS-WD-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Super Double Dragon : title: Super Double Dragon cartridge sha256:4d7fc331a811b8dc630b469262fd6f45e289243cef83101f32038158967d1b28 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x40000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8413,13 +7832,12 @@ cartridge sha256:4d7fc331a811b8dc630b469262fd6f45e289243cef83101f32038158967d1b2 :information : serial: SNS-A-SG-USA : board: SGB-R-10 - : region: NA : revision: 1.2 : name: Super Game Boy : title: Super Game Boy cartridge sha256:7468c271d7240cf4e0d08c16e9969a1b1b1caf5adc0e5adc568d93c92651a057 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8427,13 +7845,12 @@ cartridge sha256:7468c271d7240cf4e0d08c16e9969a1b1b1caf5adc0e5adc568d93c92651a05 :information : serial: SNS-CM-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Super Ghouls & Ghosts : title: Super Ghouls 'n Ghosts cartridge sha256:d4caa6683ee1b6c70c10fd0555ade33dadcc6551d94e791586e64fd683d8f3a8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8441,13 +7858,12 @@ cartridge sha256:d4caa6683ee1b6c70c10fd0555ade33dadcc6551d94e791586e64fd683d8f3a :information : serial: SNS-JV-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Goal! 2 : title: Super Goal! 2 cartridge sha256:33dda5838264c93341ef865512e4b86e16fd4a0387eda04e331517bfaecf1c0b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8455,13 +7871,12 @@ cartridge sha256:33dda5838264c93341ef865512e4b86e16fd4a0387eda04e331517bfaecf1c0 :information : serial: SNS-7G-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Super Godzilla : title: Super Godzilla cartridge sha256:d78ff42efdbb0e180777d17b5f7a96e08530ab77f15a99237f60714f7cfe2b74 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8469,13 +7884,12 @@ cartridge sha256:d78ff42efdbb0e180777d17b5f7a96e08530ab77f15a99237f60714f7cfe2b7 :information : serial: SNS-HX-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super High Impact : title: Super High Impact cartridge sha256:3f8efb19eae68f24feb42c018b7dc7a819bfd8d993ab36899681caa7ee94b06e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8483,13 +7897,12 @@ cartridge sha256:3f8efb19eae68f24feb42c018b7dc7a819bfd8d993ab36899681caa7ee94b06 :information : serial: SNS-J5-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super James Pond : title: Super James Pond cartridge sha256:a9e3e57d591e995e8e0dd228b619b6aed42205eaf55316fa8ff33f236b3a32b3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -8498,13 +7911,12 @@ cartridge sha256:a9e3e57d591e995e8e0dd228b619b6aed42205eaf55316fa8ff33f236b3a32b :information : serial: SNS-4M-USA : board: SHVC-2A3B-01 - : region: NA : revision: 1.0 : name: Super Mario All-Stars : title: Super Mario All-Stars cartridge sha256:a8806bfe07cd3c9945d9fd3fcea932ae1cd671cab5cae12bb7a2ae726cbf9175 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x280000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -8513,13 +7925,12 @@ cartridge sha256:a8806bfe07cd3c9945d9fd3fcea932ae1cd671cab5cae12bb7a2ae726cbf917 :information : serial: SNS-5M-USA : board: SHVC-BA3M-01 - : region: NA : revision: 1.0 : name: Super Mario All-Stars + Super Mario World : title: Super Mario All-Stars + Super Mario World cartridge sha256:89ad4ba02a2518ca792cf96b61b36613f86baac92344c9c10d7fab5433bebc16 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -8534,13 +7945,12 @@ cartridge sha256:89ad4ba02a2518ca792cf96b61b36613f86baac92344c9c10d7fab5433bebc1 :information : serial: SNS-MK-USA : board: SHVC-1K1B-01 - : region: NA : revision: 1.0 : name: Super Mario Kart : title: Super Mario Kart cartridge sha256:740646f3535bfb365ca44e70d46ab433467b142bd84010393070bd0b141af853 - :board cic=411 + :board region=ntsc : sa1 : map address=00-3f,80-bf:2200-23ff : rom name=program.rom size=0x400000 @@ -8555,13 +7965,12 @@ cartridge sha256:740646f3535bfb365ca44e70d46ab433467b142bd84010393070bd0b141af85 :information : serial: SNS-ARWE-USA : board: SHVC-1L5B-11 - : region: NA : revision: 1.0 : name: Super Mario RPG - Legend of the Seven Stars : title: Super Mario RPG: Legend of the Seven Stars cartridge sha256:0838e531fe22c077528febe14cb3ff7c492f1f5fa8de354192bdff7137c27f5b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -8570,13 +7979,12 @@ cartridge sha256:0838e531fe22c077528febe14cb3ff7c492f1f5fa8de354192bdff7137c27f5 :information : serial: SNS-MW-USA : board: SHVC-1A1B-06 - : region: NA : revision: 1.0 : name: Super Mario World : title: Super Mario World cartridge sha256:bd763c1a56365c244be92e6cffefd318780a2a19eda7d5baf1c6d5bd6c1b3e06 - :board cic=411 + :board region=ntsc : superfx : map address=00-3f,80-bf:3000-34ff : rom name=program.rom size=0x200000 @@ -8589,13 +7997,12 @@ cartridge sha256:bd763c1a56365c244be92e6cffefd318780a2a19eda7d5baf1c6d5bd6c1b3e0 :information : serial: SNS-YI-USA : board: SHVC-1CB5B-20 - : region: NA : revision: 1.1 : name: Super Mario World 2 - Yoshi's Island : title: Super Mario World 2: Yoshi's Island cartridge sha256:12b77c4bc9c1832cee8881244659065ee1d84c70c3d29e6eaf92e6798cc2ca72 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -8604,13 +8011,12 @@ cartridge sha256:12b77c4bc9c1832cee8881244659065ee1d84c70c3d29e6eaf92e6798cc2ca7 :information : serial: SNS-RI-USA : board: SHVC-BA3M-01 - : region: NA : revision: 1.0 : name: Super Metroid : title: Super Metroid cartridge sha256:40b46bb29785fb431b325f22377faa8b099be4d77aecc1f03000b8a4cb589b63 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8618,13 +8024,12 @@ cartridge sha256:40b46bb29785fb431b325f22377faa8b099be4d77aecc1f03000b8a4cb589b6 :information : serial: SNS-CW-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Ninja Boy : title: Super Ninja Boy cartridge sha256:a8acbbd6f8afbf289a6b837da6cd8bd109a00cd38625c956ab8ff739732d9e4f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -8632,13 +8037,12 @@ cartridge sha256:a8acbbd6f8afbf289a6b837da6cd8bd109a00cd38625c956ab8ff739732d9e4 :information : serial: SNS-DH-USA : board: SHVC-1J0N-01 - : region: NA : revision: 1.0 : name: Super Nova : title: Super Nova cartridge sha256:24b687f95bb9737d223738f13c00aeaa7d697fa9e2fd50597b81d0cfa2160daa - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8646,13 +8050,12 @@ cartridge sha256:24b687f95bb9737d223738f13c00aeaa7d697fa9e2fd50597b81d0cfa2160da :information : serial: SNS-OR-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Super Off Road : title: Super Off Road cartridge sha256:16f9c90d75bd23d0620be00ecf818fcb25c5935d4ee26b1fe17b926f8987aa65 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8660,13 +8063,12 @@ cartridge sha256:16f9c90d75bd23d0620be00ecf818fcb25c5935d4ee26b1fe17b926f8987aa6 :information : serial: SNS-R8-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Super Off Road - The Baja : title: Super Off Road: The Baja cartridge sha256:6bf0e7a7b95613b9d0e5c8cc98eee5d0ac200e88b5d4444ad5cf93d3e8265118 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8674,13 +8076,12 @@ cartridge sha256:6bf0e7a7b95613b9d0e5c8cc98eee5d0ac200e88b5d4444ad5cf93d3e826511 :information : serial: SNS-XP-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Pinball - Behind the Mask : title: Super Pinball: Behind the Mask cartridge sha256:65aff1403838c938d7c6170f3044a2b0317cd2ee13ad79353a4cdd2aa82f4e87 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8688,13 +8089,12 @@ cartridge sha256:65aff1403838c938d7c6170f3044a2b0317cd2ee13ad79353a4cdd2aa82f4e8 :information : serial: SNS-XP-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.1 : name: Super Pinball - Behind the Mask : title: Super Pinball: Behind the Mask cartridge sha256:5a4b0c89606f71182fa5552ac476cc3bbda5ddc7d44e33f9184114aaea38020d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -8703,13 +8103,12 @@ cartridge sha256:5a4b0c89606f71182fa5552ac476cc3bbda5ddc7d44e33f9184114aaea38020 :information : serial: SNS-SF-USA : board: SHVC-1A3B-13 - : region: NA : revision: 1.0 : name: Super Play Action Football : title: Super Play Action Football cartridge sha256:a3d803b8c6b0b6ac55085671040b840f993543915c7f802e14fb651beabe9b63 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -8718,13 +8117,12 @@ cartridge sha256:a3d803b8c6b0b6ac55085671040b840f993543915c7f802e14fb651beabe9b6 :information : serial: SNS-4Q-USA : board: SHVC-1A3M-21 - : region: NA : revision: 1.0 : name: Super Punch-Out!! : title: Super Punch-Out!! cartridge sha256:3dff3513ae6acb85a02b00b9f5adb4757ab97661993bded4f329127a792cef87 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8732,13 +8130,12 @@ cartridge sha256:3dff3513ae6acb85a02b00b9f5adb4757ab97661993bded4f329127a792cef8 :information : serial: SNS-YU-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Putty : title: Super Putty cartridge sha256:05c7f6461209020785fba33007e1830820aa44ada4b1a6f991d936bf2335b15b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8746,13 +8143,12 @@ cartridge sha256:05c7f6461209020785fba33007e1830820aa44ada4b1a6f991d936bf2335b15 :information : serial: SNS-SR-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Super R-Type : title: Super R-Type cartridge sha256:607bfa0f74e57298f59ebe237c2e7b59364024d844534f3befb9ad1301bbedf8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8760,13 +8156,12 @@ cartridge sha256:607bfa0f74e57298f59ebe237c2e7b59364024d844534f3befb9ad1301bbedf :information : serial: SNS-ARLE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Super RBI Baseball : title: Super R.B.I Baseball cartridge sha256:7a8ffaf8bb549b400ec2f0bda9f3c0dbf5852c38618cdb21cd783c368383e2c7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8774,13 +8169,12 @@ cartridge sha256:7a8ffaf8bb549b400ec2f0bda9f3c0dbf5852c38618cdb21cd783c368383e2c :information : serial: SNS-LR-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Super Scope 6 : title: Super Scope 6 cartridge sha256:e987ceb53cc1407b1ba612b13a7b5391db6c41ea14552c165ae62ad42eeaa0ae - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8788,13 +8182,12 @@ cartridge sha256:e987ceb53cc1407b1ba612b13a7b5391db6c41ea14552c165ae62ad42eeaa0a :information : serial: SNS-D9-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Slam Dunk : title: Super Slam Dunk cartridge sha256:c39ebf88af138e87ca5d963ed71a8b7defba3e2bc271d72186d00056e8225721 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8802,13 +8195,12 @@ cartridge sha256:c39ebf88af138e87ca5d963ed71a8b7defba3e2bc271d72186d00056e822572 :information : serial: SNS-ZX-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Slap Shot : title: Super Slap Shot cartridge sha256:8b75ab4bb1b63c45a56e7a4c5a37c0864f14375ab3131edc33489764426ad888 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8816,13 +8208,12 @@ cartridge sha256:8b75ab4bb1b63c45a56e7a4c5a37c0864f14375ab3131edc33489764426ad88 :information : serial: SNS-TV-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Super Smash TV : title: Super Smash T.V. cartridge sha256:694ad2b34ab808bd8a1aa9dda359594cfd3a5fd9d95d4cf262ccaa0eb57eef67 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8830,13 +8221,12 @@ cartridge sha256:694ad2b34ab808bd8a1aa9dda359594cfd3a5fd9d95d4cf262ccaa0eb57eef6 :information : serial: SNS-FS-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Super Soccer : title: Super Soccer cartridge sha256:5eb9736d66b3ac730ebbfdd19ef2397282b5f1a62dc0048093e041e23b807741 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8844,13 +8234,12 @@ cartridge sha256:5eb9736d66b3ac730ebbfdd19ef2397282b5f1a62dc0048093e041e23b80774 :information : serial: SNS-HT-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Super Soccer Champ : title: Super Soccer Champ cartridge sha256:5985cdad45958a5b8c5967ad39efe51569f560bf237a4e9864f21111082a8500 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8858,13 +8247,12 @@ cartridge sha256:5985cdad45958a5b8c5967ad39efe51569f560bf237a4e9864f21111082a850 :information : serial: SNS-LT-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Solitaire : title: Super Solitaire cartridge sha256:c6bd7239cb2074ff1c471d14535bead6290bba2d7c75b4f03209cb114877b4c8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8872,13 +8260,12 @@ cartridge sha256:c6bd7239cb2074ff1c471d14535bead6290bba2d7c75b4f03209cb114877b4c :information : serial: SNS-V4-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Super Star Wars - A New Hope : title: Super Star Wars: A New Hope cartridge sha256:1dd01da68cb61def641389bf3fa87b7a29113c9c8dd172cf303c0f7e03ba6e47 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8886,13 +8273,12 @@ cartridge sha256:1dd01da68cb61def641389bf3fa87b7a29113c9c8dd172cf303c0f7e03ba6e4 :information : serial: SNS-E5-USA : board: SHVC-2A0N-10 - : region: NA : revision: 1.0 : name: Super Star Wars II - The Empire Strikes Back : title: Super Star Wars II: The Empire Strikes Back cartridge sha256:46370b3bd6ff9ee04c425eef0f482f521f3b61bd4b058f2f4e9d322253d7b5de - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8900,13 +8286,12 @@ cartridge sha256:46370b3bd6ff9ee04c425eef0f482f521f3b61bd4b058f2f4e9d322253d7b5d :information : serial: SNS-E5-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.1 : name: Super Star Wars II - The Empire Strikes Back : title: Super Star Wars II: The Empire Strikes Back cartridge sha256:c49be867cdd276703a3ae46a6b17673b9e359af4f9af2329c8eb747120245817 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8914,13 +8299,12 @@ cartridge sha256:c49be867cdd276703a3ae46a6b17673b9e359af4f9af2329c8eb74712024581 :information : serial: SNS-ARJE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Star Wars III - Return of the Jedi : title: Super Star Wars III: Return of the Jedi cartridge sha256:f7df5cd16ce6624567d1a24e9b9c0b9050ea9b6a9fe5a7973484589637756596 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8928,13 +8312,12 @@ cartridge sha256:f7df5cd16ce6624567d1a24e9b9c0b9050ea9b6a9fe5a797348458963775659 :information : serial: SNS-ARJE-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.1 : name: Super Star Wars III - Return of the Jedi : title: Super Star Wars III: Return of the Jedi cartridge sha256:d17cb5c73174060fcbd9cba6c705643f19c3b8be24d0f7ee43aee674ff1ea38e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -8942,13 +8325,12 @@ cartridge sha256:d17cb5c73174060fcbd9cba6c705643f19c3b8be24d0f7ee43aee674ff1ea38 :information : serial: SNS-XW-USA : board: SHVC-BJ0N-01 - : region: NA : revision: 1.0 : name: Super Street Fighter II - The New Challengers : title: Super Street Fighter II: The New Challengers cartridge sha256:830c900083cccc6ded74c167c4e257db34df4786ecd6e2f053de454db7d31fe5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8956,13 +8338,12 @@ cartridge sha256:830c900083cccc6ded74c167c4e257db34df4786ecd6e2f053de454db7d31fe :information : serial: SNS-EG-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Strike Eagle : title: Super Strike Eagle cartridge sha256:6e45a80ea148654514cb4e8604a0ffcbc726946e70f9e0b9860e36c0f3fa4877 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8970,13 +8351,12 @@ cartridge sha256:6e45a80ea148654514cb4e8604a0ffcbc726946e70f9e0b9860e36c0f3fa487 :information : serial: SNS-ST-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Super Tennis : title: Super Tennis cartridge sha256:02cb7f1ed21ed6bfb9eaa0e91df2adb063a9bf4cbd6feb6cd024d676829e227e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8984,13 +8364,12 @@ cartridge sha256:02cb7f1ed21ed6bfb9eaa0e91df2adb063a9bf4cbd6feb6cd024d676829e227 :information : serial: SNS-5L-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Troll Islands : title: Super Troll Islands cartridge sha256:056ac8160363d577e3ffc2f593801b8bb3d024fe4f3a3331b711dc556204949d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -8998,13 +8377,12 @@ cartridge sha256:056ac8160363d577e3ffc2f593801b8bb3d024fe4f3a3331b711dc556204949 :information : serial: SNS-TU-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Turrican : title: Super Turrican cartridge sha256:96da3512a1aa05a40f1e5d61c48932b0d55d9f136d6418b848153a9fecab06de - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9012,13 +8390,12 @@ cartridge sha256:96da3512a1aa05a40f1e5d61c48932b0d55d9f136d6418b848153a9fecab06d :information : serial: SNS-A2TE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Super Turrican 2 : title: Super Turrican 2 cartridge sha256:792e615a34ceae5a1b9a4f54c5a5d9b53e39299332fece83e4bceca2c22efb21 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9026,13 +8403,12 @@ cartridge sha256:792e615a34ceae5a1b9a4f54c5a5d9b53e39299332fece83e4bceca2c22efb2 :information : serial: SNS-VA-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Valis IV : title: Super Valis IV cartridge sha256:62d3d650e956f23f3b221f83c5c5bd204afd0e4f4d9c47a3251962323de96089 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9040,13 +8416,12 @@ cartridge sha256:62d3d650e956f23f3b221f83c5c5bd204afd0e4f4d9c47a3251962323de9608 :information : serial: SNS-WI-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Super Widget : title: Super Widget cartridge sha256:dfada65f4497f482d5f81964322d9952f678f50e65418d307d4503f9bf9a32d9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -9059,13 +8434,12 @@ cartridge sha256:dfada65f4497f482d5f81964322d9952f678f50e65418d307d4503f9bf9a32d :information : serial: SNS-8H-USA : board: SHVC-1K0N-01 - : region: NA : revision: 1.0 : name: Suzuka 8 Hours : title: Suzuka 8 Hours cartridge sha256:d802715fb4f09d7e499b5b3e577af641598a723dae7cedeaa93943bb53c6edbb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -9073,13 +8447,12 @@ cartridge sha256:d802715fb4f09d7e499b5b3e577af641598a723dae7cedeaa93943bb53c6edb :information : serial: SNS-AK9E-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: SWAT Kats - The Radical Squadron : title: SWAT Kats: The Radical Squadron cartridge sha256:c2015d03dd3db08069b2a6ea1ed6b3e1ac1e3a5f804b02295c3cd3717add91ef - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9087,13 +8460,12 @@ cartridge sha256:c2015d03dd3db08069b2a6ea1ed6b3e1ac1e3a5f804b02295c3cd3717add91e :information : serial: SNS-AFYE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Syndicate : title: Syndicate cartridge sha256:1711fe9010232b41ec406900e5b4ef528dd2beaa97b27d94ed7eef57d63904a0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9101,13 +8473,12 @@ cartridge sha256:1711fe9010232b41ec406900e5b4ef528dd2beaa97b27d94ed7eef57d63904a :information : serial: SNS-TZ-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.1 : name: Taz-Mania : title: Taz-Mania cartridge sha256:7da4a3cfa5de4bb4722a6e2a42c26aae322b5e668f1645d8c870fb99e6080600 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -9116,13 +8487,12 @@ cartridge sha256:7da4a3cfa5de4bb4722a6e2a42c26aae322b5e668f1645d8c870fb99e608060 :information : serial: SNS-AQ-USA : board: SHVC-2A3M-20 - : region: NA : revision: 1.0 : name: Tecmo Secret of the Stars : title: Tecmo Secret of the Stars cartridge sha256:c3cb1d2fd9775aa9d15b7eedd45ad82519b73d47ca166737ed398c748717bcc4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -9131,13 +8501,12 @@ cartridge sha256:c3cb1d2fd9775aa9d15b7eedd45ad82519b73d47ca166737ed398c748717bcc :information : serial: SNS-ATBE-USA : board: SHVC-2A3M-11 - : region: NA : revision: 1.0 : name: Tecmo Super Baseball : title: Tecmo Super Baseball cartridge sha256:35dd020cf57fc402417ab6e4a6c49866c5a86bba25218c0aaf7ce85cb134bcf8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -9146,13 +8515,12 @@ cartridge sha256:35dd020cf57fc402417ab6e4a6c49866c5a86bba25218c0aaf7ce85cb134bcf :information : serial: SNS-7T-USA : board: SHVC-2A3B-01 - : region: NA : revision: 1.0 : name: Tecmo Super Bowl : title: Tecmo Super Bowl cartridge sha256:2972057a0087f8239d2523eaa995405f06e5d5ba3a3203b6b50d401379c8ebde - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x8000 @@ -9161,13 +8529,12 @@ cartridge sha256:2972057a0087f8239d2523eaa995405f06e5d5ba3a3203b6b50d401379c8ebd :information : serial: SNS-ASBE-USA : board: SHVC-1A5M-11 - : region: NA : revision: 1.0 : name: Tecmo Super Bowl II - Special Edition : title: Tecmo Super Bowl II: Special Edition cartridge sha256:8cfd4c5525f4bd4bba5af7e2323f1e61f27ce97c6d5617cfa685c9276fbf6407 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x8000 @@ -9176,13 +8543,12 @@ cartridge sha256:8cfd4c5525f4bd4bba5af7e2323f1e61f27ce97c6d5617cfa685c9276fbf640 :information : serial: SNS-AW4E-USA : board: SHVC-1A5M-20 - : region: NA : revision: 1.0 : name: Tecmo Super Bowl III - Final Edition : title: Tecmo Super Bowl III: Final Edition cartridge sha256:14bce564f976d1431127259edbcb23c52c79361fed9814d307d627c4650e800e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -9191,13 +8557,12 @@ cartridge sha256:14bce564f976d1431127259edbcb23c52c79361fed9814d307d627c4650e800 :information : serial: SNS-XM-USA : board: SHVC-1A3B-13 - : region: NA : revision: 1.0 : name: Tecmo Super NBA Basketball : title: Tecmo Super NBA Basketball cartridge sha256:5b82cdd6f2da56f43680d6a5021faebe2e06036d30602c1a7917aa414cf8b5f4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9205,13 +8570,12 @@ cartridge sha256:5b82cdd6f2da56f43680d6a5021faebe2e06036d30602c1a7917aa414cf8b5f :information : serial: SNS-TM-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Teenage Mutant Ninja Turtles IV - Turtles in Time : title: Teenage Mutant Ninja Turtles IV: Turtles in Time cartridge sha256:849141370f164d6db3e5709da670726f958ce13ffef69319564db3fb0b12c69d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9219,13 +8583,12 @@ cartridge sha256:849141370f164d6db3e5709da670726f958ce13ffef69319564db3fb0b12c69 :information : serial: SNS-KY-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Teenage Mutant Ninja Turtles V - Tournament Fighters : title: Teenage Mutant Ninja Turtles V: Tournament Fighters cartridge sha256:bd7074ef4a05d790646abe145ffd2587fb48044e4b730286d807abe102841177 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9233,13 +8596,12 @@ cartridge sha256:bd7074ef4a05d790646abe145ffd2587fb48044e4b730286d807abe10284117 :information : serial: SNS-TN-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Terminator : title: The Terminator cartridge sha256:06db3be569a587d79b51bfc684fd2ebdea977863875aedec88218fbb4169c21b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9247,13 +8609,12 @@ cartridge sha256:06db3be569a587d79b51bfc684fd2ebdea977863875aedec88218fbb4169c21 :information : serial: SNS-TP-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Terminator 2 - Judgment Day : title: Terminator 2: Judgment Day cartridge sha256:365f10f9d9f68cc59e769eeb451c417e1ff7415022a625de9976a3b924c0bd61 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9261,13 +8622,12 @@ cartridge sha256:365f10f9d9f68cc59e769eeb451c417e1ff7415022a625de9976a3b924c0bd6 :information : serial: SNS-XV-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Terminator 2 - The Arcade Game : title: Terminator 2: The Arcade Game cartridge sha256:c9563cb57314588aa3db22b76dc8acfba3e73733dd3538edd90af5a15595830e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9275,13 +8635,12 @@ cartridge sha256:c9563cb57314588aa3db22b76dc8acfba3e73733dd3538edd90af5a15595830 :information : serial: SNS-DL-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Test Drive II - The Duel : title: Test Drive II: The Duel cartridge sha256:3cdebbd8adc4bb6773a7995f542fdac49adefca71cba583255a1c1bf37ac3946 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9289,13 +8648,12 @@ cartridge sha256:3cdebbd8adc4bb6773a7995f542fdac49adefca71cba583255a1c1bf37ac394 :information : serial: SNS-AFTE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Tetris & Dr. Mario : title: Tetris & Dr. Mario cartridge sha256:accc836c3adabadc810fbe35702c6a64d50a09f4c672d2734fa58b251d7a20aa - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9303,13 +8661,12 @@ cartridge sha256:accc836c3adabadc810fbe35702c6a64d50a09f4c672d2734fa58b251d7a20a :information : serial: SNS-27-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Tetris 2 : title: Tetris 2 cartridge sha256:70dea29a928c1625def31c862dc74960e39e587e416b45829efc21f13ebd9630 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9317,13 +8674,12 @@ cartridge sha256:70dea29a928c1625def31c862dc74960e39e587e416b45829efc21f13ebd963 :information : serial: SNS-27-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.1 : name: Tetris 2 : title: Tetris 2 cartridge sha256:579bf1a1988d4af06a69cc1d82a2478ebe51940c5ced7f97e83029a24e6aa778 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9331,13 +8687,12 @@ cartridge sha256:579bf1a1988d4af06a69cc1d82a2478ebe51940c5ced7f97e83029a24e6aa77 :information : serial: SNS-AYLE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Tetris Attack : title: Tetris Attack cartridge sha256:1121df3f05dd9dbb749f6b785eb9b3eb69968004f9d6ceffa6f84757af2f3702 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9345,13 +8700,12 @@ cartridge sha256:1121df3f05dd9dbb749f6b785eb9b3eb69968004f9d6ceffa6f84757af2f370 :information : serial: SNS-6T-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Thomas the Tank Engine & Friends : title: Thomas the Tank Engine & Friends cartridge sha256:d50aaa41e153ca356eee16a9deccb1a763ee56ebbe6c80cd28c5ad1db66a5316 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9359,13 +8713,12 @@ cartridge sha256:d50aaa41e153ca356eee16a9deccb1a763ee56ebbe6c80cd28c5ad1db66a531 :information : serial: SNS-TH-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Thunder Spirits : title: Thunder Spirits cartridge sha256:eb958801fd1f08771e5a0933f7701d633262efbfe8d47de21dda18e3b77670de - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9373,13 +8726,12 @@ cartridge sha256:eb958801fd1f08771e5a0933f7701d633262efbfe8d47de21dda18e3b77670d :information : serial: SNS-ATHE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Tick, The : title: The Tick cartridge sha256:16fb965130e57f37dda2466f23820f091f8b96758aa7e30ba4fd63cb618e5ddb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9387,13 +8739,12 @@ cartridge sha256:16fb965130e57f37dda2466f23820f091f8b96758aa7e30ba4fd63cb618e5dd :information : serial: SNS-ATCE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Time Cop : title: Time Cop cartridge sha256:8e82f98d2e62bc1e5fcf2386c2b5ca54998398220efcedd67858aaaa92289a42 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9401,13 +8752,12 @@ cartridge sha256:8e82f98d2e62bc1e5fcf2386c2b5ca54998398220efcedd67858aaaa92289a4 :information : serial: SNS-XT-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Time Slip : title: Time Slip cartridge sha256:fa7e2b40093f0cc7233cc77e95bbbea2144c8183dec10446590396fffd7cda37 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9415,13 +8765,12 @@ cartridge sha256:fa7e2b40093f0cc7233cc77e95bbbea2144c8183dec10446590396fffd7cda3 :information : serial: SNS-X8-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Time Trax : title: Time Trax cartridge sha256:271a67b32b3bb00ceb0f4e7d81494888d0d821635f0f936d481dfbe671567c08 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -9429,13 +8778,12 @@ cartridge sha256:271a67b32b3bb00ceb0f4e7d81494888d0d821635f0f936d481dfbe671567c0 :information : serial: SNS-AJ9E-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Timon & Pumbaa's Jungle Games : title: Timon & Pumbaa's Jungle Games cartridge sha256:0503cd93b4d211a825acd47ff3813668b4ce68890c8be2fbfe5ac2b46882dfcf - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -9444,13 +8792,12 @@ cartridge sha256:0503cd93b4d211a825acd47ff3813668b4ce68890c8be2fbfe5ac2b46882dfc :information : serial: SNS-9N-USA : board: SHVC-1A1M-11 - : region: NA : revision: 1.0 : name: Tin Star : title: Tin Star cartridge sha256:ba679a11264e9695895a6c17358a41e8459be06166d056811df9c2738fef3d0d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9458,13 +8805,12 @@ cartridge sha256:ba679a11264e9695895a6c17358a41e8459be06166d056811df9c2738fef3d0 :information : serial: SNS-TA-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Tiny Toon Adventures - Buster Busts Loose! : title: Tiny Toon Adventures: Buster Busts Loose! cartridge sha256:f753de4a38bd83f7d937fc7bf5565a3c351a794c113dead8fdee6d86c85633e8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9472,13 +8818,12 @@ cartridge sha256:f753de4a38bd83f7d937fc7bf5565a3c351a794c113dead8fdee6d86c85633e :information : serial: SNS-5Z-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Tiny Toon Adventures - Wacky Sports Challenge : title: Tiny Toon Adventures: Wacky Sports Challenge cartridge sha256:08d808e9c5851e4301a38a56b350a20ea9e3adbef51546e87e1785d691d0f2d5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9486,13 +8831,12 @@ cartridge sha256:08d808e9c5851e4301a38a56b350a20ea9e3adbef51546e87e1785d691d0f2d :information : serial: SNS-BX-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: TKO Super Championship Boxing : title: TKO Super Championship Boxing cartridge sha256:ced8c0bc2791ffe47cb9eec03db67567945af8c58b5330326722f1cfca41bf51 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -9502,13 +8846,12 @@ cartridge sha256:ced8c0bc2791ffe47cb9eec03db67567945af8c58b5330326722f1cfca41bf5 :information : serial: SNS-ATNE-USA : board: SHVC-2J3M-20 - : region: NA : revision: 1.0 : name: TNN Bass Tournament of Champions : title: TNN Bass Tournament of Champions cartridge sha256:4f500da19dbb1557a7bc0ce14437098c1402478d573fb569303b81c011f86fbf - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9516,13 +8859,12 @@ cartridge sha256:4f500da19dbb1557a7bc0ce14437098c1402478d573fb569303b81c011f86fb :information : serial: SNS-TJ-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Tom and Jerry : title: Tom and Jerry cartridge sha256:d99008d2181986dc7f65228696d940b5d31be8471f166d1ab9b1c14f1503bcfb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9530,13 +8872,12 @@ cartridge sha256:d99008d2181986dc7f65228696d940b5d31be8471f166d1ab9b1c14f1503bcf :information : serial: SNS-XS-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Tommy Moe's Winter Extreme - Skiing and Snowboarding : title: Tommy Moe's Winter Extreme: Skiing and Snowboarding cartridge sha256:e0fbf731550266d79a0b6ca460afd04c8c312f7023b2c9882c4fc3acc3e7932f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9544,13 +8885,12 @@ cartridge sha256:e0fbf731550266d79a0b6ca460afd04c8c312f7023b2c9882c4fc3acc3e7932 :information : serial: SNS-6K-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Tony Meola's Sidekicks Soccer : title: Tony Meola's Sidekicks Soccer cartridge sha256:ca9889f17f184b3d99a2eaaa82af73e366f03ed00313fdd369e5e023b208e788 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9558,13 +8898,12 @@ cartridge sha256:ca9889f17f184b3d99a2eaaa82af73e366f03ed00313fdd369e5e023b208e78 :information : serial: SNS-TR-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Top Gear : title: Top Gear cartridge sha256:76b2702c4be8b668c1017f2817c280283c275eaa41535bf6ffa2b8d2220b68c6 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9572,13 +8911,12 @@ cartridge sha256:76b2702c4be8b668c1017f2817c280283c275eaa41535bf6ffa2b8d2220b68c :information : serial: SNS-2P-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Top Gear 2 : title: Top Gear 2 cartridge sha256:ede60f0d283b6ea3a45308981d99e7c422a0296e5fadde51c6bafd4dcc789ca2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : necdsp model=uPD7725 frequency=8000000 @@ -9590,13 +8928,12 @@ cartridge sha256:ede60f0d283b6ea3a45308981d99e7c422a0296e5fadde51c6bafd4dcc789ca :information : serial: SNS-A3TE-USA : board: SHVC-1B0N-03 - : region: NA : revision: 1.0 : name: Top Gear 3000 : title: Top Gear 3000 cartridge sha256:9bf884be5627d38f060ad7f3a61ea1fea1474d416e1d037d33014ca9d5205c1d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9604,13 +8941,12 @@ cartridge sha256:9bf884be5627d38f060ad7f3a61ea1fea1474d416e1d037d33014ca9d5205c1 :information : serial: SNS-XC-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Total Carnage : title: Total Carnage cartridge sha256:345e795000e74f51704774edfc8049473461761a65eb47cab710caa29e09897b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -9618,13 +8954,12 @@ cartridge sha256:345e795000e74f51704774edfc8049473461761a65eb47cab710caa29e09897 :information : serial: SNS-AQHE-USA : board: SHVC-BJ0N-20 - : region: NA : revision: 1.0 : name: Toy Story : title: Toy Story cartridge sha256:7a6e5da46b026900fba4584a32ad40d940b9ecf9fccfb11f96a205a914014784 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9632,13 +8967,12 @@ cartridge sha256:7a6e5da46b026900fba4584a32ad40d940b9ecf9fccfb11f96a205a91401478 :information : serial: SNS-YT-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Toys - Let the Toy Wars Begin! : title: Toys: Let the Toy Wars Begin! cartridge sha256:4070a7702dc506a1ceb6f65b5c330b3a162df6f01735c8f206934fd47b810ed4 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9646,13 +8980,12 @@ cartridge sha256:4070a7702dc506a1ceb6f65b5c330b3a162df6f01735c8f206934fd47b810ed :information : serial: SNS-TX-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Troddlers : title: Troddlers cartridge sha256:46fcca4ce29f472afa8519958d256eec347c2dc2da154c95f263a051c5c02dbb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -9661,13 +8994,12 @@ cartridge sha256:46fcca4ce29f472afa8519958d256eec347c2dc2da154c95f263a051c5c02db :information : serial: SNS-YQ-USA : board: SHVC-2A3M-11 - : region: NA : revision: 1.0 : name: Troy Aikman Football : title: Troy Aikman Football cartridge sha256:dd96a8f4f9c8988301ff710a4c70ebe3bf7914901f3547abe1d5f0dd5c0b921b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -9676,13 +9008,12 @@ cartridge sha256:dd96a8f4f9c8988301ff710a4c70ebe3bf7914901f3547abe1d5f0dd5c0b921 :information : serial: SNS-W8-USA : board: SHVC-1A3M-10 - : region: NA : revision: 1.0 : name: True Golf - Wicked 18 : title: True Golf: Wicked 18 cartridge sha256:5c7b28bb24bad697156ad444ff23bd15ad6744dbf9899b3cccf2aa36d559d825 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -9691,13 +9022,12 @@ cartridge sha256:5c7b28bb24bad697156ad444ff23bd15ad6744dbf9899b3cccf2aa36d559d82 :information : serial: SNS-GB-USA : board: SHVC-1A3B-12 - : region: NA : revision: 1.0 : name: True Golf Classics - Pebble Beach Golf Links : title: True Golf Classics: Pebble Beach Golf Links cartridge sha256:72088194a65fc057f2910945a33d9f071682a4cecac8996f0bdabcdb5ef39962 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -9706,13 +9036,12 @@ cartridge sha256:72088194a65fc057f2910945a33d9f071682a4cecac8996f0bdabcdb5ef3996 :information : serial: SNS-TG-USA : board: SHVC-1A3B-11 - : region: NA : revision: 1.0 : name: True Golf Classics - Waialae Country Club : title: True Golf Classics: Waialae Country Club cartridge sha256:47dd8ea2d12a6bb2a9774de1d492259fc4fb9f8ec7976383bbfd922532671f6b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9720,13 +9049,12 @@ cartridge sha256:47dd8ea2d12a6bb2a9774de1d492259fc4fb9f8ec7976383bbfd922532671f6 :information : serial: SNS-ATLE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: True Lies : title: True Lies cartridge sha256:8f62d014f513a7dcbca5aa76cbe476c3e4526100f34913af831bc05dab029bd1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9734,13 +9062,12 @@ cartridge sha256:8f62d014f513a7dcbca5aa76cbe476c3e4526100f34913af831bc05dab029bd :information : serial: SNS-TE-USA : board: SHVC-2A0N-10 - : region: NA : revision: 1.0 : name: Tuff E Nuff : title: Tuff E Nuff cartridge sha256:e4343c0fadc00ffdc3dc31345068d751eea5d639f826731f08cb81673d508c40 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9748,13 +9075,12 @@ cartridge sha256:e4343c0fadc00ffdc3dc31345068d751eea5d639f826731f08cb81673d508c4 :information : serial: SNS-ZN-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Turn and Burn - No-Fly Zone : title: Turn and Burn: No-Fly Zone cartridge sha256:259c25d4613f97f5fa7992900fb583625d7fb912c7ae09fa9def2e682834dc9f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -9763,13 +9089,12 @@ cartridge sha256:259c25d4613f97f5fa7992900fb583625d7fb912c7ae09fa9def2e682834dc9 :information : serial: SNS-83-USA : board: SHVC-1A1M-11 - : region: NA : revision: 1.0 : name: Twisted Tales of Spike McFang, The : title: The Twisted Tales of Spike McFang cartridge sha256:094555d5720158ee60c9d5ab9a13110192db5ebf0f6cf69abbb59a00bc470345 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -9778,13 +9103,12 @@ cartridge sha256:094555d5720158ee60c9d5ab9a13110192db5ebf0f6cf69abbb59a00bc47034 :information : serial: SNS-7U-USA : board: SHVC-1A1M-11 - : region: NA : revision: 1.0 : name: Ultima - Runes of Virtue II : title: Ultima: Runes of Virtue II cartridge sha256:11659bd8dd620d50400d16042aeb2d0ddb00c7183fc1ecb95b1a34f07db0431b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -9793,13 +9117,12 @@ cartridge sha256:11659bd8dd620d50400d16042aeb2d0ddb00c7183fc1ecb95b1a34f07db0431 :information : serial: SNS-U6-USA : board: SHVC-1A3M-20 - : region: NA : revision: 1.0 : name: Ultima VI - The False Prophet : title: Ultima VI: The False Prophet cartridge sha256:a31af0e39afb55bbc92a5543b504327fbe7e8cd0a5e08626976bed7b65376737 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -9808,13 +9131,12 @@ cartridge sha256:a31af0e39afb55bbc92a5543b504327fbe7e8cd0a5e08626976bed7b6537673 :information : serial: SNS-7I-USA : board: SHVC-1A3M-21 - : region: NA : revision: 1.0 : name: Ultima VII - The Black Gate : title: Ultima VII: The Black Gate cartridge sha256:78bf82963cded9162e25035053c8b1a9f760748ff0beacc230d005204992737d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9822,13 +9144,12 @@ cartridge sha256:78bf82963cded9162e25035053c8b1a9f760748ff0beacc230d005204992737 :information : serial: SNS-HP-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: Ultimate Fighter : title: Ultimate Fighter cartridge sha256:cb2fdfce61858063bf4c9da4228381c3ec3abe423f4d378cddd174ae4adb261e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x400000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -9836,13 +9157,12 @@ cartridge sha256:cb2fdfce61858063bf4c9da4228381c3ec3abe423f4d378cddd174ae4adb261 :information : serial: SNS-A3ZE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Ultimate Mortal Kombat 3 : title: Ultimate Mortal Kombat 3 cartridge sha256:e9fae4c2e171a1fc4f2bd800abd9e42750aaf7a4db9e40c5b9142e15029500bd - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9850,13 +9170,12 @@ cartridge sha256:e9fae4c2e171a1fc4f2bd800abd9e42750aaf7a4db9e40c5b9142e15029500b :information : serial: SNS-UM-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: Ultraman - Towards the Future : title: Ultraman: Towards the Future cartridge sha256:0b155a54b6134601fc0791252a63ca73efd522667c3d6fd7a44f5b3c500039d7 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9864,13 +9183,12 @@ cartridge sha256:0b155a54b6134601fc0791252a63ca73efd522667c3d6fd7a44f5b3c500039d :information : serial: SNS-E8-USA : board: SHVC-1A0N-01 - : region: NA : revision: 1.0 : name: UN Squadron : title: U.N. Squadron cartridge sha256:794152fc6f55cb15a0b203fa645ac9fa314a293da999d8ec8b3dda080434d175 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -9879,13 +9197,12 @@ cartridge sha256:794152fc6f55cb15a0b203fa645ac9fa314a293da999d8ec8b3dda080434d17 :information : serial: SNS-QK-USA : board: SHVC-1A3B-13 - : region: NA : revision: 1.0 : name: Uncharted Waters : title: Uncharted Waters cartridge sha256:64bc4707f422661a66618088887e2363a5f896ea683c58984fffd96dd21ab5f0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -9895,13 +9212,12 @@ cartridge sha256:64bc4707f422661a66618088887e2363a5f896ea683c58984fffd96dd21ab5f :information : serial: SNS-QL-USA : board: SHVC-1J5M-11 - : region: NA : revision: 1.0 : name: Uncharted Waters - New Horizons : title: Uncharted Waters: New Horizons cartridge sha256:859ec99fdc25dd9b239d9085bf656e4f49c93a32faa5bb248da83efd68ebd478 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -9910,13 +9226,12 @@ cartridge sha256:859ec99fdc25dd9b239d9085bf656e4f49c93a32faa5bb248da83efd68ebd47 :information : serial: SNS-4L-USA : board: SHVC-1A3M-21 - : region: NA : revision: 1.0 : name: Uniracers : title: Uniracers cartridge sha256:ecefb4117a6aae117e033c8cc07f0db2797d6be93dd5cdcefc23692a21fae02e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9924,13 +9239,12 @@ cartridge sha256:ecefb4117a6aae117e033c8cc07f0db2797d6be93dd5cdcefc23692a21fae02 :information : serial: SNS-UC-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Untouchables, The : title: The Untouchables cartridge sha256:dcb33a89fcb8d8ca8f3a467034728ad6375273d8eb51a60418ca51ef745e9b38 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -9938,13 +9252,12 @@ cartridge sha256:dcb33a89fcb8d8ca8f3a467034728ad6375273d8eb51a60418ca51ef745e9b3 :information : serial: SNS-AUSE-USA : board: MJSC-1A0N-30 - : region: NA : revision: 1.0 : name: Urban Strike : title: Urban Strike cartridge sha256:2500d6c846c78bcb729f15535bf2b852a120411891cabaaaa6fc407906d0214e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -9953,13 +9266,12 @@ cartridge sha256:2500d6c846c78bcb729f15535bf2b852a120411891cabaaaa6fc407906d0214 :information : serial: SNS-UP-USA : board: SHVC-1A3M-10 - : region: NA : revision: 1.0 : name: Utopia - The Creation of a Nation : title: Utopia: The Creation of a Nation cartridge sha256:78bf9d79fb2ff3f9d03ecc1176d070e53ddaca2c6b0cda69e74c19a4e50b195b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -9968,13 +9280,12 @@ cartridge sha256:78bf9d79fb2ff3f9d03ecc1176d070e53ddaca2c6b0cda69e74c19a4e50b195 :information : serial: SNS-VS-USA : board: SHVC-1A1B-06 - : region: NA : revision: 1.0 : name: Vegas Stakes : title: Vegas Stakes cartridge sha256:41b5561de9e4984276e52987ea46c5f4fa8526d8141c70c738875a9eb9fe9d70 - :board cic=411 + :board region=ntsc : superfx : map address=00-3f,80-bf:3000-34ff : rom name=program.rom size=0x80000 @@ -9987,13 +9298,12 @@ cartridge sha256:41b5561de9e4984276e52987ea46c5f4fa8526d8141c70c738875a9eb9fe9d7 :information : serial: SNS-4V-USA : board: SHVC-1CA0N5S-01 - : region: NA : revision: 1.0 : name: Vortex : title: Vortex cartridge sha256:b0e74f0fe8d1e7fe2fe404341fea7c68e28f3a0ab78552d5092d413f2ecec417 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -10002,13 +9312,12 @@ cartridge sha256:b0e74f0fe8d1e7fe2fe404341fea7c68e28f3a0ab78552d5092d413f2ecec41 :information : serial: SNS-YS-USA : board: SHVC-1A3B-12 - : region: NA : revision: 1.0 : name: Wanderers from Ys III : title: Wanderers from Ys III cartridge sha256:82bba8ae2bb4dbc74a18af31aaec19c368576e4369dd70b396caa5e8729540bb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10016,13 +9325,12 @@ cartridge sha256:82bba8ae2bb4dbc74a18af31aaec19c368576e4369dd70b396caa5e8729540b :information : serial: SNS-A2AE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: War 2410 : title: War 2410 cartridge sha256:8b12e5e4553fc921c23739d1aec2ed517535ec239daef800f39f602d8473847f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10030,13 +9338,12 @@ cartridge sha256:8b12e5e4553fc921c23739d1aec2ed517535ec239daef800f39f602d8473847 :information : serial: SNS-AZNE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: War 3010 - The Revolution : title: War 3010: The Revolution cartridge sha256:be420715152394e0e4a25ab10931b67f92f910cfcf7793e31dfee1c6334808e5 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -10045,13 +9352,12 @@ cartridge sha256:be420715152394e0e4a25ab10931b67f92f910cfcf7793e31dfee1c6334808e :information : serial: SNS-65-USA : board: SHVC-1A3M-21 - : region: NA : revision: 1.0 : name: Wario's Woods : title: Wario's Woods cartridge sha256:8579dd352d20589072ed5c026bde7adadd6229d18a022e7cb47cf5602b54015e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10059,13 +9365,12 @@ cartridge sha256:8579dd352d20589072ed5c026bde7adadd6229d18a022e7cb47cf5602b54015 :information : serial: SNS-AWKE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Warlock : title: Warlock cartridge sha256:36ec2f409f08a08f8327570eadcd8960b6a47bf5797441c2df05fcc50c5b762b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10073,13 +9378,12 @@ cartridge sha256:36ec2f409f08a08f8327570eadcd8960b6a47bf5797441c2df05fcc50c5b762 :information : serial: SNS-WP-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Warp Speed : title: Warp Speed cartridge sha256:dd73690dd3165a16580e191c92a497102758f312c759353f685e371755c663a8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -10088,13 +9392,12 @@ cartridge sha256:dd73690dd3165a16580e191c92a497102758f312c759353f685e371755c663a :information : serial: SNS-AWZE-USA : board: SHVC-2A3M-20 - : region: NA : revision: 1.0 : name: Wayne Gretzky and the NHLPA All-Stars : title: Wayne Gretzky and the NHLPA All-Stars cartridge sha256:56ba3d585bf6b701e342d86a0bd164ab0a97dfbd5df46b3a964506842633459c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10102,13 +9405,12 @@ cartridge sha256:56ba3d585bf6b701e342d86a0bd164ab0a97dfbd5df46b3a964506842633459 :information : serial: SNS-WW-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Wayne's World : title: Wayne's World cartridge sha256:215ab7e576b31462e3284d035006dc638cae06bbfb1af2c5617403b15ab2b25a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10116,13 +9418,12 @@ cartridge sha256:215ab7e576b31462e3284d035006dc638cae06bbfb1af2c5617403b15ab2b25 :information : serial: SNS-AWRE-USA : board: SHVC-2A0N-11 - : region: NA : revision: 1.0 : name: WCW Super Brawl Wrestling : title: WCW Super Brawl Wrestling cartridge sha256:e931c3c08f20f78e3a43ad92d16eb472be619abaa17c2d8e2b0fcd5d05dbd74d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10130,13 +9431,12 @@ cartridge sha256:e931c3c08f20f78e3a43ad92d16eb472be619abaa17c2d8e2b0fcd5d05dbd74 :information : serial: SNS-6D-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: We're Back! - A Dinosaur's Story : title: We're Back!: A Dinosaur's Story cartridge sha256:0b1ba31ae95b61d7d9a0f5509b5836fff84f60915802e3b3ba1170a5c50a4b71 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -10144,13 +9444,12 @@ cartridge sha256:0b1ba31ae95b61d7d9a0f5509b5836fff84f60915802e3b3ba1170a5c50a4b7 :information : serial: SNS-AWDE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: WeaponLord : title: WeaponLord cartridge sha256:12abf1ba063c120c1a98495a1c85e67a0007aff771ef92adcb94b4a0a2fd5adb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10158,13 +9457,12 @@ cartridge sha256:12abf1ba063c120c1a98495a1c85e67a0007aff771ef92adcb94b4a0a2fd5ad :information : serial: SNS-WL-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Wheel of Fortune : title: Wheel of Fortune cartridge sha256:c7af9e7f3243ba1b5dd81f32f710e60c2ae1d443ecaf7140bf42d71a1b69d8a2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10172,13 +9470,12 @@ cartridge sha256:c7af9e7f3243ba1b5dd81f32f710e60c2ae1d443ecaf7140bf42d71a1b69d8a :information : serial: SNS-XF-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Wheel of Fortune - Deluxe Edition : title: Wheel of Fortune: Deluxe Edition cartridge sha256:1bd3af0125743bf9bbbac6e7dc215fe32c4ff7043a2ee034d56b627e3f6875f0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10186,13 +9483,12 @@ cartridge sha256:1bd3af0125743bf9bbbac6e7dc215fe32c4ff7043a2ee034d56b627e3f6875f :information : serial: SNS-WX-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Where in the World is Carmen Sandiego : title: Where in the World is Carmen Sandiego? cartridge sha256:e3177f066bf004fd99aef31f2692ba0b412dd280d613dc3f4cf334d97f4c9af8 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10200,13 +9496,12 @@ cartridge sha256:e3177f066bf004fd99aef31f2692ba0b412dd280d613dc3f4cf334d97f4c9af :information : serial: SNS-WN-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Where in Time is Carmen Sandiego : title: Where in Time is Carmen Sandiego? cartridge sha256:0a52dc1e7820f5541f53ce0e1e96144fe079af0efe3dae5c2c89d86365feb8b1 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10214,13 +9509,12 @@ cartridge sha256:0a52dc1e7820f5541f53ce0e1e96144fe079af0efe3dae5c2c89d86365feb8b :information : serial: SNS-AZWE-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Whizz : title: Whizz cartridge sha256:c8f159e2625ac8078535c06857ea28475706da45df494de8e46f50888272cf71 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10228,13 +9522,12 @@ cartridge sha256:c8f159e2625ac8078535c06857ea28475706da45df494de8e46f50888272cf7 :information : serial: SNS-4W-USA : board: SHVC-1A0N-30 - : region: NA : revision: 1.0 : name: Wild Guns : title: Wild Guns cartridge sha256:39bb99eddb224de5f0789f807ffef06b9efa2efb7962dced31fb272f986699cd - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10242,13 +9535,12 @@ cartridge sha256:39bb99eddb224de5f0789f807ffef06b9efa2efb7962dced31fb272f986699c :information : serial: SNS-AWSE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Wild Snake : title: Wild Snake cartridge sha256:60d01a3f499463156546ecdee18ee3e946b95302ee0b1569decb97f52372d2eb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10256,13 +9548,12 @@ cartridge sha256:60d01a3f499463156546ecdee18ee3e946b95302ee0b1569decb97f52372d2e :information : serial: SNS-AW8E-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: Williams Arcade's Greatest Hits : title: Williams Arcade's Greatest Hits cartridge sha256:2167fc7c5447b2287668d2f3e4ef1a285361b2292ecc8a4cbd9f966a460ad7a2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10270,13 +9561,12 @@ cartridge sha256:2167fc7c5447b2287668d2f3e4ef1a285361b2292ecc8a4cbd9f966a460ad7a :information : serial: SNS-WC-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Wing Commander : title: Wing Commander cartridge sha256:132ca0b6a4888edf7de785d48f4417fac28522646e6c7514f80c5e9ff1438d5f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10284,13 +9574,12 @@ cartridge sha256:132ca0b6a4888edf7de785d48f4417fac28522646e6c7514f80c5e9ff1438d5 :information : serial: SNS-2W-USA : board: SHVC-YA0N-01 - : region: NA : revision: 1.0 : name: Wing Commander - The Secret Missions : title: Wing Commander: The Secret Missions cartridge sha256:c3bcd5c716f96e6359ebcfd85c3e9b07b46c5124bf4010d89ceef5b6f2f868f6 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10298,13 +9587,12 @@ cartridge sha256:c3bcd5c716f96e6359ebcfd85c3e9b07b46c5124bf4010d89ceef5b6f2f868f :information : serial: SNS-WG-USA : board: SHVC-1A0N-02 - : region: NA : revision: 1.0 : name: Wings 2 - Aces High : title: Wings 2: Aces High cartridge sha256:0e834647669783c2b79cc1120c057c870c541079a7abd1eee3f787d59dc3c3eb - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -10312,13 +9600,12 @@ cartridge sha256:0e834647669783c2b79cc1120c057c870c541079a7abd1eee3f787d59dc3c3e :information : serial: SNS-W4-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Winter Olympic Games - Lillehammer '94 : title: Winter Olympic Games: Lillehammer '94 cartridge sha256:025dd3047c474d879e69b91a3918add9cdabedf4182e1c1e10e5f0c13a124bf9 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10326,13 +9613,12 @@ cartridge sha256:025dd3047c474d879e69b91a3918add9cdabedf4182e1c1e10e5f0c13a124bf :information : serial: SNS-W6-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Wizard of Oz, The : title: The Wizard of Oz cartridge sha256:bc68f40075f9983f5027fe264c3037d1a831e8e76a6c9adb60d10226f6ef005b - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -10341,13 +9627,12 @@ cartridge sha256:bc68f40075f9983f5027fe264c3037d1a831e8e76a6c9adb60d10226f6ef005 :information : serial: SNS-W5-USA : board: SHVC-1A3M-20 - : region: NA : revision: 1.0 : name: Wizardry V - Heart of the Maelstrom : title: Wizardry V: Heart of the Maelstrom cartridge sha256:e0165bafeb8d65be08a5a4079f8651104471f450c60794b761b1255853ca2d98 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10355,13 +9640,12 @@ cartridge sha256:e0165bafeb8d65be08a5a4079f8651104471f450c60794b761b1255853ca2d9 :information : serial: SNS-WH-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Wolf Child : title: Wolf Child cartridge sha256:9c2b458e8fda5cb437a4c6d28fb430e45c4cfef98420c40546b8e08563a4fc7d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -10369,13 +9653,12 @@ cartridge sha256:9c2b458e8fda5cb437a4c6d28fb430e45c4cfef98420c40546b8e08563a4fc7 :information : serial: SNS-6W-USA : board: SHVC-1J0N-10 - : region: NA : revision: 1.0 : name: Wolfenstein 3D : title: Wolfenstein 3D cartridge sha256:44428a3d1c796fbd41da7620e321c45f11cd80a0e5f4ab8c48177106cb960d77 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10383,13 +9666,12 @@ cartridge sha256:44428a3d1c796fbd41da7620e321c45f11cd80a0e5f4ab8c48177106cb960d7 :information : serial: SNS-AWXE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Wolverine - Adamantium Rage : title: Wolverine: Adamantium Rage cartridge sha256:82e2b636e66c4edbae27a5be91a61194ef2881ec93f40d1de93a6153617b12f2 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10397,13 +9679,12 @@ cartridge sha256:82e2b636e66c4edbae27a5be91a61194ef2881ec93f40d1de93a6153617b12f :information : serial: SNS-WT-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: Wordtris : title: Wordtris cartridge sha256:86e9d76a8834732e511253d8092727bdbfb409b3d0ff1c06b6b6e481c9a039ef - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x180000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -10413,13 +9694,12 @@ cartridge sha256:86e9d76a8834732e511253d8092727bdbfb409b3d0ff1c06b6b6e481c9a039e :information : serial: SNS-U4-USA : board: SHVC-2J3M-11 - : region: NA : revision: 1.0 : name: World Cup USA '94 : title: World Cup USA '94 cartridge sha256:ea76cfdbb2a555a7b6eff8b466a879f9a9189639416e8c2fb45bf074e695105f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -10427,13 +9707,12 @@ cartridge sha256:ea76cfdbb2a555a7b6eff8b466a879f9a9189639416e8c2fb45bf074e695105 :information : serial: SNS-WZ-USA : board: SHVC-2J0N-10 - : region: NA : revision: 1.0 : name: World Heroes : title: World Heroes cartridge sha256:159d5341d13d6801324e8271f7191c0223617c9d30984676319b2df7937c78c0 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10441,13 +9720,12 @@ cartridge sha256:159d5341d13d6801324e8271f7191c0223617c9d30984676319b2df7937c78c :information : serial: SNS-JI-USA : board: SHVC-BA0N-01 - : region: NA : revision: 1.0 : name: World Heroes 2 : title: World Heroes 2 cartridge sha256:d4d9f1b41dad7e7a126a9adbe8d86c4b339e120c866156796de1cb0c9a214189 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x800 @@ -10456,13 +9734,12 @@ cartridge sha256:d4d9f1b41dad7e7a126a9adbe8d86c4b339e120c866156796de1cb0c9a21418 :information : serial: SNS-WS-USA : board: SHVC-1A1B-05 - : region: NA : revision: 1.0 : name: World League Soccer : title: World League Soccer cartridge sha256:2143bbd87ea1c5cfe5eaf46ae39e3ebb11a2e929d05cbb929904037f4d72acfe - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10470,13 +9747,12 @@ cartridge sha256:2143bbd87ea1c5cfe5eaf46ae39e3ebb11a2e929d05cbb929904037f4d72acf :information : serial: SNS-WO-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: World Soccer '94 - Road to Glory : title: World Soccer '94: Road to Glory cartridge sha256:0af7b0d3022acd24a1fb15865a076519f7f56e7a4b33f12b6d851b3a91e5388c - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -10484,13 +9760,12 @@ cartridge sha256:0af7b0d3022acd24a1fb15865a076519f7f56e7a4b33f12b6d851b3a91e5388 :information : serial: SNS-AWFE-USA : board: SHVC-BJ0N-01 - : region: NA : revision: 1.0 : name: WWF Raw : title: WWF Raw cartridge sha256:51c53e36ed0b959b0695fc6ef036fa7302d1c995eca35c28261d6f3cb77df0ca - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10498,13 +9773,12 @@ cartridge sha256:51c53e36ed0b959b0695fc6ef036fa7302d1c995eca35c28261d6f3cb77df0c :information : serial: SNS-WU-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: WWF Royal Rumble : title: WWF Royal Rumble cartridge sha256:0b9abf2fc25a5f07c71f9d8efbb0d0e616c1494060138fbb63f7398e9c26198e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10512,13 +9786,12 @@ cartridge sha256:0b9abf2fc25a5f07c71f9d8efbb0d0e616c1494060138fbb63f7398e9c26198 :information : serial: SNS-WF-USA : board: MAXI-1A0N-30 - : region: NA : revision: 1.0 : name: WWF Super Wrestlemania : title: WWF Super Wrestlemania cartridge sha256:67faa6ed3406a5ab0d7224b811c0960bb36560040ee959bb3304c9293ceaa093 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x300000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -10526,13 +9799,12 @@ cartridge sha256:67faa6ed3406a5ab0d7224b811c0960bb36560040ee959bb3304c9293ceaa09 :information : serial: SNS-AWVE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: WWF Wrestlemania - The Arcade Game : title: WWF Wrestlemania: The Arcade Game cartridge sha256:dc3792e9fe7ef7aaea4ac675a48ad06129dd3ebdd4b96a513bc8241549cbd579 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10540,13 +9812,12 @@ cartridge sha256:dc3792e9fe7ef7aaea4ac675a48ad06129dd3ebdd4b96a513bc8241549cbd57 :information : serial: SNS-X7-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: X-Kaliber 2097 : title: X-Kaliber 2097 cartridge sha256:65fe17fd6b297f52df6ce9812ecb02c3bb1bfda3ebc05a19c4a8decbf9a446ae - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -10554,13 +9825,12 @@ cartridge sha256:65fe17fd6b297f52df6ce9812ecb02c3bb1bfda3ebc05a19c4a8decbf9a446a :information : serial: SNS-AXME-USA : board: MAXI-1J0N-20 - : region: NA : revision: 1.0 : name: X-Men - Mutant Apocalypse : title: X-Men: Mutant Apocalypse cartridge sha256:93272180090e8418582f69b79c5cee6b28638b9a93192cc4bcd96291a4fca02d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10568,13 +9838,12 @@ cartridge sha256:93272180090e8418582f69b79c5cee6b28638b9a93192cc4bcd96291a4fca02 :information : serial: SNS-XZ-USA : board: SHVC-1A0N-10 - : region: NA : revision: 1.0 : name: X-Zone : title: X-Zone cartridge sha256:71b69490c78d0bbaf47da25217c5dae295190311aa5df75653c3fac0a1b45358 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-1f,80-9f:8000-ffff mask=0x8000 : ram name=save.ram size=0x2000 @@ -10583,13 +9852,12 @@ cartridge sha256:71b69490c78d0bbaf47da25217c5dae295190311aa5df75653c3fac0a1b4535 :information : serial: SNS-XA-USA : board: SHVC-1A3B-12 - : region: NA : revision: 1.0 : name: Xardion : title: Xardion cartridge sha256:90ad69a489194aca7ef7b7fd1d30e0105da4934a81ac8b0333ea20f9248df92d - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10597,13 +9865,12 @@ cartridge sha256:90ad69a489194aca7ef7b7fd1d30e0105da4934a81ac8b0333ea20f9248df92 :information : serial: SNS-YC-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Yoshi's Cookie : title: Yoshi's Cookie cartridge sha256:12fba2aff04c8e39968e828629ebd16caa314bca397a9418d35fdaffe8188e20 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10611,13 +9878,12 @@ cartridge sha256:12fba2aff04c8e39968e828629ebd16caa314bca397a9418d35fdaffe8188e2 :information : serial: SNS-RH-USA : board: SHVC-YA0N-01 - : region: NA : revision: 1.0 : name: Yoshi's Safari : title: Yoshi's Safari cartridge sha256:fbe8926fc0149d3e8e2aec20f15640ea6814f4f4b01c3960f3c477f5f17e890f - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10625,13 +9891,12 @@ cartridge sha256:fbe8926fc0149d3e8e2aec20f15640ea6814f4f4b01c3960f3c477f5f17e890 :information : serial: SNS-Y6-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Young Merlin : title: Young Merlin cartridge sha256:7d414b7f5941f1eddc35259a22accbbbd7b47c517dfcf8bad86c4dcfa9e50b1e - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x200000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10639,13 +9904,12 @@ cartridge sha256:7d414b7f5941f1eddc35259a22accbbbd7b47c517dfcf8bad86c4dcfa9e50b1 :information : serial: SNS-AZKE-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Zero the Kamikaze Squirrel : title: Zero the Kamikaze Squirrel cartridge sha256:b27e2e957fa760f4f483e2af30e03062034a6c0066984f2e284cc2cb430b2059 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10653,13 +9917,12 @@ cartridge sha256:b27e2e957fa760f4f483e2af30e03062034a6c0066984f2e284cc2cb430b205 :information : serial: SNS-ZA-USA : board: SHVC-YA0N-01 - : region: NA : revision: 1.0 : name: Zombies Ate My Neighbors : title: Zombies Ate My Neighbors cartridge sha256:25414de02c6805ca62574cfb39c23bf292b3d8c4ff33eb8f212ccdbcd61c5ae3 - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x100000 : map address=00-7d,80-ff:8000-ffff mask=0x8000 : map address=40-7d,c0-ff:0000-7fff mask=0x8000 @@ -10667,13 +9930,12 @@ cartridge sha256:25414de02c6805ca62574cfb39c23bf292b3d8c4ff33eb8f212ccdbcd61c5ae :information : serial: SNS-Z8-USA : board: SHVC-1A0N-20 - : region: NA : revision: 1.0 : name: Zool - Ninja of the 'Nth' Dimension : title: Zool: Ninja of the "Nth" Dimension cartridge sha256:a3f1abf2740ff64042d82f7a940fb4269ece57d7c6967571549d8b60b20f305a - :board cic=411 + :board region=ntsc : rom name=program.rom size=0x80000 : map address=00-3f,80-bf:8000-ffff : map address=40-7d,c0-ff:0000-ffff @@ -10681,7 +9943,6 @@ cartridge sha256:a3f1abf2740ff64042d82f7a940fb4269ece57d7c6967571549d8b60b20f305 :information : serial: SNS-AZPE-USA : board: SHVC-1J0N-20 - : region: NA : revision: 1.0 : name: Zoop : title: Zoop diff --git a/icarus/heuristics/super-famicom.hpp b/icarus/heuristics/super-famicom.hpp index df22a961..ee466bdb 100644 --- a/icarus/heuristics/super-famicom.hpp +++ b/icarus/heuristics/super-famicom.hpp @@ -100,7 +100,7 @@ SuperFamicomCartridge::SuperFamicomCartridge(const uint8* data, uint size, bool if(type == Type::SufamiTurbo) return; const char* range = (rom_size > 0x200000) || (ram_size > 32 * 1024) ? "0000-7fff" : "0000-ffff"; - markup.append("board cic=", region == Region::NTSC ? "411" : "413", "\n"); + markup.append("board region=", region == Region::NTSC ? "ntsc" : "pal", "\n"); //detect appended firmware diff --git a/libco/doc/style.css b/libco/doc/style.css new file mode 100644 index 00000000..5181afde --- /dev/null +++ b/libco/doc/style.css @@ -0,0 +1,8 @@ +body { + background: #333; + color: #fff; +} + +code { + background: #444; +} diff --git a/libco/doc/targets.html b/libco/doc/targets.html new file mode 100644 index 00000000..d6211a15 --- /dev/null +++ b/libco/doc/targets.html @@ -0,0 +1,89 @@ + + + + + + + +Supported targets:

+ +Note that supported targets are only those that have been tested and confirmed +working. It is quite possible that libco will work on more processors, compilers +and operating systems than those listed below. +
+ +libco.x86
+Overhead: ~5x
+Supported processor(s): 32-bit x86
+Supported compiler(s): any
+Supported operating system(s):
    +
  • Windows
  • +
  • Mac OS X
  • +
  • Linux
  • +
  • BSD
  • +
+
+ +libco.amd64
+Overhead: ~10x (Windows), ~6x (all other platforms)
+Supported processor(s): 64-bit amd64
+Supported compiler(s): any
+Supported operating system(s):
    +
  • Windows
  • +
  • Mac OS X
  • +
  • Linux
  • +
  • BSD
  • +
+
+ +libco.ppc
+Overhead: ~20x
+Supported processor(s): 32-bit PowerPC, 64-bit PowerPC
+Supported compiler(s): GNU GCC
+Supported operating system(s):
    +
+
  • Mac OS X
  • +
  • Linux
  • +
  • BSD
  • +
  • Playstation 3
  • + +
    + +Note: this module contains compiler flags to enable/disable FPU and Altivec +support. + +
    + +libco.fiber
    +Overhead: ~15x
    +Supported processor(s): Processor independent
    +Supported compiler(s): any
    +Supported operating system(s):
      +
    • Windows
    • +
    +
    + +libco.sjlj
    +Overhead: ~30x
    +Supported processor(s): Processor independent
    +Supported compiler(s): any
    +Supported operating system(s):
      +
    • Mac OS X
    • +
    • Linux
    • +
    • BSD
    • +
    • Solaris
    • +
    +
    + +libco.ucontext
    +Overhead: ~300x
    +Supported processor(s): Processor independent
    +Supported compiler(s): any
    +Supported operating system(s):
      +
    • Linux
    • +
    • BSD
    • +
    +
    + + + diff --git a/libco/doc/usage.html b/libco/doc/usage.html new file mode 100644 index 00000000..3f0d81cc --- /dev/null +++ b/libco/doc/usage.html @@ -0,0 +1,107 @@ + + + + + + + +License:

    +libco is released to the public domain. +
    + +Contact:

    +At present, you may contact me at setsunakun0 at hotmail dot com.
    +I am interested in knowing of any projects that make use of this library, +though this is only a courtesy. +
    + +Foreword:

    +libco is a cross-platform, public domain implementation of +cooperative-multithreading; a feature that is sorely lacking +from the ISO C/C++ standard.
    +The library is designed for maximum speed and portability, and +not for safety or features. If safety or extra functionality is desired, +a wrapper API can easily be written to encapsulate all library functions.
    +Behavior of executing operations that are listed as not permitted +below result in undefined behavior. They may work anyway, they +may cause undesired / unknown behavior, or they may crash the +program entirely.
    +The goal of this library was to simplify the base API as much as possible, +implementing only that which cannot be implemented using pure C. Additional +functionality after this would only complicate ports of this library to new +platforms. +
    + +Porting:

    +This document is included as a reference for porting libco. Please submit any +ports you create to me, so that libco can become more useful. Please note that +since libco is public domain, you must submit your code as a work of the +public domain in order for it to be included in the official distribution. +Full credit will be given in the source code of the official release. Please +do not bother submitting code to me under any other license -- including GPL, +LGPL, BSD or CC -- I am not interested in creating a library with multiple +different licenses depending on which targets are used. +
    + +Synopsis:

    + +typedef void* cothread_t;
    +
    +cothread_t co_active();
    +cothread_t co_create(unsigned int heapsize, void (*coentry)(void));
    +void       co_delete(cothread_t cothread);
    +void       co_switch(cothread_t cothread);
    +
    +
    + +Usage: +
    + +typedef void* cothread_t;

    +Handle to cothread.
    +Handle must be of type void*.
    +A value of null (0) indicates an uninitialized or invalid +handle, whereas a non-zero value indicates a valid handle. +
    + +cothread_t co_active();

    +Return handle to current cothread. Always returns a valid handle, even when +called from the main program thread. +
    + +cothread_t co_create(unsigned int heapsize, void (*coentry)(void));

    +Create new cothread.
    +Heapsize is the amount of memory allocated for the cothread stack, specified +in bytes. This is unfortunately impossible to make fully portable. It is +recommended to specify sizes using `n * sizeof(void*)'. It is better to err +on the side of caution and allocate more memory than will be needed to ensure +compatibility with other platforms, within reason. A typical heapsize for a +32-bit architecture is ~1MB.
    +When the new cothread is first called, program execution jumps to coentry. +This function does not take any arguments, due to portability issues with +passing function arguments. However, arguments can be simulated by the use +of global variables, which can be set before the first call to each cothread.
    +coentry() must not return, and should end with an appropriate co_switch() +statement. Behavior is undefined if entry point returns normally.
    +Library is responsible for allocating cothread stack memory, to free +the user from needing to allocate special memory capable of being used +as program stack memory on platforms where this is required.
    +User is always responsible for deleting cothreads with co_delete().
    +Return value of null (0) indicates cothread creation failed. +
    + +void co_delete(cothread_t cothread);

    +Delete specified cothread.
    +Null (0) or invalid cothread handle is not allowed.
    +Passing handle of active cothread to this function is not allowed.
    +Passing handle of primary cothread is not allowed. +
    + +void co_switch(cothread_t cothread);

    +Switch to specified cothread.
    +Null (0) or invalid cothread handle is not allowed.
    +Passing handle of active cothread to this function is not allowed. +
    + + + diff --git a/nall/GNUmakefile b/nall/GNUmakefile index a98e24a5..c3271131 100644 --- a/nall/GNUmakefile +++ b/nall/GNUmakefile @@ -94,7 +94,7 @@ endif ifeq ($(threaded),true) ifneq ($(filter $(platform),linux bsd),) flags += -pthread - link += -lrt + link += -pthread -lrt endif endif diff --git a/nall/platform.hpp b/nall/platform.hpp index 546b5d48..fe48bccf 100644 --- a/nall/platform.hpp +++ b/nall/platform.hpp @@ -98,10 +98,17 @@ namespace Math { #define dllexport #endif +#if defined(PLATFORM_MACOSX) + #define MSG_NOSIGNAL 0 +#endif + #if defined(COMPILER_CLANG) || defined(COMPILER_GCC) #define neverinline __attribute__((noinline)) #define alwaysinline inline __attribute__((always_inline)) + #if !defined(PLATFORM_MACOSX) + //todo: we want this prefix; but it causes compilation errors #define deprecated __attribute__((deprecated)) + #endif #elif defined(COMPILER_VISUALCPP) #define neverinline __declspec(noinline) #define alwaysinline inline __forceinline diff --git a/nall/run.hpp b/nall/run.hpp index d5f4e392..51d8e138 100644 --- a/nall/run.hpp +++ b/nall/run.hpp @@ -33,6 +33,7 @@ template inline auto execute(const string& name, P&&... p) -> str *argp++ = nullptr; dup2(fd[1], STDOUT_FILENO); + dup2(fd[1], STDERR_FILENO); close(fd[0]); close(fd[1]); execvp(name, (char* const*)argv); @@ -117,8 +118,8 @@ template inline auto execute(const string& name, P&&... p) -> str while(true) { DWORD exitCode; GetExitCodeProcess(pi.hProcess, &exitCode); - if(exitCode != STILL_ACTIVE) break; Sleep(1); + if(exitCode != STILL_ACTIVE) break; } string result; diff --git a/nall/string/format.hpp b/nall/string/format.hpp index f44c1336..4c3ab21d 100644 --- a/nall/string/format.hpp +++ b/nall/string/format.hpp @@ -79,7 +79,7 @@ auto integer(intmax value, long precision, char padchar) -> string { char* p = buffer.get(); bool negative = value < 0; - value = abs(value); + if(negative) value = -value; //make positive uint size = 0; do { p[size++] = '0' + (value % 10);