Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

HX-DOS Extender and Java (DOSX)

posted by 4D5A9000, 13.07.2021, 11:13

I have been trying to run Minecraft on DOS since I knew HX. If you don't know, it's a 3D sandbox game, written with java, and requires JVM to run. I know the game would be extremely slow even if it eventually works, since no hardware acceleration is available on DOS. Anyway, Java 1.5.0_22 can be run natively on Windows 9x systems, as well as DOS with HX. Then, I added java's binary directory into %PATH%, downloaded lwjgl (one of the library it needs), copied opengl32.dll to my DOS VM from Windows 98. Then I started it with the following command line:

javaw -Djava.library.path=./natives -cp 0.jar;1.jar;2.jar;3.jar;4.jar net.minecraft.client.Minecraft

(I renamed the libraries to avoid 126 characters commandline restriction)
It crashed , and created a file named "hxstderr.log", contains following error message:


Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\JAVA\jdk1.5.0_22\JRE\BIN\AWT.DLL: MsgId: 0000000B
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1753)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1670)
        at java.lang.Runtime.loadLibrary0(Runtime.java:822)
        at java.lang.System.loadLibrary(System.java:993)
        at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:38)
        at sun.awt.DebugHelper.<clinit>(DebugHelper.java:29)
        at java.awt.Component.<clinit>(Component.java:547)
        at net.minecraft.client.Minecraft.a(SourceFile:2063)
        at net.minecraft.client.Minecraft.a(SourceFile:2056)
        at net.minecraft.client.Minecraft.main(SourceFile:2135)


I tried to resolve this problem myself, so I searched the "UnsatisfiedLinkError" on Internet. Unfortunately, no valuable infomation was found. This is usually caused by java can't find the specific library, but that's not my case - the file is RIGHT there! Also, I don't know what that "MsgId: 0000000B" means.
In case you don't know, AWT is a toolkit shipped with java, and it's used to handle windows. I also wrote a java progarm to test AWT:


package awttest;
import java.awt.Color;
import java.awt.Frame;

public class Test extends Frame{

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                Test fr = new Test("AWT test");
                fr.setSize(240,240);
                fr.setBackground(Color.yellow);
                fr.setVisible(true);

        }
        public Test(String str) {
                super(str);
        }

}


This program create a yellow window on Windows 98, but when I tried it on DOS, this error message appears:


java.lang.UnsatisfiedLinkError: C:\JAVA\jdk1.5.0_22\JRE\BIN\AWT.DLL: MsgId: 0000000B
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1753)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1670)
        at java.lang.Runtime.loadLibrary0(Runtime.java:822)
        at java.lang.System.loadLibrary(System.java:993)
        at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:38)
        at sun.awt.DebugHelper.<clinit>(DebugHelper.java:29)
        at java.awt.Component.<clinit>(Component.java:547)
Exception in thread "main"


Which is basically the same as the above one. How do you think this problem happened?

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 84 users online (0 registered, 84 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum