53248 20 N = 100: POKE HPOS,N: POKE 53261 ,255 30 IF STICK(0) = 11 THEN N = N - 1: POKE HPOS,N: PRINT N 40 IF STICK(0) = 7 THEN N = N + 1: POKE HPOS,N: PRINT N 50 GOTO 30 There are no vertical position registers for P/M graphics, so you must use software routines to move players vertically. One idea for vertical motion is to reposition the player within the P/M region rather than the screen RAM. For example, the program below uses a small machine language routine to accomplish this move: 1 REM LINES 5 TO 70 SET UP THE PLAYER 5 KEEP=PEEK(106)-16 10 POKE 106,KEEP:POKE 54279,KEEP 20 GRAPHICS 7+16:POKE 704,78:POKE 559 ,46:POKE 53277,3 30 PMBASE=KEEP*256 40 FOR LOOP=PMBASE+512 TO PMBASE+640: POKE LOOP,0:NEXT LOOP:REM CLEAR OU T MEMORY FIRST 50 X=100:Y=10:POKE 53248,X 60 FOR LOOP=0 TO 7:READ BYTE:POKE PMB ASE+512+Y+LOOP,BYTE:NEXT LOOP:REM PLAYER GRAPHICS INTO MEMORY 70 DATA 129,153,189,255,255,189,153,1 29 80 REM LINES 100 TO 170 SET UP MACHIN E LANGUAGE ROUTINE 100 DIM UP$(21),DOWN$(21):UP=ADR(UP$) :DOWN=ADR(DOWN$) 110 FOR LOOP=UP TO UP+20:READ BYTE:PO KE LOOP,BYTE:NEXT LOOP 120 FOR LOOP=DOWN TO DOWN+20:READ BYT E:POKE LOOP,BYTE:NEXT LOOP 130 DATA 104,104,133,204,104,133,203, 160,1,177 140 DATA 203,136,145,203,200,200,192, 11,208,245,96 150 DATA 104,104,133,204,104,133,203, 160,10,177 160 DATA 203,200,145,203,136,136,192, 255,208,245,96 200 REM VERTICAL CONTROL 210 IF STICK(0)=14 THEN GOSUB 300