RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    [Tutorial] "Almost" perfect amiga emulation - UAE4ARM and WHDLoad images [Amiga]

    Scheduled Pinned Locked Moved Help and Support
    amiga uae4arm
    17 Posts 13 Posters 61.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • xFleskX
      xFlesk
      last edited by xFlesk

      Hello there
      First of all sorry for my bad english
      I would like to help all AMIGA lovers to make their favorite games runs as fast as possible and to be able to select them nice via emulation station gui.

      Please keep in mind that this is my first tutorial, i’ll do my best to make it as easy as possible even for a new amiga emulation fans.

      Let’s start:
      To achieve the goal we are going to use optional RetroPie emulator UAE4ARM (which is the best option as for now). All amiga games will be stored as *.hdf files (runing games via harddrive using the build-in installers or WHDLoad images is way faster then runing from *.adf files. Also you will forget about disk swaping).
      Each amiga hdf file (each game) going to have its own UAE4ARM *.uae config file which is very important. Thank to it every game will have an unique configuration which is as much compatibile with a specify title as possible.

      Following tutorial was made on the latest version of RetroPie 4.2 running on RaspberryPi 3b.
      Most operations we are going to do using windows and Total Commander.
      As an example we are going to use whdload image of a great freeware amiga game called SQRXZ (WHDload image attached) developed by RetroGuru. Please give a hug and see more amazing games here http://www.retroguru.com/.

      What we need:

      RetroPie:

      • UAE4ARM emulator – it can be downloaded from optional packages in RetroPie > RetroPie setup > Manage packages > Manage optional packages.

      • Amiga bios files – Highly recommended to buy Amiga Forever (https://www.amigaforever.com/). For only 30$ you can get Plus Edition which constain every legal kickstart rom you need. Its also nice to support this amazing project, as it keeps amiga alive and thats what we want ;) otherwise use google to find it. We have to place 2 bios rom files inside a RetroPie BIOS folder (/home/pi/RetroPie/BIOS ):

        Kickstart v2.05 r37.299 (1991)(Commodore)(A600)[!].rom (rename it to kick20.rom)
        Kickstart v3.1 r40.63 (1993)(Commodore)(A500-A600-A2000)[!].rom (rename it to kick31.rom)

      • HDF image files – follow tutorial.

      • Mouse and keyboard – i know that most of you would like to use only controler but you still have to press F12 and Q to exit an emulator. To be honest: be serious guys, you are about to emulate a computer, and computer needs its keyboard and mouse. Lots of games use keyboard for highscores, passwords, cheats ets, a lot was made for mouse also.

      Windows

      • WinUAE emulator whit working workbench (can be loaded from ADF) – www.winuae.com. I will not explain how to use it since it would take a lot of time. In this tutorial i’ll try to use it as less as possible, but if you are real amiga lover you should learn how to use it, its like amazing.
        Quick begginers tutrial can be found on youtube here

      .

      • WHDload – the one and only (now finally for free) HD games loader. Lha archive can be found here http://www.whdload.de/.
      • Total Commander with AmigaDX plugin. Test version can be found here http://www.ghisler.com/ and the AmigaDX plugin here http://www.ghisler.com/plugins.htm.
        We could use only WinUAE but its demands advanced knowledge about it and about a real amiga itself, thats why i recommend to use TC with AmigaDX plugin since its way faster and easier for noobies.
        Why TC with plugin ? It allowes us to easly copy and remove files from within a hdf files (as well as all most common amiga files like *.adf *.dms *.lha etc) which are a base for our games.
      • WHDLoad images – here will be difficult. Making a WHDload images from scratch its for advanced users only (you can find many tutorials on internet). You have to use Amiga OS for it, you need game disks images stored as IPF files, you need to know how amiga works which can take a time (i highly recommend to go deep in it since its very beautiful machine). Of course if you own your amiga game but you simply unable to do it, you can search google for WHDLoad collections.

      Preparing HDF image.

      (If you are lazy or really noobie you can skip point 1 and 2 and download my preconfigured HDF files with all (freeware) stuff you need inside)

      1. First we have to create HDF file using WinUAE. Lets call it SQRXZ.hdf. Nice tutorial can be found here http://amiga.amedia-computer.com/document/Minimig/HDF_Creation_Minimig_English.pdf.
        Before u set a size of your hdf image let me tell you something about hdf files. HDF image will be used for load a content as well as save a content. It means that all games which supports saving will store data within the hdf file itself thats why i highly recommend to use like 1mb – 2mb bigger hdf file then a specify whdload image. In our case we have like 1mb whdload image so for this game we are going to use 2mb hdf file. Thanks to it game has a space for additional save data.
        Before we can use it, it must be formated under amiga OS (Use amiga workbench under WinUAE).
        Insert workbench adf file into DF0 and mount hdf file as DH0 (while mounting hdf file is important to uncheck the „bootable” option, otherwise emulator will try to boot from our hdf file which is empty instead of load workbench from floppy image).
        In workbench desktop simply right click your hdf icon and select format, put a nice name for your image (SQRXZ in our example) and continue. After this our hdf file is ready to be edited in Total Commander.

      2. Prepearing hdf folder structure.
        Open total commander and find your SQRXZ.hdf file which you created. Thanks to AmigaDX plugin you should be able to easly browse image (just like zip files). Open your hdf file and create folder structure like this:

      C
      Data
      Devs / Kickstarts
      Libs
      S

      C – in this folder we’re going to store some importent tools including whdload launcher itself.
      Data – here will be a place for our whdload image files
      Devs / Kickstart – some games require additional rom files to work which if needed will be stored here. Every whdload image contains „read me” file with additional info about requirements. Highly recomended to read it. All kick roms can be found on your workbench disk in same folder (devs/kickstarts) or Amiga Forever cd.
      Libs – some titles require additional libraries (kind of DLL file on windows) which if needed will be stored here. very rare, but if really necessary you can search huge legal amiga repositorium http://aminet.net/.
      S – this is the place for startup-sequence. In startup-sequence we specify what and how will be loaded.

      1. Coping files into hdf image.

      Folder C:
      in total commander navigate and open adf file with workbench image and copy following files from C folder to your C folder on hdf: Assign, Execute, Setpatch.
      Next, open whdload package and copy WHDLoad to you C folder on hdf file.

      Folder Data:
      here we unpack our sqrxz game data from wdload package. Open SQRXZ.lha (total commander) and copy content of sqrxz folder into data folder of your hdf file.

      Since sqrxz dont need addtional kickstarts file and libraries we can go direct to folder S

      Go into S folder (on your hdf file) and create text file (without extension) named „startup-sequence”. Copy/paste this into startup sequence and save

      C:SETPATCH quiet
      C:Assign > NIL: ENV: RAM:
      C:Assign > NIL: T: RAM:
      cd Data;
      Whdload Sqrxz.slave PRELOAD QUITKEY=89;

      in our case we use Sqrxz.slave (slave its a main boot file used by whdload launcher) but you can use this sequence for other titles, just place a correct slave name.
      Next open again whdload package and copy WHDLoad.prefs to S folder also.

      If you did everything good you should have file structure like this:

      0_1487801122160_Bez tytułu.png

      Sound pretty complicated but if you get used to it you can prepare a game in less then 10 mins.
      Copy your hdf file to your retropie amiga roms folder.

      Prepare retropie:
      Our first hdf image is ready to go, now we have to prepare our retropie and emulator.
      The main file for our game list will be a config file *.uae created directly in UAE4ARM. Default emualtion station settings do not support this extension thats why we have to add it by hand to our es_systems.cfg file.

      In retropie open console (F4) and type following:

      sudo nano /etc/emulationstation/es_systems.cfg

      find amiga and add .uae extension in <extension> ... </extension> field
      ctrl+x to save your file and then type „reboot” to restart machine.

      thanks to it emulation station will show our uae „roms” on the list (i wrote „roms” because technicly those are only configuration files for UAE4ARM)

      Second thing we have to do is to let UAE4ARM run our uae file direct without poping up gui. Latest instance of UAE4ARM support this feature as default but if for some reason something is not working follow this:
      Open termianl (F4) and type:

      sudo nano /opt/retropie/configs/amiga/emulators.cfg

      wipe out entire text and put this one instead:

      uae4arm = "pushd /opt/retropie/emulators/uae4arm/; ./uae4arm -f %ROM%"
      default = "uae4arm"

      thanks to this all games will start automaticly direct from ES gui.

      Now we’re going to configure the UAE4ARM. We have to set the paths for our bios files and config files. To do it we start UAE4ARM. In the menu we choose „Paths” and set paths like this

      System ROMs:
      /home/pi/RetroPie/BIOS/

      Configuration files:
      /home/pi/RetriPie/roms/amiga/

      Now emulator will use kick files stored in BIOS folder (its easy to operate in this folder via samba share etc) and store config files direct in roms folder.

      Prepare configuration file:
      now when we have our hdf file and configured retropie its time to prepare configuration file for our game. This we do in UAE4ARM itself.

      Few words about configuration file. Depending on what game we choose we have to set specific configuration to make it work as good as possible. Some games require different kickstarts (2.0 or 3.1), some of them needs more ram memory or chip memory etc, some of them runs with ECS chipset some with AGA, some need powerfull CPU to run smooth and some need slower because otherwise they run to fast. Thers quite a lot possibilities which im unable to write here, you must try by yourself, learn a little bit about it etc. The best way to do this is to practice it using WINUAE coz UAE4ARM is based on it and has almost same options.
      Fortunetly (from my experience) most of the games runs very good using the same specs, only some of them need special treatment ;). im going to explain a little bit how to do it and of course attach config file so you can check it, compare it and use it.

      First of all start emulator using a shortcut +START UAE4ARM. I noticed that latest build of UAE4ARM start direct to amiga boot screen so press F12 to popup gui.

      Lets add our first config file in Configurations tab:
      In the „Name” field write the name of your game (in our case SQRXZ) and press save. The config file should now appear in the top menu. Now set up my „almost” universal config:

      CPU and FPU:
      CPU = 68040, JIT
      FPU = CPU internal
      CPU Speed = Fastest

      Chipset:
      Chipset = AGA
      Blitter = Normal
      Copper = Fast copper
      Collision Level = Sprites and Sprites vs. Playfield

      ROM:
      Main ROM File = KS ROM v3.1 (A500,A600,A2000) rev 40.63 (512k)

      RAM:
      Chip = 2mb
      Fast = 8mb

      Floppy drives:
      DF0 = on

      Input:
      Port1 = here set up your joypad (i use ps3 controller)

      Save your config. The rest of options you can leave as default (note: when your game wont start or runs not so good you can play with config by changing kickstart, CPU speed, amount of ram etc).

      Now add hdf file as your main harddrive. To do this select „Hard drives / CD” and click „Add Hardfile”. In popup menu select path to your game (in our case it will be /home/pi/RetroPie/roms/Amiga/SQRXZ.hdf). Check (if not checked) „Bootable” and click OK.
      Now save your config for a last time.

      Thats it, restart emulation station (so roms appear on the list) and you are ready to go.
      If you set everything good your amiga game list should look and work like this (not my video):

      Good luck ;)

      Less then 10 mins method:
      if you get familiar with this tutorial and succesfully made your first hdf file you can use those tips to make it even faster.

      • Pick whdload file (check size)
      • pick one of my preconfigured hdfs (select proper size)
      • open it in TC and copy whdload game files into data folder and edit startup-sequence by adding only a name of slave
      • copy hdf file to amiga roms
      • copy and rename the same as new hdf file your config file you just did (SQRXZ.uae in roms folder)
      • start UAE4ARM and load your new config
      • change hdf file path and save config. Thats it, another game ready

      hope i help ;)

      Here are attached files:

      • Preconfigured hdf images - http://www31.zippyshare.com/v/QppKffxn/file.html
      • SQRXZ whdload image - http://www105.zippyshare.com/v/aIiak03i/file.html
      • SQRXZ hdf and cfg example - http://www30.zippyshare.com/v/5keg2SME/file.html
      BuZzB 1 Reply Last reply Reply Quote 6
      • BuZzB
        BuZz administrators @xFlesk
        last edited by BuZz

        This post is deleted!
        1 Reply Last reply Reply Quote 0
        • BuZzB
          BuZz administrators
          last edited by BuZz

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • xFleskX
            xFlesk
            last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • MadRikXIVM
              MadRikXIV
              last edited by

              @xFlesk said in [Tutorial] "Almost" perfect amiga emulation - UAE4ARM and WHDLoad images [Amiga]:

              ust try b

              Thankyou for this guide, I'm going to have to get this running, I paid for WHDLoad when I 'retro-brited' and converted my Amiga 1200 to a usb floppy and compact flash drive.

              The only downside of an original 1200, to get a fair few running, RAM, that stuff is a silly silly price,was over £50 for a measly 4 meg!!

              1 Reply Last reply Reply Quote 0
              • A
                ABrugsch
                last edited by

                Wish I could upvote this more. Thanks!

                1 Reply Last reply Reply Quote 0
                • B
                  BennyProfane
                  last edited by

                  @xFlesk thank you so much for this!!!! Not only the guide but the premade images too, legend!

                  1 Reply Last reply Reply Quote 0
                  • T
                    theghostofelvis
                    last edited by

                    @xFlesk First of all many thanks for this! It's really amazing!

                    I have one Question : I am using a selfmade bartop and retrogame for the Key inputs. Is it possible too load the right keysettings (retrogame GPIO) for every game when starting the Game?

                    I tried to add a line into emulators.cfg but i think it's not recognized! The only thing i wanna do, is copy the right keyfile (named the same as the ROM only with other extension) to the standard file, for Sqrxz it would be : sudo cp /home/pi/Sqrxz.cfg /home/pi/retrogame.cfg . Is there a way to do this ?

                    many thanks in advance!
                    theghostovelvis

                    1 Reply Last reply Reply Quote 0
                    • T
                      theghostofelvis
                      last edited by

                      So all is working now . I made it with the runcommand-onstart.sh and runcommand-onend.sh scripts!

                      runcommand-onstart.sh looks like (example only for 2 systems) :

                      #!/bin/bash

                      system="$1"
                      full_path_rom="$3"

                      rom_file="${full_path_rom##/}"
                      rom="${rom_file%.
                      }"

                      if [ "$system" == "amiga" ]; then
                      sudo cp /home/pi/Adafruit-Retrogame-master/configs/retrogame.cfg.$rom /boot/retrogame.cfg

                      elif [ "$system" == "mame-mame4all" ]; then
                      sudo cp /home/pi/Adafruit-Retrogame-master/configs/retrogame.cfg.mame /boot/retrogame.cfg
                      fi

                      In the end script i copy only the retropie GPIO setting back...

                      So i can set the GPIO Mapping for every Amgia Game extra, its perfect for my Bartop which is specially designed for playing Pinball Games like Slamtilt, Pinball Illusions....

                      greets
                      the ghost ofelvis

                      1 Reply Last reply Reply Quote 0
                      • AndersHPA
                        AndersHP
                        last edited by AndersHP

                        Thanks for the guide!
                        Is this libretro/retroarch based? I have an iPac setup, that maps buttons as a USB keyboard does. So if I could edit a retroarch.cfg file and change button mappings that way, I'd be happy..?

                        Or is button mappings done via some kind of menu in the emulator?

                        Edit: a quick google search shows older topics that state that UAE4ARM doesn't include button mapping at all, meaning that games are unplayable unless you're using a keyboard... Is this still the case? I see your guide recommends this for quitting games etc, but what about game controls?

                        My "Bubble Bobble" Themed Bartop Arcade
                        My Gameboy

                        1 Reply Last reply Reply Quote 0
                        • T
                          theghostofelvis
                          last edited by

                          Hi!

                          Sorry for the late answer!

                          I can set the complete button mappings (through GPIO ports incl. in game keys) for each game separately for UAE4ARM! You just have to know which keyboard keys are used by the game and map them to the GPIO Ports!

                          I don't know if it's possbile with the iPac!

                          AndersHPA 1 Reply Last reply Reply Quote 0
                          • AndersHPA
                            AndersHP @theghostofelvis
                            last edited by

                            @theghostofelvis iPac functions as a USB keyboard, not connected via GPIO pins.
                            So with retroarch based emulators, I edited the CFG to map every controller input to button presses on a keyboard. So if the mapping for the UAE4ARM can do keyboard inputs, that'll work.. But the job has to be done for every game then?

                            My "Bubble Bobble" Themed Bartop Arcade
                            My Gameboy

                            1 Reply Last reply Reply Quote 0
                            • T
                              theghostofelvis
                              last edited by

                              Nearly every Amiga game has its own control keys, so yes it has to be done for every game !

                              1 Reply Last reply Reply Quote 0
                              • T
                                tutenchamun
                                last edited by

                                sorry for my noob question:

                                I tried to follow through on this, but I Total Commander will not let me copy anything to the Data SubFolder - it says that this is not possible within an archive.

                                I tried to look around but did not came across a solution to this.

                                1 Reply Last reply Reply Quote 0
                                • N
                                  nemo93
                                  last edited by

                                  All,

                                  I've found an even better method, even simpler. Please have a look at this post:

                                  https://retropie.org.uk/forum/topic/12656/amiga-amiberry-whdload-holy-grail

                                  fnkngrvF J 2 Replies Last reply Reply Quote 0
                                  • fnkngrvF
                                    fnkngrv @nemo93
                                    last edited by

                                    @nemo93 said in [Tutorial] "Almost" perfect amiga emulation - UAE4ARM and WHDLoad images [Amiga]:

                                    All,

                                    I've found an even better method, even simpler. Please have a look at this post:

                                    https://retropie.org.uk/forum/topic/12656/amiga-amiberry-whdload-holy-grail

                                    At this point people need to remember that RetroPie now supports multiple boards and systems. Amiberry is Raspberry Pi hardware specific.

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      jasontallen @nemo93
                                      last edited by

                                      @nemo93 said in [Tutorial] "Almost" perfect amiga emulation - UAE4ARM and WHDLoad images [Amiga]:

                                      All,

                                      I've found an even better method, even simpler. Please have a look at this post:

                                      https://retropie.org.uk/forum/topic/12656/agency-amiberry-whdload-holy-grail

                                      Thanks! This method is simpler and faster but the best thing is all packages being versioned.

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                      Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.