VOGONS


Java Port

Topic actions

Reply 20 of 203, by felixcatx

User metadata
Rank Newbie
Rank
Newbie

Hi Danoon,

I tested successfully hd formats up to 64 megs. Above that could not run, I think I'm putting the wrong information on the size, for example:
64 megs "imgmount c http://server/64.zip-size 512,63,16,1310" It works perfect!

But, 128 megs, "c imgmount http://server/128.zip 512,63,16,2620-size" does not work ...

The games that did not work were: Prince 1 and 2, California Games 1 and 2. Wolf3d, Spear of Destiny and Blake Stone work, but the music is accelerated.

Blood does not load because the space is insufficient local HD 64 megs (the game takes up 60 megabytes and needs 10 free)

The programs and xtree xtgold3 give an error but I do not understand why. Here is the log of JE.

Regards.

Xtree.exe

Startup time: 10032ms
Parsing command line: xtree
Execute xtree.EXE 0
java.lang.NullPointerException
at

jdos.dos.drives.Drive_fat.FindFirst(Drive_fat.java:834)
at jdos.dos.Dos_files.DOS_FindFirst(Dos_files.java:338)
at

jdos.dos.Dos_files.DOS_FCBFindFirst(Dos_files.java:951)
at jdos.dos.Dos$1.call(Dos.java:302)
at jdos.Dosbox$1.call(Dosbox.java:63)
at jdos.Dosbox.DOSBOX_RunMachine(Dosbox.java:175)
at

jdos.cpu.Callback.CALLBACK_RunRealInt(Callback.java:156)
at jdos.shell.Dos_shell.Execute(Dos_shell.java:732)
at jdos.shell.Dos_shell.DoCommand(Dos_shell.java:610)
at jdos.shell.Dos_shell.ParseLine(Dos_shell.java:170)
at jdos.shell.Dos_shell.Run(Dos_shell.java:95)
at jdos.shell.Shell$4.call(Shell.java:368)
at jdos.misc.setup.Config.StartUp(Config.java:81)
at jdos.gui.Main.main(Main.java:890)
at jdos.gui.MainApplet.run(MainApplet.java:53)
at java.lang.Thread.run(Unknown Source)

Xtgold 3.0

Startup time: 4016ms
Parsing command line: cd xtgold
Parsing command line: xtgold
Execute xtgold.COM 0
Execute Z:\COMMAND.COM 0
Parsing command line: C:\XTGOLD\XTG.EXE
Execute C:\XTGOLD\XTG.EXE 0
Special file open command 20 file C:\XTGOLD\XTGOLD.CFG
DOS:Set File Attributes for C:\XTGOLD\XTGOLD.TMP not supported
java.lang.NullPointerException
at

jdos.dos.drives.Drive_fat.FindFirst(Drive_fat.java:834)
at jdos.dos.Dos_files.DOS_FindFirst(Dos_files.java:338)
at

jdos.dos.Dos_files.DOS_FCBFindFirst(Dos_files.java:951)
at jdos.dos.Dos$1.call(Dos.java:302)
at jdos.Dosbox$1.call(Dosbox.java:63)
at jdos.Dosbox.DOSBOX_RunMachine(Dosbox.java:175)
at

jdos.cpu.Callback.CALLBACK_RunRealInt(Callback.java:156)
at jdos.shell.Dos_shell.Execute(Dos_shell.java:732)
at jdos.shell.Dos_shell.DoCommand(Dos_shell.java:610)
at jdos.shell.Dos_shell.ParseLine(Dos_shell.java:170)
at jdos.shell.Dos_shell.Run(Dos_shell.java:62)
at jdos.misc.Program$1.call(Program.java:73)
at jdos.Dosbox$1.call(Dosbox.java:63)
at jdos.Dosbox.DOSBOX_RunMachine(Dosbox.java:175)
at

jdos.cpu.Callback.CALLBACK_RunRealInt(Callback.java:156)
at jdos.shell.Dos_shell.Execute(Dos_shell.java:732)
at jdos.shell.Dos_shell.DoCommand(Dos_shell.java:610)
at jdos.shell.Dos_shell.ParseLine(Dos_shell.java:170)
at jdos.shell.Dos_shell.Run(Dos_shell.java:95)
at jdos.shell.Shell$4.call(Shell.java:368)
at jdos.misc.setup.Config.StartUp(Config.java:81)
at jdos.gui.Main.main(Main.java:890)
at jdos.gui.MainApplet.run(MainApplet.java:53)
at java.lang.Thread.run(Unknown Source)

Felix

Reply 21 of 203, by danoon

User metadata
Rank Member
Rank
Member

UPDATE BUILD 13

* Added MIDI support
* Improved performance by 20%
* Update sf.net Doom demo to use MIDI music

felixcatx: I addressed the NullPointerException from your log, but I don't have xtree so I couldn't test it.

I did test Prince of Persia 1 which worked fine for me.

I know about the funky music from SB16. For now just use MIDI if you can.

I added support for larger image files in applets. It works by putting the image file in the class path instead of loading it into RAM. It's faster if the jar isn't compressed, but with the addition of a 256kb cache, even compressed doom wasn't too bad (which means the compressed wad/zip is inside the jar/zip).

IMPORTANT, the image file must be in a subdirectory call "jdos" in the game jar.

 <APPLET CODE="jdos.gui.MainApplet" archive='jdosbox.jar,doom.jar' WIDTH=640 HEIGHT=400>
<param name="param1" value="imgmount e jar://doom.img -size 512,16,2,512"">
<param name="param2" value="e:">
<param name="param3" value="doom">
</APPLET>

Reply 22 of 203, by felixcatx

User metadata
Rank Newbie
Rank
Newbie

Ha ha ha 😁 , Danoon you are the master of magicians!

You enable music´s mid in doom running under the browser! I had seen ports of doom flash and java PalmOs and never will it! 😳

I saw the last update and now is getting very good Dude!

I'll continue testing games and software applications in jdosbox and if you can download the xtree.exe you can get it here.

http://www.filewatcher.com/b/ftp/ftp.csic.es/ … s/util.0.0.html

I'll step out now with my wife and we'll see the last day of carnival and at night I'll test some more the new version build13.

The Jdosbox is getting very good! I think the family of DOSBox ports are full now. ('ll only miss a port made in flash.)

I sent you a PM with my email.

Felix

Reply 23 of 203, by felixcatx

User metadata
Rank Newbie
Rank
Newbie

I was using a version earlier than ever that this was testing you ... 😵

Now I can to load 128 megs of HD (option 2) and loaded OK! But I can not write the disk image with an internal application or save the phases of the game. I tried using the "copy con test.txt" and does not create the file in ASCII "test.txt" or create a batch file in command line. (This option to mount internal hd using the "imgmount c jar://name.img -size ...")

In option "c imgmount http://server/name.zip-size... is OK, the command "copy con" works.

In version build13, I can boot from an image of HD with the systemOS itself? (Or using floppy disk), for example, I have an image of 64 Mbytes with bootable Dos6 installed and where I can manage or modify what is loaded into memory? (Such as EMM386 or himem.sys?)

Can I do this in DOSBox original, and this leaves me with freedom to manage the system and how to manage my memory and re-use some image of HD that I already have.

Qapla

Felix

Reply 24 of 203, by danoon

User metadata
Rank Member
Rank
Member

Yeah, the method of putting the img in a jar in the classpath makes it read-only. If I continue to go down this path there are things I can do to make save games work, like have a write buffer in memory. But I'm still thinking about options.

As koun mentioned, if the applets is signed, it will have the same privileges as a desktop app. Using this method will have several advantages. 1) Games could be stored as a zip instead of images on a server and unzipped on the client machine 2) Save games will be permanent instead of session based. 3) Mouse capture can work so Doom would be able to use a mouse 4) Full screen mode becomes an option. - The only down side to this method is that the user will be prompted with a dialog asking them if they trust the the applet.

Jake2, the Quake java port uses the signed applet approach.

I have not tried booting from an image yet so I doubt it will work. My ultimate goal is to get as close as possible with the C++ version of Dosbox so I imagine this will eventually be supported.

I've started researching Joystick, CDRom and OpenGL support. It looks like these things will requires native bindings, perhaps using LWJGL. I don't like the idea of native code, but if the goal is to play games in an applet, then this library will help.

Reply 25 of 203, by felixcatx

User metadata
Rank Newbie
Rank
Newbie

Ok, even getting into the HD in read-only, but I can play ... 🤣

I did not know about Jake2, I'll take a look found it interesting too!

The options are that you are imagining and ambitious, but if you got 'translate" DOSBox native C++ to java pro will certainly make a significant contribution to the player of DOS-based games, because with the current pcs you can play under the browser, center and a collection of these games, as simple web pages.

The xtree and xtgold3 and now work, but the mode of the browser files are strange ... He just reads the root directory... 😵

I'll continue testing! When you complete any significant improvement, the public soon ". jar", for me to test the improvements Dude! 😁

hehehe 😁

Qapla '

Felix

Reply 26 of 203, by koun

User metadata
Rank Newbie
Rank
Newbie

I don't think the dialog to accept the certificate is really a problem.

Jake2 is indeed another impressive project. BTW, there is a GWT based port running Quake2 in JavaScript using WebGL.

To Java CDs are just another file system. Also, I know of no lib allowing better access to the hardware of the drive. But I don't think it will be absolutely necessary for the Java port.

For Joystick support there are some libs, but only view of those projects are still active, e.g. http://boat.lachsfeld.at/ffjoystick4java/ (haven't test it)

I read that JOGL is best for porting OpenGL code to Java.

The libs should cover all features and avoid the need for writing JNI code yourself (Which I personally never liked doing).

I wonder if, in the long run, it will be possible, using code from openGlide or the new WIP vodoo emulation for Dosbox, to run Glide games in pure Java (+JOGL).

Reply 27 of 203, by danoon

User metadata
Rank Member
Rank
Member

I got the mdk performance app running. On my machine c++ Dosbox gets about 220. The app says a pentium 90 should get 44. Java Dosbox gets 10. I don't think java should be 22x slower than c++ so there must be room for improvement.

2ziov8x.jpg

Reply 28 of 203, by felixcatx

User metadata
Rank Newbie
Rank
Newbie

Hi Danoon!

What program is that you are testing PC performance ? where I find it to download and test?

You told me that it would make a script for me or anyone who wants to compile the sources using the JDK ( for windows ), you can make one ? Because you 're always up front with improved versions and in my tests sometimes give errors , or jdosbox closes abruptly and I 'm disappointed ...

You are accepting suggestions ? If you can make one version with the "signed applet" , you said it would improve the loading of images from HD (not being limited to 64 megs , and is faster to load ) and I want test some big games, even with ISO 's . (like Blood , Shadow Wars , Redneck Rampage , Terminator Skynet )

Go for it!

Qapla´!

Felix

Reply 29 of 203, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

try running PCPbench and not a windows benchmark - should give you more interesting results. Also it depends much on the dynrec core, I guess.

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 30 of 203, by kolano

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:

try running PCPbench and not a windows benchmark - should give you more interesting results. Also it depends much on the dynrec core, I guess.

The MDK performance app is a DOS app. PERF_DOS.exe in the root of the MDK disc.

Last edited by kolano on 2011-03-11, 20:51. Edited 1 time in total.

Reply 31 of 203, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

He he, I only ever ran the windows version of this app on Windows. So I assumed... Sorry 😉

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 32 of 203, by felixcatx

User metadata
Rank Newbie
Rank
Newbie

Hey Danoon!

My friend, please publish ".jar" version of the revision "246" with suport of sign applets. I will test again my HD´s images with large sizes. Go for it Dude!

Qapla´

Felix

Reply 33 of 203, by danoon

User metadata
Rank Member
Rank
Member

0.74.14

  • * Fixed SB16 sound, now music sounds right
    * Experimental support for full screen, enable by passing in -fullscreen with the command line
    * Fixed some key mappings, now [ ] ` and ~ will work
    * Added a download parameter to applets so that if they are signed they can download and upzip files.
    * Searching for weird paths won't crash, like Mech Warrior 2 and @:\
    * Fixed dos temp file function. Now Descent works
    * Fixed video frame buffer support

See the HowTo-Applets.txt file to learn about particulars of the new download parameter and app signing.

Notable games that don't work but I would like to fix

  • * Master of Orion 2 : Hangs while creating map
    * Tomb Raider: Exits after selecting new game
    * Smacker/Bink movies are scrambled

Death Rally appears to fail, but dies the same way on the C++ 0.74 Dosbox as well. I haven't had time to investigate if it works on SVN.

* Dominus Thanks for the heads up on pcp bench. I tried it and got 2.7. So basically on my Core i7 920 java dosbox acts like a 486 33MHz

* felixcatx It might be a while before I spend time creating an ant file. There are just too many other things with a higher priority. The screen shot was from a performance test app included with the game MDK. Sadly MDK probably won't run unless performance can be increased 4x or we wait 3-4 years for faster computers 😊

Reply 34 of 203, by felixcatx

User metadata
Rank Newbie
Rank
Newbie

Do not worry about me, I'm willing to test the latest changes you make before posting a release. I just tried to compile the modified sources (individually), but dont works well ... 🤐

I will wait you. Keep doing your job that is very good! I'll stay here, testing once in a while asking questions and giving some opinions. 😁

I searched my old CDs and found the MDK, I found the program, and will test performance. "PERF_DOS"

The "Jdosbox"'re doing great! Thanks for your feedback and hope that you can finish translating all the code. 😎

Qapla´

Felix

Reply 35 of 203, by felixcatx

User metadata
Rank Newbie
Rank
Newbie

Hi dannon!

I created a webpage with a HD of 150 Mbytes, and it worked well, I have signed. jar (without signing it does not load) and the respective folder ".jdosbox" was created in my "username" profile in Documents and Settings folder. (under WinXP Pro)
Just one question: Where does jdosbox creates the "dosbox-0.74.conf"? In this option with webpage + sign-applet.

Felix

Reply 36 of 203, by danoon

User metadata
Rank Member
Rank
Member

0.74.15
* Improved performance
* Fixed CWDE instruction. Now Duke3D, Tomb Raider, and MOO2 work
* Fixed video bug affecting Empire
* Mouse now works in applets
* Fixed Smacker videos

PC Player Bench went from 2.7 to 3.2

Important things still missing
* Mouse Capture
* Keymapper
* IPX
* Serial

I see that jake2 handles mouse captures just fine with their applets. Maybe its time to explore lwjgl or jogl.

felixcatx: conf file management in applets is on my list to do in the near future. Currently applets just use the default values. I would like to see an applet being able to use a conf file from the server, from a jar or as a local file in the download folder.

Reply 37 of 203, by lil_stenly

User metadata
Rank Newbie
Rank
Newbie

Astounding work! Well hope you to make loading of custom configs possible!
By that time I've tested one of the games that I have.
Wolf 1994 Floppy version by Sanctuary Woods
It works pretty well, I didn't expect to be playable, still you make a miracle with that port probably!
Screen flickers a little through the menus till moving the mouse, there also have missing sprites of the lightnings, instead of blue, they appears to be white.
P.S. I should link a video capture.

Java Plug-in 1.6.0_24
Using JRE version 1.6.0_24-b07 Java HotSpot(TM) Client VM

Special file open command 80 file Z:\AUTOEXEC.BAT
Parsing command line: imgmount e jar://wolf.ima -size 512,63,16,44
Execute imgmount.COM 0
Using partition 0 on drive; skipping 63 sectors
Mounted FAT volume is FAT16 with 11040 clusters
Special file open command 80 file Z:\AUTOEXEC.BAT
Parsing command line: E:
Special file open command 80 file Z:\AUTOEXEC.BAT
Parsing command line: wolf
Execute wolf.EXE 0
Special file open command 20 file E:\WOLF.EXE
Special file open command 20 file E:\WOLF.EXE
DOS:Multiplex Unhandled call 160A
DOS:Multiplex Unhandled call 1600
DOS:Multiplex Unhandled call 4680
DOS:0x37:Call for not supported switchchar
Execute Z:\COMMAND.COM 0
Parsing command line: POWER.EXE > C:POWERFL
SHELL:Redirect output to C:POWERFL
Set sensitivity used with 25 25 (50)
Special file open command 80 file Z:\AUTOEXEC.BAT

Reply 39 of 203, by danoon

User metadata
Rank Member
Rank
Member

0.74.16
* Mouse capture now works, use dbl right click to exit.
* Windows 3.11 now works
* Source will now compile with Java 1.4.
* CD audio now works, include mp3 support for bin/cue
* About a 10% performance improvement over build 15

lil_stenly: Thanks for the report on Wolf, I'll look into it.

An applet must be signed in order for mouse capture to work. Unsigned applets will still work the same as before.

Windows 3.11 doesn't install properly yet, use dosbox to install. But jdosbox seems to run it just fine.