VOGONS


Reply 40 of 46, by dr.zeissler

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:

An A2000 is a Commodore Amiga 2000.
An A2286/8 is a bridgeboard for the Amiga 2000, which contains a 286 CPU at 8 MHz for PC compatibility.
The Q700 is an Apple MacIntosh Quadra 700 I assume, given that he speaks of NuBus cards. NuBus was the expansion port on old Macs.

100% right scali.

Thx for the ccaves_test, I will test it soon.

CPU: PII 133-333 MOBO: SNI-D981 RAM: 512- FDD: Dualfloppy 3,5"HD/5,25"HD - 3,5"HD - 5,25"DD ISA-Catweasel HDD: 2x40GB - DVD
ISA(3): Audician32-S2Dreamblaster - GusACE PCI(3): Monster3D- Intel NW AGP(1): 3dfx V3-3000

Reply 41 of 46, by Cga.8086

User metadata
Rank Member
Rank
Member
K1n9_Duk3 wrote:
I've finished the patches for keropi. See attached files. […]
Show full quote

I've finished the patches for keropi. See attached files.

Please note that these patches only work for one specific version of each game. That's version 1.4 (Apogee release) for Keen 4 and 5, and version 1.5 for Keen 6.

First of all, download CKPatch v0.11.3 here.

Download my patch scripts, then extract my patch scripts (PATCH?.TXT and CK?.BAT) into the game's directory. Also copy the corresponding CK?PATCH.EXE into that directory. To play the game, simply run the CK?.BAT file.

I'm not sure what happens when you try to run these patches on the wrong game version, so make sure you're using the correct version of the game when trying to run these patches. If I understand the syntax correctly, the patch scripts should only modify the code of the correct EXE, so if you try to run it on version 1.0, it should not change anything, but I haven't actually tested this.

By the way, I added the original assembly code as comments in the patch file, so you can see what's going on in the screen update code. If you know a bit about programming in assembly, you should be able to modify the patch for better results on your system.

Edit: If CKPatch shows an "unrecognized version" error, try unpacking the executable with UNP or UNLZEXE.

thanks, my card is a radeon 7000 PCI, and i really like it because the pc has no agp port
you think the patch will work? or it is only for fixing matrox issues

Reply 42 of 46, by K1n9_Duk3

User metadata
Rank Member
Rank
Member

If your system has issues with the scrolling in Keen 4-6, why don't you just try the patch (or the Keen 4 demo on which the patch is based) and see for yourself?

There's no way for me to tell if the patch will fix the issue on your system. I don't even know if your system has any problems running these games to begin with.

Reply 43 of 46, by orbifant

User metadata
Rank Newbie
Rank
Newbie
K1n9_Duk3 wrote:

I've finished the patches for keropi. See attached files.

Can also confirm, this works for my Matrox G450 PCI as well. Thank you very much, this was most annoying and disappointing to discover after I finished my system. Glad this tearing is gone now.

I wonder if you @K1n9_Duk3 could provide another patch for Keen 6 V1.4 or if you could give a hint on how you got the offset address for VW_SetScreen?

Reply 44 of 46, by K1n9_Duk3

User metadata
Rank Member
Rank
Member

Here's a modified patch script for Keen 6 (EGA) v1.4:

%ext ck6
%version 1.4

#replace the v1.4 delay code with the screen update code from the Keen 4 v1.0 demo
%patch $1E713
$55 # push bp
$8B $EC # mov bp, sp
$BA $DA $03 # mov dx, 3DAh
$FA # cli
# l1:
$EC # in al, dx
$A8 $01 # test al, 1
$74 $FB # jz l1
# l2:
$EC # in al, dx
$A8 $01 # test al, 1
$75 $FB # jnz l2
$8B $4E $06 # mov cx, [bp+arg_start]
$BA $D4 $03 # mov dx, 3D4h
$B0 $0C # mov al, 0Ch
$EE # out dx, al
$42 # inc dx
$8A $C5 # mov al, ch
$EE # out dx, al
$4A # dec dx
$B0 $0D # mov al, 0Dh
$EE # out dx, al
$8A $C1 # mov al, cl
$42 # inc dx
$EE # out dx, al
$C7 $06 $44 $EA $00 $00 # mov intcount, 0
# l3:
$8B $16 $44 $EA # mov dx, intcount
$83 $FA $09 # cmp dx, 9
$73 $19 # jnb l4
$FB # sti
$90 # nop
$90 # nop
$90 # nop
$90 # nop
$90 # nop
$90 # nop
$90 # nop
$90 # nop
$90 # nop
$FA # cli
$90 # nop
$90 # nop
$90 # nop
$90 # nop
$90 # nop
$90 # nop
$BA $DA $03 # mov dx, 3DAh
$EC # in al, dx
$A8 $08 # test al, 8
$74 $DE # jz l3
# l4:
$BA $C0 $03 # mov dx, 3C0h
$B0 $33 # mov al, 33h
$EE # out dx, al
Show last 12 lines
	$EB $00			#	jmp	$+2
$8A $46 $08 # mov al, [bp+arg_pan]
$EE # out dx, al
$FB # sti
$5D # pop bp
$CB # retf

#replace the start of VW_SetScreen() with a jump into the old code (see above)
%patch $1E794
$E9 $7C $FF

%end

Reply 45 of 46, by orbifant

User metadata
Rank Newbie
Rank
Newbie
K1n9_Duk3 wrote:
Here's a modified patch script for Keen 6 (EGA) v1.4: […]
Show full quote

Here's a modified patch script for Keen 6 (EGA) v1.4:

%ext ck6
...

Thank you very much. Works fine as expected 😀