EDIT: Would it be enough if I simply removed "LegacyRegion" module? because the legacy region protocol is made to disable write-protect to certain areas, and only that, correct?
I hope this is the right category!
Hello. I got an A55BM-K motherboard with an A10-6800K APU, and its UEFI (Aptio 4) contains two VBIOSes for two kinds of integrated graphics in APUs. Attached below (EDIT: Attachments don't seem to work, what else can I do?) is the one that gets used for my APU (Trinity), along with the full capsule file if needed (it's the latest version for this mobo btw, Version 2002 and its easy to download from ASUS, vBIOS (9901) is easy to extract with UBU).
I'm interested on compatibility with older software. System features VESA v3, and oddly enough the implementation seems actually correct other than a couple programs (such as Kgen98) freaking out or rejecting the "unknown" version number 3 lol. Otherwise, it even still supports 8bit display modes, or both 15 and 16bit modes, LFB...
The major issue is that there's no (graphic mode) screen resolutions below 640x400. Take NO$GMB, it's meant to run at 512x384 in graphic mode.
I tried many different MSDOS TSRs to bring these resolutions back, none of them work right (with "incomplete" or no visible changes), but according to symphtoms I think they might have something in common: They attempt to edit the VBIOS loaded at RAM, but can't write changes.
I mean, if this option exists in the world at all, then I guess this is what vendors do by default; except I get no option to control it.
(image from google, ignore the green rectangle; I'm seeing a Cache Video BIOS area option that I don't have, couldn't find it with AMIBCP either, but like I said, it's very likely that due to write-protect it causes these TSRs to function incompletely)
If I'm not mistaken, I think this leaves me with two options:
- Find which UEFI module applies write protect to ATOMBIOS, and disable the module or the part that locks the RAM area (if I can). If my theory is correct, that should allow UniVBE to work (adds the lower resolutions I ask for).
- (Probably easier; names taken from AtomDis) Edit the VESA_ToInternalModeLUT/StandardVESA_Timing tables (and fix checksum afterwards); I don't need 4:3 resolutions above 1024x768 (16:9 ones doesn't seem to come from this (or any) table, but rather from Windows driver), so I'd overwrite them rather than redirect the pointer to a new table at the end of file, because I only got a very small free area from 0xF1BC to 0xF1FF. The end result besides new resolutions is that VBIOS remains write-protected; some games did bundle UniVBE with them, but someone from Vogons posted a tool to disable it (no prob).
But... how do I deal with the pixel clocks? What is the formula?
Somehow, I'd like the system to run at:
- 320x200
- 320x240
- 512x384
at 8/15/16/32 bit modes.
Thanks in advance.
I hope this is the right category!
Hello. I got an A55BM-K motherboard with an A10-6800K APU, and its UEFI (Aptio 4) contains two VBIOSes for two kinds of integrated graphics in APUs. Attached below (EDIT: Attachments don't seem to work, what else can I do?) is the one that gets used for my APU (Trinity), along with the full capsule file if needed (it's the latest version for this mobo btw, Version 2002 and its easy to download from ASUS, vBIOS (9901) is easy to extract with UBU).
I'm interested on compatibility with older software. System features VESA v3, and oddly enough the implementation seems actually correct other than a couple programs (such as Kgen98) freaking out or rejecting the "unknown" version number 3 lol. Otherwise, it even still supports 8bit display modes, or both 15 and 16bit modes, LFB...
The major issue is that there's no (graphic mode) screen resolutions below 640x400. Take NO$GMB, it's meant to run at 512x384 in graphic mode.
I tried many different MSDOS TSRs to bring these resolutions back, none of them work right (with "incomplete" or no visible changes), but according to symphtoms I think they might have something in common: They attempt to edit the VBIOS loaded at RAM, but can't write changes.
I mean, if this option exists in the world at all, then I guess this is what vendors do by default; except I get no option to control it.
(image from google, ignore the green rectangle; I'm seeing a Cache Video BIOS area option that I don't have, couldn't find it with AMIBCP either, but like I said, it's very likely that due to write-protect it causes these TSRs to function incompletely)
If I'm not mistaken, I think this leaves me with two options:
- Find which UEFI module applies write protect to ATOMBIOS, and disable the module or the part that locks the RAM area (if I can). If my theory is correct, that should allow UniVBE to work (adds the lower resolutions I ask for).
- (Probably easier; names taken from AtomDis) Edit the VESA_ToInternalModeLUT/StandardVESA_Timing tables (and fix checksum afterwards); I don't need 4:3 resolutions above 1024x768 (16:9 ones doesn't seem to come from this (or any) table, but rather from Windows driver), so I'd overwrite them rather than redirect the pointer to a new table at the end of file, because I only got a very small free area from 0xF1BC to 0xF1FF. The end result besides new resolutions is that VBIOS remains write-protected; some games did bundle UniVBE with them, but someone from Vogons posted a tool to disable it (no prob).
But... how do I deal with the pixel clocks? What is the formula?
Somehow, I'd like the system to run at:
- 320x200
- 320x240
- 512x384
at 8/15/16/32 bit modes.
Thanks in advance.