English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 26 October 2008, 14:16   #1
Asman
68k
 
Asman's Avatar
 
Join Date: Sep 2005
Location: Somewhere
Posts: 828
WHDLoad: OSEmu, KickEmu and other

Hi,

I have some questions / problems / remarks about KickEmu ( I think about 1.3 kickstart ). Maybe someone can help me to understand some things.

1) KickEmu and int PORTS:
Why If I add PORTS int then game stops when dos function Delay is called ? So to solve that problem I simply patch every call of _LVODelay. But I still don't understand why game stops ( it's happen for every game which use KickEmu + Dos Delay + int PORTS )

2) KickEmu and exec SuperState, UserState functions.
I read in autodocs that UserState has a bug in kick1.3 ( version 33 and 34 ). So I always patched ( mean replace to NOP ) SuperState and UserState.

3) KickEmu versus OSEmu:
It's amazing but TheLostVikings works nice with OSEmu but with KickEmu games stop after some time ( and I can't detect why, because game freeze ). Ofcoz SuperState, UserState are removed.
I still trying to find the reason ...

4) KickEmu + Dos LoadSeg function versus resload_Relocate.
I love resload_Relocate especially with LoadFileDecrunch. It's works nice for onefile games which OS is not used. But I have problem when KickEmu is used and game allocate memory for something ( load files ), then exist
risk that OS allocate game area memory. There is solution but only works only for games with one hunk: allocate mem and load there game and relocate. But what about other games ( with more hunks ) ?.
I think that would be nice if loadSeg from KickEmu will support crunched files, is this is possible ?

Any comments, ideas are welcome.
Asman is offline  
Old 26 October 2008, 15:17   #2
Wepl
Moderator
 
Wepl's Avatar
 
Join Date: Nov 2001
Location: Germany
Posts: 866
Hi Asman,
Quote:
Originally Posted by Asman View Post
I have some questions / problems / remarks about KickEmu ( I think about 1.3 kickstart ). Maybe someone can help me to understand some things.

1) KickEmu and int PORTS:
Why If I add PORTS int then game stops when dos function Delay is called ? So to solve that problem I simply patch every call of _LVODelay. But I still don't understand why game stops ( it's happen for every game which use KickEmu + Dos Delay + int PORTS )
What are you doing? If you are poking the int vector without calling the original int handler you will disable the cia timers for the os. Probably therfore dos.Delay will never return because it waits for timers.
Quote:
Originally Posted by Asman View Post
2) KickEmu and exec SuperState, UserState functions.
I read in autodocs that UserState has a bug in kick1.3 ( version 33 and 34 ). So I always patched ( mean replace to NOP ) SuperState and UserState.
to my knowledge this is fixed via SetPatch, SetPatch v1.38 is integrated into kick13.s, you can set option SETPATCH in your slave source to activate it, with that any attention on exec.Superstate/Userstate should be obsolete
Quote:
Originally Posted by Asman View Post
3) KickEmu versus OSEmu:
It's amazing but TheLostVikings works nice with OSEmu but with KickEmu games stop after some time ( and I can't detect why, because game freeze ). Ofcoz SuperState, UserState are removed.
I still trying to find the reason ...
Just continue searching
try giving more memory, use nocache, debug it...
Quote:
Originally Posted by Asman View Post
4) KickEmu + Dos LoadSeg function versus resload_Relocate.
I love resload_Relocate especially with LoadFileDecrunch. It's works nice for onefile games which OS is not used. But I have problem when KickEmu is used and game allocate memory for something ( load files ), then exist
risk that OS allocate game area memory. There is solution but only works only for games with one hunk: allocate mem and load there game and relocate. But what about other games ( with more hunks ) ?.
If you use kickemu I would advise dos.LoadSeg. But you're correct, you cannot crunch the exe anymore then.
You can still use resload_Relocate and afterwards use exec.AllocAbs to allocate the memory used be your relocated exe.
Or you allocate the memory before using exec.AllocMem. For that you to know the max size of the file and the relocated exe. The relocated one can be smaller or bigger then the file (bss hunks). But you will waste some memory this way.
Quote:
Originally Posted by Asman View Post
I think that would be nice if loadSeg from KickEmu will support crunched files, is this is possible?
No. Also think on overlayed executables.
Wepl is offline  
Old 26 October 2008, 17:24   #3
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
As Bert said, try increasing memory if the game just halts, or have you correctly cracked it?

Are you running HRTMON?
Galahad/FLT is offline  
Old 27 October 2008, 08:37   #4
Asman
68k
 
Asman's Avatar
 
Join Date: Sep 2005
Location: Somewhere
Posts: 828
Hi Wepl and Galahad,

Thanks for answers. Finally I found that silly bug. That was a PORTS int. If I removed PORTS int then The Lost Vikings works nice, but of course keyboard is not fixed now. I did some tests and game don't work if I add PORTS int and do jmp to old $68 value ( I know its dirty trick modified jmp $0, but I did that only for tests ).
Furthermore I tried to add so simply PORTS int ( only jmp to old $68 ), but game still
freeze.

I have another question: how in proper way add PORTS int in KickEmu ? ( I know that I can use exec.AddIntServer, but maybe there is another way ).

I think that something is not fixed well or some hidden bugs waits for discover. So I will continue my searching ( with HRTMON + Resource ).

Regards
Asman is offline  
Old 28 October 2008, 21:24   #5
Wepl
Moderator
 
Wepl's Avatar
 
Join Date: Nov 2001
Location: Germany
Posts: 866
the problem with ports ints is maybe that the cia.icr (interrupt control request) is cleared after read.

therefore you cannot hang in the interrupts routine (via $68) and read cia.icr because afterwards the original interrupt routine will see no interrupts are set

what do you want to fix with keyboard?
Wepl is offline  
Old 30 October 2008, 12:01   #6
Asman
68k
 
Asman's Avatar
 
Join Date: Sep 2005
Location: Somewhere
Posts: 828
Thanks for answer, I will made some additional tests in weekend.
I think that is something wrong with music player in The Lost Vikings, but I'm not sure about that.

Quote:
Originally Posted by Wepl View Post
what do you want to fix with keyboard?
The Lost Vikings use strange keyboard routine ( its not fixed properly in OSEmu slave you can check that ) and I want to fix that and I need PORTS int.

Regards
Asman is offline  
Old 07 November 2008, 10:25   #7
Asman
68k
 
Asman's Avatar
 
Join Date: Sep 2005
Location: Somewhere
Posts: 828
At least I found the reason, but is still strange for me. The Lost Vikings works nice under KickEmu with 1MB CHIP ( not work with 0.5 CHIP and 0.5 FAST ) and with PORTS int. But If I remember correctly this game works on A500 with 0.5 CHIP and 0.5 SLOW. Anyway now I will fix this game correctly

Regards
Asman is offline  
Old 30 January 2010, 11:20   #8
Nikolaj_sofus
Registered User
 
Join Date: Oct 2009
Location: Copenhagen / Denmark
Age: 44
Posts: 259
Send a message via MSN to Nikolaj_sofus
I stumbled over this thread where OSemu is mentioned.
I figured from reading various threads that OSEmu is needed for some WHDLoad games.

Where do i actually get hold on this?
Nikolaj_sofus is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
FS-UAE - Unregistered WHDLOAD : WHDLOAD.KEY - FIX Neil79 support.FS-UAE 14 29 January 2013 22:34
help me executing an whdload-installed game without whdload Gaula92 support.Games 7 26 January 2011 21:44
whdload instructions? [where to put WHDLoad games for GameBase Amiga v1.4] luke_70it project.MAGE 8 28 October 2009 06:36
WHDload issues (Complete WHDload nub, apologies in advance) dire_wolf project.WHDLoad 31 09 October 2009 20:41
osemu.400 killergorilla support.Games 9 18 December 2007 12:33

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 16:09.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.22068 seconds with 13 queries