kovacm
Čuven
- Učlanjen(a)
- 28.01.2005
- Poruke
- 8,607
- Poena
- 570
Neo Geo emulator za 16MHz Atari Falcon 030
prvo: emulator ne radi u punoj brzini
drugo: ono sto je interesantno je kako je emulator izveden
---
Well, the main and most important feature used by this emulator is the MMU and the "Bus Fault Recovery" capability (please refer to the "MC68030 User's Manual", Section 8.2) so you need at least a MC68030 or better. Actually this emulator will currently run only on a MC68030 because the MMU handling is different on the other CPUs.
The MMU table is used to reproduce the NEO GEO memory map so that the game code runs in the original place (of course). The NEO GEO specific hardware registers are also mapped appropriately but they are marked as "invalid" MMU descriptors. Accessing those addresses will cause a bus error. So all you wish for is a smart bus error handler which emulates the behaviour of the register functions. To do so it requires the following features:
- know the accessed address.
- know the data size (byte, word, long).
- know the "to be written" data value.
- know if it was a read or write access.
- chance for a recovery from the exception (return the required "to be read" data to the original program and continue the execution).
In fact, all those features are available on a MC68030 just because they are necessary to implement a virtual memory system. So in conclusion the the real system emulator is the bus error handler.
---
http://www.atari-forum.com/viewtopic.php?f=68&t=25780
btw Anima (autor ovog demoa) je vec napravio X68000 "emulator" za Atari Falcon koji RADI punom brzinom
(u slucaju X68000 je menjao kod kako bi ga prilagodio Atari hardwareu!)
http://www.atari-forum.com/viewtopic.php?t=24111
prvo: emulator ne radi u punoj brzini
drugo: ono sto je interesantno je kako je emulator izveden
---
Well, the main and most important feature used by this emulator is the MMU and the "Bus Fault Recovery" capability (please refer to the "MC68030 User's Manual", Section 8.2) so you need at least a MC68030 or better. Actually this emulator will currently run only on a MC68030 because the MMU handling is different on the other CPUs.
The MMU table is used to reproduce the NEO GEO memory map so that the game code runs in the original place (of course). The NEO GEO specific hardware registers are also mapped appropriately but they are marked as "invalid" MMU descriptors. Accessing those addresses will cause a bus error. So all you wish for is a smart bus error handler which emulates the behaviour of the register functions. To do so it requires the following features:
- know the accessed address.
- know the data size (byte, word, long).
- know the "to be written" data value.
- know if it was a read or write access.
- chance for a recovery from the exception (return the required "to be read" data to the original program and continue the execution).
In fact, all those features are available on a MC68030 just because they are necessary to implement a virtual memory system. So in conclusion the the real system emulator is the bus error handler.
---
http://www.atari-forum.com/viewtopic.php?f=68&t=25780
btw Anima (autor ovog demoa) je vec napravio X68000 "emulator" za Atari Falcon koji RADI punom brzinom
(u slucaju X68000 je menjao kod kako bi ga prilagodio Atari hardwareu!)
http://www.atari-forum.com/viewtopic.php?t=24111