Jump to content
luckybuck

Fort Apocalypse source code is out!

Recommended Posts

The original Atari 400/800 6502 assembly code for the classic game Fort Apocalypse is out!

 

 

# Fort Apocalypse

The original Atari 400/800 6502 assembly code for the classic game Fort Apocalypse.

This is mainly being released for historical reasons. This requires a copy of SynAssembler to assemble.

Well, what about a plugin for Eclipse? Steve really deserves that!

Thank you sooooooooo much Steve Hales, we owe you so much!

 

Endless thank you!

 

:) :) :) :) ;-)

 

post-32599-0-07764400-1435335191_thumb.jpg

Edited by luckybuck
  • Like 10

Share this post


Link to post
Share on other sites

Good to see.

 

NoDerivatives. By the sounds of that, we can't just expand it to a bigger game with new levels.

 

But, the source should allow sufficient reverse-engineering knowledge such that new level patches could be developed for current executables.

Or... just build files with source modifications and a program that adds to existing and have the user compile their own new version - a little bit how the arcade Asteroids emulator gets around distribution problem.

Share this post


Link to post
Share on other sites

Well, that sucks. People have already reverse engineered and modded the game and the game itself is widely distributed. I can see not allowing it to be sold, but this doesn't make much sense.

Share this post


Link to post
Share on other sites

Indeed, example being the 5200 port I made.

Would be good to go back and re-decorate that with more meaningful labels though.

Share this post


Link to post
Share on other sites

I tried building from the github sources by machine-translating the SynAssembler source to XASM syntax. It sort of works, but I ran into several problems:

  • The code is 11 bytes too long. Maybe a problem with my translation script. I hacked it by cutting out some checksumming code. The checksums also don't match so I disabled the copy protection.
  • The level data needs to be RLE encoded to fit in the ROM. There is a UNPACK function in fort1.s for which I wrote an encoder but the encoded data is still too big. Maybe I did it wrong. I hacked it by truncating the data for level 2. Given this, the game would probably lock up if you ever made it to level 2, but the game flakes out well before that anyway.
  • The "scan" map for the "Navitron", i.e. the minimap, is probably derived from the level data somehow, but Steve doesn't include any info on how to do that. So, the best I could do is carve out the relevant data from the CAR file on Atarionline.pl.
  • The level graphics are somehow slightly out of whack. The wrong characters from the character set appear here and there.
  • The code doesn't initialize PACTL so the joystick doesn't work. I patched in an init sequence.
  • One of the display lists in fort6.s crossed a 1K boundary. I worked around this by swapping the order in which fort4.s and fort6.s are included. Other problems may lurk due to wrong ordering. I noticed that the CAR file on Atarionlie.pl seems to have a different code ordering as well.
  • The game is flaky and crashes after a while.

I was able to create two CAR files using the source: one using the "pre-release" levels and one using the "release" levels. The pre-release levels don't fully function. Most of the enemies are frozen.

 

I also disassembled the CAR file on Atarionline.pl using the labels from Steve Hale's source.

 

You can get my translator, packer, Makefile and produced CAR files on github:

 

https://github.com/lybrown/fabuild

Edited by Xuel
  • Like 1

Share this post


Link to post
Share on other sites

Is this source for the original version? I thought the game was tape/disk first, with the cart coming some years later.

Share this post


Link to post
Share on other sites

@Rybags I don't know the release history but this particular source definitely appears to be intended for a cart. It goes through great pains to fit within the 16K cart window. It has the cart footer defining the start and init address and option byte.It has a cart start routine. It also has 10 RMW instructions mixed into random functions (e.g. 1 2 3 4) that attempt to corrupt the ROM region for copy protection. These would all make a RAM version crash.

 

However, perhaps Steve mixed up parts from different versions when he posted the source which is why it doesn't quite work? But I definitely won't rule out some error(s) on my part.

Share this post


Link to post
Share on other sites

From what I can gather the cart version appeared later by Green Valley Publishing.

Though I download that from Atarimania, the copyright message on the Rom still reads 1982. The release year for the Rom seems to be either 1984 or 1986.

 

I'm fairly sure the original version worked on 16K Ram machines. The supposedly later cart version won't work on XL, which seems real strange if it was a 1984 or later release.

Share this post


Link to post
Share on other sites

From what I can gather the cart version appeared later by Green Valley Publishing.

Though I download that from Atarimania, the copyright message on the Rom still reads 1982. The release year for the Rom seems to be either 1984 or 1986.

 

I'm fairly sure the original version worked on 16K Ram machines. The supposedly later cart version won't work on XL, which seems real strange if it was a 1984 or later release.

 

Strange,

 

since I have only seen one cart version of FA yet, the grey one by Synapse, which is 400/800 only:

http://www.atarimania.com/game-atari-400-800-xl-xe-fort-apocalypse_2054.html

 

The version by Green Valley Publishing is DISK only, it originally contained a file-version of the ROM and some patch-code in Atari Basic on the disk, thus the GV disk-version had to be booted with Basic. Errrm, my disk does not contain that patch anymore, I did overwrite the original version (132 sector ROM file plus approx. 6 sectors Basic file) with a pirated single-file COM/XEX version (135 sectors). Here is the Green Valley disk: http://www.atarimania.com/game-atari-400-800-xl-xe-fort-apocalypse_6101.html

 

Some time ago Wrathchild was so nice to upload a patched ROM version of FA that also works on XL/XE machines... (burned this ROM onto a selfmade 16k cart).

 

Last not least, I do not have the Synape (US) or Synsoft (UK) tape/disk versions of FA in my collection, but they surely worked on 16k RAM machines...

Edited by CharlieChaplin

Share this post


Link to post
Share on other sites

From what I can gather the cart version appeared later by Green Valley Publishing.

Though I download that from Atarimania, the copyright message on the Rom still reads 1982. The release year for the Rom seems to be either 1984 or 1986.

 

I'm fairly sure the original version worked on 16K Ram machines. The supposedly later cart version won't work on XL, which seems real strange if it was a 1984 or later release.

 

I would be pretty sure that Fort Apocalypse was never a 16k game, but a 32k one. Because at that time - after it's release I was copying 16k games down to cassette tape for my friend Andrew - who only had a 16k Atari 400 - like Synapse's Blue Max and others - few were 16k. And past a certain year - 16k games disappeared entirely? (but were 16k ROMs).

 

Harvey

Share this post


Link to post
Share on other sites

I would be pretty sure that Fort Apocalypse was never a 16k game, but a 32k one. Because at that time - after it's release I was copying 16k games down to cassette tape for my friend Andrew - who only had a 16k Atari 400 - like Synapse's Blue Max and others - few were 16k. And past a certain year - 16k games disappeared entirely? (but were 16k ROMs).

 

It is actually a 16K game as were many cartridge based games up through 1984, including Bounty Bob Strikes Back. After that most cartridges were the XE style and required more than 16K, but even some of them like Necromancer and Star Raiders II will run on 16K 400's.

Edited by MrFish

Share this post


Link to post
Share on other sites

It is actually a 16K game as were many cartridge based games up through 1984, including Bounty Bob Strikes Back. After that most cartridges were the XE style and required more than 16K, but even some of them like Necromancer and Star Raiders II will run on 16K 400's.

 

Actually I'll revise that, to say that most if not all (?) cartridges before around 1987 required no more than a 16K machine.

Edited by MrFish

Share this post


Link to post
Share on other sites

I would be pretty sure that Fort Apocalypse was never a 16k game, but a 32k one. Because at that time - after it's release I was copying 16k games down to cassette tape for my friend Andrew - who only had a 16k Atari 400 - like Synapse's Blue Max and others - few were 16k. And past a certain year - 16k games disappeared entirely? (but were 16k ROMs).

 

Ah alright, it looks like you were actually talking about the non-cartridge releases, which you would tend to be right about. My mistake. I was focusing on your first sentence.

Share this post


Link to post
Share on other sites

I would guess that it was for the 65XEGS that new 16k ROM games were especially released for it - which normally would have required more memory/etc - such as the Flight Simulator II cart, Ballblazer and Rescue from Fractalus? - which was basically the last gasp of the Atari 8-bits - as no new game titles were released by Atari - apart from the lightgun cart game.

 

Atari UK, was not on my - to approach - list, when I tried to find possible companies interested in marketing Hawkquest. I felt very sad that I missed them out completely - when they did release a new title (was it Tiger Attack? or something like this) - though Hawkquest could never fit onto a cart, at that time.

 

Anyway it was with the release of the 600XL and 800XL - that Atari should have been more aggressive in seeking out new titles for it's games library, instead of just relying upon it's titles released to date.

 

Harvey

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.

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