• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Why Lisa didn't use 8MHz 68000?

LisaXL

Active member
It seemed odd that Mac has a faster processor than Lisa. 8MHz 68000 was available since 1981, long before Lisa's release. Why didn't Lisa use it? I always thought if Lisa can release with Macintosh as a family from the beginning, it will enjoy much better success due to its larger screen.
 

Byrd

Well-known member
‘Cause cost, I’d say and 5mhz was probably a good match to 4.77mhz XT class PCs of the time.
 

cheesestraws

Well-known member
Bear in mind that because of the way that things like memory timings work, in practice the Lisa's 5 MHz was faster than the 8 of the Mac, at least until the Plus and possibly the SE (I'm not sure).

Also bear in mind that if you use a faster CPU, you also have to run everything else in the machine faster. There were Lisa accelerators (or, rather, Mac XL accelerators). They're rare, and I don't know how they work, but they're not as simple as just a CPU/oscillator swap.
 

stepleton

Well-known member
The "canonical" reason that I recall is because the video circuitry on the Macintosh was more cleverly designed: it didn't need to steal as much time from the processor to paint the screen. Burrell Smith's design was better.


(Note that this source doesn't quite spell this out so completely.) Some Lisa CPU boards are fitted with 8 MHz processors --- here's one of them:


They're just clocked at 5 MHz. My Lisa 2/10 has the exact same 68000 (note the 8 in MC68000G8; the G means "plastic housing"). Meanwhile my Lisa 1 has a 6 MHz part in a chic ceramic package.

The MMU is not a factor in the video access speed: the video system accesses RAM without going through the MMU, although you can tell it the starting address for the memory region you'd like to display on the screen. I don't think the Mac allowed this; I think there were fixed addresses for the two video memory buffers.
 

Trash80toHP_Mini

NIGHT STALKER
Got interested in this, because I almost bought a Mac XL from SunRe back in the day.

The "canonical" reason that I recall is because the video circuitry on the Macintosh was more cleverly designed: it didn't need to steal as much time from the processor to paint the screen. Burrell Smith's design was better.
Dunno about relative efficiencies of code on the two platforms, but the Lisa had a far more pixels to push.

Its larger screen/resolution made for more efficient use of a GUI than the Mac's much lower resolution. More pixels would be why I wanted the XL, so it was interesting to read in Folklore that the XL's more/worse pixels (compressed rectangular) may or likely not have been an improvement over what I derisively referred to as the Periscope on my SE for graphics work. But Lisa resolution was killer for word processing, which was the major use for personal business computers in its development time frame. Concurrent spreadsheet developments would wind up the killer app brass ring.

Something about Lisa must have worked though if this Wikipedia blurb can be taken at face value:
The sophistication of the Lisa software (which included a multitasking GUI requiring a hard disk), coupled with the slow speed of the CPU, RAM, lack of hardware graphics acceleration coprocessor, and protected memory implementation, led to the impression that the Lisa system was very slow. However, a productivity study[which?] done in 1984 rated the Lisa above the IBM PC and Macintosh, perhaps countering the high degree of focus on UI snappiness and other factors in perceived speed rather than actual productivity speed.
Like they noted: Which study? But the point is well made that perceived UI snappiness is definitely not the measure of speed, its the getting of things done that matters.

Spinning rust was amazingly faster than floppies in the early days, as much or more so as solid state is faster than fixed disk (early nomenclature for spinning HDD) today. THAT didn't hurt Lisa's performance in the aforementioned (if apocryphal) productivity study one little bit! 😲
 

LisaXL

Active member
Sun remarketing has a square pixel fix for the Lisa 2/Mac XL. I wonder what is the screen resolution after such fix?
 

Gorgonops

Moderator
Staff member
Sun remarketing has a square pixel fix for the Lisa 2/Mac XL. I wonder what is the screen resolution after such fix?
608x431

The weird resolution was them trying to fit as many pixels as physically possible into the Lisa's 32k of video memory. And yeah, if you do the math they nailed it, only 12 bytes unused.
 

LisaXL

Active member
I wonder if it was possible for Lisa to boot from Hard Disk with Macworks on it? Or you always have to boot from the Macworks floppy disk to start the Mac emulation?
 

stepleton

Well-known member
I wonder if it was possible for Lisa to boot from Hard Disk with Macworks on it?

Yes, it is possible to boot MW from the hard disk directly. I think it was the way most people used MacWorks.

only 12 bytes unused.

11, technically.

You need to make sure that the very last bit in the very last byte is 0, or else the video system will keep the beam on during vertical refresh. This draws zig-zag lines on the CRT that go outside of the raster, which looks pretty dramatic: it can spook you into thinking that something is really broken.

🙂
 

lisa2

Well-known member
Yes, if the HD is a Lisa parallel port HD such as a Profile, Widget or an emulator.

Booting MW+ from SCSI hard disk requires the additional QuickBoot Rom.
 

sunder

Well-known member
The video circuitry runs constantly and needs access to 32K of RAM at all times, unfortunately DRAMs at the time of the Lisa's release were not fast enough to allow the video display circuitry to share access to RAM with the CPU at 8MHz, so they slowed the CPU down.

It's actually quite a lot slower than just 5MHz, because the way it works is that 8 bus cycles are given to the CPU and then another 8 bus cycles are given to the video circuitry.

During the video refresh, DRAM is also refreshed, which is required to keep the contents of the DRAM alive.

This is all documented in the 1983 Lisa Hardware Guide on p105. So the Lisa is actually running with the equivalent of a 2.5MHz 68000, not 5MHz. This isn't entirely true as it can do some operations while waiting for the bus (i.e. long math ops such as MUL), but it's not going to fully be a 5MHz CPU depending on how many clock cycles the opcode takes to complete.

Off the top of my head, while the Mac does have a small screen, it also uses faster DRAM and a more optimal way than 8 cycles for the CPU and 8 cycles for the video. Apple could have updated this when the Lisa 2/10 was announced as that was around the same time as the Mac's release (Jan 24, 1984), but chose not to.

In terms of Lisa CPU XLerator boards, they came with their own DRAM (and sometimes SCSI). I suspect the way they worked is that they wrote to the old Lisa memory for video access, but to their own local memory for everything else, so that they could run at a much higher frequency. Sadly they're only usable by MacWorks and not LOS or the unixes.
 

Gorgonops

Moderator
Staff member
It's actually quite a lot slower than just 5MHz, because the way it works is that 8 bus cycles are given to the CPU and then another 8 bus cycles are given to the video circuitry.

Typically when a machine has separate video memory you don't wait-state the CPU unless it's specifically accessing video memory during the middle of a refresh cycle. Are you saying the Lisa runs "slow" all the time, or are you specifically referring to when the Lisa is reading or writing video memory? It wouldn't make a whole lot of sense to hobble the machine when it's number crunching.
 

sunder

Well-known member
I don't think there's anything that checks when the CPU accesses video memory, so yeah, all the time.
 

Gorgonops

Moderator
Staff member
That would be a pretty goofy oversight; even crude econoboxes like a TRS-80 Model 3 gate a wait state generator on the video address decoder.
 

Gorgonops

Moderator
Staff member
... Ugh!

Yeah, so I dug up that hardware reference for the Apple Lisa, and discovered my assumption that it used separate video RAM was completely off-base, it does indeed do DMA to system memory for video refresh. So, yeah, I guess retract my objection about it should be faster when the CPU isn't actively writing to video memory, it's going to be slow all the time.

(It theoretically would be possible to switch memory timings when you're in the horizontal and vertical blanking areas, that could speed things up a bit, but I doubt there's much overscan with the Lisa's video systems.)

I don't know why I was so sure it must have dedicated VRAM, I guess it was just an assumption that the bandwidth requirements for refreshing a 720x360 screen with circa 1981-ish technology would make that the obvious choice.
 

sunder

Well-known member
Yeah, there's a lot of weird stuff in the Lisa.

The most blatant are flops that can be enabled or disabled on reads. These are used to turn on the MMU contexts and memory parity checking tests, for example. That's right, a read is actually equivalent to a write, because it only cares about something touching an address, and not whether the write line is turned on.

Another one is that one of the lines for the parallel port is actually attached to the keyboard VIA instead of the parallel port - they could have fixed it before they released hardware, but chose not to. This isn't the case for the expansion slot dual parallel card.

Another is that they claim the VIA 6522s can push 625KBps - they actually can't - they lied. What they did is divide 5MHz by 8 clock cycles to get 625000. There's no DMA for the VIAs. So basically the ProFile driver would have to read a byte from the port, turn around and write to memory and increment the address register, and repeat 512x. This also doesn't include the fact the the 68000 has to fetch instructions from memory for each opcode, and there's effectively no cache. :)

So yeah, whole lot of slowness everywhere.

Funnily enough there's two coprocessors built right in, a 6504, and a COP421. There's also the possibility of adding an AMD FPU or alternatively a WD2001 DES encryption co-processor on the 2/10 I/O board - however, it appears that there's not much significant increase in speed with the FPU; I'm unsure whether the FPU had support in the OS for it or not. There is a SANE library disassembly somewhere, I don't recall anything there looking for the FPU, which is a shame. The FPU communicates with the 68000 through the VIA, (I'm assuming) making it slower instead of being directly on the bus.

A slightly better design would have been to have the 6504 talk to the keyboard and mouse as well as the floppy, but not sure it would have been able to provide a real time clock, or if it had enough free I/O port lines for that. It's also likely the COP421 is lower power than the 6504 so maybe it would have needed more amps on the +5V standby.

(Pointing out here that a microcontroller + mux + extra VIA were needed, when with a bit more optimizing the 6504 could have done some of that heavy lifting and most of the time the floppy drive is idle.) Certainly they could have ported the floppy code to the 68000 and not needed the 6504 at all - the Mac directly accessed the IWM from the 68000, etc.

So, here we see a lot of wasted hardware as well as some really weird optimizations for the flops that control the MMU. (Like anything else this just points out that it was designed by multiple designers, some more advanced than others, some who optimized for fewer chips, others for a more mini-computer design.) The same kind of stuff can be found in the Boot ROM source code, and certainly within LOS itself.

The ProFile hard drive protocol is pretty annoying too, and still gives me trouble today. I really hate working on the Profile emulation code for LisaEm, but yeah, that's what I'm doing right now. Widget has an improved protocol, but introduced even more weird things, but at least it has a somewhat more simple protocol.

For example, for ProFiles the tags go first, but for Widgets, the tags go to the end. To do this and still allow for LOS to boot, they did a hack by adding a JMP (might have been a BRA, I forget) in the boot code on the Widgets, followed by AA,AA which allows the Boot ROM to still boot from this new scheme, and then the tags go at the end.

The actual drives don't care about where the tags go, but they seem to have done that to get a slight increase in performance for when they don't care about the tags, they can be discarded.

But, LOS does care, only MacWorks doesn't, so, I still don't get why. Even worse, the boot loader is different between ProFile and Widget and you can't image one over the other to use as recovery. (Not that you could back in the day as no tools existed, though now they do.)

Still even worse, if you install LOS on a Profile off the motherboard parallel port, and then move it to one of the two ports on a dual parallel slot card, it won't boot - somewhere in the boot process it loses track of what device it started from and throws something like 10707. There's a binary file that's used to store the configuration and that hard codes the device, so after the kernel loads it reads that file and then that file says, go read the rest of the OS from the parallel port, and fails.

The funny thing is that there's only a single driver for both ProFiles and Widgets, and if you have a Widget, it will move the tags to the end of the sectors, while if you have a ProFile, it will keep the tags at the front of the sector. Why?

The classic screw up was making QuickDraw non-rentrant, so the multitasking had to be cooperative. This might have been fixable with a single semaphore or lock. D'oh.

But despite the hardware and software weirdness, LOS is a hell of a lot better and more mature than the original Mac System 1.0, which was pretty difficult to use until ~512KE with an HD20 (or at least a 2nd floppy drive.)

It's too bad they threw LOS away instead of slowly porting parts of it to the Mac as it went to things like the SE/30.
Examples: they could have used the Lisa's file system which had folders, but went with a silly one: MFS, which was later replaced by HFS. Lack of an MMU until the 030s, which meant, lack of virtual memory, lack of pre-emptive multi tasking all the way to MacOS 9, not remembering what windows were open when you shut down, hard switch power off, and so on.

MacOS certainly got to be very good by the time it got to System 6.x, but even then, LOS still had a lot going for it.

The one really neat thing MacOS (well System) had was the Resource manager which was really a brilliant invention and ResEdit made it awesome. It would have been even better if they had turned it into an actual database (there's even a TechNote warning people to not use it as such - sad.)

Also MPW is a much nicer IDE than LPW. LPW doesn't really use the GUI for anything, though the text editor is a GUI tool. Speaking of LPW, it has a scripting language that's a hack. It looks like originally they just accepted keystrokes from a file instead of the keyboard as a scripting mechanism, but later extended it to a scripting language but did it very poorly, so it's half of a keyboard redirect and half of a scripting language.

The Mac XL certainly was my first Mac, I used it with MacWorks exclusively for years, never knew about LOS until much later, and then learned Unix via Xenix on the Lisa.
 
Last edited:

Gorgonops

Moderator
Staff member
I can't help but wonder if the Lisa used system memory for video refresh because it was gospel at Apple because, you know, it was the Apple II's special sauce. (Apple's corporate culture of the time was really into doubling down on their internal ideas and "special-ness". Poster child: Twiggy.) Shared memory is great on the 6502, if you're willing/able to slave the CPU clock speed directly to the pixel clock you can basically get it for free, but the 68000... not so much. Adding some dedicated memory certainly would have added to the price tag, but in the grand scheme of things with a $10,000 computer, meh.

There's a Folklore.org article where it's mentioned that someone on the Macintosh team proposed to the Lisa team shortly after they settled on the "full" 16 bit architecture for the Mac in late 1982 that they could, without a lot of work, make a "big" version of it using something like a 10Mhz CPU and a 768x512-ish video resolution for squarer pixels, but at that point the shipping date for the Lisa was too close so the idea went nowhere. It'd be interesting to know more about this story, and if the proposed design might have eliminated, or at least simplified, some of the cruft and weirdness that really does kind of come across as if they had a bunch of people throwing ideas at the wall. (Particularly curious how much of the Lisa's elaborate MMU this proposed "Big Mac" design carried forward.)
 

stepleton

Well-known member
I don't think the Lisa was particularly beholden to an "Apple II way" of doing things, but this is speculation on my part. My impression of the attitude throughout much of the project is that Apple thought it was making a new machine for a new purpose, and that it had brought in a lot of new people to do the job.

@sunder has gone ahead and shared the article I was preparing to point out... you'll note this bit at the end of PDF page 4:

The MMU in the Whopper [that is, the next-generation Lisa] will do both the relocation and check in parallel rather than serially, as is done in Lisa. In addition, separate video memory will be provided so that accesses to main memory will not have to wait for video accesses. The result of these two changes is that the memory cycle time will go from 800 nS per access to 500 nS in the Whopper. Note that this is slower than twice as fast as Lisa; even with the removal of the video access one wait state is introduced to perform the memory management function.

emphasis mine. I'd mentioned earlier that with Lisa you can point the video system at any part of RAM to serve as the screen buffer; Lisa development environments could and did make use of this capabillity to switch the user to an alternative display for things like the LisaBug debugger. I've never heard of it being used for anything else, although presumably games or other applications with a double-buffered display would be a possibility. (A different OS might be required.) In any case, it doesn't sound like this would be possible on the Whopper.

The Whopper document makes for interesting reading --- it describes a Lisa with some mildly attractive capabilities, including the ability to play sounds. It would be interesting to see an emulator for a machine that never existed (or that perhaps was only ever a handful of prototypes).

Meanwhile, I think the Folklore piece mentioned is the one I referenced upthread: "Square Dots".
 
Top