Jump to content

Photo

Blue Max source code for you.


36 replies to this topic

#26 Shannon ONLINE  

Shannon

    Born To Be Insane

  • 7,859 posts
  • Pac-man Fever
  • Location:Arcade

Posted Wed Mar 9, 2016 12:28 AM

Blue Max was the third Atari game I actually owned with Missile Command being the first (I was a big missile command fan), Jumpman 2nd and Blue Max third.



#27 gurubob OFFLINE  

gurubob

    Combat Commando

  • 4 posts

Posted Tue Jan 15, 2019 3:08 AM

Hey DanBoris, thanks for your work decoding the ATR files.

 

I have copied these to Gitlab at https://gitlab.com/atari/bluemax. I discovered the code thanks to my podcast partner in crime who did some research on Blue Max, which we discuss on the latest episode of the XLXE Podcast at https://player.fm/series/xlxe

 

Initial thoughts about the files - your hint about the binary files is bang on - it looks like these are saved onto disk "to file" (.TF "D:MAX.1") from memory from an origin (set via the .OR command). My guess is that they are maps but that is pure speculation. Absence of comments makes it tricky.

 

Also thanks Kevin for your time with Bob, that's a great interview to have on file :)


Edited by gurubob, Tue Jan 15, 2019 3:20 AM.


#28 ggn OFFLINE  

ggn

    Stargunner

  • 1,482 posts
  • Location:Athens, Greece

Posted Tue Mar 5, 2019 3:11 AM

Hi,

First of all, thanks a lot to Bob Polin and Kevin Savetz for providing the source code!

That said, anyone managed to run this yet? So far I managed to load the "asm" file into synasm, then mount the two disks so that it can find the files, then typed "asm" at the prompt. That gave me 4 files, "max.1", "max.2", "max.3" and "max.4".

From what I understand so far, files 2 to 4 are simply data files (graphics by the looks of it). I made some experiments with dos 2.0s that source code disk 1 comes with. Running "max.1" from dos freezes the machine. "max.2" to "max.4" seem to load and not run anything, so I tried loading them before "max.1" but I still get a freeze. Altirra debugger says it's stopping at a KIL instruction at 102c.

Ideas, anyone?

#29 sanny OFFLINE  

sanny

    Moonsweeper

  • 398 posts
  • Location:Bavaria

Posted Fri Mar 8, 2019 5:24 PM

Six months goes by and I look at that code and wonder what I was up to. I guess comment everything isn't a bad thing.

 

+1



#30 Alfred OFFLINE  

Alfred

    Dragonstomper

  • 557 posts
  • Location:Elmwood, Ontario

Posted Fri Mar 8, 2019 8:40 PM

So I thought I'd have a look, just to see. First off, EXXON.18 is still loaded with bogus characters in the zip file. I haven't tried loading synassembler to try and fix it. Looking through the code, yes MAX.1 is the game, and 2 and 3 are just data. I don't see where 4 comes from, there's no TF for it in any of the files that I can see. Maybe there's something missing ?

 

Now the game code says it starts at $0C00, but in UNPROT it loads the game at $4400 for 170 sectors off the disk, and then jumps to $5000. I haven't looked much at COPYPROT, but I think we're missing the code that writes MAX.1 to the disk. So without further work, I would guess that booting the disk loads COPYPROT at $0580, which then loads UNPROT which loads the 170 sectors. So the question is, how does the code get moved from $4400 to $0C00. I looked for any .OR statements to see if the $5000 entry point was marked and it isn't. So I guess someone will have to read through the whole thing and see if they can find the entry point. iI just browsed, and there's a START label in EXXON.0 but there's nothing there that moves the code to $0C00. So I'm thinking there's still a piece missing, along with whatever generates MAX.4.

 

Just wow. This guy doesn't use labels hardly anywhere, it's all STA $687 and INC $0640. I have to believe he had a notebook or something that was the xref for these addresses, there's just way too many of them for anyone to remember.

 

Anyway, those are my thoughts after looking at this for about a half-hour.


  • ggn likes this

#31 ggn OFFLINE  

ggn

    Stargunner

  • 1,482 posts
  • Location:Athens, Greece

Posted Sat Mar 9, 2019 12:49 AM

I've been also taking some peeks at the source, first instruction is "jsr XXXX" where XXXX=$900. So my guess was that $900 contains something about protection. A quick search revealed two snippets of code within COPYPROT that assembles to $900, which allegedly goes to sector 717 and $b0. The first one contains a bunch of hex strings while the other contains some code.

So it seems there's a bit more work involved until we understand what's happening!

#32 Alfred OFFLINE  

Alfred

    Dragonstomper

  • 557 posts
  • Location:Elmwood, Ontario

Posted Sat Mar 9, 2019 9:02 AM

oh yeah, one other thing. That Synassembler source code on AtariWiki isn't source code. It's a disassembly listing, so it's not very helpful at all trying to work out how the assembler works.



#33 luckybuck OFFLINE  

luckybuck

    Stargunner

  • 1,062 posts

Posted Sat Mar 9, 2019 1:58 PM

Alfred, we are glad, to have even this! Feel free to get the original one. Btw, you know, that the SynAssembler is adapted from the S-C Assembler II Vers. 4.0?

SynAssembler.jpg

 

Anyway, have exported all the MAC/65 source files into TXT files, please see attachment. Major parts are documented, so you just have to hybridize the code with the comments from the S-C Assembler II...

 

We would be glad to see...

 

Else, why don't ask Steve himself? Else 2 on github?

 

 

Please understand, that the IMF team has no intention to retire, but 3 major projects have to be finished:

 

a) Pascal (Artari version, Kyan, CNSL etc.) in the way ACTION! already is

 

b) PLATO

 

c) finishing this: https://atariwiki.or...System Software

 

Years or work before us...

Attached Files


Edited by luckybuck, Sat Mar 9, 2019 2:21 PM.


#34 Alfred OFFLINE  

Alfred

    Dragonstomper

  • 557 posts
  • Location:Elmwood, Ontario

Posted Sat Mar 9, 2019 5:20 PM

No, I have no idea what the S.C. Assembler is. The only Apple assembler I have any knowledge of is the Orca one, and that's only because it's mentioned in the Eye and Lichty book. I already exported the code from Mac/65, that's why I made the comment about EXXON.18 was still messed up. I went looking at the Synassembler code to see how he implemented the symbol table, but since it's just a disassembly it will take some work to figure out what he did, as opposed to just reading what he did, hence my disappointment. It's no big deal.



#35 luckybuck OFFLINE  

luckybuck

    Stargunner

  • 1,062 posts

Posted Sat Mar 9, 2019 5:27 PM

You can contact our hero Steve here:

https://github.com/heyigor

You and he belong to the Unreplaceables! And I didn't use these ' symbols...

 

If you have problems, let me know, will contact Steve and send you a pm.



#36 JohnPolka OFFLINE  

JohnPolka

    Chopper Commander

  • 163 posts
  • Location:Portland, Oregon USA

Posted Thu Mar 28, 2019 9:32 PM

I've not looked at it but is there any special comments or stuff relating to corrupted screen when you bomb your own runway?

 

Didn't the Commodore 64 version also have the same behavior?



#37 tschak909 OFFLINE  

tschak909

    River Patroller

  • 3,249 posts
  • Location:USA

Posted Thu Mar 28, 2019 11:38 PM

S-C Assembler was a somewhat early (1978) assembler for the Apple II, with version 4.0 coming out in 1980. Was actually pretty capable. 

 

Here's a manual:

https://www.apple.as...ler II_v4.0.pdf

 

-Thom


Edited by tschak909, Fri Mar 29, 2019 12:01 AM.





0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users