ATARI-800XL-DISPLAYLIST-WHAT-AND-HOW -------------------------------------------------------------------------------------------------- TOOL: Turbo-BASIC XL Version 1.5 Language: BASIC Extra: - Author: Misel Zivanovic Note: (C) 19th DEC 2025 - www.lived.ch, mzretro.ch --------------------------------------------------------------------------------------------------- Most important thing is to understand what you {we} are doing! For that reason we will start exploring the DisplayList options and see what is it all about in first place. I am new to this too, but we got this, right! ATARI-800XL is having many text/graphics modes {or exactly 28!} Some of them are PURE MODES {GTIA-Modes and GRAPHICS 0 as a TEXT MODE}, other Modes are a mix of graphics/text split-screen {OR NOT! e.g. GR.1+16}. In most cases, text part is the lowest part of the screen, 4 lines. We will start from scratch, GRAPHICS MODE 0 {TEXT MODE, 40 columns, 24 lines} For the moment it can be said how this program i wrote below, really is helpful. The reason is that SCREEN START ADDRESS and START OF THE DISPLAYLIST literally never is the same! It obviously is depending on available RAM and the SOFTWARE, CARTRIDGES in use. So the best practice is to always check the numbers before you use the addresses! *************************************************************************************************** DID NOT FIND THIS YET, BUT I ASSUME HOW: You can probably define your own start address for the DISPLAY LIST and SCREEN. By altering the values in LOW/HIGH BYTES of the involved registers! We will not do that here for now because I have no idea what RAM Area is the best for it! UPDATE {23.12.2025} Basically you can mix all modes, just need to place the LMS first {for the correct positioning} followed by the ANTIC numbers for the rows {or scanlines} You can also try without {some combination will work, some partly, some will cause problems} But it is fast to experiment that way! Later you can do it properly! Check below EXAMPLE 3! *************************************************************************************************** Also the address area, the difference between SCREEN AREA <-> DISPLAYLIST START, doesn't mean it's all DisplayList! In one case it is not even when watched from the space ship {Can be noticed on many zero's after the DisplayList entries to reach the SCREEN START ADDRESS AREA! Program below will show you the start address of the DisplayList and save attributes in an area of available fields! Bad habit of all GRAPHICS Modes is AUTO-CLS. It means the screen is always cleared! Doesn't matter if real graphics or just a text screen. 2000 REM EDITOR SETUP 2010 POKE 729,20:REM KEY DELAY 2020 POKE 730,3:REM KEY REPEAT 2030 POKE 731,3:REM NO CLICK 2040 POKE 82,0:REM NO LEFT MARGIN 2050 POKE 710,0:REM SCREEN COLOR 2060 POKE 712,0:REM BORDER COLOR 2070 REM EDITOR SETUP 2080 REM 2090 GRAPHICS 3 2100 SCREEN=PEEK(88)+PEEK(89)*256 2110 DLIST=PEEK(560)+PEEK(561)*256 2120 DL=SCREEN-DLIST 2130 PRINT 2140 PRINT "SCREEN : ";SCREEN 2150 PRINT "DLIST : ";DLIST 2160 PRINT 2170 PRINT "DISPLAY-LIST:" 2180 DIM A(DL):DIM N$(1):N$=CHR$(32) 2190 FOR L=0 TO DL 2200 A(L)=PEEK(DLIST+L) 2210 PRINT " ";A(L); 2220 NEXT L 2225 GOSUB 2270 2230 END 2240 FOR A=0 TO DL:PRINT N$;A(A);:NEXT A 2245 GOSUB 2270 2250 END 2260 REM --------------------------- 2270 PRINT 2275 PRINT "PRESS ENTER" 2280 IF PEEK(764)=12 THEN END 2285 GOTO 2280 2290 RETURN 2300 REM --------------------------- Because SPLITSCREEN is showing only for lines, complete information is also saved in an area. Type GR.0 then LIST 2240 2240 FOR A=0 TO DL:PRINT N$;A(A);:NEXT A {delete 2240 and press ENTER. This will list the DISPLAYLIST data!} {default is already below, but in case you want to list your own DL creations, this will do it} *************************************************************************************************** RUSULTS GRAPHICS MODES DISPLAY LIST LISTING! *************************************************************************************************** ---------------------------------------------------------- GRAPHICS MODE 0, NO-SPLIT, TEXT ONLY, 1 COLOR, 40x24 -- ---------------------------------------------------------- SCREEN : 48192 DL-START: 48160 DISPLAY-LIST: 112 112 112 66 64 188 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 65 32 188 0 ---------------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 1, SPLIT-SCREEN -- ---------------------------------------------------------- PRINT SC 48512 PRINT ST 48478 DISPLAY-LIST: 112 112 112 70 128 189 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 66 96 191 2 2 2 65 94 189 0 ---------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 1+16, NO-SPLIT -- ---------------------------------------------------------- This was totally unexpected result!! POKE 48512,32 is showing @ in 9th ROW, 1st column? Who can explain that?! SCREEN : 48512 DL-START: 48480 DISPLAY-LIST: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ----------------------------------------------------------| ----------------------------------------------------------| ----------------------------------------------------------| HUSTON WE HAVE A PROBLEM! | | All GRAPHICS x+16 are delivering only | ZERO's as a result and the screen start address | is somewhere in the middle of the screen. | If you POKE SCREEN ADDRESS - 40,33 then you see | nothing on the screen! | Because of that I will not list such *GRAPHICS MODES! | {I tried a few, it's all the same!!! 0 0 0 0 0 0 0 0! | | * In the MAPPING THE ATARI, they clearly shows that | this actually should work! Guess it's the EMULATOR!? | ----------------------------------------------------------| If one day i find out more about this behavior, then | I'LL BE BACK! | ----------------------------------------------------------| ---------------------------------------------------------- ---------------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 2, SPLIT-SCREEN -- ---------------------------------------------------------- PRINT SC 48752 PRINT ST 48728 DISPLAY-LIST: 112 112 112 71 112 190 7 7 7 7 7 7 7 7 7 66 96 191 2 2 2 65 88 190 0 ---------------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 3, SPLIT-SCREEN -- NOTE HOW THIS ONE IS ALSO SHOWING TEXT ON BOTH LOCATIONS, UP and DOWN! ---------------------------------------------------------- PRINT SC 48752 PRINT ST 48718 VERSION 1: DISPLAY-LIST: {TEXT PORTION IS AT THE BOTTOM OF THE SCREEN} 112 112 112 72 112 190 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 66 96 191 2 2 2 65 78 190 0 VERSION 2: DISPLAY-LIST: {TEXT PORTION IS AT THE TOP OF THE SCREEN} 112 112 112 66 96 191 2 2 2 72 112 190 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 65 78 190 64 ---------------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 4, SPLIT-SCREEN -- ---------------------------------------------------------- PRINT SC 48512 PRINT ST 48458 DISPLAY-LIST: 112 112 112 73 128 189 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 66 96 191 2 2 2 65 74 189 0 ---------------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 5, SPLIT-SCREEN -- ---------------------------------------------------------- PRINT SC 48032 PRINT ST 47978 DISPLAY-LIST: 112 112 112 74 160 187 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 66 96 191 2 2 2 65 106 187 0 ---------------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 6, SPLIT-SCREEN -- ---------------------------------------------------------- PRINT SC 47072 PRINT ST 46978 DISPLAY-LIST: 112 112 112 75 224 183 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 66 96 191 2 2 2 65 130 183 0 ---------------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 7, SPLIT-SCREEN -- ---------------------------------------------------------- PRINT SC 45152 PRINT ST 44962 DISPLAY-LIST: 112 112 112 77 96 176 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 66 96 191 2 2 2 65 162 175 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ---------------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 8, SPLIT-SCREEN -- ---------------------------------------------------------- PRINT SC 41296 PRINT ST 41040 DISPLAY-LIST: 112 112 112 79 80 161 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 79 0 176 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 66 96 191 2 2 2 65 80 160 177 160 160 19 145 144 160 1 177 160 160 20 145 144 144 204 104 133 161 104 133 160 104 133 178 104 133 145 133 15 104 133 144 133 14 104 170 96 72 165 144 72 165 145 72 165 178 72 165 160 72 165 161 72 165 138 72 165 139 72 165 190 72 165 191 72 32 130 193 32 197 201 32 211 247 176 36 72 164 161 0 ---------------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 9, GTIA -- ---------------------------------------------------------- PRINT SC 41296 PRINT ST 41014 DISPLAY-LIST: 112 112 112 79 80 161 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 79 0 176 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 65 54 160 177 160 160 19 145 144 160 1 177 160 160 20 145 144 144 204 104 133 161 104 133 160 104 133 178 104 133 145 133 15 104 133 144 133 14 104 170 96 72 165 144 72 165 145 72 165 178 72 165 165 160 72 165 161 72 165 138 72 165 139 72 165 190 72 165 191 72 32 130 193 32 197 201 32 211 247 176 36 72 164 161 0 ---------------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 10, GTIA -- ---------------------------------------------------------- PRINT SC 41296 PRINT ST 41014 DISPLAY-LIST: 112 112 112 79 80 161 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 79 0 176 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 65 54 160 177 160 160 19 145 144 160 1 177 160 160 20 145 144 144 204 104 133 161 104 133 160 104 133 178 104 133 145 133 15 104 133 144 133 14 104 170 96 72 165 144 72 165 145 72 165 178 72 165 160 72 165 161 72 165 138 72 165 139 72 165 190 72 165 191 72 32 130 193 32 197 201 32 211 247 176 36 72 164 161 0 ---------------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 11, GTIA -- ---------------------------------------------------------- PRINT SC 41296 PRINT ST 41014 DISPLAY-LIST: 112 112 112 79 80 161 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 1 5 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 1 5 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 79 0 176 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 1 5 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 1 5 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 1 5 65 54 160 177 160 160 19 145 144 160 1 177 160 160 20 145 144 144 204 104 133 161 104 133 160 104 133 178 104 133 145 133 15 104 133 144 133 14 104 170 96 72 165 144 72 165 145 72 165 178 72 165 160 72 165 161 72 165 138 72 165 139 72 165 190 72 165 191 72 32 130 193 32 197 201 32 211 247 176 36 72 164 161 0 ---------------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 12, SPLIT-SCREEN, 4 COLORS, 40x20 Characters -- ---------------------------------------------------------- PRINT SC 48032 PRINT ST 47998 112 112 112 68 160 187 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 66 96 191 2 2 2 65 126 187 0 ---------------------------------------------------------- - ---------------------------------------------------------- GRAPHICS MODE 13, SPLIT-SCREEN, 4 COLORS, 40x10 Characters -- ---------------------------------------------------------- PRINT SC 48512 PRINT ST 48488 112 112 112 69 128 189 5 5 5 5 5 5 5 5 5 66 96 191 2 2 2 65 104 189 0 ---------------------------------------------------------- - - - ------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------- LET'S CREATE OUR OWN DISPLAY LIST! WE NEED THIS {FROM THE MAPPING THE ATARI BOOK and I added a few Information}: However, first after we figure out what are all these fancy numbers doing! Those massively equal numbers are clearly the screen itself depending on the GRAPHICS and ANTIC MODE! The main advantage of the DISPLAYLISTS is the ability to mix them with each other, but can i just create a SCREEN, GRAPHICS MODE like, e.g. {Modified GRAPHICS MODE 0} and will do? --------------------------------------------------------------------------------| INSTRUCTION | BASIC | SCAN | PIXEL | BYTE | WHAT IS IT? | DEC | HEX | MODE | LINES | LINES | LINES | | -----|-------|--------|-------|-------|-------|---------------------------------| | | | | | | BLANK LINES DEPARTMENT | -----|-------|--------|-------|-------|-------|---------------------------------| 00 | $00 | -- | 01 | -- | -- | 1 Blank line | 16 | $10 | -- | 02 | -- | -- | 2 Blank lines | 32 | $20 | -- | 03 | -- | -- | 3 Blank lines | 48 | $30 | -- | 04 | -- | -- | 4 Blank lines | 64 | $40 | -- | 05 | -- | -- | 5 Blank lines | 80 | $50 | -- | 06 | -- | -- | 6 Blank lines | 96 | $60 | -- | 07 | -- | -- | 7 Blank lines | 112 | $70 | -- | 08 | -- | -- | 8 Blank lines | -----|-------|--------|-------|-------|-------|---------------------------------| | | | | | | DISPLAY TEXT INSTRUCTIONS | -----|-------|--------|-------|-------|-------|---------------------------------| 02 | $02 | 00 | 08 | 40 | 40 | TEXT MODE 0 | 03 | $03 | -- | 10 | 40 | 40 | TEXT MODE * | 04 | $04 | -- | 08 | 40 | 40 | TEXT MODE * | 05 | $05 | -- | 16 | 40 | 40 | TEXT MODE * | 06 | $06 | 01 | 08 | 20 | 20 | TEXT MODE 1 | 07 | $07 | 02 | 16 | 20 | 20 | TEXT MODE 2 | -----|-------|--------|-------|-------|-------|---------------------------------| | | | | | | DISPLAY GRAPHICS INSTRUCTIONS | -----|-------|--------|-------|-------|-------|---------------------------------| 08 | $08 | 03 | 08 | 40 | 10 | GRAPHICS MODE 2 | 09 | $09 | 04 | 04 | 80 | 10 | GRAPHICS MODE 3 | 10 | $0a | 05 | 04 | 80 | 20 | GRAPHICS MODE 4 | 11 | $0b | 06 | 02 | 160 | 20 | GRAPHICS MODE 5 | 12 | $0c | -- | 01 | 160 | 20 | GRAPHICS MODE 6 | 13 | $0d | 07 | 02 | 160 | 40 | GRAPHICS MODE * | 14 | $0e | -- | 01 | 160 | 40 | GRAPHICS MODE * | 15 | $0f | 08 | 01 | 320 | 40 | GRAPHICS MODE 8 | -----|-------|--------|-------|-------|-------|---------------------------------| | | | | | | 3 BYTES-LONG JUMP INSTRUCTIONS | -----|-------|--------|-------|-------|-------|---------------------------------| 65 | $41 | -- | --- | --- | --- | JUMP AND WAIT FOR VBLANK | 32 | $20 | -- | --- | --- | --- | TO DISPLAY THE LIST | 188 | $BC | -- | --- | --- | --- | STARTING @ e.g. $BC20 | -----|-------|--------|-------|-------|-------|---------------------------------| | | | | | | $BC = HIGH BYTE, $20 = LOW BYTE | -----|-------|--------|-------|-------|-------|---------------------------------| GENERAL IN REGARD TO DISPLAY LIST: NOTE 1: YOUR DISPLAYLIST MUST HAVE 192 SCANLINES {OR AS CLOSE AS POSSIBLE TO AVOID ISSUES } {Some modes are having exactly 8 scan lines, some less some more! Include that in the calculation! } NOTE 2: DISPLAY LIST ITSELF CANNOT CROSS 1K BOUNDARY {NO EXPLANATION WHAT THAT ACTUALLY MEANS! } NOTE 3: DISPLAY LIST DATA CANNOT CROSS 1KB BOUNDARY {NO EXPLANATION WHAT THAT ACTUALLY MEANS! } NOTE 4: YOU CAN HAVE AS MANY DISPLAY LIST's AS YOU WISH {USE JUMP/VERTICAL BLANK AT THE END OF DL } NOTE 5: SECURE PLACE FOR OWN DISPLAY LIST IS PAGE 6 {I ASSUME THEY MEAN 256*6 = 1536, $0600 } NOTE 6: POKE 559,0 WILL DISABLE THE FETCH LIST INSTRUC. {ENABLE WITH "PROPER VALUE" NOT SAYING WHAT VALUE!!?} MY OPINION: MAPPING THE ATARI has a lot of INFORMATION and VERY LITTLE EXPLANATION! MOST OF THE THINGS ARE STILL A MYSTERY. BUT THEY DO POINT OUT TO READ MANY COMPUTE! ARTICLES IN REGARD TO ATARI-DISPLAY LIST! AND ALSO IS SUGGESTING DE-RE-ATARI, YOUR ATARI 400/800 and many more! MAPPING THE ATARI is obviously well aware how this what they are delivering in regard to DISPLAY-LIST will not really make anyone be a DISPLAY LIST MASTER. ------------------------------------------------------------------------------------------------- DISPLAYLIST DESTROYER!!! NOTE: { I got all the DATA from the book: MAPPING THE ATARI, however, despite all the INFORMATION } { i still do not get what they are trying to say to me! Haha... That's why i took GRAPHICS MODE 0 } { while they were explaining GRAPHICS MODE 2 } SCREEN START ADDRESS IS AT : 48192, $bc40 DISPLAY LIST START ADDRESS IS AT : 48160, $bc20 DISPLAY-LIST: {GRAPHICS MODE 0, 1 COLOR, 40x24 CHARACTERS}, 24 * 16 = ATTRIBUTES! DISPLAYLIST-MEMORY-LOCATION DEC HEX DEC HEX WHAT and HOW! DLIST + x DLIST + x 112 #$70 48160 {+ 0} $bc20 {+ #$00} - 8 BLANK LINES 112 #$70 48161 {+ 1} $bc21 {+ #$01} - 8 BLANK LINES 112 #$70 48162 {+ 2} $bc22 {+ #$02} - 8 BLANK LINES 66 #$42 48163 {+ 3} $bc23 {+ #$03} - GRAPHICS MODE 0 with LMS instruction added 64 #$40 48164 {+ 4} $bc24 {+ #$04} - First screen line {horizontal pos}, LOW-BYTE 188 #$bc 48165 {+ 5} $bc25 {+ #$05} - HIGH-BYTE {89} * 256 + 64 ->> 188 * 256 + 64 = dec 48192, hex $bc40 2 #$02 48166 {+ 6} $bc26 {+ #$06} - ANTIC MODE 2 2 #$02 48167 {+ 7} $bc27 {+ #$07} - ANTIC MODE 2 2 #$02 48168 {+ 8} $bc28 {+ #$08} - ANTIC MODE 2 2 #$02 48169 {+ 9} $bc29 {+ #$09} - ANTIC MODE 2 2 #$02 48170 {+ 10} $bc2a {+ #$0a} - ANTIC MODE 2 2 #$02 48171 {+ 11} $bc2b {+ #$0b} - ANTIC MODE 2 2 #$02 48172 {+ 12} $bc2c {+ #$0c} - ANTIC MODE 2 2 #$02 48173 {+ 13} $bc2d {+ #$0d} - ANTIC MODE 2 2 #$02 48174 {+ 14} $bc2e {+ #$0e} - ANTIC MODE 2 2 #$02 48175 {+ 15} $bc2f {+ #$0f} - ANTIC MODE 2 2 #$02 48176 {+ 16} $bc30 {+ #$10} - ANTIC MODE 2 2 #$02 48177 {+ 17} $bc21 {+ #$11} - ANTIC MODE 2 2 #$02 48178 {+ 18} $bc22 {+ #$12} - ANTIC MODE 2 2 #$02 48179 {+ 19} $bc23 {+ #$13} - ANTIC MODE 2 2 #$02 48180 {+ 20} $bc24 {+ #$14} - ANTIC MODE 2 2 #$02 48181 {+ 21} $bc25 {+ #$15} - ANTIC MODE 2 2 #$02 48182 {+ 22} $bc26 {+ #$16} - ANTIC MODE 2 2 #$02 48183 {+ 23} $bc27 {+ #$17} - ANTIC MODE 2 2 #$02 48184 {+ 24} $bc28 {+ #$18} - ANTIC MODE 2 2 #$02 48185 {+ 25} $bc29 {+ #$19} - ANTIC MODE 2 2 #$02 48186 {+ 26} $bc2a {+ #$1a} - ANTIC MODE 2 2 #$02 48187 {+ 27} $bc2b {+ #$1b} - ANTIC MODE 2 2 #$02 48188 {+ 28} $bc2c {+ #$1c} - ANTIC MODE 2 65 #$41 48189 {+ 29} $bc2d {+ #$1d} - JUMP and wait Vertical-Blank 32 #$20 48190 {+ 30} $bc2e {+ #$1e} - LOW-BYTE 188 #$bc 48191 {+ 31} $bc2f {+ #$1f} - HIGH-BYTE {188*256+32) = dec 48160, hex $bc20 {the # on the top/start of DL!} 0 48192 = SCREEN START ADDRESS! LMS: {From the Mapping the ATARI Book} "The LMS instruction is a three-byte instruction; the second and third bytes are the LSB and MSB of the address where the line or screen data is to be displayed. You can add any or all of these modifications to the text or graphics mode instructions. You can only add the interrupt modification to blank line or jump instructions. The two bytes that follow the jump instructions are the LSB and MSB of the address to which the ANTIC jumps to continue or repeat the list" ------------------------------------------------------------------------------------------------- ALRIGHT! DON'T KNOW ABOUT YOU PEOPLE BUT I HAVE HAD ENOUGH OF THE THEORY! LET'S JUMP INTO THE COLD WATER AND LEARN WHILE WE ARE SWIMMING, DROWNING AND FREEZING! Haha... ------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------- EXAMPLE 1 CODE {MODIFIED DISPLAY LIST GRAPHICS MODE 0} ------------------------------------------------------------------------------------------------- 1 REM EDITOR SETUP 2 POKE 729,20:REM .KEY DELAY 3 POKE 730,3:REM ..KEY REPEAT 4 POKE 731,3:REM ..NO CLICK 5 POKE 82,0:REM ...NO LEFT MARGIN 6 POKE 710,0:REM ..SCREEN COLOR 7 POKE 712,0:REM ..BORDER COLOR 8 REM EDITOR SETUP 10 AT=48160+6: REM ANTIC DATA 20 ST=48160:REM MAX. 6 BYTES (0-5) 30 GRAPHICS 0 40 PRINT "MY OWN DISPLAY LIST GR.0" 50 PRINT "AND I AM ATARI-800XL" 60 POKE ST+3,66 70 POKE ST+4,64 80 FOR A=1 TO 16:POKE AT+A,13:NEXT A 81 REM 82 PRINT :PRINT 83 PRINT " A AAAA A AAAAA AA" 84 PRINT " BBB BB BBB BB BB BB" 85 PRINT "CC CC CC CC CC CC CC CC" 86 PRINT "DD DD DD DD DD DD DD DD" 87 PRINT "EE EE EE EE EE EE EE EE" 88 PRINT "FFFFF FF FFHFF FFF FF" 89 PRINT "GGGGG GG GGGGG GGGG GG" 90 PRINT "HH HH HH HH HH HH HH HH" 91 PRINT "II II II II II II I II" 92 PRINT "JJ JJ JJ JJ JJ JJ J JJ" 93 PRINT "KK KK KK KK KK KK K KK" 94 PRINT :PRINT -------------------------------------------------------------------------------- SCREEN INFORMATION: Because of the DisplayList modifications, the screen view, listing is messed up! I am using Altirra Emulator {WINDOWS} and can press F5 to do the warm-reset and establish the normal view. Your listing won't be lost of course! -------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------- EXAMPLE 2 CODE ------------------------------------------------------------------------------------------------- {First example was messy and difficult to read} {We need to do better!} In first place, we did not bother with scan lines and the result was small screen! Short screen cannot be considered as disadvantage. There are many things which can be achieved using it... However, this time we will pay attention {well, or maybe not! haha} ----------------------------------------------------------------------------------- "SOMETHING ELSE BEFORE" READ, RESTORE, DATA is with Turbo-BASIC XL totally different compared to Commodore! COMMODORE BASIC VERSION {not working with Atari} FOR A=0 TO 31: READ Y:POKE DLIST+A,Y:NEXT UPDATE: {I COULDN'T BELIEVE THAT IT IS REALLY NOT WORKING!} {AND IT REALLY DOESN'T! AND THEN IT DOES ANYWAY, JUST NOTE WITH THE DISPLAYLIST EXAMPLE???} This code is working just fine in Turbo-BASIC-XL! 10 FOR X=1536 TO 1538 20 READ D 30 POKE X,D 40 NEXT X 50 DATA 96,96,96 It took me a while to find a solution! But now it is okay! 10 CLS :DIM A$(15) 15 REPEAT 20 PRINT B:READ A$ 30 PRINT A$ 35 B=B+1 40 UNTIL B=7 50 DATA MONDAY,TUESDAY,WEDNESDAY 60 DATA THURSDAY,FRIDAY 70 DATA SATRUDAY,SUNDAY ----------------------------------------------------------------------------------- 1 REM EDITOR SETUP 2 POKE 729,20:REM .KEY DELAY 3 POKE 730,3:REM ..KEY REPEAT 4 POKE 731,3:REM ..NO CLICK 5 POKE 82,0:REM ...NO LEFT MARGIN 6 POKE 710,0:REM ..SCREEN COLOR 7 POKE 712,0:REM ..BORDER COLOR 8 REM EDITOR SETUP 10 GRAPHICS 0 15 SCREEN=PEEK(88)+PEEK(89)*256 20 DLIST=PEEK(560)+PEEK(561)*256 25 REPEAT 30 READ Y 35 POKE DLIST+B,Y 40 B=B+1 45 UNTIL B=30 50 REM ------------------------------- 55 REM OUR NEW DISPLAYLIST! 60 REM - BLANK LINES 65 DATA 112,112,112 70 REM - LMS, START, HIGH-BYTE 75 DATA 66,64,188 80 REM 188*256+64 = 48192 - SCREEN 85 REM ANTIC MODES 90 DATA 7,7,7,7,7,7,2,13 95 DATA 13,13,13,13,13,13,13,13 100 DATA 13,13,13,13,13,13,2 105 REM JUMP/WAIT VERTICAL BLANK 110 DATA 65 115 REM JUMP ADDRESS 120 DATA 32: REM LOW-BYTE 125 DATA 188: REM HIGH-BYTE 130 REM 188*256+32 = 48160 - DLIST 135 REM ----------------------------- 140 PRINT "PRESS ENTER" 145 IF PEEK(764)=12 THEN END 150 GOTO 145 -------------------------------------------------------------------------------- SCREEN INFORMATION: Because of the DisplayList modifications, the screen view, listing is messed up! I am using Altirra Emulator {WINDOWS} and can press F5 to do the warm-reset and establish the normal view. Your listing won't be lost of course! -------------------------------------------------------------------------------- This isn't yet perfect, but far better than the first example and above all, much easier to understand. What i still don't understand is the LMS part with LOW and HIGH Byte! Every GRAPHICS MODE is having individual NUMBER for this and I had to try what will do until i had it right {or close to}. In this example, the first line should also have been ANTIC 7, but it is still ANTIC 2 If i change the LINE 75 from DATA 66,64,188 to DATA 71,64,188 that the top part is okay, but the rest not... I need read more books to find how that really is working. Problem with the books is how every single one is pointing to another book to get more information. NOT COOL, hehe! The number of GO-COMPUTE! is crazy large. Looks like back then COMPUTE! was the only resource to scratch the knowledge together in regard to ATARI! That were GREAT times... I was busy with the C128, not ATARI, but still! ------------------------------------------------------------------------------------------------- EXAMPLE 3 CODE { DEFAULT GRAPHICS MODE 13, ANTIC 5} ------------------------------------------------------------------------------------------------- Even if so far not all is clear. Let's move on... All GRAPHICS MODES 1,2,3... etc. are using SPLIT-SCREEN, a screen with graphics and text combo! And all have 4 text lines at the very end of the screen. That's actually how C128 is having too. Lower part text, upper part graphics. Now i was think what if i just kick few numbers?! Will that be enough to move the text part somewhere else and why not on the top. I think it shouldn't be any kind of impossible mission. And action! We will use out program again. Because it really is crystal clear what it is doing! These are default values! How to switch TEXT field to TOP? This program below will do it for you! --------------------------------------- GR. 13 112 112 112 69 128 189 5 5 5 5 5 5 5 5 5 66 96 191 2 2 2 65 104 189 0 --------------------------------------- 1 REM EDITOR SETUP 2 POKE 729,20:REM .KEY DELAY 3 POKE 730,3:REM ..KEY REPEAT 4 POKE 731,3:REM ..NO CLICK 5 POKE 82,0:REM ...NO LEFT MARGIN 6 POKE 710,0:REM ..SCREEN COLOR 7 POKE 712,0:REM ..BORDER COLOR 8 REM EDITOR SETUP 100 GRAPHICS 13 110 SCREEN=PEEK(88)+PEEK(89)*256 120 DLIST=PEEK(560)+PEEK(561)*256 130 DLSIZE=SCREEN-DLIST 140 DLSIZE=DLSIZE-2 150 REPEAT 160 READ Y 170 POKE DLIST+B,Y 180 B=B+1 190 UNTIL B=DLSIZE 200 REM ---------------------------- 210 REM OUR NEW DISPLAYLIST! TOP-TEXT 220 REM GRAPHICS MODES 0 & 13! 230 REM - 3 BLANK LINES 240 DATA 112,112,112 250 REM - LMS, START, HIGH-BYTE 260 DATA 66,96,191 270 REM ANTIC MODES GRAPHICS 0 / TEXT 280 DATA 2,2,2 290 DATA 69,128,189 300 REM ANTIC MODES GRAPHICS 13 310 DATA 5,5,5,5,5,5,5,5,5 320 REM JUMP/WAIT VERTICAL BLANK 330 DATA 65 340 REM JUMP ADDRESS 350 DATA 104: REM LOW-BYTE 360 DATA 189: REM HIGH-BYTE 370 REM ---------------------------- 380 PRINT "PRESS ENTER" 390 IF PEEK(764)=12 THEN END 400 GOTO 390 Not very difficult. Basically we can do that for all GRAPHICS MODES with SPLIT SCREEN! And we learned how LMS can literally be placed everywhere. I {we} did not do that in previous, first 2 examples. Probably that is why it worked, but not as it should have! At least it did not crash. Ergo, also that way it is usable! Interesting is also how we created 4 lines with just 3 ANTIC numbers {2,2,2}? Well, that will wait for the next time. Here is enough material available to experiment a while with the DISPLAY-LISTS! ------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------- ATARI - GRAPHICS MODES {ALL TOGETHER 28 DIFFERENT GRPAHICS MODES}: NOTE: SPLITSCREEN is always lower number e.g. GRAPHICS 1 {as SPLIT-SCREEN version} To activate the full screen without split-mode, just add 16 to it! GRAPHICS 1+16 = Same screen as 1 just no SPLITTING! {All these + 16 GRAPHICS MODES resulted in ZERO'S. Maybe those can't be used and therefore they have no DISPLAYLISTISTING available. I just ignored them until i got smarter because it really can be how there is a reason for such results! On the other side, in BOOKs it does work. Emulator issue? } |---------------|-------|------|-------|----------------|-------|---------| |GRAPHICS MODE |NUMBER |ANTIC |COLOR |RESOLUTION |SCNLINE|MEM BYTES| |---------------|-------|------|-------|----------------|-------|---------| |Text Screen |0 |2 |1,2Lum |40X x 24Y CHR |8 |992 | |---------------|-------|------|-------|----------------|-------|---------| |Text Screen |17 | |5 |20X x 24Y CHR |8 |672 | |with different |1-wTxt |6 |5 |20X x 20Y CHR |8 |674 | |X & Y sized |-------|------|-------|----------------|-------|---------| |Characters |18 | |5 |20X x 12Y CHR |16 |420 | |4 Modes total |2-wTxt |7 |5 |20X x 10Y CHR |16 |424 | |---------------|-------|------|-------|----------------|-------|---------| |Graphics |19 | |4 |40X x 24Y PIX |8 |432 | |Screen Modes |3-wTxt |8 |4 |40X x 20Y PIX |8 |434 | |4-Colors max. |-------|------|-------|----------------|-------|---------| |Independent of |21 | |4 |80X x 48Y PIX |4 |1176 | |the possible |5-wTxt |A |4 |80X x 40Y PIX |4 |1174 | |resolution. |-------|------|-------|----------------|-------|---------| | |23 | |4 |160X x 96Y PIX |2 |4200 | | |7-wTxt |D |4 |160X x 80Y PIX |2 |4190 | | |-------|------|-------|----------------|-------|---------| | |31 | |4 |160X x 192Y PIX |2 |8138 | | |15-wTxt|E |4 |160X x 160Y PIX |2 |8112 | |---------------|-------|------|-------|----------------|-------|---------| |Graphics |20 | |2 |80X x 48Y PIX |4 |696 | |Screen Modes |4-wTxt |9 |2 |80X x 40Y PIX |4 |694 | |2-Colors max. |-------|------|-------|----------------|-------|---------| |Independent of |22 | |2 |160X x 96Y PIX |2 |2184 | |the possible |6-wTxt |B |2 |160X x 80Y PIX |2 |2174 | |resolution. |-------|------|-------|----------------|-------|---------| | |30 | |2 |160X x 192Y PIX |2 |4296 | | |14-wTxt|C |2 |160X x 160Y PIX |2 |4270 | |---------------|-------|------|-------|----------------|-------|---------| |High resolution|24 | |1,2Lum |320X x 192 PIX |1 |8138 | |Graphics Mode |8-wTxt |F |1,2Lum |320X x 160 PIX |1 |8112 | |---------------|-------|------|-------|----------------|-------|---------| |GTIA-MODES | | | | | | | |{POKE 623,64} |9 |F |1,16Lum|80X x 192 PIX |1 |8138 | |{POKE 623,128} |10 |F |9 |80X x 192 PIX |1 |8138 | |{POKE 623,192} |11 |F |16 |80X x 192 PIX |1 |8138 | |---------------|-------|------|-------|----------------|-------|---------| |Text Screen |28 | |4 |40X x 24 CHR |8 |1152 | |with different |12-wTxt|4 |4 |40X x 20 CHR |8 |1154 | |X & Y sized |-------|------|-------|----------------|-------|---------| |Characters |29 | |4 |40X x 12 CHR |16 |660 | |4-Colors max. |13-wTxt|5 |4 |40X x 10 CHR |16 |664 | |---------------|-------|------|-------|----------------|-------|---------|