The original IBM 360 had a 24-bit address space. https://en.wikipedia.org/wiki/IBM_System/360 Microprocessors of the golden age of home computing (Apple ][, TRS-80, Commodore 64, CP/M machines...
The original IBM 360 had a 24-bit address space.
https://en.wikipedia.org/wiki/IBM_System/360
Microprocessors of the golden age of home computing (Apple ][, TRS-80, Commodore 64, CP/M machines based on the 8080 and Z80) usually had a 16-bit address space, the 8086/8088 was a bit of an exception because it had a segmentation scheme to access 1 MB. (People thought it was awkward but I liked programming it in assembly language and Turbo Pascal) I remember the PDP-11 minicomputer having a 16-bit address space for user programs as well, the machine as a whole could be a lot bigger but an individual logged into it had access to a virtual "home computer" that ran BASIC and all.
24-bit was a natural evolution and by the late 1980s you started to see 24-bit chips like the 80286 (PC AT) the 65C816 (Apple IIgs, Ninteno SNES), the eZ80 and such. Even the bigger AVR8 processors (I love AVR8 assembly) can have more than 64kb of program memory (flash, read-only in operation) so they use 24-bit addresses for program memory.
In my mind we never saw a product of this generation that really took advantage of the address space, the 80286 in particular was called "brain damaged" by Bill Gates and operating systems struggled to exploit it. My take is that most of the chips of that generation were flawed in one way or another and were pretty quickly washed away by 32-bit machines when they became affordable in the early 1990s.
For an example of the difficulties, there is this project to make a retrocomputer that is a bit better than anything we had in the 1980s,
https://www.youtube.com/watch?v=0oYcu43N-lw
they are using the 65C816 but not taking advantage of the 24-bit nature. Instead there is a simple bank switching scheme which I think they thought would be easier to program and probably faster. The 65C816 just doesn't have enough registers and addressing modes for it to be really easy to work with far pointers.
So my question is, if I am a hobbyist who wants to revive the 24-bit generation and I want to have easy access to a 16MB address space, is there some CPU better that doesn't suck? I'd be happy with a CPU that doesn't have virtual memory or other facilities for an advanced operating system (write everything in "real mode") but something that supports an OS would be interesting too. Any ideas?