Previous Page

by loveemu at 9:29 AM EST on January 26, 2019
Wario Ware Inc gsflib fixed.
https://1drv.ms/u/s!Alr6ACx5YY7_ghBK7LEOA_NY0twZ

I restored a couple of functions which have gotten partially wiped by gsfopt, by hand.

I know the gsfopt (VBA-M) and foo_input_gsf (mGBA) are using different emulation core, but I don't understand the exact point of the cause of the issue. I think WAITCNT relates to the issue, but have no more idea than that.
by Basillica at 1:14 PM EST on January 26, 2019
Thank you very much.
by loveemu at 11:17 AM EST on January 28, 2019
Now I can provide a real fix for the F-Zero. o_O

AGB-AFZE-USA.gsflib (F-Zero - Maximum Velocity)

TL;DR Make sure to remove every Cart RAM accesses before the optimization.

I have experienced similar cases in multiple games and I have concluded that the issue is caused by Cart RAM (SRAM/Flash/EEPROM etc.) access. A good rip should not have such an extra I/O access, however, it can be missed easily on manual rips, since there was no auto detection mechanisms and it somewhat works well on the emulator.

My gsfopt (based on old viogsf of VBA-M core) doesn't emulate Cart RAM accesses and always returns 0 for read access. This behavior obviously makes unexpected branching. GSF player will try to operate unknown opcode and stops working, when the player reaches to the code wiped by unexpected Cart RAM handling.

I have added a little code to my gsfopt, which will generate warnings on the Cart RAM access. I hope it will help rippers to notice that the gsf contains unwanted code inside.

While debugging on no$gba, the following breakpoint syntax is handy to check the Cart RAM access.

[0d000000..0effffff]!!?
!? ... syntax for breaking on any read or any write

I don't know whether VRAM/OAM/Pallete accesses may cause a playback/optimization issue, however, they should be removed as well. They can roughly checked via the addrest range [05000000..07ffffff]

Edit: The F-Zero gsflib above still have some VRAM write accesses. Oh! I probably won't try to fix it for a while, since it probably won't cause any problems.

edited 8:06 AM EST January 29, 2019
by MoldyPond at 8:58 AM EST on January 29, 2019
Seems to be working fine (not that it's a soundtrack I'll really be listening to ;) )

Thanks a bunch for the fixes so far :)
by kode54 at 5:40 AM EST on February 2, 2019
This emulator supports full PPU, but has no renderer. At least I think it has a full PPU register interaction support.

edited 5:41 AM EST February 2, 2019

Previous Page
Go to Page 0 1 2

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source