VOGONS


Java Port

Topic actions

Reply 60 of 203, by lil_stenly

User metadata
Rank Newbie
Rank
Newbie

Loading custom conf with custom name works perfectly with jar:// and i can even specify mount command in the conf file so in html file theres only one param line that looks for the conf... cool!
Everything works with warcraft 2 tides of darkness, it goes a little slower than the other titles and still installation and ingame passed without nothing unusual.

About tower of darkness cd, now installation of heretic and hexen works as it should, still game cannot load after the first screen, I think it is because of the release, it doesn't report any error messages in the console I can't see why hangs. I will try the other cd version to check if it will work.
Yesterday I've checked if I will be able to install tower of darkness collection in my dosbox following the same way as I do in jdosbox and dosbox runs that release without much of thinking.

Good to hear that your project taking over the web already!
Tomorrow I will get some time and will take some oldies with me.
I got jazz jackrabbit, hexen (that normal release not the collection), heretic and daggerfall and well I must find where I left most of them. 😀

Reply 61 of 203, by felixcatx

User metadata
Rank Newbie
Rank
Newbie

Hi Danoon!

I'm proud of you buddy! The website "classicdosgames.com" is already using Jdosbox! 😳

If you can finish the translation of the C + + to Java for Jdosbox, you will make a major contribution to play old games directly from a webserver. Your sense of purpose is showing that you will achieve it! 😉

I think even the surreal possibility of running Win311 or Win9x in a browser ... But I'm hoping that happens! 😁

Qapla´ (Success in Klingon!)

Felix

Reply 62 of 203, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

As long as that webpage is on your own computer and not being served to anyone else......

Keep illegal discussions out of this thread please. It's for discussion on the java port not for violating copyright.

How To Ask Questions The Smart Way
Make your games work offline

Reply 63 of 203, by felixcatx

User metadata
Rank Newbie
Rank
Newbie

Hi Dosfreak!

I did not say that this is no time to go on a website, I'm not encouraging anything illegal.
I have a valid license (I bought and paid for it) of MSdos5-6-622, Win311, Win9x, Win2K and WinXP. I can use them in my house and do this on my local network. I bought this software since 1990, and find interesting, "in my case " because it likes old things, see it work in a simple manner under the Xampp for example or even in the IIS5.1 XPpro. Something like a private museum of old programs ...

The mere mention of names of commercial products are just as reference to the purpose, therefore, it is not illegal and does not believe it's illegal "I use my old programs"in my "home" the way I want.
I understand your concern about this matter and I agree with the rules of Vogons. I hope it has been clear from my point of view.

Felix

Reply 64 of 203, by lil_stenly

User metadata
Rank Newbie
Rank
Newbie

Jazz Jackrabbit dos by epic megagames reports not enough extended memory and fails to run
As to heretic and heretic serpent rider (that separate cds release) it hangs in the same way. 😮
Tell me how you got it running, because I've tried almost everything. I didn't tried to use preinstalled and configured version from dosbox to jdosbox.

Reply 65 of 203, by lil_stenly

User metadata
Rank Newbie
Rank
Newbie

I'm such a noob... I had to reload the keyb.com because somehow my keyboard becomes non active after using setup.exe for making a config in hexen, heretic and dark citadel, now it works! 😒

Also that happens when i've tried to set frameskip 2 from already running jdosbox v19.

java.lang.NullPointerException
at java.lang.System.arraycopy(Native Method)
at jdos.hardware.VGA_draw$18.call(VGA_draw.java:683)
at jdos.hardware.Pic.PIC_RunQueue(Pic.java:117)
at jdos.Dosbox$1.call(Dosbox.java:59)
at jdos.Dosbox.DOSBOX_RunMachine(Dosbox.java:175)
at jdos.cpu.Callback.CALLBACK_RunRealInt(Callback.java:156)
at jdos.dos.Dos_devices$device_CON.Read(Dos_devices.java:146)
at jdos.dos.DOS_Device.Read(DOS_Device.java:16)
at jdos.dos.Dos_files.DOS_ReadFile(Dos_files.java:373)
at jdos.shell.Dos_shell.InputCommand(Dos_shell.java:260)
at jdos.shell.Dos_shell.Run(Dos_shell.java:94)
at jdos.shell.Shell$5.call(Shell.java:377)
at jdos.misc.setup.Config.StartUp(Config.java:94)
at jdos.gui.Main.main(Main.java:871)
at jdos.gui.MainFrame.main(MainFrame.java:215)

Reply 67 of 203, by danoon

User metadata
Rank Member
Rank
Member

Just a quick update. Here are the performance numbers on my machine with PCP Bench

Java normal 3.4
Java new core 7.9
Dosbox normal 13.0
Dosbox dynamic 78.7

My new core is doing better, it uses javassist to compile java source to classes at runtime. Tomb Raider if fairly playable with it. But other games, like Descent, every time you turn a corner it pauses while some new code gets compiled. And Duke Nukem will run the system out of memory with too many classes created. It might be possible to manage the classes better, and possibly even generate the byte code by hand instead of using javassist to cut down lag. This was a prototype test and it shows promise. By the way, if you are familiar with Dosbox's dynamic core, I modeled my approach after it. I didn't link code blocks yet, so there is still more room for performance increases.

Now I'm starting a new core that won't compile to java byte code, but instead acts more like an instruction cache. This has a few advantages: 1) it won't be as susceptible to lag when new code gets loaded 2) it won't run the system out of perm memory 3) it will run in an unsigned applet. I'm not sure what the performance will be like, hopefully it will only take a couple of days to get the first 256 instructions up so that I can test it with 16-bit real mode performance apps.

http://www.boxedwine.org/

Reply 68 of 203, by koun

User metadata
Rank Newbie
Rank
Newbie
danoon wrote:

...games, like Descent, every time you turn a corner it pauses while some new code gets compiled...

If all required input data for the dynamic compilation can be cloned quickly you could do the following:
When the matching compiled class (or a placeholder (see below)) is not found in the cache, add a placeholder into the cache, clone the input data and start compiling in a 2nd thread. (more than 1 compilation thread are possible on machines with more cores)
At the same time use normal core in the main thread to keep the game running (normal core performance instead of lag (unless cloning the data is very expensive))
When compilation is finished replace the placeholder in the cache with the result, so from that point on the cached compiled version can be used.

This should eliminate (or at least drastically reduce) compilation lag on dual core machines. Performance will still be slower at first, as normal core is used in the beginning, but that should be less distracting to players than lags.

Reply 70 of 203, by danoon

User metadata
Rank Member
Rank
Member

The new core, which isn't a byte code compiler, currently runs Doom about 25% faster than the java normal core (Doom is tough because it modifies its own code a runtime). It also runs PCP Bench about 75% faster. And descent runs well, without the pausing that my first byte compiler had. The core still has a few bugs and thus most apps don't work right. I also feel there is more room for performance improvements. Basically there is still a lot of work to do. I'll put up a demo of Tomb Raider, which runs too slow with the normal core, when I get it running fast and well enough. I'm not sure where the memory requirements will fall yet, if I can't fit it in a 64MB applet then that demo will require Java 1.6 which can increase an applet's memory.

http://www.boxedwine.org/

Reply 71 of 203, by danoon

User metadata
Rank Member
Rank
Member

I'm still working on my two new cores. Neither one is ready for release, though the caching core is close. Currently I'm working on writing unit tests to debug it and that will take a while. I just wanted to report a neat milestone where the recompiling core can now beat the Dosbox normal core.

Measurements for PCP Bench on a Core i7 920 running Windows 7 x64

32-bit jvm 6
Normal core 3.5
Caching core 6.9
Recompiling core 13.0

64-bit jvm 6
Normal core 4.6
Caching core 10.0
Recompiling core 20.6

Dosbox normal 13.0
Dosbox dynamic 78.7

Reply 73 of 203, by danoon

User metadata
Rank Member
Rank
Member

Here is a test of the new caching core. It still has some bugs. Currently Duke3d has some strange artifacts and Tomb Raider only works if you are fast enough with the esc key so the movies don't play. Many other games I have tested work just fine though.

Quake Demo
http://jdosbox.sourceforge.net/beta/quake.html

JDosbox jar if you want to test
http://jdosbox.sourceforge.net/beta/jdosbox19b1.jar

Some Quake performance numbers on a Core i7 920 running Windows 7 x64

java normal (x32)    4.2 fps
java normal (x64) 5.9 fps
java caching (x32) 9.0 fps
java caching (x64) 14.0 fps
dosbox normal 12.9 fps
dosbox dynamic 120.7 fps

Reply 74 of 203, by felixcatx

User metadata
Rank Newbie
Rank
Newbie

Hi Danoon!

I 'll test the quake when you get home, here at work I have an old dell latitude d530 I tried opening but it gave an error of the quake, but may have problems with internet connection...

In my house I have also i7, but I use XP -Pro.

Felix

Reply 75 of 203, by felixcatx

User metadata
Rank Newbie
Rank
Newbie

Hi Danoon!

The same error I get in my home pc, I think have error in the web page or same file name is wrong.

" imgmount c: jar://quake.img -size 512,63,2,520
Can´t create drive from file.
Drive C does not exist! "

Felix

Reply 76 of 203, by koun

User metadata
Rank Newbie
Rank
Newbie

The Quake applet works for me (XP-pro German 32 bit on 64 bit Hardware running Sun/Oracle Java 1.6.0_25 in Chrome 12 dev)

@felixcatx: Applet issues on different systems can be tricky. You could try clearing the browser and Java caches, using a different browser and (re)installing the latest version of Java 6. Also, you should check your firewall and network setting, if they might block or even modify jar or zip files. If neither of that helps please post your specs, like I did in this post.

Reply 77 of 203, by felixcatx

User metadata
Rank Newbie
Rank
Newbie

Hi Danoon,
I tested with IE8, I cleaned temporary files/cache. I use XP-Pro-32 in english, and Sun jre-6u16-windows-i586-s.exe

I will remove java and install last version and test again. (in my home)
I tested in my work and received a same error, but here i´m stay behind
of firewall with proxy in my lan.

I dont use chrome, but I have Firefox.

Tnks!

Felix

Reply 79 of 203, by koun

User metadata
Rank Newbie
Rank
Newbie

@felixcatx:
The content of the Java console might help. You can activate it in control panel / java / advanced / java console / show (translated from German Windows). It should then pop up automatically when the applet is loaded. When it does, immediately (as fast as you can) hit the "5" key (not "F5") to set the "trace level" to the maximum setting of 5 (the log should say "trace level set to 5...").
Some info on the applet start, including loading the jars, should be logged, as well as the log output of jDosBox. Please post the complete content of the console after the error occurred. Additionally a screenshot of the situation might also help.