English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 19 August 2006, 13:28   #1
-Rob-
 
Posts: n/a
Why is it missing ?

..

Last edited by -Rob-; 23 June 2008 at 00:39.
 
Old 19 August 2006, 14:52   #2
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
I don't understand the question. Is this for a specifc game?
Galahad/FLT is offline  
Old 19 August 2006, 15:48   #3
-Rob-
 
Posts: n/a
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 ??
 
Old 19 August 2006, 16:50   #4
-Rob-
 
Posts: n/a
move.w #83c0,dff096 is the problem. if this removed in init code of trainer, then game works, but trainer does not..
 
Old 19 August 2006, 17:39   #5
thomas
Registered User
 
thomas's Avatar
 
Join Date: Jan 2002
Location: Germany
Posts: 6,985
Just a guess: what happens if you add move.w #03c0,dff096 to the exit code of the trainer ?
thomas is offline  
Old 19 August 2006, 17:42   #6
-Rob-
 
Posts: n/a
Quote:
Originally Posted by thomas
Just a guess: what happens if you add move.w #03c0,dff096 to the exit code of the trainer ?
Thanks for the idea, but it just hangs the miggy..
 
Old 19 August 2006, 17:47   #7
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
move.w #$87e0,$dff096

Find the ingame DMA setting that gets it going, and and put $e0 to the end of it.
Galahad/FLT is offline  
Old 19 August 2006, 18:06   #8
musashi5150
move.w #$4489,$dff07e
 
musashi5150's Avatar
 
Join Date: Sep 2005
Location: Norfolk, UK
Age: 42
Posts: 2,351
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
musashi5150 is offline  
Old 19 August 2006, 18:31   #9
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
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.
Galahad/FLT is offline  
Old 19 August 2006, 21:17   #10
-Rob-
 
Posts: n/a
Is there a way to save dff096 before intro mess with it and then restore it after the intro ?
 
Old 19 August 2006, 21:58   #11
musashi5150
move.w #$4489,$dff07e
 
musashi5150's Avatar
 
Join Date: Sep 2005
Location: Norfolk, UK
Age: 42
Posts: 2,351
Quote:
Originally Posted by -Rob-
Is there a way to save dff096 before intro mess with it and then restore it after the intro ?
Sure, you need to read DMACONR ($dff002). Just be sure to set the upper bit (set/clr) before you write it back to DMACON ($dff096) later. Most coders save DMACONR, INTENAR and CIAs in their startup code so they can restore it later.
musashi5150 is offline  
Old 20 August 2006, 11:47   #12
bobbybearing
Zone Friend
 
bobbybearing's Avatar
 
Join Date: Oct 2003
Location: France
Age: 51
Posts: 161
take a look at sources of cracktros (do you know flashtro.com ? )
you can found offsets of dma channel and how to save/set
bobbybearing is offline  
Old 20 August 2006, 12:11   #13
-Rob-
 
Posts: n/a
Quote:
Originally Posted by bobbybearing
take a look at sources of cracktros (do you know flashtro.com ? )
you can found offsets of dma channel and how to save/set
Hehe, yeah, allready tried it
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.
 
Old 20 August 2006, 12:44   #14
bobbybearing
Zone Friend
 
bobbybearing's Avatar
 
Join Date: Oct 2003
Location: France
Age: 51
Posts: 161
with what trainer ? you use the same boot ?
bobbybearing is offline  
Old 20 August 2006, 12:47   #15
-Rob-
 
Posts: n/a
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..
 
Old 20 August 2006, 13:07   #16
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
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.
Galahad/FLT is offline  
Old 20 August 2006, 13:37   #17
-Rob-
 
Posts: n/a
Quote:
Originally Posted by Galahad/FLT
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.
Would be nice. Source is in The Zone
 
Old 20 August 2006, 16:46   #18
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
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
Galahad/FLT is offline  
Old 20 August 2006, 17:01   #19
-Rob-
 
Posts: n/a
Quote:
Originally Posted by Galahad/FLT
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
Ok, sounds good. Would also be great if you could upload the fixed code to The Zone
 
Old 20 August 2006, 17:07   #20
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
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.
Galahad/FLT 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
Missing coverdisks jbeebus AMR contributions 4 01 February 2012 02:13
3 missing from GB Amiga Retroplay request.Music 5 09 March 2010 23:51
Missing Kickstart? Tempest 2084 project.WHDLoad 4 01 March 2010 15:21
What am I missing here? illy5603 support.WinUAE 4 12 August 2008 13:58
Am i missing something here ?!?! THX1138 MarketPlace 9 16 December 2003 13:45

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 14:14.

Top

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