HoraceAndTheSpider / Amiberry-XML-Builder

Python script to scan LHA files for WHDLoad integration in Amiberry
13 stars 3 forks source link

XML overwrite necessary for Nebulus2_v1.6_1713.lha #125

Open NoobieMaks opened 3 months ago

NoobieMaks commented 3 months ago

No doors are visible! So it's not playable.

To solve this only one change is to do:

Tested with:

giantclambake commented 1 week ago

@NoobieMaks ~ I'll address this here as it's the best example of things you need hold in consideration, when requesting any changes to the XML file ;)

With this in mind, any slow running emulation you find, will directly relate to the platform you're using...ie; if you state the title runs 'extremely slow' on RPi3, that is very much not the case with most x86-64 platforms (and apple CPU machines or RPi4/5 hardware)....I know, I checked =)

The list of available options is here -> https://github.com/BlitterStudio/amiberry/wiki/Structure-of-the-whdload_db.xml-file

As you will note, there is no XML option to control the setting of Cycle Exact (DMA/Memory) ... in such a case, you need to set the appropriate option(s) in an amiberry config.uae file, that is associated with the whdload.lha game title

The setting of Cycle Exact (DMA/Memory) is not available in the amiberry preview (v6.x.x) releases. Ergo, even if the XML catered for this setting, it would be a 'no-op' for those later amiberry versions that do not support the particular option (I'll have to quiz midwan on this wrt why this option is unavailable in preview)

Therefore...as the XML doesn't cater for this setting, and the option itself is not applicable to all amiberry versions, no change of the XML is 'valid' (holistically) for this title --- the preferred route here, is to create an associated config.uae for this title in such a situation.

Don't get me wrong here ~ I do appreciate your (and anyone's =) verve to improve amiberry, but to succeed in that endeavor you really do need to be aware/considerate of 'the big picture' --- it is that 'picture' I'm attempting to draw for you here in words, so that your valuable input might be honed to the cutting point of being actionable =)

HTH

Edit: Turns out that in amiberry preview on x86-64, when CPU=68000 then Cycle Exact (DMA/Memory) is unavailable, and that setting is always True when Cycle Exact (Full) is selected. This is the default setting for preview/v6.x.x ....

./amiberry Nebulus2_v1.6_Files_1713.lha

Result: Cycle Exact (Full) is enabled, and by design Cycle Exact (DMA/Memory) is also enabled -- game title starts & runs correctly, and all the 'doors' are visible ~ game is eminently playable OOTB ...

Wrt to amiberry v5.7.3, the Cycle Exact (Full) setting is disabled by default, ergo the above cmdline invocation sees the game title start, which displays the 'missing doors' error as mentioned.

On this x86-64 rig, enabling Cycle Exact (Full) (which by default also enables Cycle Exact (DMA/Memory)), effectively fixes the issue, and no slowdown is encounter (ryzen5600 host).

The fact Cycle Exact (Full) is by default disabled in amiberry v5.7.3 would be by design ~ this enables the emulation to run at a better speed, on lower power arm platform devices....OOTB ...(users are free to change this as required)*

Conclusion:

-The XML does not contain a CHIPSET option able to address this issue. -The XML snippet for title works as expected on amiberry preview/6.3.3 due to Cycle Exact (Full) = True default -The XML snippet for this title fails wrt amiberry v5.x and previous, as by design Cycle Exact (Full) = False is default -Users of lower powered hardware, do not want Cycle Exact (Full) = True as it can impact emulation performance* -Users of lower powered hardware, do want Cycle Exact (DMA/Memory) = True to fix issue without performance hit

(*)YMMV... dependent on actual hardware being used, and the Amiga machine/software being emulated ;)

No change of the XML is warranted ~ this would be more a case of 'low powered platform tuning' when it comes to using that sort of hardware with amiberry v5.x and previous. In this specific case, the effective fix is to create an associated config.uae file for this title, that contains the required setting. We spent a lot time getting this working as expediently as possible, using the Amiberry GUI ...ie; if you load and start an Amiga software title, and then discover you need to change something for that title, hitting F12 -> change something -> Configurations panel -> Save , is all you need to do...the 'Name' and 'Description' fields are automatically filled with the correct values, you CANNOT change the Name field, but you are free to change the Description...Hint: change the name of the Amiga software file first, to how you want the associated config.uae to be Named (and appear in the GUI =)

//I might hang out here at Horace's for the afternoon, and triage your other tickets ...

HoraceAndTheSpider commented 1 week ago

Thanks @giantclambake - a well thought out and sensible answer.

if, in checking through the tickets you find anything requiring a critical change to the script itself, you are always welcome to nudge me on Discord as I haven’t made much time for this recently but would be happy to do so.

i think I did look at some new chipset options to be added but didn’t complete them, based on similar conclusions to your comments above

giantclambake commented 1 week ago

No worries...

nudge -> fix Apidya

nudge nudge --> https://github.com/BlitterStudio/amiberry/issues/1362 //comment 14

nudge, nudge, wink wink...(a nod's as good as a wink =)

On Sun, Jun 23, 2024 at 9:02 PM Horace And The Spider < @.***> wrote:

Thanks @giantclambake https://github.com/giantclambake - a well thought out and sensible answer.

if, in checking through the tickets you find anything requiring a critical change to the script itself, you are always welcome to nudge me on Discord as I haven’t made much time for this recently but would be happy to do so.

i think I did look at some new chipset options to be added but didn’t complete them, based on similar conclusions to your comments above

— Reply to this email directly, view it on GitHub https://github.com/HoraceAndTheSpider/Amiberry-XML-Builder/issues/125#issuecomment-2184944420, or unsubscribe https://github.com/notifications/unsubscribe-auth/AR6M36M3X6HEY6QMUMTJTNTZI2TOHAVCNFSM6AAAAABFUVLOEOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBUHE2DINBSGA . You are receiving this because you were mentioned.Message ID: @.***>