Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!elroy.jpl.nasa.gov!usc!rutgers!cbmvax!daveh From: daveh@cbmvax.commodore.com (Dave Haynie) Newsgroups: comp.sys.amiga.hardware Subject: Re: Two problems with home-build '020 accelarator. Help needed. Message-ID: <22740@cbmvax.commodore.com> Date: 27 Jun 91 15:57:08 GMT References: <1991Jun19.192747.6888@rulway.LeidenUniv.nl> <22708@cbmvax.commodore.com> <1991Jun27.084032.28883@rulway.LeidenUniv.nl> Reply-To: daveh@cbmvax.commodore.com (Dave Haynie) Organization: Commodore, West Chester, PA Lines: 31 In article <1991Jun27.084032.28883@rulway.LeidenUniv.nl> breemen@rulcvx.LeidenUniv.nl (E. van Breemen) writes: >In article <22708@cbmvax.commodore.com> daveh@cbmvax.commodore.com (Dave Haynie) writes: >>In article <1991Jun19.192747.6888@rulway.LeidenUniv.nl> breemen@rulcvx.LeidenUniv.nl (E. van Breemen) writes: >>everything themselves. I never built one without the MMU, so I'm a little >>unclear on that part of the coprocessor protocol. >We have decoded the FPU completely. The problem is that if you address an non >existing MMU, the M68020 will wait for DSACK forever (the FPU won't respond to >it) and the machine 'hangs'. But if there's no MMU (or other coprocessor in any particular coprocessor slot), you're supposed to get an F-line exception for that instruction, rather than an infinite wait for a non-existant device. I'm pretty sure SetCPU works just fine in this respect for CSA and Ronin/Imtronics 68020 boards. Wiping a fine layer of dust off of my 68020 book, I find that you need to generate a bus error for any coprocessor access cycle that doesn't match with an existing coprocessor. In other words, when you see a coprocessor 0 cycle (for MMU), you should be generating a BERR*, which will then cause the 68020 to take an F-line exception. Done thusly, everything becomes shiny and clear. >We have been able to patch the driver software by adding some nop's and >everything works just fine. Oh, a software timing problem. One of my favorite kinds of bugs. -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy "This is my mistake. Let me make it good." -R.E.M.