Another QEMU and BOCHS ports for android

Search This thread

mamaich

Retired Recognized Developer
Apr 29, 2004
1,150
228
mamaich-eng.blogspot.ru
Here: http://4pda.ru/forum/index.php?showtopic=172093 and here: http://4pda.ru/forum/index.php?showtopic=169480 I've posted my own ports of QEMU and BOCHS emulators for android. Pages are in russian.
Both builds are tested on HTC Desire. May run on android 1.6+, but lots of RAM is a requirement. Need VGA+ screens, otherwise text would be unreadable.

Direct links:
http://rapidshare.com/files/393889645/BOCHS_arm_android.rar
Mod Edit: No Windows images allowed

Installation:
1. install APK from archive
2. copy SDL directory from archive to the root of storage card
3. run. If it don't run - look into ADB log. And don't ask me for help.

BOCHS is too slow to be useable, but very stable.
QEMU is really fast - but buggy. SB16 emulation is working, but no MIDI music. FPU emulation is incorrect/incomplete, so it may cause some programs not to run or behave strangely. Network is not working. Keyboard/mouse emulation is far from perfect.
Windows 9x would work in QEMU if you'll disable 32-bit disk drivers in it. This is a bug in Android (pread/pwrite functions are not working). Windows 9x speed is really fast.
This QEMU build is based on 0.9.1, newer versions have bugs in ARM TCG and can't boot Windows or similar OS.

I would not continue working on these 2 projects. If anyone is interested - I'll provide all sources and some information on building. Knowledge of C++, ARM and x86 asm is required.

Added:
Here: http://rapidshare.com/files/394622580/qemu-0.9.1-28may.rar are QEMU sources. To build them you'll need SDL (http://rapidshare.com/files/392358441/SDL-1.2.14-28may.rar and http://rapidshare.com/files/392358604/SDL-java_part-28may.rar - native and java parts) and GCC 3.4.6 (http://rapidshare.com/files/392357170/android-gcc-346.rar). Newer GCC nor NDK cannot be used to build QEMU 0.9.1. This GCC archive already contains a prebuilt SDL library.
Compiler and my SDL port are discussed here: http://4pda.ru/forum/index.php?showtopic=172092
After compiling QEMU you'll need to copy i386-softmmu\qemu as SDLapp\libs\armeabi\libnativeapp.so in the java part of SDL project, then recompile java part.
GCC installation: first install CygWin, then extract archive to /android directory in CygWin, then add its 'bin' directory to CygWin path like this: export PATH=/android/bin:$PATH
To build projects just cd to directory with sources and "make". Java part of SDL is a normal Eclipse project.
 
Last edited by a moderator:

d3sm0nd

Senior Member
Dec 28, 2007
583
16
Sofia
Just tested the QEMU build on my Desire... WOW! Windows 95 is running really fast... I think you or someone else should continue with this project...

Just imagine getting network connection running... we could use vnc to connect to the machine from a remote computer! :D
 

dieselboy

Senior Member
Jan 18, 2008
540
20
Just tested the QEMU build on my Desire... WOW! Windows 95 is running really fast... I think you or someone else should continue with this project...

Just imagine getting network connection running... we could use vnc to connect to the machine from a remote computer! :D

Couldnt you just install vnc on the phone?
 

deprecate

Senior Member
Jan 3, 2009
608
8
honolulu
This is wonderful! My nexus runs 95 better than my old 386sx33 that I used to waste countless hours playing doom on a local bbs.

thanks!
 

abc27

Senior Member
Apr 16, 2010
783
137
Windows 95 runs smooth as butter after about 5 mins of use. Surprisingly fast!

It's brilliant!
 

thisisgil

Senior Member
Apr 9, 2010
65
7
I read a post similar to this somewhere (cannot even remember which forum!) and the guy had posted windows 95 and windows 98 images in russian and english.

Does anyone recall seeing this anywhere? I'd like to snag a pre-packaged windows 98 image to play with on my android :)
 

ArtaxXP

Senior Member
Aug 11, 2007
168
34
How to boot Windows 98 and Windows ME

:)

1. Download the tool Winimage
2. Download VMWare and create a clean Windows 98 or Me on a partition like 600MB

3. Open the file c.img from mamaich's folder in Winimage. Extract the whole image to a new folder and skip the files with error messages.

4. In Winimage click on Disk => Convert Hirtual Hard Disk image. Select the vhd from VMWare you created. Select: Convert to ima.

5. Rename the new image from .ima to .img.

6. Open the .img in Winimage. Drag and drop the folder "3" and all the files from the root folder from the extracted c.img to your image. don't overwrite files when he asks you, because i didn't try to find out which of the original files from mamaich are really needed.

7. Save the image, copy and overwrite the original c.img from mamaich.

8. Start libSDL and have fun with Win98 or ME. But you should know: Compared to Win95, it's really slow.

You can use other languages from Windows too now!

Chears!
 
Last edited:

alx5962

Senior Member
Jun 5, 2007
247
109
Lille
www.pixel-emotion.fr
Hi,
I'm running on Xperia X10i and I have a JNI error each time I launch your apps:

Code:
I/ActivityManager(  982): Start proc libSDL.jni for activity libSDL.jni/.libSDL: pid=9060 uid=10151 gids={1015, 3003}

E/dalvikvm( 9060): Could not find method android.view.MotionEvent.getPointerCount, referenced from method libSDL.jni.libSDL.onTouchEvent

W/dalvikvm( 9060): VFY: unable to resolve virtual method 48: Landroid/view/MotionEvent;.getPointerCount ()I

W/dalvikvm( 9060): VFY:  rejecting opcode 0x6e at 0x003f

W/dalvikvm( 9060): VFY:  rejected LlibSDL/jni/libSDL;.onTouchEvent (Landroid/view/MotionEvent;)Z

W/dalvikvm( 9060): Verifier rejected class LlibSDL/jni/libSDL;

W/dalvikvm( 9060): Class init failed in newInstance call (LlibSDL/jni/libSDL;)

W/dalvikvm( 9060): threadid=3: thread exiting with uncaught exception (group=0x2aadda10)

E/AndroidRuntime( 9060): Uncaught handler: thread main exiting due to uncaught exception

Maybe it's because Xperia is running on Android 1.6 ?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    Here: http://4pda.ru/forum/index.php?showtopic=172093 and here: http://4pda.ru/forum/index.php?showtopic=169480 I've posted my own ports of QEMU and BOCHS emulators for android. Pages are in russian.
    Both builds are tested on HTC Desire. May run on android 1.6+, but lots of RAM is a requirement. Need VGA+ screens, otherwise text would be unreadable.

    Direct links:
    http://rapidshare.com/files/393889645/BOCHS_arm_android.rar
    Mod Edit: No Windows images allowed

    Installation:
    1. install APK from archive
    2. copy SDL directory from archive to the root of storage card
    3. run. If it don't run - look into ADB log. And don't ask me for help.

    BOCHS is too slow to be useable, but very stable.
    QEMU is really fast - but buggy. SB16 emulation is working, but no MIDI music. FPU emulation is incorrect/incomplete, so it may cause some programs not to run or behave strangely. Network is not working. Keyboard/mouse emulation is far from perfect.
    Windows 9x would work in QEMU if you'll disable 32-bit disk drivers in it. This is a bug in Android (pread/pwrite functions are not working). Windows 9x speed is really fast.
    This QEMU build is based on 0.9.1, newer versions have bugs in ARM TCG and can't boot Windows or similar OS.

    I would not continue working on these 2 projects. If anyone is interested - I'll provide all sources and some information on building. Knowledge of C++, ARM and x86 asm is required.

    Added:
    Here: http://rapidshare.com/files/394622580/qemu-0.9.1-28may.rar are QEMU sources. To build them you'll need SDL (http://rapidshare.com/files/392358441/SDL-1.2.14-28may.rar and http://rapidshare.com/files/392358604/SDL-java_part-28may.rar - native and java parts) and GCC 3.4.6 (http://rapidshare.com/files/392357170/android-gcc-346.rar). Newer GCC nor NDK cannot be used to build QEMU 0.9.1. This GCC archive already contains a prebuilt SDL library.
    Compiler and my SDL port are discussed here: http://4pda.ru/forum/index.php?showtopic=172092
    After compiling QEMU you'll need to copy i386-softmmu\qemu as SDLapp\libs\armeabi\libnativeapp.so in the java part of SDL project, then recompile java part.
    GCC installation: first install CygWin, then extract archive to /android directory in CygWin, then add its 'bin' directory to CygWin path like this: export PATH=/android/bin:$PATH
    To build projects just cd to directory with sources and "make". Java part of SDL is a normal Eclipse project.
    2
    thank you mamaich for your excellent work. :)


    hope you guys are having as much fun as i am with this.

    built the android part no worries and have started to tweak the mouse emulation.
    i have a plan to add joystick and get the android side to present a pc keyboard
    rather than mapping android keyboard. the pc keyboard is planned to present like other virtual keyboards seen on linux tablets where they have opaque keys.

    i want an analogue joystick emulation.

    i am fairly happy with my changes to mouse emulation. it has a pad area and button areas on screen. it's still not as reliable as i would like.

    the joystick communication needs to be expanded. so the next thing i need to alter is the emulator library file. i have not been able to rebuild this successfully, yet.

    using Gentoo, Eclipse Indigo, Android device with 2.3.4
    investigating using gcc 4+ and qemu 0.15+

    works great with win 9x, not tried XP, most of the linuxs (low resource ones) i tried died in boot

    mostly i just wanted to say thanks to mamaich.
    2
    hi guys i have runing windows mobile 2003 on qemu on my droid .but is very slow have pics

    http://kvnxp.hostingsiteforfree.com/mypics/Doc1.htm
    2
    nedefen stay

    ok. so i'll have to prepare the 2 step by step guides.

    but in general let me tell you what i did for installing windows 95 not with alot of detail or pictures (that will have to wait until the detailed guide)

    NOTE PLEASE THAT WITH THIS WAY YOU DONT NEED TO DO ANYTHING WITH YOUR PC (opening iso or img files and puting installation files in them etc ) ITS ALL DONE THROUGH DOSBOX - the first reason why is because in a pc i didnt find a single program that could open an .img file ans insert it whatever i want in it and then save it correctly , i hear that in mac they can do it easily without the need of an extra program - and second reason is that i love good old dos and i wanted to see if i can do it all in it.. :)

    so i made 1 hdd c.img file using Bosch disk image creation tool . I used 504MB flat images (maximum dosbox can use) so that the cylinders are 1024 (dosbox has the well known BIOS bug that back in 90's didnt let the HDD partitions be biger than 504MB/ 1024 cylinders)

    ATTENTION if you have problem with making this img file because you have no idea of bosch or whatever tell me where i can upload it (504 mb) and i will gladly upload it.


    next i put the c.img in dosbox turbo folder in my android mobile phone. also in there i put the win95/98/millenium (whicever you want, as i said all install with no problems BUT at the last final boot all crash except win95 first edition and win 95 russian iso that goes around on the net made for mobiles) iso file

    also in dosbox folder i put 2 img files one boot disk of dos 6 (dos 6.22) and one of dos 5

    so i boot dosbox turbo , we first have to make a partition in c.img and format it so we mount it and then boot in dos 6 , so now i mount c.img (imgmount 2 c.img -size 512,63,16,1024 -t hdd -fs none) and then boot dos ( boot dos6.img)

    you will now a c: drive that is unreadable because it has no partition
    so from a:\ you write ( fdisk.exe ) you press 1 and then 1 you say yes to use all the available space and then it says it reboots

    now you have a partition in c.img but not formated

    you close dosbox and open it again

    i mount now the c.img ( imgmount d c.img) dont mind the d driveletter i gave it as c: is curently my sdcard (by default dosbox) and after i reboot in dos it sees C.img and automatically makes it c drive

    boot dos ( boot dos6.img)
    and write (format c: /s) the /s will make it bootable . pres yes and the format begins. c.img is now a brand bootable 504 MB hdd :)

    ATTENTION if you have problem with making the partition and formating it because you have no idea of dos or whatever tell me where i can upload it (504 mb) and i will gladly upload it.

    YOU NOW GO BACK TO THE PC , go in your mobile phones sdcard and find the c.img in dosbox folder. copy it to your desktop and rename it to d.img and then copy d.img back to the sd dosbox folder

    we do this so we can have a second hard disk drive from where we will install the windows

    SO now we have 2 .img files in dosbox folder in our mobile phone c.img and d.img they are both 504 MB each.

    run dosbox

    i mount the dos 5 bootdisk (imgmount a dos5.img)

    now i boot with dos 5 (boot dos5.img)
    then i copy xcopy.exe to c.img (copy cxcopy.exe c: )

    the reason i do this is because with xcopy i will copy the windows install files from the cd iso to the second d.img from which i will install the windows
    dosbox doesnt have this commant (xcopy) and i had to copy it from a dos 5 boot disk because dosbox is based on dos 5 not 6 so if i copied the file from dos 6 boot disk it wont work (returns wrong dos version)

    so lets go on, i close dos box and reopen it
    i mount c.img ( imgmount d c.img) d.img (imgmount e d.img ) and windows install cd iso ( imgmount g win95.iso -t cdrom ) if you dont put -t cdrom you will get an error that it doesnt know the details of the img file as the install file is an iso and doesnt have such information, so you have to mount it as a cd rom

    now you go to d: ( d: )
    and write ( xcopy g:\win95 e: /s ) the /s will copy all subfolders
    it will ask you if win95 is a folder , press yes
    now wait 5 mins as it copies the files

    after its finished we are almost done, now boot either in dos or c.img (remember its bootable?) so ( boot dos6.img)
    and then lets go to install windows , go to d: (d:) get in win 95 folder (win95) and write setup /nm /is ( the /is will pass scandisk , you dont need it and /nm will pass an error that come out that your cpu is too slow )

    so now go on with windows installation...

    ---------- Post added at 12:15 AM ---------- Previous post was at 12:06 AM ----------

    Are
    http://xdaforums.com/showpost.php?p=36721688&postcount=48
    http://xdaforums.com/showthread.php?p=36778472#post36778472 the two messages you are refering to ?

    Can you post a step by step tutorial, including the version number you used, the URL with dots (.) replaced by commas (,), and also the md5sum checksums of the file you downloaded, for following two achievements ?

    Achievement 1:

    Achievement 2:

    Why not try Qemu, using a standard vnc client to access the XP box ?

    i made a mistake . LIMBO is based on QEMU :)

    so , its very easy to use. just go to android market find it and install it.

    copy a windows cd rom iso file in your mobile in limbo folder (you will use it to install windows)

    run it , make a new profile where it says LOAD VM
    in user interface i found that SDL is better and faster
    use cpu core2duo (64 bit)
    ram 1024 (my mobile phone has 2GB so.. :) )
    cd rom , choose the iso you copied
    floppy drive , if your windows cd rom iso is not bootable use a dos boot disk here
    hard disk make a new one 500MB+
    boot from, well if your cdrom iso is bootable use cdrom, if not use floppy
    network use none
    vga use std
    sound none (you can always change this after your windows install)

    now start the virtual machine
    if you chose hdd then you will be in a dos prompt
    go to your cd drive and type setup

    ---------- Post added at 01:09 AM ---------- Previous post was at 12:15 AM ----------



    I run WIN XP in LIMBO. they are slow but workable in my note 2

    imageeeo.jpg

    imagejax.jpg
    1
    Link in the first post is dead. Have anybody mirror links on qemu sources from mamaich? Or may be anybody can upload it please.

    please check this out. the original files from mamaich.

    //github.com/noodlesrw/P3aPC/tree/master/armdev