Jump to content
jacobus

Fort Apocalypse - the Navatron

Recommended Posts

I’ve been trying to figure out how Steve Hales coded the Navatron in Fort Apocalypse. This is the little radar like display at the top of the screen the shows an extended view of the surrounding playfield. The Navatron consists of 3 rows by 12 columns of Antic mode 4 characters. It appears to give the player a preview of approximately six times the size of the screen (120 characters by 32)

 

I first thought that it was a dynamic representation of the playfield – playfield data being compressed and displayed (perhaps 1 character on the actual PF being represented by a bit pair in the Navatron) – the fact that you can see the drones moving back and forth seems to bear this out. However, to do that requires an awful lot of operations – for a single refresh, 3840 characters would have to be read from the playfield, translated to the appropriate coloured bit and written to the character set representing the Navatron. If you look closely, you notice the Navatron jumps during horizonal movements instead of scrolling smoothly – vertical movement seems to be smooth.

 

My second thought is that it is a predesigned mini-map that is drawn in the Navatron window and overlaid with the drone positions. However, I searched the Fort Apocalypse file for graphic data and did not find the map.

 

post-11281-0-57521100-1545222163.png

 

Has anyone examined the code and been able to determine how it works?

  • Like 1

Share this post


Link to post
Share on other sites

I suspect the mini terrain graphics data is probably predefined and hardcoded into the binary, then softsprite technique used to overlay the radar plot of enemies.

 

Though your idea that the game takes world data then miniturizes it might be the case - of course this would happen at level start, no way would there be time to continually do that sort of thing on the fly.

 

Isn't there a mod version of this game with different levels? Or maybe it was the C64 version. If so there might be some rev-engineering knowledge floating around.

Share this post


Link to post
Share on other sites

I think the Navatron bitmap is stored compressed at addresses $8D34 through $9221 in the cartridge. You can find the cartridge source code on Steve Hales' github here. The unpack routine is here.

 

You can find my (somewhat broken) build of Steve's source code on my github here. Note that build only works on an Atari 400 or 800 (only requires 16K). In my build I was not able to generate the Navatron data from the source code Steve published so I copied it from an existing cartridge. I'm guessing it was somehow generated offline from the level data.

 

I believe that during game play the Navatron bitmap is periodically copied into the Navatron character set at $800 and the moving objects are EOR-plotted and erased on top of the bitmap. It can take several frames to update the Navatron but it's not that noticeable as long as the main game play area is refreshing at 60 FPS. The Navatron update occurs in the SET.SCANNER routine here which calls the DO.LINE routine to copy bitmap data into the character set. I think the POS.IT routine here is the EOR plotter.

  • Like 1

Share this post


Link to post
Share on other sites

OK, so predefined mini-map ... that would explain why the proportions don't quite line up.

 

Rybags, Xuel - Thank you both very much for the insights!

 

 

I've been playing with the idea of recreating the game (but with many more levels, extra hazards, etc) for some time, and I was having a heck of time figuring out the Navatron.

Share this post


Link to post
Share on other sites

Have you seen/read this page: https://www.videospielgeschichten.de/fort-apocalypse-ii-fuer-commodore-heimcomputer/

(okay, original is in german, maybe Google translate can help; it also contains a map of FA II) ?!?

 

Wow, this guy wrote a lot of extra stuff for Fort Apocalypse with a Hex Monitor and BASIC....

 

Anyone ever looked at that code with a view of porting it to the Atari? I suppose there is no source as he programmed in Hex...

  • Like 2

Share this post


Link to post
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...