4 ms·
Why would the 68000 improve anything? My recollection is that bus error recovery was impossible, so you'd end up having to do something similar, or worse...
by tom_ 8y ago
Why would the 68000 improve anything? My recollection is that bus error recovery was impossible, so you'd end up having to do something similar, or worse...
- cryptonector 8y agoAnd the M68000 didn't have an MMU, nor privilege management. The M68010 had support for external MMUs (and privilege management), but no built-in MMU. It wasn't until the M68020 that a built-in MMU was added. So any attempt to have virtual memory on an M68000 would have necessitated hacks not too dissimilar to the inc bp real mode Windows hack. Indeed, the Amiga OS (which also was a cooperative multi-tasking, virtual memory OS) had a segmented 64KB addressing mode precisely so as to support virtual memory even though the M68000 was properly a 32-bit CPU with 32-bit addressing. I don't know the details of how Amiga implemented virtual memory beyond that though.
- icedchai 8y agoAmiga OS was actually preemptive multitasking. It did not support virtual memory. See https://en.wikipedia.org/wiki/Exec_(Amiga) https://en.wikipedia.org/wiki/Exec_(Amiga) You may be thinking of the original MacOS.
- cryptonector 8y agoNot demand paging, but I thought it loaded and unloaded 64KB segments as needed, much like Windows 1.0.
- icedchai 8y agoAre you thinking of "overlays"? AmigaOS did support loading and unloading of code segments, but this may be a bit different than what you're thinking of. It had to be done manually by the calling application. See https://en.wikipedia.org/wiki/Amiga_Hunk#Overlaid_executables https://en.wikipedia.org/wiki/Amiga_Hunk#Overlaid_executable... I did quite a bit of Amiga C in the early 90's, late 80's and resource management, including memory and files, was all quite manual. Maybe in 4.0 it got something better? I stopped working with the platform by then...
- cryptonector 8y agoThanks for the info!
- perl4ever 8y agoThe original Macintosh stored executable code in "code resources" that were a maximum of 32K each, as I recall. You could not only have more than 32K total, you could have more than your total RAM. If you were ambitious you could manage what was in memory for efficiency.
- icedchai 8y agoAlso, the 68020 did not have an MMU on-board. You still required a separate MMU chip, such as the 68551. See https://en.wikipedia.org/wiki/Motorola_68851 https://en.wikipedia.org/wiki/Motorola_68851 The 68030 and above did come with MMUs, except for low-cost versions of the chip. Why do I remember this stuff? I was a big Motorola fan back in the 90's (Amiga especially)
- cryptonector 8y agoAh yeah, I forgot about the 68851. And yeah, the Amiga was amazing.