=============================================================================== CLASSIC ATARI VIDEO GAME PROGRAMMERS DIGEST # 1 - 9/2/92 "Information of interest to Classic Atari Video Game Programmers" ------------------------------------------------------------------------- Date: 2 Sep 1992 From: Ted Drude (drudetb@infonode.ingr.com) To: Classic Atari Game Programmers Subject: Getting this thing started. So far, here's all the folks on this mailing list: Greg Alt = galt%peruvian@cs.utah.edu Ted Drude = drudetb@infonode.ingr.com James Hauge = exuhag@exu.ericsson.se Mike Kienenberger = FSMLK1@acad3.alaska.edu Marek Tomczyk = uj1g@ibm3090.rz.uni-karlsruhe.de Jay Wilkinson = jay@lafayette.unocal.COM This is a first attempt at a digest-style programming newsletter, which is modeled after the Classic Atari Video Games Digest. Let me know what you think. I've sent everybody a copy of the 2600 programming information file that Jeff Scott sent me when we first organized the game digest a couple of months ago. That's a starting point for discussion. It appears the text in that file is part of an article that appeared in The 2600 Connection #8 (Jan/Feb '92). Tim printed part one of a four-part series entitled "Programming the 2600", by Harry Dodgson, then we never saw another article. Finally, in the Aug/Sep '92 issue #12, part two has appeared. If Tim continues to get stuff from Harry, we should eventually have a decent beginning tutorial on programming a 2600, but it may take awhile. >From my perspective, you have to thoroughly understand two things in order to program a 2600: - 65XX machine language. - The architecture of the 2600. I understand the former pretty well, but am still working on the later. Here's a brief list of some things I need clarified in my mind in order to start doing games for the 2600, in no particular order: Issues to be resolved: - Where can we get some meaningful programming documentation for the 2600 (and the 5200/7800 as well)? - How do you read 2600 game cart ROMs into another system, so they can disassembled and studied ? - How do you read bank-switched ROMs ? Is there a cheaper way than having to use an in-circuit-emulator (ICE) ? - 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? So, there's my first contribution to the programming digest. Here's some of what I've already received from you (as edited by me): ------------------------------------------------ Date: 28 Aug 1992 06:28:25 -0800Date: From: Mike Kienenberger Subject: The 2600 programming list I am very much interested in joining the 2600 programming list. (I've already started building my own EPROM-loadable cartridge!) I've also told UJ1G@DKAUNI2.BITNET about the mailing list since we were sort of trying to figure this out together. That will make five of us. Here's my experience: I was one of the classic Apple II hacks so I can program 6502 assembly with skill. I also know enough about digital electronics that I can design a games cartridge using EPROMS. I do not really know anything about atari programming in general so I will need to have help in that area. I don't get 2600 Connection. I will go out and look for it, but I don't know what the chances for finding it are. Perhaps if I can't find it (and Marek [UJ1G@DKAUNI2.BITNET] will probably have no chance of finding it.), you could either buy and send me a copy or photocopy the one you have (or digitize it :-) [Ted: Well Mike, you won't find it on any newstand. It's available from: The 2600 Connection c/o Tim Duarte P.O Box 3993 Westport, MA 02790 Subscription price is $6/yr. (six issues), or $1.50 for each back issue. I'll try to post some of the summaries and disassembled listings that are in the latest article.] I've been buying Atari 2600 stuff at garage sales for some time now. I have 3 or more pacman games, so I finally just broke one open and started looking inside. With the 2600 info I've grabbed off of the net, and the pacman (as well as a broken Wizard of Wor cartridge), I've figured out a wiring diagram to hook up 2716 - 2732 eproms. [I am including my results at the end of this message. Please send me any information you have as well. Gregg and Marek already have my info.] I do not know about EPROM emulators. However, I still have my old Apple II+ and my EPROM burner card for it, so I will probably do all of my development on it [Write a program, burn an EPROM, plug it into the cartridge, test it, repeat. :-)]. [Ted: You need a 'frob' Mike! What's a frob? Read about it below!] I can probably also build a periferal card for my Apple that will let us copy the information off of the cartridges. [the cartridges seem to use 9332B chips which are very similar to my Apple's 9316B rom chips.] [Ted: Great! If you get a wiring diagram for it, that's a big start.] >From their I can upload them to my NeXT, and then upload them to the net. You could disassemble them and upload the results.] [Ted: I've got a very good 6502 symbolic disassembler.] I think we need a mailing list for sure, and it would be handy if we had an ftp site as well. I don't really have any way to set up a mailing list, but I can probably supply an FTP site if no one else can. -Mike Here's what I've deduced: Cartridge slot Top D3 D4 D5 D6 D7 A12 A10 A11 A9 A8 +5V SG --1- --2- --3- --4- --5- --6- --7- --8- --9- -10- -11- -12- A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 NC Bottom Address lines Memory used Available EPROM Memory ====================================================== A11 2048 2716 2K A12 4096 2732 4K A13 8192 2764 8K ____________ | 2716 | A7 | 1 24 | VCC [+5 V] A6 | 2 23 | A8 A5 | 3 22 | A9 A4 | 4 21 | VPP [Doesn't matter probably. +5V] A3 | 5 20 | !Output Enable (always on) [GND] A2 | 6 19 | A10 A1 | 7 18 | !Chip Enable (make high bit) [inverted A12] A0 | 8 17 | D7 D0 | 9 16 | D6 D1 | 10 15 | D5 D2 | 11 14 | D4 GND | 12 13 | D3 |__________| ____________ | 2732 | A7 | 1 24 | VCC [+5 V] A6 | 2 23 | A8 A5 | 3 22 | A9 A4 | 4 21 | A11 A3 | 5 20 | !Output Enable (always on) [GND] / VPP A2 | 6 19 | A10 A1 | 7 18 | !Chip Enable (make high bit) [inverted A12] A0 | 8 17 | D7 D0 | 9 16 | D6 D1 | 10 15 | D5 D2 | 11 14 | D4 GND | 12 13 | D3 |__________| ____________ | 2764 | VPP | 1 28 | VCC [+5 V] A12 | 2 27 | !Program Strobe (no connection?) [GND] A7 | 3 26 | No Connection A6 | 4 25 | A8 A5 | 5 24 | A9 A4 | 6 23 | A11 A3 | 7 22 | !Output Enable (always on) [GND] A2 | 8 21 | A10 A1 | 9 20 | !Chip Enable (always on) [GND] A0 | 10 19 | D7 D0 | 11 18 | D6 D1 | 12 17 | D5 D2 | 13 16 | D4 GND | 14 15 | D3 |__________| -------------------------------------------- Date: Wed, 2 Sep 92 15:05:19 CDT From: jay@lafayette.unocal.com (Jay Wilkinson) Subject: The Frob Ad I sent a FAX around 3:00 p.m. CDT [with a copy of ad from an old Byte for the "frob", an Apple II-based development system for the 2600]. [Ted: Thanks Jay! I remembered seeing this ad years ago. Here's the text version of the ad for anyone interested:] The Frob 26(tm) The Serious Game Design Tool For The Serious Designer At The Price Of A Toy For The Hobbyist The Game Cartridge Development System for the Atari 2600 Video Computer System. [Picture in ad shows an Apple II-bus board, a 5.25" diskette, a three-ring bound "The Frob" manual with the cover open, a ribbon cable with connectors on both ends, and what appears to be two 2600 EPROM/ROM cartridge boards.] Features Include: Real-time development No hardware modifications required Apple ][ 48K, one disk drive required Optional Atari 5200 Supersystem Adapter Package [In a box in the center of the ad:] Now Available for the Colecvision Now Only $495 Call today to order 408-429-1551 All major credit cards accepted For high profit reward, purchase the tool that can do the job at an unbeatable price. [ Wish we still could! :-) ] frobco A Division of Tri-comp Polytechnics Inc. P.O. Box 8378 Santa Cruz, CA 95061 408-429-1551 The Miracle of Creation Can Be Yours [Ted: I WANT MY FROB!] ----------------------------------------------------------------- End of Programming Digest # 1