Jump to content


Berzerk Diagonal Shots Revisited

berzerk diagonal shots hack

6 replies to this topic

#1 JohnE OFFLINE  


    Combat Commando

  • 2 posts

Posted Sat Mar 16, 2019 5:25 PM

Hi all,
This is my first post on AtariAge. I created a version of Berzerk with diagonal shots. This has been done previously by Dennis Debro. This version is based on his disassembly, and I borrowed and learned a lot from his hack.
Debro's hack, as I understand it, works by extending the robots' "missile box," which has to do with how close the player must be to the robot before the robot fires, both in the horizontal and vertical directions. Extending this makes it possible for the player to be close enough in both directions, even from a good distance away. In that case, a diagonal shot can be fired. (Debro also added code to combine the two missile directions.)
This code is quite interesting and educational, but the actual game play is still disappointing. The robots very rarely fire diagonal shots. In addition, increasing the missile box makes the robots dumber, so that they often fire wild shots that are not even close to the player. Since only one robot can fire at a time, this ends up making the game easier. I wanted to make the game harder!
Specifically, I wanted to stick to the original algorithm and only fire diagonal shots when normal shots would not be fired. However, this would seem to require a separate routine to compute diagonal shots that doesn't rely on the original missile box, and there is not enough space on the 4K ROM for such a large amount of code. So my solution was to add such a routine to a second bank, making an 8K ROM. Even then, it was hard to squeeze in enough code just for entering and leaving this second bank, but I finally managed. Debro's marking of unnecessary bytes in the original ROM was very helpful for this.
Anyway, here is the modified assembly and binary. The robots do frequently fire diagonal shots, and the game is harder! I'll let you decide how much harder. This hack only includes the diagonal shots. It does not include the other changes that Debro made in his hack. Debro's original disassembly and hack can both be found at: http://www.bjars.com...assemblies.html

Attached Files

  • DEBRO , Arenafoot , Emehr and 3 others like this

#2 neotokeo2001 OFFLINE  


    River Patroller

  • 3,871 posts
  • Location:Palm Beach

Posted Sun Mar 17, 2019 7:16 AM

Played several games and the diagonal shots work great! I like the harder game play. Did not see any issues.

Sharing with the Atari 2600 Homebrew group on FaceBook.


  • Arenafoot and Mononym like this

#3 Mononym OFFLINE  


    Combat Commando

  • 4 posts

Posted Sun Mar 17, 2019 7:33 AM

thank you JohnE, never been so happy to die in that game before!

#4 Zoyx OFFLINE  



  • 1,583 posts
  • Prominent Internet User
  • Location:Honolulu, HI

Posted Sun Mar 17, 2019 4:39 PM

Thanks for adding this. Always thought that the original Berzerk was too easy.

#5 Zoyx OFFLINE  



  • 1,583 posts
  • Prominent Internet User
  • Location:Honolulu, HI

Posted Sun Mar 17, 2019 5:03 PM

Is there a way to add more playfields? I think there is only 4. Doubling that would be awesome.
Also might want to add a watermark so people know that this is a modded version.

#6 JohnE OFFLINE  


    Combat Commando

  • Topic Starter
  • 2 posts

Posted Sun Mar 17, 2019 8:09 PM

So glad to hear that people like the game! Thank you all for testing it.


Zoyx, I haven't yet looked into adding more playfields. Also, I'm not clear on what you mean by "watermark." What did you have in mind?



#7 doctorclu OFFLINE  


    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • 7,795 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Tue Mar 26, 2019 11:48 AM

Not bad.  Adds a little more challenge to the game, though I have yet to be hit by a diagonal shot.

Also tagged with one or more of these keywords: berzerk, diagonal shots, hack

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users