alex_79 Posted October 25, 2012 Share Posted October 25, 2012 I found a scan of a VCS programming guide from Coleco. I 'collect' all the tech docs about the VCS that I can find on the web and while I had quite a few versions of the "Stella Programmer's Guide" from Atari I never saw this one before. The file can be found on "The ADAM Resource" website in the technical manuals section. The doc is called "Coleco TIA.pdf", it lacks a few pages which are on another file "Coleco TIA Schematic.pdf" on the same web page. I haven't read it entirely yet, so I could be wrong, but I think the only reference to Coleco is in the filename. TIA is referred to as VIC (Video Interface Circuit) It seems to me more detailed than the Stella Guide in describing the VCS workings (it also include code snippets in asm), so it might be useful for someone learning VCS programming. The only drawback is that it uses different names for the TIA registers and graphical objects than the 'standard' ones. Here's a corrispondence table: Object A,B -> Player 0,1 Projectile A,B -> Missile 0,1 Border -> Ball Foreground -> Playfield TIA registers: VBLNK = VBLANK HSYNC = WSYNC CRHOR = RSYNC OBASR = NUSIZ0 OBBSR = NUSIZ1 CLROA = COLUP0 CLROB = COLUP1 CLRFB = COLUPF CLRBG = COLUBK BDRSZ = CTRLPF OBADR = REFP0 OBBDR = REFP1 FGNDA = PF0 FGNDB = PF1 FGNDC = PF2 CROBA = RESP0 CROBB = RESP1 CRPJA = RESM0 CRPJB = RESM1 CRBDR = RESBL SNDAS = AUDC0 SNDBS = AUDC1 FREQA = AUDF0 FREQB = AUDF1 LVLSA = AUDV0 LVLSB = AUDV1 OBJAF = GRP0 OBJBF = GRP1 PJAEB = ENAM0 PJBEB = ENAM1 BDREB = ENABL HMOBA = HMP0 HMOBB = HMP1 HMPJA = HMM0 HMPJB = HMM1 HMBDR = HMBL OBARS = VDELP0 OBBRS = VDELP1 BDRES = VDELBL PJATK = RESMP0 PJBTK = RESMP1 HMENB = HMOVE HMRST = HMCLR OCRST = CXCLR I integrated the pages from the two PDFs into a single document in the correct order and also rotated those with diagrams in landscape orientation to make it easier to read on a PC monitor. I always prefer the DJVU format for scanned documents as it results in smaller file size and the viewer software is lightweight and fast even on old pc, so I converted the document in this format. I added OCR text as well so it is now searchable. Here is the link of the fixed file, I also included a PDF version, but it lacks the OCRed text. DJVU PDF 2 Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted October 25, 2012 Share Posted October 25, 2012 Thanks, very interesting! Quote Link to comment Share on other sites More sharing options...
ClausB Posted October 27, 2012 Share Posted October 27, 2012 Interesting indeed! Quite a piece of reverse engineering, with video and sound waveforms, disassemblies, even a chip layout. Did they decap it way back then? Did they have consultations with former Atari programmers? I wonder. Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted October 27, 2012 Share Posted October 27, 2012 Interesting indeed! Quite a piece of reverse engineering, with video and sound waveforms, disassemblies, even a chip layout. Did they decap it way back then? Did they have consultations with former Atari programmers? I wonder. Yeah, some of the information seems a little too detailed to have been discovered through reverse engineering. It makes me wonder if they'd managed to get their hands on the TIA schematics? As for the different names used for the registers, maybe they did that so they could say their chip was different? "Your Honor, Atari's TIA chip had the registers shown in Exhibit A, whereas our VIC chip has the registers shown in Exhibit B. Clearly we did not plagiarize their TIA chip!" I also think it's interesting that the document uses the NTSC color frequency-- ca. 3579545 Hz-- rather than the 3579575 Hz frequency shown in the 2600 schematics. I wonder if Coleco's 2600 clone used a 3579545 Hz crystal instead of a 3579575 Hz crystal like Atari did? Quote Link to comment Share on other sites More sharing options...
Tjoppen Posted October 28, 2012 Share Posted October 28, 2012 Great find Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted October 28, 2012 Share Posted October 28, 2012 Are the files too large to ZIP up and attach to a post? Quote Link to comment Share on other sites More sharing options...
alex_79 Posted October 28, 2012 Author Share Posted October 28, 2012 The files are 2.8Mb (djvu) and 5.2Mb(pdf) and they won't compress enough to match the size limit (2Mb) for attachments on the forum. I can upload split archives, if you want, but I must also change the file extension to something accepted by the forum software and you'll have to rename them before decompressing. Quote Link to comment Share on other sites More sharing options...
Tjoppen Posted October 28, 2012 Share Posted October 28, 2012 Here, I uploaded the PDF: http://www.acc.umu.se/~tjoppen/files/vcs/Coleco_TIA.pdf 1 Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted October 28, 2012 Share Posted October 28, 2012 You could ask Albert to host them directly on AA. Just drop him a PM and see what he says. Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted October 28, 2012 Share Posted October 28, 2012 Here, I uploaded the PDF: http://www.acc.umu.s.../Coleco_TIA.pdf Thanks. Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted October 29, 2012 Share Posted October 29, 2012 One thing I noticed about the VIC pinouts is that the chip select lines are in reverse order from the TIA chip. Quote Link to comment Share on other sites More sharing options...
RevEng Posted October 29, 2012 Share Posted October 29, 2012 I hate it when linked material goes away. Coleco_TIA.pdf 2 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted November 2, 2012 Share Posted November 2, 2012 Very well explained. I'll see if this time I code finally some Atari subroutines. Though I think my 6502 abilities are somewhat oxydized. 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.