BlitterStudio / amiberry

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

HighGFX Support for Amiberry #1221

Closed Mangerio closed 9 months ago

Mangerio commented 10 months ago

Lately i found new display drivers for the ECS/AGA chipset.

https://aminet.net/package/driver/moni/HighGFXnmore

HighGFX'n'more a package with additional screenmodes for the classic AmigaOS (V3.0+)

800x600 SuperPlus 48Hz, 15,16kHz 1024x768 HighGFX 55Hz, 22,22kHz interlaced 1280x720 HD720 47Hz, 17,86kHz interlaced 1280x1024 XTREME 34Hz, 18,08kHz interlaced

I have tested the new screen modes in WINUAE and they work beautifully!

Would it be possibe to adapt Amiberry to handle these resolutions? That would be awsome for Lightwave 3D users! Software packages like Lightwave 3D that don't work flawless on RTG would benefit greatly from HigRes planar screen modes!

solskogen commented 10 months ago

What happens in Amiberry?

Mangerio commented 10 months ago

Amiberry can read the "Signal" but does not display it correctly. The scaling and location are off. Flicker fixer is not working. The three higher modes are without color. The SuperPlus 800x600 ist almost okay but not 100%. I think it's because the timings of these modes are very strange. Hopefully some tweaking could help? The latest version of WINUAE displays the HighGFX perfectly in Full Screen mode. If you choose the same resolution for the WINUAE display.

SuperPlus

IMG_20240130_144901507

The others

IMG_20240130_144914664 IMG_20240130_144845365 IMG_20240130_144828370

midwan commented 10 months ago

You could test this in the Preview version, which is more up-to-date with the latest WinUAE. Some things are still not implemented, like custom monitors and graphics cards, but the core emulation is 100% identical. You can find pre-compiled binaries for the Preview version in the Releases (marked as RC), or compile it from source from the preview branch. Please note it's 64-bit only, and it has no JIT for ARM yet (but it has JIT for x86-64).

Mangerio commented 10 months ago

Thank you for the clue! Things look much better with the latest Preview. I got the best results when i chose the same resolution in UAE in fullscreen mode.

The image is now captured almost right. In color with flickerfixer working. SuperPlus 800x600 is good! Usable! The other three have still problems with the scaling but are otherwise okay!

Great! Hope the issues will be fixed with UAE 5.2!

IMG_20240202_185209555 IMG_20240202_184947802 IMG_20240202_185242317 IMG_20240202_185445615

midwan commented 9 months ago

@Mangerio I've done a lot of work on this in a separate branch, which includes a lot of refactoring of how the GFX code works. Among other things, there is a separate window for the GUI and the emulation screen, the screen size is determined by what's being emulated, and the manual Width/Heigth values now represent manual cropping (if enabled).

This seems to work with HighGFX modes properly as well, since they are no longer restricted to the PAL resolutions, as before.

Feel free to give it a shot and provide any feedback: feature/gfx-rewrite - The plan is to eventually merge that into preview, once we're sure no issues or new bugs have been introduced. :)

Mangerio commented 9 months ago

Sounds good! Awsome! Will test and feed back!