Why is it missing ?
..
|
I don't understand the question. Is this for a specifc game?
|
Not really, but it happens with ex. Super Space Invaders.
If the usually trainer code i run, then when game is loaded, the spaceship is invisable, its not there.. Might have something to do with sprites ?? |
move.w #83c0,dff096 is the problem. if this removed in init code of trainer, then game works, but trainer does not..:banghead
|
Just a guess: what happens if you add move.w #03c0,dff096 to the exit code of the trainer ?
|
Quote:
|
move.w #$87e0,$dff096
Find the ingame DMA setting that gets it going, and and put $e0 to the end of it. |
I don't have a HW manual handy to look up that DMA value, but if it's a sprite problem it could be to do with not waiting for the vertical blank. If sprite DMA is in use, but is turned off during the frame, the DMA will jam up which can cause problems sometimes.... like when you get a solid red 'bar' down the screen from the mouse pointer.
It might not be this, but it's worth remembering :) |
Its probably badly coded, and the game doesn't setup the sprite DMA at all, but the fact that Kickstart does, is why it ordinarily works.
1943 was just as stupid. Lots of blitter setup and initialisation wasn't done, but because Kickstart 1.2/1.3 set it up properly, it would work, but on AGA machines, it was different, hence the screen blits not working properly. |
Is there a way to save dff096 before intro mess with it and then restore it after the intro ?
|
Quote:
|
take a look at sources of cracktros (do you know flashtro.com ? :D )
you can found offsets of dma channel and how to save/set |
Quote:
Just can't get it working. Also got the problem with Twinworld. The little dude is totally missing from game :( I'am pretty clueless ATM. |
with what trainer ? you use the same boot ?
|
The usually trainer code used on Flashtro stuff.
At first I thought i screwd up the game with the trainer code, but problem contines if just the menu is run.. |
There is a problem with your closedown and restore in your trainer menu then, if I can see the source, or I'll view it in Action Replay, either way, should be an easy fix.
|
Quote:
|
Right...
Firstly, I've only had a quick scan, but so far you have the following problems.
At the start of your Init routine you are doing: MOVE.W #$4000,$DFF09A MOVE.W $DFF01C,INTENA MOVE.W $DFF002,DMACRAP MOVE.W $DFF010,ADKCON MOVE.W #%7fff,$DFF096 MOVE.W #%7fff,$DFF09A MOVE.W #%7fff,$dff09c MOVE.W #%83c0,$dff096 ; MOVE.W #%c030,$DFF09A MOVE.L 4.W,A6 ; INTERRUPT VOM SYSTEM ANFORDERN. JSR -132(A6) ; FORBID () I've ditched the binary references because they are confusing and converted them to hexidecimal. move.w #$4000,$dff09a is unecessary Forbid multitasking should come before you halt the interrupts your move.w #$83c0,$dff096 should come after you have installed the copperlist not before. I would change that value to $87e0 instead. Before I install the copperlist, I always to a vertical blank wait first. Afterwards I also clr.w $dff088 Your permit multitasking should come at the end of your restore routine, not at the start of it. (jsr -138(a6) ) In your closedown routine, you have reinstalled the system copperlist before your kill interrupts code (move.w #$7fff,$dff0x0 etc) There is no vertical blank wait before you reinstall the copperlist In your closedown routine you have incorrectly used ori.w #$c000,d0 to restore $dff09a, it should be $8000 in all cases. As an extra, in your preserve routine at the start, store the contents of $dff010 for restoration later in $dff09e, again ori.w #$8000 to the value before moving. Thats what I can spot so far, give that a whirl and see if that improves things |
Quote:
|
I haven't chucked it through an assembler yet, thats just what I could spot.
Its missing a raw file for me to assemble so if you chuck across all files it needs, I can assemble and check. |
All times are GMT +2. The time now is 20:32. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.