-
Notifications
You must be signed in to change notification settings - Fork 118
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
9 additions
and
0 deletions.
There are no files selected for viewing
1 change: 1 addition & 0 deletions
1
src/scripts/Profiles/6-12_BIT_RGB/PC_EGA_Wonder_800+/Default.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
auto_switch=1 |
4 changes: 4 additions & 0 deletions
4
src/scripts/Profiles/6-12_BIT_RGB/PC_EGA_Wonder_800+/EGA_Mode1.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
sampling=5,5,5,5,5,5,5,0,1,0,6,0,0,0,0,0,0,1,0,0,100,256,100,256,100,256,256,256 | ||
geometry=112,30,640,204,736,234,2,5,1,1,14318631,928,4500,262,3,0,0 | ||
palette=RGBI_(CGA) | ||
palette_control=2 |
4 changes: 4 additions & 0 deletions
4
src/scripts/Profiles/6-12_BIT_RGB/PC_EGA_Wonder_800+/EGA_Mode2.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
sampling=6,6,6,6,6,6,6,0,1,0,9,0,0,0,0,0,0,0,0,0,100,256,100,256,100,256,256,256 | ||
geometry=28,1,640,350,672,350,2,3,0,1,16666000,768,4500,365,1,0,0 | ||
palette=RrGgBb_(EGA) | ||
scanline_level=0 |
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work on this project, thanks! I tried this profile today on my EGA Wonder 800. And the 200 line modes work fine. However when running 640x350 games (I tried Robot Junior by TOM productions) it does fail: bottom of screen is cut off and weirdly when I am not in the on screen menu, the screen flickers with about 1Hz between black image and normal image. In the menu everything is stable and fine. Is this a known issue?
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PS: for 640 x 350 I obviously switched to EGA Mode 2 subprofile. Mode 1 looks completely broken obviously.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this profile applies only to the 800+ as that doesn't have an EGA standard 16.257Mhz crystal (or multiple of that) so uses a frequency of 16.666Mhz derived from the crystals it does have.
Even the mode 1 timing is not CGA standard as it uses 928 clock cycles per line instead of 912 even though the frequency is correct.
I think the EGA wonder 800 has a 32.514 Mhz crystal which is double the standard EGA frequency of 16.257 which means it should work with the standard EGA profile.
There is the possibility that although the clocks are standard on the EGA wonder 800, the number of clock cycles per line might be different which would require a tweak of the settings.
This ignoring of the timing standards happened quite a lot with the later enhanced EGA boards, especially the ones that supported VGA as well.
It should be possible to get any non standard boards working with a suitable profile but unfortunately I don't have access to many EGA or CGA cards.
Have you tried the standard EGA profile?
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am sorry, I mistyped. I actually have an 800+. I tried with both EGA and Wonder 800+ profiles.

8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PS: I can test profiles for you, if necessary. Do you have any idea why the image flickers with ~1Hz when not in the OSM? In the menu itself the picture is super solid, only a few lines at the bottom missing, plus there is a huge black border at the top. I can send screencaptures, too, if needed.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The existing 800+ profile was provided by another user so unless he posted the wrong file, those settings worked on his system. See here:
#301
From your above photo, there is no 16.257Mhz (or multiple of that) crystal so it cannot produce standard EGA timings and it is entirely possible that the non standard timings varied between different versions of the ROM.
Fill the width of the screen with a couple of lines of "M" or "W" and post screencaps of the source summary menu in both 640x200 and 640x350 modes with those text lines visible at the bottom of the summary.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make sure you have Auto Switch set to off and manually choose the correct mode1 or mode2 profile when doing the above.
A flickering image at 1Hz means that no profile matches the source signal and it keeps retrying them.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
It seems your board is identical to pierre32-au's one including the ROM version but one other possibility just occurred to me:
This board is capable of producing VGA style timings and in fact there is place for a VGA connector so maybe the BIOS on your PC is putting it into VGA mode rather than EGA mode.
What type of PC board (286, 386, 486 etc) are you using and when was it made?
If it was after 1987 then that might be the cause.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@IanSB The board is a Suntac 286. I see 1990 datecodes on the ICs. AMI BIOS.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
That's well after VGA was introduced so the BIOS would be capable of selecting VGA modes.
I need to see screencaps of the source summary page as mentioned above in the various modes
To get screencaps, display the source summary page and then press the up & down buttons simultaneously (SW2 & SW3)
The screencaps will be on the SD card
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here you go -- SCREEN 8 and SCREEN 9 in QBasic:
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
Mode 1 timing looks correct
Mode 2 is not VGA but it's not true EGA either as the mode has 398 total lines. Standard EGA has 365 and if you look at pierre32-au's posts, his source summary shows 366.
It also shows a config page so presumably you can change the ATI card's behaviour from a software setup and that may explain the difference between your systems.
Here is an updated mode2 file with the number of lines in geometry changed to match:
EGA_Mode2_modified.txt
Put this in the \Profiles\6-12_BIT_RGB\PC_EGA_Wonder_800+ folder on the SD card with the existing files and reboot the Pi
If this gets auto selected correctly with no flashing when the menu is off then the timing matches
You will still need to go into the geometry menu and adjust the V offset to centre up the image
If that works, save your adjusted profile using the save configuration option and post the file for inclusion in the next release
(make sure Auto Switch is set to subprofile only when you save the config)
The saved file will be in \Saved_Profiles
One other thing: this mode is 55Hz rather than standard EGA 60Hz and it is not genlocking because your monitor's EDID indicates it only supports 60Hz
You can try the Test 50Hz mode menu option to see if your monitor will go lower.
This card does support a lot of extra modes like 640x480 VGA and there are currently no profiles for those unless you can put it into such modes and post their source summary.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking much better! Still a bit cut off at the bottom, but maybe that's due to the geometry settings?
This is a screenshot captured via OBS. My setup is: 286 with the Wonder 800+ -> RGBtoHDMI -> USB3.0 HDMI Capture -> OBS. So the colors might be a bit off compared to a screenshot by the Raspberry Pi. :)
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, no the screen capture is the same on the Pi:


It should look like this:
But the flickering stopped, and V Offset 40 made all the lines show up.
To me this looks like one of the intensity bits isn't making it through...?
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup, my test program now looks wonky as well, no intensity:

8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a second EGA card, a Paradise HEGA IIIB. It works mostly fine, but 640x350 also has issues. See the source summary:
It looks good in menu again, intensity bits seem to be working, screen is centered (Using EGA Mode2-80 profile), but when menu is closed I get garbage at the bottom:
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now back on the ATI Wonder 800+ -- I found out that the issue is that the Wonder 800+ profile only samples 3 bits per pixel. If I manually switch to 6 bits per pixel everything looks fine. Except again the bottom of the screen falls apart:
However this is NOT visible in the Raspberry Pi screenshot. I guess there is something coming apart in both the EGA (Paradise) and Wonder 800+ profiles that makes my HDMI capture device choke.
EDIT: When attaching my DVI monitor, picture is perfect, too! So there seems to be some issue with the HDMI signal from the Pi to my capture device in that mode. Any chance to adjust that for greater compatibility?
EDIT 2: Found a much older USB 3.0 HDMI Capture thingy and it works fine with the RGBtoHDMI. Image is more fuzzy because IIRC it uses MJPEG for transfer, though. So I would still prefer to use the more modern one, if the HDMI compatibility can be improved.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To conclude: Profile works fine EXCEPT that sampling depth is 3 Bits instead of 6. And HDMI compatibility seems to be flaky sometimes. Not sure if that can be helped.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
If the screen looks OK when connected to a monitor there are a couple of things to try for your capture problems:
If it helps, use the lowest number that works, don't just leave it on 11 as that makes it more likely the HDMI output could get damaged in the event of a short circuit. If it doesn't help put it back to 5.
You are correct that the sample mode had been set wrong on the EGA mode profile.
Here is a corrected set of files for the 800+ including a vertical offset adjusted version of your mode2:
Updated_800+.zip
Delete all the existing 800+ files in the \Profiles\6-12_BIT_RGB\PC_EGA_Wonder_800+ folder and replace with the ones in the zip
Also delete any files in the folder \Saved_Profiles\6-12_BIT_RGB\PC_EGA_Wonder_800+ otherwise they will be prioritised over the new ones in \Profiles
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
It looks like there might be three sets of timing for EGA mode on this card as you can configure lots of things on the card using a utility. See:
http://vogonsdrivers.com/getfile.php?fileid=1957&menustate=1,0
So that probably explains the difference between your card and Pierre32_au's card.
If the above updated 800+ profile set I just posted works then it might be worth trying this utility to put it into modes that aren't yet supported so I can create some more profiles.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@IanSB I have tried different HDMI modes in the setup menu, no luck. Also I tried going up to 11 with the config_hdmi_boot, but didn't help either. So reverting back to 5. HOWEVER: this ONLY happens so far in that ONE particular screen you see above. No other rooms of the game trigger that behavior. So I think I will ignore this problem for now and/or use my old capture device if need be.
I will try to use the utility to make some more screenshots for you!
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Installing the Mode Switcher now. While doing that I noticed that the Mode2 is STILL 3 bits. Is this on purpose? The RGBtoHDMI auto switches to Mode2 when in text mode. I manually switched it to 6 bit now:

8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only the first three modes from the mode switcher work. 132 columns probably require the VGA monitor. Hercules modes also don't work -- maybe also VGA monitor due to the higher line count? Since my card doesn't have the VGA option I guess it detects that and tells me it's not supported.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
It's set to 6 bits for Mode2 and Mode2 (Alt1) on the files I posted.
Did you reboot the Pi after changing the files?
Are you sure you deleted the Saved_Profiles and put the new ones in the right folder?
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@IanSB Oh, I didn't delete the Saved_Profiles. That fixed it. Thanks! :) That's also why it worked for the Alt1 profile, as that was new.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@IanSB One last thing: The Wonder 800+ runs really fine now -- but I still have issues with my Paradise HEGA IIIB. ONLY in 200 line modes I get this noise:
https://youtu.be/p4QXrXln9cU
Can this be an issue with the RGBtoHDMI (tried auto calibration, no improvement), or do you reckon it's rather an issue with the card? Text mode and 350 lines are fine.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
That video won't play as it's marked private
Generally columns of noise that can't be fixed with calibration means the line length is set incorrectly in Geometry
Here is an experimental profile for M80:
EGA_Mode2_(M80).txt
Put it in the same profiles folder as above
It will probably need tweaking like the H and V offsets and maybe others.
Can you test it with M80 and C80 and post source summary screencaps again for both.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
There is a HEGA profile set submitted here which is not yet in the current software release:
#308
Give that a try
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@IanSB video is now unlisted. Link should work now.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@IanSB tried out the profiles from #308. Profile works fine, but still getting the noise and jitter. So... probably a hardware defect on the card..?
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
Yes that looks more like a hardware issue with the card or maybe with your capture device (Does it look the same on a direct monitor connection?)
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@IanSB I solved it. The 286 board has some issue. It's gone when I put the card in the 486. I guess some timings are derived from the bus in 200 lines. And that's broken. So I need to fix my 286 board!
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
Yes the 14.3Mhz clock for the 200 lines modes comes from the motherboard
Have you tried the M80 profile above?
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, not yet. Which card shall I test with the M80? Wonder or Paradise?
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
The Wonder in both M80 and C80 mode
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a bit cut off at the right side:

C80 flickers.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
The timing does look correct now but you will always have to make the final geometry adjustments yourself:
It looks like this is a 720 pixel mode rather than 640 so you probably need to adjust the min H width from 640 to 720 and max H width from 672 to 768
Then adjust the H Offset to centre it up (also V offset if needed)
If everything looks good, save the configuration and post the file from /Saved_Profiles on the SD card
I need to see the source summary screencap from the C80 mode with this profile manually selected.
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
Note you must exit all menus before selecting the C80 mode and then re-enter them afterwards to display the source summary to ensure the correct timings are read
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here you go!
EGA_Mode2_.M80.txt
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
Looks good, just need the source summary for the C80 mode as described above
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
C80 (which seems to have matched EGA Mode1 subprofile):
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
Ok it looks like it doesn't need a special profile as it is matching CGA timing (EGA mode1)
Thanks for checking.
I think that completes support for the standard resolutions so I will include the updated profiles in a new beta due in the next week or so
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
There is a new beta56 available and that has this profile included. Can you check it?
https://github.com/IanSB/RGBtoHDMI/releases/tag/257ca7b
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@IanSB I will download it and test it! Thanks!
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@IanSB So far it seems to work fine with both the PEGA and the Wonder 800+. No issues I could find. Except of course some images that trigger my newer HDMI capture device :-D But as the old one and my monitor works fine, I guess the HDMI grabber is wonky...?
8f22fdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@root42
Thanks for checking.
I don't know what's causing the problem with your capture device as you've tried the common fixes for such problems (HDMI mode and hdmi_boost)
The only other thing I can think of is it doesn't like the genlocking so maybe try turning that off in the settings menu but that means you might get frame drops or tears.
BTW Did you find the new profile selection method an improvement? (The old method still works)