GP32 A Good Pc Emulator


christo930

Well-Known Member
Joined
Jan 4, 2004
Messages
1,095
Location
Pennsylvania, USA
I am wondering if people are interested in a good pc emulator and if someone is willing to take up the job if there is interest. I for one would love to see a functional 286 386sx. Even a 286 emulator would be good for most of the older games ( it would most likely be faster than a real 8mhz 286. 12mhz with the turbo button, remember them). My first PC was a used Compaq Luggable XT, but I quickly got a used 286 with ega and it was great for games. I played dozens and dozens of them with the 286 which I eventually upgraded to vga. So I would like a 286 emulator (386 if possible) with support for a SB 8 bit, EGA/VGA, Gravis joypad emulation and kb ,mapping for games that support keyboard). iso support would be nice but not a nessesity, hard disk support and floppy support. It would be really nice to have a pc version as well to create the disk images with so installing dos would be easier (because the pc has a keyboard attached to it) (but not if it means the gp version is slow). I don't think there are any open source emulators out there that could be ported because pc's are so well backword compatable.
 
Squidge said:
How about http://bochs.sourceforge.net/ ?

I think this emulator is more aimed at running a modern x86 operating system, rather than dos based games. But maybe someone could take a look and see. It also only emulates 32bit cpu's with mmu's. Most old dos games that would run on a 200mhz machine emulating a pc, would not need virtual 86 mode and an emulated 286 processor would be much faster than an emulator 386 processor. A 286 emulated processor on a gp2x would probably run much faster than a real 286. For example on winuae, the emulated 020 is faster than the emulated 040 (on the same windows machine) even though a real 040 is at least 2x faster than an 020 at the same clock speed. If memory serves me correctly, a 286 can address 16mb of memory (24 bit address bus), can load dos high, but cannot use umb's. It can also use a 287 math coprocessor, although I am not aware of even 1 single game back then that would use it. Since not too many device drivers would be needed, we could still have a largest executable program size of between 5 and 600k (most likely over 550).

Hopefully someone will take this up and give us a good pc emulator. If you are interested in pc emulation, please reply to the thread so the developers know we want it. There are A LOT of PC only classics out there that would be awesome to have in your pocket. Epic Mega Games and Apogee alone provide dozens.

Chris
 
Last edited by a moderator:
Pickle said:
seems what your describing is dosbox
Dosbox is too slow. Unless it is completely rewritten it will never run anything more than the old bootable disks that required a first generation pc with cga graphics (which suck- far worse than 8 bits of the era). Even a lot of that won't run. As I stated before, I can't get 286 games to run on a 800mhz mac, let alone a 200mhz gp2x.

It looks like their is not too much interest in this area?

Chris
 
Last edited by a moderator:
christo930 said:
Dosbox is too slow.
If only it was as easy as posting a message on a forum "i think someone should make an xxxxx emulator, which is fast!"

There would be so many n64 emulators already...
 
Last edited by a moderator:
I guess you'll have to wait for the Pandora then. Bochs and Dosbox btw are already on the gp2x if you wish to play with them and then imagine the same thing at anything upto 10 times faster on the Pandora when it comes out.
 
christo930 said:
Dosbox is too slow. Unless it is completely rewritten it will never run anything more than the old bootable disks that required a first generation pc with cga graphics (which suck- far worse than 8 bits of the era).
What makes you think that DosBox is slow because it is badly designed? Maybe it is slow because emulating a PC is hard, that's all.
You're judgement is very quick and quite disrespectful, unless you have studied the code and know what you are talking about.

I am no expert in emulation, but what you ask could be impossible. As far as I know, there is no machine that GP2X emulates full-speed which includes a processor as powerful as a 286 / 8MHz. The 68000 is undoubtedly easier to emulate.

However, I have read recently that some people are working on a dynarec for DosBox. If an expert could give his opinion on this, it would be much appreciated.
 
Last edited by a moderator:
I agree that DOSBox is slow relative to the old adage that you need a platform 10x as powerful as the system you're emulating. I would guess that on my 3000mHz PC my DOSBox should, according to the above, act like a 300mHz PC in DOSBox, when it really acts more like a 75Mhz system.

I don't know why this is - a combination of the complexity of PC hardware and the open-source nature of the application. 75mhz does cover most of the classics quite well, but still chokes a bit on later dos games like daggerfall & future shock.

I don't think gp2x is ideal for dosbox for a ton of reasons. but pandora just might be.

Interpreters like SCUMMVM & Exult are the answer for gp2x fans.

It would be too sweet if someone wrote an interpreter for the bethesda xengine games like the two mentioned above.
 
markiej said:
I agree that DOSBox is slow relative to the old adage that you need a platform 10x as powerful as the system you're emulating. I would guess that on my 3000mHz PC my DOSBox should, according to the above, act like a 300mHz PC in DOSBox, when it really acts more like a 75Mhz system.
Be careful with frequencies, some operations which needed many cycles in the eighties can be done several times in parallel in one cycle on one processor today.

Your 3GHz PC is way more than 10 times more powerful that a 300 MHz PC.
A modern ARM / 200 MHz is way more than 25 times more powerful than a 68000 / 8 MHz.
 
Last edited by a moderator:
hal9000 said:
I am no expert in emulation, but what you ask could be impossible. As far as I know, there is no machine that GP2X emulates full-speed which includes a processor as powerful as a 286 / 8MHz. The 68000 is undoubtedly easier to emulate.
I really hate saying this, but 16.7MHz ARM7TDMI is much more powerful than 8MHz 286. Although you might not consider gpSP fullspeed it has to emulate powerful video hardware that an old PC wouldn't have (and with frameskip it shows that the CPU can be emulated fullspeed most of the time). The graphics hardware on a typical 286 (what, CGA?) is very weak.

hal9000 said:
However, I have read recently that some people are working on a dynarec for DosBox. If an expert could give his opinion on this, it would be much appreciated.
It'd help of course. I don't think any dynarec implementations for DOSBox are especially aggressive but it's almost always a marked improvement, especially on ARM9 where you pay a lot for load + branch necessary in an interpreter.

markiej said:
I agree that DOSBox is slow relative to the old adage that you need a platform 10x as powerful as the system you're emulating. I would guess that on my 3000mHz PC my DOSBox should, according to the above, act like a 300mHz PC in DOSBox, when it really acts more like a 75Mhz system.
The problem is that those numbers are totally made up. You hear anything from 3x to 40x, basically whatever people feel like saying. They're not grounded in any real analytical conjecture and they're not even grounded in actual trends because most people won't be able to really compare the power between two CPUs (let alone entire platforms), just clock speeds. What I can tell you is that most emulators use interpreters, and few interpretive emulators can emulate instructions in less than around 10-15 host instructions on average (it'll probably be much more most of the time, depending on the processor). A recompiler can possibly bring it down to 5 or less (depends on how big the register set is, what address modes are available, how complex memory is, if an MMU is used to accelerate emulation, so on and so forth) but old CPUs aren't usually recompiled because they tend to require more cycle accurate emulation. Fortunately old PCs shouldn't be too picky since even back then people were running at different clock speeds and other timings.

Anyway, the average number of host instructions required to match an emulated instruction can then be divided by the ratio of the average number of cycles spent per instruction on the emulated machine and the average number of cycles spent per instruction on the host machine (for that emulator, emulators can have different typical instruction usage patterns and may be more or less cache friendly..). Even this is still a very rough estimate, but it will give a really inflated number when looking at an old CPU that took many cycles on average to run an instruction vs a new CPU that takes one or less. Again, this is only comparing CPUs anyway.
 
Last edited by a moderator:
Exophase said:
I really hate saying this, but 16.7MHz ARM7TDMI is much more powerful than 8MHz 286. Although you might not consider gpSP fullspeed it has to emulate powerful video hardware that an old PC wouldn't have (and with frameskip it shows that the CPU can be emulated fullspeed most of the time). The graphics hardware on a typical 286 (what, CGA?) is very weak.
Thanks for your answer. Yes, that's a good point. However, the similarity in architecture helps a lot, especially when there is a dynarec, isn't it?
 
Last edited by a moderator:
markiej said:
I agree that DOSBox is slow relative to the old adage that you need a platform 10x as powerful as the system you're emulating. I would guess that on my 3000mHz PC my DOSBox should, according to the above, act like a 300mHz PC in DOSBox, when it really acts more like a 75Mhz system.

I don't know why this is - a combination of the complexity of PC hardware and the open-source nature of the application. 75mhz does cover most of the classics quite well, but still chokes a bit on later dos games like daggerfall & future shock.

I don't think gp2x is ideal for dosbox for a ton of reasons. but pandora just might be.

Interpreters like SCUMMVM & Exult are the answer for gp2x fans.

It would be too sweet if someone wrote an interpreter for the bethesda xengine games like the two mentioned above.
I think it has more to do with the intended audience than anything else. Dosbox is meant for pc's running windows 2k and up. A pc running windows 2k and up is likely to be pretty fast. If a gp2x can emulate an Amiga, then it can emulate a 286 with ega graphics. I think the real reason we don't see a good pc emulator is that there historically has not been a need for one. PC's are backward compatable. You don't need an emulator to play old games, you just launch a command.com session and there you go. For games that access the hardware directly, it causes a problem with the HAL of windows NT (which includes 2k xp and vista) so that's when dosbox came in. There just isn't a fast emulator to port, and since every video card for a pc can use every video standard in the pc world since day one there are no vga emulators and virtual 86 mode gives you your own 386 to use. I'm not 100% sure, but I'm pretty sure that the 68k processors are faster and more complex than a 286. I remember having a pc emulator for mac on a quadra which did a passable job running windows 3.x and if I remember correctly, it emulated a 286 because you couldn't start windows in 386 enhanced mode (win /3) to use virtual memory and the like. Unfortunately, those emulators are CLOSED source owned by microsoft since they purchaed connectex. Someone mentioned about it being so easy to ask for one in a thread, but shouldn't the developers know what users would like? I'm not demanding it, I'm simply saying if nobody shows interest, it certainly won't happen. Yes, you can just wait until faster hardware comes along and then port existing software to the hardware capable of running it, but that doesn't seem too innovative to me. I am not a developer and I couldn't possibly write an emulator of a calculator, but that doesn't mean that the people who can aren't interested in what users would want. I am making my wants known in what I feel is a respectful way.

Chris
 
Last edited by a moderator:
hal9000 said:
Exophase said:
I really hate saying this, but 16.7MHz ARM7TDMI is much more powerful than 8MHz 286. Although you might not consider gpSP fullspeed it has to emulate powerful video hardware that an old PC wouldn't have (and with frameskip it shows that the CPU can be emulated fullspeed most of the time). The graphics hardware on a typical 286 (what, CGA?) is very weak.
Thanks for your answer. Yes, that's a good point. However, the similarity in architecture helps a lot, especially when there is a dynarec, isn't it?


Not as much as you might think. The CPU emulation performs about the same clock for clock (so over 50% better at 333MHz) on PSP, so that should basically tell you.
 
Last edited by a moderator:
hal9000 said:
christo930 said:
Dosbox is too slow. Unless it is completely rewritten it will never run anything more than the old bootable disks that required a first generation pc with cga graphics (which suck- far worse than 8 bits of the era).
What makes you think that DosBox is slow because it is badly designed? Maybe it is slow because emulating a PC is hard, that's all.
You're judgement is very quick and quite disrespectful, unless you have studied the code and know what you are talking about.

I am no expert in emulation, but what you ask could be impossible. As far as I know, there is no machine that GP2X emulates full-speed which includes a processor as powerful as a 286 / 8MHz. The 68000 is undoubtedly easier to emulate.

However, I have read recently that some people are working on a dynarec for DosBox. If an expert could give his opinion on this, it would be much appreciated.

I don't think that dosbox is badly designed, it's just written in such a way that it is slow. For one, it's primary target is a windows pc not a arm based game machine and portability is a big concern. I don't think MAME is poorly designed, yet it is very slow compared to earlier versions of itself and other emulators that run the same games. It simply has different design goals.

I am curious as to why you say a 68000 at 8mhz is so much simpler than a 286 at 8 mhz. They are both 16 bit cisc processors, designed around the same time and the 68k processor is faster than a 286 at the same clock speed. After researching this a bit, it seems that the 286 does have nearly twice the number of transistors as a 68000 (68000 vs 134000), however, I don't know how this translates to emulation.

The 68k processor has been used in many different computer platforms, video game consoles, arcade machine and the like and has had many many years and projects to get better and better and faster and faster emulation. The 386 processor is more complicated and faster than a 68000, but not the 286. As a matter of fact, you will note that pc's are sometime referred to as i386 machines. For all of their upgrades, modern pc's can still run old software. If you have a floppy drive, you can boot from a dos 5.0 boot disk with cd rom support (although you will not be able to access fat32, LFN or HD partitions bigger than 2gb)and run dos, windows (any dos/windows version), GEOS, DesQview...I guess this is kinda getting off track, but you get the idea. There hasn't been a great need for a 286 emulator since the chip really wasn't popular outside of pc compatables (and IBM), as where the 68k was in many different machines.

Does MAME have a 286 emulator or 8086 emulator? That might be a good place to start. I think I remember 8086 being in a few arcade games... I'll have to double check. What about early mess versions?

Chris
 
Last edited by a moderator:
christo930 said:
I am curious as to why you say a 68000 at 8mhz is so much simpler than a 286 at 8 mhz. They are both 16 bit cisc processors, designed around the same time and the 68k processor is faster than a 286 at the same clock speed. After researching this a bit, it seems that the 286 does have nearly twice the number of transistors as a 68000 (68000 vs 134000), however, I don't know how this translates to emulation.
Actually, 68k is contemporary with 8086, not 80286 (technically 68k was released first). Even though 68k has a thoroughly well written and powerful instruction set it takes forever to get instructions done. The average number of cycles per instruction is probably at least 8, whereas on 286 the average number is less than 5 (according to Wikipedia, which states 0.21 instructions per cycle). 286 also has segmentation and protected mode (although that's probably rarely used), which requires more processing to emulate than 68k's flat memory space.
 
Last edited by a moderator:
christo930 said:
I am curious as to why you say a 68000 at 8mhz is so much simpler than a 286 at 8 mhz.
Sounds like an outdated controversy, but as you said 80286 had twice more transistor and was released 3 years later. As far as I remember, my Atari ST was a better machine than a PC 286 / 8 thanks to its superior graphical capabilities, but could not match it in pure CPU power, for early 3D games, for example.

christo930 said:
I don't think that dosbox is badly designed, it's just written in such a way that it is slow.
I don't know why you insist on this point, unless you have some evidence of it. Maybe the 80286 emulation can be hugely optimized. Maybe it should be rewritten, but then you could keep the remaining part of DosBox which does the rest of the job.

Anyway, don't expect a massive effort like a complete new PC emulator to be done now, with Pandora coming, which is clearly a much better platform for this (power, keyboard).
 
Last edited by a moderator:
hal9000 said:
christo930 said:
I am curious as to why you say a 68000 at 8mhz is so much simpler than a 286 at 8 mhz.
Sounds like an outdated controversy, but as you said 80286 had twice more transistor and was released 3 years later. As far as I remember, my Atari ST was a better machine than a PC 286 / 8 thanks to its superior graphical capabilities, but could not match it in pure CPU power, for early 3D games, for example.

christo930 said:
I don't think that dosbox is badly designed, it's just written in such a way that it is slow.
I don't know why you insist on this point, unless you have some evidence of it. Maybe the 80286 emulation can be hugely optimized. Maybe it should be rewritten, but then you could keep the remaining part of DosBox which does the rest of the job.

Anyway, don't expect a massive effort like a complete new PC emulator to be done now, with Pandora coming, which is clearly a much better platform for this (power, keyboard).


This is the point that I don't understand. From a business point of view, it makes perfect sense. But from a hobbiest point of view it makes little sense. Most hobbiest like to push the machine to the limits and wring ever last ounce of performance out of a closed platform as possible. Now, I'm not trying to be disrespectful to the developers without whom we would have nothing, but I also see an odd attitude from a hobbyiest. I doubt it will happen, but maybe someone will make the effort. I just hope that most of the developers will stick with the gp2x.

Chris
 
Last edited by a moderator:
Well unlike nearly every other modern architecture, the x86 architecture is a CISC architecture, meaning that it has a large, complex instruction set. The simple fact is it is more work to write an emulator for x86 processors than others.
 
Blah said:
Well unlike nearly every other modern architecture, the x86 architecture is a CISC architecture, meaning that it has a large, complex instruction set. The simple fact is it is more work to write an emulator for x86 processors than others.
Most platforms that are emulated on GP32 or GP2X are CISC as well...
 
Last edited by a moderator:
Back
Top