00000000: 20 20 20 20 20 20 20 20 20 2A 3D 20 24 31 30 30 | *= $100|
00000010: 30 0D 0D 45 4E 44 45 20 20 20 20 20 3D 20 24 30 |0..ENDE = $0|
00000020: 32 0D 53 54 41 52 54 20 20 20 20 3D 20 24 30 33 |2.START = $03|
00000030: 0D 0D 20 20 20 20 20 20 20 20 20 4C 44 41 20 23 |.. LDA #|
00000040: 24 30 38 20 20 20 3B 56 4F 52 42 45 52 45 49 54 |$08 ;VORBEREIT|
00000050: 55 4E 47 0D 20 20 20 20 20 20 20 20 20 53 54 41 |UNG. STA|
00000060: 20 53 54 41 52 54 20 20 3B 41 42 20 4C 49 4E 45 | START ;AB LINE|
00000070: 20 24 38 20 53 43 52 4F 4C 4C 45 4E 0D 20 20 20 | $8 SCROLLEN. |
00000080: 20 20 20 20 20 20 4C 44 41 20 23 24 31 30 20 20 | LDA #$10 |
00000090: 20 3B 42 45 49 20 4C 49 4E 49 45 0D 20 20 20 20 | ;BEI LINIE. |
000000A0: 20 20 20 20 20 53 54 41 20 45 4E 44 45 20 20 20 | STA ENDE |
000000B0: 3B 24 31 30 20 41 55 46 48 4F 45 52 45 4E 0D 20 |;$10 AUFHOEREN. |
000000C0: 20 20 20 20 20 20 20 20 4A 53 52 20 53 43 52 4F | JSR SCRO|
000000D0: 4C 4C 20 3B 55 4E 44 20 53 43 52 4F 4C 4C 45 4E |LL ;UND SCROLLEN|
000000E0: 0D 20 20 20 20 20 20 20 20 20 52 54 53 20 20 20 |. RTS |
000000F0: 20 20 20 20 20 3B 42 45 45 4E 44 45 4E 0D 0D 53 | ;BEENDEN..S|
00000100: 43 52 4F 4C 4C 20 20 20 4C 44 59 20 23 24 30 30 |CROLL LDY #$00|
00000110: 20 20 20 3B 5A 41 45 48 4C 45 52 20 41 55 46 20 | ;ZAEHLER AUF |
00000120: 30 0D 20 20 20 20 20 20 20 20 20 4C 44 58 20 53 |0. LDX S|
00000130: 54 41 52 54 20 20 3B 53 54 41 52 54 4C 49 4E 49 |TART ;STARTLINI|
00000140: 45 0D 20 20 20 20 20 20 20 20 20 4A 53 52 20 24 |E. JSR $|
00000150: 45 39 46 30 20 20 3B 49 4E 20 24 44 31 2F 24 44 |E9F0 ;IN $D1/$D|
00000160: 32 20 41 42 4C 45 47 45 4E 0D 20 20 20 20 20 20 |2 ABLEGEN. |
00000170: 20 20 20 4C 44 58 20 24 44 31 20 20 20 20 3B 50 | LDX $D1 ;P|
00000180: 4F 53 49 54 49 4F 4E 20 4C 4F 57 42 59 54 45 0D |OSITION LOWBYTE.|
00000190: 20 20 20 20 20 20 20 20 20 49 4E 58 20 20 20 20 | INX |
000001A0: 20 20 20 20 3B 50 4C 55 53 20 31 20 49 4E 20 24 | ;PLUS 1 IN $|
000001B0: 46 42 0D 20 20 20 20 20 20 20 20 20 53 54 58 20 |FB. STX |
000001C0: 24 46 42 20 20 20 20 3B 41 42 4C 45 47 45 4E 0D |$FB ;ABLEGEN.|
000001D0: 20 20 20 20 20 20 20 20 20 4C 44 58 20 24 44 32 | LDX $D2|
000001E0: 20 20 20 20 3B 48 49 47 48 42 59 54 45 20 49 4E | ;HIGHBYTE IN|
000001F0: 20 24 46 43 0D 20 20 20 20 20 20 20 20 20 53 54 | $FC. ST|
00000200: 58 20 24 46 43 20 20 20 20 3B 41 42 4C 45 47 45 |X $FC ;ABLEGE|
00000210: 4E 0D 53 43 52 33 20 20 20 20 20 4C 44 41 20 28 |N.SCR3 LDA (|
00000220: 24 46 42 29 2C 59 3B 4C 41 44 45 4E 0D 20 20 20 |$FB),Y;LADEN. |
00000230: 20 20 20 20 20 20 53 54 41 20 28 24 44 31 29 2C | STA ($D1),|
00000240: 59 3B 55 4E 44 20 2B 20 31 20 53 50 45 49 43 48 |Y;UND + 1 SPEICH|
00000250: 45 52 4E 0D 20 20 20 20 20 20 20 20 20 49 4E 59 |ERN. INY|
00000260: 20 20 20 20 20 20 20 20 3B 5A 41 45 48 4C 45 52 | ;ZAEHLER|
00000270: 20 2B 31 0D 20 20 20 20 20 20 20 20 20 43 50 59 | +1. CPY|
00000280: 20 23 24 32 37 20 20 20 3B 53 43 48 4F 4E 20 24 | #$27 ;SCHON $|
00000290: 32 37 20 43 48 41 52 53 3F 0D 20 20 20 20 20 20 |27 CHARS?. |
000002A0: 20 20 20 42 4E 45 20 53 43 52 33 20 20 20 3B 4E | BNE SCR3 ;N|
000002B0: 45 49 4E 20 44 41 4E 4E 20 53 43 52 33 0D 0D 4C |EIN DANN SCR3..L|
000002C0: 41 42 31 20 20 20 20 20 4C 44 41 20 24 41 30 30 |AB1 LDA $A00|
000002D0: 30 20 20 3B 4E 45 55 45 20 42 59 54 45 53 20 48 |0 ;NEUE BYTES H|
000002E0: 4F 4C 45 4E 0D 20 20 20 20 20 20 20 20 20 53 54 |OLEN. ST|
000002F0: 41 20 28 24 44 31 29 2C 59 3B 55 4E 44 20 53 45 |A ($D1),Y;UND SE|
00000300: 54 5A 45 4E 0D 0D 20 20 20 20 20 20 20 20 20 49 |TZEN.. I|
00000310: 4E 43 20 4C 41 42 31 2B 31 20 3B 44 49 52 45 4B |NC LAB1+1 ;DIREK|
00000320: 54 20 45 52 48 4F 45 48 45 4E 0D 20 20 20 20 20 |T ERHOEHEN. |
00000330: 20 20 20 20 4C 44 41 20 4C 41 42 31 2B 31 20 3B | LDA LAB1+1 ;|
00000340: 55 4E 44 20 55 45 42 45 52 50 52 55 45 46 45 4E |UND UEBERPRUEFEN|
00000350: 0D 20 20 20 20 20 20 20 20 20 43 4D 50 20 23 24 |. CMP #$|
00000360: 30 30 20 20 20 3B 4F 42 20 42 45 52 45 49 54 53 |00 ;OB BEREITS|
00000370: 20 3E 24 30 30 0D 20 20 20 20 20 20 20 20 20 42 | >$00. B|
00000380: 4E 45 20 53 43 52 43 4F 4E 30 3B 0D 20 20 20 20 |NE SCRCON0;. |
00000390: 20 20 20 20 20 49 4E 43 20 4C 41 42 31 2B 32 20 | INC LAB1+2 |
000003A0: 3B 4A 41 2C 20 44 41 4E 4E 20 48 49 42 59 54 45 |;JA, DANN HIBYTE|
000003B0: 2B 31 0D 20 20 20 20 20 20 20 20 20 52 54 53 20 |+1. RTS |
000003C0: 20 20 20 20 20 20 20 3B 0D 0D 53 43 52 43 4F 4E | ;..SCRCON|
000003D0: 30 20 20 49 4E 43 20 53 54 41 52 54 20 20 3B 56 |0 INC START ;V|
000003E0: 45 52 47 4C 45 49 43 48 45 4E 0D 20 20 20 20 20 |ERGLEICHEN. |
000003F0: 20 20 20 20 4C 44 41 20 53 54 41 52 54 20 20 3B | LDA START ;|
00000400: 4F 42 20 42 45 52 45 49 54 53 20 41 4C 4C 45 0D |OB BEREITS ALLE.|
00000410: 20 20 20 20 20 20 20 20 20 43 4D 50 20 45 4E 44 | CMP END|
00000420: 45 20 20 20 3B 4C 49 4E 49 45 4E 0D 20 20 20 20 |E ;LINIEN. |
00000430: 20 20 20 20 20 42 45 51 20 53 43 52 45 4E 44 20 | BEQ SCREND |
00000440: 3B 47 45 53 43 52 4F 4C 4C 45 44 20 57 55 52 44 |;GESCROLLED WURD|
00000450: 45 4E 0D 20 20 20 20 20 20 20 20 20 49 4E 43 20 |EN. INC |
00000460: 24 44 31 20 20 20 20 3B 57 45 4E 4E 20 4E 45 49 |$D1 ;WENN NEI|
00000470: 4E 20 44 41 4E 4E 0D 20 20 20 20 20 20 20 20 20 |N DANN. |
00000480: 42 4E 45 20 53 43 52 4F 4C 4C 20 3B 4E 41 45 43 |BNE SCROLL ;NAEC|
00000490: 48 53 54 45 20 4C 49 4E 49 45 0D 53 43 52 45 4E |HSTE LINIE.SCREN|
000004A0: 44 20 20 20 52 54 53 20 20 20 20 20 20 20 20 3B |D RTS ;|
000004B0: 5A 55 52 55 45 43 4B 0D 0D |ZURUECK.. |
*= $1000..ENDE = $02.START
= $03.. LDA #$08 ;VORBEREIT
UNG. STA START ;AB LINE $8 SCRO
LLEN. LDA #$10 ;BEI LINIE.
STA ENDE ;$10 AUFHOEREN.
JSR SCROLL ;UND SCROLLEN. RTS
;BEENDEN..SCROLL LDY #$00 ;ZAEH
LER AUF 0. LDX START ;STARTLINI
E. JSR $E9F0 ;IN $D1/$D2 ABLEGE
N. LDX $D1 ;POSITION LOWBYTE.
INX ;PLUS 1 IN $FB.
STX $FB ;ABLEGEN. LDX $D2
;HIGHBYTE IN $FC. STX $FC
;ABLEGEN.SCR3 LDA ($FB),Y;LADEN.
STA ($D1),Y;UND + 1 SPEICHERN.
INY ;ZAEHLER +1. CPY
#$27 ;SCHON $27 CHARS?. BNE S
CR3 ;NEIN DANN SCR3..LAB1 LDA $A00
0 ;NEUE BYTES HOLEN. STA ($D1),
Y;UND SETZEN.. INC LAB1+1 ;DIREK
T ERHOEHEN. LDA LAB1+1 ;UND UEBE
RPRUEFEN. CMP #$00 ;OB BEREITS
>$00. BNE SCRCON0;. INC
LAB1+2 ;JA, DANN HIBYTE+1. RTS
;..SCRCON0 INC START ;VERGLEICH
EN. LDA START ;OB BEREITS ALLE.
CMP ENDE ;LINIEN. BEQ
SCREND ;GESCROLLED WURDEN. INC
$D1 ;WENN NEIN DANN. BNE SCRO
LL ;NAECHSTE LINIE.SCREND RTS ;
ZURUECK..
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL