It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
avatar
hoover1979: The Access Violation crash is the fact that JJ2 uses Direct Draw, which doesn't work on Windows versions later than XP.

I have a solution that worked for me with the original retail version of JJ2 (still had the files since the 90s) It should work with the GOG version too.

Download DGVoodoo2 Wrapper. I have successfully used this wrapper to get some Direct Draw, 3DFX Glide games and older D3D games to work on 64bit windows 7
http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2.html

extract the contents to a folder of your choosing.
open the folder.
open the subfolder titled 'MS".
select "DDraw.dll" and press "CTRL + C"
navigate to your JJ2 Folder and press "CTRL +V" (this will paste the .dll file into JJ2)
Go back to the DGVoodoo2 folder.
open DGVoodoo2.
Under the top section (titled "Config folder / Running instance") press the "Add" button.
Navigate to your JJ2 folder and hit "select folder" This will link DGVoodoo 2 wrapper to JJ2.
Hit "OK" at the bottom-left of DGVoodoo2 to close.
Run Jazz Jackrabbit 2.
Profit.

WARNING: Don't set the resolution to 800x600x16 as the game will crash with a resolution initialization error when you run it next. Run at 640x480x16 or lower.

Let me know if this works for the GOG version.
I'm sorry, none of that worked for me. I still crash at the Epic Megagames screen.
The game can crash for many reasons. It has almost no error handling, and does a lot of assumptions. Bad coding.

One reason for a crash might be - your PC is too fast.

Technical details:
The game does QueryPerformanceCounter() and then divides the result by a value take from QueryPerformanceFrequency(). The division is done in way which requires the result to be 32-bit. If QueryPerformanceCounter() returns a value which won't fit to 32-bits after division, the game will crash.

The easiest fix is to run the game inside VM - those are slower.

But you could also patch the assembly. What workarounded the issue for me was changing:

`
push offset Frequency ; lpFrequency
call ds:QueryPerformanceFrequency
mov ecx, dword ptr Frequency
cmp ecx, 1000
jb short loc_careful_path
`

to:

`
push offset Frequency ; lpFrequency
call ds:QueryPerformanceFrequency
mov ecx, dword ptr Frequency
cmp ecx, 10000000
jb short loc_careful_path
`

(so I basically disallowed using the code path with that division unless frequency exceeds 10M. Since on my PC it's 3.5M, it now works.

Hex patch of my specific executable:
```
# diff -u1 <(xxd -g1 Jazz2.exe) <(xxd -g1 Jazz2.exe.orig)
--- /dev/fd/63 2021-10-09 15:20:18.000000000 +0200
+++ /dev/fd/62 2021-10-09 15:20:18.000000000 +0200
@@ -35623,4 +35623,4 @@
0008b260: 50 ff 15 f8 50 4c 00 e8 14 c8 00 00 68 00 89 4f P...PL......h..O
-0008b270: 00 ff 15 fc 50 4c 00 8b 0d 00 89 4f 00 81 f9 80 ....PL.....O....
-0008b280: 96 98 00 72 0d a1 04 89 4f 00 85 c0 75 04 b3 01 ...r....O...u...
+0008b270: 00 ff 15 fc 50 4c 00 8b 0d 00 89 4f 00 81 f9 e8 ....PL.....O....
+0008b280: 03 00 00 72 0d a1 04 89 4f 00 85 c0 75 04 b3 01 ...r....O...u...
0008b290: eb 02 32 db 84 db 88 1d fc 88 4f 00 74 2c b8 d3 ..2.......O.t,..
```
Post edited October 09, 2021 by mefistotelis
avatar
Zasso: *Shortening long post*
avatar
mmodri: You are having the same issue I am with the original JJ2. Had the same small black box show up and could only terminate through task manager.

I have one of two solutions that work.
1st solution: Run the game with the -nosound switch set. This works for me but there will be no sound, so not an optimal solution.

2nd solution: Download Jazz Jackrabbit 2 installer or install it through galaxy (If using galaxy got to More>Settings and uncheck "Automatic updating")
Download the installer for christmas chronicles (don't install this through galaxy ever) and install it in the same directory as JJ2
Download the installer for JJ2+ from the goodies (again not in galaxy) and install that again in the same directory as the original installation.
Finally remove the file Xmas98.j2e or Xmas99.j2e [Just one of these!]

This way I got the game to work with sound and no crashes AND all the levels available in the episode select menu.

Hope this helps you as you seem to have the same issue.

EDIT: typos
Thank you so much, it works.
avatar
matteste: Thank you so much, it works.
Alternate solution: Instead of faffing around in a hex editor, give a source port a try. I can verify that beating the game is possible in this.
avatar
matteste: Thank you so much, it works.
avatar
dnovraD: Alternate solution: Instead of faffing around in a hex editor, give a source port a try. I can verify that beating the game is possible in this.
I am once again asking you to stop calling that fangame a source port.
avatar
Violet_CLM: I am once again asking you to stop calling that fangame a source port.
Native C++ reimplementation of Jazz Jackrabbit 2
It's a source port, get over your high horse.

Just because it has some practically invisible quibbles that the average person (myself included) won't notice, doesn't mean it isn't deserving of the description it is.

Native C++ reimplementation of Jazz Jackrabbit 2
avatar
dnovraD: It's a source port, get over your high horse.

Just because it has some practically invisible quibbles that the average person (myself included) won't notice, doesn't mean it isn't deserving of the description it is.
Violet is right though, "A source port is a software project based on the source code of a game engine". None of the game mechanics are based on the source, the developer even confirmed this. Also a lot of features such as multiplayer are missing.
Now 32bit games could be run on 64bits with WoW64(still experimental) but check in next stable Proton, Proton-GEngine it stable shape even on Heroic platform :) even with switch beta channel to JJ2+ mod :)

But if you check Jazz Manual there is section of Ambient Lightning, 4 JJ2 episodes story and also official page www.jazz2online.com states that JJ2 mods are full of bugs itself(and hacking Sega is not opinion, but disallowed regret).

And crucial thing to disable 5 intro videos with lightning terrorists should be made into game switch command on some GOG patch, not JJ+ mods and skipping with -safe into level, that is "menu options" missing "mini game" :) and therefore not completely full game, but i am not complaining except such lightning terror, kids protection calling on some PGA rating... media regulation...

For widescreen support there is need to turn off wayland on Heroic game settings, not stable yet and enable direct-draw in window mode when not full screen(ALT + arrows, ALT + Enter). Also setup hardware JJ2 video, not computed.

Then original JJ2 working on FHD widescreen(with 640x480) with gamepad(with some escaping intro harassment need - not supported on gamepad). May not work for you, hw differences on 4k or HDR could make it different for you.
Post edited October 26, 2025 by hifron