www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2006/02/11/05:17:21

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
From: "Rod Pemberton" <do_not_have AT sorry DOT bitbucket DOT cmm>
Newsgroups: comp.os.msdos.djgpp
References: <43E12016 DOT 2070308 AT mainstreetsoftworks DOT com> <7t88b3-d2q DOT ln1 AT news DOT infowest DOT com> <43E1863D DOT 8080308 AT mainstreetsoftworks DOT com> <fgt8b3-c4u DOT ln1 AT news DOT infowest DOT com> <43E216B4 DOT 70509 AT mainstreetsoftworks DOT com> <43E243F8 DOT 7060401 AT mainstreetsoftworks DOT com> <1o8ab3-2i71 DOT ln1 AT news DOT infowest DOT com> <k2qab3-d7b1 DOT ln1 AT news DOT infowest DOT com> <43E2C6DA DOT 4080700 AT mainstreetsoftworks DOT com> <4mcbb3-q1f1 DOT ln1 AT news DOT infowest DOT com> <43E3884C DOT 8050308 AT mainstreetsoftworks DOT com> <0naeb3-s442 DOT ln1 AT news DOT infowest DOT com> <43E587DC DOT 6080801 AT mainstreetsoftworks DOT com> <js8hb3-7kq2 DOT ln1 AT news DOT infowest DOT com> <43E8F9ED DOT 1070208 AT mainstreetsoftworks DOT com>
Subject: Re: TSR issues (with code)
Date: Sat, 11 Feb 2006 05:17:50 -0500
Lines: 66
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1437
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441
NNTP-Posting-Host: 68.60.59.250
Message-ID: <43edb8aa$1@news.bea.com>
X-Trace: news.bea.com 1139652778 68.60.59.250 (11 Feb 2006 02:12:58 -0800)
Organization: BEA SYSTEMS Inc
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

"Brad House" <brad AT mainstreetsoftworks DOT com> wrote in message
news:43E8F9ED DOT 1070208 AT mainstreetsoftworks DOT com...

<snip>
> Ok, well, your code definitely worked, but you're right, as soon as you
> introduce a write() anywhere, it bombs.  Unfortunately, I need to do a
> write (not to the screen, but to disk).  So I've followed every
> reference I can find, and I've attached what I've come up with.  It's
> a full test suite to turn certain options on and off, and provides
> hooks to enable and disable wrapping each bios interrupt individually.
>
<snip>
> I think I'm probably chaining the BIOS interrupts incorrectly
> (possibly). From what I've read, I should be able to chain int 13,
> and hold when it's active in memory, and just perform a sanity
> check before entering the hook on the timer interrupt, if int 13
> isn't in the middle of being called, I should be able to simply
> disable interrupts, and write to disk.... but... alas ... it
> doesn't work :/
>
> Any help would be appreciated.  I think what I've written is actually
> a pretty nice test suite, but with no combination of options, can
> I get it to work ...  Anytime I specify  -fmyfile.out  it will
> lock up hard as a rock... I hope it's something stupid and small,
> and not 'impossible'.

(Darn, third post attempt for this.)

First, there were some errors in the previous version of your example I
posted:

> _go32_dpmi_set_real_mode_interrupt_vector(TIMER_INTERRUPT, &pmint28);
_go32_dpmi_set_real_mode_interrupt_vector(IDLEDOS_INTERRUPT, &pmint28);


I introduced these unintentionally:

> indos_offset=(r.x.es<<4)|r.x.bx;
indos_offset=(r.x.es<<4)+r.x.bx;

> critical_offset=(r.x.ds<<4)|r.x.si;
critical_offset=(r.x.ds<<4)+r.x.si;

With the simple example, I'm seeing an issue with int 0x1c.  Myint28() works
fine with write(). But, as soon as DOS starts doing something, myint28() is
no longer called, i.e. during DIR/S or EDIT.  Myint8() gets called during
DIR/S or EDIT, and it is not being called as fast as myint28().  However,
after about 2400 tsr_intcallback()'s, write() locks after being called from
myint8().  Afterwards, I can't boot Win98SE because all memory is allocated.
I suspect there is a memory leak, perhaps with the _CRT0_FLAG_UNIX_SBRK I
added.


I'd like to look at your new code and work on it some more, but I really
don't have any more time right now.

Sorry.


Rod Pemberton





- Raw text -


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