Avishai Ish-Shalom
@nukemberg
The IBM XT computer had 1MB of RAM.
It's shiny successor - AT 80286 - has just arrived and it had whooping 16MB of RAM
One problem: compatibility!
int enable_a20(void)
{
int loops = A20_ENABLE_LOOPS;
int kbc_err;
while (loops--) {
/* First, check to see if A20 is already enabled
(legacy free, etc.) */
if (a20_test_short())
return 0;
/* Next, try the BIOS (INT 0x15, AX=0x2401) */
enable_a20_bios();
if (a20_test_short())
return 0;
/* Try enabling A20 through the keyboard controller */
kbc_err = empty_8042();
if (a20_test_short())
return 0; /* BIOS worked, but with delayed reaction */
if (!kbc_err) {
enable_a20_kbc();
if (a20_test_long())
return 0;
}
/* Finally, try enabling the "fast A20 gate" */
enable_a20_fast();
if (a20_test_long())
return 0;
}
return -1;
}
Yes, we still do this today - on every boot!
@nukemberg
Ever tried colors in the terminal?
@nukemberg
(and yes, it's still used in ubuntu 18.04)
CISC
RISC
@nukemberg
@nukemberg
So now we have RISC CPUs with CISC interface. Brilliant.
(Disclaimer: there were unexpected benefits!)
@nukemberg
Bonus points:
What is a CR-LF ?
What is Caps Lock?
@nukemberg
VOIP running over DSL over analog phone line
@nukemberg
@nukemberg
@nukemberg
@nukemberg
@nukemberg
@nukemberg
@nukemberg
@nukemberg