José Pereira #1 Posted July 22, 2011 (edited) A thing came into my Mind right now and remember to show this Giana's just to exemplify: If we have three Modes on screen and enable Fine Horizontal Scrolling: -> 2:1 -> 4:1 -> 1:1 How this will scroll. A8 scrolls in colour clock and if I am thinking right then: -> 2:1 scrolls two Hi-Resolution pixels that is the A8 colour clock of these Modes. -> 4:1 will scroll 4Hi-Resolution pixels as it's the colour clock of the GTIA Modes. -> And 1:1? If 1:1 and in Games like, for example Kult, it scrolls in what 1:1 or 2:1? (and having there a PM affects the scroll in someway? But PMs. are always xPos. at 2:1=A8 normal colour clock this I know.) And more: If these three Modes are on the screen they will move different because there pixel ratio is different/colour clock, right? These will give different speed scrolling right? But there's a way to have all the three moving the same speed? Like 1:1 moving four Hi-Resol. pixels a time and 2:1 four Hi-Resolution to get 1colour clock same/equal 4:1 GTIA scrolling? Hope you understand. Just some things that came up into to my mind... Thanks. José Pereira. Edited July 22, 2011 by José Pereira Quote Share this post Link to post Share on other sites
Rybags #2 Posted July 22, 2011 Scroll speed is the same. Hires can only scroll in 2 pixel steps, only way to do single pixel is by rotating data or using switched character sets. Switch character set way is only really any good for text where the pixels don't need to overflow into the adjacent character. H-Scrolling can't scroll by 1/2 pixel in GTIA modes. If you do that, the data from adjoining pixels gets messed up. e.g. 2 pixels adjacent, colours wanted 3 and 7: HSCROL value set to 0, pixels displayed are 0011 0111 (3,7) HSCROL value set to 1, pixels displayed are 0000 1101 (0,13) Quote Share this post Link to post Share on other sites
José Pereira #3 Posted July 22, 2011 Scroll speed is the same. Hires can only scroll in 2 pixel steps, only way to do single pixel is by rotating data or using switched character sets. Switch character set way is only really any good for text where the pixels don't need to overflow into the adjacent character. H-Scrolling can't scroll by 1/2 pixel in GTIA modes. If you do that, the data from adjoining pixels gets messed up. e.g. 2 pixels adjacent, colours wanted 3 and 7: HSCROL value set to 0, pixels displayed are 0011 0111 (3,7) HSCROL value set to 1, pixels displayed are 0000 1101 (0,13) O.k., HSCROL=0 it's what? scrolls 2:1 pixel? Can you post all the HSCROL values with correspondant 2:1 pixel scrolling? (If HSCROL=0=one 2:1colour clock in ANTIC4/Hi-Resol., for example, then GTIA HSCROLL scanlines would need to be HSCROLL=1 4Hi-resol. pixels to move at the same time?) Quote Share this post Link to post Share on other sites
Rybags #4 Posted July 22, 2011 It's simple. With GTIA modes, odd values of HSCROL are no good, they mess up the pixel values. Even values move 1 pixel increments. If you want a table, do it yourself. There are so many combinations it'd be a big table. You don't need a table anyway. You just need to know not to do odd HSCROL on GTIA lines. Quote Share this post Link to post Share on other sites
José Pereira #5 Posted July 22, 2011 It's simple. With GTIA modes, odd values of HSCROL are no good, they mess up the pixel values. Even values move 1 pixel increments. If you want a table, do it yourself. There are so many combinations it'd be a big table. You don't need a table anyway. You just need to know not to do odd HSCROL on GTIA lines. That is saying that if you put a GTIA Mode even if there's not another GR. Mode you have to move it by software? Moving all the Data the way you want, like the ZX/CPC that doesn't have Fine Horizontal scrolling? Quote Share this post Link to post Share on other sites
Rybags #6 Posted July 22, 2011 That's not what I said. I said you can only use even HSCROL values. So the final meaning of that is you can only move that mode by full pixel values. You don't need to move data around, LMS movement is usable just like any other mode. Quote Share this post Link to post Share on other sites
Heaven/TQA #7 Posted July 22, 2011 Jose... in GTIA modes you can scroll by color clocks. full stop. and that is 4:1. and you have to use even values for HSCROL otherwise gfx get messed up. of course you could use the "HIP" trick by alternating mode10 and mode9/11 as mode10 lines are shifted by 1/2 color clock but you are then restricted to less colors as you can only use 9 colors in mode10. if so you could scroll in 160 resolution. but that is a software trick. and as in each mode if you are using HSCROL you don't need to do that in software if you rely on color clock scrolling. 1/2 color clock scrolling like in Mode F (high res) or GTIA modes are only possible by software tricks. Quote Share this post Link to post Share on other sites
José Pereira #8 Posted July 22, 2011 (edited) Sorry but English/techinal words and it's me that are all 'Mess up'. It's this "even" I don't ubderstand: "and you have to use even values for HSCROL otherwise gfx get messed up." ANTIC4 or any 2:1ratio would need to move two colour clocks to match one GTIA 4:1ratio pixel moving. This is saying that I would have what values on HSCROL in 2:1 and 4:1scanlines? Sorry to take your time but that's one more thing I would like to know... Thanks. Edited July 22, 2011 by José Pereira Quote Share this post Link to post Share on other sites
Heaven/TQA #9 Posted July 22, 2011 odd 1,3,5,7,1... even 0,2,4,6,0... and yes. 2x 2:1 match 1x 4:1 as you are moving color clocks. Quote Share this post Link to post Share on other sites
José Pereira #10 Posted July 22, 2011 (edited) Sorry but English/techinal words and it's me that are all 'Mess up'. It's this "even" I don't ubderstand: "and you have to use even values for HSCROL otherwise gfx get messed up." ANTIC4 or any 2:1ratio would need to move two colour clocks to match one GTIA 4:1ratio pixel moving. This is saying that I would have what values on HSCROL in 2:1 and 4:1scanlines? Sorry to take your time but that's one more thing I would like to know... Thanks. Sorry, I understand now: 'EVEN VALUES' it's 'SAME VALUES' But if 2:1 and 4:1 have the same value in HSCROL then they will not move the same When 4:1pixel is out of the screen then I have only one 2:1pixel out. For them be out at the same time/same Gfxs. I would need to move two 2:1pixels for each one 4:1pixel. I would need two different values in the two Mode's HSCROL, or not? Edited July 22, 2011 by José Pereira Quote Share this post Link to post Share on other sites
José Pereira #11 Posted July 22, 2011 Sorry but English/techinal words and it's me that are all 'Mess up'. It's this "even" I don't ubderstand: "and you have to use even values for HSCROL otherwise gfx get messed up." ANTIC4 or any 2:1ratio would need to move two colour clocks to match one GTIA 4:1ratio pixel moving. This is saying that I would have what values on HSCROL in 2:1 and 4:1scanlines? Sorry to take your time but that's one more thing I would like to know... Thanks. Sorry, I understand now: 'EVEN VALUES' it's 'SAME VALUES' But if 2:1 and 4:1 have the same value in HSCROL then they will not move the same When 4:1pixel is out of the screen then I have only one 2:1pixel out. For them be out at the same time/same Gfxs. I would need to move two 2:1pixels for each one 4:1pixel. I would need two different values in the two Mode's HSCROL, or not? What a mess, I really wasn't understand. "EVEN" is the "SAME" but on Google translations. Sory, sorry,.... Quote Share this post Link to post Share on other sites
Heaven/TQA #12 Posted July 22, 2011 yes. ok... now it gets tricky... need to test but I would assume that they move the same... f.e. mode9 HSCROL value 0,2 would be the same distance like mode4 HSCROL 0,1,2 or I am now confused? Quote Share this post Link to post Share on other sites
José Pereira #13 Posted July 22, 2011 GTIA HSCROL=1 moves one 4:1pixel To get the same I need to do on ANTIC4 HSCROL=2 to match the same. Have I finally understand? Quote Share this post Link to post Share on other sites
MaPa #14 Posted July 22, 2011 No.. in GTIA modes HSCROL=1 will just mess up the gfx, HSCROL=2 will move the gfx by one 4:1 pixel. Quote Share this post Link to post Share on other sites
José Pereira #15 Posted July 22, 2011 (edited) No.. in GTIA modes HSCROL=1 will just mess up the gfx, HSCROL=2 will move the gfx by one 4:1 pixel. HSCROL values are from 2:1ratio and can have values 0->15 (right 4bit of an 8bit number). GTIA HSCROL=2 move one GTIA pixel ANTIC4 HSCROL=2 move two 2:1ratio pixels. True of the story: To have them equal I would need to move in Pair number, like HSCROL=0/2/4/6/8/10/12/14. Finally I get it? (P.s.- Probably this is usefull to guys like me:ATARI Corporation Confidential ) Edited July 22, 2011 by José Pereira Quote Share this post Link to post Share on other sites
Heaven/TQA #16 Posted July 22, 2011 Mapa... yes... but it messes up because HSCROL=1 will move the bit patterns by 1 mode4 color clock internally? so in theory scrollspeed is the same? Quote Share this post Link to post Share on other sites
Synthpopalooza #17 Posted July 22, 2011 Perhaps the best way to explain is to illustrate: GTIA pixels are made up of 4 bits, 16 possible combinations give you 16 colors. When you scroll, the pixel data is shifted left or right by bit-pairs (i.e. one color clock) which is how scrolling works in Graphics 7/15/12/13 and this enables the pixels to shift. In GTIA mode this merely shifts the bit pattern, for example, let's say you had these three pixels in Graphics 9: 1111-0000-1111-0000 which is white (color 15) - background - white - background Now shift them one color clock to the right: 0011 - 1100 - 0011 - 1100 The pixels change color to mid grey shades 3 - 12 - 3 - 12 but do not move on screen. This is what happens when you set hscrol to odd value. The only way to scroll gtia pixels in hardware is to shift by 4 bit values like this: 1111-0000-1111-0000 0000-1111-0000-1111 In actuality scrollspeed is the same. If you are scrolling a screen with different GTIA settings, maybe the best way is to do a DLI on the HSCROL register, for example: Top 18 lines: ANTIC 4 Bottom 6 lines: Set to GTIA 9 textmode Lets say HSCROL across the screen is set to 12. Scroll 1 color clock to the right: TOP: HSCROL=13 BOTTOM: HSCROL stays at 12 the top Antic 4 lines scroll by one pixel while the bottom GTIA mode remains stationary. Now scroll one more color clock TOP: HSCROL=14 BOTTOM: HSCROL=14 The display stays lined up, but the GTIA pixels shift by 4 bits (2 color clocks). So you have to shift the GTIA mode 2 color clocks every two cycles, while the ANTIC mode shifts once every cycle. If you really wanted to, however, you could shift the bottom gtia pixel 2 color clocks every cycle while shifting the antic pixels once ... this would create a parallax scrolling effect much like in the Atari 2600 Empire Strikes Back game. Quote Share this post Link to post Share on other sites
José Pereira #18 Posted August 15, 2011 Just thinking in this again... Take all that ideas of Horizontal scrolling 'jumping' games and have different scanlines at different GR. Modes with some clever sprites moving (like moving PMs. over Hi-Resolution scanlines PFs.): (bottom for example a GTIA 1colour with 16Blue Luminances for a Water movement...) All this different Horizontal scrolling values in the diferent Gr. Modes and soft sprites would this be very hard to code? I think with some good planning and A8 DLIs. and larger Pallete something good could be possible. Is it worth to get something like this? More than a coder, is there anyone interested in get some Gfxs. (new ones and from different games, like Giana, Mayhem,...) and help in creating a Map and a gameplay (at least for a first Level for demonstration...)? Greets. José Pereira. Quote Share this post Link to post Share on other sites
emkay #19 Posted August 15, 2011 Could be interesting, to use the different modes for some parallax effect. Hires for 320 pixel resolution, colour res for 160 pixel scrolling, and gtia mode in the foreground with the slowest scrolling. Quote Share this post Link to post Share on other sites
José Pereira #20 Posted August 15, 2011 Could be interesting, to use the different modes for some parallax effect. Hires for 320 pixel resolution, colour res for 160 pixel scrolling, and gtia mode in the foreground with the slowest scrolling. GTIA MOde for the slowest scrolling? If it is not to have 4bit pair mess you would move the 4bit-pair 2colour clock at the same time you move one 2in1 pixel/one colour clock of 160 pixel. Then, thinking this way, the 160pixel are the ones that move slower, isn't it? Quote Share this post Link to post Share on other sites
emkay #21 Posted August 15, 2011 (edited) GTIA MOde for the slowest scrolling? Either you have to scroll the whole screen at the lowest resolution, or you have to set the framerate correct. If you can move at 320 pixel resolution in 50Hz, you have to reduce scrolling speed for 160 pixel movement to 25Hz , and to reduce 80 pixel scrolling to "12-13" Hz , to have it at the "overall" same speed. Edited August 15, 2011 by emkay Quote Share this post Link to post Share on other sites