Roger Holmes wrote:
Well OK
5k dollars is not much, but in January the following year for
10k, Apple's Lisa had several of the above, though I have to admit I
have seen some spectacular crashes as it was possible to corrupt the
sound buffers and also to seriously derange the CRT scanning.
Erm, I'm not
sure how this is possible as the Lisa had no sound buffers
at all. All it had was a bunch of resistors hooked up to a latch in
order to act as a volume control for the VIA's shift register. It
beeped in the same way as the Commodore PET. That is by setting timer2
on the VIA and setting a value in the SR, then setting the ACR to loop
the data in the SR. There was no sound buffer, there was no way to play
anything other than beeps.
Nothing is available to the OS to derange the CRT scanning. All you can
do is enable interrupts on the vertical retrace, or disable said
interrupts, and you can also select which 32K of memory to use as the
framebuffer. That's it.
The compiler generated some strange code to
'touch' the new top of
stack on subroutine entry so the OS could allocate all the extra space
in one go rather than in little bits. One enterprising British
software house even got Unix running on a Lisa with the (then)
optional 5MB profile hard disk. It wasn't C.A.P. but one of the other
big ones of the time.
There were two. Microsoft/SCO Xenix, and UniPlus. I'd
love to get my
hands on UniPlus, but it seems to be rare. If this was something else,
it would be wonderful to get a copy of it.
I'm not sure what the strange code is about, I suspect something to do
with the MMU. If you'd access a page that wasn't mapped to your
process, the OS would either load it from disk, or allocate more MMU
pages to your process, thus getting more memory.