Jump to content
IGNORED

Berzerk Reset Bug?


Yart

Recommended Posts

Hi.

 

I just had a four hour play of Berzerk on Game 03 (Evil Otto Invincible, New Life every 1000 points) and at around 423k-427k points (I didn't get a good look) the game stopped on me and just decided to go like as if the game had just been reset. My score was replaced by that stupid "03" that asks what game type I want to play.

 

I hear this happens mostly around 100k-200k. Did I get severely lucky? What is the record? Like, how far has anyone been able to make it before this happened? And is this in every version of the 2600 game?

 

Man that's annoying... I wanted to try for 500k. :/

Edited by Yart
Link to comment
Share on other sites

Berzerk will kill the current game when the ram location used for the life counter has the high bit set (i.e. 128 lives). This is because the program uses "negative" status to indicate when the game is inactive. The program lines that increase the number of lives do not prevent this...so you need to keep track yourself (or potentially kill your game...as you did).

  • Like 1
Link to comment
Share on other sites

Berzerk will kill the current game when the ram location used for the life counter has the high bit set (i.e. 128 lives). This is because the program uses "negative" status to indicate when the game is inactive.

 

I remember discovering this bug back in 1982 or 1983; I was playing along and suddenly the game ended :o

 

After some experimentation a friend and I discovered what caused it. It's interesting to read the more technicial explanation as to why that happened.

Link to comment
Share on other sites

Ah yea.

 

I didn't have many lives so it wasn't that. (At 300k I actually ran out of lives but got an extra life just as my death animation ended)

 

Yea it's interesting. I wonder if there's a way to combat it. Does the counter go down too during the death animation and screen transition? If so, the only way to combat it I would guess is to never stop moving the stick around. That could get annoying for an extended period game. Haha!

 

Oh well. I still had a lot of fun playing it. After it happened I never wanted to play Berzerk again... but I find myself re-addicted the next day. :P

 

What is the record, like the highest anyone ever got before the time out by the way?

Link to comment
Share on other sites

Yeah...I didn't notice that one. The way it works is that the "attract mode", or color-shift timer, gets incremented when the stick is not being moved when the frame counter has rolled from $FF to zero...so the game timeout has a pretty good chance of happening if you aren't moving around to combat it. The attract mode screensaver will also kill a game.

Link to comment
Share on other sites

Yeah...I didn't notice that one. The way it works is that the "attract mode", or color-shift timer, gets incremented when the stick is not being moved when the frame counter has rolled from $FF to zero...so the game timeout has a pretty good chance of happening if you aren't moving around to combat it. The attract mode screensaver will also kill a game.

 

Seems like a rather unusall and weird error. Did the programer just make a mistake when programing the game? Can the bug be fixed with a hack?

Link to comment
Share on other sites

Whether the lives problem was a mistake is debatable. Programmers at the time sometimes did not anticipate that players would be playing for that long (such as Demon Attack's wave 84 freeze). This could be fixed by trimming off the high bit of lives when updating.

       inc    $DA                     ;5 increase # lives

;added lines
      asl    $DA                     ;5 trim off high bit
      lsr    $DA                     ;5 restore the rest

;original lines continue...
LFA4F:
      rts                            ;6

 

 

 

 

The attract mode problem is definately a glitch, tho. The timeout was in place to kill a game when no movement occurs for about 18 minutes...but the timer is not reset when movement DOES occur (which was common practice at the time).

 

LF363:
      sta    $8E                     ;3 update movement frame

;added line...
      sta    $87                     ;3 also store to attract

;original code continues...
LF365:

 

 

This costs a little romspace, but not a problem since the original game has a bit of unused space at the end of the binary.

Edited by Nukey Shay
Link to comment
Share on other sites

I fixed them in the 2-player hack (which uses different solutions to allow a maximum of 255 lives). Reveng updated the hack to include VOX speech.

 

http://www.atariage.com/forums/topic/108063-2600-berzerk-more-new-mazes

 

But that may soon be obsolete once Spiceware's Frantic is completed.

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