I never realized that before, but it makes sense! People who have never used an Atari 8-bit always think it's weird that the double quote is shift-2. And I definitely notice that my Apple II has '(' and ')' on 8 and 9 instead of 9 and 0, every time I try to type something on it, but I never thought about why.
Yeah, I remember being a little gobsmacked by this when I found out about it. (I'm old enough to remember it just being "a thing" that computer keyboards, for whatever reason, had the symbols in different places than most typewriters, but it took a while for me to really put 2+2 together as to the actual reason for the placement.)
I guess eliminating the space bar and using shift-0 for space was a bridge too far even for the keyboard cost-cutters.
I think on the original TRS-80 Model I's ROM keyboard driver shift-0 actually
does work as a secret spacebar; on the Model III (and disk-based Model Is with a lowercase mod) they overrode shift-0 to be a caps lock (since the keyboards lack a dedicated key.) I assume the same would be true on really early parallel-encoded ASCII keyboards used with TV typewriters or whatnot, but... like I mentioned, even by the mid-late 70's a lot of those started using encoder chips with ROM lookup tables as parts of their state engines, so it's not a sure thing if you see a keyboard that has the "ASCII Layout" of the symbols that the physical matrix is also arranged in ASCII order.
(The downside of the physical matrix matching ASCII order is it makes the trace layout for the PCB obnoxiously convoluted. A positional matrix is cheaper as long as you're willing to spend the memory on the scanner... although you can still win by going with the ASCII symbol order because you can get away with just having one 8x8-or-whatever ROM table for the unshifted board and still apply the modifiers mathematically, instead of needing a separate table for each modifier.)
That's right. A video system build out of discrete logic chips would either be on par with the Apple II or ZX80 (not really very exciting), or would look like the Amiga prototype: not something that is shippable as a product.
FWIW, I'm personally enamored with simple 70's vintage video systems. There's a project I started five years ago that I keep not finding any time to iterate much on that I keep fantasizing about building into a full retro computer that's... mostly discrete, in the sense it uses all through-hole parts. (But they're all parts you can buy new off the shelf, at least for now.):
The goal is basically imagining something you *could* have built in the 1970's, if VRAM was a lot cheaper than it was. A complete computer built around this using a Z(1)80 or 6502 would end up with a PCB board around the same size as an Apple II's but in principle it would be able to do quite a bit more. The design is a slightly re-imagined character generator/tile based system that can also act like a clean linear framebuffer, and it also, in theory, could emulate the weird bitmapping of a lot of retro machine's framebuffers, IE, you could set it up to display Apple II or Commodore 64 Hires content (in monochrome) with no hardware changes, and even mix them on the same screen (horizontal slices). The design uses GALs to cut the chip count significantly, but you could in principle build most of it out of pure TTL...
The cheat is, yes, it does use a microcontroller. Buuuut, it's not something like a Pi Pico that's (much) more powerful than the main CPU, at least. It uses an Atmega324 (part of the AVR 8-bit CPU family in the original Arduino boards) programmed to act (mostly) as the CRTC. IE, it runs a tight "beam-chasing" program to do address generation during the active pixel area, and handles sync; the actual frame buffer RAM is entirely in the CPU's address space. You could pull this part out and with slight modifications replace it with a vintage 6845 or similar CRTC; the reasons I went with it is A: you can get them new, and B: Since it is programmable that opens the door to doing some clever things like being able to mix video modes or do weird/arbitrary memory interlacing without adding CPU overhead. Basically by adding a path to send instructions to it at runtime from the main CPU it could act something like the ANTIC in an Atari 8-bit.
(Another thing to note here is that people *were* actually building systems like this in the 1970's. Don Lancaster, creator of the original 1973 TV Typewriter, published a book called the "Cheap Video Cookbook" and
created designs for video systems, like the TVT-6, that used a combination of software and hardware tricks to use a contemporary CPU chip like a 6502 as a video address generator. This is also basically the same technique used by the Sinclair ZX-80/ZX-81. If using the modern AVR really bothered you it would also be possible to replace it with a 6502... which, actually, might be really apropos if the main CPU were also a 6502; you could do the trick Commodore used in some of their disk drives where the two CPUs have the bus on the opposite sides of the Phi clock...)
But yeah, obviously this, if it ever happens, is going to be bigger and more expensive than a "virtual" system built on an FPGA, and yeah, no sprites. I'm sure if I ever end up building it it's just going to be for me because while it should be as, if not more, capable of doing video games as an Apple II, CGA, or even... I dunno, a VIC-20?, it's not going to remotely compete with VERA.