https://www.os2museum.com/wp/who-needs-the-address-wraparoun...
https://www.os2museum.com/wp/the-a20-gate-it-wasnt-wordstar/
This is one hell of a rabbit hole...
I was always thought this was a completely inexplicable design choice, until I started working in embedded, working with hardware engineers, and having to go through schematics myself. I now entirely understand the choice of wanting to minimize the redesign work and going with the one free pin available (our product has made similar choices too at this stage).
The PC AT (which had an 80286), later replaced the 8255 with an 8042 microcontroller too. It was running firmware, so re-purposing it for a Hodge-poge of other tasks became trivial. A single GPIO pin was used for masking the A20 line and another for handling CPU reset. Having a total of 24 programmable I/O lines, I guess this could have been done with the 8255 too, but the microcontroller probably allowed simpler interfacing with the CPU and bought them more flexibility for future expansion.
For the article, this is mostly irrelevant. As somebody else noted, the Xbox wasn't supposed to be able to toggle/mask the A20 line, but later x86 CPUs had already integrated the A20 masking feature into the CPU itself and exposed an A20 control line. The Xbox simply tied the A20 enable line to a fixed potential, the hack described in the article requires a simple hardware modification to change that (https://xboxdevwiki.net/File:Haxar-a20m.jpg).
pwdisswordfishz•4h ago
https://xboxdevwiki.net/Exploits#A20M.23_hack