Jump to content
IGNORED

Just Getting Started


Recommended Posts

Before I say anything, I'm not naive enough to think that I can have my very own program up and running by tomorrow, next week, or even the end of this year.

 

With that said, I'm eager to learn how to program Atari 2600 games and burn them to an EPROM and play them on my Atari. My knowledge is very limited. I'm quite proficient with most computer applications but I know absolutely nothing about programming other than the names of a few languages (BASIC/ batari BASIC, C++, etc.). I don't even know HTML coding at the moment although I'm learning that. I can use BBcode but that's as close as I can get to any language.

 

Is there a good book to learn one of the programming languages? I can find plenty for C++ but you can't program Atari using C++, can you? The only BASIC books I can find are from the early 1980s. Is BASIC the best language for me to learn? I have no plans to use any programming language for anything but Atari so I won't bother learning C++ if it can't help me.

 

Once I'm ready to begin is it better to try and create a program from scratch or alter a pre-existing game slightly (i.e., a hack)?

 

I have been looking through this tutorial which leads me to a few other questions:

  • Once I learn a programming language I need to use a text editor or IDE to write the program. Is there a text editor/IDE that is best?
  • Once the code is written it needs to be converted to binary with (I think) a DSM Assembler. Is DASM 2.20.07 the one to use?
  • The code must be tested on an emulator. I currently use Stella but there are others. Which is best?
  • Once I'm ready to burn to an EPROM I need a burner. I was looking at this one. I found a thread here and a few people recommend it so I'd assume it's decent. Their website says that the chips needed for a 2600 game will work without modification.
  • If I need to erase an EPROM does the EPROM burner do that or do you need something else?
  • Finally, if I ever get a program that works is there any reason to burn the code to a PROM instead of EPROM?

 

I have found this thread and this one on this site on designing labels and boxes. That looks kind of cool.

 

I have also downloaded Andrew Davie's PDF and have begun reading through there.

 

Thanks a lot.

Edited by catbox_9
Link to comment
Share on other sites

[*]Once I learn a programming language I need to use a text editor or IDE to write the program. Is there a text editor/IDE that is best?

I like Crimson Editor, which is free. I also love Multi-Edit, but it is definitely NOT free, nor is it cheap. Free is good!

 

[*]Once the code is written it needs to be converted to binary with (I think) a DSM Assembler. Is DASM 2.20.07 the one to use?

Yes, that seems to be the best version of DASM to use. It isn't the newest version (I think 2.20.10 or something like that is newest), but 2.20.07 works better than 2.20.10.

 

[*]The code must be tested on an emulator. I currently use Stella but there are others. Which is best?

Stella is fine if you want to stick with it, but z26 is also good. I actually use both, and I have Crimson Editor set up so I can run my .BINs in either emulator after I compile/assemble my programs. Stella has a great debugger feature, but z26 has a couple of nice features that Stella either doesn't have, or they seem to work better in z26 (at least for me).

 

Michael

Link to comment
Share on other sites

Stella is fine if you want to stick with it, but z26 is also good. I actually use both, and I have Crimson Editor set up so I can run my .BINs in either emulator after I compile/assemble my programs. Stella has a great debugger feature, but z26 has a couple of nice features that Stella either doesn't have, or they seem to work better in z26 (at least for me).

 

Michael

I'd appreciate a list of areas where you feel Stella could be improved wrt z26. I especially want to hear from you, SeaGtGruff, from a developers POV.

Link to comment
Share on other sites

Stella is fine if you want to stick with it, but z26 is also good. I actually use both, and I have Crimson Editor set up so I can run my .BINs in either emulator after I compile/assemble my programs. Stella has a great debugger feature, but z26 has a couple of nice features that Stella either doesn't have, or they seem to work better in z26 (at least for me).

 

Michael

I'd appreciate a list of areas where you feel Stella could be improved wrt z26. I especially want to hear from you, SeaGtGruff, from a developers POV.

There are two specific things that I still use z26 for.

 

One is to display the line count and frame rate on the screen while the game is running, which helps me make sure I haven't messed up with any of my TIM64T values.

 

The other has to do with forcing the screen display to be in sync with the monitor's speed, which is very useful for a few things where I combine flickering with "venetian blinds" or alternating color palettes to get some "additional" colors. If the emulator's frame rate doesn't match the monitor's refresh rate exactly, then the color-mixing-by-flickering looks fine, but every so often a line will crawl up the screen and be a distraction. I don't remember for sure, but I think I had it set up in an earlier version where it worked perfectly without doing that, but now I can't get it to work perfectly anymore. It does work perfectly in z26, though.

 

Aside from that, the only other things that come to mind are (1) in z26 you can switch between all three palettes-- NTSC, PAL, and SECAM-- at will, regardless of what the line count and frame rate are; (2) you can switch at will between several different graphics modes or screen resolutions; and (3) there are a couple of bankswitching modes that either don't work correctly or aren't supported in the latest release yet. In particular, last year I was trying to rewrite the "Tron Guy Picture Cart" program, which uses Tigervision (or Tigervision extended?) bankswitching, but the program wouldn't run correctly in Stella, because it wouldn't switch to the correct bank, or wouldn't stay set to the correct bank. But it worked fine in z26. I'm not sure what the problem was-- someone suggested it might be caused by TIA accesses below address $40, but I wrote a new program from scratch, and set both the TIA read and TIA write base addresses to $40, and made sure there were no references to anything below $40 except for hitting the bankswitching hotspot at $3F, but it made no difference. Aside from that, there's also the support for 4A50 that John added to z26-- although you've already added it in Stella, too, it just needs to be released.

 

I think there were also a few weird issues with the TIA emulation, which various people had posted in other threads-- I don't even recall what they were, without going back through those old threads-- but I realize that those will get fixed sooner or later, so I can live with them. I actually use Stella about 95% of the time, unless I'm working on something that involves 4A50 bankswitching, or color mixing via flickering, and then I use z26 for those things.

 

Michael

Link to comment
Share on other sites

I'd appreciate a list of areas where you feel Stella could be improved wrt z26. I especially want to hear from you, SeaGtGruff, from a developers POV.

There are two specific things that I still use z26 for.

Thanks for the feedback.

One is to display the line count and frame rate on the screen while the game is running, which helps me make sure I haven't messed up with any of my TIM64T values.

Yes, I heard about that one before. I'm planning to add that before the next release.

The other has to do with forcing the screen display to be in sync with the monitor's speed, which is very useful for a few things where I combine flickering with "venetian blinds" or alternating color palettes to get some "additional" colors. If the emulator's frame rate doesn't match the monitor's refresh rate exactly, then the color-mixing-by-flickering looks fine, but every so often a line will crawl up the screen and be a distraction. I don't remember for sure, but I think I had it set up in an earlier version where it worked perfectly without doing that, but now I can't get it to work perfectly anymore. It does work perfectly in z26, though.

This can be done in OpenGL mode by turning on 'vsync'. Basically, the screen updates are sync'ed with the video card/monitor refresh rate, eliminating what is known as 'tearing'. Stella may never have this fixed in software mode, since I see software mode becoming less and less important as time goes by (with most computers absolutely requiring 3D hardware). Not that software mode will ever disappear, just that it will take a backseat wrt new features. Related to this, when I eventually add different video filters, they will be OpenGL only.

Aside from that, the only other things that come to mind are (1) in z26 you can switch between all three palettes-- NTSC, PAL, and SECAM-- at will, regardless of what the line count and frame rate are;

This is already fixed, and will be included in the next release. In NTSC mode, you switch between NTSC, PAL60 and SECAM60. In PAL mode, you switch between NTSC50, PAL, and SECAM.

(2) you can switch at will between several different graphics modes or screen resolutions

I'll admit there's only one graphics mode at the moment (zoom). That will change when I add new filters (not for the next release). But (full)screen resolutions can be selected at will, and I feel this is actually better than z26 (you can choose the exact fullscreen resolution to use, so that the monitor doesn't do an annoying 'mode switch'). And widescreen monitors are automatically supported in that the image isn't stretched out, but centered horizontally.

(3) there are a couple of bankswitching modes that either don't work correctly or aren't supported in the latest release yet. In particular, last year I was trying to rewrite the "Tron Guy Picture Cart" program, which uses Tigervision (or Tigervision extended?) bankswitching, but the program wouldn't run correctly in Stella, because it wouldn't switch to the correct bank, or wouldn't stay set to the correct bank. But it worked fine in z26. I'm not sure what the problem was-- someone suggested it might be caused by TIA accesses below address $40, but I wrote a new program from scratch, and set both the TIA read and TIA write base addresses to $40, and made sure there were no references to anything below $40 except for hitting the bankswitching hotspot at $3F, but it made no difference.

Yes, I recall that bug report. I also recall you were going to send me a test ROM for this :) I'm still waiting for it!! If I get it (and a brief description of what's happening), it can be fixed for the next release.

Aside from that, there's also the support for 4A50 that John added to z26-- although you've already added it in Stella, too, it just needs to be released.

Yes, this will be in the next release.

I think there were also a few weird issues with the TIA emulation, which various people had posted in other threads-- I don't even recall what they were, without going back through those old threads-- but I realize that those will get fixed sooner or later, so I can live with them.

Yes, those still have to be fixed, and unfortunately they won't be in the next release. It is coming eventually, though.

I actually use Stella about 95% of the time, unless I'm working on something that involves 4A50 bankswitching, or color mixing via flickering, and then I use z26 for those things.

Almost everything you've mentioned can be or already is fixed for the next release. Maybe after that your usage will climb above 95% :)

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