=============================================================================== CLASSIC ATARI VIDEO GAME PROGRAMMERS DIGEST # 2 - 9/11/92 "Information of interest to Classic Atari Video Game Programmers" ------------------------------------------------------------------------- Date: 11 Sep 1992 From: Ted Drude (drudetb@infonode.ingr.com) To: Classic Atari Game Programmers OK, here an edited digest of all the mail I've received in the past week or so. Based on early responses, there are some basic issues about how we are going to operate that are up for discussion: - Do we need a moderated "digest" format, or should all of us just be responsible for maintaining our own copies of mailing list addresses and for sending our messages to everyone else on the list? I have no problems with that. In fact, I've already set up my elm aliases for everyone anyway. - I know nothing else about automating a mailing list, beyond using elm aliases, so if someone else wants to do an automated "mail list server" or whatever it's called, please be my guest. I just want to be on the list and get the mail. - What do you want to do? Keep this the way it is or go "individual"? Other news: - I have gotten ZERO response from the net about the FROB. It looked like a good shortcut to the hardware interface for programming, but it obviously is a rare item. I'm still trying to ferret one of these things out, if they still exist at all. - Mike Kienenber appears to be cranking hard on getting his 2600 EPROM board and interface working. GO MIKE! - Ted Drude (drudetb@infonode.ingr.com) -------------------------------------------------------------------------- From: Mike Kienenberger Subject: 2600 programming response First off, an address change: Mike Kienenberger = FSMLK1@acad3.alaska.edu is now Mike Kienenberger = FXMLK@acad3.alaska.edu. Sorry for the delay, but I've been busy. As for the digest format, is this what we want? I can probably set up a mailing list as well as an ftp site if we need it. (TED: Mike that would be great. In fact, I'd be happy to let you take over the mailing list for the Atari Games Digest as well. And we need an FTP site for it, too.) Personally, I like quick responses and small messages. I *DO* like the digests, but maybe we should use the digests as archives. How often are the rest of you around to converse with? As for some of the questions posed: >- Where can we get some meaningful programming documentation for the > 2600 (and the 5200/7800 as well)? I suspect we will have to write our own. (TED: We need to get in touch with the guy who's been writing for The 2600 Connection. He is the one who's written the commented disassemblies that have been posted to the net. I haven't had time to study his latest article, but he explains some more of what's going on with Combat.) >- How do you read 2600 game cart ROMs into another system, so they can > disassembled and studied ? Easy to do. It just requires building some hardware for whatever system you need. My roommate and I are designing something to do this for the Apple II. >- How do you read bank-switched ROMs ? Is there a cheaper way than having to > use an in-circuit-emulator (ICE) ? I don't understand the reference. How does this apply? >- Is there a way to hook up a host development system to a 2600 so you don't > have to burn a lot of EPROMs when writing and testing code? Yes. When I build one for my apple, I'm just going to have a ram chip on a peripheral card which can be accessed by my apple and is also plugged into the atari (a single shared memory chip.) It should also let you read in an atari cartridge from another cable as well. This will essentially be the same thing as a FROB, but it will cost about $450 less :-) (TED: GREAT! I'm looking forward to seeing what you come up with.) Now as for equipment you will need to do any hardware, here's what I've currently picked up: Plug-in 44-pin PC board (only edge-connector board with 0.1 (apple II & 2600) contact centers I could find. It will have to be cut into the right size.) zero-force 28-pin socket (zip chip?) 25 watt soldering iron 60/40 resin-core solder I'm also ordering 10-20 2764 eproms an Apple II-specific (50-pin same-size) edge-connector peripheral board I already have one 2764 and an EPROM burner, and I am borrowing a friend's EPROM eraser so for now I will just keep reusing the one I have. My first EPROM cartridge hasn't worked out. It's all wired with the "colrdemo.asm" eprom (with start = $E000), but my 2600 acts as if I don't have a cartridge plugged in. I don't think I have a bad connection anywhere. Are the assembly programs correct? And where is "start"? Does it load 0000-1FFF on the cartridge into E000-FFFF in memory? That's what I am currently assuming. If anyone has a fairly short program that will definitely do something checkable, I'd be appreciative (maybe plays a tune.) Quadruple-checked hex code is ok, or I can take standard code and assemble it myself. Other good news is that I picked up another console and 20 or so games for only $5 at another garage sale this weekend. Well, I'm off to the electronics stores to try to get some more equipment. If anyone has code that they know will really work, send it to me! -Mike Kienenberger FXMLK@acad3.alaska.edu ------------------------------- Date: 08 Sep 1992 00:49:47 -0800 From: The Special FX Guy Subject: 2600 cartridge pinout changes (Looking at the bottom of the cartridge -- i.e. edge connectors first) Top D3 D4 D5 D6 D7 A11 A10 A12 A9 A8 +5V SGND --1- --2- --3- --4- --5- --6- --7- --8- --9- -10- -11- -12- GND D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 Bottom Dx = Data line x Ax = Address line x +5V = +5 volts SGND = Shield Ground GND = Ground Note 1: On both of the cartridges I took apart, GND was also connected to SGND. Best to make sure that they are wired together. Note 2: A11 and A12 could be switched. On both the chips I've checked, A12 was hardwired to +5 volts which leads me to believe that it is the highest address line. Since I believe that these chips are only 4Kx8 ROMs, this seems logical, since A12 would actually be just the chip enable for ROM (right?). Only the 2600 info tells differently, and it doesn't give any connection for A11 on the EPROM, so I don't trust it. Unfortunately, since the 2716 EPROM is used as an example, we won't know without actually testing one, since the 2716 doesn't really use A11 or A12 and either one could be used as a chip enable. -Mike Kienenberger FXMLK@acad3.alaska.edu (Yes, the information given in the earlier net contributions is either wrong or poorly presented.) ------------------------------------- Date: 10 Sep 1992 01:58:29 -0800 From: the 'special FX' guy Subject: Eprom Cartridge update To: Atari 2600 programming list Well, I have successfully built a unit which "does something" I still don't know if A11 and A12 should be switched. I don't know if I should assume that $E000 (0xE000) is Cartridge $0000. While my program runs (ColrDemo.asm), it doesn't do what I expected. It scrolls colors upwards. or downwards. But it does do something. (TED: GREAT! Glad that some progress is being made. ---BTW, Are you sick of my cheerleading or what!) ------------------------------------- Date: Sat, 5 Sep 92 17:11:00 -0600 From: galt%peruvian@cs.utah.edu (Greg Alt) Subject: cartridge trading, the programming list Also, about the programming list... I was thinking it might be best if we have some kind of interactive thing where everyone sends it to everyone, that way the communication will go faster. I've been on lists like that before, but I'm not sure how to set one up. Oh, also, sean@asylum.utah.edu would like to be on the programming list too. Greg ------------------------------------- From: exuhag@exu.ericsson.se (James Hague) Date: Thu, 3 Sep 92 08:17:46 CDT Subject: Re: Atari programming digest #1 Ted asked about where we can get meaningful documentation for the 2600. The answer is: we already have it. Seriously, I have the official developer's docs for the 2600, including a "tutorial." This is supposedly how most people learned the system. I also know that at least several developers completely reverse engineered the 2600 from the ground up, without ANY documentation. I own the docs for several other video game systems and trust me, things are always about the same. I'm not knocking it--I really don't think that you need any more than this. The official documentation, BTW, doesn't include any sample code. There *is*, or at least there used to be, a development "system" which hooked up the the Atari ST computers. It was basically a flaky ICE plus some software to drive it. A nice 2600 sound editor was also included. At one time this entire system and documentation sold for only $40, but Atari no longer produces it. One thing which I can't overemphasize is that even if you know 6502 assembly inside and out and ditto for the 2600 hardware, you're STILL a long way from a decent game. Most Activision titles took close to nine months of full-time work. What I'm looking for in this digest: - Discussions about setting up development systems, various cross assemblers available, etc. - Discussions which may clarify vague areas in the 2600 specs. We could figure these out individually, but why not save some time? What I'm not looking for: - General programming & game design questions. - Talk about making hacked versions of classic games, etc. Good luck! ------------------------------------ End of Atari Game Programming Digest # 2