🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.atari.st
Article #36922

bconinning

#36922
From: Ken Badertscher
Date: Tue, 07 Mar 1989 00:53
49 lines
2216 bytes
This is a reply to a mail query I recieved regarding hooking into the
system console input routines.  Basically the question boiled down to:
"How do I do something at the BIOS level before GEMDOS gets ahold of an
input character?"

================

As you may have guessed, GEMDOS gets all its character input by trapping
into the BIOS.  Not only that, but (thank goodness) the BIOS has a RAM
based jump table for its* character IO, and it actually uses that jump
table. 

Starting at $51e, there are four sets of 8 vectors for character device
functions, as follows:

*--- "soft" console vectors
xconstat:	ds.l	8	; (51e)  console status vectors
xconin:		ds.l	8	; (53e)  console input vectors
xcostat:	ds.l	8	; (55e)  console output-status vectors
xconout:	ds.l	8	; (57e)  console output vectors

Each set of vectors consists of the addresses of the routines that
handle the BIOS character devices (in the following order):
0 - lst: (printer)
1 - aux: (rs232)
2 - con: (screen)
3 - midi
4 - keyboard (output only)
5 - raw console output (bypass vt52 pressure cooker)
6 - reserved
7 - reserved

and, as comments in the BIOS source indicate:
* No range checking is performed.  If a bogus device number
* is passed to the BIOS' character I/O handler, the system
* will crash or become funky duex.
*
* BIG BUG: ikbd and midi output status are reversed.  Sorry, kids.
* For compatibility, we won't fix it.  (But we should!)

Armed with all that information, you should probably be able to do what
you need at BIOS level by replacing the built-in input and input status
routines with your own. 

-- 
 Ken Badertscher                 | Hey, umm, the stuff I said up there
 Atari R&D Software Engine       | is, like, what _I_ think, okay?
 {portal,ames,imagen}!atari!kbad | So, y'know, don't bug Atari about it.
Technical Details
Message-ID: <1368@atari.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!decwrl!sun!imagen!atari!kbad

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!decwrl!sun!imagen!atari!kbad
From: kbad@atari.UUCP (Ken Badertscher)
Newsgroups: comp.sys.atari.st
Subject: bconinning
Keywords: bios,atari,st,system variables
Message-ID: <1368@atari.UUCP>
Date: 7 Mar 89 00:53:18 GMT
Organization: Atari Corp., Sunnyvale, CA
Lines: 49