TIP: Click on subject to list as thread! ANSI
echo: fmail_help
to: Scott Little
from: Wilfred van Velzen
date: 2011-11-13 12:32:12
subject: Re: fsetup

Hi,

On 13 Nov 11 12:39, Scott Little wrote to Wilfred van Velzen:
  about: "fsetup":

 SL> What interrupts is it generating?  int21h is DOS (probably for stdio),
 SL> int10h is video BIOS (probably to move/hide the cursor).

All kinds. I did a grep:

ARCHIVE.C:        geninterrupt (0x67);        /* Open handle */
ARCHIVE.C:           geninterrupt (0x67);
ARCHIVE.C:        geninterrupt (0x67);
ARCHIVE.C:        geninterrupt (0x67);
DUPS.C:          geninterrupt (0x67); /* Get pageframe */
DUPS.C:             geninterrupt (0x67);        /* Open handle */
DUPS.C:                geninterrupt (0x67);
DUPS.C:                      geninterrupt (0x67);
DUPS.C:                   geninterrupt (0x67);
DUPS.C:      geninterrupt (0x67);
DUPS.C:      geninterrupt (0x67);
FILESYS.C:   geninterrupt(0x31);
MTASK.C:   geninterrupt(0x21);
MTASK.C:   geninterrupt(0x2F);
MTASK.C:   geninterrupt(0x21);
MTASK.C:           geninterrupt(0x15);
MTASK.C:                       geninterrupt(0x2F);
OUTPUT.C:   geninterrupt (0x10);        \
OUTPUT.C:   geninterrupt (0x10);        \
OUTPUT.C:   geninterrupt (0x10);     \
OUTPUT.C:   geninterrupt (0x10);     \
OUTPUT.C:   geninterrupt (0x10);     \
OUTPUT.C:   geninterrupt (0x10);
OUTPUT.C:   geninterrupt (0x10);
OUTPUT.C:   geninterrupt (0x10);
OUTPUT.C:    geninterrupt (0x10);
OUTPUT.C:    geninterrupt (0x10);
OUTPUT.C:       geninterrupt (0x10);
OUTPUT.C:   geninterrupt (0x10);
OUTPUT.C:      geninterrupt (0x21);
OUTPUT.C:      geninterrupt (0x21);
OUTPUT.C:      geninterrupt (0x21);
WINDOW.C:       geninterrupt (0x10);
WINDOW.C:       geninterrupt (0x10);
WINDOW.C:          geninterrupt (0x10);
WINDOW.C:       geninterrupt (0x10);
WINDOW.C:       geninterrupt (0x10);
WINDOW.C:   geninterrupt (0x10);
WINDOW.C:   geninterrupt (0x10);
WINDOW.C:   geninterrupt (0x10);
WINDOW.C:         geninterrupt (0x10);
WINDOW.C:    geninterrupt (0x10);
WINDOW.C:    geninterrupt (0x10);
WINDOW.C:       geninterrupt (0x10);
WINDOW.C:         geninterrupt (0x10);
WINDOW.C:   geninterrupt (0x10);
WINDOW.C:      geninterrupt (0x10);
WINDOW.C:   geninterrupt (0x10);

Note: You don't see the #ifdef's here, so probably not every one is used in
the fsetupx version.
Note2: You don't see which parameters are set before the function call, so
there are probably some duplications regarding functionality...

 SL>>> both of which should be portable to a Win32 console without too
 SL>>> much trouble
 WV>> Maybe, if I knew how (do you mean using the conio.h family of
 WV>> functions?) and it wouldn't be too much work I might be tempted. But I

 SL> Not directly.  conio.h looks to use DOS/BIOS calls, so it's
 SL> line/stream-oriented rather than a screen buffer.

 SL> The main reasons for using $B800 were speed and the fact that writing
 SL> anything to the lower-right cell using DOS automatically scrolled the
 SL> screen up, so if it's not doing anything else some simple wrapper functions
 SL> to set the cursor position and avoid the lower-right cell would suffice.

 SL> Win32 (and OS/2, AFAIK) has a buffer-oriented console, so code using $B800
 SL> is directly portable, but since *nix terminals are stream-oriented there's
 SL> no equivalent.

 SL> Win32:
 SL> http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073(v=vs.85).a

I'll check it out...

Bye, Wilfred.


--- FMail/Win32 1.64.GPL
* Origin: Amiga Offline BBS Lisse (2:280/464)
SEEN-BY: 10/1 11/200 19/75 34/999 123/500 128/2 187 135/364 140/1 222/2 226/0
SEEN-BY: 230/150 250/306 261/20 38 100 1406 1410 266/1413 280/1027 320/119 219
SEEN-BY: 340/400 396/45 633/104 260 267 712/848 800/432 801/161 189 5030/1256
@PATH: 280/464 5003 2432/200 772/1 140/1 261/38 633/260 267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.