Jump to content

Photo

Fort Apocalypse source code is out!

Fort Apocalypse source code

15 replies to this topic

#1 luckybuck OFFLINE  

luckybuck

    Dragonstomper

  • 961 posts

Posted Fri Jun 26, 2015 10:12 AM

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!

 

:)  :)  :)  :)  ;-)

 

Steve.jpg


Edited by luckybuck, Fri Jun 26, 2015 10:48 AM.


#2 Bryan OFFLINE  

Bryan

    Quadrunner

  • 10,926 posts
  • Cruise Elroy = 4DB7
  • Location:Chesaning, MI

Posted Fri Jun 26, 2015 10:24 AM

HOLY ****!!!!!!



#3 Stephen OFFLINE  

Stephen

    Quadrunner

  • 7,464 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Fri Jun 26, 2015 11:11 AM

Wow - this is great!



#4 Rybags OFFLINE  

Rybags

    Gridrunner

  • 16,000 posts
  • Location:Australia

Posted Fri Jun 26, 2015 7:10 PM

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.



#5 Bryan OFFLINE  

Bryan

    Quadrunner

  • 10,926 posts
  • Cruise Elroy = 4DB7
  • Location:Chesaning, MI

Posted Fri Jun 26, 2015 10:31 PM

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.



#6 Wrathchild ONLINE  

Wrathchild

    River Patroller

  • 2,135 posts
  • Location:Reading, UK.

Posted Sat Jun 27, 2015 12:43 AM

Indeed, example being the 5200 port I made.

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



#7 Xuel OFFLINE  

Xuel

    Dragonstomper

  • 740 posts
  • Location:US

Posted Sat Jun 27, 2015 4:10 AM

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, Sat Jun 27, 2015 4:15 AM.


#8 Rybags OFFLINE  

Rybags

    Gridrunner

  • 16,000 posts
  • Location:Australia

Posted Sat Jun 27, 2015 7:05 AM

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



#9 Xuel OFFLINE  

Xuel

    Dragonstomper

  • 740 posts
  • Location:US

Posted Sat Jun 27, 2015 1:02 PM

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



#10 Rybags OFFLINE  

Rybags

    Gridrunner

  • 16,000 posts
  • Location:Australia

Posted Sat Jun 27, 2015 7:50 PM

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.



#11 CharlieChaplin OFFLINE  

CharlieChaplin

    River Patroller

  • 3,016 posts

Posted Sun Jun 28, 2015 11:42 AM

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.atarimani...lypse_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.atarimani...lypse_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, Sun Jun 28, 2015 11:51 AM.


#12 kiwilove OFFLINE  

kiwilove

    Dragonstomper

  • 946 posts
  • Location:Dunedin, New Zealand

Posted Fri Jul 17, 2015 5:24 AM

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



#13 MrFish OFFLINE  

MrFish

  • 5,371 posts

Posted Fri Jul 17, 2015 11:58 AM

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, Fri Jul 17, 2015 12:41 PM.


#14 MrFish OFFLINE  

MrFish

  • 5,371 posts

Posted Fri Jul 17, 2015 12:12 PM

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, Fri Jul 17, 2015 12:41 PM.


#15 MrFish OFFLINE  

MrFish

  • 5,371 posts

Posted Fri Jul 17, 2015 2:48 PM

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.



#16 kiwilove OFFLINE  

kiwilove

    Dragonstomper

  • 946 posts
  • Location:Dunedin, New Zealand

Posted Fri Jul 17, 2015 6:11 PM

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







Also tagged with one or more of these keywords: Fort Apocalypse, source code

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users