Jump to content
Knimrod

Star Raiders Source Code to be released?

Recommended Posts

Cool - I just downloaded the 195 Meg file with scanned JP2 images.

 

It's from striped paper and the listing is fairly low quality printing so might be troublesome to OCR. Though for that sort of thing a set of Photoshop macros or similar would be a must have.

 

Alternate to that, we could just team up, split the thing and type it in.

Share this post


Link to post
Share on other sites

Team up, split, and type.. And everyone checks another's work. Maybe a template should be set up?

 

I didn't know Star Raiders went through 25+ revisions before stopping at 25.1 -- that decimal is so small and looks like noise!

Share this post


Link to post
Share on other sites

A quicker way might be to just throw the original Rom into IDA Pro. Set the labels then edit in the comments from the scans. Could speed it up by a huge amount.

  • Like 5

Share this post


Link to post
Share on other sites

A quicker way might be to just throw the original Rom into IDA Pro. Set the labels then edit in the comments from the scans. Could speed it up by a huge amount.

 

A github user ran the ROM through a disassembler and began to reverse engineer the source. I forked that to try to work on speeding up the explosions:

 

https://github.com/robmcmullen/Atari8bit_StarRaiders

Share this post


Link to post
Share on other sites

Wow, that's awesome! I'm so glad this is being preserved for posterity. Truly one of the great games.

Share this post


Link to post
Share on other sites

Looks like its posted up, here is the complete .lst file from the original sources off of the Atari Mainframes:

 

 

http://www.atarimuseum.com/computers/8bits/400800/games/starraiders.zip

 

 

 

Curt

 

Curt, do you have details on the cross assembler that atari used? It's referred to as 'Atari CAMAC' in the file, was that an in house creation by atari, or was it a third party tool that they used? I was curious (if it was an atari in house thing) if you had a copy of the assembler itself, and knew what it ran on? I think it'd be interesting to setup an emulator of the DEC mini's that atari was using, and reproduce the compilation techniques that atari originally used.

 

EDIT: guess CAMAC was for a DG system instead, regardless I'm willing to learn to set it all up to get the 'real atari experience,' at least in emulation, if you can find a copy of the program.

Edited by Joey Z
  • Like 2

Share this post


Link to post
Share on other sites

Looks like its posted up, here is the complete .lst file from the original sources off of the Atari Mainframes:

 

 

http://www.atarimuseum.com/computers/8bits/400800/games/starraiders.zip

 

 

 

Curt

 

I was trying to convert the source to be ATASM friendly. I ran into a big problem. A lot of the lines seem to be truncated. The biggest issue is with tables (see below).

from lines beginning at 5237 
 
  BE2F              GPOINT:                         ; TABLE OF GRAPHIC POINTERS:
  BE2F  01111F2B35          DB      1,PHGRF1-PHGRAF,PHGRF2-PHGRAF,PHGRF3-PHGRAF:
  BE34  3D757A              DB      PHGRF5-PHGRAF,DKGRF4-PHGRAF,DKGRF5-PHGRAF
  BE37  010D151B21          DB      1,ZYGRF1-ZYGRAF,ZYGRF2-ZYGRAF,ZYGRF3-ZYGRAF:
  BE3C  25292B              DB      ZYGRF5-ZYGRAF,ZYGRF6-ZYGRAF,ZYGRF7-ZYGRAF
  BE3F  2D                  DB      GBASER-ZYGRAF
  BE40  3841363600          DB      GBASR1-ZYGRAF,GBASR2-ZYGRAF,GBASR3-ZYGRAF,G:
  BE47  7E                  DB      GBASEM-PHGRAF
  BE48  8E9DAAB4            DB      GBASM1-PHGRAF,GBASM2-PHGRAF,GBASM3-PHGRAF,G:
  BE4C  BC7B7A              DB      GBASM5-PHGRAF,GBASM6-PHGRAF,DKGRF5-PHGRAF
  BE4F  47                  DB      GBASEL-ZYGRAF
  BE50  525B505000          DB      GBASL1-ZYGRAF,GBASL2-ZYGRAF,GBASL3-ZYGRAF,G:
  BE57  43                  DB      DKGRAF-PHGRAF
  BE58  53616C75            DB      DKGRF1-PHGRAF,DKGRF2-PHGRAF,DKGRF3-PHGRAF,D:
  BE5C  7A757A              DB      DKGRF5-PHGRAF,DKGRF4-PHGRAF,DKGRF5-PHGRAF
  BE5F  01111F2B35          DB      1,PHGRF1-PHGRAF,PHGRF2-PHGRAF,PHGRF3-PHGRAF:
  BE64  3D757A              DB      PHGRF5-PHGRAF,DKGRF4-PHGRAF,DKGRF5-PHGRAF
[/code]

Notice that some of the lines end with a colon. That's where the text has been cut.

 

Does there exist a scanned copy of the Star Raiders source code?

Share this post


Link to post
Share on other sites

The problem with the AtariMuseum listing is that it's not actually the source but is the output from an assembly run.

 

But I should think with the combined resources that are available a properly commented and working source could be created.

Share this post


Link to post
Share on other sites

Thanks, Kevin!

 

It's interesting that the compiler directives in the scanned source look like the ones of MAC/65 (and ATASM). That other assembler (CAMAC?) isn't hard too figure out.

 

I just wanted see if I could get it to compile, a little exercise for me. I don't have the chops to fix the missing bits nevermind understand the code. I'm sure somebody will do it and probably in the near future. There seems to be a lot of interest in tweaking some things in this classic.

 

-SteveS

Edited by a8isa1

Share this post


Link to post
Share on other sites

I was trying to convert the source to be ATASM friendly. I ran into a big problem. A lot of the lines seem to be truncated. The biggest issue is with tables (see below).

from lines beginning at 5237 
 
  BE2F              GPOINT:                         ; TABLE OF GRAPHIC POINTERS:
  BE2F  01111F2B35          DB      1,PHGRF1-PHGRAF,PHGRF2-PHGRAF,PHGRF3-PHGRAF:
. . .
  BE5F  01111F2B35          DB      1,PHGRF1-PHGRAF,PHGRF2-PHGRAF,PHGRF3-PHGRAF:
  BE64  3D757A              DB      PHGRF5-PHGRAF,DKGRF4-PHGRAF,DKGRF5-PHGRAF
[/code]

Notice that some of the lines end with a colon. That's where the text has been cut.

 

Does there exist a scanned copy of the Star Raiders source code?

 

This looks like the output of assembly, not the source, so the line truncation could be an artifact of the assembler itself and not a problem with the copy/scan. maybe.

Share this post


Link to post
Share on other sites

It's definitely assembler output. Normally assemblers would at least show the output in the columns on the left but even that is truncated. You can see how many bytes were dropped from the address change though.

Share this post


Link to post
Share on other sites

It's definitely assembler output. Normally assemblers would at least show the output in the columns on the left but even that is truncated. You can see how many bytes were dropped from the address change though.

Worst case you can grab the bytes from the disassembly or with a hex editor.

Share this post


Link to post
Share on other sites

The scanned printout has bad guys named after Klingons and the assembler output names them after Zylons.

:D

 

 

*edit*

The graphics data appears to have changed along with the Klingon to Zylon name.

Edited by JamesD

Share this post


Link to post
Share on other sites

The scanned printout has bad guys named after Klingons and the assembler output names them after Zylons.

:D

 

 

*edit*

The graphics data appears to have changed along with the Klingon to Zylon name.

Actually, I was just in the wrong place in the code.

Share this post


Link to post
Share on other sites

This assembles with the assembler used by CC65.
No promises I fixed everything but I took care of a lot of it.

 

 

*edit*

 

I've already fixed some things. There were some missing bytes in some tables.

Right now I've run into an issue with .dbyt, it's not putting bytes in little endian order or the original assembly wasn't.
*edit*
.word in place of .dbyt fixes it. I'll upload the fixed version in the next post.

Edited by JamesD
  • Like 1

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