> Am 18.05.2025 um 15:59 schrieb E. C. Masloch via Freedos-devel 
> <freedos-devel@lists.sourceforge.net>:
> 
> However, the code you quoted is missing a check whether the returned AL 
> register is zero. If it is (indicating the call is supported) and you do run 
> a HLT afterwards regardless, then every call to the idle routine could idle 
> for twice the time it should. This could worsen response times.

The current code looks like this:

        if (!no_multiplex_int) {
            r.w.ax = 0x1680;
            intr(0x2f, &r);
            no_multiplex_int = r.h.al;
        }
        else {
            cpu_hlt();
        }

So this now falls back to HLT only if a previous INT2F call failed, like Jerome 
does in his code.

Bernd




_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to