Author Topic: Emulating I386  (Read 4548 times)

sigmaX

  • Full Member
  • ***
  • Posts: 110
    • View Profile
Emulating I386
« on: December 06, 2004, 09:48:52 pm »
Hey people

I always wondered why are i386 emulators so scarse, difficult and SLOW (particularly for our zaurus) ...

I mean, 400MHZ for a C860 (which can be forced to 471 with no such big deal) ... and the processor is "INTEL" actually (maybe that helps a little  ) anyway, I would LOVE to see a windoze boot up in my zaurus, to make some friends go crazy ... call me lame but it would be cool for me ...

What happens with our little PXA255 processors ? if You where to place them in a scale head to head with "pentium" processors ... where should you place them ?

Why is it so difficult to decode DIVX ? computing intensive work  is a "nono" for these small processors ?

I would love to read some clear text no nonsense discussion about all these questions
« Last Edit: December 06, 2004, 09:52:58 pm by sigmaX »
Enrique

sl-c860 / 1gigCF 40X / 256mbSD / Ambicom WIFI / TRENDnet 10/100 ethernet / SL-5500 CF 40X 32MB

Foxdie

  • Sr. Member
  • ****
  • Posts: 465
    • View Profile
    • http://trackmygps.co.uk
Emulating I386
« Reply #1 on: December 07, 2004, 01:07:23 am »
It puzzles me too. Some ROM's can play Quake with a comfortable 20~ Frames Per Second but cannot decode DIVX in realtime, but others are the exact opposite.

You'd think we'd have a ROM that could do everything by now
Jason "Foxdie" Gaunt
HTC Universal G4 with 2GB SD card running Debian Titchy Linux
[img]http://trackmygps.co.uk/signatures/foxdie.gif\" border=\"0\" class=\"linked-sig-image\" /]
Click image to view my GPS tracker
Follow me on Twitter: @jasongaunt

arniel

  • Full Member
  • ***
  • Posts: 103
    • View Profile
Emulating I386
« Reply #2 on: December 07, 2004, 05:30:32 am »
Hi,
AFAIK, emulating an i386-class processor is a nasty business, and in any event the PXA series lack floating point units (remember the days of maths co-processors?).  The architectures are completely different (CISC vs. RISC) so it's not just the instruction set that needs emulating, it is also the hardware that makes a PC... a PC.
Guessing, I would imagine a 400MHz PXA could emulate a 486SX33.  With JIT compilation, that might get faster, but there is still an OS to get in the way.
And we know what it's like running Windoze on a 486SX

Arnie

arniel

  • Full Member
  • ***
  • Posts: 103
    • View Profile
Emulating I386
« Reply #3 on: December 07, 2004, 05:33:09 am »
As for decoding DIVX, without floating point in hardware, it has to be either emulated (v slow) or the decoding routing rewritten for integer operation, if possible.  Processors with MMX-type instructions (PXA263?) can be much faster for the same clock speed.
Perhaps the difference between OS's is down to how well the maths routines are written.

ThC

  • Sr. Member
  • ****
  • Posts: 259
    • View Profile
    • http://
Emulating I386
« Reply #4 on: December 07, 2004, 05:39:25 am »
Before discovering the zaurus I've had a winCE device running a PXA255 and it was able to read divx and to play quake and even playstation games ... I've tested it with sandra 2004 and seen it can compare to a pentium 200 (except for the FPU part wich was more about a pentium 100 or so)
Btw since I have my zaurus things are getting better and better ... now we can run quake, warcraftII, we're close to read divx (let's hope problems with xvidix drivers will be fixed soon) and fpse should compile if some code guru out there would like to take a look at it as I've ran into problem compiling the gpu part but my coding knowledge is near from zero
What puzzles me actually is the fact I've recently seen a post from mickeyl telling there's still one only coder who bother porting the 2.6.x kernel to our beloved Z's when there must be a lot of good coder out there ... I hope one day I'll improve my coding skill enough to help him  (actually learning...)
« Last Edit: December 07, 2004, 05:41:04 am by ThC »
SL-C3000 - pdaXrom 1.1.0Beta1
SL-C860 - pdaXrom 1.1.0 RC8 (charging circuitry dead :( )
CF RamStar 512 Mb / Hitachi 4Gb microdrive (thanks to creative's muvo² :p)
SD Sandisk 1Gb / Viking 256 Mb
Linksys WCF13 CF wifi card

Anyone willing to donate for my work, please consider donate to pdaXrom and/or OE/OZ projects instead, I wouldn't have been able to do anything without them ...

dz

  • Administrator
  • Hero Member
  • *****
  • Posts: 589
    • View Profile
    • http://www.dangerz.net
Emulating I386
« Reply #5 on: December 07, 2004, 06:00:52 am »
You play Warcraft II on your Zaurus?  That's awesome!  Please do tell how.. I love that game.

On second thought, I have a lot of work I need to do.  Nevermind, don't tell me how until after January!
http://www.dangerz.net
c860 : Cacko
The greatest experience we can have is the mysterious.
- Albert Einstein

ThC

  • Sr. Member
  • ****
  • Posts: 259
    • View Profile
    • http://
Emulating I386
« Reply #6 on: December 07, 2004, 06:43:41 am »
LOL okay so I won't tell ya ... btw you could find it easily searching in the forum as it have been discused here many times

Quote
Processors with MMX-type instructions (PXA263?) can be much faster for the same clock speed.

btw I dont think they are /will be supported in kernel prior to 2.6.x (sl-c3000 use such a processor and no noticeable performance increase have been detected while playing divx or whatever...) and it don't even seem to motivate sharp in porting their kernel patches to 2.6.x ...too bad  ... btw let's hope it will gather more developper in the movement of porting the 2.6.x kernels to Z
« Last Edit: December 07, 2004, 06:49:35 am by ThC »
SL-C3000 - pdaXrom 1.1.0Beta1
SL-C860 - pdaXrom 1.1.0 RC8 (charging circuitry dead :( )
CF RamStar 512 Mb / Hitachi 4Gb microdrive (thanks to creative's muvo² :p)
SD Sandisk 1Gb / Viking 256 Mb
Linksys WCF13 CF wifi card

Anyone willing to donate for my work, please consider donate to pdaXrom and/or OE/OZ projects instead, I wouldn't have been able to do anything without them ...

kahm

  • Hero Member
  • *****
  • Posts: 657
    • View Profile
Emulating I386
« Reply #7 on: December 07, 2004, 07:51:52 pm »
A major stumbling block wih DIVX seems to be the audio decoding. The Zaurus seems to like 48khz encoded audio. Making sure you use 48khz rates seems to mean less work and better sync rates. I use 600kbps Divx encoding with 160kbps mp3 stereo audio at 320x200, 24fps without issue. Haven't tried 29.97 fps or larger resolutions yet. 320x200 seems to work pretty well, especially if you re-encode from a 640x480 source with a good filter. I have no problems reading subtitles on the Z.

The Z couldn't keep up with the same file encoded the same file at half the bitrate and framerate with 44khz or 22khz audio at all. Change nothing but the audio bitrate - *Bam* Smooth as butter.

I'm using Kino2 with the ATI w100 extensions, so YMMV.
Fujitsu U8240 "Stormtrooper" -  Zaurus Supplement
Libretto U100 | Sony Librie, Sony Reader
SL-C3100: Sharp 1.11JP (Kanji Dictionary/Translator) - LCD Top swap with C1000.
SL-C3000: pdaXii13 5.4.7, SL-C3000 5.4.9 - microdrive replaced with 8gb Sandisk
SL-C1000: PDAXRom Beta3 | SL-6000L: Sharp 1.12 | SL-5500: Cacko, 64-0 kernel | SL-5000D: OZ-Opie
Linksys WCF12; Sharp CE-AG06, CE-RH2, CE-170TS; iRiver USB OTG Host cable; Socket BT rev.E CF; Hitachi 6gb Microdrive

ciro

  • Newbie
  • *
  • Posts: 17
    • View Profile
Emulating I386
« Reply #8 on: December 10, 2004, 06:10:00 pm »
I was able to run wine on top of qemu. It was capable of running some simple applications (calc, notepad, etc.). They ran quite slow on SL5500. Actually, I've no idea if there's any use for that.

spartan

  • Jr. Member
  • **
  • Posts: 82
    • View Profile
Emulating I386
« Reply #9 on: December 10, 2004, 11:23:03 pm »
Never forget that Intel is in bed with Microsoft: Windows CE will always run better in those sort of obscure places, such as DIVX decoding.

To solve the integer issues, do not use the GLIB/GNU compiler. Get a specialized XScale (not necessarily PCA) ARM compiler. I have read in these forums of compilers that automatically optomize for the lack of floating point units, and produce great results.
C3000 with Tetsu v18d Special Kernel and Sharp 1.11JP ROM
1GB Lexmark SD, 2GB Mini SD, Socket Revision H Bluetooth, Ambicom Wi-Fi

arniel

  • Full Member
  • ***
  • Posts: 103
    • View Profile
Emulating I386
« Reply #10 on: December 13, 2004, 06:13:29 am »
Quote
Never forget that Intel is in bed with Microsoft: Windows CE will always run better in those sort of obscure places, such as DIVX decoding.
Nonsense!
It's all down to decent compilers/libraries.
See how Microsoft are pissing Intell off with their support of Opteron ahead of Itanium.  Intel's interest is to get their CPUs in as many places as possible, including areas that Micro$oft can't or won't dominate.
Micro$oft's goal is to get their shiteware running on as much hardwarae as possible, whoever makes it.
If anything, the incentive is to get people upgrading continuously, not making the most efficient use of what has already been sold.

enlightened_j

  • Newbie
  • *
  • Posts: 18
    • View Profile
Emulating I386
« Reply #11 on: December 13, 2004, 11:40:53 pm »
Quote
Micro$oft's goal is to get their shiteware running on as much hardwarae as possible, whoever makes it.
I doubt it's Microsoft's goal to get ther shiteware running on as much hardware as possible.  Ever since they stop the support for Alpha, have you see them releasing OS for platform other than x86 and arm?

Just like any other business, making as much money as possible is their goal.  

arniel

  • Full Member
  • ***
  • Posts: 103
    • View Profile
Emulating I386
« Reply #12 on: December 14, 2004, 09:10:14 am »
Quote
Quote
Micro$oft's goal is to get their shiteware running on as much hardwarae as possible, whoever makes it.
I doubt it's Microsoft's goal to get ther shiteware running on as much hardware as possible.  Ever since they stop the support for Alpha, have you see them releasing OS for platform other than x86 and arm?

Just like any other business, making as much money as possible is their goal.  
You're right there!
however, I meant as many types of product i.e. phones, pcs, set top boxes etc.  Remembers "Windows Everywhere"?

xatax

  • Jr. Member
  • **
  • Posts: 74
    • View Profile
Emulating I386
« Reply #13 on: December 14, 2004, 09:26:23 am »
Quote
"Before discovering the zaurus I've had a winCE device running a PXA255 and it was able to read divx and to play quake and even playstation games ... I've tested it with sandra 2004 and seen it can compare to a pentium 200 (except for the FPU part wich was more about a pentium 100 or so) [...]"
What device with a PXA255 and WinCE where you using? Why do you switched to the Z?
SL-C750 running Cacko 1.22

sigmaX

  • Full Member
  • ***
  • Posts: 110
    • View Profile
Emulating I386
« Reply #14 on: December 19, 2004, 08:27:52 pm »
Just to go into a different direction ... if we cannot succesfuly emulate I386 .... with our zauriis....

COULD IT BE EASY ENOUGH TO DO A WRAPPER SO WE CAN ALSO HAVE SOME LAUGHS RUNNING WINCE SOFTWARE ?

I feel that such a thing could certainly be done ! but ... is there a LEGAL problem ?

It could prove fun to have a couple of libraries providing winCE base to execute wince software ...
« Last Edit: December 19, 2004, 08:34:56 pm by sigmaX »
Enrique

sl-c860 / 1gigCF 40X / 256mbSD / Ambicom WIFI / TRENDnet 10/100 ethernet / SL-5500 CF 40X 32MB