+videofx Posted February 3, 2020 Share Posted February 3, 2020 OK I am confused. I want to know if my 800 is CTIA or GTIA. So I try 3 methods 1. Graphics 9 : Produces black screen like its supposed to white GTIA 2. POKE 623,64 : Get black screen with multi color character mode again supposed to be GTIA 3. Use Bill Wilkersons Insight Atari program and it says "CTIA" also one of the lines does a peek of collision register 0. It does IF PEEK(53252) THEN PRINT "CTIA". What does this mean? it doesn't say if PEEK equals a specific value so Im confused. Any help will be appreciated Thanks Quote Link to comment Share on other sites More sharing options...
+skr Posted February 3, 2020 Share Posted February 3, 2020 There seems to be a program to test it: Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted February 3, 2020 Share Posted February 3, 2020 Gotta be a miss print, the line makes no sense without a comparison.. Quote Link to comment Share on other sites More sharing options...
+Stephen Posted February 3, 2020 Share Posted February 3, 2020 If you're getting a black screen via GRAPHICS 9, or the POKE command, you have a GTIA. Not sure why the other info is giving false info. Quote Link to comment Share on other sites More sharing options...
+videofx Posted February 3, 2020 Author Share Posted February 3, 2020 22 minutes ago, Mclaneinc said: Gotta be a miss print, the line makes no sense without a comparison.. nope not a misprint. Cause if I do a poke to reset the collision register then it says GTIA, when collision register is 4 it says CTIA. line 220 is what I am trying to understand Here is the program 100 GRAPHICS 0 : REM ALWAYS USE THIS MODE 110 PRINT "NOW TESTING FOR CTIA VERSUS GTIA" 120 PRINT "================================" 130 POKE 559, 58 : POKE 53277, 2 : REM ENABLE PLAYERS 140 POKE 54279, 240 : REM USE ROM FOR PLAYER DATA 145 POKE 53248, 80 : REM CENTERED PLAYER 150 POKE 53278, 0 : REM CLEAR COLLISION REGISTERS 160 POKE 623, 65 : REM ENABLE GTIA, IF IT EXISTS 170 POKE 20, 0 180 IF PEEK(20)<2 THEN 180 190 POKE 623, 1 : REM DISABLE GTIA 200 POKE 559, 34 : POKE 53277, 0 : REM TURN OFF PLAYERS 210 FOR A = 53261 TO 53265 : POKE A, 0 : NEXT A : REM (AND PLAYER DATA) 220 IF PEEK(53252) THEN PRINT "SORRY, ONLY ACTIA" : GOTO 240 230 PRINT "AHA ! A GTIA." 240 END Quote Link to comment Share on other sites More sharing options...
phaeron Posted February 4, 2020 Share Posted February 4, 2020 53252 ($D004) is P0PF, the player 0 <-> playfield collision register. If a GTIA is present, the POKE 623,65 statement switches the display to Graphics 9, which doesn't support playfield collisions and so PEEK(53252)=0. If a CTIA is present, the POKE 623 does nothing and the display stays in Graphics 0, which then causes a P0<->PF2 collision against the text banner (which is an essential part of the test!). You don't need a comparison for IF statements, as they implicitly test the condition against zero. It looks like there are a couple of race conditions in this test program that could cause false CTIA detections. Lines 150 and 160 should be swapped, and line 190 should be moved after line 220. Otherwise, there is a period of time where the the GTIA is running in the same mode that a CTIA would and could flag playfield 2 collisions. 2 Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 4, 2020 Share Posted February 4, 2020 It's not worth the bother of typing or loading a program. POKE 623,64 is the probably the quickest/easiest method. Alternately something like a Lucasfilm game cartridge with the title sequence on startup if you have one handy. And I'll repeat - CTIA seems to be sufficiently rare that it'd fetch a decent price as a collectors item. And sidenote - though you'd not expect to see one in the other, the faulty GTIA in some later XEs can produce symptoms of only being CTIA. Quote Link to comment Share on other sites More sharing options...
+videofx Posted February 4, 2020 Author Share Posted February 4, 2020 16 hours ago, phaeron said: 53252 ($D004) is P0PF, the player 0 <-> playfield collision register. If a GTIA is present, the POKE 623,65 statement switches the display to Graphics 9, which doesn't support playfield collisions and so PEEK(53252)=0. If a CTIA is present, the POKE 623 does nothing and the display stays in Graphics 0, which then causes a P0<->PF2 collision against the text banner (which is an essential part of the test!). You don't need a comparison for IF statements, as they implicitly test the condition against zero. It looks like there are a couple of race conditions in this test program that could cause false CTIA detections. Lines 150 and 160 should be swapped, and line 190 should be moved after line 220. Otherwise, there is a period of time where the the GTIA is running in the same mode that a CTIA would and could flag playfield 2 collisions. Thanks! So IF PEEK(53252) THEN PRINT "SORRY, ONLY ACTIA" So it saying if (53252) =0 then Print? cause when I do a Peek(53252) it = 4 Thanks Quote Link to comment Share on other sites More sharing options...
+Stephen Posted February 4, 2020 Share Posted February 4, 2020 1 hour ago, videofx said: Thanks! So IF PEEK(53252) THEN PRINT "SORRY, ONLY ACTIA" So it saying if (53252) =0 then Print? cause when I do a Peek(53252) it = 4 Thanks Usually the way these older BASICS work, is any non-zero value is treated as true, while 0 is treated as false. It's therefore saying if (53252) != (NOT equal) to 0, then do the print. Quote Link to comment Share on other sites More sharing options...
+videofx Posted February 4, 2020 Author Share Posted February 4, 2020 1 minute ago, Stephen said: Usually the way these older BASICS work, is any non-zero value is treated as true, while 0 is treated as false. It's therefore saying if (53252) != (NOT equal) to 0, then do the print. Thanks! Now I understand Quote Link to comment Share on other sites More sharing options...
manterola Posted February 4, 2020 Share Posted February 4, 2020 Yep everything that is not zero will execute the command Quote Link to comment Share on other sites More sharing options...
+videofx Posted February 4, 2020 Author Share Posted February 4, 2020 Yup that makes sense since the value is never 0 Quote Link to comment Share on other sites More sharing options...
Bikerbob Posted February 4, 2020 Share Posted February 4, 2020 Well I just picked up a CTIA 800 .. so there ya go.. Poke 623,64 - nada.. (I also opened it when cleaning and saw the part number ) James 1 Quote Link to comment Share on other sites More sharing options...
+videofx Posted February 5, 2020 Author Share Posted February 5, 2020 I have GTIA. I wrote a program that uses Graphics mode 11 which is one of the GTIA modes. 10 GRAPHICS 11 20 FOR X=1 TO 16 30 COLOR X 40 PLOT 0,X : DRAWTO 79,X 50 NEXT X 60 GOTO 60 So now I know how to test Quote Link to comment Share on other sites More sharing options...
+Nezgar Posted February 7, 2020 Share Posted February 7, 2020 On 2/5/2020 at 3:55 PM, videofx said: I have GTIA. I wrote a program that uses Graphics mode 11 which is one of the GTIA modes. 10 GRAPHICS 11 [snip] So now I know how to test I don't believe this program will work on a 400 or 800, even if they have a GTIA, because BASIC relies on the OS handler which doesn't directly support the GR.9/10/11 GTIA modes. OS support for GTIA modes was added in the XL/XE OS's. Quote Link to comment Share on other sites More sharing options...
+videofx Posted February 7, 2020 Author Share Posted February 7, 2020 I wrote the program on 48K Atari 800 with Basic Rev C and it works Quote Link to comment Share on other sites More sharing options...
+Stephen Posted February 7, 2020 Share Posted February 7, 2020 1 hour ago, Nezgar said: I don't believe this program will work on a 400 or 800, even if they have a GTIA, because BASIC relies on the OS handler which doesn't directly support the GR.9/10/11 GTIA modes. OS support for GTIA modes was added in the XL/XE OS's. No - that is not correct. The XL/XE OS added support for what is commonly referred to as mode 7.5 (in basic, the modes were 12, 13, 14, 15). The hardware of course supported them, but they required a user written display list. Modes 12 and 13 are multi-coloured text, and 14,15 are bitmap modes - the 160 pixel by 192 lines, as opposed to Graphics 7 which was 160 * 96 lines. 1 1 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.