53261 60 NEXT X 70 INPUT A,B: REM MISSILE SIZE AND S HAPES 80 POKE 53260,A: POKE 53265,5 100 GOTO 30 Here's another example using DMA; GRACTL and DACTL (53277 and 54272; $D0lD and $D400): 10 POKE 623,1: POKE 559,54: POKE 542 79, 224: POKE 53277,1 20 FOR N = 53252 TO 53255: POKE N, 1 00 + X: X = X + 10: NEXT N: X = 0 30 INPUT SIZE: POKE 53260, SIZE 40 GOTO 30 See 54279 ($D407) for more information on P/M graphics. P0PL (R) Player 0 to player collisions. Bit use is: Bit 7 6 5 4 3 2 1 0 Player ...unused.... 3 2 1 0 Decimal ............. 8 4 2 1 53261 D00D GRAFP0 (W) Graphics shape for player 0 written directly to the player graphics register. In using these registers, you bypass ANTIC. You only use the GRAFP# registers when you are not using Direct Memory Access (DMA: see GRACTL at 53277). If DMA is enabled, then the graphics registers will be loaded automatically from the area specified by PMBASE (54279; $D407). The GRAF registers can only write a single byte to the playfield, but it runs the entire height of the screen. Try this to see: 10 POKE 53248, 160: REM SET HORIZONT AL POSITION OF PLAYER 0 20 POKE 704, 245: REM SET PLAYER 0 C OLOUR TO ORANGE 30 POKE 53261, 203: REM BIT PATTERN 11001011 To remove it, POKE 53261 with zero. The bit order runs from seven to zero, left to right across the TV screen. Each bit set will appear as a vertical line on the screen. A value of 255 means all bits are set, creating a wide vertical line. You can also use the size registers to change the player width. Using the GRAF registers will allow you to use players and missiles for such things as boundaries on game or text fields quite easily. P1PL