home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!mcsun!news.funet.fi!funic!sauna.cs.hut.fi!news.cs.hut.fi!inkari
- From: inkari@snakemail.hut.fi (Juha Inkari)
- Newsgroups: comp.os.msdos.programmer
- Subject: The IN_DOS flag and writing to disk
- Date: 21 Jan 93 15:22:11 GMT
- Organization: Helsinki University of Technology, Finland
- Lines: 34
- Distribution: comp
- Message-ID: <INKARI.93Jan21172213@lk-hp-1.hut.fi>
- NNTP-Posting-Host: lk-hp-1.hut.fi
-
-
- I need advice in how to:
-
- a) Properly interpret the IN_DOS flag under Dos 5.00.
-
- b) Write to disk file from background interrupt.
-
- This is because I am making an application that will monitor a serial
- port and save the data to a disk file.
-
- I have the serial interrupt cude written, which will put incoming
- characters in receive queue. Then an interrupt handler which is
- chained to the clock tick interrupt will read the receive queue and
- process the data and possible put something in the send queue. Also
- characters read from the receive code are put in the disk buffer (1k).
- This seem to work ok.
-
- There is yet another interrupt chained in the MS-DOS background
- interrupt (0x28). This handler will do the writing to the disk file.
- It checks for IN_DOS flag and if BIOS disk interrupt is executing (I
- have a handler which will trap the BIOS interrupt and set a flag) and
- if there is more than 512 characters in the disk buffer and if all is
- ok we will open a disk file and write 512 bytes and close the disk
- file.
-
- Unfortunately, this isn't working. I am unable to open the file, and
- if it has been opened before, unable to write to it.
-
- Also the IN_DOS flag (I use Dos function 0x34 to get the flag location
- returned in registers ES:BX) seems only to be zero when I have an application
- running (like Borlang C++ IDE) and not when COMMAND.COM is running.
-
- --
- /* Juha.Inkari@hut.fi */
-