[HN Gopher] Xbox Hacks: The A20 (2021)
___________________________________________________________________
Xbox Hacks: The A20 (2021)
Author : mattweinberg
Score : 96 points
Date : 2025-07-17 03:22 UTC (19 hours ago)
(HTM) web link (connortumbleson.com)
(TXT) w3m dump (connortumbleson.com)
| pwdisswordfishz wrote:
| I was confused as to why Xbox would ever enable a feature
| intended for backwards compatibility with systems it does not
| need to be compatible with. Especially at boot time. Turns out it
| did not; this apparently required a hardware modification to pull
| off.
|
| https://xboxdevwiki.net/Exploits#A20M.23_hack
| userbinator wrote:
| For those wondering what software depended on A20 wraparound,
| there is this interesting series of articles:
|
| https://www.os2museum.com/wp/who-needs-the-address-wraparoun...
|
| https://www.os2museum.com/wp/the-a20-gate-it-wasnt-wordstar/
|
| https://www.os2museum.com/wp/exepack-and-the-a20-gate/
|
| https://www.os2museum.com/wp/the-a20-gate-fallout/
| bigstrat2003 wrote:
| It's always blown my mind that software would depend on that
| behavior. What possessed people to do that? It's _very
| obviously_ a bad idea.
| toast0 wrote:
| If the system behavior is defined to wrap around, using
| _defined system behavior_ to reduce code complexity makes
| perfect sense.
|
| This was in an era where new computer systems usually meant
| throwing away all the existing software and rewriting it (or
| doing a fresh port anyway). Why would you assume someone
| would extend the system and cause trouble.
| mjg59 wrote:
| A20 bugs were still with us until at least 2009, when I tripped
| over one: https://mjg59.livejournal.com/118098.html . I love the
| visualisations in this post, it makes it much clearer what's
| actually going on.
| diffuse_l wrote:
| Indeed, more than you ever wanted to know about the A20 line:
| https://aeb.win.tue.nl/linux/kbd/A20.html (from your article)
|
| This is one hell of a rabbit hole...
| messe wrote:
| Something this article doesn't mention is how the A20 gate was
| toggled: by writing to registers on the _keyboard controller_.
|
| 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).
| st_goliath wrote:
| The original IBM PC used an Intel 8048 microcontroller inside
| the keyboard and an 8255 I/O controller on the main board to
| communicate with the keyboard.
|
| 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).
| wrs wrote:
| Similarly, on the original Macintosh one of the mouse axis
| encoders was connected to the carrier detect pin of the serial
| port chip. Thus, in early versions of the OS, if you closed the
| serial driver, the mouse would only move horizontally (or was
| it vertically?).
| msk-lywenn wrote:
| I highly recommend watching the deconstructing xbox talk. It gets
| very funny.
|
| https://m.youtube.com/watch?v=9NqLljaHc80
| heraldgeezer wrote:
| What a machine. Would have liked to see PS2 games maxed out on
| XBOX if possible. Imagine RE4/FFXII versions of those games on
| xbox?
|
| Still, Halo 2 legendary is unmatched.
| junon wrote:
| Building an operating system currently. This isn't just Xbox, we
| _still_ have to do this in bootloaders.
___________________________________________________________________
(page generated 2025-07-17 23:01 UTC)