BlitterStudio / amiberry

Optimized Amiga emulator for Linux/macOS
https://amiberry.com
GNU General Public License v3.0
643 stars 86 forks source link

My investigations into uae configuration #127

Closed Voljega closed 6 years ago

Voljega commented 6 years ago

Hello everyone, maybe it's not the best place but I thought I would share what I discovered on uae conf files after two years of tweaking, trying, dying and retrying again from uae4arm 0.4 to amiberry SDL1. The aim of all this was to integrate amiberry flawlessly into the recalbox distribution (just to detail what usage i'm targeting with those files)

When you save an uae conf file from the emulator you get a lot of noise and cryptic parameters and I discovered most of it is totally useless when you want to simply launch games. I pastebined one there : uae pastebin

The aim of my post is simply to document what works fine now (on the last SDL1 version) and what is totally obsolete and unused, off course my files are missing some things which could interest other user such as keyboard leds or finer hardware tweakings. This is by no mean a definitive configuration file or a perfect image of which parameters are useless or not

First you'll need an adfdir.conf file in amiberry/conf dir for the emulator to populate correctly the Paths and Roms submenus of the GUI. If this file is not generated it may even lead to some troubles. Be aware that it's better that every referenced bios files exist or it may lead to some hard crashes of the emulator.

afdir.conf

path=/tmp/amiga/uae4arm/adf/ config_path=/tmp/amiga/uae4arm/conf/ rom_path=/recalbox/share/bios/ ROMs=6 ROMName=CD32 extended ROM rev 40.60 (512k) ROMPath=/recalbox/share/bios/CD32ext.rom ROMType=4 ROMName=KS ROM v1.3 (A500,A1000,A2000) rev 34.5 (256k) [315093-02] ROMPath=/recalbox/share/bios/kick13.rom ROMType=1 ROMName=KS ROM v2.04 (A500+) rev 37.175 (512k) [390979-01] ROMPath=/recalbox/share/bios/kick20.rom ROMType=1 ROMName=KS ROM v3.1 (A1200) rev 40.68 (512k) [391773-01/391774-01] ROMPath=/recalbox/share/bios/kick31.rom ROMType=1 ROMName=CD32 KS ROM v3.1 rev 40.60 (512k) ROMPath=/recalbox/share/bios/kick31CD32.rom ROMType=2 ROMName= AROS KS ROM (built-in) (1024k) ROMPath=:AROS ROMType=1

Next is the generation of the uae file which can either be placed in amiberry/conf and will be launch automatically or referenced directly from the command line launch Well this can be reduced a lot !

The following launch a WHDLoad game on amiga1200 (yes the hardware conf part is beefed up a lot and not really an amiga 1200 but it's just to show how small we can reduce the conf)

config_version=2.8.1
;hardware
chipset=aga
chipmem_size=4
cpu_speed=max
cpu_type=68040
cpu_model=68040
fpu_model=68040
fastmem_size=8
z3mem_size=64
z3mem_start=0x1000000
;controls
joyport0=mouse
joyport0autofire=none
joyport0mode=mouse
joyportname0=MOUSE0
joyport1=joy0
joyport1autofire=normal
joyport1mode=djoy
joyportname1=JOY1
input.autofire_speed=0
input.mouse_speed=100
;misc
config_hardware=true
config_host=true
button_for_menu=3
button_for_quit=16
use_gui=no
use_debugger=false
show_leds=false
;bios
rom_path=/recalbox/share/bios/
kickstart_rom_file=/recalbox/share/bios/kick31.rom
;gfx
gfx_width=640
gfx_height=256
gfx_correct_aspect=true
gfx_center_horizontal=simple
gfx_center_vertical=simple
;sound
sound_output=exact
sound_bits=16
sound_channels=stereo
sound_stereo_separation=7
sound_stereo_mixing_delay=0
sound_frequency=44100
sound_interpol=none
sound_filter=off
sound_filter_type=standard
sound_volume=0
sound_auto=yes
cachesize=0
synchronize_clock=yes
rtg_nocustom=true
;paths
filesystem2=rw,DH0:DH0:/tmp/amiga/WHDL/,0
uaehf0=dir,rw,DH0:DH0:/tmp/amiga/WHDL/,0

and this a uae file for an adf on amiga1600, it is much more simpler because amiberry populate the whole hardware conf by itself just by referencing the kickstart13 bios :

config_version=2.8.1
;controls
joyport0=mouse
joyport0autofire=none
joyport0mode=mouse
joyportname0=MOUSE0
joyport1=joy0
joyport1autofire=normal
joyport1mode=djoy
joyportname1=JOY1
input.autofire_speed=0
input.mouse_speed=100
;misc
button_for_menu=3
button_for_quit=16
use_gui=no
use_debugger=false
show_leds=true
;bios
kickstart_rom_file=/recalbox/share/bios/kick13.rom
;hardware
fastmem_size=8
;floppies
floppy0=/recalbox/share/roms/amiga600/[Action-Adventure]/Vengeance of Excalibur (1992)(Virgin)(Disk 1 of 3)[cr NMS].adf
floppy0type=0
floppy1=/recalbox/share/roms/amiga600/[Action-Adventure]/Vengeance of Excalibur (1992)(Virgin)(Disk 2 of 3)[cr NMS].adf
floppy1type=0
floppy2=/recalbox/share/roms/amiga600/[Action-Adventure]/Vengeance of Excalibur (1992)(Virgin)(Disk 3 of 3)[cr NMS].adf
floppy2type=0
nr_floppies=3
;gfx
gfx_width=640
gfx_height=256
gfx_correct_aspect=true
gfx_center_horizontal=simple
gfx_center_vertical=simple

this one is even a lot simpler so the first example may even be reduced further

In conclusion :

Voljega commented 6 years ago

and the reduced joystick controls part seem even a bit weirder and overconvoluted, I can explain that further if anyone is interested

HoraceAndTheSpider commented 6 years ago

Some pandora options do currently work, but we will look to surpress those on non-pandora releases I think anyway. There are likely to be some amiberry specific ones coming - certainly from myself in relation to custom controller mapping

The whole config management will almost certainly change on the next release due to the latest winuae updates being implemented.... so maybe it is worth us revisiting your feedback after that change so it can be streamlined further :)

ghost commented 6 years ago

I recently tried TomB's new updates on the Android version. There's no cycle accuracy yet, I tried a few of the games that have been reported on here with graphics errors etc. but unfortunately they all still have the same errors. We now have Super hires compatibility so the intro to Super Stardust plays. Action replay support and CD32 FMV support was also added but I couldn't get it to work, I chose the correct Roms but the filename doesn't show up in the GUI (see screenshot). Maybe a Android port error. Overall, im not sure its that different from the current version.

screenshot_2017-09-30-23-20-21 screenshot_2017-09-30-23-20-35 screenshot_2017-09-30-23-22-03 screenshot_2017-09-30-23-22-10 screenshot_2017-09-30-23-22-16

CypherXG commented 6 years ago

Can you convert this to an Raspberry Pi3?

HoraceAndTheSpider commented 6 years ago

That is part of the work being done at the moment

midwan commented 6 years ago

The latest changes from TomB are already merged in the "dev" branches (both SDL1 and SDL2), we are currently polishing things and working on overhauling the controller input logic. Once it's stable enough, these changes will make their way to the master branch :)

midwan commented 6 years ago

Regarding the adfdir.conf notes: The adfdir.conf file will be generated if it doesn't exist already, so that's not a problem. You don't need to manually add the ROMs or the paths there, unless you have a reason to edit it and alter what the emulator generated. The ROM list is updated by using the "Rescan" button on the GUI.

We noticed that there are some issues if the file DOES exist and contains incorrect values, which can cause problems/crashes in the emulator. Clearly, that is not acceptable and will be fixed. :)

Regarding the configuration files (.uae): We cleaned up some junk, fixed some bugs that would replicate some entries in the file, and renamed all pandora_ options that are still used to amiberry. (and removed the rest). When saving a config file, all set options are included (including those that got default values). When loading one, it's parsed for every option found and the rest are the defaults anyway - so you can make smaller config files for your needs, if you want.

I'll be closing this issue and open a separate one for the adfdir.conf issues I mentioned above, to keep it clean and easier to manage.

Voljega commented 6 years ago

Great ! Thank you I will be happy to test that