Path: utzoo!news-server.csri.toronto.edu!rutgers!cbmvax!daveh From: daveh@cbmvax.commodore.com (Dave Haynie) Newsgroups: comp.sys.amiga.emulations Subject: Re: Emulator Mechanics Message-ID: <19749@cbmvax.commodore.com> Date: 11 Mar 91 20:25:55 GMT References: <1991Mar7.093149.18707@mintaka.lcs.mit.edu> Reply-To: daveh@cbmvax.commodore.com (Dave Haynie) Organization: Commodore, West Chester, PA Lines: 37 In article <1991Mar7.093149.18707@mintaka.lcs.mit.edu> rjc@geech.ai.mit.edu (Ray Cromwell) writes: > Why doesn't AMAX multitask? It should be EASY to run multiple copies >of the Mac ROM as a task (since its a rom, its mostly pure code, except >each task would need to alter where the ROM things the system memory is.) Without massive patching of the Mac ROM, I don't think so. The same reason you don't have more sophisticated multitasking on the Mac itself. You can't run multiple copies of the same Mac ROM code, since the code is not reentrant like Amiga code. Without some clever MMU tricks, I don't think you could easily relocate things such that several different copies of the ROM code could coexist. At least, you would expect Apple to have considered any of the more mundane tricks available on any 680x0 system. Apple does seem to have] decent technical folks, I doubt they missed any easy tricks... Via MMU, you could certainly get further. Multifinder didn't do that, since it would have required an MMU based system for any multitasking. I'm surprised Apple didn't work out anything like that for their MacOS-under-UNIX, though. >Does anyone know if IBM code uses self modifying code, or >jump tables? Self modifying code and other uglies are very prevalent in MS-DOS code. That's the main reason Intel went for a unified code/data cache for the 80486. Separate I and D caches with internal Harvard architecture (like the '030 and '040) can yield a much faster system, all else being equal. But that extra performance would not have been worth tossing out what was apparently a large portion of the MS-DOS programs out there. MS-DOS programs, more and more often, think they're the operating system. Every program is responsible for managing differences between CPUs, managing memory (beyond the 8088 model), graphics, etc. -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy "What works for me might work for you" -Jimmy Buffett