From mint-bounce@lists.fishpool.fi Thu Oct 26 23:06:38 2006 X-Original-To: fnaumann@mail.boerde.de Delivered-To: fnaumann@mail.boerde.de Message-ID: <49840.87.89.46.186.1161896100.squirrel@mail.anyware-tech.com> In-Reply-To: <1161294501.4537f2a537851@imp2-g19.free.fr> References: <188640904.20061019143010@hol.gr> <1677101202.20061019194218@hol.gr> <1009959817.20061019215604@hol.gr> <1161294501.4537f2a537851@imp2-g19.free.fr> Date: Thu, 26 Oct 2006 22:55:00 +0200 (CEST) Subject: Re: [MiNT] Re[2]: Re[2]: 68030 MMU crash course? From: "Guillaume" To: mint@fishpool.com User-Agent: SquirrelMail/1.4.8 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 X-Priority: 3 (Normal) Importance: Normal X-ecartis-version: Ecartis v1.0.0 Sender: mint-bounce@lists.fishpool.fi Errors-To: mint-bounce@lists.fishpool.fi X-original-sender: guillaumed@users.sourceforge.net Precedence: bulk List-help: List-unsubscribe: List-Id: X-List-ID: List-subscribe: List-owner: List-post: X-Virus-Scanned: by amavisd-new at relay.boerde.de X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on relay.boerde.de X-Spam-Status: No, hits=-0.4 tagged_above=-50.5 required=7.0 tests=AWL, BAYES_00, PRIORITY_NO_NAME X-Spam-Level: Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by wh58-508.st.uni-magdeburg.de id k9QL6ZPp015643 > Selon "George (HOL, IMAP)" : [...] > That one is _very_ tricky to do with the 68 030 MMU. I did it long ago! :) The name is STeADIER. If you can read French, see and , or http://www.yaronet.com/posts.php?s=82395 for current development. (history summed up: I hacked it, it went to hibernation, I lost the sources, I dissassembled and commented it with a friend --this message BCCed to him-- which has now taken over development) Direct download of the last (binary) version: Its only advantage over other ST(e) "emulators" (there are still many limitations compared to Backwards, in particular it is not configurable) is that *it can use ST and MSA disk images*!!! but be warned it cannot yet "boot" from them sadly... > The minimal page size does not allow to map $xxFF8804 to $xxFF8800 for > example, so you have to set the whole page as not readable nor writable. > This way a bus error will be generated each time the code tries to access Yeah, that's was Backward's "correct" mode (IIRC) and STeADIER do. > the PSG (Or you may perhaps as well use those infamous limit fields...) If you think of the translation registers (TTx), forget about them: they can only cover an area which size is a 16MB multiple: a bit too coarse a range! Anyway the smallest page size is 512 bytes IIRC, so you must use [$8800.w, $8a00.w[ for YM! > Then, in the bus error handler, you have to decode the operation which > caused the error, emulate the access and resume to next instruction. > > Of course this is _very_ slow. An original Falcon may have trouble running > an ST Software at its original speed with such a trick if there are many > access to the PSG (as you already know from Backward documentation). If anyone are interested this is documented in the "Magi" article from the French "ST-Magazine". > Please also note 68 040 and 68 060 do not support emulation of access. > This approach won't work on those processors... Or at least will need > more tricks to pass this limitation. Could you elaborate on that? Then how would you implement virtual memory: you must call code on R/W accesses to illegal areas, mustn't you? > Have fun with the MMU ! Best regards, Same motto: MMU is vastly unused but much fun! :) Cheers, Guillaume P.S. : Someone, make 68030 and 68040/060 mmap() for MiNT and SingleTOS! Now I am on-topic again! ;)