Jump to content
alex_79

TIA programming guide by COLECO

Recommended Posts

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 [url="http://www.theadamresource.com/"]"The ADAM Resource" website[/url] 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

[CODE]
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[/CODE]


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.

[url="http://www.filedropper.com/colecotia"]DJVU[/url]
[url="http://www.filedropper.com/colecotia_1"]PDF[/url]

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
[quote name='ClausB' timestamp='1351303949' post='2626997']
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]
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!" :D

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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
[quote name='Tjoppen' timestamp='1351439964' post='2628044']
Here, I uploaded the PDF: [url="http://www.acc.umu.se/~tjoppen/files/vcs/Coleco_TIA.pdf"]http://www.acc.umu.s.../Coleco_TIA.pdf[/url]
[/quote]

Thanks.

Share this post


Link to post
Share on other sites
Very well explained. I'll see if this time I code finally some Atari subroutines. Though I think my 6502 abilities are somewhat oxydized. :-D

Share this post


Link to post
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.

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