I've got some questions
the configuration I am using:
- I'm developing on Win-Vista using IIS as web server, the downloaded JPCapplication.jar works fine when tested as website.
- The 'productive' site is hosted on a UNIX-server running apache, the downloaded JPCapplication.jar works fine when tested as website but not for MACs (?)
0. is there somewhere documentation? I could not find anything, sorry
describing the parameters?
boot: 'fda' I assume this says boot from floppy
fda: 'demos/floppy.zip', content of floppy is in ..
hda: 'demos/dosgames.zip', content of hard disk is in ..
ss: 'demos/BOOT-dosgames-keen.zip', what is this for?
1. how do I generate a .IMG file, from a directory? do you propose a software? I tried WinIMage but the Images produced by WinImage seem not to be readable by JPC
2. did you although test JPC with MAC (OS-X or older) as client? I encounter an error when viewing the JPC-page and when the Java-engine is starting up - with Firefox and Safari on a MAC? Is this a problem of my installation (could be) or a systematic problem with Apple
3. devices: with the example-disk 'dosgames.img' I'll get the boot disk (hda = C: and fda = a: can there be a additional drive (D:? for a CD Image (ISO))? can I set a device read/write or readonly?
4. can I 'mount' a directory of the webservers file system where JPC is installed as device (or use samba to do this)
5. Can I add a network interface to the virtual PC? to use samba as example?
I think this emulation has a lot of potential, because It would allow to run compiled programs on a website offering the visitor full advantage of compiled software independent of his OS or his hardware. and isolating the program from his environment therefore protecting both (the server and the client). I would like to develop some application and to offer them on the web.
My idea is to create a web-environment where the user identifies himself by a login and then get 'his' disk mounted (with his data) and booted thus creating a webbased 'personal computer' accessible from all over the world (and even with a mobile)
I thought to use freeDos and GEM as GUI and VBDOS 1.0 to write the applications (while waiting that you can implement i486 emulation to allow for a graphical GUI later). with windows 3.0 I could use VB1 or VB4 (8bit) to create programs with a graphical interface.
Is there a plan to continue development to although allow for more modern operating systems?
Thanks a lot for your answers!
The command line options are available at:
the ss stands for snapshot. You can save the hardware state of JPC at any time and reload it later (not this does not save the hard disks, so they need to be copied as well), many of the demos on the website use this to skip the boot process.
1. The disk images JPC currently reads are raw disk images (plain binary copies of a real drive)
You can create a blank .img file using the JPCApplication - click on the Disks/create disk menu option, type a file name, and then type a file size. You can then mount this image as a hard drive, and format it using fdisk (from a dos floppy) or a similar linux tool.
If you want to copy your files into it, you can mount your directory as a fat32 drive using the command option (for example)
Warning: don't try and mount a directory with too much in it - it will run out of memory
2. We have tested JPC on MAC's. The problem is that Apple are notoriously slow at updating their java, the applet in particular requires java 1.6 (to get enough memory, among other things)
3. refer to the command line options listed above. you can currently have 2 floppies (-fda, -fdb), 2 hard drives (-hda, -hdb) and a cdrom (-cdrom)
4. This is not currently implemented, but we hope to do this in the future. However, in the applet you can currently have remote hard drives that are simply disk images on a web server. (look at the html for our linux demos) these are read only drives (the writes are cached locally in the applet)
5. JPC does implement an ethernet card, which we have used to play network doom between two JPCs on different machines. However we haven't implemented a router yet which would allow it to connect directly to the internet.
Current development is focusing on compatibility - we want to boot windows XP and Ubuntu Linux.
Actually, I've just added a menu option in the JPCApplication to create a new disk image (fat32) from a host directory. Just select the target image file, then select the folder you want to include in the image. It may take a minute or two to finish. This is in the new Jar available as version 2.4.1.
that is really a fast answer. I just downloaded the updated version and I will try it out immediatly. When you are interested I could start to write some kind of 'how to' while I'm working on it.
That would be excellent if you'd like to write a "Tutorial". A new user like yourself is the perfect person to write such a thing, modulo me answering questions. Thank you very much!
What command must i type in var parameters to change cpu freq?
There isn't currently a command line parameter to change the CPU frequency. You can however change it by modifying the org/jpc/emulator/processor/Processor.java file and changing the static variable IPS to your desired value of 'instructions per second' and recompiling.
sorry,how can i modify it,or can i do it with debugger?
You have to download the source for JPC, modify the file using a text editor, then rebuild JPC (in linux run "make application" from the src directory).
can't find any sh files included,only java files.May be smth wrong with downloaded sourse?i have already redownloaded it 3 times,please help.
You will need to check out the source from the git repository.
Thanks for FAQ,compilation was successful,but,when i trying to launch it in cmd i got an error:"Exception in thread "main" java.lang.NoSuchMethodError: main",so what's wrong?
What command did you launch it with?
Sorry,that was my fault,all works well,but it still to slow in running any gui os,so,can i make the cpu speed about 400-600 mhz?
Ah, you're trying to speed it up? Sadly that is not as simple as increasing a variable's value. I assumed you were trying to slow it down for old dos games. There's not much you can do I'm afraid - I'm still working on speeding it up.
May be level cache speed up and make processor pentium 4 instead of pentium 2?My max cpu speed in jpc is 141mhz(slax told me so).