Jump to content

Photo

Most complete way to start 2600 Programming?


11 replies to this topic

#1 RoboticFridge OFFLINE  

RoboticFridge

    Combat Commando

  • 2 posts

Posted Thu May 18, 2017 6:44 PM

Hi all,

 

Sorry if this is the wrong forum,

 

I'm very excited to be joining this community. I've been a long-time Atari fan and would love to learn more about the system and begin programming for it. I've read that there are two main ways of programming for the Atari 2600. Either by Batari Basic or through the DASM assembler. My question boils down to this: What is the most complete way to learn to program a game for the 2600?

 

Which way is best supported, and has the most complete documentation? I'm willing to learn either way, I just want to know which method will give me the most control, most support from the community, and best documentation in case I get stuck or have a quirky error.

 

I've done lots of programming before so I'm familiar with programming concepts so that's not a worry, I'm just doing this in my spare time between projects and thought this would be a good way to spend some time.

 

Thanks for reading!

-RF



#2 Pantomchap OFFLINE  

Pantomchap

    Space Invader

  • 18 posts

Posted Thu May 18, 2017 9:49 PM

I recommend Batari Basic if you can get it to work. I unfortunately was not able to get BBasic to work on my Windows 10 computer so I'm stuck learning assembly.

 

Batari Basic rids you of the pains of having to synchronize your code to each scanline but it is kinda limited compared to assembly which can use the full potential of the 2600.

 

 

So in conclusion, use BBasic if you want to easily make fun little games for the 2600 that won't be exactly cutting-edge but still entertaining, or use Assembly to make games that can use the full power of the VCS.

 

---

 

Ninjaedit: Also, I'm pretty sure this is the right forum. Oh yeah, welcome to the community!


Edited by Pantomchap, Thu May 18, 2017 9:51 PM.


#3 gauauu OFFLINE  

gauauu

    Moonsweeper

  • 332 posts
  • Location:Illinois

Posted Thu May 18, 2017 10:24 PM

 

Which way is best supported, and has the most complete documentation? I'm willing to learn either way, I just want to know which method will give me the most control, most support from the community, and best documentation in case I get stuck or have a quirky error.

 

 

Best supported and complete documentation?  Assembly.  Most of the docs, starting from the original Stella Programmer's Guide, to the majority of tutorials, etc, are assuming you're using assembly.  (That's not to say there aren't good docs for BBasic though as well)

 

Most control?  Assembly.  BBasic is great for getting something running quickly, for focusing on gameplay ideas if you don't want to fight with the weird Atari quirks, and don't want to spend years counting cycles to make a good kernel.  BUT you lose a lot of control.  There's things it can do really easily, but once you want to do something else, you're a bit out of luck.  A lot of BBasic games end up having a pretty similar look because of the constraints and pre-made kernels.

 

Most support from the community?  Both have great communities, and lots of people willing to help.

 

Take your pick.  I like the freedom and challenge of writing in assembly, but people are making cool things in BBasic as well.  It really comes down to what your goals are in making an Atari game.

 

 

.....

 

Just a warning: Most likely a developer named Mr SQL will soon show up here recommending his own "virtual world basic" that he created.  I can't speak to the quality (I haven't tried it, and have only seen his demos), but you won't find much support, community, or documentation for it. 



#4 BNE Jeff OFFLINE  

BNE Jeff

    Moonsweeper

  • 288 posts
  • Location:Virginia, USA

Posted Fri May 19, 2017 3:43 AM

Assembly for all six questions. 

 

Note: you don't program with DASM, you'll use Microsoft WordPad or something like it to write your code then DASM to convert it to binary. 

 

Assembly is easy to pick up.  Do you already know it?



#5 RevEng OFFLINE  

RevEng

    River Patroller

  • 4,704 posts
  • Bitnik
  • Location:Canada

Posted Fri May 19, 2017 6:25 AM

A lot of BBasic games end up having a pretty similar look because of the constraints and pre-made kernels.


I strongly agree with everything you said, but just wanted to expand on this point. bB also easily allows you to use inline assembly, and/or build your own assembly kernels too - most coders don't use this capability, but it's there for those wanting to stretch.

#6 Mr SQL ONLINE  

Mr SQL

    Stargunner

  • 1,750 posts

Posted Fri May 19, 2017 7:55 AM

 

Just a warning: Most likely a developer named Mr SQL will soon show up here recommending his own "virtual world basic" that he created.  I can't speak to the quality (I haven't tried it, and have only seen his demos), but you won't find much support, community, or documentation for it. 

 

Is your warning referring to my post here?  I found it offensive to see a 12 year old programmer with disabilities being picked on and shared multiple programming tools for programming  - in Abstract Assembly (easier) as well as BASIC.  

 

You wrote an excellent game recently, why not try Flashback BASIC and see what you can come up with!  :)

 

Here's a community thread about an RPG under development you may find helpful, let me know what issues you've encountered finding support or documentation.



#7 gauauu OFFLINE  

gauauu

    Moonsweeper

  • 332 posts
  • Location:Illinois

Posted Fri May 19, 2017 8:15 AM

You wrote an excellent game recently,

 

Thanks!  

 

 

why not try Flashback BASIC and see what you can come up with!   :)

 

VW/Flashback Basic seems to push you in a certain direction (even moreso than BBasic),which isn't what I personally want in a development tool.  For me, the fun is dealing directly with what the hardware allows, and trying to make it work with game ideas that i have.   

 

So I'm not knocking the quality of it, but it's not the tool for the job that I want to do.  (And in the case of this thread, it's also not the most community-supported, which is a big part of what the original poster was asking about). 



#8 Papa OFFLINE  

Papa

    Dragonstomper

  • 751 posts

Posted Fri May 19, 2017 8:31 AM

The best reasons (in my opinion) to use a BASIC thingy for gamishness, would be:

 

1) They have premade kernels.  They know what the system can and can't do already and you get to fill in the blanks.  You wanna Pac clone game?  Use our premix multisprite kernel and make a dog run around eating cat crap out of glowing litterboxes.  Not good if you have some radical idea out of nowhere that you need FULL CONTROL of every little detail (although VWBASIC gives you a LOT of control and set's you up the bomb (scrolling engine)) to get EXACT RESULTS you wont negotiate over.

 

B) A$$embly takes a LONG time to piece together.  You will find yourself  truncated into one of the aforementioned kernel frameworks available in BASIC.  I have done 'stuff' with Coco 3 and it's A$$ and its BORING and time consuming.  In a few years you'll have a dog repelling VCS game we can all buy and enjoy!  BASIC IS FAST!

 

III) There are MANY easy to learn programming environments (BasiEGAXorz is FUN!) that are all around BASIC and can yield rapid results.  You want to know BASIC very well, though.  You want to be creative from the start.

 

I'll always say BASIC because a$$embly resides in a closed in, memory restrained world that we are no longer in.  You can program large, creative, and possible ROM intensive games cheaply and have fun with something that would be out of reach for many without these easy to use BASIC playthings. 

 

I LOVE BASIC CODING!  IT'S FUN!


Edited by Papa, Fri May 19, 2017 8:33 AM.


#9 Mr SQL ONLINE  

Mr SQL

    Stargunner

  • 1,750 posts

Posted Sat May 20, 2017 8:56 AM

 

Thanks!  

 

 

VW/Flashback Basic seems to push you in a certain direction (even moreso than BBasic),which isn't what I personally want in a development tool.  For me, the fun is dealing directly with what the hardware allows, and trying to make it work with game ideas that i have.   

 

So I'm not knocking the quality of it, but it's not the tool for the job that I want to do.  (And in the case of this thread, it's also not the most community-supported, which is a big part of what the original poster was asking about). 

 

Well I think if you tried it you would like it and might even want to include it in the cool presentation you are doing since this BASIC has a blitter chip like the Nintendo PPU! :)

 

I think a bigger part of what the OP asked about in terms of support was which is the best supported.

 

vwBASIC and Flashback BASIC fully support the Atari because the games are compatible with every Atari console and don't require a 32-bit processor in the cartridge to run. 

 

And every medium is supported, you can make games on cartridge, tape, CD or even tiny cartridges for the portable Atari  :)

 

Also every version of Windows is supported for development because the IDE is already installed (it repurposes the Powershell ISE present on windows).

 

I like batari BASIC too, it's also tremendous fun and the release version supports all Atari consoles as well so I would reccommend using that version over later versions with more limited console support; I think it would be awesome if someone could make a soft blitter for DPC+ games so they could be recompiled without changing any of the BASIC code to run on all Atari consoles from 1977 through 2017. 



#10 RoboticFridge OFFLINE  

RoboticFridge

    Combat Commando

  • Topic Starter
  • 2 posts

Posted Sun May 21, 2017 5:49 PM

Thank you all for your input! -- I believe I'm going to learn Assembly and tinker with Visual bB since BASIC comes pretty easy to me. Seems like a challenge! Thank you all again!



#11 SpiceWare OFFLINE  

SpiceWare

    Draconian

  • 11,580 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Sun May 21, 2017 7:23 PM

Thank you all for your input! -- I believe I'm going to learn Assembly and tinker with Visual bB since BASIC comes pretty easy to me. Seems like a challenge! Thank you all again!


You might find my tutorial handy - http://atariage.com/...tutorial-index/

#12 BNE Jeff OFFLINE  

BNE Jeff

    Moonsweeper

  • 288 posts
  • Location:Virginia, USA

Posted Mon May 22, 2017 3:46 AM

Thank you all for your input! -- I believe I'm going to learn Assembly and tinker with Visual bB since BASIC comes pretty easy to me. Seems like a challenge! Thank you all again!

 

Cool... There are a couple of little bonuses too- you'll be able to use your 6502 Assembly knowledge to program other retro systems like Nintendo NES.  Also, I heard Cyberdyne Systems is considering using it for the new Terminator T-800 series.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users