UAE core for Retroarch

Is there an example how to generate playlists with PUAE?

My games are on a D: Drive. Retroarch itself is on C:. However it seems PUAE cannot access the files on D: Even with an uae file. The files on D are ignored.

Can someone please write a tutorial. With step 1) and step 2) etc. ?

Edit: I was able to run the core. Seems like there are a lot of improvements needed. Turrican does not render correctly. Moreover mouse buttons cannot be mapped. Even shaders seems not to work.

Turrican does not render correctly. [ā€¦] Even shaders seems not to work.

Everything work well for me shaders and all. Here are some screenshots of Turrican with crt_lottes:

What renderer and version of Turrican do you use ? I use OpenGL and the WHDLoad version.

Moreover mouse buttons cannot be mapped.

You could open an issue in github. I wait till my changes are merged before doing more changes but could look at this.

My games are on a D: Drive. Retroarch itself is on C:. However it seems PUAE cannot access the files on D: Even with an uae file. The files on D are ignored. [ā€¦] I was able to run the core.

What was the problem?

This is fabulously awesome news! Iā€™ve been away for a while (health stuff) so didnā€™t see this until now. I shall be checking the update out asap. From the other comments itā€™s looking like a most welcome update.

I opened three issues in GitHub.

  • Non native resolution (try to use scaleFX, then you will recognize that scaling is not working with shaders)
  • Mouse and Keyboard Keys cannot be mapped to a controller (DosBox is doing a great approach for that)
  • Absolute Path Detection (games have to be in the retroarch folder to be played)

Thatā€™s normal, a bog standard KS1.2/1.3 A500 canā€™t run WHDLoad. WHDLoad is designed with expanded Amigas in mind, ie Fast RAM and Harddisk equipped Amigas.

Also I have a little FYI. As maintainer of the preinstalled WHDLoad packages at EAB, Iā€™ve seen numerous ā€œfalseā€ bug reports about ā€œbrokenā€ LHA archives and WHDLoad slaves.

I canā€™t stress this enough: Make sure you extract the LHAā€™s on the Amiga side in Workbench (e.g under emulation). NEVER EVER use 7-zip, WinRAR or other Windows/Mac/Linux tools. The file attributes WILL get lost and some games WILL fail to run properly (Embryo, Batman just to name a few). So the right way is to make an empty HDF (WinUAE can do that), format it to FastFileSystem and copy/extract the games onto it (In Workbench under emulation), that way file attributes is preserved.

Found another issue. It seems IPF Files cannot be loaded. The adf is working without issue. However if you switch to ipf files, uae says not enough memory (tested with giana sisters)

Iā€™m not the original developper of this core neither the orignal developper of p-uae.

As I said, I only added m3u and direct launch of games and fixed the windows build.

But I will try to help if I can.

Non native resolution (try to use scaleFX, then you will recognize that scaling is not working with shaders)

Yes, the core seems to have problems with resolutions under 640x400. So it seems to double everything. However you can try a different resolution within the cores options.

Mouse and Keyboard Keys cannot be mapped to a controller (DosBox is doing a great approach for that)

Yes, good idea. We will see if a dev want to do that.

Absolute Path Detection (games have to be in the retroarch folder to be played)

I have not that problem and I only use absolute path.

Here is an example of a .uae file I use :

cpu_type=68000
chipmem_size=2
fastmem_size=4
chipset=ecs
cpu_speed=real
cpu_compatible=true
sound_output=normal
sound_frequency=44100
sound_channels=stereo
sound_interpol=none
floppy_speed=100
immediate_blits=false
ntsc=false
gfx_linemode=double
gfx_correct_aspect=true
gfx_center_vertical=simple
gfx_center_horizontal=simple
show_leds=true
kickstart_rom_file=D:\Emulation\Emulators\RetroArch\system\kick40063.A600
hardfile=read-write,32,1,2,512,D:\Emulation\Emulators\RetroArch\system\WHDLoad.hdf
hardfile=read-write,32,1,2,512,D:\Emulation\BestSets\amiga1200\Turrican.hdf

I can try to see what is wrong if you post your logs at least.

It seems IPF Files cannot be loaded.

Many emulators needs a plugin to handle ipf files. Donā€™t know for p-uae. Never tried.

If those problems are deal breakers, sorry but you will have to use another better supported emu (WinUAE, FS-UAE). There is nothing better in RetroArch for the moment.

At least, now that it launch games, new bug can be found :smiley:

1 Like

You did a great work. :slight_smile: My comments are no complaints or negative comments. Just want to hightlight the improvement potentials to make it a great amiga core. Due to its state we can further improve the core. So your PR is reall great.

Concerning the issues:

I tried every kind of resolution setting. But it seems P-UAE increases the resolutions. It is like nearest neighbour upscaling. So Scalers like xBR or ScaleFX cannot deal with it.

Normally P-UAE support IPF files (actualle e-uae supports them, and p-uae is based on e-uae). IPFs are original copies from the amiga discs. ADFs are mainly hacked with several intros or changes to game data. Giana Sisters is a great example because due to the ADF Release, the game has graphic issues (clouds are for example missing).

If someone wants to play a game in its original form, he has to use IPF images.

Edit: Found the issue concerning pathes. Using / is for relative pathes. However \ is for absolute pathes in Windows. I used / in my pathes. :smiley:

Has anyone tried running CD32 ISOS to see if the emu can handle those games yet? Not sure if P-UAE supports that system.

1 Like

Yes, it is possible you have to define the cd kickstart in the uae file with kickstart_ext_rom_file=

Btw. I found the root cause why scaling filters do not work.

The core provides two internal scaling methods. gfx_lores= (default = true) gfx_linemode= (default = double)

If both are activated p-uae doubles the size of the image horizontally as well as vertically. If both settings are deactivated the frame because pretty slow (however pixel perfect). So the rendering of the core has to be changed to output the frame always in fullscreen.

Very good job. Just tried it and it seems to work with scalfx:

Will fix this as soon as possible.

Edit : Iā€™ve made a quick patch. You have to set a low resolution in the options to activate it. Will test it more and provide a PR on GitHub as soon as my previous patch is merged. Tell me if it work for you :wink:

Yes, I know what ipf are. But you know, on this time, we all had cracked versions. So the the original experience is adf with cracktros :wink:

Anyway, e-uae needed to be built with ipf support and with a special lib to support ipf. Will look if this is the case.

Great news, so no problem on this side !

I tried, but the emu doesnā€™t support iso but only ā€œuncompressedā€ directory and even with that it doesnā€™t seems to work.

Edit : Removed the link to my personnal build.

1 Like

All these games are bringing back so many childhood memories. This is like the best update Iā€™ve ever personally experienced with Retroarch so far, thanks @DamsRoxxx

1 Like

This is awesome news. :smiley: So only the keyboard/mouse mapping together with full IPF support is missing. You are fantastic.

Hi, thanks for all these improvements. All these are available for android cores ? Thanks

Tested the new build I have however a black border around the frame (top and bottom). So it is not fullscreen.

However scaling and shaders work now without limitations.

I think the best approach would be to remove custom gfx_height, gfx_width, gfx_linemode and gfx_lores setting. The standard resolution is: 320Ɨ200 @ 60Hz (NTSC) 320Ɨ256 @ 50Hz (PAL) up to 32 colors, EHB, HAM 4096 color palette

The modes like scanlines, double, etc. can be realised with shaders. So we can make the core more lean when focusing on the standard resolution. Moreover the devs have to decide where to place the options - in the uae file or in the retroarch GUI. Otherwise it could become confusing for the user where to set the right configs.

It is normal for -most- Amiga games to have black borders, like Turrican, this happens on real Amiga too.

However, there are games and especially scene demos (e.g. State of the Art by Spaceballs) that do use the full Pal overscan area (up-to something like 288 vertical res).

Because of this I would advise against messing with the resolutions in the core.

I think the option you want is a core option ā€œcrop overscanā€. Many other cores have this, it simply cuts off the overscan area when the option is enabled, by which black borders are removed for games that have them.

1 Like

Thatā€™s true. The Amiga has no fixed resolutions. The viewable screen is freely programmable. A few games uses the PAL overscan mode too and with this you get a real fullscreen (e.g. The Settlers or some Team 17 games).

Is the core available somewhere?

Agreed 100%. And there are some programs (maybe even some games) that use PAL overscan and interlace, thus reaching 576p vertical resolution. One emulator that makes a great job in adapting the screen to the changed resolutions in real time is FS-UAE, but I donā€™t think that the retroarch core is ready yet.

And: one must keep in mind that many of the games were produced with Amigas NTSC in mind. You can recognize these because usually the graphics occupy only about the upper two thirds of the screen. For these games itā€™s better to set resolution=720x480 and NTSC=true.

Yes, u are right. I read the amiga and p-uae documentation and its source code.

In general the amiga supports several low resolution modes: 320x240, 320x256, 300x200. Only some games uses the high resolution modes/double lines which are either twice the pixels of the horizontal, vertical or both scales.

P-uae can display all resolutions in a very comfortable way with gfx_height or gfx_width. I was able to crop the black borders with the right resolution setting.

The NTSC setting is more or less only relevant for the CPU, which needed some higher cycles due to the higher fps.

P-UAE only misses one feature from fs-uae. P-uae has already an approch to cover this feature, but it is not mature enough. It is screen/frame alignment. Currently P-UAE only supports to center the frame. However not pretty well. I can post some screens later which demonstrate, that the frames are slightly left shifted.

The feature in P-UAE has to be enhanced to align the frame vertically on top, bottom or center. Same for the horizontal alignment which needs to cover left, center and right. Then it would be possible to display all games in the correct manner.

The only question is how to use the core options and uae config files in a proer way.