I was writing algorithms to find prime numbers on a 6502 some 31-32 years ago and I hold dear memories.
There have been multiple initiatives to remake a 6502-based computer. My today's self does not appreciate the 8-bit limitations however; artificial and not limiting in the way that sparks creativity. I'd much rather work with a 32-bit micro PC (I believe they're called micro-controllers?) and be able to address more memory and then try to minimize its use, rather than being stuck at 8/16-bit addressing forever.
But every time I see a 6502 post, I get a tinge of longing. :)
Imagine in steampunk fashion wed get an alternative future timeline where computer tech froze in 80s due to some physical limitation that prohibited shrinking transistors. all typical laptops would have same config as this awesome project. what would the society become?
Speed certainly wouldn't be there, but capabilities would. Plenty could get done on those old machines — most of it had to do with programmers having the imagination & skill to be able to shoehorn their ideas into spaces they weren't meant to be crammed into.
One memory this project brought to mind for me was a hack I came across which allowed simultaneously running DOS 3.3 & ProDOS on a 128k Apple II, giving each 64k (well, a little less due to overhead) & a way to switch between the two with a simple command. Two programs couldn't run at once, but one could step between the two OSes to run programs made for each pretty seamlessly. If this sort of thing was possible on basic consumer hardware, ten or twenty years of development would have led to many far more interesting & useful things.
nah, something like LLMs wouldnt be possible due to sheer power consumption - abstract (FL)OPs/uW is billions worse than modern tech. I used claude to make me back of a napkin calcs - single LLM prompt in 6502 era tech would be over 3k Eur vs fraction of a cent today, DISRECARDING WALL TIME (which is ridiculously impractical)
I believe the actual silicon of a 6502 is much smaller than the DIP package, so even if we couldn't shrink the silicon itself much more, you could just take up more space inside the package, and use a package that has more pins in it, like current CPU designs. You would probably hit a bottleneck at some point since I believe the speed of light is a problem for processing speed at some point, but then I'd expect we'd just go into massively parallel systems, with multiple cores acting somewhat individually
the 6502 package would probably shrink to use something like a BGA package, and you could probably make some kind of "multicore" system using 6502 processors. I'm not knowledgeable enough to say how feasible that would be, but you could probably use something with shared memory regions to pass data between them and run code in parallel.
If you are absolutely limited to 6502 DIP chips, there would probably be more prevalence of large mainframe systems and single 6502-based "terminals"/"thin clients". The mainframes could use systems similar to the Transputer or the Connection Machine to use large amounts of (comparatively) low-power processors to make a single, more powerful computer. They both used custom processors, with the Connection Machine in the early 80s and the Transputer in the late 70s. You could probably reasonably easily create a "graphics card" style system, comprised of many 6502 cores in a SIMD configuration.
I don't know how easy it would be to implement wifi or ethernet with only 6502 chips, so communications with the mainframe might be quite slow
I was thinking lately about how much memory you could handle on a 6502. The BBC Micro had a 16KB block of RAM paged between up to 16 ROMs/RAM but if you could have 256 banks you could do 4MB. One problem is that that would require a very large PCB. Another problem is that the OS searches for commands on all the ROMs and this would become slow for so many banks; one solution would be to limit the ROMs to the first few banks and let the rest be RAM.
It could be useful for some sort of minicomputer for business applications.
I think people would just try to make larger chips. You can still do a 32 bit RISC even one the same node as 6502. Its just a bigger chip. Basically like ARM2 or something. Then you can do a multi-core version of that.
This may sound absurd, but it was a mental breakthrough for me to realize that all these "what-ifs" (multicore 6502 computers or whatever) are really simple to simulate in software only, with a bespoke simulator, WAY above register transfer level. There is really no need to deal with the peculiarities of FPGAs or Verilog; just write an instruction-level simulator for the ISA you choose (that's really simple for the 6502), make it run several instances for multicore architectures, and there you go for your custom computer.
I mean this as a hint for people who are similarly stuck with RTL tinkering when they actually want to tinker with system architecture.
24 comments
There have been multiple initiatives to remake a 6502-based computer. My today's self does not appreciate the 8-bit limitations however; artificial and not limiting in the way that sparks creativity. I'd much rather work with a 32-bit micro PC (I believe they're called micro-controllers?) and be able to address more memory and then try to minimize its use, rather than being stuck at 8/16-bit addressing forever.
But every time I see a 6502 post, I get a tinge of longing. :)
Edit: Also picture missing from the page, the keyboard:
https://codeberg.org/TechPaula/LT6502b/src/branch/main/Image...
Edit2: Found a few suspects in BOM: ATF1508AS-7AX100, ATmega88PA-AU, ATmega644P-20A
Would love to know what each will do!?
The previous one hints a bit: https://codeberg.org/TechPaula/LT6502
A blog entry: https://www.maddox.pro/?p=414
One memory this project brought to mind for me was a hack I came across which allowed simultaneously running DOS 3.3 & ProDOS on a 128k Apple II, giving each 64k (well, a little less due to overhead) & a way to switch between the two with a simple command. Two programs couldn't run at once, but one could step between the two OSes to run programs made for each pretty seamlessly. If this sort of thing was possible on basic consumer hardware, ten or twenty years of development would have led to many far more interesting & useful things.
If you are absolutely limited to 6502 DIP chips, there would probably be more prevalence of large mainframe systems and single 6502-based "terminals"/"thin clients". The mainframes could use systems similar to the Transputer or the Connection Machine to use large amounts of (comparatively) low-power processors to make a single, more powerful computer. They both used custom processors, with the Connection Machine in the early 80s and the Transputer in the late 70s. You could probably reasonably easily create a "graphics card" style system, comprised of many 6502 cores in a SIMD configuration.
I don't know how easy it would be to implement wifi or ethernet with only 6502 chips, so communications with the mainframe might be quite slow
It could be useful for some sort of minicomputer for business applications.
> Imagine in steampunk fashion
See The 8-bit Guy regarding what the world would be like if we were still limited to vacuum tubes: https://www.youtube.com/watch?v=mEpnRM97ACQ (video)
I mean this as a hint for people who are similarly stuck with RTL tinkering when they actually want to tinker with system architecture.