Söndagen den 3 februari, 2013
The next thing I needed, was to understand how to put the Atari’s ”players” and ”missiles” on the screen. The objective is to rewrite player and missile definitions line by line using the Display List interrupt code, like in the example program I finished yesterday.
Definition of Display Lists and Display List Interrupt code is easy to understand and easy to do and so is player and missile programming.
At this stage of development, I am not sure if the CPU is fast enough to write values with pattern and position for the number of players and missiles needed within the horizontal blanking interval.
Although I have done players and missile programming so many times, I always forget how to activate it. This time I got everything right except I used POKE 53277,3 to do the activation. However, this seems to activate DMA driven players and missiles. I want to rewrite position and pattern in the Display List interrupt code without involving any DMA.
1000 REM SAVE"D:PMG1.BAS" 1010 POKE 82,0:REM 40 COLUMNS 1020 GRAPHICS 0 1030 POKE 559,34:REM NO DMA FOR PMG 1040 POKE 623,17:REM PRIORITY AND PL4 1050 REM POKE 53277,0:REM ENABLE PMG 1060 POKE 704,220:REM YELLOW PL0 1070 POKE 705,54:REM RED PL1 1080 POKE 706,180:REM GREEN PL2 1090 POKE 707,146:REM BLUE PL3 1100 POKE 711,24:REM BROWN P4/M0-M3 1110 POKE 53261,255:REM PATTERN PL0 1120 POKE 53262,255:REM PATTERN PL1 1130 POKE 53263,255:REM PATTERN PL2 1140 POKE 53264,255:REM PATTERN PL3 1150 POKE 53265,255:REM PATTERN M0-M3 1160 POKE 53256,3:REM WIDTH PL0 1170 POKE 53257,3:REM WIDTH PL1 1180 POKE 53258,3:REM WIDTH PL2 1190 POKE 53259,34:REM WIDTH PL3 1200 POKE 53260,255:REM WIDTH M0-M3 1210 POKE 53248,48:REM POS PL0 1220 POKE 53249,80:REM POS PL1 1230 POKE 53250,112:REM POS PL2 1240 POKE 53251,144:REM POS PL3 1250 POKE 53252,176:REM POS M0 1260 POKE 53253,184:REM POS M1 1270 POKE 53254,192:REM POS M2 1280 POKE 53255,200:REM POS M3 1250 POKE 53252,176:REM POS M0 1260 POKE 53253,184:REM POS M1 1270 POKE 53254,192:REM POS M2 1280 POKE 53255,200:REM POS M3
When executing this program, the result is five (actually eight) verticals bar that cover the screen including the top end and the bottom end of the border.