Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!rutgers!cbmvax!daveh From: daveh@cbmvax.commodore.com (Dave Haynie) Newsgroups: comp.sys.amiga.hardware Subject: Re: RISC Amiga Keywords: well there's going to be a RISC Mac!! Message-ID: <15500@cbmvax.commodore.com> Date: 31 Oct 90 18:47:01 GMT References: <1156@iceman.jcu.oz> <22914@grebyn.com> <16105@hydra.gatech.EDU> Reply-To: daveh@cbmvax.commodore.com (Dave Haynie) Organization: Commodore, West Chester, PA Lines: 42 In article <16105@hydra.gatech.EDU> ken@dali.gatech.edu (Ken Seefried iii) writes: >RISC processors very much lend themselves to emulating other machines >(within limits). A RISC simulator of an Amiga, while probably not >easy, is certainly doable by reasonably sharp team. Hell, it might be >easier than SoftPC since the 68k instruction set is so much cleaner >and more orthoginal that the Intel rubbish. The problem with these simulators has never been the simulation of the CPU itself. I've run three software simulators on my Amiga: PC, C64, and CP/M. The first two, commercial products, ran pretty slowly. The CP/M emulator was plenty fast. Why? Because the Z-80 is about all it has to emulate, the rest of the system is handled via system calls that can be translated into Amiga system calls. The PC emulator has to emulate not only the 80x86 instruction set, but all the I/O chips at the register level. So that wordprocessor that works just dandy on a real PC now dies in emulation as it sits there polling the keyboard controller chip, directly, 60 times a second. Similarly, that raster interrupt plus busy wait loop that used to work on the VIC-II chip in a real C64 now just plain fails with the software simulation of the VIC-II's registers sitting down underneath it. As for Amiga simulation, if you build a real AmigaRISC machine, you might be able to avoid many of these emulation problems. Emulating the 680x0 would not be a big deal. If it's an AmigaRISC of some kind, it should have a chip set that's similar enough to the Amiga's chip set to not need register level emulation of all those registers. Similarly, the Amiga OS is very function call oriented; for the most part, only games are directly banging on the hardware. So for library functions, you get direct translations into RISC versions of those, rather than having to emulate all of those 68000 opcodes. You would most likely have trouble with anything that demanded too much real time performance, but a good portion of stuff could probably be made to run. That emulation box, though, would still be a considerable amount of work. But in general, as an OS depends on only CPU and function calls, it can be reasonably emulated. As you add hardware register or time dependency, it gets increasingly hairier. > ken seefried iii "A snear, a snarl, a whip that -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy Standing on the shoulders of giants leaves me cold -REM