Author Topic: Regarding ZX Spectrum emulation.  (Read 3686 times)

Offline Neville

  • Sr. Member
  • ****
  • Posts: 410
  • Karma: +6/-2
Regarding ZX Spectrum emulation.
« on: May 30, 2020, 09:19:37 AM »
First of all, let me say that I have been following FB Neo for years and that I love it. And one of the reasons I like it so much is the wide set of platforms it emulates. I've seen FB Neo evolve from an arcade-only emulator to support many 8 and 16 bit consoles from the golden era, plus also some 8 computers.

However, I do have an issue with the way ZX Spectrum emulation is set up. The emulation itself seems good enough, but I do object to the way the drivers have been created to use Z80 snapshot files, rather than TZX, TAP (tape images) or DSK (Plus 3 disk images). Last time I gave Spectrum emulation a shot I was appalled at how many games stopped working after a few seconds or didn't show their loading screens. I also have doubts many multi-load games will work once it's time to advance to the next stage.

So, I'm asking, is a re-write of the Spectrum emulation planned for the near future?

Offline dink

  • Administrator
  • *****
  • Posts: 5010
  • Karma: +449/-1
  • pie? I nearly bought one!
Re: Regarding ZX Spectrum emulation.
« Reply #1 on: May 30, 2020, 10:11:09 AM »
Sorry Neville, I don't have a good answer for you.  At one point we were going to just remove the spectrum emulation, until we learned that several people actually use and enjoy it.  Everything about this spectrum driver is flawed, but, nobody seems interested in working on it.

best regards,
- dink

Offline Neville

  • Sr. Member
  • ****
  • Posts: 410
  • Karma: +6/-2
Re: Regarding ZX Spectrum emulation.
« Reply #2 on: May 30, 2020, 10:19:09 AM »
I'm sorry to hear that, because I'd say most of the problems come from using the wrong file format (Z80). If the emulation is halfway decent, using proper tape or disk images should solve most of its issues.

For instance, I just tried two of my favourite Spectrum games, Batman (isometric adventure) and Out Run. Batman hangs when it's about to start the game, and Out Run uses a Z80 that's only 32 Kb. in size for a 128K multi-load game. Obviously, it can't be the complete game.

Offline Gab75

  • FBNeo Contributor
  • *****
  • Posts: 1480
  • Karma: +33/-0
  • All games deserve to be emulated, more or less! :P
Re: Regarding ZX Spectrum emulation.
« Reply #3 on: May 30, 2020, 04:30:59 PM »
Hi Neville,
I know, it's not exactly the same thing, but you need to consider that various european MSX games are completely identical to the ZX Spectrum counterparts. Batman (isometric adventure) is already emulated and I can try to add the support of MSX Out Run in the next days... ;)

Offline Gab75

  • FBNeo Contributor
  • *****
  • Posts: 1480
  • Karma: +33/-0
  • All games deserve to be emulated, more or less! :P
Re: Regarding ZX Spectrum emulation.
« Reply #4 on: May 31, 2020, 01:38:16 AM »

Offline Neville

  • Sr. Member
  • ****
  • Posts: 410
  • Karma: +6/-2
Re: Regarding ZX Spectrum emulation.
« Reply #5 on: May 31, 2020, 05:41:41 AM »
Very cool! Thank you.

Offline dink

  • Administrator
  • *****
  • Posts: 5010
  • Karma: +449/-1
  • pie? I nearly bought one!
Re: Regarding ZX Spectrum emulation.
« Reply #6 on: May 31, 2020, 08:47:52 AM »
Some good news about zxspectrum batman, I managed to figure out why it's freezing up.  I don't have a solid fix yet, but I'm working on it!

best regards,
- dink

Offline dink

  • Administrator
  • *****
  • Posts: 5010
  • Karma: +449/-1
  • pie? I nearly bought one!
Re: Regarding ZX Spectrum emulation.
« Reply #7 on: May 31, 2020, 09:38:48 AM »
More good news re: spectrum..

128k timing is improved, this allows batman to go in-game
Savestates now work for all spectrum games

best regards,
- dink

Offline Neville

  • Sr. Member
  • ****
  • Posts: 410
  • Karma: +6/-2
Re: Regarding ZX Spectrum emulation.
« Reply #8 on: July 05, 2020, 11:28:43 AM »


Thanks for that too  :biggrin:
« Last Edit: July 05, 2020, 11:50:59 AM by Neville »

Offline dink

  • Administrator
  • *****
  • Posts: 5010
  • Karma: +449/-1
  • pie? I nearly bought one!
Re: Regarding ZX Spectrum emulation.
« Reply #9 on: July 05, 2020, 07:49:49 PM »
you're welcome :)

Offline Svipur

  • Jr. Member
  • **
  • Posts: 50
  • Karma: +3/-0
Re: Regarding ZX Spectrum emulation.
« Reply #10 on: September 21, 2020, 09:46:33 AM »
Going through a list of 250-ish supported games, I've come upon a few instances where an additional/replacement rom might be needed.

1. Roms that come with in-built trainers or are otherwise modified and non-standard, yet fully functional. Here's the full list of these:
Dizzy 1 - comes with infinite lives enabled, can't be disabled.
Dragon Ninja - comes with invulnerability enabled, can't be disabled.
Renegade 1 - comes with an in-built trainer (pressing 0 skips the current level).
SWIV - drops you right into the game instead of main menu.
Vindicators - drops you right into the game instead of main menu.
CJ's Elephant Antics - comes with a trainer. Pressing anything other than Y (which enables the trainer) seems to hang the game.
Joe Blade 3 - comes with a trainer.
Merlin - has a non-standard starting spot.
Saboteur 2 48k - comes with a trainer.
Stormlord - trainer.
Wacky Races - trainer.

2. Roms that seem to have not been dumped properly and don't appear to be functional.
Flying Shark - crashes in any emu shortly after starting.
Way of Exploding Fist - 2nd player zips around and appears corrupted.
Monty on the Run - crashes after starting the level.
Rex 128k - loads the 2nd part of the game.

What would be the best course of action for fixing these? My idea is to leave the entries from the first category in (for the sake of not breaking anything for those using them) and label them as 'alternative', whilst creating a separate entry for a standard rom of the respective game; the entries from the second category I'd just replace with working ones. As for the .z80 roms themselves - I could make those myself, but how would we distribute them?

Offline dink

  • Administrator
  • *****
  • Posts: 5010
  • Karma: +449/-1
  • pie? I nearly bought one!
Re: Regarding ZX Spectrum emulation.
« Reply #11 on: September 21, 2020, 11:52:32 AM »
Svipur,
I like that idea - personally I'd try to get versions without the trainers enabled.
For example, the Wacky Races trainer is nice.  I'd just leave that version in.  Games that have trainers enabled should be removed and replaced with either:
1: a version that starts at the trainer selection screen
2: a version that has no trainer

First try to find another .z80 file that works, in most cases the dump is just bad.  Or, use some other speccy emulator that saves .z80 files and make good ones yourself(if you'd like to) :)  also please check your PM regarding some other issue.

Imo there's no use keeping the old crummier version of the game.

p.s. thanks a ton for helping us sort this out :)

best regards,
- dink
« Last Edit: September 21, 2020, 11:53:52 AM by dink »