Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Memory usage, AMIS(!) (Developers)

posted by Ninho E-mail, 14.05.2011, 11:38
(edited by Ninho on 14.05.2011, 11:50)

>> IMO they are almost equivalent.

> They are functionally equivalent, but only in certain situations.

You do realise int 15/4F handlers execute as part of an int 9/IRQ1 handler.
Actually, one could in theory duplicate or replace almost the entire int 9 functionality with an int 15 4F handler which would always return a clear carry flag to the BIOS - in effect leaving to the original BIOS only the actual in/out interactions with the interrupt and keyboard controllers.

In practice one wouldn't proceed like that of course, rather write an int 9 handler and replace the BIOS altogether, like Microsoft, Digital...; and many OEMs provided their own version in the early days of compatible PCs. Also Japheth in this thread told us he wrote his own iiuc. I was surprised you seemed to think it was some sort of MS exclusivity!

But whether the national kb replacement hooks int 9 or int 15 should make little difference to other software. When doing int 15/4F however, we generally want to use as much of the original BIOS's power as we can, while keeping as much user's experience and compatibility to other programs intact as possible.


> On some
> computers, it is necessary to replace the keyboard BIOS for compatibility
> issues.

Bad computer, change computers ;=) Seriously I doubt this has been a problem since the mid 90s, when PC clones had become a comodity and most were fully "compatible".

> That's one of the reasons MS felt it was necessary to replace the
> entire BIOS with their KEYB program, in addition to making it possible to
> simply remap the keyboard.


> Again, I'm personally not aware of any equivalent to MS KEYB (and no,
> Ninho, I'm not praising MS).

I know you aren't, but you are inmproperly singling them out, like they were the only providers of full fledged int 9 handlers out there.

> A driver that simply maps a specific keyboard
> language, like yours does, even if it completely intercepts INT 9, is not
> equivalent to MS KEYB.

It could be equivalent if we wanted to. there's a compromise made between function and size. Mine (the French version) goes further than the German ancestor on the path to compatible handling of the (Alt, Control) keystrokes. The goal however is NOT to make it equivalent, just better...;=)

The main problems with the AT keyboard however stem from the fact that there is no way for a program to read minds or... the physical keyboard layout (including the labels printed or stuck on keycaps). Simple extensions to the keyboard/KBC protocol could easily provide character code/language info but unfortunately weren't provided!

Therefore there will always exist problems with programs that must bypass the BIOS altogether for part of their keyboard processing. Ordinary programs (i.e. not full keyboard handlers) which get scancodes by way of "in al,60h" whether polling or installing their own IRQ driver, should not, IMO, call int 15/4F. The latter should be called /only/ by a BIOS IRQ 1 handler (or replacement thereof).

> (Japheth's) KEYBAT program is much closer to a MS KEYB
> replacement than an INT 15.4F driver is, though.

---
Ninho

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 185 users online (0 registered, 185 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum