Heaven/TQA Posted September 21, 2005 Share Posted September 21, 2005 i was just wondering why we have a vital homebrew scene on the damned hard programming beast 2600 and not on my fave platform...atari 800... i mean if you are hooked to atari why not trying the 800??? there you get - softscrolling horizontal/vertical - raster interrupts - more than 15 gfx modes and mixtures - tile based gfx - 4 players/4 missles - pokey soudchip - 256 colours - 64kram - GTIA/ANTIC custom gfx chip - disc drive... is this not something for you??? i mean TIA/RIOT is ok... but why not get to the next level... and to be in "2600" mode... simply don't use the custom gfx chips and switch of DMA... Quote Link to comment Share on other sites More sharing options...
+batari Posted September 21, 2005 Share Posted September 21, 2005 i was just wondering why we have a vital homebrew scene on the damned hard programming beast 2600 and not on my fave platform...atari 800... i mean if you are hooked to atari why not trying the 800??? there you get - softscrolling horizontal/vertical - raster interrupts - more than 15 gfx modes and mixtures - tile based gfx - 4 players/4 missles - pokey soudchip - 256 colours - 64kram - GTIA/ANTIC custom gfx chip - disc drive... is this not something for you??? i mean TIA/RIOT is ok... but why not get to the next level... and to be in "2600" mode... simply don't use the custom gfx chips and switch of DMA... 935638[/snapback] That's kind of like telling someone to sell his record collection and "get with the program" by buying a bunch of cassette tapes instead. If you like vinyl, nobody's going to convince you that cassette tapes are better, no matter what they say. Basically, the 2600 homebrew scene is not logical but we do it anyway Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted September 21, 2005 Author Share Posted September 21, 2005 fully understood. i want to convience people to unleash their creativity and coding power to my lovely platform... Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted September 21, 2005 Share Posted September 21, 2005 Where's the challenge with all that "advanced" hardware? Quote Link to comment Share on other sites More sharing options...
cd-w Posted September 21, 2005 Share Posted September 21, 2005 (edited) ...is this not something for you??? i mean TIA/RIOT is ok... but why not get to the next level... and to be in "2600" mode... simply don't use the custom gfx chips and switch of DMA... 935638[/snapback] I think one of the key motivations is to separate "gameplay" from "technology". The 2600 makes it very difficult to hide a poor game behind flashy special effects. When porting a game to the 2600 you have to consider if each feature is essential to the game, and if not, it gets left out. Another factor is scale - the limitations of the 2600 mean that it is possible for a single person to write a game in their spare time. With a more complex architecture, I think you would be looking at a much greater time committment. However, for me, probably the biggest reason to stick with the 2600 is the great active community that has built up around the machine. Chris Edited September 21, 2005 by cd-w Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted September 21, 2005 Author Share Posted September 21, 2005 Thomas...the challenge lies in the 6502... Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted September 21, 2005 Share Posted September 21, 2005 Thomas...the challenge lies in the 6502... Nah, I'd already mastered that challenge 20 years ago (C64). Quote Link to comment Share on other sites More sharing options...
potatohead Posted September 21, 2005 Share Posted September 21, 2005 There are a ton of working 2600 machines. Not so many 800's. Personally I would like to see the 7800 get more attention than it does, but there is the same problem --lack of machines. Re: Gameplay. Can totally relate to this. The simple nature of the 2600 makes for interesting games --there is a feel to a well done 2600 game that's just cool. Having to sync everything is a big part of that. Quote Link to comment Share on other sites More sharing options...
Albert Posted September 21, 2005 Share Posted September 21, 2005 I can cite a few reasons why I believe the Atari 2600 is targeted by more homebrew authors than any other classic systems. First, the 2600 was an extremely popular system, much more so than any of the other systems of that era (Odyssey 2, Intellivision, ColecoVision, Vectrex, etc.) This includes the computers also, since the 2600 was cheaper and more accessible than a Commodore 64 or Atari 800XL. People are going to want to write games for a system they are familiar with and spent time with "back in the day", and the Atari 2600 wins that popularity contest hands down. This popularity doesn't extend just to programming, but the 2600 is easily the classic gaming system that draws the most attention from hobbysts, as well as the mainstream media. Second, the 2600 is one of those rare systems where a single individual can create all the elements of a game, including the design, coding, art, sound effects, and music. Many systems with more advanced graphics or sound capabilities require that the programmer also be somewhat adept at creating graphics and audio, or require the assistance of individuals talented in these areas. Part of the lure for the 2600 is that you CAN create a game start to finish all by yourself. Third, the 2600 has odd hardware that is very difficult to program for. And when I say very difficult, I mean relative to virtually every other game system. Programmers generally like to be challenged, and the 2600 wins that contest hands down. Discounting something like bAtari BASIC, getting even a single pixel to display on the 2600 can be a daunting task. Thus, putting together a complete and enjoyable Atari 2600 game is a very rewarding experience. ..Al Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted September 21, 2005 Author Share Posted September 21, 2005 Albert...fully understood... but how often i am supprised that programming newbies (in terms of 8bit machines) turn to 2600 to write their 1st game? come on... as you mentioned it... even displaying a pixel can be a hard challenge... I personally would like people pay attention to the other atari "consoles" as well like 7800 (as i tried to code as well and i would prefer to start with this gaming beast as well...) or the 800 (then take the XEGS gaming console...or the 5200)... i mean...you can write carts on this machine as well (see castle crisis). think of the nice game ideas or the game play on 800 as well... i just want to share more ideas...but here at arariage the "homebrew" scene is 2600 only and little 5200... f.e. a 800 port of adventure 2 should be possible to do in one day... Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted September 21, 2005 Share Posted September 21, 2005 think of the nice game ideas or the game play on 800 as well... i just want to share more ideas...but here at arariage the "homebrew" scene is 2600 only and little 5200... The 7800 scene seems fairly active. There are at least three ongoing projects right now (Tubes, Q*Bert, and Frogger). Though I haven't heard much from any of those in a month or so. Quote Link to comment Share on other sites More sharing options...
supercat Posted September 23, 2005 Share Posted September 23, 2005 is this not something for you??? i mean TIA/RIOT is ok... but why not get to the next level... and to be in "2600" mode... simply don't use the custom gfx chips and switch of DMA... 935638[/snapback] Part of the appeal of the 2600, IMHO, is that one can push the machine so far beyond anything its creators would have possibly imagined in 1977. Some of this is a result of extra hardware which would have been unduly expensive in 1977, but a lot of it is just really clever programming and creativity. There is IMHO probably more "undiscovered territory" for the 2600, even today, than just about any other platform. Take a look at something like Splatform. Cute little game. Half the size of Combat. No reason it couldn't have been produced in 1977, except that nobody thought of it. Now look at something like Oystron. That too could have been produced in the 1970's (when did Atari do their first 4K cart?) but many of the techniques it uses hadn't been discovered yet. What makes the 2600 unique is the extent to which the code is the display-generation "hardware". Unlike most systems which have fixed object sizes and attributes, the 2600 lets the programmer decide what he wants to work with. Want your objects colored on a per-scan-line basis? No problem, if you can spare the cycles. Want the data updated on every line or every other? Your choice (again, if you can spare the cycles). Designing a kernel for the 2600 is more like doing hardware than any other type of programming I know. Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted September 23, 2005 Author Share Posted September 23, 2005 so...the 2600 was delivered with a "build in game"... called "writing the kernel" interesting... i was addicted to my 2600 back in the glory days...knowing the specs nowadays... i really appreciate the work of david crane and others esp. at activision... (pitfall 2, chopper command, hero, key stone capers, star master, space shuttle...just to name few of my games) Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted September 23, 2005 Author Share Posted September 23, 2005 but again my question...why pushing the 2600 where no men ever was... why not the 5200 or the 800??? Quote Link to comment Share on other sites More sharing options...
potatohead Posted September 23, 2005 Share Posted September 23, 2005 but again my question...why pushing the 2600 where no men ever was... why not the 5200 or the 800??? 936849[/snapback] Because they can't be pushed in quite the same way. They are flexible, but not in the same fashion. Expectations are higher too. The computers are capable of some pretty nice visuals. Maybe I'm going out on a limb, but the limits of the 8bitters is known. We have not yet seen all the 2600 can do. I'm not saying it's more powerful, but it is way more flexible than any other classic system. That flexibility really is the attractor for me anyway. Seeing the innovations year after year is just great. Look at the Boulderdash game posted here a while back. Holy cow! That's one powerful piece of programming. The end result would be trivial on the computers and that's what makes it so great to see on the 2600. There just is no environment like it. Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted September 23, 2005 Share Posted September 23, 2005 i was just wondering why we have a vital homebrew scene on the damned hard programming beast 2600 and not on my fave platform...atari 800... i mean if you are hooked to atari why not trying the 800??? there you get - softscrolling horizontal/vertical - raster interrupts - more than 15 gfx modes and mixtures - tile based gfx - 4 players/4 missles - pokey soudchip - 256 colours - 64kram - GTIA/ANTIC custom gfx chip - disc drive... is this not something for you??? i mean TIA/RIOT is ok... but why not get to the next level... and to be in "2600" mode... simply don't use the custom gfx chips and switch of DMA... 935638[/snapback] Well, I'll probably be doing some 8-bit programming again after I tackle a 2600 game or three, because there's some RPG games I've had in mind for years, but my disk drive crashed and I never replaced it. In fact, my 130XE's keyboard got mucked up sitting in storage (stuff piled on top of it, and now many of the keys don't work), but I still have 65XE that seems to be okay. In short, I'll have to fix up my old 8-bit system (new hard drive, maybe replace or fix my 130XE), or else try to make do with emulators. The thing is, my game ideas hinge on flipping the screen to get more colors, and the colors don't blend the same way on emulators and fancy monitors as they do on a real Atari and a TV screen, so I'd prefer to do it on the real thing (but maybe have an emulator version that uses different colors to try to get the same results). I started out wanting to write games for the 2600, and after I got an 8-bit I sort of assumed that they were basically the same. So when I finally started learning how to program for the 2600 just a few years ago, I was totally shocked at how very different it is. Right now I'm focusing on the 2600, and I'm learning a whole new way of thinking about game design (i.e., display kernels) that will greatly change my approach to 8-bit programming, so I'm expecting that when I do get around to working on my 8-bit games (which would probably be totally unattainable on the 2600, due to its more primitive graphics), the experience I'm getting on the 2600 will be a big help. By the way, it seems like each new computer I got (with the exception of IBM compatibles or Windows computers) gave me ideas on how to do more with the computers I had previously. For example, my first computer was a VIC-20 (not my choice; my parents bought it for me for Christmas), then I was eventually able to buy myself an 8-bit Atari (which I'd wanted all along). So when I learned how to program the Atari, it gave me ideas on how to squeeze more out of my VIC-20 by creating raster interrupts (similar to Atari display list interrupts, only much more primitive). Then, I bought a used Amiga from a friend, and that gave me ideas for doing nifty things on the 8-bit Atari-- namely, imitating the way that the Amiga can display multiple screens in different graphics modes, and you can slide the screens up and down in front of each other like slides. That sort of thing can be done with the Atari's display list, if you point different screen zones to their own memory areas. I never actually got around to doing it, but it's definitely possible, you just have to keep modifying the display list dynamically as needed. To clarify this idea a bit so someone can tackle it if they want, here's how it would work: Suppose you want to have three different screens in three different graphics modes-- one in text mode (GRAPHICS 0), one in the 4-color hi-res pixel mode (GRAPHICS 15? I forget the numbers and I don't have a good reference handy), and one in the 4-color lo-res pixel mode (GRAPHICS 3?). You create a custom DL that has three zones for the three modes, but each zone starts by pointing to its own area of memory that is big enough to hold an entire screen in that mode. Then all you need to do is adjust the display list to change the number of lines that get displayed for each mode. For example, you could have an entire GRAPHICS 0 screen, but maybe only the first two rows of characters are displayed initially. And an entire GRAPHICS 15 screen, with only the first part being displayed, etc. Then you adjust the display list so the GRAPHICS 0 screen seems to slide up and cover the other screens, revealing rows of the GRAPHICS 0 screen that were previously below the bottom of the screen, if you see what I mean. The other screens would still be there in memory, you just aren't displaying them, or are displaying less of them, depending on how far you slide the GRAPHICS 0 display up the screen. Or you can slide the GRAPHICS 0 screen back down, and reveal the screens that were behind it, etc. It's kind of hard to describe, but if you've ever seen this sort of thing done on the Amiga, then you should be able to follow what I'm trying to describe. Maybe I'll do a simple demo some day to illustrate. Anyway, working with the Atari 8-bit gave me ideas for the VIC-20, working with the Amiga gave me ideas for the Atari 8-bit, and now working with the 2600 is giving me ideas for the Atari 8-bit! It's kind of cool in a circular sort of way. Michael Rideout Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted September 23, 2005 Share Posted September 23, 2005 Anyway, working with the Atari 8-bit gave me ideas for the VIC-20, working with the Amiga gave me ideas for the Atari 8-bit, and now working with the 2600 is giving me ideas for the Atari 8-bit! It's kind of cool in a circular sort of way. 936870[/snapback] And I should have said, working with the Atari 8-bit has given me ideas about how to do things on the 2600, too. Specifically, I want to map the 2600's playfield and sprites to extended RAM (such as with M-Network bankswitching) so I can just put what I want to in the RAM screen area, and have the kernel display it by grabbing the next line of bytes. That's a lot easier for me to do than having to count lines and then grab the data from ROM. For example, I'd rather have a sprite that's 192 lines tall, with some bytes blank (0) and some having player data, then move the sprite up or down by moving the bytes up or down in the 192-line-tall memory area, because that just seems a lot easier to me. I mean, I guess it's more work in some ways, but it's also easier in other ways. For example, one RPG game that I started for the 2600, but have temporarily put aside (Quest for the Lost Pyramids of Atlantis), has a playing field that's 128 lines tall, because there are other areas or strips above and below the playing field-- a score bar and status/action bar above the playing field, and an inventory bar below the playing field. That means I can have sprite memory that is 128 bytes, to span the entire height of the playing field, and I can also have 128 bytes for the sprite color, giving 512 bytes of RAM needed for one player. Then my display kernel just gets the shape data from the appropriate location, depending on which scan line I'm on, and gets the color data from the appropriate location, so I can have a different 8-bit shape and a different color for the sprite on each scan line of the playing field. I don't have to worry about weird (to my way of thinking) kernels that have to check which line I'm on to see if it's time to start drawing the player, because the kernel always does the same thing-- it gets the next shape byte and stores it in the player graphics register, then gets the next color byte and stores it in the player color register, and updates the index register (X or Y) so the kernel will grab the next bytes for the next scan line. That's closer to Atari 800 program style (although the grunt work has to be done by the kernel, since it isn't handled automatically by the 2600 the way it is on the 800). But it also requires a lot of extra RAM, which isn't a problem if you're programming for an emulator (as I am right now; I'll worry about the issues of producing affordable cartridges when or if I get that far in my game production!). So everything's connected, and for me at least, spending time programming for the 2600 is only going to benefit my 8-bit Atari programming in the long run. Michael Rideout Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted September 23, 2005 Author Share Posted September 23, 2005 Sea... your description is similar to me (Except i never touched the 2600 to be honest...Kernel... aaarg sux... ) i got a vic-20 and then 800 and then atari ST and amiga 1200 and then back to 800 giving me ideas as the 800 is powerfull enough to do some of the 1200 tricks... and 2 weeks ago i got my vic20 from ebay...(real hardware... ) so... the circle is closing... Quote Link to comment Share on other sites More sharing options...
DracIsBack Posted September 28, 2005 Share Posted September 28, 2005 think of the nice game ideas or the game play on 800 as well... i just want to share more ideas...but here at arariage the "homebrew" scene is 2600 only and little 5200... The 7800 scene seems fairly active. There are at least three ongoing projects right now (Tubes, Q*Bert, and Frogger). Though I haven't heard much from any of those in a month or so. 935878[/snapback] The 7800 scene had its own issues getting off the ground. First it was understanding the validation key. Then it was putting together a knowledge base on its very unique hardware. Then it was a case of developing the tools. As all of these things went into play and as the HOMEBREW contest took off, the games began to appear. Having the launch of the Cuttle Cart II so people could play on a real 7800 helped. Now, the big hurtle is designing 7800 cartridges so that Homebrews can be manufactured without hacking up existing titles in the process. Bruce has been working dilligently on that. Quote Link to comment Share on other sites More sharing options...
mos6507 Posted September 28, 2005 Share Posted September 28, 2005 The 2600, Atari8, and Amiga can all be pushed very far. I think the reason the 2600 has the most appeal is that it isn't a home computer. It's a console. And it had been a closed console with very little data on how to program for it (or any way to develop for it) for close to 2 decades. I know the Atari 800 was a "closed" console to some extent when it came out as far as lack of documentation on the custom chips, but that only lasted a year or two before DeReAtari was published so that's been grossly overstated. The APX program for the Atari could be considered the first true homebrew system. It wasn't until emulators got fast enough and people could start downloading games to the Supercharger that people could really start homebrewing. But you've _always_ been able to write games for the Atari8 or the Amiga. So in a sense those platforms just don't have the same mystique. There is less of a sense of uncharted territory. Many 2600 homebrewers used to program the Atari8 in the old days, at least to the point of typing in code from magazines, so there is less novelty there. The 2600 is a better target platform because of the userbase. Far more people own 2600s, if only in their closet, than any 8-bit home computer. And there is this constant renewal going on ever since the first Activision commercial emu about 10 years ago up to Flashback 2. The 2600 keeps getting mainstream attention that keeps bringing people into (or back into) the 2600 gaming scene. Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted October 8, 2005 Share Posted October 8, 2005 And I should have said, working with the Atari 8-bit has given me ideas about how to do things on the 2600, too. Specifically, I want to map the 2600's playfield and sprites to extended RAM (such as with M-Network bankswitching) so I can just put what I want to in the RAM screen area, and have the kernel display it by grabbing the next line of bytes. That's a lot easier for me to do than having to count lines and then grab the data from ROM. For example, I'd rather have a sprite that's 192 lines tall, with some bytes blank (0) and some having player data, then move the sprite up or down by moving the bytes up or down in the 192-line-tall memory area, because that just seems a lot easier to me. I mean, I guess it's more work in some ways, but it's also easier in other ways. 936875[/snapback] This is very close to how I have done things in Boulder Dash , except I have implemented a 'character mode' screen. The data is just plonked into RAM (character #) and the display system grabs the appropriate character shape for display and displays the character. Works exactly like a '800 character mode screen, and is totally transparent to the programmer. Cheers A Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted October 9, 2005 Share Posted October 9, 2005 And I should have said, working with the Atari 8-bit has given me ideas about how to do things on the 2600, too. Specifically, I want to map the 2600's playfield and sprites to extended RAM (such as with M-Network bankswitching) so I can just put what I want to in the RAM screen area, and have the kernel display it by grabbing the next line of bytes. That's a lot easier for me to do than having to count lines and then grab the data from ROM. For example, I'd rather have a sprite that's 192 lines tall, with some bytes blank (0) and some having player data, then move the sprite up or down by moving the bytes up or down in the 192-line-tall memory area, because that just seems a lot easier to me. I mean, I guess it's more work in some ways, but it's also easier in other ways. 936875[/snapback] This is very close to how I have done things in Boulder Dash , except I have implemented a 'character mode' screen. The data is just plonked into RAM (character #) and the display system grabs the appropriate character shape for display and displays the character. Works exactly like a '800 character mode screen, and is totally transparent to the programmer. Cheers A 944354[/snapback] I just read up on your engine, since I wasn't around when you first posted about it. Yes, that's the sort of thing I had in mind. I hadn't thought of your approach in my WIP game, but my game doesn't have a lot of pf action like BD does. I just fill the screen RAM from ROM data when the pf changes, which is when the player moves from one location to another, or when the title screen changes (I have two title screens that use pf pixels for the letters). The only RAM I need to manipulate from frame to frame is the p/m RAM, and that mainly consists of moving the player up or down, and moving the color info to match (since the players are multicolor). Your engine sounds neat. It would be fantastic to put together a combined pf-p/m engine that manages pf- and p/m-mapped screens, so homebrewers can use it to develop more elaborate games for the 2600. Extra RAM is no longer an issue, so there's no good reason not to do something like this. And when supercat produces carts with his bankswitching scheme, the ability to r/w RAM at the same address, and especially to execute RAM routines, will open up some awesome possibilities. For example, if we could build a kernel in RAM that would actually contain the data to be displayed, then we could use immediate mode to load the registers, which would speed things up a tad and hopefiully let us squeeze in another instruction or two on each scanline. Since we wouldn't want to spend a lot of time updating the data that's coded into the RAM kernel except when we really need to, an engine like the one you designed for BD would be perfect for that! Michael Rideout Quote Link to comment Share on other sites More sharing options...
krupkaj Posted October 20, 2005 Share Posted October 20, 2005 Where's the challenge with all that "advanced" hardware? 935657[/snapback] did you say advanced? Nevertheless I would love to see your port of Thrust+ on A800. I know there is one Thrust but it has horrible control scheme. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.