English Amiga Board


Go Back   English Amiga Board > Other Projects > project.WHDLoad

 
 
Thread Tools
Old 03 August 2022, 07:43   #1
PoulpSquad
Registered User
 
PoulpSquad's Avatar
 
Join Date: Aug 2012
Location: Torelló, Spain
Age: 47
Posts: 93
SubWar 2050 CD32 - Not saving non-volatile data??

Hello,

Another day, another issue!

This time with SubWar 2050, CD32 version on WHDLoad (running WinUAE 4.9.1).

No matter what I try, I can't save anything to the simulated NVRAM.

Game starts fine, I can modify my pilot OK, HD will flash a couple of times.

It will flash again very briefly after completing mission 1.

Exiting the game with the quit key lands me on WB without issues.

Restarting the game will shortly display the available save blocks (44851). That right there is already suspicious, since none has been used up so far.

Once in-game, checking pilots confirms that nothing was written to NVRAM.

Mantis bug tracker reveals the game maybe didn't have time to write data when I pressed the quit key, so I added the NoWriteCache tooltype and made sure to wait at least 10 seconds before quitting, but things didn't improve.

Checking subwar2050/data/nvsave reveals a file named options, 10 bytes in size exists, but hasn't been touched (date/time is the same as it was before running the game). I wonder what was being written when the HD led was flashing?

Libraries nonvolatile.library, lowlevel.library and diskfont.library exist in subware2050/data/libs.

I'm running out of ideas, so I'm posting this hoping a knowledgeable user can spare the time to help me out
Attached Files
File Type: zip options.zip (158 Bytes, 36 views)

Last edited by PoulpSquad; 04 August 2022 at 08:15.
PoulpSquad is offline  
Old 03 August 2022, 11:32   #2
daxb
Registered User
 
Join Date: Oct 2009
Location: Germany
Posts: 3,303
Can you check this?: http://mantis.whdload.de/view.php?id=4302#c8064
daxb is offline  
Old 03 August 2022, 11:48   #3
DisasterIncarna
Registered User
 
DisasterIncarna's Avatar
 
Join Date: Oct 2021
Location: England
Posts: 1,172
You already use one but the delay options i know of would be

NoWriteCache ;disable the disk write cache
WriteDelay=150 ;wait after saving something to disk (1/50 seconds)
SavePath=<Place you store all saves> in use?

Are you overriding the normal save path? or if not, tried using that, bar those 3 options, i cant think of anything off the top of my head.
DisasterIncarna is offline  
Old 03 August 2022, 11:55   #4
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,162
are we sure that the game is actually saving data? I investigated that issue eariler, and the conclusion is in the mantis report

Quote:
I played the game directly from CD on CD32 with enough free slots for saving the game.

Exactly the same result as with WHDload.

Language selection is saved. Pilot name is not saved after completing the first mission mission Navigation test. So I don't know at which point the game actually does save the pilots name / mission state.

But it seemingly has nothing to do with the whdload slaves.

I'm very sorry but it seems I've wasted your time:-(
jotd is offline  
Old 03 August 2022, 20:36   #5
PoulpSquad
Registered User
 
PoulpSquad's Avatar
 
Join Date: Aug 2012
Location: Torelló, Spain
Age: 47
Posts: 93
@jotd:

In fact, that's a very good question... I found this on the net:

https://forum.amiga.org/index.php?topic=19416.0

User Jupp3 started a database of games saving on NVRAM along with the size of the saves, hopefully on a real CD32 . SubWar 2050 uses 24 blocks for pilots and 1 block for options.

I just downloaded the new slave and replaced my old slave with it.

Behaviour is the same as with the old slave. Apparently it saves *something*, since it doesn't ask me for the language every time I start the game.

Pilots' data and progress is discarded. Even though the HD light flashes, nothing gets written on the HD/pseudo-NVRAM. Or at least not where I expect it to be written!

The amount of free slave blocks has changed also. Now it reports exactly 100'000 blocks available.

@DisasterIncarna:

NoWriteCache is both in WHDLoad.prefs and in game's tooltypes, just in case.
I should probably set WriteDelay= to 0, going to try that right now.

SavePath= works differently for CD32 games I think; there is a file in subware2050/data/prefs/env-archive/sys called nv_location that sets the path to the pseudo-NVRAM file. I am still going to try that out, maybe something will eventually stick to the wall!

It does work, because I can see a file options of 10 bytes at the path it points to, but the 240 bytes file for the pilot is nowhere to be found.

BTW, your lib works great so far!

**EDIT**

Modifying a pilot's data the first time works, but HD light flashes blue (reading) and not red (writing) anymore.

As usual, nothing gets written to the NVRAM after language selection.

Modifying the same pilot again usually ends in a crashed slave with error message: "Exception "Illegal Instruction" ($10) at $8 occurred" about 2 out of 3 times.

The rest of the time the keyboard gets disabled! Not completely, as the quit key works, but the rest of the keyboard is dead.

I am aware that the CD32 didn't have a keyboard, but it was pretty useful a feature to have in this game!

With the old slave, modifying a pilot's data the first time works fine, HD flashes red once or twice. Modifying the same pilot a second time either works ok or screen turns black.

Game seems to be still running as the music plays in the background.

**EDIT 2**

I tried with a QuickStart CD32 config booting straight from a redump bin/cue image.

Total save blocks reported=99.

Modifying a pilot works. I waited a couple of seconds and restarted the game.

NVRAM dropped to 71 and my pilot's data were saved this time!

Last edited by PoulpSquad; 03 August 2022 at 21:42.
PoulpSquad is offline  
Old 03 August 2022, 21:37   #6
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,162
new subwar whdload slave doesn't use that data/prefs/env-archive/sys tree anymore. It just saves to file "nvram".

It normally works with all games I have adapted (Syndicate, D/Generation...)
jotd is offline  
Old 03 August 2022, 21:44   #7
PoulpSquad
Registered User
 
PoulpSquad's Avatar
 
Join Date: Aug 2012
Location: Torelló, Spain
Age: 47
Posts: 93
It does indeed save something in nvram, but only options, not pilot data

I just tried with a QuickStart CD32 configuration and sure enough, that worked.

Pilot data is retained, so it's maybe not a bug in the game after all?

I'll try Syndicate in WHDLoad.

Working great, I am now the proud father of a nvram file 288 bytes big. Loads fine too!

D/Generation also works, although restoring a saved games always gets me to the building's roof by the jetpack?

Saving works on these 2 but more often than not it breaks the game (black screen) with music/sound effects going in the background.

Last edited by PoulpSquad; 04 August 2022 at 08:19.
PoulpSquad is offline  
Old 03 August 2022, 23:14   #8
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,162
Pilot data is retained, which means that "Pilot name is not saved after completing the first mission mission Navigation test. So I don't know at which point the game actually does save the pilots name / mission state." is wrong? I may reopen the mantis issue if that's the case.

If you have issues with saves, don't use NoWriteCache. Then if you suspect a specific slave issue, open a ticket on that game in mantis so it can be processed later.
jotd is offline  
Old 03 August 2022, 23:19   #9
PoulpSquad
Registered User
 
PoulpSquad's Avatar
 
Join Date: Aug 2012
Location: Torelló, Spain
Age: 47
Posts: 93
No sir, that's precisely my issue. There is HD activity shown by the HD light blinking when pilot data is modified, but no effective data is written in nvram directory.

Saves work fine for all other games I've tried so far, it appears this one is the only one with issues. D/Generation and Syndicate work fine.

Thank you for your help, I'll go open a ticket on Mantis now.
PoulpSquad is offline  
Old 03 August 2022, 23:57   #10
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,162
FILELOG tooltype is much more effective to check what's going on on disk. It writes a log in C: (default) and you can see which files are read/written.
jotd is offline  
Old 04 August 2022, 00:36   #11
PoulpSquad
Registered User
 
PoulpSquad's Avatar
 
Join Date: Aug 2012
Location: Torelló, Spain
Age: 47
Posts: 93
Thank you for the tip!

I'll enable it right now.

I can't seem to be able to use the newer slave with FILELOG.

As soon as I press any key I get the error exception "illegal instruction" ($10) at $8 occurred.

I'll attach the log for the old slave on Mantis (here too, for the sake of completeness)...
Attached Files
File Type: zip sw2050_old.zip (15.8 KB, 30 views)

Last edited by PoulpSquad; 04 August 2022 at 03:04.
PoulpSquad is offline  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Subwar 2050 Aga macce2 Games images which need to be WHDified 7 10 March 2022 17:05
Subwar 2050 OCS Solderbro request.Old Rare Games 7 19 June 2018 20:35
Subwar 2050 on Winuae? Welshieinnz support.Games 8 01 August 2007 20:17
SubWar 2050 CD32 derSammler HOL data problems 0 17 March 2004 11:56
Help needed with Subwar 2050 UKLEE request.Old Rare Games 4 11 March 2003 21:23

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 03:31.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.10554 seconds with 14 queries