HDTenEightyP/NetNews huggingface dataset:
From: et1@cec1.wustl.edu (Evangelos Tozakoglou)
Subject: MSC 7.00. Please help me with Virtual memory.
Organization: Washington University, St. Louis MO
Date: Tue, 13 Oct 1992 18:22:13 GMT


Hi there,
	I got my new MSC 7.00 compiler just a few days ago, thaks to someone
who insisted that I could use Extneded/Expanded memory for the BIG 
matrices I am using in my programms.
Truth was that what I can use is Virtual memory and unfortunately the
documentation from Microsoft although huge, isn't enough for me.
So I am looking for a book or an ftp site where I can find examples
on how-to-use-extended-memory-for-your-matrices.
I know there are examples in the docs, but I need to make 2-D matrices and
obviously I am doing something wrong.

Thaks a lot
	Evangelos

et1@cec1.wustl.edu

From: mikew@hpwarha.wal.hp.com (Michael Williams)
Date: Mon, 5 Oct 1992 17:54:40 GMT
Subject: Critical error handlers
Organization: Hewlett-Packard Company
Newsgroups: comp.os.msdos.programmer

How does one install a critical error handler with Borland C 3.0?
I'd like to avoid having "Abort, retry, ignore?" mess up my screen!

Any advice or pointers is appreciated.

--
Michael B. Williams
Hewlett-Packard Company
Medical Products Group
Waltham, MA 02254                    Prodigy: Dumped it
(617) 290-3734                       CompuServe: 73667,3264
mikew@hpwarga.wal.hp.com             America Online: Mike W99
Newsgroups: comp.os.msdos.programmer
From: sigma@picasso.ipl.rpi.edu (Kevin Martin)
Subject: Re: Floppy Disk 1:1 interleave ?
Date: Fri, 9 Oct 1992 21:14:33 GMT

jt@fuw.edu.pl (Jerzy Tarasiuk) writes:
>Yes. If you read disk using DOS, it is fast, too (if file is contiguous).
>However, I found UNIX floppy disk driver cannot handle 1:1 at full speed
>- before it is ready to read next sector, more than 4 sectors pass...
>Therefore, UNIX works best if you use interleave 1:6, DOS is better :^).
>(tested for Interactive UNIX System V, on 16/20 MHz 386 based machine).

Note that you can speed up disk access even further (for long contiguous
accesses) by formatting your disks with FDFORMAT.  It's a standard format,
but "sector sliding" is employed.  What this means is that each subsequent
track has its first sector at a different position from the previous track
(the drive doesn't get confused and DOS never knows the difference).

The idea is that the first sector of the next track will come under the
read/write head just as the head moves to the next track.  This makes long
contiguous accesses significantly faster on my 386/25.

-- 
Kevin Martin
sigma@ipl.rpi.edu
"We're gonna need another Timmy!"
From: anders@ipcsun1.his.se (Anders Eklund)
Newsgroups: comp.os.msdos.programmer
Subject: Mouse interface
Date: 8 Oct 92 12:06:54 GMT
Distribution: comp.os.msdos.programmer
Organization: University of Skoevde, Skoevde


Hi there,

  I have a question about how to build in a mouse interface in a program,
preferably in C. I can think of three different ways how the mouse
routines might work. Either by an interrupt where a function and parameters 
are put in some registers and an answer is returned in registers.
Another way maybe could be that you get an address stored in registers by an
interrupt call and further communications is done by calling the mouse
routines directly. The last way I can think of is that you by an interrupt
call store an address to one of your own function and the mouse routines
call this function with some information when something happens. Is one
of these approaches correct? If that is the case, which one. I would
appreciate if someone could send me a mail with as much information
as possible to build a mouse interface in a program.

Thanks in advance
Anders
--


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         ___
        /   /       /                --  Anders Eklund  anders@his.se --
       /__ /___ ___/___ ___ ___      --  Connectionist Research Group --
      /   //  //  //__//   /__       --  Computer Science  Department --
    _/   //  //__//__ /   ___/       --  University of Skovde, Sweden --

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroups: comp.os.msdos.programmer
From: francis@csli.stanford.edu (Straw Man Dude)
Subject: Real time tasks using DOS
Keywords: real-time, timer, clock
Organization: Stanford University CSLI
Date: Thu, 15 Oct 1992 23:04:57 GMT


I'm trying to use the DOS timer in order to set up a task that runs every
60th of a second. Does anyone have software that does this and in general
how does one use the DOS timer to set up real time or pseudo real-time tasks?
What is the maximum granularity I can expect? i.e. what is the minimum time
slice I can achieve?

thanks for any help,
dave francis
Newsgroups: comp.os.msdos.programmer
From: jt@fuw.edu.pl (Jerzy Tarasiuk)
Subject: Re: Port for keyboard indicator lights needed
Organization: Warsaw University Physics Dept.
	<1992Sep29.003035.10991@wam.umd.edu> <4369@news.chips.com>
Distribution: comp
Date: Wed, 7 Oct 1992 19:45:24 GMT

Hello,
I suppose it is good idea to receive all data from KB in interrupts
and don't bother to check KB ctrlr output register is empty (input MUST
be checked). I included here an example program I wrote now just to test
if this algorithm works (and it is OK). An ACK received in interrupt
clears ack-wait flag and this is a signal to know ACK was received.
(in more advanced system may use other inter-process communication
to avoid wasting time while one process waits for the ACK from KB).
begin 644 kbi.zip
M4$L#! H    & )*C1QG6)9->"00  , '   #    2T))#0(!$B,4%38W:(F:
MVSP%!A(31,7VEO?#-E28<&Q8MFP3M@V;ULWRPZT[%VW"L'@3)MP)\FU=N2"F
M-]VR<N76A4L7Y)SC;3?MV+(@Y5AO.M6[K([U;_O6COIFRQ)F4*)HWB?9M'/#
MBF43OI<*F<;7BAT[MBV9YH-?Z-,FC/,NMVQ8,NP[+!U]WA:.,#<:1+L'';H4
MY _K5ZLWX=DRX'OL&NKITB7(O&7GL@1Y]BU(LVS#GB$?:.=;.&>+[W>CO5N"
MR+OVM="D3Z>HS<BO^U%L;SI3A[V)E7/,YF19L-=WTZ#=(,NZR=O3TDU!OZAJ
M-52WSH1DQ2:$6:3J>IYOS<YY_KL)6\9H'MWZ3'-ZA_ B>U57]+MY>N\R9TPT
MTQH-M")>[0K-<[O-OI4CMV(_JA3[#NN6;$*Q+,=8J_[JKQ=%H[_'"-UAUO>5
M^V]IA'ZW8'+ %6G"%C&SN2W0! F]M!GCO'5;$/ HDTJ-&@.L)PC"$\I88K- 
M7T>BQAA@;CI!.=DW7F@7;ON=:T^CADZ(=RS:,]8R3#7#*J"48^G*91/ZD'TY
MKRT5N,[C>S[&6>()JI"?Q?(PYFQU%)[3H-(34-USZ31/&<O/]LW0[28.95Y)
M+8:I>Q3S><V=:IG79D%HJ=N6.6I$J.W=TX[XKM/D-I,YW1:$_I;#=(4SOU=E
MK4/,:BD%+(!0?2J^BWVW*>*HW$&9IF#6;YZRNRJJ?J.^W%R!$U O_I;;FV/:
MWFS3@GKK:!I.RMDBR=XBR>8U,]K>A?TR&IQ^Q4\L'5@RUU-"^QSWU<<-G7)@
MO];+&+2M&,M/F"[\B;?9%Z@H0K"V^Q7%%=&NP1CM=99<2RQQ"K=6N5V6#!J)
M_@J-N+(5E6&D_ZV<( MFU[&IF.C+_12CIMQT[C[;M&?1TIV3Y'ARM3:^R*4J
MJ2='Y!/\0[X^T6=E6"Q-BK(Q0[)^668\PC6,[Q6R$56<EG#FZCQMV7XDK7:4
M+(/8<5;/4"TO*[;N&4JO4\+@1<Q7?NU64\?43@83M5DS0H7Q$D5/.E6*&>DY
M>TNR<\BLSQ1NNT$/QV4K0L^L"3,GFO$_@RS9DN$>@]MDR<IA1?/TQT2S7OB*
MLQ2+9_U0([@W2+5U1*>X4^/.LNP<H'F9>T:F&*6V6Z8Z%XOG'BGCG@#*[[JA
M6LBC=Z07I[M0K641NM&WPYERX5:305[51J3/<?S,(,>4#JXN,T,=\66*N"G&
MN9)Y&]9UV=*=(]@(_A5I=TP8RZN]Z_ <3[#<O.]XCTUP:V:$H,XRE>KN>!I9
MA6F87Q5C>+L%$?E$.11KCU2R4QAB_P;OB;WW.SS)[]!,&,= 2R;PRI2LYD ,
MM?0O@WK<EWHL'=,;')28X(Z E-QXMBIV.-L4VBO>&E!+ P0*      #$HT<9
MSUV[8*    "@    !P   $M"22Y#3TWH9 !0L*WH+0#D8#SZ= =8Z@    "0
M+H F%0'^L*[H%0"P8>8@6,^&Q%$SR>1DJ +@^EF&Q,/H[O]U_N9DP^CF_W42
M@ X5 0'F8%$SR?8&%0$!X/E9PU"P[>CB_UAU!NC<_W4!P\S#6@X?N DUS2&)
M'A$!C 83 093N DES2&Y( "(R%$SR;00XO[^S'7Z64@D!^C!_^+J6A^X"27-
M(<T@4$L! @L "@    8 DJ-'&=8EDUX)!   P <   ,          0 @    
M     $M"25!+ 0(+  H      ,2C1QG/7;M@H    *     '            
E(    "H$  !+0DDN0T]-4$L%!@     "  ( 9@   .\$        
 
end
From: elliot@Wellspring.COM (Elliot H. Mednick)
Newsgroups: comp.os.msdos.programmer
Subject: Applications and Running out of Memory
Distribution: world
Date: Wed, 07 Oct 92 15:48:02 GMT
Organization: Wellspring Solutions, Sutton, MA.
Reply-To: elliot@Wellspring.COM

In article <1992Oct7.001411.8605@novell.com> larrow@novell.com writes:
 > [...]
 > My question is why don't applications handle running out of memory in a 
 > nicer fashion? This may seem like a generalization, but it seems to happen
 > a lot. I would think that since the programmer allocates the memory via
 > a malloc or whatever, he/she would know when the memory allocation failed
 > and be able to recover gracefully. Is this a misconception? Am I thinking
 > on too small a scale?

If the application is using some form of malloc() to allocate memory,
then they are probably not checking the returned value for zero, which
(for better or for worse) indicates that the amount of memory requested
is not availble.  If it is not checked, then the assigned pointer will be
NULL.  Since DOS can't detect NULL pointers, then chances are it will be
assigned to, most likely modifying DOS's interrupt table.  Crash.

Most better-written applications have a shell around malloc() that
tests for a NULL return value and, if so, prints some informative
message and quits gracefully.

--
Elliot H. Mednick                                        P.O. Box 150
Wellspring Solutions                                     Sutton, MA. 01590
elliot@Wellspring.com                                    +1 508 865 7271
Newsgroups: comp.os.msdos.programmer
From: jt@fuw.edu.pl (Jerzy Tarasiuk)
Subject: Re: Real time tasks using DOS
Organization: Warsaw University Physics Dept.
Date: Fri, 16 Oct 1992 17:54:03 GMT

>>>>> On Thu, 15 Oct 1992 23:04:57 GMT, francis@csli.stanford.edu (Straw Man Dude) said:
Straw> I'm trying to use the DOS timer in order to set up a task that runs every
Straw> 60th of a second. Does anyone have software that does this and in general
Straw> how does one use the DOS timer to set up real time or pseudo real-time tasks?
Straw> What is the maximum granularity I can expect? i.e. what is the minimum time
Straw> slice I can achieve?

Max frequency of interrupts depends on what does program servicing them,
e.g. on XT 4.77MHz can service 20000 interrupts/second to produce sound
(using timer channel 2 as 6-bit DAC).
Accuracy at which we get interrupts can be better than 1 microsecond
(if CPU executes a HLT opcode waiting for interrupt).
I remember many years ago I wrote .ASM program which was used to
collect about 300000 values read from ADC and write them to disk,
it used timer interrupts. And I did some experiments producing sound
from PC or driving external DAC. It works fine if RAM refresh cycle
time is set properly (time between interrupts should be integer
multiply if the refresh cycle to avoid interference effects).
From: int559r@aurora.cc.monash.edu.au (Misha Verplak)
Newsgroups: comp.os.msdos.programmer
Subject: Re: Need way to monitor actual memory on DOS heap
Date: 16 Oct 92 02:24:41 GMT
Organization: Monash University, Melb., Australia.

johna@mobdig.ncal.mobdig.com (John Antypas) writes:

>Here's one for the DOS veterans...

>In my Microsoft C (or Borland) program, I allocate memory via malloc et al.
>in small model.  The set of statements proceeds roughly as follows:
>ptr1 = malloc(SIZEA);
>...
>ptr2 = malloc(SIZEB);
>...
>ptr3 = malloc(SIZEC);
>...
>if (_memavl() < MIN_SIZE) { error code here }
>...
>free(ptr2);
>...
>if (_memavl() < MIN_SIZE) { error code here }
>...

>What SHOULD happen is DOS should report that SIZEA+SIZEC bytes of 
>memory are no longer available.  Instead it reports SIZEA+SIZEB+SIZEC
>are used (or rather that top-SIZEA-SIZEB-SIZEC are available).
>This may be correct for a heap, but it causes trouble for me.  
>I can't be sure the heap will 'unwind' in the order wound.

>Is there any way to find the actual amount of memory available for
>allocation at any moment that takes into account the memory just
>allocated or freed?  By the way, I'm not wed to using malloc/free,
>if anything else works, let me know?

When DOS frees memory of SIZEB, it is left with SIZEA | free | SIZEC | free
and so the _contiguous_ memory available starts after SIZEC.

Misha.
Newsgroups: comp.os.msdos.programmer
From: brace@columbia.eng.hou.compaq.com (Don Brace)
Subject: TSR
Followup-To: brace@compaq.com
Organization: Compaq Computer Corporation
Date: Fri, 16 Oct 1992 19:07:34 GMT

Does anyone have a TSR written that will respond automatically to an Windows 3.1
pop-up window with a carrage return?
From: ssalter@silver.ucs.indiana.edu (-=[SLS]=-)
Newsgroups: comp.os.msdos.programmer
Subject: Re: VGA 320x240@256 -P?
Date: 14 Oct 92 20:11:30 GMT
Article-I.D.: usenet.Bw4o36.GMH
Organization: OFSA

mbfarah@isluga (Miguel Braxton Farah)
>Hi! Is it true that there is a VGA (extended-non documented or whatever)
>320x240@256 mode?. How can I access it - if it exists? I'm trying to write 
>a GIF viewer of my own and this mode would be very useful for avoiding the
>infamous distortion when one sees 640x480 images in 320x200.


Is true..refer to DDJ articles by Michael Abrash for one source. This
mode is one of several that are called mode-x and mode-y vga modes.
There is an xlib02.zip library on wuarchives in MSDOS_UPLOADS that
should help.
Newsgroups: comp.os.msdos.programmer
From: vpham@cs.ulowell.edu (Vinh Pham)
Subject: how doyou change the stack size?
Organization: University of Massachusetts at Lowell Computer Science
Date: Sat, 17 Oct 1992 02:04:15 GMT

hi,
how do you change the default stacksize using turbo-c;
i 've looked in the ref. book but couldn't  find anything.
please e-mail
thanks 
huy
Newsgroups: comp.os.msdos.programmer
From: tooraj@daneel.rdt.monash.edu.au (Tooraj Enayati)
Subject: Help me choose a C++ compiler.
Organization: Monash University, Melb., Australia.
Date: Tue, 13 Oct 1992 12:35:56 GMT

Hi every one,

I am confused. I have been programming in C for a couple of years now.
Now I wanna move on to C++. I have used  Turbo C (and MSC. But I really
liked Turbo C.)

What, I want is that the compiler to allow me write windows applications as
well as normal C/C++ codes for MS-DOS as well. I was initially going to
buy Borlnad C++ with Application Frameworks. The reasn was that I
thought that was the only one that would allow me to write windows
applications (plus it costs more so I thought it must be the the
complete package). I have just been tald that Turbo C++ for Windows also 
dose that.

Could some kind soul tell me what the Application Frameworks is and
what should I get; Bourland C++, Borland C++ with Application Frameworks,
Turbo C++, or Turbo C++ for windows.

I have also heard Borland will provide patches for its compilers to
support Windows NT, has anyone heard of this.

I Thank you for you help in advance.

PS. prices of the compile dosen't wory me, I an get the educational
prices.

-- 
==============================================================================
Tooraj Enayati     Melbourne     Australia     tooraj@daneel.rdt.monash.edu.au
Monash University       Robotic and Digital Technology       (Graduate/Alumni)
==============================================================================
Newsgroups: comp.os.msdos.programmer
From: fs8j@uvacs.cs.Virginia.EDU (Fraser Street)
Subject: Borland C startup code (C0.ASM) question
Organization: University of Virginia Computer Science Department
Date: Thu, 8 Oct 1992 01:36:38 GMT


I have one specific question and one general question about the
Borland C startup code, namely C0.ASM.  I'm working in HUGE model - I
know the .BAT file defines __HUGE__ and builds C0H.OBJ out of C0.ASM.

Specifically, I notice IFNDEF's in C0.ASM on a symbol __BOSS__ .  A
reference to it appears aroound line 100 of C0.ASM.  What is __BOSS__?
What is it's significance?  

In general, i'm faced with the unpleasant task of hacking my way
through this code for a project i'm working on.  Does anyone know of
any magazine articles or documentation (possibly from Borland)
that I could get with info about C0.ASM, the things it's responsible 
for doing, how it works, etc.

Thanks very much!


Fraser

-- 

Fraser Street
fraser@Virginia.EDU
University of Virginia
Department of Computer Science
From: thecrux@diku.dk (Ruvan Paul Fernando)
Newsgroups: comp.os.msdos.programmer
Subject: Asm. code needed to generate synth sound for soundblaster
Date: 9 Oct 92 12:51:34 GMT
Organization: Department of Computer Science, U of Copenhagen


Silents PC have just started coding games for the pc (MCGA) and 
we need source code for the soundblaster (the docu sucks!).
What we need is not how to play eg. amiga modules on the soundblaster, 
but the FM-synth sounds. 

Comments, source or diskussions requested

-----------------

thecrux@diku.dk     alias The Crux of Silents.
Newsgroups: comp.os.msdos.programmer
From: whedon@netcom.com (Bill Whedon)
Subject: MK_FP macro needed
Keywords: MK_FP macro
Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
Date: Wed, 14 Oct 1992 20:01:18 GMT

Has anyone got a MK_FP macro for MSC 6/7 which they would be willing to share?
Thanks,
Bill Whedon   whedon@netcom.com

-- 
I don' need no steenking .signature!
Newsgroups: comp.sys.pc.soundcard,comp.os.msdos.programmer,comp.os.ms-windows.programmer.misc,comp.os.ms-windows.misc,comp.windows.ms
From: root@sean.tomsk.su (Alex Povzner)
Subject: I have Covox (DAC) driver for Windows
Date: Tue, 6 Oct 1992 06:41:01 GMT
Reply-To: root@sean.tomsk.su
Organization: Elecard ltd hq


        Do You need in COVOX (DAC) driver for Windows ? Such
driver allows to play .WAV and .MOD files under MS-Windows !
With simple DAC (Covox) scheme either on resistors or on DAC chip !
Any melody can be assigned to any Windows' internal event !
Almost any prrogram for Windows' Sound will work with Covox
Driver !

        If You don't have COVOX driver and You want to receive it,
You send usual paper letter containing $5 and Your EMAil address
to me and on in a one day You will have had the driver.

        My address : Russia, index 634034, town Tomsk,
        street Uchebnaya 34, 51. Alex Povzner
From: ttk@ucscb.UCSC.EDU (the troglodyte killer)
Newsgroups: comp.os.msdos.programmer
Subject: Re: How to Access 143 Column VGA Mode from TurboC?
Date: 14 Oct 1992 20:05:24 GMT
Organization: University of California; Santa Cruz
NNTP-Posting-Host: ucscb.ucsc.edu


>Subject: How to Access 143 Column VGA Mode from TurboC?
>I guess the subject line says most of it.  I'm using TurboC 2.0, and the
>book tells how to get into all the 40 and 80 column modes using textmode().
>But it doesn't tell me how to get into 143-column.
>Can it be done?
 
     Sure.  Just write a quickie (like, a dozen lines) in assembly 
and link in the .OBJ file.  Turbo supports stuff like that 
wonderfully.
 
                                                      -- TTK
From: stern@mble.philips.be
Newsgroups: comp.os.msdos.programmer
Subject: Read/write floppy volume label
Date: 12 Oct 92 16:25:18 MEWT
Organization: MBLE , Brussels, Belgium

Could anybody explain me how to read/write the floppy volume label
and serial number in all DOS versions (at least from 3.0) ?

Thanks a lot,

--  Marc Stern  <stern@mble.philips.be>
Newsgroups: comp.os.msdos.programmer
From: bew@brahms.udel.edu (Ben Williams)
Subject: BOOTing AMI bios based IBM-PC compatible computer on drive B:
Organization: University of Delaware
Date: Thu, 15 Oct 1992 17:24:48 GMT

I bought a PC-compatible which has 5.25" drive as A: and 3.5" as B:.  I
used to think that the standard procedure was:  Try to boot from A:.  If
that fails, try B:.  Otherwise boot from C:.  But my computer tries A: and
if that fails, boots from C:.  Is there some way I can boot from B: onto a
3.5" disk.  I imagine there is someway to do it from DOS.  What I would
really like would be if there were some way to do it from a cold boot (but
I am not holding my breath on that...).

Ben.

-- 
Ben Williams
bew@brahms.udel.edu

               What we got here is a failure to communicate...
From: wilson@arp.anu.edu.au (Wing Sik Yeung)
Newsgroups: comp.os.msdos.programmer
Subject: Info on reading Mac disk on PC drive
Date: 9 Oct 1992 08:11:54 GMT
Organization: ANU, Canberra, Australia
Distribution: world
NNTP-Posting-Host: jupiter.anu.edu.au
Keywords: mac disk, PC drive

Hello,
	I'm looking for some information about reading Macintosh files on PC floppy drive.
	If you got any comment, info, idea, would you please mail me.

Thanks in Advance.

_wilson
From: weinstoc@sei.cmu.edu (Chuck Weinstock)
Newsgroups: comp.os.msdos.programmer
Subject: Turbo Vision Help?
Date: 13 Oct 92 19:15:00 GMT
Article-I.D.: sei.1992Oct13.191500.28450
Organization: The Software Engineering Institute


Are there any users of Borland's Turbo Vision out there?  If so, I'd
appreciate hearing from you as I need some (beginners) help.



Chuck Weinstock				weinstock@sei.cmu.edu
Software Engineering Institute		(412) 268-7719
Carnegie Mellon University		(412) 268-5758 (Fax)
Pittsburgh, PA 15213
Newsgroups: comp.os.msdos.programmer
From: jt@fuw.edu.pl (Jerzy Tarasiuk)
Subject: Re: Real time AT Clock on int 70h
Organization: Warsaw University Physics Dept.
Date: Fri, 9 Oct 1992 11:50:28 GMT

>>>>> On 7 Oct 1992 22:08:24 -0500, ISB202REID@redgum.qut.edu.au (Did somebody say Coffee ??????) said:
Fodd> I was perusing Ralf Brown's interrupt list,
Fodd> when I found the entry for the real time AT clock on Int 70h.
Fodd> So I wrote a TSR that hooked it and hoped it would be invoked,
Fodd> every 1024th of a second.
Fodd> Absolutely nothing happened.
Fodd> Any Ideas ???

I looked into IBM's AT Technical Reference and found the following:
;--- HARDWARE INT  70H -- ( IRQ LEVEL  8 ) ------------------------------------
; ALARM INTERRUPT HANDLER (RTC)                                               ;
;       THIS ROUTINE HANDLES THE PERIODIC AND ALARM INTERRUPTS FROM THE CMOS  ;
;       TIMER.  INPUT FREQEUNCY IS 1.024 KHZ OR APPROXIMATELY 1024 INTERRUPTS ;
;       EVERY SECOND FOR THE PERIODIC INTERRUPT.  FOR THE ALARM FUNCTION,     ;
;       THE INTERRUPT WILL OCCUR AT THE DESIGNATED TIME.                      ;
;                                                                             ;
;       INTERRUPTS ARE ENABLED WHEN THE EVENT OR ALARM FUNCTION IS ACTIVATED. ;
;       FOR THE EVENT INTERRUPT, THE HANDLER WILL DECREMENT THE WAIT COUNTER  ;
;       AND WHEN IT EXPIRES WILL SET THE DESIGNATED LOCATION TO 80H.  FOR     ;
;       THE ALARM INTERRUPT, THE USER MUST PROVIDE A ROUTINE TO INTERCEPT     ;
;       THE CORRECT ADDRESS FROM THE VECTOR TABLE INVOKED BY INTERRUPT 4AH    ;
;       PRIOR TO SETTING THE REAL TIME CLOCK ALARM (INT 1AH, AH=06H).         ;
;------------------------------------------------------------------------------
As I can understand from code, INT 4Ah can be executed by it and its
handler can use registers AX,DX,DI,DS. Event wait uses cells 40:98..A0.
Alarm wait can be activated by INT 1Ah, CH=hour, CL=minute, DH=second,
AH=6 (sets CF if already active), reset (before alarm) by INT 1Ah, AH=7.
Event wait may be activated by INT 15h, AH=83h, AL=0, ES:BX=flag address,
CXDX=time (in us), (AH=83h, AL=1 clears event wait), also WAIT function
(INT 15h, AH=86h, CXDX=time) can use it. Seems there is a bug in BIOS
code: WAIT needs flag to be ORed with 80h and it is set to 80h, but
I'm looking in listing of very old BIOS, surely the bug is fixed now.
Newsgroups: comp.os.msdos.programmer
From: johnb@bilton.demon.co.uk (John Burton)
Subject: Hardware information
Distribution: world
Organization: News from my home
Date: Mon, 5 Oct 1992 18:12:40 +0000

I'm looking for hardware programming information about pc compatibles.
Particularly the DMA, interrupt controller, and hard and floppy disk
controllers, although any information about other hardware anyone has
would be welcome.

I've asked around, and so far have been unable to find any references
containing information on how to program the above devices which 
surprises me. Every book I've seen tells you how to program screens
and serial ports, and that's it!

If anyone can point me at a file to ftp on internet, or the name of any
books that contain this sort of information I would be gatefull

I apologise inadvance if this is an FAQ. Please reply to me through mail,
and I will summarise anything interesting I get on the newsgroup.

        -- John

+-------------+--------------------------------------------+
| John        | johnb@bilton.demon.co.uk    (home)         |
| Burton      | john_burton@gec-epl.co.uk   (work)         |               
+----------------------------------------------------------+
Newsgroups: comp.os.msdos.programmer