delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2007/11/02/09:14:54

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
From: RayeR <glaux AT centrum DOT cz>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: PM interrupt handling - how to call old old ISR with slower rate than my new ISR
Date: Fri, 02 Nov 2007 06:09:32 -0700
Organization: http://groups.google.com
Lines: 29
Message-ID: <1194008972.850005.77660@k79g2000hse.googlegroups.com>
References: <1193997973 DOT 429569 DOT 16180 AT y42g2000hsy DOT googlegroups DOT com>
<20071102105257 DOT 6AE83570272 AT panel DOT abserver DOT es>
NNTP-Posting-Host: 195.70.144.29
Mime-Version: 1.0
X-Trace: posting.google.com 1194008973 29254 127.0.0.1 (2 Nov 2007 13:09:33 GMT)
X-Complaints-To: groups-abuse AT google DOT com
NNTP-Posting-Date: Fri, 2 Nov 2007 13:09:33 +0000 (UTC)
In-Reply-To: <20071102105257.6AE83570272@panel.abserver.es>
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070802 SeaMonkey/1.1.4,gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse AT google DOT com
Injection-Info: k79g2000hse.googlegroups.com; posting-host=195.70.144.29;
posting-account=ps2QrAMAAAA6_jCuRt2JEIpn5Otqf_w0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Nov 2, 11:52 am, "JM Rams" <josepma DOT  DOT  DOT  AT turomas DOT com> wrote:
> Well, I don't simulate  real time clock, I chain my new interrupt, then real
> time interrupt is called more than 18,3 times per second. The thing I do is
> discount real time counters to make the increment only 18,3 times per
> second.
>
> All works, hour, callendar, floppy disk. "uclock" don`t works because it
> uses registers of timer. I do my own uclock.

Aha, understand. but it will not prevent if something else is hooked
at timer.

and another thing. It's suggested to use lock functions to prevent
code/data swapping off.
but how do i get size of code of my PM_ISR?
Somewhere I saw a trick:

void ISR() {...}
void ISR_END {}

and then calc size=(long)ISR_END-(long)ISR;

But GCC seems to not keep the order because I got negative size - mean
that in real ISR_END() is placed at lower address than ISR() so this
completly fails.
Better idea?
Maybe that if it's only small program I could disable paging at all
via crt0 flag but will not mess up when running under windows?

- Raw text -


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