From Jcurtis@VERT to ALL on Tue Jun 24 20:27:48 2025
By trial and error I discovered EMM calls enable interrupts. This can
cause havoc in a TSR where you need interrupts disabled. Finding these
bugs is not easy. My TSR enables interrupts part of the time, so I do
EMM calls there. Here's an example with comments.
void
next_irq (void)
{
int x;
next:
x = next (); /* service IRQs with */
enable (); /* interrupts enabled */
# ifndef noemm /* EMM call enables interrupts, do */
emm_get_page_map (e1); /* not do it before enable () above */ # endif
if (x) {
service_com_irqs (x);
} else
service_ticktock ();
# ifndef noemm
emm_set_page_map (e1);
# endif
disable ();
if (x)
mask_irq (NO, x);
if (iq[iz])
goto next;
}
* SLMR 2.1a *
* SLMR 2.1a *
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
Who's Online
Recent Visitors
Guest
Tue Feb 3 21:45:42 2026
from
Kk
via
Telnet
Locotuxon
Mon Feb 2 01:55:10 2026
from
Francia 2008, Concepcion, Tucu
via
Telnet
Locotuxon
Mon Feb 2 01:51:31 2026
from
Francia 2008, Concepcion, Tucu
via
Telnet
Ragnarok
Sat Jan 31 18:43:41 2026
from
Dock Sud
via
NNTP
Fokker Mollari
Sat Jan 31 10:02:08 2026
from
Quilmes, Buenos Aires
via
Raw
Guest
Sat Jan 31 07:14:35 2026
from
Dsadas
via
Telnet
Guest
Thu Jan 29 08:08:46 2026
from
Dsadas
via
Telnet
Maximilianog
Mon Jan 26 14:40:07 2026
from
Wilde, Bs As
via
Telnet
Fokker Mollari
Sat Jan 24 12:55:04 2026
from
Quilmes, Buenos Aires
via
Raw