Jump to content
IGNORED

Homebrewing


Recommended Posts

Alright, wasn't sure to put this in the hombrew forum or here so forgive me if this is in the wrong spot. Anyway I wanted to at least start programming in general. But I do have an interest in at making some basic games for the 2600. However I just wanted to know what programming language I would need to learn and if anyone knows of any good resources online.

Link to comment
Share on other sites

  • 5 months later...

I recommend using the various books at Atari Archivewebsite. What you want to look for are those based on the 6502 CPU...or Atari 400/800 computers in general. If you are wanting to learn the 2600, these will give the basics before getting your feet wet. Most of these books are based on Assembly which is recommended. Batari BASIC is nice for starters, but its ability to harness the 2600 is limited. Once you get a taste for programming Atari and wish to continue the adventure, be sure to check out the Chapter Links where Andrew Davie created a 2600 101 "bible" to programming the 2600.

Link to comment
Share on other sites

Batari BASIC is nice for starters, but its ability to harness the 2600 is limited.

Actually, that's not true, except when you're talking about using bB-only code "out of the box," with the "canned" kernels. In batari Basic you can write your own display kernels, either using bB-only code, assembly-only code (either with inline assembly or with an include file), or a mixture of bB code and assembly code. Writing a kernel using bB-only code isn't as bad as you might think-- it's probably easier for a beginner to understand the commands, and you can still get precise timing control for midline graphics changes if you're careful, especially now that you can use the "callmacro" command to "sleep" for a specific number of cycles. But if you use a "for-next" loop for drawing your game screen, the "for-next" logic will eat up a bunch of cycles. And you can't use the X and Y registers directly for "LDX/STX" or "LDY/STY" instructions, or for indexed-addressing, unless you use inline assembly or an include file. (*All* of bB's include files are written in pure assembly.) However, you can use X-indexed addressing ("LDA,X") by using arrays, since the X register is used for the array index. A while back I posted a few examples of kernels written with bB-only code, mainly displays that draw all 128 of the colors onscreen at once, or blend them together via flicker to get either 240 colors (by mixing adjacent luminances of the same hue to get the "inbetween" luminances) or 480 colors (by mixing adjacent luminances *and* adjacent hues).

 

Anyway, batari Basic is a lot more flexible and capable than some people realize, and the ability to use inline assembly (or write your own include files in assembly) makes it an ideal beginner's platform for getting your feet wet in 2600 programming and then gradually transitioning to pure-assembly coding at your own pace and learning curve.

 

Michael

  • Like 2
Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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