Jump to content

Photo

Atari Crossfire (Sierra Online)

Source code asm 8-bit

4 replies to this topic

#1 bobajob OFFLINE  

bobajob

    Combat Commando

  • 3 posts

Posted Sat May 5, 2018 12:57 PM

Hello,

 

I am keen to understand the inner workings of the game Crossfire for the Atari 8-bit computer. I find it to be a great game. I'm then going to try to port it slowly to all the other 8-bit computers, to learn how to program each old 80s micro.

 

As a starting point, unlikely I know, does anyone have the original source code for the game Crossfire?

 

If not, what would be the best software to disassemble this game?

 

Thanks in advance,

 

Nick



#2 Wrathchild OFFLINE  

Wrathchild

    Stargunner

  • 1,960 posts
  • Location:Reading, UK.

Posted Sun May 6, 2018 4:59 AM

Good luck on your quest to port Crossfire!

 

I chose the 8K ROM version but that copies its code and data into the RAM below 16K and runs it there.

 

Therefore I've disassembled the RAM area and organised it to a point where a run-able binary can be built.

 

Regards,

Mark

 

PS: If you can improve that with better label names then please share back here for others to study.

 

Additionally, code compiles 1:1 with the original in terms of memory locations however I have not gone through and made labels for addresses used as follows:

 

LDA #$90
STA off_0_88
LDA #$24 ; '$'
STA off_0_88+1
LDX #$BA
LDY #$32 ; '2'
LDA #3
JSR sub_0_24F6

Attached Files


Edited by Wrathchild, Sun May 6, 2018 5:00 AM.


#3 Rybags ONLINE  

Rybags

    Quadrunner

  • 15,666 posts
  • Location:Australia

Posted Sun May 6, 2018 7:06 AM

Crossfire was originally on the Apple II and later ported to various other systems like C64, Vic-20 and PC so a search might reap results for other systems.

 

Thanks to Atari's easier to decypher bitmap layout vs most others it would probably serve as a good starting point, though it does use Graphics 7.

I never knew but there's also a monochrome version, possibly a more direct port from the A2 original.

 

The game fits easily into 16K which makes the job somewhat easier too.

 

The gold standard for reverse-engineering and getting workable source code back is IDA Pro but there's various freeware disassemblers that could also do the job.  Whatever way you go there's going to be work for you like properly deliniating code/data sections and commenting and putting more meaningful labels in.

 

It looks like the C= Plus/4 doesn't have this game so it might be a good candidate system for a port.  But it's graphics mapping is much the same as the C64, so the C64 version would likely be a better candidate to port over.



#4 therealbountybob OFFLINE  

therealbountybob

    Quadrunner

  • 7,858 posts
  • assembling for abbuc 2018
  • Location:Still time to join in the new high score club season!

Posted Mon May 7, 2018 9:30 AM

:thumbsup:

If you do make changes to Crossfire this High Score Club thread has 2 things of interest:

1. fixed version of the game allowing dual controls (1st post)

2. I found the game got too easy in the end (PAL system player) - it didn't get any harder probably the extra men should be limited at a certain point Post #49

 

:)



#5 Wrathchild OFFLINE  

Wrathchild

    Stargunner

  • 1,960 posts
  • Location:Reading, UK.

Posted Mon May 7, 2018 3:37 PM

The game seems to work already with keys and/or joystick without patching?

 

There is a suspected 'NTSC' type value in this sequence:

 

25B0: C6 CF             DEC $CF
25B2: 10 62             BPL $2616
25B4: A2 06             LDX #$06
25B6: 86 CF             STX $CF

If in Altirra you execute "e 25B5 5" then that might speed something up slightly for PAL?

 


Edited by Wrathchild, Mon May 7, 2018 3:37 PM.






Also tagged with one or more of these keywords: Source code, asm, 8-bit

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users