Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!xanth!nic.MR.NET!shamash!rosevax!ems!pwcs!stag!daemon From: to_stdnet@stag.UUCP Newsgroups: comp.sys.atari.st Subject: bios function 0x7f Message-ID: <678@stag.UUCP> Date: 19 Dec 88 21:12:00 GMT Sender: daemon@stag.UUCP Lines: 48 From: dynasoft!john@stag.UUCP (John Stanley) [apratt@atari.UUCP (Allan Pratt) writes...] > In article <12076@hall.cray.com> rosenkra@hall.UUCP (Bill Rosenkranz) writes: >> [...] it executes bios function 0x7F [...] > > There is no such function. The only way it could usefully do anything > with that BIOS call is if it installed a handler itself, or if it > is probing for another installed handler which it knows about. > (That is, if some other product installs a handler for BIOS call 0x7f, > and this program knows how to use that other product.) I'm suprised at you Allan... It has nothing to do with seperate installable handlers. Hint: It pays attention to shift keys.... --- [rosenkra@hall.cray.com (Bill Rosenkranz) writes...] > after disassembling a code i found on some bbs which doubles the effective > on-screen travel of the mouse form, i found it ixecutes bios function 0x7F > (which is not documented, at least in anything i have, including original > developer's docs). i thought it might be the disasm but after compiling > (with madmac) everything works fine. what is this puppy and what other > undocumented treasures are worth knowing about? This is how one obtains a pointer to the bios (or xbios) jump tables. This is actualy a -totaly- unintended fallout case that just happens to occur because of the way the bios jump code is written... Pass it instructions to call any bios function that's not in the table, and it will, as part of its error checking, realise this and return. That the pointer to the bios table just happens to be in one of the registers on return is just a fortuitous side effect... The author probably adds $44 to the pointer and then saves the long it points to. This is a portable method for obtaining a pointer to the bios function that returns the keyboard shift status... The reason for doing this is to allow a program to test the kb status while inside an interrupt. (Something that can't be done by just calling the bios...) --- PS: Please(!) note that my Reply-To address gets munged by the gateway I'm currently using for news access so you can't just eply to this article and have your message get to me. Please use the address below. --- John Stanley (dynasoft!john@stag.UUCP) Software Consultant / Dynasoft Systems