VOGONS


"Bios Patcher" questions

Topic actions

Reply 20 of 53, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
kmeaw wrote on 2024-09-09, 16:27:
You can try one the following: 1) replace "CD 10" in tweak.tmp with "90 90" in so the VGA BIOS won't execute the print string; […]
Show full quote

You can try one the following:
1) replace "CD 10" in tweak.tmp with "90 90" in so the VGA BIOS won't execute the print string;
2) change the line length "B9 1D 00" in tweak.tmp to "B9 00 00" so the input string would be zero-length;
3) inhibit the line length storing code in modul.tmp - that's the pink area on the picture, replace those 4 bytes at 0x1A0 with "90 90 90 90";
4) your idea with encrypting the backspace bytes - VGA BIOS service int 10,13 knows how to interpret BS, BEL, CR and LF.

Kudos for your skills in machine code reading, man!

I just tried all four suggestions with four patched variants of executable BIOS Patcher ver.6.00 alpha 15 file and resulting four variants of patched BIOS for Zida 5STX s.7 motherboard, here are the results:
1) Success - no line with blah-blah-rom.by, instead the new output is one empty line;
2) Success - same as 1);
3) Fail - the line with blah-blah-rom.by message is still there (I have to check again which bytes I changed);
4) Fail - the new output is "↑↑↑↑↑↑↑↑↑↑" symbols instead of blah-blah-rom.by message (maybe I messed the calculation for hex value which was expected to produce "back space").
There ware no broken BIOS functionalities with all four variants.

When I have more spare time, I'll check again 3rd and 4th suggestions.

For now method 1) seems fine to me, but it would be even better if I manage to get rid of the empty line.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.

Reply 21 of 53, by B24Fox

User metadata
Rank Member
Rank
Member
analog_programmer wrote on 2024-10-13, 12:39:
Kudos for your skills in machine code reading, man! […]
Show full quote
kmeaw wrote on 2024-09-09, 16:27:
You can try one the following: 1) replace "CD 10" in tweak.tmp with "90 90" in so the VGA BIOS won't execute the print string; […]
Show full quote

You can try one the following:
1) replace "CD 10" in tweak.tmp with "90 90" in so the VGA BIOS won't execute the print string;
2) change the line length "B9 1D 00" in tweak.tmp to "B9 00 00" so the input string would be zero-length;
3) inhibit the line length storing code in modul.tmp - that's the pink area on the picture, replace those 4 bytes at 0x1A0 with "90 90 90 90";
4) your idea with encrypting the backspace bytes - VGA BIOS service int 10,13 knows how to interpret BS, BEL, CR and LF.

Kudos for your skills in machine code reading, man!

I just tried all four suggestions with four patched variants of executable BIOS Patcher ver.6.00 alpha 15 file and resulting four variants of patched BIOS for Zida 5STX s.7 motherboard, here are the results:
1) Success - no line with blah-blah-rom.by, instead the new output is one empty line;
2) Success - same as 1);
3) Fail - the line with blah-blah-rom.by message is still there (I have to check again which bytes I changed);
4) Fail - the new output is "↑↑↑↑↑↑↑↑↑↑" symbols instead of blah-blah-rom.by message (maybe I messed the calculation for hex value which was expected to produce "back space").
There ware no broken BIOS functionalities with all four variants.

When I have more spare time, I'll check again 3rd and 4th suggestions.

For now method 1) seems fine to me, but it would be even better if I manage to get rid of the empty line.

In the case of the mobo that I was dealing with last year:
the problem was that the extra "blah-blah-rom.by" line of text that "BIOS Patcher" introduces, would push down on the other lines underneath, and it would result in the last/most-lower line being obscured partially (or fully, if this last line was shorter than the one above it).

In my particular case, the mobo BIOS was luckily fixed by a member here viewtopic.php?p=1202543#p1202543 , that specialises in bios moding.
So I didn't need"BIOS Patcher" any more.

But if BIOS Patcher was still necessary; then, just making that line empty, wouldn't fix the issue.
Because as long as that line still exists (with or without written characters), it would still push down on the other lines that are underneath it, by one position.

I imagine there could definitely be other motherboards that would suffer this text obstruction effect, unfortunately.

Reply 22 of 53, by kmeaw

User metadata
Rank Member
Rank
Member
analog_programmer wrote on 2024-10-13, 12:39:

For now method 1) seems fine to me, but it would be even better if I manage to get rid of the empty line.

Are you sure that the extra line is caused by the rom.by's BIOS Patcher? Which board and BIOS do you have?

I have tried downloading the same patcher that you have provided in this thread and patched a BIOS with that. Here are the screenshots of what I get before and after the patch - the unpatched version still prints an empty line on the top.

Do you get different results after patching? Or do you want to get rid of the empty line that is there even in the unpatched version?

Reply 23 of 53, by B24Fox

User metadata
Rank Member
Rank
Member

@kmeaw
Your (newer) mobo seems to set the text in the upper corner, and also highlights it with blue.
My mobo (PCChips M577) made in 1998. It did not show it like that.

It showed it very similar to this:
(pictures taken from the video linked in my original post)
Unpatched:

The attachment unpatched.jpg is no longer available

Patched:

The attachment patched.jpg is no longer available

Here it can easily be seen how it pushes everything underneath it, down by one position.

And if it so happens that some line is right against a "limiter" or "barrier"... then that line is screwed.
In the video, (luckily for the author) that doesn't happen.
But in my case, it was the CPU detection line of text, that got partially covered up by the text that was right below it IIRC.

Later Edit:
Found an actual photo of how it looked like Unpatched:

The attachment IMG_20230825_2242032.jpg is no longer available

Now that I see it, I remember that after patching the BIOS; the "Power supply" line, and the "CPU" line, got merged into one a single line that wrote:
"Power Supply Type : ATound"

Reply 24 of 53, by kmeaw

User metadata
Rank Member
Rank
Member

Thank you for providing the screenshots.

B24Fox wrote on 2024-10-14, 00:00:

And if it so happens that some line is right against a "limiter" or "barrier"... then that line is screwed.

That's a different version of patcher, v4.23, as opposed to the 6.00alpha15 that analog_programmer@ has provided.
I have replicated your setup and results using 4.23.

The code which emits a new line is the call just after the call that prints the "www.ROM.by..." line - it is at 0x3FD in modul.tmp: E8368A. If replaced by 909090, it will stop pushing the lines around it.

Reply 25 of 53, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
B24Fox wrote on 2024-10-13, 22:55:
In the case of the mobo that I was dealing with last year: the problem was that the extra "blah-blah-rom.by" line of text that […]
Show full quote

In the case of the mobo that I was dealing with last year:
the problem was that the extra "blah-blah-rom.by" line of text that "BIOS Patcher" introduces, would push down on the other lines underneath, and it would result in the last/most-lower line being obscured partially (or fully, if this last line was shorter than the one above it).

In my particular case, the mobo BIOS was luckily fixed by a member here viewtopic.php?p=1202543#p1202543 , that specialises in bios moding.
So I didn't need"BIOS Patcher" any more.

But if BIOS Patcher was still necessary; then, just making that line empty, wouldn't fix the issue.
Because as long as that line still exists (with or without written characters), it would still push down on the other lines that are underneath it, by one position.

I imagine there could definitely be other motherboards that would suffer this text obstruction effect, unfortunately.

Yeah, even if output is one empty line instead of BP version message it still could be a problem. I see that kmeaw already gave solution for version 4.23 of BIOS Patcher, but version 6.00 is different.

kmeaw wrote on 2024-10-13, 23:31:

Are you sure that the extra line is caused by the rom.by's BIOS Patcher? Which board and BIOS do you have?

I have tried downloading the same patcher that you have provided in this thread and patched a BIOS with that. Here are the screenshots of what I get before and after the patch - the unpatched version still prints an empty line on the top.

Do you get different results after patching? Or do you want to get rid of the empty line that is there even in the unpatched version?

The motherboard I've used for tests is Zida 5STX. I see that you're using some PC emulator like 86box for your tests. It is subjective and hard to tell for sure when I'm looking at my real LCD display, but I think there's extra new line output when used patched by BP6a15 BIOS . Your result is exactly the same as mine testing methods 1) and 2) - one empty line instead of the annoying BP version message.

The attachment Enpty line with patched BP6a15.png is no longer available

I'm attaching pathced by methods 1) and 2) BP6a15 executables for inspection/tests.

EDIT: Attachment removed due to potential future mess with two different patched versions. See this post for final patched version of BP 6.0 alpha 15 executable.

Last edited by analog_programmer on 2024-10-14, 09:41. Edited 2 times in total.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.

Reply 26 of 53, by floppydream

User metadata
Rank Newbie
Rank
Newbie

Hi guys,

just a silly thought – how about reaching out to the original author and ask if he would either release a new version where the 'rom.by' line will optionally just be left out? Or maybe the author would be willing to release source code of the patching tool? The website appears to be still alive and (maybe! result of a five minute research) this github account https://github.com/applerom belongs to the original author.

Another approach would be to find the actual call in the binary where it prints the 'rom.by' and skip it. Overwriting the 'rom.by' message line with blanks will not help that much if the code still adds newline(s).

Cheers,
Flo

Reply 27 of 53, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
floppydream wrote on 2024-10-14, 07:02:

just a silly thought – how about reaching out to the original author and ask if he would either release a new version where the 'rom.by' line will optionally just be left out? Or maybe the author would be willing to release source code of the patching tool? The website appears to be still alive and (maybe! result of a five minute research) this github account https://github.com/applerom belongs to the original author.

The original author (nicknamed "applerom") abandoned development of BIOS Patcher decades ago, the rom.by site is also abandoned and half broken. The last BP version 6.00 alpha 15, which I preferably use, was developed by some other guys and later they also abandoned it.

I don't use github, so I can't contact the original author of this tool.

As I don't have any source code to work with, the only option is hex-patching of compiled exe.

floppydream wrote on 2024-10-14, 07:02:

Another approach would be to find the actual call in the binary where it prints the 'rom.by' and skip it. Overwriting the 'rom.by' message line with blanks will not help that much if the code still adds newline(s).

This is exactly the same approach as the kmeaw's solution, but I think there's still output with new empty line. I can't read machine code in hex and I have no suitable tools to disassembly 16-bit DOS executable (Ghidra often gives me errors with those old DOS exe formats) or BIOS dump files (seems like everyone knowing how to dissect the BIOS dumps keeps his tools in secret). So, I'll wait for kmeaw to see the patched BP6 executables attached in my previous comment and to give his opinion on "print new line" procedure if any...

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.

Reply 28 of 53, by kmeaw

User metadata
Rank Member
Rank
Member

floppydream, I have just wrote an email to the author. The question on open-sourceing the patcher has been already discussed and resulted in not opening it due to the lack of potential developers but it was quite a long time ago so things might have been changed.

analog_programmer, the code that prints an empty line is in the original BIOS. But if you don't like it, it can also be removed but it's not that easy as removing a single call. Here is a modded version for Zida 5STX.

Reply 29 of 53, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
kmeaw wrote on 2024-10-14, 09:13:

analog_programmer, the code that prints an empty line is in the original BIOS. But if you don't like it, it can also be removed but it's not that easy as removing a single call. Here is a modded version for Zida 5STX.

Thank you very much for this clarification, kmeaw! Well, I really was mistaken due to bigger upper "empty space" I see on my old 5:4 LCD display. So, everything should be fine with 1) and 2) patch methods. I'll test patched BP6a15 with another mobo BIOS as soon as possible.

P.S. Which patched BP6a15 will be better to be used by your opinion - 1) or 2)? I think 1) (with skipped print string procedure) is the best working solution for now.

Last edited by analog_programmer on 2024-10-14, 17:58. Edited 1 time in total.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.

Reply 30 of 53, by kmeaw

User metadata
Rank Member
Rank
Member

I have used option 1 in the "modded BIOS" attachment above - in my opinion, it is a cleaner patch.

Reply 31 of 53, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
kmeaw wrote on 2024-10-14, 09:29:

I have used option 1 in the "modded BIOS" attachment above - in my opinion, it is a cleaner patch.

👍🏻 Thank you! I'm reattaching only this patched version (by method 1)), so there will be no future mess with patched patchers 😀

Here it is BIOS Patcher 6.0 alpha 15 executable patched for no printing of problematic line with "blah-blah-rom.by" string:

Last edited by analog_programmer on 2024-10-14, 11:45. Edited 1 time in total.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.

Reply 32 of 53, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
kmeaw wrote on 2024-10-14, 09:13:

The question on open-sourceing the patcher has been already discussed and resulted in not opening it due to the lack of potential developers but it was quite a long time ago so things might have been changed.

The comment before the last comment in this rom.by thread:

apple_rom:
"Тему можно закрывать. Полностью новый патчер под винды пишется вместе со StarGaz0r-ом. Программа будет частью другого (оплачиваемого) проекта, что, естественно, гарантирует результат. Время начала тестов первых версий - июль. Все, кто реально желал присоединиться и написать чего своего - можно и нужно стучаться на мыло, т.к. и к патчеру и к биосу можно будет подключать свои модули."

Well, now it's 2024, but "apple_rom" and "StarGazor" are still writing a new fancy paid windows BIOS patcher... and (of course) they closed the old DOS project for good in 2005. S*ka bly*d, this is typical eastern forum 😁

At least some guy nicknamed "Angel07" somehow managed to produce version 6.0 for DOS in 2009. I don't know if it's based on 4.51 beta version. But unfortunately now there's no trace of his cgi-scripts.info site.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.

Reply 33 of 53, by B24Fox

User metadata
Rank Member
Rank
Member
kmeaw wrote on 2024-10-14, 01:08:
Thank you for providing the screenshots. […]
Show full quote

Thank you for providing the screenshots.

B24Fox wrote on 2024-10-14, 00:00:

And if it so happens that some line is right against a "limiter" or "barrier"... then that line is screwed.

That's a different version of patcher, v4.23, as opposed to the 6.00alpha15 that analog_programmer@ has provided.
I have replicated your setup and results using 4.23.

The code which emits a new line is the call just after the call that prints the "www.ROM.by..." line - it is at 0x3FD in modul.tmp: E8368A. If replaced by 909090, it will stop pushing the lines around it.

Unfortunately 6.00alpha15 didn't work for that motherboard. It froze at POST. So I had to use v4.23.

Anyway, thank you very much for your specific instructions on how to fix the text lines on this board's bios!
That particular board I gave away to a friend... But I do have another one just like it; and all this will surely come in handy once again in the future 😀

Reply 34 of 53, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie

B24Fox, BP ver. 4.23 also seems like non-compressed executable, so I can try to patch it by kmeaw's instructions.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.

Reply 35 of 53, by kmeaw

User metadata
Rank Member
Rank
Member

Please note that both my posts containing screenshots in this topic have a prepatched BIOS attached (for Zida 5STX and PCChips M577) - I used it to provide a screenshot.

Reply 36 of 53, by B24Fox

User metadata
Rank Member
Rank
Member
analog_programmer wrote on 2024-10-14, 17:55:

B24Fox, BP ver. 4.23 also seems like non-compressed executable, so I can try to patch it by kmeaw's instructions.

Oh PLEASE patch it if you can!!
TBH, I barely remember anything from using BP last year.. so i'm gonna have to re-learn everything again when the time comes... and this will help me out A LOT! 😁

kmeaw wrote on 2024-10-14, 19:18:

Please note that both my posts containing screenshots in this topic have a prepatched BIOS attached (for Zida 5STX and PCChips M577) - I used it to provide a screenshot.

I did download the bios, thank you!
But (when the time will come) I would very much like to be able to experiment a bit with what options I select during "selective patching". And also I have a few other Socket7 mobos that will for sure need to be patched .
So I'll need to be able to "bake" my own BIOS 😀

Reply 37 of 53, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie

So far no good news. I found "E8 AE 8A BE 71 FA E8 7A 8B E8 A5 8A C3" hex-code in extracted "modul.tmp" from a BIOS patched with BP ver. 4.23. But when I look into BP 4.23 executable with hex-editor, I'm not 100% sure, but seems like it creates "modul.tmp" BIOS module in a different way than BP ver. 6.00. I couldn't find any "E8 xx xx BE xx xx E8 xx xx E8 xx xx C3" hex-pattern in BP 4.23 executable to try the nop-patch with it. Or maybe I'm overlooking something.

Ghidra gives me some error and can't complete BP v. 4.23 exe disassembly process.

At least I tried 🙁

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.

Reply 38 of 53, by amijim

User metadata
Rank Member
Rank
Member

hello there , i had all kind of probles trying to inject new microcodes to support prescott cpus to an old iwill xp4g with both bp423 and bp451.The newest bp6 alpha 15 seems to successfuly inject f33 microcodes .Original bios had up to f27 northwood without hyperthreding.I will be testing the bios in some hours.Stay tuned.

Iwill ZmaxDP
Arima4way
Tyan s2885
Iwill MPX2
Gigabyte GA-7DPXDW+
Compaq SP700
Compaq ml350

Reply 39 of 53, by ayandon

User metadata
Rank Newbie
Rank
Newbie

Hello friends,

I am facing this issue with the default BIOS Patcher Tool.

This is the config -
AMD K6-2 500 MHz + Zida T530B-S motherboard

See the attached screenshot -
Processor Name and Memory Test Counter is overlapping!

file.php?mode=view&id=212649

Any way to fix this stupid annoying issue?

I want to restore my late father's 1st ever computer IBM ET&T PC-XT that he gifted me.
Hope you will be kind enough to guide and support me to restore his loving memory.