HoraceAndTheSpider / UAEConfigMaker

Amiga UAE Configuration Maker, primarily for UAE4ARM/Amiberry on the Raspberry Pi.
14 stars 7 forks source link

For Wiki: Information on 'Scanning modes' #12

Closed ghost closed 6 years ago

ghost commented 6 years ago

Hi, i've yet to take the plunge with this as I find ADF's to be far more compatible in Amiberry's current state. I wondered if you could give more information on the 'scanning modes'.

'WHDLoad folder mode' is self explanatory but litters thousands and thousands of small files on the SD Card (which can take a long time to copy).

'WHDLoad .zip mode' , so I can leave the folder for each game zipped ? Does the program automatically unzip it to a different location and where will the changed files (saved games, hiscores etc.) get saved to ? Do you have a list of games that can't be used in both these modes because of Amiga Only Characters which result in corrupt files or not copied at all ?

'WHDLoad HDF (data only) mode' , this would be the best mode because all files for each game are contained in one file in Amiga file system format. Is there a program that can batch convert Retroplay's native LHA compressed files to HDF's ? I've seen RareJay's converter but apparently they are not compatible with your loader (according to the other issue reported on here) which is a real shame because it would be the perfect program, the only file it doesn't convert is Beneath a Steel Sky CD32 because of the filesize, the program was originally used on the XBOX so can you make them compatible with your loader or use RareJay's instead ?

Sorry for the multi-questions but I had to ask for future reference as there's no information on the options. Thanks.

HoraceAndTheSpider commented 6 years ago

folder mode i still think is the best - but then i dont copy on hundreds of games i dont intend to play. I would still favour this mode using the 'disk image' WHDload install of any gam, where available, as this removes the 'small file' issue

.zip mode will use a zipped version of those same files, but is deisnged for use with @osvaldolove 's script which unpacks/re-packs ZIP file copies when running amiberry.

I believe there are a few options for HDF coversions of existing folders, but I dont really know them myself. Bascially (for now) you need one that has the .slave file in the root of the HDF, which is why the RareJay ones dont work. I will try to fix the booter for this, although the config maker itself may have a (partial) solution in the next version, if I use it to generate the auto-startup files. There is probably a solution on EAB or something though to create the 'correct' HDF files though.

I will try to flesh-out the documentation on this project after v.2 is completed - which will be following my updates to Amiberry.

ghost commented 6 years ago

I've looked on EAB for batch converters but the only one I could find was RareJay's which was originally intended for the XBOX emulator WinUaeX. The only reason why I wanted to convert them to HDFs is because of the incompatible filesystem (and it's a lot neater). I extracted a lot of the installs to Windows and had reports of filenames being changed because of the characters, empty directories not being copied and then when trying to delete some of them Windows said it couldn't find the file specified and I had to use a special program to remove them. It would be good to have a list of these troublesome games. There is a directory on the EAB Grandis server with games that need to be extracted on Amiga only but the list seems incomplete. I know there are a lot more.

I'm not really in any hurry, I have about 100 or so classic games and games that give the nostalgia effect. There are a lot of crap games that I choose not to include because I will never play them, like you.

On a side note I noticed that your booter does detect the game because it shows the information about the author etc but then just gives a blank screen. Maybe later I will try manually editing the HDF and put everything in the Root to see if it gets any further.

ghost commented 6 years ago

So I just converted a few WHDLoad AGA games into HDF's using RareJay's script. I put them in this path, not sure if it's the right one ?

roms/amiga-data/Games_WHDLoad_HDF_AGA

So I encountered two problems. When running the ConfigMaker it never corrected the filenames, they all still had no spaces.

The next thing is, I don't think the generated configs are completely compatible with Amiberry's new features. It detected the slave and gave the information window but then a AMOS window came up and said the HDF was write protected and the mouse didn't work. Does your booter write to the HDF ? RareJay's converter makes the HDF's just the right size for each game so I don't know if there will be any space for whatever your booter is trying to write. I thought it saved savegames and other stuff to a different location, this will make it compatible with save states because the HDF is never changed (If the WHDLoad prefs file is set to save to memory instead of disk for example).

I then tried to manually load a game. I set a A1200 config, put the _BootWHD in DH0 and mounted a game HDF in DH1 and it worked !! I tried 4 games and they all loaded. So RareJay's script does work even though the slave etc. is inside a folder on the HDF.

So in summary, The ConfigMaker isn't renaming the HDF's (or did I put them in the wrong folder ?) The default config made by the ConfigMaker needs some compatibilty fixes for the latest Amiberry (obviously :-) ). What and why is it writing to the HDF ? (Is it the WHDLoad Boot Script ? and the only thing that's written ?)

Sorry for all the bug reports !

HoraceAndTheSpider commented 6 years ago

Yes it has to write to the disk so that it can save the script which allows it to boot quicker second time.

No it does not support any new Amiberry features - the Config Maker is on hold until I have finished with Amiberry when I will add support for all the new control options. You can manually change the template and disable updates though , allowing you to tweek the settings.

Hdf auto renaming probably isn't supported, but I can look into adding it.

The save games are generally saved to the whdboot folder but sadly some slave still don't support re-rooting of saves (if the use a save disk image for example)

Hope this answers everything!

HoraceAndTheSpider commented 6 years ago

I probably added support for 2nd level slave scanning on the last booter update and forgot ;)

ghost commented 6 years ago

So if it's only saving a boot script then the HDF's should all be big enough. I'll take a look at the default template tomorrow to see if it will fix the booting. I'll also try putting the HDF's in a different folder to see if it spoofs the ConfigMaker into renaming them. Thanks.

ghost commented 6 years ago

I deleted everthing in the 'hostconfig.uaetemp'(because I like to keep everything 4:3 and we can now quit with Start+Select, and there's no need for 25fps frameskip). I tried adding 'no_update' to the file but it was ignored.

Swapped the uaeconfig.uaetemp with a freshly created one from Amiberry. Didn't work so I had a quick look and changed the paths to what was in the original file. Didn't work, it found the slave but gave the AMOS screen saying it was write protected so I gave up !

HoraceAndTheSpider commented 6 years ago

I will look at this all properly in the future. Maybe send some hdfs for me to test!

The default for frameskip is off so I am surprised you need to do anything there, unless there is a duplicate in the template?

I think the prebuilt configs were made with this on but i looked at the code recently and saw this as =0 for default?

(editted to fix bad on-phone typing)

ghost commented 6 years ago

I deleted everything in 'hostconfig.uaetemp' thinking that it would just use what I setup in the new template config. Not sure why the AMOS window pops up saying the HDF is write protected. But like I said, if I manually mount the booter and HDF then it works.

Here's 4 HDF's. Hopefully you can figure out why they don't work with ConfigMaker and maybe make a temporary working 'uaeconfig.uaetemp' ?

https://drive.google.com/open?id=0B_KI9bALvfOTOHN5dm5hc2FwMUE

HoraceAndTheSpider commented 6 years ago

FYI 'no_update' was my guess at the parameter.

The correct syntax is --no-update

You have to use this if you wish to amend the tempate, as this is other overwritten by the online master copy. It definately works!

ghost commented 6 years ago

I mentioned it because it said this in the readme -

ignore_output_path / no_update / force_config_overwrite / force_paths / whdload_update / create_autostartup / no_filename_spaces

These command-line options can also be entered into hostconfig and will take priority

I used this instead - python3 uae_config_maker.py -n

My config was not overwritten, it just didn't work.

HoraceAndTheSpider commented 6 years ago

The above is correct. no_update if used in the hostconfig file, --no-update if used from command line (although -n will also work

ghost commented 6 years ago

As I said before, I entered 'no_update' in hostconfig and it didn't work, it downloaded updates when running the python script. But I'm not worried about that because I used the -n parameter. I just wondered why my new uaeconfig didn't work even though I changed the paths. If you could take a look when you have time with the HDFs you asked for and possibly make a working uaeconfig for latest Amiberry (temporarily), thanks.

ghost commented 6 years ago

I'm giving up on this one. Because your Booter writes to the HDF some of them become corrupted because it runs out of space (RareJay's script makes them just the right size because his booter never writes to them so savestates are compatible), and some games that have multiple slaves your booter doesn't detect (Pinball Prelude). They might work fine with the 'Folder' method but I would like to know the games which have files which are only compatible with the Amiga filesystem. I'll stick with ADF's for now as they don't have the speed issues that WHDLoad has and they nearly all have trainers ! Thanks.

HoraceAndTheSpider commented 6 years ago

That is fine - use what you prefer and/or find works best for you.

However, just to clear a couple of bits up - the speed issues are caused by the emulator, not really a result of WHDLoad. Most are fixed by dropping the Mzh from 14 to 7, but i have no doubt Dimitris is looking into increasing the speed accuracy of 020+ on Amiberry.

Savestates work fine when using folders, even if the 'game data' folder is written to, as you say. I believe there are only a few which require the amiga unpack etc, and that RetroPlay was keeping a list.

There is also a "Games_WHDLoad_UnpackOnAmiga" folder on the FTP. It contains a very few games and demos which can not be extracted on PC due to filenames (CON etc). You'll have to download the archives to your Amiga and extract them there directly. All other games can safety be stored in Windows/Linux etc. As for EmeraldMines_v1.0_CD.lha in that folder, it can be stored on PC, but it contains over 50.000 files so I opted to not include it in the package.

I am surprised that the files are written are 'too big' given that they are only small text/script files. As i explained before, some slaves still write to the game location (ie. the options SAVEDIR= and SAVEPATH= dont work) so this would be the same with whatever solution.

Multiple slaves are detected and the WHDload booter will ask you which to use. Try holding the fire button on bootup if you are having problems see it. I will have a look at Pinball Prelude as i regularly use this feature with Bloodwych. (To switch between the game and the data disk)

I'd be surprised if there are many WHDLoad slaves which havent had trainers added to them. This function can be added to the booter using the method detailed here:

http://ultimateamiga.co.uk/HostedProjects/RetroPieAmiga/guide.html#step-4

ghost commented 6 years ago

Yeah I know the speed issues are due to the lack of Cycle Exact, it was just the way I quickly worded it. Dropping the Mhz only slows it down a bit. It still doesn't play at the correct speed compared to the original ADF version.

The 'Unpack on Amiga' games listed on the FTP are what I mentioned before but a quick extract of some on Windows I found that the list isn't up to date.

I tried a couple of other games with multiple slaves and they worked with your booter (the option came up to choose) but Pinball Prelude just loaded the 'Past' table with no option to load the other two. (When using the data only HDF).

Surprisingly there are quite a lot of WHDLoad games without trainers and nowhere near the amount of options as the ADF versions.

Hopefully Midwan can add at least 'Cycle Exact DMA/Memory Accesses' as 'Full' isn't really needed. I don't think TomB will add it as apparently he only adds features that will run well on his Pandora/Pyra (and those handhelds aren't very powerful except for the price!).

I'll stick with ADF's for now and see what the near future brings. Thanks for answering all my questions.

ghost commented 6 years ago

One more question before I close this, for WHDLoad CD32 would I put those in the Games_WHDLoad_HDF_CDTV folder or can I just put them all in Games_WHDLoad_HDF ? As long as the folder path begins with Games_WHDLoad_HDF then it should select the correct scanning mode WHDLoadHDF ?

HoraceAndTheSpider commented 6 years ago

On the assumption you wouldn’t need any CDTV specific setting (eg with Whdload cd32 games I would set the controller mode appropriately) then there is no problem using the standard non-aga HDF folder.

I cannot recall if an HDF CDtV folder is scanned but it could be easily added. (And has made me consider a possible improvement for the list of folder scanned)

Glad to hear the renames are working.

HoraceAndTheSpider commented 6 years ago

It seems there is a Games_WHDLoad_HDF_CDTV folder that is scanned, so you would be good to use that.

ghost commented 6 years ago

It seems there is a Games_WHDLoad_HDF_CDTV folder that is scanned, so you would be good to use that.

So I put the WHDLoad CD32 games into the CDTV folder as well ? The directory mode has a specific CD32 folder. It would be better if it was called Games_WHDLoad_HDF_CD as they are both CD versions.

HoraceAndTheSpider commented 6 years ago

No, there is also a cd32 HDF folder that is scanned.

I wouldn’t have a “cd” only folder that because the cd32 part can be used to force Aga/cd32 controls which CDTV games don’t need.

What I might do is have all the folders which are scanned in a text file, so that users can suggest additional paths and see which ones are already being scanned.

ghost commented 6 years ago

OK I'll give it a try, I didn't see Games_WHDLoad_HDF_CD32 in the list when running the ConfigMaker. I take it Arcadia and anything else (Unreleased/Beta) go in the ECS folder ?

HoraceAndTheSpider commented 6 years ago

the following routine lists all the scanned paths:

    do_scan(inputdir, "Games_WHDLoad", outputdir)
    do_scan(inputdir, "Games_WHDLoad_AGA", outputdir)
    do_scan(inputdir, "Games_WHDLoad_CDTV", outputdir)
    do_scan(inputdir, "Games_WHDLoad_CD32", outputdir)
    do_scan(inputdir, "Games_WHDLoad_DemoVersions", outputdir)

    do_scan(inputdir, "Games_WHDLoad_AltVersions", outputdir)
    do_scan(inputdir, "Games_WHDLoad_AltLanguage", outputdir)
    do_scan(inputdir, "Games_WHDLoad_AGACD32_AltLanguage", outputdir)
    do_scan(inputdir, "Games_WHDLoad_AGACD32_AltVersions", outputdir)
    do_scan(inputdir, "Games_WHDLoad_Unofficial", outputdir)

    do_scan(inputdir, "Games_WHDLoad_HDF", outputdir)
    do_scan(inputdir, "Games_WHDLoad_HDF_AGA", outputdir)
    do_scan(inputdir, "Games_WHDLoad_HDF_CDTV", outputdir)
    do_scan(inputdir, "Games_WHDLoad_HDF_DemoVersions", outputdir)
    do_scan(inputdir, "Games_WHDLoad_HDF_AltLanguage", outputdir)

    do_scan(inputdir, "Games_HDF", outputdir)
    do_scan(inputdir, "Games_CD32", outputdir)

    do_scan(inputdir, "Demos_WHDLoad", outputdir)

So normally i would be suggesting Games_WHDLoad_Unofficial which I should create an HDF version of, but as far as 'mode' selection there would be nothing different there compared with Games_WHDLoad_HDF

ghost commented 6 years ago

As I said above, there is no Games_WHDLoad_HDF_CD32 folder ?

HoraceAndTheSpider commented 6 years ago

No, i didnt add all variations to HDF, as it was not the intended usage for the software, but CDTV over CD32 looks like an oversight.

When i add the 'list' version above though, i will have it included. the AGA_HDF should be able to boot the CD32 games for now however..

HoraceAndTheSpider commented 6 years ago

Would be re-added if user demand for the feature.