1 REM ************************************************************************ 2 REM * THIS EXAMPLE WILL MOVE ALL THE SCREEN TEXT, ONE POSITION TO THE LEFT * 3 REM * THE COPY IS DONE FROM A SQUARE DEFINED BY (X1,Y1)-(X2,Y2) AND THE * 4 REM * SAME IS MOVE TO (X3,Y3) * 5 REM ************************************************************************ 10 CLEAR 200,&HDFFF:SCREEN 1:LINE INPUT "WRITE ANYTHING IN THE SCREEN PLEASE:";A$ 20 AD=&HE000:GOSUB 1000:DEF USR0=&HE007 30 AD=&HE100:GOSUB 1000:DEF USR1=&HE107:REM !!!LOAD THE ROUTINE SEVERAL TIMES TO PRESET SEVERAL MOVEMENTS.!!! 40 POKE &HE000,1:POKE &HE001,0: REM X1 = 1 , Y1= 0 50 POKE &HE002,31:POKE &HE003,23: REM X2= 31, Y2= 23 60 POKE &HE004,0:POKE &HE005,0: REM X3 = 0 , Y3=0 70 A=USR0(0) 80 A$=INKEY$:IF A$="" THEN GOTO 70 90 END 1000 REM ************************************ 1010 REM * LOADER OF THE ROUTINE IN MEMORY * 1020 REM * AD = INITIAL ADDRESS . * 1030 REM ************************************ 1040 RESTORE 1000:X=AD 1050 READ A$:IF A$="END" THEN RETURN 1060 IF MID$(A$,1,1)="!" THEN POKE X,VAL("&H"+MID$(A$,2))+val("&h"+left$(hex$(AD),2)):GOTO 1080 1070 POKE X,VAL("&H"+A$) 1080 X=X+1:GOTO 1050 1090 DATA 00,00,00,00,00,00,00 1100 DATA 3A,05,!0,47,3A,03,!0,4F,3A,01,!0,B8,30,07,3A,01,!0,4F,3A,03,!0,47 1110 DATA 3A,05,!0,30,04,5F,78,91,83,32,06,!0 1120 DATA C5 1130 DATA 68,26,00,29,29,29,29,29,3A,00,!0,5F,16,00,19,11,00,18,19,3A,00,!0,47,3A,02,!0,3C,90 1140 DATA 28,27,4F,06,00,11,C0,!0,C5,D5,CD,59,00,3A,06,!0,6F,26,00,29,29,29,29,29,3A,04,!0,5F 1150 DATA 16,00,19,11,00,18,19,EB,E1,C1,CD,5C,00 1160 DATA C1,78,B9,C8,38,0A,05,3A,06,!0,3D,32,06,!0,18,AA,04,3A,06,!0,3C,32,06,!0,18,A0 1170 DATA END xx00 X1 xx01 Y1 xx02 X2 xx03 Y2 xx04 X3 xx05 Y3 xx06 YT FORMATO ASSEMBLER ----------------- LD A,(Y3) LD B,A LD A,(Y2) LD C,A LD A,(Y1) CP B JR NC,7 ; IF Y3>Y1 THEN Y=Y2:LY=Y1 ELSE Y=Y1:LY=Y2 LD A,(Y1) LD C,A LD A,(Y2) LD B,A LD A,(Y3) JR NC,04 LD E,A LD A,B SUB C ADD A,E LD (YT),A PUSH BC ; B= Y LD L,B LD H,00 ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL LD A,(X1) LD E,A LD D,00 ADD HL,DE LD DE,1800h ADD HL,DE LD A,(X1) LD B,A LD A,(X2) INC A SUB B JR Z,27 ; SECURITY TEST LD C,A LD B,00 LD DE,00C0+ORG ; BUFFER MEMORY ADDRESS. PUSH BC PUSH DE CALL 0059h LD A,(YT) LD L,A LD H,00 ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL LD A,(X3) LD E,A LD D,00 ADD HL,DE LD DE,1800h ADD HL,DE EX DE,HL POP HL POP BC CALL 005Ch POP BC ; B=Y C= Y2 LD A,B CP C RET Z JR C,0A DEC B LD A,(YT) DEC A LD (YT),A JR AA INC B LD A,(YT) INC A LD (YT),A JR A0
Aangemeld of registreer om reacties te plaatsen