2

I was reading through my notes and I came across here,

Accessing the Parallel Port Through BIOS Functions
----------------------------
| TIMEOUT BYTE              |
| ------------------------- |
| 0040:0078    | LPT1       |
| 0040:0079    | LPT2       |
| 0040:007A    | LPT3       |
----------------------------

The BIOS service once invoked will try to perform the requested operation on the printer
repeated for a certain time period. In case if the operation is rendered unsuccessful due to
any reason BIOS will not quit trying and will try again and again until the number of tries
specified in the timeout bytes shown above runs out

Here it says for a certain time period but never mentioned how much or how many attempts..

here 78 means LPT1, 79 means LPT2 and so on...

The number of tries specified in the timeout bytes which I believe is 40

Does 40 mean it will retry 40 times? or 10 times? before BIOS quits printing attempts due to any printer errors or something else?

faizan101
  • 41
  • 3

1 Answers1

0

You can find information here: https://www.plantation-productions.com/Webster/www.artofasm.com/DOS/ch21/CH21-2.html in the book The Art of Assembly Language by Randall Hyde.

Or here by the author: https://www.randallhyde.com/AssemblyLanguage/www.artofasm.com/DOS/pdf/ch21.pdf

The I/O port is accessed 65536 x [timeout value] times to see, if there is an acknowledge signal.

To store a timeout value in it

mov ax, 0x40
mov ds, ax
mov ax, 10
mov byte ptr [0x78], ax
Sebastian
  • 1,834
  • 2
  • 10
  • 22