ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/06/27/19:38:31

Xref: news-dnh.mv.net comp.os.msdos.djgpp:637
Path: news-dnh.mv.net!mv!news.sprintlink.net!news.clark.net!rahul.net!a2i!wilsont.a2i!wilsont
From: Timothy Wilson <wilsont AT rahul DOT net>
Newsgroups: comp.os.msdos.djgpp
Subject: Serial Port Interupt programming, ideas/help/info wanted...
Date: 27 Jun 1995 20:18:28 GMT
Organization: a2i network
Lines: 36
Distribution: ca
Nntp-Posting-Host: foxtrot.rahul.net
Nntp-Posting-User: wilsont
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Dj-Gateway: from newsgroup comp.os.msdos.djgpp


Hey fellow djgpp'ers.

I wrote a program that creates two queues for the input and output
on a serial port. This is handled in an interrupt.

the interrupt is "wrapped", using those go32_dpmi_  functions, then 
attached to the interupt vector using go32_dpmi_set_protected_vector.

I use the function adress &  go32_my_cs()  combo for the wrapper.

Ok, that seems to work in a very simple case, ie, a dumb terminal program.

however, when I move this interrupt driven code to another djgpp program
(a BBS of mine), it crashes, and it crashes in a bad way, bad meaning that
if I use gdb it will hang the system completely.

I was using FOSSIL drivers and int86(0x14,xx) calls before, so I know it's
not my BBS crashing. I'm trying to get rid of the fossil drivers, since I 
can't ship them with my BBS, and I need 19.2k+ baud. BIOS only goes to 9600.

Where should I go from here? should I use a real mode vector and allocate
my buffers from the lower 640? Is my simple test running because it
fits in the lower 640?

Any ideas would be appreciated, I'll be happy to post or otherwise make
availbile the interrupt code when it works. 

Thank you!


-- 
Timothy Wilson --- wilsont AT rahul DOT net --- Sillicon Valley 
>Dark Oak Software<-+Entertainment and Applications programming in C
^^^^^^^^^^^^^^^^^^^+->X/Unix, and MS-DOS

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019