3 ms·
This seems totally reasonable but wasn’t the original problem that RiscOS was 26bit Arm?
by laurencerowe 2y ago
This seems totally reasonable but wasn’t the original problem that RiscOS was 26bit Arm?
- Symbiote 2y agoIt was originally 26 bit (running on 32 bit processors but only 26 bits used for addressing RAM? Something like that...) At some point was updated to 32 bit, you can run it on a Raspberry Pi.
- jecel 2y agoAll 32 bits in the ARM1 and 2 were used to address data, so in theory you could have 4GB of RAM. But these processors only had 26 address pins, so that would give you at most 64MB (similar to the 24 address pins in the 68000). If you used the MEMC chip to interface to your DRAM then the limit would be a mere 4MB. For code the limitation was baked into the architecture itself. The bottom two bits of the program counter were used to define the current execution mode (and always output as 0 to fetch word aligned instructions) while the top six bits were the status flag. That meant that saving the PC to the stack saved the whole execution context in a single memory write and it only took one read to restore it. Fixing this required moving the flags to a separate register, which was a very visible change.