BlitterStudio / amiberry

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

SDL1 | Missing Screen Resolutions... #67

Closed CypherXG closed 7 years ago

CypherXG commented 7 years ago

Ok. I write again about the missing Screen resolutions with Picasso Mode. I'll be using Amikit and my own normally installed Workbench 3.1 with installed Picasso Driver from Aminet. The RTG Library Version is 3994. When i use "sry" CHIPS Version of uae4arm there are all Mods that was written in the rasp_gfx.cpp File.

In your rasp_gfx.cpp are these Modes:

define MAX_SCREEN_MODES 13

static int x_size_table[MAX_SCREEN_MODES] = { 640, 640, 720, 800, 800, 960, 1024, 1280, 1280, 1360, 1366, 1680, 1920 }; static int y_size_table[MAX_SCREEN_MODES] = { 400, 480, 400, 480, 600, 540, 768, 720, 800, 768, 768, 1050, 1080 };

Nice, but in Amitkit and the normal installed Workbench with no extra Software the max Resolution is 1024x768. Also missing 720x400, 960x540 Screenmodes

Here are the Picture Links: Amikit: https://picload.org/image/rllglpcl/img_20170309_085646.jpg Normal installed WB 3.1 with Aminet Picasso Driver: https://picload.org/image/rllglpci/img_20170309_090009.jpg

When is start the same System with CHIP uae4arm all Screenmodes are fine as rasp_gfx.cpp

Can you help me about this, then i can compile my own Version :-)

Greets Markus

midwan commented 7 years ago

@CypherXG I'm not exactly sure what the problem is here... :) Do you mean that you're missing the 720x400 and 960x540 resolutions, even though they are in the list?

CypherXG commented 7 years ago

The Problem ist that not all Screenmodes are listet in the Workbench Screen Resolution Prefs Only Standart PAL and NTSC (Amiga standart Modes) and from the Picasso Modes only 640x400, 640x480, 800x480, 800x600, 1024x768 (8,16,32Bit). Thats all With Chips Version and the same Amiga Systems all Screenmodes from rasp_gfx.cpp are listet and can be used

midwan commented 7 years ago

That sounds strange, as I have been using the emulator using Picasso modes up to 1080p here, even on the Pi Zero... :)

There might be something wrong with your system (Workbench installation, Picasso installation) if you're missing those modes. Do you have a Picasso-related monitor driver in Devs:Monitors?

CypherXG commented 7 years ago

Here is a Screenshot from Chips compiled orginal src Code: https://picload.org/image/rllgipli/img_20170309_111700.jpg Here is your Screenshot fresh compiled from your scr Code: https://picload.org/image/rllgiplw/img_20170309_111417.jpg You see the differents between the listet Screenmodes with the same System.

With my System i think is all ok. Amikit...ok....but i installed a new fresh Workbench from Disk and the only i installed are the Picasso driver from the Aminet. Thats all. I'm running your Emulator on a Pi3.

midwan commented 7 years ago

@CypherXG Thanks, I'll take a look at my system later today and check what I have there to compare.

CypherXG commented 7 years ago

No Problem. :-)

midwan commented 7 years ago

Confirmed, seems to be a bug in the SDL1 branch. Something added recently, since this used to work in earlier versions.

I'll get it fixed. :)

midwan commented 7 years ago

@CypherXG Did you do any software updates recently? The emulator hasn't changed regarding this area really, but software updates (especially firmware updates on the Pi video drivers) have changed a lot lately.

The problem originates from the check that SDL1 makes before adding a mode, using SDL_VideoModeOk() for a given screenmode in the list. If it detects that the mode is supported, it will be added in the list, otherwise it's skipped.

For some reason, in the latest updated raspbian version this comes back as false for all modes in the list higher than 1024x768. Even if I take away the check for testing purposes, and try to switch to a higher resolution manually, I get nothing on the screen.

This is not a problem with SDL2 of course, on the same system... :-/

midwan commented 7 years ago

Actually, I take that back... It helps if the monitor supports the resolution you're testing (argh). :)

Let me see if I can prepare a quick fix

midwan commented 7 years ago

@CypherXG I've pushed out an experimental fix, could you please test on your side and let me know if this works better?

Thanks!

CypherXG commented 7 years ago

Uhhhh Yeeeeaahhhh...says the Macho Man ..... Yes, this little fix shows all Screenmodes now. Bug is Fixed......

https://picload.org/image/rliriawi/img_20170318_104943.jpg

midwan commented 7 years ago

Thanks for confirming!

Dragontorc commented 7 years ago

First, thanks for making this project happen. Second, I'm trying to get higher resolutions to work on RPi but no matter what I try it doesn't work. I tried to use AmiKit (which I had successfully installed using WinUAE) but whenever I try to boot HDF with AmiKit on RPi it crashes (Guru). I've also made HDF with OS 3.9 (once again using WinUAE) and installed Amiga OS 3.9 with Picasso 96 drivers. Got all resolutions succesfuly running on Windows, but instant crash while booting it on RPi. Only success I had so far was with OS 3.9 running using Amiga 8-bit lo-res modes. While doing so, I could see only resolutions up-to 1024x768 32-bit in Screen Modes. When any 32-bit mode selected it would crash Amiga after reboot. When used TEST (to test selected screen mode), UAE would go to blank screen and stay there until RPie reboot (couldn't even access UAE menu with F12). Any ideas what am I doing wrong? I tried diet-pi installation and RetroPie version as well on RPi 3.

Thanks!

midwan commented 7 years ago

@Dragontorc This was fixed in the sources recently (see above) but no new binary was pushed out. To get the fix, you'll need to compile the latest SDL1 version (master branch for now) from source.

Dragontorc commented 7 years ago

Thanks for quick reply. I've compiled master branch on Raspbian. I can see hi-res modes available when booted from my OS 3.9 HDF but as soon as I select and use say 1920x1080 all I get is blank screen and only way to close Amiberry is to reboot RPi using SSH from other PC. AmiKit HDF image still shows GURU few seconds after the boot. Any other thoughts?

Thanks again for reply.

Dragontorc commented 7 years ago

After playing little bit, I've managed to get old HDF image of AmiSys4 to run in 1920x1080 in full color. So my last issue is really with AmiKit (which I would love to run on Pi even in less than 1080). I realize it is little of topic but would you happen to know how to get AmiKit tp work on Amiberry as it is probably best emulated Amiga experience available now days? Thanks.

midwan commented 7 years ago

@Dragontorc To run AmiKit you'll need to edit the startup-sequence it has and remove the full-screen logo that pops up during boot (I think it was called "ShowAmiga" ?). I found that it causes freezes and black screens under emulation, but removing that allows it to continue booting.

However, it's currently quite slow in refreshing, probably due to the patches (AFAOS?) that are active. One of the issues I'm working on is to speed up AmiKit, but that will happen on the newer SDL2 version, which is still getting ready for release.

Dragontorc commented 7 years ago

That makes sense. For a time being, I'll stick to Amisys4 or make new HDF with 3.9 and wait for SDL2 release. Thanks again!