It 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.
At some point was updated to 32 bit, you can run it on a Raspberry Pi.
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.