Jump to content
IGNORED

Galaga Crashing All the Time


VectorGamer

Recommended Posts


for(aa=0;aa<256;aa++) {change_multicolor(aa,COLOR1+aa*;}

 

 

what does that row? If behind change_multicolor there are calls to VDP (and at least 255 here) . ... i'm almost sure a NMI will occurs while you are accessing the VDP. In addition the change_spattern you do before and after are accessing VDP as well. ( i had lot of issues with change_spattern in one of my project...).

Link to comment
Share on other sites

 

what does that row? If behind change_multicolor there are calls to VDP (and at least 255 here) . ... i'm almost sure a NMI will occurs while you are accessing the VDP. In addition the change_spattern you do before and after are accessing VDP as well. ( i had lot of issues with change_spattern in one of my project...).

 

I don't have my code here at the moment, but I'm pretty sure I have nmi disabled at that point.

Link to comment
Share on other sites

 

I don't have my code here at the moment, but I'm pretty sure I have nmi disabled at that point.

As i said here :

 

http://atariage.com/forums/topic/230599-galaga-crashing-all-the-time/?p=3178975

 

The disable nmi don't prevent the problem to occur. if you are accessing the VDP when the hardware Interrupt Occurs , you can have glitches.

 

And i think during the time of your loop , it could occurs.

Link to comment
Share on other sites

As i said here :

 

http://atariage.com/forums/topic/230599-galaga-crashing-all-the-time/?p=3178975

 

The disable nmi don't prevent the problem to occur. if you are accessing the VDP when the hardware Interrupt Occurs , you can have glitches.

 

And i think during the time of your loop , it could occurs.

 

Well, I'm writing the colour of the characters here, and I need to do that, so I'm not sure what other method is to be used. I've tried to do it with faster methods with no success, although even faster methods would still have the same problem you're describing. Anyway, I'm not seeing any issues in the initialization stage. What I was seeing before I put the update-sprites command in the nmi (and nowhere else) was that some of the characters would be written over by sprite data and possibly other garbage after playing for a few minutes or so.

Link to comment
Share on other sites

So, in terms of fewer or no nmi glitches, would you say putting commands like update_sprites, vram updates, etc. into the nmi be the best solution? I'm thinking I want to start doing that if it seems to be less problematic.

 

After playing some more, it looks like the problem remains for this game.

For previous games, I've put all the "action" within the nmi, without issue. It looks like some others are doing the opposite. Whichever works, I guess.

Link to comment
Share on other sites

After playing some more, it looks like the problem remains for this game.

For previous games, I've put all the "action" within the nmi, without issue. It looks like some others are doing the opposite. Whichever works, I guess.

So your problem hasn't really been solved? That's too bad... :(

Link to comment
Share on other sites

You can try slowing the color drawing down with this for loop with delay(1) in it. In the example, it'll change 32 colors a frame. This one method I would try.

 

b=0;

for(aa=0;aa<256;aa++) {

change_multicolor(aa,COLOR1+aa*8);

b++;

if(b==32){delay(1);b=0;}

}

 

Hopes that helps a bit. The vdp seems to accept 200-300 bytes a frame.

Edited by Kiwi
Link to comment
Share on other sites

So, in terms of fewer or no nmi glitches, would you say putting commands like update_sprites, vram updates, etc. into the nmi be the best solution?

 

For me yes, but you have to be sure that what you put in the nmi() doesn't overrun the nmi. all what you put here should take a little less than 16ms .

 

So just put here code that make vdp calls. Use the nmi method as a "rendering" method only , and put the logic of the game outside.

Link to comment
Share on other sites

You can try slowing the color drawing down with this for loop with delay(1) in it. In the example, it'll change 32 colors a frame. This one method I would try.

 

b=0;

for(aa=0;aa<256;aa++) {

change_multicolor(aa,COLOR1+aa*8);

b++;

if(b==32){delay(1);b=0;}

}

 

Hopes that helps a bit. The vdp seems to accept 200-300 bytes a frame.

 

It is exactly that i would have suggested.

Link to comment
Share on other sites

  • 1 year later...

Hi guys, We have a fix for anyone who as a problem with is Galaga.

 

You can PM me anytime to return it, please return the cart only.

I will change the pcb and label. Sega_Shark is the only one that has return it yet,

On the new label it will say "REV A"

 

The new rom was tested in a few system without issue. Thank you!

 

Hi Toby.

 

I have for the first time a chance to play the ColecoVision Galaga via SGM.

My version of ColecoVision Galaga do not work properly.

 

:(

 

post-9873-0-32219700-1465065356_thumb.jpg

Link to comment
Share on other sites

  • 1 month later...

 

Hi Toby.

 

One month has passed.

Have you changed the defective CV Galaga with a new one, and sent it to me. ?

 

:)

It is ready to go, I just want to make sure everything is ok with Canada Post.

They were talking about strike for a good week now. But I'm sure I'll be able to ship very soon.

 

Thank you!

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

It is ready to go, I just want to make sure everything is ok with Canada Post.

They were talking about strike for a good week now. But I'm sure I'll be able to ship very soon.

 

Thank you!

 

Hi Toby.

 

Two months has passed.

 

Is there any news about my "updated" ColecoVision Galaga and of course Canada Post. ?

Edited by ten-four
Link to comment
Share on other sites

 

Hi Toby.

 

Two months has passed.

 

Is there any news about my "updated" ColecoVision Galaga and of course Canada Post. ?

 

 

Hi Toby.

 

Two months has passed.

 

Is there any news about my "updated" ColecoVision Galaga and of course Canada Post. ?

Hi Ole,

Yes, shipped back about 2 weeks ago to:

9210 Aalborg Sø.

Denmark

 

You should see it soon.

Thank you

Edited by coleco_master
Link to comment
Share on other sites

  • 1 month later...

 

Hi Ole,

Yes, shipped back about 2 weeks ago to:

 

 

You should see it soon.

Thank you

 

Hi Toby.

3 months is now going and I never received the replacement ColecoVision Galaga from you.

First of all, I will give it few days more.

Second, I will take contact to Post offices in DK and CAN and simply "wanted" the package.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...