Amiga.org
Amiga computer related discussion => Amiga Software Issues and Discussion => Topic started by: Hardboy on March 14, 2003, 02:28:00 AM
-
I´ve programmed a PowerPC emulator, which by now, emulates allmost all UISA instructions. What I would like to know is, what usage people might have of a PPC emulator, as it currently lacks some system of control.
When thinking about usage, the following things have come to my mind:
*Programmers who doesn´t have a PPC-card can test their code, to ensure it´s working on PPC systems
*The code could be modified to make more or less accurate emulations of a 603, 604, G3 or G4, plus precise emulations of memory models, which could be used to analyse performance and similar things.
Does anybody have other suggestions? I would really like to know, as it could give some inspiration to develop this things a little further.
-
I would use it, but only if came with some type of PowerPC compiler with is ready to use...
-
I would use it, but only if came with some type of PowerPC compiler with is ready to use...
I currently use modified vbcc genrated code, but for what would you use it?
-
This is interesting.
What were your original plans for this?
-
you didn't say wich processor the emulator runs on but if it's x86 you could use it to run OS4 when it comes out. Sort of like amithlon.
-
This is interesting.
What were your original plans for this?
I´m writting a project about software optimization, and all I have is laptop PC. As I really can´t stand the architecture of X86, I thought about making an emulator to do the job instead.
you didn't say wich processor the emulator runs on but if it's x86 you could use it to run OS4 when it comes out. Sort of like amithlon.
It´s written in 100% standard C++ and I have succesfully compiled and runned it on both Windows98 and Solaris.
It won´t run OS4 as it only executes a programming model which means it can execute PPC-code, but not emulate other hardware - except memory, off course!
-
It won´t run OS4 as it only executes a programming model which means it can execute PPC-code, but not emulate other hardware - except memory, off course!
Fascinating... Could you graft it into UAE and write a little hack to recognize it as a CyberStorm card? (Essentially that's all it was, right.... I mean there wasn't much hardware to emulate, it just used the 680x0 for everything except specific PPC instructions...) Not knowing about how UAE is structured, nor knowing much about emulation coding, in general, I don't know if what I'm suggesting is practical, only fascinating to me...
-
Fascinating... Could you graft it into UAE and write a little hack to recognize it as a CyberStorm card? (Essentially that's all it was, right.... I mean there wasn't much hardware to emulate, it just used the 680x0 for everything except specific PPC instructions...) Not knowing about how UAE is structured, nor knowing much about emulation coding, in general, I don't know if what I'm suggesting is practical, only fascinating to me...
Well, not really. This emulator recognise PPC-code, and execute it in a high-level implementation. To do the other trick, one should translate PPC-code directly to native code, which then should be executed - quite different things.
-
I´ve programmed a PowerPC emulator, which by now, emulates allmost all UISA instructions. What I would like to know is, what usage people might have of a PPC emulator, as it currently lacks some system of control.
- PPC application development work on some cheap X86 box or laptop. PPC embedded Linux systems would be the ideal candidate.
- PPC processor theory subjects within a University environment i.e. PPC simulators intended for design and research.
- Support for PPC legacy software on non-PPC hardware.
Have you implemented PPC MMU for your PPC emulator?
For a "PowerPC 750 Simulator" (executes PPC Linux binaries on Non-PPC Linux) refer to http://www.microlib.org/G3/PowerPC750.php
I wonder IF one could do a AmigaOS (or AROS) version instead of Linux.
-
Have you implemented PPC MMU for your PPC emulator?
Nope! The emulated memory is taken from the available memory from the underlying OS. It is translated to local adresses by an interface, and I have therefore not implemented MMU instructions.
I wonder IF one could do a AmigaOS (or AROS) version instead of Linux.
Anyone who has gcc installed, as I said: It´s 100% standard C++
-
Nope! The emulated memory is taken from the available memory from the underlying OS. It is translated to local adresses by an interface, and I have therefore not implemented MMU instructions.
Is this a "thread" based emulator?
I recall there are 3 main methods for gaining legacy software compatibility;
1. Complete machine emulators (e.g. UAE, MAME, Bochs).
2. Sandbox (e.g. MorphOS’s 68k sandbox, SoftWindows (i.e. native PPC Windows95 with X86 emulator)).
3. Thread emulators (e.g. AmigaOS 4.0’s 68k method).
-
Hardboy wrote:
I wonder IF one could do a AmigaOS (or AROS) version instead of Linux.
Anyone who has gcc installed, as I said: It´s 100% standard C++
You basically saying it will run PPC binaries, which are complied by gcc?
Yet another PPC emulator (simulator).
http://www-rohan.sdsu.edu/doc/psim/manual_toc.html#SEC152
PSIM, both implements all three levels of the PowerPC Instruction Set Architecture, and includes, for each level, a number of simulated run-time environments:
UEA PSIM can run static programs compiled for any of the following operating systems:
VEA Support for environmental features of the Instruction Set Architecture including:
Symetric multi-processing
Cache manipulation
Time base registers
OEA Details of the target PowerPC Platform being modeled can be specified including:
firmware (Motorola BUG or OpenFirmware)
memory and I/O address maps
attached devices
interrupt controller (OpenPIC) configuration
-
Is this a "thread" based emulator?
I guess not. I don´t see clearly what "thread" based means, but all this program does, is recognising PPC-instructions and executes them. There are no environment, like OS functions, available.
You basically saying it will run PPC binaries, which are complied by gcc?
No, I say that anyone who has gcc installed could make a version of the program. It should though, without problems run binaries made from gcc unless they use some of the yet unimplemented instructions.
-
No, I say that anyone who has gcc installed could make a version of the program.
Ok. Where does one download this program/source code?
It should though, without problems run binaries made from gcc unless they use some of the yet unimplemented instructions.
Ok.
-
I could send them to you. What OS do you use?
-
Hoax PowerPC emulator (http://www.emaculation.com/ppc.shtml)
Hello
I hope this project is NOT ANOTHER HOAX.
(other HOAX: Ardi PowerPC emulator)
Perhaps this can be used to emulate "PowerPC hardware" for running "Linux for PowerPC" on top of X86 machine. This will enable Linux software developers to port their applications to PowerPC + Articia platforms, without buying the hardware.
Perhaps you can build emulator for VESA /SNAP based VGA cards (or use VGA card on X86). Another difficult problem is emulating Articia + VIA chipset.
Another idea is a joint project with Total Impact or other PowerPC G3 Co-processor vendors to enable PC running AmigaOS 4. Perhaps you can emulate modern PowerPC G3 or G4 on top of old PowerPC 601 (old Amiga accelerator cards).
-
I need something that will allow me to write and run PowerPC code on my x86 IBM ThinkPad Laptop.
-
I guess not. I don´t see clearly what "thread" based means
you're kidding right?
-
@Hardboy
Maybe you should have a chat with Bernie with regard to merging your two products. That would be a great piece of software, and it would also really piss Harald Frank off! ;-)
Are you reading this Bernie? Would you be intersted?
-
Forgive my ignorance :hammer: but if it's possible to do a partial VM... passing through everything except CPU calls, that might could work. But again, I know not enough about what I'm saying to know how you'd do that.
-
You do realize you just dragged up a thread from 2003, right?