It works ! I ran level 1 of Lemmings ![]()
But Fantastic Dizzy doesn’t work (it loads tho). No surprise here, it’s a CodeMasters game, it has a weird mapper if I remember correctly (I made that mapper for the SMS MiSTer core, so I know LoL)
It works ! I ran level 1 of Lemmings ![]()
But Fantastic Dizzy doesn’t work (it loads tho). No surprise here, it’s a CodeMasters game, it has a weird mapper if I remember correctly (I made that mapper for the SMS MiSTer core, so I know LoL)
the games that need codemasters mapper are checked against by their CRC, and right now there isn’t a function to calculate that. the emulator already supports the mapper, i just need to make it recognize it. soon!
This is great! I’ve tried some SMS, GG, and SG-1000 games and everything I’ve tried has worked so far except Ecco the Dolphin on GG. I’m guessing it’s because it’s rather large. Even though it hangs at a pink/purple screen ESC brings back the menu and other games continue to work.
Congrats on figuring out how to get past the uf2loader issues! I’ve cycled through a bunch of games and wasn’t able to break it, and I was able to successfuly switch to other firmware and back again without any issues.
Only other thing I noticed was that the colors in the SG-1000 games seem to be a bit off. Galaga, in particular was very dark, but all the colors for that system seem off. It might just be the state of emulation for it in the version of the emulator you ported. SMS and Gamegear look and sound fine though. I’m amazed at how fast it’s running on a Pico2W!
i only tried one SG-1000 game (Hang-On II) so i couldn’t tell for that system but i thought some SMS colours looked a bit dark too
making a colour LUT is trivial, so i can add some colour correction in the future :]
thank you all for trying it!
i’ve been poking at the emulator more, improved the file picker, some drawing performance, auto frameskip and added a ui status bar for messages (i.e. save states, which are also planned) and battery meter. i’m hoping to make a new release in the next few days :]
it does now! i pulled in a simple CRC32 function and it correctly identifies (as far as i’ve tested) dizzy and micro machines, which already have entries in a table to pick the correct mapper :]
the size shouldn’t be an issue, ristar and ecco: tides of time (both for game gear) work just fine and all three are 512kB (the maximum size for a ROM), though i can confirm the pink screen on the first GG ecco the dolphin. i suppose this is an incompatibility of the original emulator itself, in which case i don’t expect to be able to fix since low-level emulation stuff is still quite beyond me
Nice job !
Ernie Els Golf (gg) has problems too (another weird mapper) and Sangokushi3 (korean mapper)
Another problem more of your side : if the SD card is unmounted, then remounted, all the files are gone. Needs a reboot to recover from this bug.
not so much a bug as it is that i don’t have a remount handler, since it can’t be done in an IRQ… the Lua firmware handles this by running the remount check in a main loop, but that only works because core0 doesn’t do anything else there. in this firmware, the main loop stops to wait for keyboard at the menu, so i don’t have (yet) a good place to put the mount command at will
tl;dr: known, needs a code restructure to fix
as for additional mappers, i can look into adding support, that shouldn’t be as difficult
Ha ha ! LodeRunner (from MSX) works once the .sg file is renamed .sms !
That is awesome ![]()
weird! the things i (or the emulator, AFAIK) do with filenames are:
.sg, .gg or .sms.gg set the machine type to game gearthere isn’t a SG-1000 machine type in the emulator (there is no distinction between the SG-1000 and the Master System other than different VDP video modes) and i can’t find any difference between loading a .sg and a .sms, so i’m not sure why that happened!
Ha yes ok, my bad. The file doesn’t need to be renamed, it works as intended as a .sg file.
Fantastic !
i’m taking a couple of days off not to burn out on this project, but main already has some great improvements over the last released binary: GitHub - Lana-chan/picocalc-smsplus: SMS Plus port for the PicoCalc
namely, on pico2 now i’m using a full framebuffer in order to better (or really, at all) utilize multi-threading to put the graphics on the screen. this made most SMS games play at full 60fps without frameskipping, GG games still need an every-other-frame skip if pixel doubling is enabled
i mentioned earlier in this thread that Fantastic Dizzy was now working, unfortunately i never actually tried it, i just saw it booting to the main menu. Dizzy does weird stuff to the VDP and crashes if there is any frameskipping at all, and worse, it writes to CRAM multiple times a frame to change the palette in the middle of a frame, which i don’t currently support with the new drawing method. so unfortunately unless i come up with some miracle fixes, Dizzy doesn’t work. other codemaster games which only need mapper support but don’t abuse the VDP, like Micro Machines play fine.
also, there are now save states :] CTRL-number saves a slot, number without CTRL loads a slot. the interface is primitive and is the next thing i’m tackling to improve, but at least the functionality is there
oh, and FM sound works great on a pico 2, you just don’t have a menu to enable it during runtime it yet. Wonder Boy III The Dragon’s Trap is a game i recommend everybody play at least once ;]
Great news, I am trying that asap.
And yes, the exotic mappers of the SMS are PITA.