Jump to content
LaunchBox Community Forums

Amiga Emulation / FS-UAE: A Comprehensive Tutorial + Launchbox Integration


Zombeaver

Recommended Posts

7 minutes ago, boon said:

I almost feel like I'm about to unpack and edit every damn .info file with proper config and repack em just to be able to handle them as any other rom file afterwords. Wouldn't take TOO much time hmm.. joined forces anyone?

It doesn't really work like that as far as I know. That's not going to do things like specifying WHDLoad arguments or specific processors to use - that's all at the emulator/config level.

Link to comment
Share on other sites

2 minutes ago, Zombeaver said:

It doesn't really work like that as far as I know. That's not going to do things like specifying WHDLoad arguments or specific processors to use - that's all at the emulator/config level.

Yeah your right, this will actually only specify the whdload arguments if you start it through workbench and or use the .info file to start the game. And it wouldn't say what processor to use for sure. Oh well doing special configs for some games wouldn't be too much work either I suppose. Glad you could help my buzzing mind again ;)

Link to comment
Share on other sites

Love the tutorial/video, THANKS!  But I have an issue...

Something that is odd:  When I scan my games-whdload directory which contains over 3,300 files....it found only  TWO games...Transplant and Future Shock.....the path HAS been added as per the settings steps in the Video....wasn't sure why until I noticed that if I unzip another game it finds it after the scan (each game in it's own subdirectory...), but one of the two games it found originally was not unzipped (Transplant_v1.01.zip), but Future Shock was.... 

I thought it supported individual zipped WHDLOAD games?...I'm using version 2.8.2.u2 (latest 64bit) ....what the heck??  Any help appreciated.

Link to comment
Share on other sites

Take a look at the bit about .iha files in this post:

It does support individually compressed WHDLoad games. .iha files are a compressed file format. If the zip contains an .info file and a game folder, that zip can be imported as is. If the zip contains an .iha file, the .iha file has to be extracted and then it can be imported.

Transplant is a game that just comes with FS-UAE. If you go to 14:54 in the tutorial you'll notice that it's the only game listed, and I haven't actually imported anything yet. I'm not sure what the deal is with Future Shock.

Link to comment
Share on other sites

12 hours ago, Zombeaver said:

Take a look at the bit about .iha files in this post:

It does support individually compressed WHDLoad games. .iha files are a compressed file format. If the zip contains an .info file and a game folder, that zip can be imported as is. If the zip contains an .iha file, the .iha file has to be extracted and then it can be imported.

Transplant is a game that just comes with FS-UAE. If you go to 14:54 in the tutorial you'll notice that it's the only game listed, and I haven't actually imported anything yet. I'm not sure what the deal is with Future Shock.

Thanks, yeah I just went with having .LHA files in the folder instead of ZIP, the size difference was very little...working fine now :-)

Link to comment
Share on other sites

@zombeaver --> Job well done on the video! While I'm sure in part, creating these videos can be fun, I know they can be a daunting task (preparation, content generation, editing, re-editing, etc.). For me, the Amiga platform has never been a great focus and to be honest, I only ever used WinUAE for CD32 emulation and that's it. I think FS-UAE is great and while there are some minor configuration tweaks and tools needed, your video really made the integration into LB quite simple. I think its safe to say for me at least that without the video, I likely wouldn't have bothered adding the collection but will say I've already found a few gems worth playing :)

Glad to have members like you contributing great content like this in the community, thanks!

 

  • Like 3
Link to comment
Share on other sites

You're very welcome! Thank you for the kind words. There definitely are some very interesting games worth looking into on the Amiga.

I've got a couple projects I'm working on currently but once those are done I've got a few more of these I'd like to do - C64, Atari 8-bit computers and DOSBox are the main ones I'm planning.

Link to comment
Share on other sites

You sir, need to have a statue erected in your honor. I was dreading working on adding the Amiga (my favorite line of computers ever) to my LaunchBox setup but your video got me up and running with very little fuss. Many thanks, much appreciated, and I look forward to your next projects!

  • Like 1
Link to comment
Share on other sites

Thank you good sir! I'm glad you found it useful. Amiga's a really great platform but for a long time it's had the unfortunate distinction of being one of the more difficult ones to get into emulating. I'm hoping the tutorial will help ease people into it with as little wailing and gnashing of teeth as possible; and potentially expose some people to games that they might have passed up otherwise.

I've got a couple Big Box media projects that I'm working on currently but I've got a few more tutorials planned after that.

Link to comment
Share on other sites

Okay, maybe you can earn some bronze coating on that statue. My only issue so far is with the advanced controller config. My XBox One Elite controller is seen by FS-UAE as 'xinput controller #2' and I can't get the f10 to quite to work on it (I know it works since it works on the first xinput controller) no matter how I change the syntax. Actually I posted a question on an FS-UAE forum but so far no nibbles. Here's the text from that post:

Hi all,

FS-UAE detects and works with my controllers just fine--- however, I'm trying to map the game exit function to f10 and assign it to the right thumbstick button on my XBox One Elite pad and it's making me crazy. FS-UAE detects my controller as 'xinput controller #2' since I have a few other controllers hooked up to this htpc as well. I can go into the advanced controller setup and enter the string to enable this on the first 'xinput controller' (which works), but for the life of me I can't get the syntax to use controller #2 for the special mapping string:

xinput_controller_2_button_9 = action_key_f10

I've tried using #2 instead of just 2, with and without the underscore, etc., but I just can't get it to work on this second stick. Little help, anyone?

To be clear, I can control the games with my Elite controller just fine--- it's just the f10 to quit and the speedup trigger functions don't work.

Link to comment
Share on other sites

Hmm...

And I assume you've verified the specific button names by double-clicking on the controller in the list?

I also assume that the game in question is using the 68010 or higher CPU? As I mentioned at 34:38 in the video, the QuitKey override doesn't work if the game's using the 68000 CPU. Most WHDLoad configs are already set to use the A1200 which uses the 68EC020 CPU - the override works with anything other than 68000. I don't think this issue affects the warp function, but I'm not 100% certain on that.

Link to comment
Share on other sites

Yep, I had the buttons correct and it affected all games--- it actually worked fine on the first xinput controller (a regular XBox One controller which I use for second players), but the Elite is my go-to default for all my emulators that don't require specific controllers (N64, Colecovision, Intellivision, Gamecube, Wii). Annnnnnd as I'm typing this I see the FS-UAE dev has replied to my post over on

http://eab.abime.net/showthread.php?t=85446

Looks like I need to shorten my work day and get home to try again. I can't tell you how happy I am to not have to futz with WinUAE and be able to run Amiga games in LB :-)

Link to comment
Share on other sites

Hi, I registered here so I could give some feedback to the video. First off, I think it's great that people are creating videos about FS-UAE :)

I'm adding a lot of comments here, roughly in chronological order (with regards to the video). Hopefully most comments are interesting or useful. Great video btw! Very well put together :)

Kickstarts are indeed is a nuisance. But unfortunately, I cannot bundle them with FS-UAE :-/ The Amiga 3000 ROM wanted by FS-UAE is indeed in TOSEC. The TOSEC file name is Kickstart v3.1 r40.68 (1993)(Commodore)(A3000).rom. However, it's not really used any much for gaming.

The comment you make in the video about most games being set up with an Amiga 1200 model really only applies to WHDLoad games. Most floppy-based games work best with the default Amiga 500 model, and I highly recommend using the A500 model (without any additional config!) as the default point for floppy-based games (except AGA games or games requiring Kickstart 2.0, etc). And then only tune the config if needed.

The floppy drive clicking sound is actually automatically disabled when using WHDLoad games with the online game database. I should consider disabling it when loading a WHDload archive directly as well.

Warp mode mapped to game controller by default? Makes sense, I'll have to review the default mapping soon.

If you are going to use unsafe_save_states = 1, then you should also use relative_temp_feature = 1. This will make the save states much more likely to work! The relative temp feature may become default in the future, but it needs to be explicitly enabled for now.

An error in the video regarding the scanning of WHDLoad games. The names of the archives or files do not have to match anything. Each individual data file for a specific WHDLoad game is looked for by checksum against the local file database! A comment related to one of the replies in this thread: Creating your own WHDLoad install *should* be compatible with the ones
from the online game database (*). I've made a lot of effort to make that possible:
* .info files are ignored (they will be unique for each installation)
* Each individual file which is required is looked for by checksum. The archive containing the files does not have to match anything. The files for a WHDLoad install does not even have to be in the same archive.
(*) There can be a few exceptions, and it requires you to use the same disk versions and install options.

About WHDLoad arguments and missing PRELOAD when giving files directly to the database; Actually, the launcher could (and should) extract the default WHDLoad arguments from the .info icon file within the WHDLoad game archive. I already have code for doing this (used when importing configurations to the online database) so I can improve this. But, using the online game database is a good idea anyway, so you'll get any fixes submitted by users (corrections to the default arguments, extra configuration needed, etc).

Cyber Assault does have a configuration in the database. It's not published because all games are "unpublished" by default until metadata is added and someone sets the published status. I've done this for Cyber Assault now :) (It lacks a cover image though). Btw: New feature in FS-UAE Launcher 2.9.1dev is that you can actually enable an option to show/play/test "unpublished" games from the online database. You could think of these game configs as being in "beta".

About the WHDLoad quit key. You are entirely correct about the save game issue. I have been thinking about creating a feature in FS-UAE, where, if it knows it is playing a WHDLoad game, the QUIT action (either action_quit or initiated from the menu, or the window close button, or whatever) then FS-UAE will inject the correct quit key - if it knows it - and wait until the WHDLoad slave quits. (Repeated quit actions will probably need to override and close FS-UAE regardless, an onscreen message could appear saying something like "Quit event sent to WHDLoad. Quit again to force FS-UAE to close immediately".)

WHDLoad.prefs is (when not overriden) auto-generated by FS-UAE Launcher. I can add an option to specify quit key in Launcher settings so you don't have to muck about with the prefs file manually. More fool-proof also :)

But, it is also a slightly better idea to register the quit key per slave in the online database, to avoid the global quit key conflicting with in-game keys. E.g. F10 in Desert Strike if I recall correctly. This will work very nicely if the WHDLoad quit feature is implemented in FS-UAE, and the Launcher just tells FS-UAE what the game-specific quit key is.

About my name, you are actually pronouncing it *incorrectly* :D

The atari-color-fix shader is indeed included with FS-UAE (it's embedded in fs-uae.dat) Enable with shader = atari-color-fix (no file extension for built-in shaders). I really should do the atari color fix internally before the shader stage (as a special filter with a separate option to enable it) so it can be combined with other shaders. When this is done, we can add information to the online database (or just use the halfcolorbug tag) so the fix is automatically applied for the games in question. Maybe with an option in the Launcher to not apply the fix (for those wanting an authentic, yet dark, experience).

There are a lot of games and configs in the online database, and there are certainly problems with some of them. I do encourage you to submit fixes to the games (via the "Edit" tab), and also leave a comment in the "Discuss" tab as to why the fix is needed, if it is not obvious. The edit page can be a bit daunting, but it is moderated, so don't be too afraid to put something wrong there. Just write about your intention in a comment :) Or just write a comment without editing if you're uncertain how to do it.

Example: If you find a WHDLoad variant in the online database with an A600 model, and it works better with A1200, instead of creating a new offline configuration, *please* go to the edit page for the game (there's even a shortcut button for it in the launcher), choose "amiga_model", type "A1200", and click the "Add / Update" button - you need to log in first though.

I have corrected the configuration for Citadel, of course! (Also updated the config for Hostages).

You are correct about the quit key override not working with 68000. That's a hardware limitation (the feature WHDLoad needs to override the slave's quit key requires 68010 or higher).

About CD32 games. If you use a proper CD32 game (model = CD32, CD image), then FS-UAE Launcher will default to using CD32 Gamepad mode. But *WHDLoad* ports of CD32 games is a different matter. These are ports of CD32 games
meant to be played on a desktop Amiga, such as the A1200 or A4000. The desktop models defaults to joystick mode. If the game needs the CD32 Gamepad mode, and is incorrectly configured, please submit a fix to the online database (joystick_port_1_mode = cd32 pad).

I've only had time to watch the FS-UAE-specific part so far, but I'll watch the rest soon so I know a bit more about how people use FS-UAE :)

Edited by FrodeSolheim
  • Like 7
Link to comment
Share on other sites

@FrodeSolheim

Welcome to the Launchbox forums, feel free to make yourself at home here if you like :)

While I have no special attachment to the Amiga and rarely even tough the emulator and games I do have to thank you for FS-UAE. It's a great emulator to use considering it is for a computer when most computer emulation is a royal pain in the ass.

Link to comment
Share on other sites

1 hour ago, Frode Solheim said:

Hi, I registered here so I could give some feedback to the video. First off, I think it's great that people are creating videos about FS-UAE :)

Welcome and thank you for your wonderful emulator!

1 hour ago, FrodeSolheim said:

Kickstarts are indeed is a nuisance. But unfortunately, I cannot bundle them with FS-UAE :-/

Yeah that's totally understandable. I just wanted to stress for people that they really need to be using the real thing to avoid issues with some games.

1 hour ago, FrodeSolheim said:

The Amiga 3000 ROM wanted by FS-UAE is indeed in TOSEC. The TOSEC file name is Kickstart v3.1 r40.68 (1993)(Commodore)(A3000).rom. However, it's not really used any much for gaming.

Strange. The TOSEC set that I tried it with at the time definitely didn't have it. Perhaps it was an older release, I'm not sure.

1 hour ago, Frode Solheim said:

The comment you make in the video about most games being set up with an Amiga 1200 model really only applies to WHDLoad games. Most floppy-based games work best with the default Amiga 500 model, and I highly recommend using the A500 model (without any additional config!) as the default point for floppy-based games (except AGA games or games requiring Kickstart 2.0, etc). And then only tune the config if needed.

Yes, that statement was made in regards to WHDLoad - that's why I said that's what I was focusing on in the video. I wasn't trying to imply that it's best for everything, just for WHDLoad (which is what the video focuses on). A500 works fine for ADF. Perhaps I didn't make that clear enough in the video.

1 hour ago, Frode Solheim said:

If you are going to use unsafe_save_states = 1, then you should also use relative_temp_feature = 1. This will make the save states much more likely to work! The relative temp feature may become default in the future, but it needs to be explicitly enabled for now.

Interesting. I don't recall seeing this mentioned in your posts on your site when people asked about WHDLoad + savestates. I'll try that.

1 hour ago, Frode Solheim said:

An error in the video regarding the scanning of WHDLoad games. The names of the archives or files do not have to match anything. Each individual data file for a specific WHDLoad game is looked for by checksum against the local file database! A comment related to one of the replies in this thread: Creating your own WHDLoad install *should* be compatible with the ones
from the online game database (*). I've made a lot of effort to make that possible:
* .info files are ignored (they will be unique for each installation)
* Each individual file which is required is looked for by checksum. The archive containing the files does not have to match anything. The files for a WHDLoad install does not even have to be in the same archive.
(*) There can be a few exceptions, and it requires you to use the same disk versions and install options.

Fair enough, but I'm not sure how much the distinction matters to the typical end-user. I've read multiple comments from people saying that the files they had were "home made" and they weren't found on a scan. Ones that come from well-known/common sources typically do.

1 hour ago, Frode Solheim said:

About WHDLoad arguments and missing PRELOAD when giving files directly to the database; Actually, the launcher could (and should) extract the default WHDLoad arguments from the .info icon file within the WHDLoad game archive. I already have code for doing this (used when importing configurations to the online database) so I can improve this. But, using the online game database is a good idea anyway, so you'll get any fixes submitted by users (corrections to the default arguments, extra configuration needed, etc).

I'm not entirely sure I follow, all I can tell you is that my experience with simply throwing a WHDLoad zip directly at FS-UAE did not use any arguments on launch (and flickering during loading, etc. ensued).

1 hour ago, Frode Solheim said:

About the WHDLoad quit key. You are entirely correct about the save game issue. I have been thinking about creating a feature in FS-UAE, where, if it knows it is playing a WHDLoad game, the QUIT action (either action_quit or initiated from the menu, or the window close button, or whatever) then FS-UAE will inject the correct quit key - if it knows it - and wait until the WHDLoad slave quits. (Repeated quit actions will probably need to override and close FS-UAE regardless, an onscreen message could appear saying something like "Quit event sent to WHDLoad. Quit again to force FS-UAE to close immediately".)

That would definitely be handy!

1 hour ago, Frode Solheim said:

Cyber Assault does have a configuration in the database. It's not published because all games are "unpublished" by default until metadata is added and someone sets the published status. I've done this for Cyber Assault now :) (It lacks a cover image though). Btw: New feature in FS-UAE Launcher 2.9.1dev is that you can actually enable an option to show/play/test "unpublished" games from the online database. You could think of these game configs as being in "beta".

It was just an example. I'm sure you're perfectly aware there will be other such cases and people need to know what to do in such a scenario.

1 hour ago, Frode Solheim said:

WHDLoad.prefs is (when not overriden) auto-generated by FS-UAE Launcher. I can add an option to specify quit key in Launcher settings so you don't have to muck about with the prefs file manually. More fool-proof also :)

Not for me it wasn't. No such file was created nor was anything overwritten - I had to find out how to use WHDLoad.prefs by digging through the EAB and creating one myself.

EDIT: Re-reading this, perhaps I misunderstood what you meant. Do you just mean this is something that takes place internally, and that placing a WHDLoad.prefs file in the FS-UAE directory simply overwrites it? That makes sense, if so. And, if so, adding in a QuitKey override option in the settings would definitely be very useful!

1 hour ago, Frode Solheim said:

But, it is also a slightly better idea to register the quit key per slave in the online database, to avoid the global quit key conflicting with in-game keys. E.g. F10 in Desert Strike if I recall correctly. This will work very nicely if the WHDLoad quit feature is implemented in FS-UAE, and the Launcher just tells FS-UAE what the game-specific quit key is.

That's fair. F10 was simply the one out of the half-dozen or so different keys that seemed to come up most frequently and didn't interfere with the games that I used it with anyway. I'm sure there are exceptions. In the end though, there really needs to be one button to trigger the QuitKey. Having to pay attention to that for every game is kindof a nightmare.

1 hour ago, Frode Solheim said:

About my name, you are actually pronouncing it *incorrectly* :D

My apologies :/ I'm going to continue to do so without some kind of phonetics though haha.

1 hour ago, Frode Solheim said:

The atari-color-fix shader is indeed included with FS-UAE (it's embedded in fs-uae.dat) Enable with shader = atari-color-fix (no file extension for built-in shaders). I really should do the atari color fix internally before the shader stage (as a special filter with a separate option to enable it) so it can be combined with other shaders. When this is done, we can add information to the online database (or just use the halfcolorbug tag) so the fix is automatically applied for the games in question. Maybe with an option in the Launcher to not apply the fix (for those wanting an authentic, yet dark, experience).

Hmm... I'm almost positive I tried that and it didn't work for me. I just created one based on a version I found of the shader on Github.

1 hour ago, Frode Solheim said:

There are a lot of games and configs in the online database, and there are certainly problems with some of them. I do encourage you to submit fixes to the games (via the "Edit" tab), and also leave a comment in the "Discuss" tab as to why the fix is needed, if it is not obvious. The edit page can be a bit daunting, but it is moderated, so don't be too afraid to put something wrong there. Just write about your intention in a comment :) Or just write a comment without editing if you're uncertain how to do it.

Good deal. We certainly can understand that around here as we have our own Games DB which is constantly being worked on - but it's a noble cause :P

1 hour ago, Frode Solheim said:

Example: If you find a WHDLoad variant in the online database with an A600 model, and it works better with A1200, instead of creating a new offline configuration, *please* go to the edit page for the game (there's even a shortcut button for it in the launcher), choose "amiga_model", type "A1200", and click the "Add / Update" button - you need to log in first though.

Interesting. I wasn't aware of this.

1 hour ago, Frode Solheim said:

You are correct about the quit key override not working with 68000. That's a hardware limitation (the feature WHDLoad needs to override the slave's quit key requires 68010 or higher).

Good to know. I wasn't sure what the underlying issue was... just that it was an issue haha

1 hour ago, Frode Solheim said:

About CD32 games. If you use a proper CD32 game (model = CD32, CD image), then FS-UAE Launcher will default to using CD32 Gamepad mode. But *WHDLoad* ports of CD32 games is a different matter. These are ports of CD32 games
meant to be played on a desktop Amiga, such as the A1200 or A4000. The desktop models defaults to joystick mode. If the game needs the CD32 Gamepad mode, and is incorrectly configured, please submit a fix to the online database (joystick_port_1_mode = cd32 pad).

Ah okay, gotcha.

Thanks again for your time and for your contributions to Amiga emulation!

Link to comment
Share on other sites

(I couldn't figure out how to split up a quote in the UI when replying..., so I inserted individual quotes manually)

Quote

Interesting. I don't recall seeing this mentioned in your posts on your site when people asked about WHDLoad + savestates. I'll try that.

relative_temp_dir is a very recent option, available in version 2.8.1!

Quote

I'm not entirely sure I follow, all I can tell you is that my experience with simply throwing a WHDLoad zip directly at FS-UAE did not use any arguments on launch (and flickering during loading, etc. ensued).

I worded myself quite badly there. I meant that it does not work like that today, but I can quite easily implement an improvement to the launcher so it can (in most cases) extract the slave arguments from the .info files :)

Quote

EDIT: Re-reading this, perhaps I misunderstood what you meant. Do you just mean this is something that takes place internally, and that placing a WHDLoad.prefs file in the FS-UAE directory simply overwrites it? That makes sense, if so. And, if so, adding in a QuitKey override option in the settings would definitely be very useful!

Yes, that's exactly what I meant :) (I probably should not write forum posts when I should have slept instead ;-))

Quote

Hmm... I'm almost positive I tried that and it didn't work for me. I just created one based on a version I found of the shader on Github.

Actually, there was a bug in 2.7.15dev (and 2.8.0) where the shaders were not loaded correctly. Fixed in 2.8.1!

Quote

It was just an example. I'm sure you're perfectly aware there will be other such cases and people need to know what to do in such a scenario.

Of course! But I thought it would be useful for people to be aware of the unpublished variants, and what you can do with those! No criticism of your video implied :)

Quote

Thanks again for your time and for your contributions to Amiga emulation!

And thank you for helping people using FS-UAE :)

One additional comment:

The savegame dir name bug when launching games via UUID parameter has been fixed in 2.9.1dev. That fix will probably also be backported to a new 2.8.3 bugfix release.

  • Like 3
Link to comment
Share on other sites

1 minute ago, FrodeSolheim said:

relative_temp_dir is a very recent option, available in version 2.8.1!

Ah okay. Neat! I haven't updated to 2.8.1 yet so I'll have to give that a go.

2 minutes ago, FrodeSolheim said:

I worded myself quite badly there. I meant that it does not work like that today, but I can quite easily implement an improvement to the launcher so it can (in most cases) extract the slave arguments from the .info files :)

Ahhh okay. Well I'm glad I wasn't just crazy then haha. Yep, that'd definitely be a nice addition.

3 minutes ago, FrodeSolheim said:

(I probably should not write forum posts when I should have slept instead ;-))

Haha I can definitely sympathize :P

4 minutes ago, FrodeSolheim said:

Actually, there was a bug in 2.7.15dev (and 2.8.0) where the shaders were not loaded correctly. Fixed in 2.8.1!

Ah HA! Precisely the version that I've been using hahaha

5 minutes ago, FrodeSolheim said:

And thank you for helping people using FS-UAE :)

I hope I have! Hopefully I got things mostly right. I'm certainly nowhere near your level of expertise, but I saw a number of other "tutorial" videos on Youtube that even I knew were just way off base on some things.

7 minutes ago, FrodeSolheim said:

The savegame dir name bug when launching games via UUID parameter has been fixed in 2.9.1dev. That fix will probably also be backported to a new 2.8.3 bugfix release.

Excellent! @Eirulan's handiwork got us through in the meantime.

It sounds like I'm going to need to make another video with revisions by the time you're done with all these fixes/improvements :D

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...