English Amiga Board Amiga Lore


Go Back   English Amiga Board > abime.net - Hosted Projects > project.ClassicWB

 
 
Thread Tools
Old 18 March 2017, 21:43   #21
jotd
Cat freak
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 45
Posts: 1,743
HRTMon also has ws/wl commands which use WHDLoad I/O to save to any hard disk, IDE, SCSI, you name it, using the OS through OS swap.

I tried to implement such save state for JST, but there are multiple problems as Sting&Galahad stated.

- saving chipmem: easy
- saving write-only registers: possible, but MMU SNOOP must be enabled, would slow down CPU. Alternative: slave must provide copper/other write registers contents at any time of the game (they can change)
- also: slaves have internal states sometimes (counters, boolean toggles) so slave would have to be dumped in the savestate too.
- another tough part would be: games are patched by jumps to the slave memory area. The slave is allocated in fastmemory, not at the same location everytime. Means that we'd need to AllocAbs the slave when resuming, and it may fail. It's very difficult/impossible to "reapply" the patches done by the slave to fix address change.

So I agree with one of the posts: it's way better to ask slave coders to implement efficient trainers/levelskips, like I recently did with BCKid or D/Generation. Saving state is cheating already. Why not blatantly cheat and everyone can easily benefit from those levelskips without all the constraints of the savestates.

WinUAE savestates are handy, though, for debugging for instance. In that case, it works even if WinUAE doesn't guarantee the hard disk behaviour. Didn't have any problems when I cheated in cannon fodder/cannon fodder 2 and then saved after mission success.
jotd is offline  
AdSense AdSense  
Old 18 March 2017, 23:00   #22
Ragnarok
Registered User

 
Join Date: Jan 2017
Location: France
Posts: 20
Perhaps it's time to leave aside WHDLOAD for some games...
Ragnarok is offline  
Old 18 March 2017, 23:17   #23
Retro1234
5150

Retro1234's Avatar
 
Join Date: Jun 2006
Location: Sycophantazia
Posts: 3,623
Quote:
Originally Posted by jotd View Post
HRTMon also has ws/wl commands which use WHDLoad I/O to save to any hard disk, IDE, SCSI, you name it, using the OS through OS swap.

I tried to implement such save state for JST, but there are multiple problems as Sting&Galahad stated.

- saving chipmem: easy
- saving write-only registers: possible, but MMU SNOOP must be enabled, would slow down CPU. Alternative: slave must provide copper/other write registers contents at any time of the game (they can change)
- also: slaves have internal states sometimes (counters, boolean toggles) so slave would have to be dumped in the savestate too.
- another tough part would be: games are patched by jumps to the slave memory area. The slave is allocated in fastmemory, not at the same location everytime. Means that we'd need to AllocAbs the slave when resuming, and it may fail. It's very difficult/impossible to "reapply" the patches done by the slave to fix address change.

So I agree with one of the posts: it's way better to ask slave coders to implement efficient trainers/levelskips, like I recently did with BCKid or D/Generation. Saving state is cheating already. Why not blatantly cheat and everyone can easily benefit from those levelskips without all the constraints of the savestates.

WinUAE savestates are handy, though, for debugging for instance. In that case, it works even if WinUAE doesn't guarantee the hard disk behaviour. Didn't have any problems when I cheated in cannon fodder/cannon fodder 2 and then saved after mission success.

Was there ever ever a version of JST with a savestate beta ?- I think in Lotus 1 you could minimise the game during play

Last edited by Retro1234; 19 March 2017 at 00:35.
Retro1234 is offline  
Old 19 March 2017, 16:50   #24
jotd
Cat freak
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 45
Posts: 1,743
Yes, there were. Worked with a few games: Lotus 1, Desert Strike, I don't remember all of them.
Minimizing was also possible, and did not require state saving.

Oh, in my previous post I forgot the CIA registers, but that's properly doable 99% of the time in a generic way (HRTMon does that, no issue)

What could be possible would be savestate from within a whdload session: if you quit, then you cannot restore, nothing is written to disk. You could only restore state from a single gaming session (which would be still very useful).

So you keep the current memory allocation and you can restore, provided that you log the copper pointers and a few other custom chip stuff.

The difference between JST & WHDload is that WHDload wants to do everything perfectly, or not do it at all.
JST attempted, but could fail

So, if not using MMU to log writes (which consumes CPU power unless you're using WinUAE where the feature is a bit pointless), slaves would have to be adapted to provide a "pre-freeze" and "post-restore" couple of callbacks to restore copper stuff, whatever needed for such or such game.

Of course, WinUAE is very helpful here, because we can get the actual values of every register (hardware banging games often use absolute addresses for their codes, else, it would have to be linked to game memory allocation, but still doable)
jotd is offline  
Old 19 March 2017, 17:35   #25
Retro1234
5150

Retro1234's Avatar
 
Join Date: Jun 2006
Location: Sycophantazia
Posts: 3,623
Ok I think trainers with level skip are a good alternative but out of interest
The Lotus Docs Say "Registered users are able to save/restore the game state.........
How do I do this?
Retro1234 is offline  
Old 20 March 2017, 00:08   #26
jotd
Cat freak
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 45
Posts: 1,743
JST is now free, but I'm not sure I left the savestate/minimize in. I can happily provide my old jst.key to unlock all previous versions.
jotd is offline  
Old 20 March 2017, 09:44   #27
Retro1234
5150

Retro1234's Avatar
 
Join Date: Jun 2006
Location: Sycophantazia
Posts: 3,623
Quote:
Originally Posted by jotd View Post
JST is now free, but I'm not sure I left the savestate/minimize in. I can happily provide my old jst.key to unlock all previous versions.
If its ok id like to have a look and your have to tell me how to use the save state feature
Retro1234 is offline  
Old 22 March 2017, 22:48   #28
jotd
Cat freak
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 45
Posts: 1,743
I think you typed "TAB" when games where running (Desert Strike). It's lost in the mist of time for me though...
jotd is offline  
Old 23 March 2017, 19:45   #29
Retro1234
5150

Retro1234's Avatar
 
Join Date: Jun 2006
Location: Sycophantazia
Posts: 3,623
Quote:
Originally Posted by jotd View Post
I think you typed "TAB" when games where running (Desert Strike). It's lost in the mist of time for me though...
Thanks ill check it out
Retro1234 is offline  
Old 22 April 2017, 11:28   #30
TEOL
Registered User
 
Join Date: Jul 2009
Location: Middlesex, England
Posts: 127
A rumored proper system is in the plans for future features. Hopefully they tie load and save to the F keys that are unused in a game and not the used in a game ones.

I can see the feature being a hit provided it does it that way of moving it to a different F key if it's used by something else and provided that the new system works on every game ever made.

Emulated music in WHDLoad CD32 might be important too even if it means having to convert the Waves and mp3s into another format on the fly to one a standard AMIGA supports whilst it's installing which means it would take longer to install but music will be in the game.

Whats more important than getting both of those features out is releasing a new Classic Workbench with that new free version of JSTLoad "which was talked about", WHDLoad 1.8.3 and KGLoad all included Classic Workbench will then have the all in one hard drive games experience and thats exactly what we need from the latest edition.

As for the saves and music in WHDLoad god knows when they will be in Beta it's just that they are in the to do list already so has to happen someday anyway.

At the moment I could live with level skips and cheats to be honest.

Last edited by TEOL; 22 April 2017 at 11:51.
TEOL is offline  
Old 22 April 2017, 13:40   #31
jotd
Cat freak
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 45
Posts: 1,743
@TEOL that's cool because the features you're asking for are far from trivial. The audio thingy is just very difficult. The closest we could do would be - only on a CD32 hardware - to add music on Amiga games which don't have it, by modfiying whdload slaves & adding CD-play feature to CD32load.

Another idea would be to issue a "cd-read" command to the amiga CD-ROM (using WHDLoad) but once again, slaves would need to be modified.

And no MP3, only full CD-music, 1 CD per game (beginning to be very demanding)
jotd is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
WinUAE "save state" to include the current state of floppies. seuden request.UAE Wishlist 2 03 February 2012 09:36
Save state.... Fuddles support.WinUAE 4 08 May 2009 13:14
Save state hrafnkellg New to Emulation or Amiga scene 5 06 May 2009 18:05
Save State how ? DrunkGuy New to Emulation or Amiga scene 6 02 December 2006 20:22
Save-State and Load State don't work Klownk support.WinUAE 15 27 December 2002 14:24

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 20:12.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.18879 seconds with 14 queries