Jump to content
IGNORED

Debugged Star Strike variant/running change?


dcasa

Recommended Posts

I forgot the two sealed ones....25

 

It's not like I did it on purpose. There's one or two in every lot...and I'm really bad at selling things. It's really common.

There's a reason it's so common. This is taken from the BSR website about the game:

 

"Inspired by the Death Star trench sequence from the movie Star Wars, Star Strike is actually a very simple game; most players quickly learn the timing of it to consistently win. But visually it was stunning, with a 3-D effect (accomplished by sequencing GRAM) not seen before in a home videogame. Heavily promoted, it was the top-selling Intellivision game of 1982, with nearly 800,000 units shipped that year."

 

Tack on additional sales from 1983 and beyond, and I'm quite sure there was over a million copies of Star Strike sold and in players hands.

Link to comment
Share on other sites

  • 1 month later...

Two things are happening today.

 

1. I'm looking for these flyers in my piles of crap games.

2. Sadly, I'm going to determine how many copies of Star Strike I own :woozy:

 

Well.....between Mattel, Sears, French Canadian, and Intellivision Inc I looked through 23 CIB copies of Star Strike and 7 loose manuals. No note in any of the copies :_( Just my luck, I suppose.

 

Well, I picked up yet another CIB Mattel Star Strike and amazingly it actually had the insert!.........but it's taped onto the box in the manual slot :woozy:

 

Star Strike Insert

Link to comment
Share on other sites

I dug through all my ROMs and eventually discovered a Star Strike B I had dumped a long while back. Somehow, it evaded my CRC-32 database. There are many differences between the two. [EDIT: Actually, there's only one meaningful difference and it's the difference I highlight below.]

 

I think I can confirm a running change. The one I named "B" is probably the one I dumped myself from the collection of carts we had growing up. Just now, I dumped a copy that I had purchased that arrived in the Canadian English / French dual language box.

 

The thing that gets me is that it's not obvious in either version how the controller number matters. Looking at the controller dispatches for disc, upper and lower action buttons in both, here's what I see:

 

Specifically:

  • In the DISC dispatch, R1 is immediately overwritten, unexamined. No way the controller number could influence anything.
  • In the upper-action dispatch, R1 is cleared to 0 almost immediately. (Indeed, that CLRR might be the "patch".)
  • In the lower-action dispatch, the first reference to R1 is a write that overwrites it. Again, the value is never examined.

Digging a little further, though, I think I see the problem. There's a pair of variables at locations $11F and $120 that record the EXEC's knowledge of what's pressed on each disc and keypad. The "A" version (which I believe came from Intellivision Lives! and also the Canadian cart I just dumped) only writes to these variables, writing the value $10. (Not sure what that accomplishes. I think it may just force a new disc event on the next scanning cycle; although this write occurs from the middle of the code—didn't chase down where.)

 

The "B" version does more with these variables, though, and what it does is questionable, and likely the source of the bug. Example:

        MVI     G_011F, R0                      ; 5741   get right controller state
        XOR     G_0120, R0                      ; 5743   merge with left controller state
        ANDI    #$0040, R0                      ; 5745   look at "is state stale" bit
        BNEQ    L_5766                          ; 5747   if it's stale on one but not the other, leave

Here, it's merging the left and right controller inputs and then jumping out if one of the controllers has a valid input and the other one doesn't—a weird criterion. This happens on the "disc up" processing path. But, this weird criterion applies to left and right controllers equally.

 

I suspect the bug isn't really with the left controller specifically, but rather that the game would behave oddly if you had inputs from both controllers.

 

Granted, I've only spent a few minutes on this, and I can't really afford to spend more time on it.

Edited by intvnut
Link to comment
Share on other sites

Ok, I spent a few more minutes: Looking through the rest of the ROM, that's really the only change. That snippet of code I gave above. All the other differences in the ROM appear to be due to addresses shifting slightly.

 

So, either the code I highlighted above was added, or was removed. Which is it? I wonder....

Link to comment
Share on other sites

I dug through all my ROMs and eventually discovered a Star Strike B I had dumped a long while back. Somehow, it evaded my CRC-32 database. There are many differences between the two.

 

I think I can confirm a running change. The one I named "B" is probably the one I dumped myself from the collection of carts we had growing up. Just now, I dumped a copy that I had purchased that arrived in the Canadian English / French dual language box.

 

Interesting report, makes me wish I had knowledge about assembly language... can you post the CRC-32 checksums of both ROMs?

Link to comment
Share on other sites

 

Interesting report, makes me wish I had knowledge about assembly language... can you post the CRC-32 checksums of both ROMs?

 

Sure: 72E11FCA for variant A, 94B624EF for variant B. This is for the "bin" format version. (It doesn't really need a .cfg because it uses the simplest memory map, $5000 - $5FFF.)

Link to comment
Share on other sites

 

Sure: 72E11FCA for variant A, 94B624EF for variant B. This is for the "bin" format version. (It doesn't really need a .cfg because it uses the simplest memory map, $5000 - $5FFF.)

 

I don't have the Intellivision Lives! CD... yet (still waiting for the updated version Keith has promised) but if a certain ROM file that is floating around the Internet came from that source, then I can confirm that variant A is the bugged version. Not sure about the other one, though, you are probably the only person who has dumped that version so far.

Link to comment
Share on other sites

I can confirm that variant A is the bugged version. Not sure about the other one, though, you are probably the only person who has dumped that version so far.

 

Interesting! I wonder how the fix works, then, given that it doesn't seem to have a bias toward either controller.

 

Does the bug arise when using only one hand controller, or when mixing inputs across both hand controllers? I wasn't even aware of the bug until today. (Or, if I had been aware, I've since forgotten.)

Link to comment
Share on other sites

Does the bug arise when using only one hand controller, or when mixing inputs across both hand controllers? I wasn't even aware of the bug until today. (Or, if I had been aware, I've since forgotten.)

It will happen with the left controller only, the right controller works just fine as the insert recommends, also, there is no need to use both controllers simultaneously to reproduce the issue.

Link to comment
Share on other sites

It will happen with the left controller only, the right controller works just fine as the insert recommends, also, there is no need to use both controllers simultaneously to reproduce the issue.

 

I'm going to have to guess then that there's some subtlety between when the code that forces the two words I mentioned to $10 runs vs. when the controller dispatches get fired that affects the left controller but not the right controller. I'm not an EXEC expert, so someone more motivated than me will have to dig into the code if we want to understand why the fix works.

 

That said, the original topic of the thread, whether the variant exists in the wild, is satisfied: There are corrected cartridges out there apparently. :-)

Link to comment
Share on other sites

That said, the original topic of the thread, whether the variant exists in the wild, is satisfied: There are corrected cartridges out there apparently. :-)

 

Yes, thank you for the thorough analysis... but we yet have to confirm the fix is actually working during gameplay to officially call it a corrected variant, don't we? ;-) I can try it if you PM me the "B" file, just for research purposes of course (I do own a bugged cart, though).

Link to comment
Share on other sites

Yeap, "B" variant is definitely bug free, mystery has been officially solved :-D. By the way, did you dump it from a Mattel red label cart or was it an Intellivision, Inc. white label version?

 

Assuming I dumped it from my Dad's collection, it was probably a Mattel release. We didn't get many if any Intellivision, Inc. releases. Unfortunately, that cartridge is over 1000 miles from here, so I couldn't tell you for sure.

Link to comment
Share on other sites

Yeap, "B" variant is definitely bug free, mystery has been officially solved :-D. By the way, did you dump it from a Mattel red label cart or was it an Intellivision, Inc. white label version?

 

Ok, I just dumped a white-label Intellivision Inc. version from my collection (went out to my own silo in the garage), and it's the A variant. So, I've dumped today both a red label Canadian cart and a white label Intellivision Inc. cart and both are "A" variants.

 

It's entirely possible that my dump came from one of the many donor shells that were used in my earlier releases. In that case, there's no telling what label it had.

Link to comment
Share on other sites

Assuming I dumped it from my Dad's collection, it was probably a Mattel release. We didn't get many if any Intellivision, Inc. releases. Unfortunately, that cartridge is over 1000 miles from here, so I couldn't tell you for sure.

 

Ok, no problem, however, if that was the case, then the odds of getting a "B" would be hard to predict, considering that my white label cart, supposedly released after the running change was ordered, still has the old bug, unless it's been relabeled, of course... so beware, this might be one of those hard to find goodies for collectors out there :P

 

Edit: just saw your other reply, well, regardless of the source, now we know the variant is somewhere in the wild :)

Edited by dcasa
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...