CPCWiki forum

General Category => Emulators => Topic started by: Devilmarkus on 13:26, 26 February 13

Title: JavaGX4000
Post by: Devilmarkus on 13:26, 26 February 13
Today I decided to make my GX4000 emulator public.
You can access it here: https://sourceforge.net/projects/javagx4000/ (https://sourceforge.net/projects/javagx4000/)

Sources can be found in the SVN repository.
Title: Re: JavaGX4000
Post by: Devilmarkus on 01:33, 27 February 13
Need more info about sprite effects (by changing CRTC registers)

Reg. 9 seems to let the sprites repeat?!? (Always when is not 7 or only when is 0???)

Example:
http://java.cpc-live.com/csd/index.php?cpr=Plus.zip&dsk=lumiere.zip&boot=cpcpower (http://java.cpc-live.com/csd/index.php?cpr=Plus.zip&dsk=lumiere.zip&boot=cpcpower)

What is with X-repeats? Are they possible, too?
Title: Re: JavaGX4000
Post by: robcfg on 09:55, 27 February 13
Btw, when I try to run JavaGX4000.jar, I get the following error message:




---------------------------
Java Virtual Machine Launcher
---------------------------
Could not find the main class: JCPC.ui.GX4000. Program will exit.
---------------------------



Is there anything else I need to get it running?
Title: Re: JavaGX4000
Post by: arnoldemu on 10:21, 27 February 13
the sprite stuff is all driven off crtc internal values. they use the internal Raster counter, horizontal character counter, vertical line counter to and compare that against the sprite coords.

So for example if you set CRTC R9 to 31, sprite lines will repeat 4 times.

The sprite will also repeat if you use rupture/splitting, and position them in the appropiate places.

repeating horizontally/vertically is also possible by re-programming the x coordinate.

Title: Re: JavaGX4000
Post by: mr_lou on 12:17, 27 February 13
I also get an error message:


Exception in thread "main" java.lang.UnsupportedClassVersionError: JCPC/ui/GX4000 : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: JCPC.ui.GX4000. Program will exit.

Title: Re: JavaGX4000
Post by: Devilmarkus on 12:45, 27 February 13
I guess you can't see the applet, because your java version is outdated.

Compiled it backwards compatible to java version 1.5 (was 1.7)

Should run now.

About the sprites:
I have no proper clue yet, in which cases reg. 9 affects them, but it seems I'm on the right way:
(Screen looks fu**ed up because bad CRTC emulation / interrupt timings)
Title: Re: JavaGX4000
Post by: robcfg on 13:11, 27 February 13
It works indeed! Thanks Markus!  8)
Title: Re: JavaGX4000
Post by: Devilmarkus on 15:26, 27 February 13
Got a quiz question for all emu coders:
[attach=2]

How can I fix that? (MODE appears wrong in upper screen, and YES, I set MODE and ROM properly (I hope))
Powered by SMFPacks Menu Editor Mod