Pointers for ZX Spectrum Next emulation on RetroPie?
-
Hi all,
As an original ZX Spectrum fan I've always been curious about the ZX Spectrum Next, but emulation and information is still hit and miss. I read about CSpect, but there's little information about it. There's also ZesarUX that's available on RetroPie, and seems to be the way to go in this case.
That being said, there's very little information on how to really get it going to emulate ZX Spectrum Next games. I can kind of boot it to the Next OS, but then I fail to get it to load a game.
Games for the Next seem to consist of more than one file - a main file, and then a folder with assets. It seems they're meant to be copied to (individual?) SD cards, so potentially the best layout for them on RetroPie is to have a game per folder.
In my specific case, I was trying to run the Next version of this awesome free game Aliens Neoplasma . If you haven't played the original ZX Spectrum version, available in that same link, you're missing out. But as much as I try, I can't find any documentation or guidance here, so I'm asking if anyone has any pointers on what to do/what to read.
If not, I'll just go on my way and try to break things apart until they run, but I was hoping there'd be an easier way :)
Hope everyone is doing well.
-
@pjft
It looks like ZesarUX should support .nex
https://github.com/chernandezba/zesarux#readme
https://wiki.specnext.dev/File_FormatsWhat happens if you dump (after uncompress) this in the roms folder ?
https://manuferhi.itch.io/bomb-jack-zx-spectrum-next-n-goAliens Neoplasma also seems to come in this format.
-
Thanks @Floob for the reply. Well, it's... Weird. Running the .nex straight from ES doesn't work - the emulator boots to a standard screen. It probably needs to be configured to run in Next mode, but I couldn't get anything to quite stick.
Getting it to boot the Next OS requires a handful of manual steps, but I wasn't able to launch the hands from there either. I'll probably spend part of the weekend looking into it.
-
@pjft Not sure if this helps, but maybe it'll run from a command line
https://github.com/chernandezba/zesarux/blob/main/src/FAQ./zesarux --noconfigfile --zoom 1 --machine tbblue --realvideo --enabletimexvideo --tbblue-fast-boot-mode --enable-esxdos-handler --esxdos-root-dir /Users/cesarhernandez/Downloads/Warhawk/ /Users/cesarhernandez/Downloads/Warhawk/Warhawk.nex
-
@Floob It might certainly help - thank you! I'll give it a shot in the weekend and report back. :)
Thanks for looking into this. Also, great to see you around! Hope you're doing well.
-
@Floob Just to update, this did indeed seem to do the trick - thank you! I now have enough to explore getting this sorted straight from ES via runcommand :)
I'll let you know how it goes, and if I get something solid running I'll share here.
Thanks once again!
-
So, just to update this thread for now, I managed to get it to run, but the emulation is slow - it's mostly 20-25fps. There's a recommendation in the FAQ to use the Spectrum "reduced" ROM if we need to improve performance, but at least on this game it results in graphic glitches, so I think that for now this is where I pause my attempts at Next emulation on the Pi for today :)
I'll probably drop a line to the developer and ask if it'd be expectable to have better performance on the Pi, but it's likely not.
Thanks all!
-
Update: going to Settings > CPU > setting Turbo to 1x makes it run at the intended speed, which is awesome!
Trying to find the command-line option to get that running. Will update thread for future reference.
-
Here are some flags including cpu/turbo related ones:
https://mega.nz/file/jMIQyQhD#hIlegqrwFzWbrBWcKdINte9gDsEJF19IKjeDSb8Usf0--cpuspeed n Set CPU speed in percentage
--denyturbozxunoboot Deny setting turbo mode on ZX-Uno boot
--denyturbotbbluerom Limit setting turbo mode on TBBlue ROM (default setting denied)
--allowturbotbbluerom Do not limit setting turbo mode on TBBlue ROM
--tbblue-max-turbo-rom n Max allowed turbo speed mode on TBBlue ROM when enabling --denyturbotbbluerom (default value: 2)
-
@Floob said in Pointers for ZX Spectrum Next emulation on RetroPie?:
--denyturbozxunoboot
--denyturbotbblueromThank you.
These two seem to be what we're looking for, but alas no luck. Setting tbbblue-max-turbo-rom 1 also doesn't do what I expected.
I dropped an email to the developer, he was responsive and overall happy to help. I'll see if I'm misreading something in the instructions, or potentially if there are any conflicting options I'm using here. :)
Have a great Saturday, I'll keep you posted on what I run into!
-
Just to make a final update here for now. The emulator developer replied to me quite promptly, and with a lot of detail :)
It seems that those options relate to the actual ROM of the Next OS, but don't constrain the ability for the games to change the turbo setting. That means that, for now, the way to go is really to load the ROM and then go to the menu and set the turbo back to 1x - though, if the game is setting it to 8x, it might be because it needs it at some point, meaning that performance might suffer.
For now it works and the game is playable, which is cool. He also stated that the ALSA audio driver on the Pi isn't great, and recommended changing to SDL, which I had also tried myself. He also recommended a flag (on the Pi4) to remove some performance constraints designed for older Pis.
For anyone's future reference, then, the command-line being used is:
/opt/retropie/emulators/zesarux/bin/zesarux --noconfigfile --zoom 1 --machine tbblue --realvideo --enabletimexvideo --tbblue-fast-boot-mode --enable-esxdos-handler --nochangeslowparameters --ao sdl --esxdos-root-dir /home/pi/RetroPie/roms/zxspectrum/ /home/pi/RetroPie/roms/zxspectrum/<ROM NAME>
Hope this helps someone in the future. Thank you @Floob for helping chase this down as well to this point.
-
@pjft This seems potentially very exciting news. I had a fiddle around with the Next a few months ago but got terrible framerates except by running it in a Raspbian environment outside of Retropie. If it could be made to run as an ES system that would be awesome.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.