rzx for Amstrad ?

Anything relating to non Sinclair computers from the 1980's, 90's or even before.
Post Reply
User avatar
spider
Dynamite Dan
Posts: 1104
Joined: Wed May 01, 2019 10:59 am
Location: Derby, UK
Contact:

rzx for Amstrad ?

Post by spider »

I did ask this many moons ago elsewhere but I've since got a bit better with newer emulators.

Summary being, is there some kind of .rzx for the CPC machines ?

I can easily record as either SNR or SNP, as I understand it the SNR is about nearest to "our" .rzx as it contains most of the playback data whereas the SNP is a keystroke recorder with the snapshot as well.

The issue is: there's no 'rollback' with anything that I can see, and I'd like to do a few recordings with this machine however although I am capable (just) of completing JSW and MM*** without any cheating it would be easier to step back to save a life to compensate for minor errors.

Thanks. :)

*** Without any serious thought or effort I got to cavern 11.


While I'm at it, I'd like to ask if there's anything "rzx like" for other 8 bit machines too.
AndyC
Dynamite Dan
Posts: 1421
Joined: Mon Nov 13, 2017 5:12 am

Re: rzx for Amstrad ?

Post by AndyC »

Alas no, there are emulators which can record video but nothing that is like an RZX-esque replay of the logic. I don't know if it's plausible to define a similar format, there was a lot of thinking that went into RZX to try and account for subtle differences between emulators to make them more portable. The CPC hardware is quite a lot more complicated than the Speccy and it's possible that might complicate things. It would be a great feature if enough emulator authors could be persuaded to add it though.
User avatar
1024MAK
Bugaboo
Posts: 3134
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: rzx for Amstrad ?

Post by 1024MAK »

AndyC wrote: Sat Jun 10, 2023 12:58 pm The CPC hardware is quite a lot more complicated than the Speccy and it's possible that might complicate things…
Just curious, what part of the CPC hardware do you think makes it harder/more complicated?,

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
AndyC
Dynamite Dan
Posts: 1421
Joined: Mon Nov 13, 2017 5:12 am

Re: rzx for Amstrad ?

Post by AndyC »

Well one of the problems with RZX is making sure you don't lose synchronisation when you move between emulators. All it takes is a single emulator with a glitchy instruction timing and over time you could get very out of sync. The Speccy has a very simple sync point though, there is always an interrupt at frame flyback (aka Vsync). So, when playing back an RZX file a emulator can use this to realign timings that have gone askew.

The Amstrad's display is more flexible, it normally has six interrupts per frame but they can be stalled with careful timing of key display registers. What's more there can be multiple Vsync pulses in a single frame of the display (a trick known as rupture splitting) and there is even some flexibility in quite how long a frame lasts in terms of T-states (because there is some wiggle room in what a monitor will react too).

I'm not saying it's insurmountable, but it might require solving some problems that RZX could get away with.
User avatar
1024MAK
Bugaboo
Posts: 3134
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: rzx for Amstrad ?

Post by 1024MAK »

Ahh, fair enough.

Thanks for the reply 8-)

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
User avatar
spider
Dynamite Dan
Posts: 1104
Joined: Wed May 01, 2019 10:59 am
Location: Derby, UK
Contact:

Re: rzx for Amstrad ?

Post by spider »

I never actually realised it was that complicated. I had assumed that the .rzx contained the snapshot of all the RAM, registers etc and then a control input sequence.

If I am correct during a 'recording' each 'save state' will be another snapshot which is why when its finalized its relatively small compared to saving one 'open' not that I have tried that.

Bit of a shame there's no easy method as to 'DIY' it I'd be forever saving snapshots, stepping back (while all the time recording video) then trying to messily piece it all together for one 'run' to save as a video (something I do with .rzx's now sometimes, save as a video)
AndyC
Dynamite Dan
Posts: 1421
Joined: Mon Nov 13, 2017 5:12 am

Re: rzx for Amstrad ?

Post by AndyC »

spider wrote: Sun Jun 11, 2023 12:20 pm I never actually realised it was that complicated. I had assumed that the .rzx contained the snapshot of all the RAM, registers etc and then a control input sequence.
It basically is that. The nuance comes in trying to account for subtle differences between emulators, you sort of want things to happen the same even if an emulator has contention timing off slightly for example. Emulation has to be mostly correct, of course, but a little nuance about how IO contention timing affects things needs to be accounted for (if for no other reason than you wouldn't want a bugfix to the emulator to break all existing RZX files).

I remember ther being various discussions on CSS back when it was being created about whether simply recording a snapshot and the values of IO reads was sufficient and I think there were edge cases where it wasn't, if instruction timing bugs could lead to an IO read from an interrupt to come "out of sequence" for example. Even RZX isn't perfect at this, but it does do a pretty good job of accounting for differences in most cases.
User avatar
spider
Dynamite Dan
Posts: 1104
Joined: Wed May 01, 2019 10:59 am
Location: Derby, UK
Contact:

Re: rzx for Amstrad ?

Post by spider »

Thank you.

This might also explain why some emulators will play a bit of an .rzx (seems a few seconds) then complain and stop. In particular I've had issues playing back in Spin , although I do use it as my primary emulator (for a host of reasons) I do recording in Spectaculator because that does not pause at each 'save'

On the topic subject directly, the only way I can see to do this (same for BBC Micro and other machines) is:

Just play , recording video as I go.
Manually save snapshots.
If (more likely when) I have a problem, step back, keep recording if possible
Carry on to completion.

Then spend a few hours cutting the video (a new skill I'd have to work out) or joining after truncating the 'unwanted' bits out of several.

All in all, quite messy and doing it neatly would be a huge time killer.


What I love about the .rzx format is I can play, step back as needed and then simply save the .rzx out. If I don't want to distro it as is (perhaps unfinished work or denied stuff) I can then very easily play it back in Spectaculator, recording a raw .avi and then assuming VLC decides to behave properly, convert it to a sane sized .mp4.
AndyC
Dynamite Dan
Posts: 1421
Joined: Mon Nov 13, 2017 5:12 am

Re: rzx for Amstrad ?

Post by AndyC »

Yeah, RZX is an awesome idea and it'd be to see similar concepts for other platforms. Being able to not only watch a playback, but actually step into it and take over, is a pretty amazing feature.
User avatar
spider
Dynamite Dan
Posts: 1104
Joined: Wed May 01, 2019 10:59 am
Location: Derby, UK
Contact:

Re: rzx for Amstrad ?

Post by spider »

AndyC wrote: Sun Jun 11, 2023 5:14 pm Yeah, RZX is an awesome idea and it'd be to see similar concepts for other platforms. Being able to not only watch a playback, but actually step into it and take over, is a pretty amazing feature.
If I had one suggestion for the .rzx feature it would be controls over it, as you'd get with a video such as forward / back , not necessarily fine control but say +10s / -10s and +60s / -60s , the 'backstep' especially helpful.


Hugely surprised that there is no equivalent to this for some popular 'other' 8bit machines. I've not actually honestly looked to see if any of the CBM 8bit emulators offer anything nor the 16bits aka ST and Amiga.
AndyC
Dynamite Dan
Posts: 1421
Joined: Mon Nov 13, 2017 5:12 am

Re: rzx for Amstrad ?

Post by AndyC »

I think that would probably be doable by the emulator just embedding snapshots every few frames. I think at the time a lot of the consideration was around keeping the file size as small as possible as well as a bunch of tournament security stuff (which turned out to be wholly unnecessary). I think if you were designing it again now, making it more suitable for video style manipulation would be a more obvious feature.
User avatar
spider
Dynamite Dan
Posts: 1104
Joined: Wed May 01, 2019 10:59 am
Location: Derby, UK
Contact:

Re: rzx for Amstrad ?

Post by spider »

Ah yes its not really for 'playing to the end without cheating, just need to replay this step because I've made a mess' , its more "I want to have something to show others, typically a video if nothing else of my playback.

Think along the lines of the YT rzx archive playbacks of all the games, just want something for a few games for other platforms, starting with the CPC simply as I had (wrongly!) assumed this would of had something. :D
Spoiler
Please don't make me play Technician Ted on the CPC from start to finish, without cheating and without rollbacks :(
User avatar
1024MAK
Bugaboo
Posts: 3134
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: rzx for Amstrad ?

Post by 1024MAK »

As the computers get more complicated/complex, the QL has a microcontroller, the Atari ST (range) has DMA (and a blitter for the STe etc), a microcontroller for the keyboard/joystick/mouse etc., as Andy says, keeping everything in step becomes harder…

Certainly, some Atari ST games have a save state (to floppy) as standard. There is also a multiface for it.

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
Post Reply