From: ams AT ludd DOT luth DOT se (Martin Str|mberg) Newsgroups: comp.os.msdos.djgpp Subject: Re: The endless int31 hooking debugging continued Date: 9 Jan 2000 15:01:44 GMT Organization: University of Lulea, Sweden Lines: 42 Message-ID: <85a7so$9kn$1@news.luth.se> References: NNTP-Posting-Host: queeg.ludd.luth.se X-Trace: news.luth.se 947430104 9879 130.240.16.109 (9 Jan 2000 15:01:44 GMT) X-Complaints-To: abuse AT luth DOT se NNTP-Posting-Date: 9 Jan 2000 15:01:44 GMT X-Newsreader: TIN [UNIX 1.3 950824BETA PL0] To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Eli Zaretskii (eliz AT is DOT elta DOT co DOT il) wrote: : : On Thu, 6 Jan 100, Martin Str|mberg wrote: : : > > It should be easy to throw together a function that copies the string : > > into a static buffer (together with any attribute byte, to make its tand : > > out), then blits it all to video RAM. If you write this in assembly, you : > > can forget about the stack. : > : > Well, that's far over my head. I just want to be able to hook INT31 : > and be able to get out some debug info (so I can see where the real : > code goes wrong). : : How about using _farpokeb, then? It's inline assembly, and doesn't : use the stack. You could write the characters with it one by one. : Clumsy, but works. : : Actually, you could even use the assembly instructions from _farpokeb : inlined in your code. The problem I have isn't with the loop or such, but to get something out to video memory. I have some kind of basic understanding of assembly, but knows very little about PC hardware. : Or, simply remove the call to cputs and see if the crashes stop. If : they do, you know that this is the culprit. If they don't, it's : probably a good idea to find and correct the other problem(s) before : you actually do something useful with the hook. Well, I did that with one of my earlier attempts, the crashing stopped (no surprise as I didn't set up the segments correctly). If I do that with my latest (simple9.c) the computer reboots. The cputs call is only to get some debug information. If I only chain all works. If I do some real work it doesn't work. So the next step is a way to get debug information (cputs) but I can't make that work - so I'm stuck. Help! Right, MartinS