Jump to content

Photo

Halo 2600 Source


18 replies to this topic

#1 Ed Fries OFFLINE  

Ed Fries

    Chopper Commander

  • 115 posts
  • Location:Seattle, WA

Posted Mon Aug 1, 2011 1:12 PM

Hi Guys,

I thought I'd celebrate the one year anniversary of the release of Halo 2600 at the Classic Gaming Expo by making the source code available. It's not particularly cleaned up or well documented but I put it here, as is, with the hopes that it will help some future 2600 homebrew programmers, just as I was helped by others who posted their code. Please let me know if you have any questions and thanks to everyone for their kind words about this project over the last year.

-Ed Fries

Attached Files



#2 Tjoppen OFFLINE  

Tjoppen

    Chopper Commander

  • 199 posts

Posted Mon Aug 1, 2011 2:26 PM

Hooray :)

I see some tricks in there that I have yet to try, like early HMOVE.
Here's some readability feedback, if anyone feels like fixing:
* Consistent indentation would be nice.
* Maybe use the "org" and "ds" directives to prettify the RAM declarations.

Everything being in one file felt a little unusual. I use Visual Studio for my projects with dependencies on generators and include files to make things automagically generate/assemble when needed. Makes life easier.

#3 Ed Fries OFFLINE  

Ed Fries

    Chopper Commander

  • Topic Starter
  • 115 posts
  • Location:Seattle, WA

Posted Mon Aug 1, 2011 2:37 PM

* Consistent indentation would be nice.


Indentation is (more or less) consistent if you view it in the editor it was created in. Which is... wait for it... Notepad.exe!

-EdF

#4 ScumSoft OFFLINE  

ScumSoft

    Moonsweeper

  • 348 posts
  • Location:Polysorbate 60

Posted Mon Aug 1, 2011 2:41 PM

Neat, I'll enjoy looking this over. Thanks!

[edit]
I took some time and formatted the text, so now it compiles and looks proper in Notepad++

Attached Files


Edited by ScumSoft, Mon Aug 1, 2011 3:37 PM.


#5 revolutionika OFFLINE  

revolutionika

    Quadrunner

  • 10,781 posts
  • Location:NC

Posted Mon Aug 1, 2011 2:41 PM

Hey, when is Halo 2600 2 coming out!!!!

Posted Image




#6 Keatah OFFLINE  

Keatah

    Quadrunner

  • 7,833 posts

Posted Tue Aug 2, 2011 5:32 AM

This is what the hobby is all about! Thanks a bunch! Good vibes going on in this thread and the BallBlazer project.

#7 dwane413 OFFLINE  

dwane413

    Moonsweeper

  • 263 posts
  • Location:Oklahoma

Posted Tue Aug 2, 2011 7:16 AM

Thanks. :thumbsup:

#8 TheRedEye OFFLINE  

TheRedEye

    Moonsweeper

  • 264 posts
  • Location:Berkeley, CA

Posted Thu Aug 4, 2011 11:57 AM

You're a treasure Ed, thanks for sharing.

#9 Syntaxerror999 OFFLINE  

Syntaxerror999

    Dragonstomper

  • 538 posts

Posted Mon Aug 8, 2011 1:20 PM

Hi Guys,

I thought I'd celebrate the one year anniversary of the release of Halo 2600 at the Classic Gaming Expo by making the source code available. It's not particularly cleaned up or well documented but I put it here, as is, with the hopes that it will help some future 2600 homebrew programmers, just as I was helped by others who posted their code. Please let me know if you have any questions and thanks to everyone for their kind words about this project over the last year.

-Ed Fries


Why not charge $32K for it ;)

#10 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • 25,016 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Mon Aug 8, 2011 1:47 PM

Coming in summer 2012: Halo 2600 2 programmed using only batari Basic. :D

#11 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,831 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Fri Aug 26, 2011 12:09 PM

What's the point of this?
PlayerTop
    LDA ScanLine	; 3
    CMP M1Pos	; 3
    PHP		; 3
    CMP M0Pos	; 3
    PHP		; 3
    PLA		; 4
    PLA		; 4

EDIT: And thanks for posting this. ;) :thumbsup:

Edited by vdub_bobby, Fri Aug 26, 2011 12:10 PM.


#12 Ed Fries OFFLINE  

Ed Fries

    Chopper Commander

  • Topic Starter
  • 115 posts
  • Location:Seattle, WA

Posted Fri Aug 26, 2011 12:24 PM

What's the point of this?

PlayerTop
    LDA ScanLine	; 3
    CMP M1Pos	; 3
    PHP		; 3
    CMP M0Pos	; 3
    PHP		; 3
    PLA		; 4
    PLA		; 4

EDIT: And thanks for posting this. ;) :thumbsup:


I don't really remember all the details but... The code is for turning on and off the missles. The stack must be pointed at ENAM1 and it looks like I wanted it pointed back at ENAM1 again after I was done but I didn't want to destroy the value in the X register.

#13 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,831 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Fri Aug 26, 2011 2:26 PM


What's the point of this?

PlayerTop
    LDA ScanLine	; 3
    CMP M1Pos	; 3
    PHP		; 3
    CMP M0Pos	; 3
    PHP		; 3
    PLA		; 4
    PLA		; 4

EDIT: And thanks for posting this. ;) :thumbsup:


I don't really remember all the details but... The code is for turning on and off the missles. The stack must be pointed at ENAM1 and it looks like I wanted it pointed back at ENAM1 again after I was done but I didn't want to destroy the value in the X register.

Ah, of course!

Thanks for the explanation. :)

EDIT: And that probably explains all the places that look something like this...
;waste 16 cycles
  pla
  pla
  pla
  pla

Edited by vdub_bobby, Fri Aug 26, 2011 2:27 PM.


#14 LouisB OFFLINE  

LouisB

    Combat Commando

  • 1 posts

Posted Sun Sep 11, 2011 3:56 PM

Sorry - I'm a 2600 programming newb - how would I compile and run this in an emulator? Maybe you could point me in the right direction? Thanks

#15 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • 25,016 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sun Sep 11, 2011 4:04 PM

Sorry - I'm a 2600 programming newb - how would I compile and run this in an emulator? Maybe you could point me in the right direction? Thanks

If you just want to play the game, go here:

http://www.atariage....-the-game-here/


If you want to edit the code and compile it, this might be helpful:

http://www.randomter...w-davie-01.html

Edited by Random Terrain, Sun Sep 11, 2011 4:05 PM.


#16 SmileyDude OFFLINE  

SmileyDude

    Moonsweeper

  • 262 posts
  • 6502 Hacker
  • Location:Wilmington, MA

Posted Wed Nov 9, 2011 11:35 AM

The indentation is off because it looks ilke there is a mix of hard and soft tabs in the file. It looks like Ed has set his tabs to 8, so if you set your editor's tabs to 8, it should look better.

Ed -- thanks for posting this. I hadn't paid much attention due to the fact that I'm admittedly not a big fan of Halo, but my kids are. So I'm going to share this with them in hope of getting them more interested in the older gaming machines like the 2600. Also, I was really impressed that you did this in 4k -- I had assumed that you used bankswitching initially. Great work!

#17 gauauu OFFLINE  

gauauu

    Combat Commando

  • 7 posts
  • Location:Illinois

Posted Wed Aug 20, 2014 8:42 PM

I know it's bad form to resurrect an old thread for no reason, but WOW thank you for posting this.  I was trying unsuccessfully to get the 74-cycle HMOVE working, but your example code helped me figure it out.  I think I would have given up on it if I didn't have a functional example to work off of. 

 

So thanks for posting this, and thanks for making a great game!



#18 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash

  • 18,909 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Thu Aug 21, 2014 2:41 AM

You could have asked in the developer forum, or did you?



#19 gauauu OFFLINE  

gauauu

    Combat Commando

  • 7 posts
  • Location:Illinois

Posted Thu Aug 21, 2014 8:10 AM

I figured it would be (even worse) bad form to ask a question in the developer forum without searching through the forums for an answer first, which is where I found this (and a number of other threads that helped clarify the issue).

 

:)






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users