English Amiga Board


Go Back   English Amiga Board > Other Projects > project.CD32 Conversion

 
 
Thread Tools
Old 30 April 2020, 23:46   #21
earok
Registered User

 
Join Date: Dec 2013
Location: Auckland
Posts: 2,557
@spudje no rush!

@jotd thanks! I've set that in whdload.prefs

@cobe I guess it probably does depend on the game, I figure it may depend on whether the game is running in a system-friendly way when the save is done etc. When I disable NVRAM in WinUAE's chipset compatibility settings, it saves to place defined in prefs perfectly, but if I don't, it still seems to save to NVRAM for me.

In any case, I've added an option to the menu for manually backing up and restoring NVRAM saves if at all needed.
earok is offline  
Old 01 May 2020, 01:46   #22
Cobe
Registered User

 
Join Date: Jan 2014
Location: Belgrade / Serbia
Age: 38
Posts: 847
Well, I tried again. Nv setup as attached in previous post. Winuae quickstart cd32, just added that folder as hd. Ran ultimate skidmarks and found config file in folder on hd.
Cobe is offline  
Old 01 May 2020, 03:10   #23
earok
Registered User

 
Join Date: Dec 2013
Location: Auckland
Posts: 2,557
Hmm.. in any case, I just can't replicate it, I've used your configuration just to be safe.

If I have compatible settings turned on, NVRAM ticked, make a change to controls, doesn't save to folder.



If I edit the compatibility settings, turn off NVRAM, saves to location as expected.

earok is offline  
Old 01 May 2020, 06:36   #24
earok
Registered User

 
Join Date: Dec 2013
Location: Auckland
Posts: 2,557
@Cobe, I've been thinking about it further - could it be something like:

- NonVolatile.library, OR
- SetPatch version

That could be the difference between how it functions on yours and how it functions on mine?
earok is offline  
Old 01 May 2020, 09:14   #25
earok
Registered User

 
Join Date: Dec 2013
Location: Auckland
Posts: 2,557
I think I finally worked it out!

It seems that if there's already a "real" save in NVRAM for a game, then it will continue using real NVRAM for loading and saving. But if there wasn't already (for example) a super skidmarks save in real NVRAM, it'll save it to the disk instead.

(Edit: I think it maybe does raise an issue of "how do we recover our existing CD32 saves from NVRAM on to HDD", but I don't think it matters too much. Games that are already on NVRAM can stay there, games that aren't can go to the hard disk)
earok is offline  
Old 01 May 2020, 09:49   #26
jotd
This cat is no more
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 49
Posts: 5,211
how do we recover our existing CD32 saves from NVRAM on to HDD

that can also probably be done. First program reads NVRAM and dumps it to disk explicitly. Second program uses disk version of nvlib and dumps it. Maybe easier said than done but I'm pretty sure it can be done.

The only positive point about the nv ram stuff is that 95% of the games use nonvolatile.library so a high level interface. But some games also write to it directly (James Pond 3). Of course, in whdload it is patched in both cases, whdload doesn't use nvram, ever.
jotd is offline  
Old 01 May 2020, 10:00   #27
earok
Registered User

 
Join Date: Dec 2013
Location: Auckland
Posts: 2,557
Quote:
Originally Posted by jotd View Post
how do we recover our existing CD32 saves from NVRAM on to HDD

that can also probably be done. First program reads NVRAM and dumps it to disk explicitly. Second program uses disk version of nvlib and dumps it. Maybe easier said than done but I'm pretty sure it can be done.

The only positive point about the nv ram stuff is that 95% of the games use nonvolatile.library so a high level interface. But some games also write to it directly (James Pond 3). Of course, in whdload it is patched in both cases, whdload doesn't use nvram, ever.
I'll keep thinking about it, and I'd definitely accept any utility that could take care of it. But there is an advantage to leaving old save files in NVRAM - if the hard drive gets wiped (or re-imaged with a newer version of the project), the games that already were in NVRAM won't be taken with them.

Part of the problem is - there are utilities such as http://aminet.net/package/util/cli/NVRAM_Tools that save and restore files from NVRAM to a specific location, so in theory you could use that to transfer saves from NVRAM to HDD. The problem is, once you've applied the "prefs" trick to redirect NVRAM, the tool will only save/restore from the HDD instead of from NVRAM.

Do you know if there's a list of games that directly write to it? I didn't know about JP3, and I assume Cannon Fodder does, and for both of those I can avoid using the native CD32 version.

-----

A slight aside, this is something I want to do:

I realised that it would be nice to have thumbnails for each game in order to give it a better "classic console" feel, but of course it'd take ages to create thumbnails for each game. One thing I've realised is, since the vast majority of games are using RetroPlay installs (and thus, are set up with NewIcons), the NewIcons themselves could be used to display a thumbnail on the launcher. But I haven't yet wrapped my head around decoding a NewIcon.

If there's a tool that simply extracts NewIcons to standard IFFs, that'd be hugely helpful. Otherwise I'll try to find some time to see if I can decode a NewIcon image into Blitz.
earok is offline  
Old 01 May 2020, 11:04   #28
earok
Registered User

 
Join Date: Dec 2013
Location: Auckland
Posts: 2,557
Another distraction:

It seems SimCD32 might be an option for launching Simon the Sorcerer from HDD (and others - Microcosm maybe?). The problem is, it needs to install a "fake" cd.device, when the real one is present in the CD32 ROM already, so it quits with the error:

"cd.device version 40.22 already installed, but there is no « Simulated CD32 » task."


Any suggestions would be appreciated
earok is offline  
Old 01 May 2020, 11:52   #29
jotd
This cat is no more
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 49
Posts: 5,211
Good luck running Microcosm from hard drive... AFAIR it uses cd.device to directly access blocks. My whdload slaves can fake cd.device but only to accept dummy commands (like cd play...). It doesn't do anything useful.

This CD simulation thing highly unknown territory for me. They had to have tools to develop their CD32 titles at the time, but it seems that the expertise (and possibly the tools) has been lost.
jotd is offline  
Old 01 May 2020, 16:06   #30
Cobe
Registered User

 
Join Date: Jan 2014
Location: Belgrade / Serbia
Age: 38
Posts: 847
Quote:
Originally Posted by earok View Post
I think I finally worked it out!

It seems that if there's already a "real" save in NVRAM for a game, then it will continue using real NVRAM for loading and saving. But if there wasn't already (for example) a super skidmarks save in real NVRAM, it'll save it to the disk instead.

(Edit: I think it maybe does raise an issue of "how do we recover our existing CD32 saves from NVRAM on to HDD", but I don't think it matters too much. Games that are already on NVRAM can stay there, games that aren't can go to the hard disk)
Ah so that was. Glad you worked it out!
I used nv_tools once, and it did a job. But I dont know if its worth a hassle, especially if you would try to automatize process for end users. As you said, saves already in nvram i'd rather leave there.
And about simcd32, why dont you try just some iso mounter, like the one you used long ago for ab3d2 if I remember correctly.
Cobe is offline  
Old 02 May 2020, 10:45   #31
earok
Registered User

 
Join Date: Dec 2013
Location: Auckland
Posts: 2,557
@Cobe It might be possible to mount with isomount / fmsdisk etc, but I didn't have much luck when I last tried it. I'm working through the games in alphabetical order so, I'll have a second look at Simon when I get to it (there seem to be some other difficulties too, such as the game doesn't seem to close the CLI when launched from it)

Another thought I had was - if it's possible to boot into the older kickstarts somehow (softkick?), I may be able to get SimCD32 to work under a fake "A1200" environment.



Starting to get through this, there's a fair bit of effort of course but it'll be great to just be able to turn on my CD32 and play pretty much anything I want without needing to fumble through mountains of discs. I'll probably upload just a zip file of everything when I've done, possibly an "imaged" version if anyone just wants to image straight on to a blank CF card.

A few notes about various things:

- Using AmigaJay's excellent guide to the entire CD32 library to guide the project: https://docs.google.com/spreadsheets...ZaQ/edit#gid=0
- Kid Chaos seemed to crash when loaded from WHDLoad, and the CD32 version didn't work either. I found an old "CD32 rip" version (seven ADFs!) of the game on the FTP server, that seems to work just fine.
- Gulp! Just uses an OCS version. CD32 version is actually broken (passwords don't work) and bizarrely require a mouse anyway.
- For both Jetstrike and Humans 3, I'm using a hacked version of the AGA WHDLoad versions (thanks to AmigaLive) that are preconfigured to use CD32 pads as the default.
- Exile CD32 uses the native version with a couple of minor hacks to run from a directory. I was surprised to see that there's no WHDLoad version, but if there's any issues with what I've done then I'm happy to see that there's a JST version
- Had some issues with controls on CD32 WHDLoad Jungle Strike and Fire Force, switched to the native versions and also had to kill fast ram to get them to work.
- I've tested and verified (mostly under emulation, though I've done some real hardware testing) 75 games, so that's about the half way point of the whole CD library.
earok is offline  
Old 02 May 2020, 15:10   #32
earok
Registered User

 
Join Date: Dec 2013
Location: Auckland
Posts: 2,557
I think I've got Simon the Sorcerer working! In an incredibly roundabout way. Works in WinUAE, just copying to CF card to test on real hardware. The process:

- Copy a temporary startup script to rad:
- Use Skick (cheers JOTD) to load the A1200 kickstart rom. Wait for reboot
- Startup-sequence sees that there's a temporary startup script in rad: and runs that
- The script adds a secondary library directory (with nonvolatile.library, lowlevel.library etc)
- The script then runs SimCD32, mounts the Simon ISO, and runs the game!

I had a bit of trouble getting saves to work, because nonvolatile always expects an exact folder path for the nv_location file (you can't reassign envarc: somewhere else), but it seems to be all good.

In theory this should work with Microcosm, Beneath a Steel Sky, maybe a few others. I'll need to check those as well.


EDIT:

Ok, so - the good news is it does indeed work on real hardware. The bad news, loading times make it essentially unplayable - it takes about five minutes to get to the intro alone, and when Simon talks, there's a delay while it's loading his next sample, and sometimes it 'stutters' in the middle of his speech.

I'm not really sure if there's anything I can do to fix it - there might be too many "layers" involved between the Kickstart downgrade, the mounted ISO, the fake CD.Device etc.

Last edited by earok; 02 May 2020 at 15:52.
earok is offline  
Old 02 May 2020, 15:35   #33
jotd
This cat is no more
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 49
Posts: 5,211
excellent! specially because the ISO is huge and whdload won't help unless you have 128MB of preload memory!

If you can run Microcosm it's even more impressive.

Only potential problem: if game tries to access cd audio tracks and it fails (because there are no ways I know of to simulate audio on non-CD media), then the game could misbehave. For instance I had to patch Defender of the Crown because the timeout when fighting was plugged on the end of the CD audio track! I had to remove the timeout, else you lost immediately.
jotd is offline  
Old 02 May 2020, 16:34   #34
earok
Registered User

 
Join Date: Dec 2013
Location: Auckland
Posts: 2,557
Quote:
Originally Posted by jotd View Post
excellent! specially because the ISO is huge and whdload won't help unless you have 128MB of preload memory!

If you can run Microcosm it's even more impressive.

Only potential problem: if game tries to access cd audio tracks and it fails (because there are no ways I know of to simulate audio on non-CD media), then the game could misbehave. For instance I had to patch Defender of the Crown because the timeout when fighting was plugged on the end of the CD audio track! I had to remove the timeout, else you lost immediately.
I'll try microcosm in the morning - but yeah, I updated my post above to reflect that Simon the Sorcerer, while working, is essentially unplayable on real hardware due to loading speed. I suspect Microcosm may be similar

Do you have any ideas that might help? It's when I do anything on the mounted .iso file that it's really slow.
earok is offline  
Old 03 May 2020, 03:40   #35
earok
Registered User

 
Join Date: Dec 2013
Location: Auckland
Posts: 2,557
For Fucks Sake, the problem was Fast File System. FFS for sure!


I reformatted with PFS and it's so much faster! HDD installed Simon is more than playable on real CD32, speech triggers as expected. Loading times still aren't 100% perfect but I figured they maybe crippled the "fake" CD.device to run at approximately the same speed as the real CD32 drive.


Haven't had much luck with Microcosm yet, it loads, displays the CD icon and immediately crashes. I'm going to try the 'fantastic voyage' version to see if it's any better.


(Edit: Under emulation, Microcosm doesn't seem to run when I'm mounting it from a Windows folder, but it does seems to run from my CF card. That's promising! Still need to test on real HW)

(Edit 2: What are some other games that could benefit from this approach? So far I'm planning to test:

- Simon the Sorcerer (seems OK)
- Microcosm (seems OK)
- Battle Chess
- Beneath a Steel Sky
- Impossible Mission 2025 (CDXL intros don't seem to work when run directly from HDD)


(Edit 3: Gave it a try with "The Last Ninja 3", curiously it seemed to try and load from the real CD drive even when booted this way. Presumably the game directly accesses the hardware and thus there's no way to load it from HDD other than WHDLoad

Last edited by earok; 03 May 2020 at 08:02.
earok is offline  
Old 03 May 2020, 09:10   #36
jotd
This cat is no more
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 49
Posts: 5,211
Last Ninja 3 uses Rob Northen CDIO routines (the ones used in first versions of CD32load). Same as Chuck Rock, Lotus, Myth, Premiere... Only way is whdload.

I'm genuinely impressed for Microcosm The fact that the game sucks is a detail.
jotd is offline  
Old 03 May 2020, 10:02   #37
earok
Registered User

 
Join Date: Dec 2013
Location: Auckland
Posts: 2,557
That makes sense curiously I've found that IK+ seems to run from HDD just fine. I wonder why they didn't use those same routines for that release.

Well, I guess you shouldn't be too impressed until it's run on actual hardware, especially since it doesn't even run reliably under emulation so.. let me try it right now.





Agreed that it sucks. Novastorm was so much better in every possible way - it's a shame Psygnosis never finished the CD32 port. Every now and then I wonder if it's possible to extract the data from a different port and finish it somehow, or if some ex Psygnosis employee might have some beta version sitting around somewhere..

---------------------

Slight change of topic - I have no idea how I should distribute this. Convert to HDF somehow? VHD format? WinImage? Just supply the files in a zip and leave it to the end user to figure out how to format their drives with PFS and install the games? Ideally I'd really like to provide an image that:

- Can easily be deployed on to a real CF card from (at least) Windows
- Can be mounted by WinUAE
earok is offline  
Old 03 May 2020, 10:40   #38
Cobe
Registered User

 
Join Date: Jan 2014
Location: Belgrade / Serbia
Age: 38
Posts: 847
Great progress!
Winimage for real hw, hdf for winuae.
No matter now but maybe ffs with higher stack would compare to pfs.
Cobe is offline  
Old 03 May 2020, 11:21   #39
jotd
This cat is no more
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 49
Posts: 5,211
maybe image a 4GB CF card with tools like https://sourceforge.net/projects/win32diskimager/

I do that for my Raspberry Pi images. No reason why it wouldn't work for CF cards.
jotd is offline  
Old 03 May 2020, 12:57   #40
earok
Registered User

 
Join Date: Dec 2013
Location: Auckland
Posts: 2,557
I'll have a play those tools and see what I can get to work.

The CF card I'm using myself is 8GB - the general idea I had was to make an image with two volumes/partitions. The boot volume would have all of the commercial stuff on it, the second volume would either be blank (for the user to populate as they wish), or perhaps it could be populated with homebrew titles.

Progress report - 100 games implemented and given a rudimentary test under emulation. Maybe mid or late this week I'll have an image to share.



I just found that PowerDrive CD32 seems to be another one that RNC protected, though apart from some fancy videos, there probably isn't a reason to pursue a WHDLoad version since it's barely different from the OCS version.
earok 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
Fake ROM??? xalakibaniou support.Apps 5 22 April 2020 13:59
Received a fake and copied OS 3.9 W4r3DeV1L support.Other 5 26 June 2010 12:38
Playing classic amiga games on a CD32 pcut Retrogaming General Discussion 12 03 December 2009 16:13
cd32 emulation on real amiga with classic wb jamski project.ClassicWB 4 13 August 2009 21:42
Amiga.CD32.30-Classic-Games-Collection Swierk request.Old Rare Games 5 25 May 2005 13:13

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 01:09.


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