ProEmulator is a universal embedded system simulator/emulator based on a plug-in
architecture. This concept was borrowed from Winamp the audio player, which makes it
possible for ProEmulator to emulates various hardware, including CPUs/MCUs of 4-bit to
32-bit and their peripherals, e.g. UART, LED, LCD, NIC, on PC or maybe other computer
systems. Three forms of plugins are introduced in this software, processor plugin,
peripheral plugin and compiler plugin. By writing new plugins, new hardwares can be
easily emulated and source code (assembly/C/C++, depends on compilers) can be compiled,
debugged and run. The development is still in progress. Currently, only the Intel 8051
MCU plugin and SDCC compiler plugin are well developed. My fellows are working hard on
other components. It is an open-sourced software( source code will provide later) This
is a screenshot of the latest release.



And the attachment is the latest alpha release.
Posted on 2004-03-23 21:36:58 by optimus
Looks really sharp but just downloaded. I'll give feefback after examination. Don't state universal though unless it is. Where is the Intel? I love their embedded processors because you can write code on PC through a compiler and xfer file to project. Of course only when more sophistication is needed, as we are all aware , price is probably most important factor in a successful design.
Posted on 2004-03-24 00:17:52 by mrgone
I call it universal, because it has the flexibility to support more hardware by writing new plugins. Currently only 8051 plugin is well written with timer interrupt support. more plugins are being written by other fellows now.
Any suggestions are welcomed. I'll take them into serious consideration.
Actually this is a my college graduation project.
Posted on 2004-03-24 02:38:30 by optimus
OK a suggestion. The 80188. I've stated before in here how I hate the 8051. It's compatible with it's self only. Don't like the pins you loose when setting up other configurations. Especially hate the serial port control. The 80L188EB is much more like it. You can configure it to look like a PC in DOS. The USART is just like the NS16450. You have built in PIC etc. SQFP package is nice and small. 3.3V great for more sophisticated hand held gadgets and still easy on the batteries especially when programmed to turn it's self off through Xsistor switch (forget sleep mode). Best of all the instuction set is same as 8086/88 and core all the way to Pentium.
I guess the schools push this 8051 and that's a shame because I repeat..."hate that chip".
But don't get me wrong. I'm in no wize knocking your program. I like it alot and the compatibility feature is great! So nudge your freinds,colleges,co-workings what ever to put some real processors into it. I already have all the tools I need for PICs. Another few suggestions are the 386EX and 486EX. Unless your building a PC, these two give you plenty of flexibility and overhead to do pretty much whatever you want with upward compatibilty and you can configure your ports to look exactly like the PC.
Posted on 2004-03-24 08:21:14 by mrgone
I like x86 very much just like u. I've used all the Intel's 80xx series, since the early 8088 till today's Pentium 4. Actually, I have ever thought of emulating a 8086 CPU at the beginning of my project. But emulate a x86 on a x86 requires another technique to gain a better performance (more like sth used in VirtualPC and VMWare, while unlike the instruction emulation technique we used now). Though it's possible to make a emulation of 86 in the way 8051 is emulated now, but the complex instruction set and addressing mode of x86 requires lots of works. Coz I've make it a plug-in enabled software, I really wish other guys will write plug-ins for it, e.g. a 80188 plugin. I will write some document on plug-in development soon. The attachment is the 8051 (in asm) and 2 sample CPU plugin (in C) code.

p.s. I've applyed for hosting at sourceforge.net, I hope soon my program will have a position there.
Posted on 2004-03-24 19:59:57 by optimus
You deserve it :) . Sounds like you have run into same problem as me. Strapped for time and would like good x86 database for neumonics. I essentially have a debug as in old DOS debug utility for NT but it lacks mini-assembler/disassembler. If your hex savy at least you can edit memory anywhere that is paged or (physical). My job has driven me back to hardware so I'm done for now. It would be nice to have a straight forward database to match hex code to neumonic almost by offset but I would settle for variables. The program "Debug.exe was not released in DOS V1.0 and actually appeared in ver. 2.1 I beleive it was. It was designed to be the equivilant of CP/M "DDT" in order to allow programmers and especially hardware peripheral manufacturers to develope new add ons to enhance the desireability of the PC. I don't know if you are familiar with Four-F on this board but he has done some pheonominal work in creating a full package of include files for ASM as well as examples to show the power of his files converted from DDK. I have used them extensively and found that once again the hardware is under your command like good ole DOS days. I'm a low level programmer because I design hardware and I only have time to write crude cut to the quick software thanks to Iczelion and help from this board. Esentially what I am saying is the NT system with it's advanced uses of PM needs another Debugging tool but I do undersatand that security is much much more a concern today do to a world wide network and the maliciousness of some who feel it is important to them to destroy. I guess that's their clame to fame. Sorry they feel that way. It would seem that accomplishment is a much greater attribute.
Posted on 2004-03-24 21:13:19 by mrgone

I like x86 very much just like u. I've used all the Intel's 80xx series, since the early 8088 till today's Pentium 4. Actually, I have ever thought of emulating a 8086 CPU at the beginning of my project. But emulate a x86 on a x86 requires another technique to gain a better performance (more like sth used in VirtualPC and VMWare, while unlike the instruction emulation technique we used now). Though it's possible to make a emulation of 86 in the way 8051 is emulated now, but the complex instruction set and addressing mode of x86 requires lots of works. Coz I've make it a plug-in enabled software, I really wish other guys will write plug-ins for it, e.g. a 80188 plugin. I will write some document on plug-in development soon. The attachment is the 8051 (in asm) and 2 sample CPU plugin (in C) code.

p.s. I've applyed for hosting at sourceforge.net, I hope soon my program will have a position there.

If I have time I may port my Z80 CPU emu (VZ80) over, it is quite buggy at the moment, but I think I did design it with pluggability so I could try and emulator another system instead of SMS (Space Invaders here I come :p ). You can see some of the work by my VZ80 emulator in my avatar, it is the one running the SMS's BIOS(as in my avatar).
Posted on 2004-03-25 18:53:58 by x86asm
Now I've got hosting on SourceForge.net
check this out:

http://sourceforge.net/projects/proemulator/
http://proemulator.sourceforge.net/

I've released a newer version there which supports peripheral plugins.
Posted on 2004-03-26 10:21:40 by optimus