XT clone BIOS: does the COM “presence test” also serve as UART initialization? #75
Unanswered
Cookielu7
asked this question in
Tech Support
Replies: 1 comment
|
I'll answer my own question. Looks like no detection is necessary if you know you got a working COM ports. No prob, init and no FCR/IIR reset needed. Just simply replace the COM port detection loop code with the following, assuming only 2 COM ports available: What's the use? Well I was merely learning how it works. I suppose at least you can speed up the boot process. ps. Make sure the hardware COM ports config are correct and UART chip(s) are present for both COM. Took me some time to realise my old ISA card requires UART for each COM port, and COM2 UART was missing. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
I’m modifying the COM port detection routine in an XT‑class clone BIOS. This XT code doesn’t populate 40:00/40:11 based on hardware probing — it just runs a small loop that writes to the UART, reads IIR twice, then TESTs AL,0F0h to decide whether the port is “there”.
If I remove the TEST and its conditional jump, the UART never wakes up properly and COM1 stops working. That suggests the detection logic is not just a probe but part of the initialization flow.
In other words, simply writing BDA COM table and the 0040:0010 bits will not work?
Has anyone documented which parts of the XT‑era COM detection loop are actually required for UART reset/wake‑up?
Is the TEST/JNZ branch needed because it enforces a specific timing/ordering, or is there a known minimal initialization sequence that works on XT systems?
FYI I am learning how the bios works.
All reactions