libretro / uae4arm-libretro

Port of uae4arm for libretro (rpi/android)
6 stars 9 forks source link

A1200 config causes error c-128 in PS Vita. #15

Open Snowbro88 opened 3 years ago

Snowbro88 commented 3 years ago

When I configure an Amiga 1200 model in general or individually with any amount of fast memory, when executing any game a typical Vita c-128 error occurs and retroarch closes, which makes it impossible to execute any game that works for example with the AGA chipset, other configurations like the default A500 or with A600 work without problems.

I have the correct kickstart acording to the readme.

Chips-fr commented 3 years ago

It could be due to the JIT part which is activated by default on this version. Newer source code disable it by default since on A500 & A1200 configurations it doesn't improve so much the performances. I can compile a test version without JIT or share a uae file which enable to play with the JIT activation. If you have a dump it could help too .

Chips-fr commented 3 years ago

Can you try to create a .uae file which contains following and put it in your adf directory ?

config_description=UAE default configuration
config_hardware=true
config_host=true
config_version=1.5.3
; common
use_gui=yes
kickstart_rom_file=/home/pi/adfAGA/kick40068.A1200
kickstart_ext_rom_file=
floppy0=
floppy0type=0
nr_floppies=2
cachesize=8192
synchronize_clock=yes
immediate_blits=false
fast_copper=true
show_leds=false
chipset=aga
collision_level=playfields
a1000ram=false
fastmem_size=0
z3mem_size=0
z3mem_start=0x1000000
bogomem_size=0
gfxcard_size=0
chipmem_size=4
finegrain_cpu_speed=1024
cpu_type=68ec020
cpu_model=68020
cpu_compatible=false
cpu_24bit_addressing=true

Change the line kickstart_rom_file= with your A1200 kickstart directory and name. You could try an empty kickstart too (only "kickstart_rom_file=" ) Normally it should fails as if loading an AGA adf but we could try to change lines in order to understand what is failing. I was thinking to change cachesize to 0

Snowbro88 commented 3 years ago

Right now I'm testing it, I'm just asking, how should I name the .uae file that I should create?

Sorry for my English, is the best I can do.

Chips-fr commented 3 years ago

You can name it as you wish. Example: A1200.uae If it fails then try to change some options like "cachesize=0" or "cpu_compatible=true"

Snowbro88 commented 3 years ago

Sorry for the delay, I was doing the corresponding tests and clarifying concepts so as not to be doing something wrong, to begin with I have the core options in automatic model with 8 mb of fast memory for the games that need it, what I can notice is that effectively only the adf or hdf with the ending in the name AGA cause crash in Vita, the other normal games or with ECS or OCS work perfectly without moving anyadjustment.

Now I tried what you said about the .uae file and modify the options "cachesize = 0" or "cpu_compatible= true" but I did not notice any change, AGA games crash inevitably, in fact apparently it is not able to load the game and start , the only thing I can help with is leaving you these files that ps vita generates from the core dump errors. I am new to using this platform (GitHub) and I do not know if it is correct to leave download links, sorry if it is not.

https://mega.nz/file/egwWiSwR#zE73t2d-3w9t5ej8rFsxpwoSp10ND_DC09H5YQEbGHc

If you could give me a version of the core with the JIT function disabled, I could also try it, thanks for all the interest, yesterday I was playing in this core Lionheart full speed in hdf on PS Vita.

Chips-fr commented 3 years ago

Sorry if is was not clear, but the idea is to open the .uae file as you open an adf or hdf. It is another format supported by uae4arm core. With this .uae file you should start into kickstart (amiga rom) and no game should start.

Snowbro88 commented 3 years ago

Hello friend I finally understand what you mean and I already run the A1200.uae file as if it were a game in adf or hdf and these were the results I got, first modify the path of my kickstar A1200 as you mentioned:

With the original copy paste you shared I got a c-128 error.

With the original copy paste you shared and "cpu_compatible = true" I also got a c-128 error.

But with the original copy paste and modifying "cachesize = 0" the kickstar start and I got the following screens, one with the path of my kickstar A1200 and another with that path empty, I leave them uploaded to mega because I can't find the way to put pictures here.

https://mega.nz/file/GhgWWYLQ#0Jz_UzV24ztMNx43vXYGaaN1FjYn-eTn1D5RLWvxe9s

I guess it fixes the problem of the the A1200 config leaving cachesize = 0. It is the info that I can give you, I hope it is useful to you, thank you.

Chips-fr commented 3 years ago

Thanks, this is exactly what i wanted and what i expected: the JIT part is not working on vita. cachesize set to 0 disable it. I think it's acceptable to disable it since impact is low on A1200 and A500 configuration. I will try to benchmark this on raspberry and will push an update for this (either disable it only on vita or all ...) If you put an adf filename in "floppy0=" line of uae file you should be able to boot A1200 game or demos :) Thanks

Snowbro88 commented 3 years ago

Ok then I'll be waiting when this change is applied to the Vita version, thank you very much for everything.

Chips-fr commented 3 years ago

The correction has been merged. You can check the nightly (perhaps tomorrow) if it solve on vita.

Snowbro88 commented 3 years ago

Hello friend, I already downloaded yesterday's nigthly and everything works very well both the hdf and the A1200 config, most of the games go full speed with the exception of very heavy games such as Putty Squad AGA or Jim Power, otherwise everything is perfect, thank you very much again.

Chips-fr commented 3 years ago

Thanks for the feedback. Good to know everything is ok now.