Jump to content

Frantic (2600)


Recommended Posts

EDIT: links to Latest Build and Robot Color Editor(August 29)


Back in April of 2011 I started documenting my latest project, an updated version of Berzerk that draws the rooms in a way similar to the arcade version. It's now far enough along that I decided to share it with the Homebrew forum.


With the new routines there's now 64,000 room variations (much nicer than the 4 rooms in the original home version). Even cooler, if you exit up, left, down, right (or any other circular pattern) you'll end up in the same room you started in!


Besides the new room routines, I've come up with a way to use the 2 sprites to draw all the robots, otto and the humanoid. There can be flicker at times, but it seems to work well. I also flicker the 2 missiles so I can have 4 shots (1 for the player and up to 3 for the robots).


I'm also using a custom version of DPC+ that supports digitized sample playback! You can hear the samples if you load this ROM onto a Harmony cartridge.


Hit RESET to start, SELECT to return to the main menu.


The routines are now at the point where you can run around and shoot the robots to score points. The robots don't move or shoot yet. If you run into something the room will restart.



Beginnings of the Main Menu






A Frenzy inspired option is also planned




Note: Stella 3.4 or 3.4.1 can play this ROM, but it won't recognize that it's a DPC+ game (it also won't play back the digitized audio). If you wish to try it out do the following:

  • open Frantic with Stella
  • hit TAB for the in-game-menu
  • select Game Properties
  • change Type from Auto-detect to DPC+ (Enhanced DPC)
  • Select the Display tab
  • change Use Phosphor to Yes
  • click OK
  • select Exit Menu
  • Reload the ROM (Control-R)

NOTE: the ROM below is an early build. Take the link at the top of this message to find the most recent version.




  • Like 11
Link to comment
Share on other sites

Note: Stella 3.4 or 3.4.1 can play this ROM, but it won't recognize that it's a DPC+ game (it also won't play back the digitized audio).

This is from the Stella source code for DPC+:

bool Cartridge::isProbablyDPCplus(const uInt8* image, uInt32 size)
 // DPC+ ARM code has 2 occurrences of the string DPC+
 uInt8 signature[] = { 0x44, 0x50, 0x43, 0x2B };  // DPC+
 return searchForBytes(image, size, signature, 4, 2);

So it looks like you need to add that signature to the ROM. Also, when was digitized sample playback added to the DPC+ scheme, and is anyone working on adding this to Stella?

Link to comment
Share on other sites

I only have opengl 1.4 :( cn't use the phosphor effects in stella. Double :( Looks really cool though.

The 'phosphor mode' that Spice is talking about is in the Display settings under Game Properties. It doesn't require OpenGL at all, so the version you're using doesn't matter. You may be referring to the TV filters, which do indeed require OpenGL 2.0 or above. But in any event, these TV filters will be removed from Stella for the next major release, and replaced with Blargg NTSC filtering, which doesn't require OpenGL 2.0.

Link to comment
Share on other sites

So it looks like you need to add that signature to the ROM. Also, when was digitized sample playback added to the DPC+ scheme, and is anyone working on adding this to Stella?

Yep - I've already done the changes for Stella, it now looks for 2 different signatures for DPC+ ROMs. If it sees the DA (digital audio) variation of the signature, it activates the sample playback support (basically one of the waveform buffers becomes 2K instead of 32 bytes). I'm waiting on a fix from batari before I can send in the changes, the latest DPC+DA.asm (the ARM driver for the cartridge) has the wrong alternate signature.


We started work on the DA variation back in May/June. While working on it we ran into some problems (crashes on the Atari but not Stella) that we finally tracked down a couple weeks ago to a bug in the ARM chip itself. The bug details are sparse though, in the Harmony development forum batari mentioned "The errata sheet on this bug says it's dependent on the code itself and its alignment." As such we don't know the exact cause of the crash, but by rearranging the C code (which I've been doing by cutting/pasting whole functions) it can be made to stop crashing.

  • Like 1
Link to comment
Share on other sites

I threw together the robot's color combinations and am not really keen on most of them. So, I decided to make a version that lets y'all experiment with them! The score is used to display the current color. First 2 digits are the Main body color, middle 2 digits are the Accent color while the last 2 digits are the Eye color.


  • Using the left Joystick
  • Right/Left = select digit to edit
  • Up/Down = change value of selected digit
  • Fire + Right/Left step thru the built-in 16 color combinations.


I'm looking for 32 combinations (16 for NTSC and 16 for PAL), so if you discover a combination you like, post the value (40941e in the screenshot). Make sure to specify if your combination is for NTSC or PAL.





Edited by SpiceWare
Link to comment
Share on other sites

Congratulations, you might have found the first reason for me to dig out my 4-switcher and the selection of boxes that allows me to hook it up to the TV so I can try my Harmony cart for the first time ;)


(Even without hearing the speech, it always amazes me when the 2600 version of an arcade game looks better than the original...)

Edited by raindog
Link to comment
Share on other sites

Tried it out in Stella. It looks amazing. I don't hear any sound at all though.

The only audio in place is the test speech routines, which the current release of Stella doesn't know how to play back.


I see a scrolling type of effect on the right room exit when I leave through the last room by its left room exit.

In Berzerk, when you enter a new room the doorway you entered by is closed off by a door that's colored differently than the room. Since I can't make it a different color, I implemented the door as an "energy field". The door prevents you from just moving back/forth between 2 rooms in order to get an easy arrangement of robots.


Link to comment
Share on other sites

Alas Frantic won't work on a Harmony cartridge plugged into a FlashBack 2 modded to use cartridges. Any ideas why? Or has someone else managed to get it to work? When I load it up, I get the spinning Harmony logo forever.


Other games work fine.

I tried two different downloads of the file above to make sure it wasn't something I did wrong.

Link to comment
Share on other sites

Sorry, sure don't. I do know that timing for DPC+ is very tight and when we were trying to figure out the source of the crashing (before finding out about the ARM bug) that some of our tests wouldn't run on my 7800, some would run but with distorted graphics, and others would run just fine.

Link to comment
Share on other sites

I'm very impressed how you consistently manage to squeeze more and more out of the 2600! :thumbsup:

Thanks, though I don't think this would have been possible back in the day as I'm using the 70 MHz ARM in the Harmony/Melody board for all of the game logic. Don't get the full 70 MHz though, it's really like I get a 14HMz ARM as the ARM cannot run game logic during the Display Kernel (200 scan lines out of the 262), or when other 6507 code must be running (3 scan lines for vertical blank, the 5-10 scan lines for positioning sprites/missiles, updating audio registers, etc).

Link to comment
Share on other sites

I noticed if you shoot the robots at eye level they don't blow up.

Yeah, I fixed that yesterday. My blog has the build with the fix in it.


Edit: NM, I had things backwards, the bullets go through your neck, not the robots.

Edited by BrianC
Link to comment
Share on other sites

This gives me hope that we might get a Centipede type of game one day where the mushrooms look like mushrooms and they actually show individual damage, like in the arcade version. Even if there would have to be fewer mushrooms, I'd still like to see it.

Link to comment
Share on other sites

Don't think it be possible to make them look like mushrooms, but individual damage could certainly be done using DPC+

I was talking about using a boatload of sprites to make the mushrooms. The flicker might be horrible, but I'd still like to see mushrooms that look like mushrooms and see that yummy individual damage.

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.

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.

  • Recently Browsing   0 members

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