| ▲ | SoftTalker 2 hours ago | ||||||||||||||||||||||||||||||||||||||||
It's cool because the registers are all in RAM, with a "workspace pointer" on the CPU pointing at where they are. This is slow, but a context switch is just changing that pointer. | |||||||||||||||||||||||||||||||||||||||||
| ▲ | PaulHoule an hour ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||
Well, it has 256 bytes of RAM which is basically a really big register file, and everything else goes in the 16kb of "video RAM" which you can read and write by poking at I/O registers. So it is not easy to program. It's arguably the only 8-bit computer which has a really different architecture from the others. You could otherwise imagine pulling the SID chip off a C-64 and putting it on a TRS-80 Color Computer etc. Sharing the main RAM with video was a weak point in computers of that time period because the video system stole many of the memory access cycles. Some recent retrocomputers that revisit that period like https://www.c64-wiki.com/wiki/Commander_X16 have a full-size memory bank and a video RAM memory bank which is accessed through a port which can be pretty efficient because you can auto-incremement the address register and just write 1 byte to the port to write 1 byte to video RAM and repeat. | |||||||||||||||||||||||||||||||||||||||||
| ▲ | jandrese 2 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||
Yep, but it lacks a MMU so memory protection and paging are going to require a lot of work. I think the only reason this is feasible at all is they're running the OS out of a ROM cartridge. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||