00000000: 14 2D 2C 2D 01 00 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A |.-,-..;*********|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 44 2D 02 00 3B 2A |*********.D-..;*|
00000020: 20 53 50 52 49 54 45 53 43 52 4F 4C 4C 45 52 20 | SPRITESCROLLER |
00000030: 2A 00 5C 2D 03 00 3B 2A 28 57 29 20 42 59 20 4D |*.\-..;*(W) BY M|
00000040: 48 46 20 4F 46 20 41 44 2A 00 74 2D 04 00 3B 2A |HF OF AD*.t-..;*|
00000050: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000060: 2A 00 89 2D 0A 00 20 2E 45 51 53 43 52 52 45 47 |*..-.. .EQSCRREG|
00000070: 3D 24 43 45 46 30 00 9F 2D 0B 00 20 2E 45 51 5A |=$CEF0..-.. .EQZ|
00000080: 41 45 48 4C 45 52 3D 24 43 45 46 31 00 AE 2D 0C |AEHLER=$CEF1..-.|
00000090: 00 20 2E 45 51 5A 32 3D 24 46 42 00 BD 2D 0D 00 |. .EQZ2=$FB..-..|
000000A0: 20 2E 45 51 5A 31 3D 24 46 43 00 CB 2D 0F 00 20 | .EQZ1=$FC..-.. |
000000B0: 2E 42 41 24 37 30 30 30 00 E2 2D 64 00 4D 41 49 |.BA$7000..-d.MAI|
000000C0: 4E 50 52 47 20 4A 53 52 49 4E 49 54 41 4C 4C 00 |NPRG JSRINITALL.|
000000D0: EB 2D 6E 00 20 53 45 49 00 FA 2D 78 00 54 36 20 |.-n. SEI..-x.T6 |
000000E0: 4C 44 41 23 24 30 30 00 0A 2E 82 00 54 35 20 43 |LDA#$00.....T5 C|
000000F0: 4D 50 24 44 30 31 32 00 15 2E 8C 00 20 42 4E 45 |MP$D012..... BNE|
00000100: 54 35 00 27 2E 96 00 20 4A 53 52 53 50 52 53 43 |T5.'... JSRSPRSC|
00000110: 52 4F 4C 4C 00 32 2E A0 00 20 4A 4D 50 54 36 00 |ROLL.2... JMPT6.|
00000120: 62 2E C8 00 3B 48 49 45 52 20 42 45 47 49 4E 54 |b...;HIER BEGINT|
00000130: 20 44 45 52 20 45 49 47 45 4E 54 4C 49 43 48 45 | DER EIGENTLICHE|
00000140: 20 53 50 52 49 54 45 53 43 52 4F 4C 4C 45 52 00 | SPRITESCROLLER.|
00000150: 7D 2E 2C 01 53 50 52 53 43 52 4F 4C 4C 20 4C 44 |}.,.SPRSCROLL LD|
00000160: 58 23 24 30 30 3B 48 49 45 52 00 96 2E 36 01 54 |X#$00;HIER...6.T|
00000170: 31 20 52 4F 4C 24 34 30 30 30 2C 58 3B 57 45 52 |1 ROL$4000,X;WER|
00000180: 44 45 4E 00 AA 2E 40 01 20 52 4F 4C 24 33 46 43 |DEN...@. ROL$3FC|
00000190: 32 2C 58 3B 44 49 45 00 C2 2E 4A 01 20 52 4F 4C |2,X;DIE...J. ROL|
000001A0: 24 33 46 43 31 2C 58 3B 53 50 52 49 54 45 53 00 |$3FC1,X;SPRITES.|
000001B0: D7 2E 54 01 20 52 4F 4C 24 33 46 43 30 2C 58 3B |..T. ROL$3FC0,X;|
000001C0: 4E 41 43 48 00 ED 2E 5E 01 20 52 4F 4C 24 33 46 |NACH...^. ROL$3F|
000001D0: 38 32 2C 58 3B 4C 49 4E 4B 53 00 01 2F 68 01 20 |82,X;LINKS../h. |
000001E0: 52 4F 4C 24 33 46 38 31 2C 58 3B 47 45 2D 00 19 |ROL$3F81,X;GE-..|
000001F0: 2F 72 01 20 52 4F 4C 24 33 46 38 30 2C 58 3B 53 |/r. ROL$3F80,X;S|
00000200: 43 52 4F 4C 4C 54 00 2F 2F 7C 01 20 52 4F 4C 24 |CROLLT.//|. ROL$|
00000210: 33 46 34 32 2C 58 3B 37 2E 42 49 54 00 43 2F 86 |3F42,X;7.BIT.C/.|
00000220: 01 20 52 4F 4C 24 33 46 34 31 2C 58 3B 49 4E 53 |. ROL$3F41,X;INS|
00000230: 00 5C 2F 90 01 20 52 4F 4C 24 33 46 34 30 2C 58 |.\/.. ROL$3F40,X|
00000240: 3B 43 41 52 52 59 46 4C 2E 00 69 2F 9A 01 20 49 |;CARRYFL..i/.. I|
00000250: 4E 58 3B 55 4E 44 00 77 2F A4 01 20 49 4E 58 3B |NX;UND.w/.. INX;|
00000260: 44 41 4E 4E 00 84 2F AE 01 20 49 4E 58 3B 49 4E |DANN../.. INX;IN|
00000270: 53 00 97 2F B8 01 20 43 50 58 23 24 31 38 3B 30 |S../.. CPX#$18;0|
00000280: 2E 42 49 54 00 B7 2F C2 01 20 42 4E 45 54 31 3B |.BIT../.. BNET1;|
00000290: 44 45 53 20 4E 41 45 43 48 53 54 45 4E 20 57 45 |DES NAECHSTEN WE|
000002A0: 52 54 45 53 00 C7 2F CC 01 20 4A 53 52 4E 45 57 |RTES../.. JSRNEW|
000002B0: 43 48 41 52 00 D0 2F D6 01 20 52 54 53 00 FB 2F |CHAR../.. RTS../|
000002C0: E0 01 4E 45 57 43 48 41 52 20 4C 44 58 53 43 52 |..NEWCHAR LDXSCR|
000002D0: 52 45 47 3B 54 45 53 54 45 4E 20 4F 42 20 41 4C |REG;TESTEN OB AL|
000002E0: 4C 45 20 38 42 49 54 53 00 1C 30 EA 01 20 43 50 |LE 8BITS..0.. CP|
000002F0: 58 23 24 30 30 3B 44 45 53 20 43 48 41 52 53 20 |X#$00;DES CHARS |
00000300: 47 45 53 43 52 4F 4C 4C 54 00 3A 30 F4 01 20 42 |GESCROLLT.:0.. B|
00000310: 45 51 54 32 3B 57 45 4E 4E 20 4A 41 20 44 41 4E |EQT2;WENN JA DAN|
00000320: 4E 20 5A 55 20 54 32 00 53 30 FE 01 20 44 45 58 |N ZU T2.S0.. DEX|
00000330: 3B 57 45 4E 4E 20 4E 49 43 48 54 20 44 41 4E 4E |;WENN NICHT DANN|
00000340: 00 71 30 08 02 20 53 54 58 53 43 52 52 45 47 3B |.q0.. STXSCRREG;|
00000350: 44 45 4B 52 45 4D 45 4E 54 49 45 52 45 4E 00 7A |DEKREMENTIEREN.z|
00000360: 30 12 02 20 52 54 53 00 A5 30 1C 02 54 32 20 4C |0.. RTS..0..T2 L|
00000370: 44 41 23 24 30 37 3B 57 49 45 44 45 52 20 37 20 |DA#$07;WIEDER 7 |
00000380: 49 4E 53 20 53 43 52 4F 4C 4C 52 45 47 49 53 54 |INS SCROLLREGIST|
00000390: 45 52 00 B4 30 26 02 20 53 54 41 53 43 52 52 45 |ER..0&. STASCRRE|
000003A0: 47 00 C4 30 30 02 20 4C 44 58 5A 41 45 48 4C 45 |G..00. LDXZAEHLE|
000003B0: 52 00 E8 30 3A 02 20 4C 44 41 24 36 38 30 30 2C |R..0:. LDA$6800,|
000003C0: 58 3B 43 48 41 52 20 41 55 53 20 54 45 58 54 20 |X;CHAR AUS TEXT |
000003D0: 48 4F 4C 45 4E 00 05 31 44 02 20 43 4D 50 23 24 |HOLEN..1D. CMP#$|
000003E0: 30 30 3B 54 45 53 54 45 4E 20 4F 42 20 30 42 59 |00;TESTEN OB 0BY|
000003F0: 54 45 00 27 31 4E 02 20 42 45 51 54 45 58 54 49 |TE.'1N. BEQTEXTI|
00000400: 4E 49 54 3B 44 41 4E 4E 20 5A 55 20 54 45 58 54 |NIT;DANN ZU TEXT|
00000410: 49 4E 49 54 00 32 31 58 02 20 53 54 41 5A 32 00 |INIT.21X. STAZ2.|
00000420: 3F 31 62 02 20 4C 44 41 23 24 30 30 00 5B 31 6C |?1b. LDA#$00.[1l|
00000430: 02 20 53 54 41 5A 31 3B 57 45 52 54 20 49 4E 20 |. STAZ1;WERT IN |
00000440: 5A 45 52 4F 50 41 47 45 00 71 31 80 02 20 41 53 |ZEROPAGE.q1.. AS|
00000450: 4C 5A 32 3B 5A 31 2F 5A 32 20 4D 41 4C 38 00 96 |LZ2;Z1/Z2 MAL8..|
00000460: 31 8A 02 20 52 4F 4C 5A 31 3B 55 4D 20 50 4F 53 |1.. ROLZ1;UM POS|
00000470: 49 54 49 4F 4E 20 49 4D 20 43 48 41 52 53 45 54 |ITION IM CHARSET|
00000480: 20 5A 55 00 AB 31 94 02 20 41 53 4C 5A 32 3B 45 | ZU..1.. ASLZ2;E|
00000490: 52 4D 49 54 54 45 4C 4E 00 B6 31 9E 02 20 52 4F |RMITTELN..1.. RO|
000004A0: 4C 5A 31 00 C1 31 A8 02 20 41 53 4C 5A 32 00 CC |LZ1..1.. ASLZ2..|
000004B0: 31 B2 02 20 52 4F 4C 5A 31 00 D7 31 BC 02 20 4C |1.. ROLZ1..1.. L|
000004C0: 44 41 5A 31 00 F9 31 C6 02 20 43 4C 43 3B 44 41 |DAZ1..1.. CLC;DA|
000004D0: 4E 4E 20 42 45 49 4D 20 48 42 59 54 45 20 24 36 |NN BEIM HBYTE $6|
000004E0: 30 20 44 41 5A 55 00 26 32 D0 02 20 41 44 43 23 |0 DAZU.&2.. ADC#|
000004F0: 24 36 30 3B 41 44 44 49 45 52 45 4E 20 44 41 20 |$60;ADDIEREN DA |
00000500: 43 48 2E 20 42 45 49 20 24 36 30 30 30 20 4C 49 |CH. BEI $6000 LI|
00000510: 45 47 54 00 31 32 DA 02 20 53 54 41 5A 31 00 3E |EGT.12.. STAZ1.>|
00000520: 32 E4 02 20 4C 44 58 23 24 30 30 00 4B 32 EE 02 |2.. LDX#$00.K2..|
00000530: 20 4C 44 59 23 24 30 30 00 73 32 F8 02 54 33 20 | LDY#$00.s2..T3 |
00000540: 4C 44 41 28 5A 32 29 2C 59 3B 43 48 41 52 20 41 |LDA(Z2),Y;CHAR A|
00000550: 55 53 20 43 48 41 52 53 45 54 20 4C 41 44 45 4E |US CHARSET LADEN|
00000560: 00 9B 32 0C 03 20 53 54 41 24 34 30 30 30 2C 58 |..2.. STA$4000,X|
00000570: 3B 55 4E 44 20 49 4E 20 53 50 52 49 54 45 20 53 |;UND IN SPRITE S|
00000580: 43 48 52 45 49 42 45 4E 00 A4 32 16 03 20 49 4E |CHREIBEN..2.. IN|
00000590: 59 00 AD 32 20 03 20 49 4E 58 00 B6 32 2A 03 20 |Y..2 . INX..2*. |
000005A0: 49 4E 58 00 BF 32 34 03 20 49 4E 58 00 CC 32 3E |INX..24. INX..2>|
000005B0: 03 20 43 50 58 23 24 31 37 00 D7 32 48 03 20 42 |. CPX#$17..2H. B|
000005C0: 4E 45 54 33 00 E7 32 52 03 20 49 4E 43 5A 41 45 |NET3..2R. INCZAE|
000005D0: 48 4C 45 52 00 F0 32 5C 03 20 52 54 53 00 15 33 |HLER..2\. RTS..3|
000005E0: 66 03 49 4E 49 54 41 4C 4C 20 4C 44 58 23 24 30 |f.INITALL LDX#$0|
000005F0: 30 3B 41 4C 4C 45 20 42 45 4E 4F 45 54 49 47 54 |0;ALLE BENOETIGT|
00000600: 45 4E 00 33 33 70 03 54 34 20 4C 44 41 23 24 30 |EN.33p.T4 LDA#$0|
00000610: 30 3B 53 50 45 49 43 48 45 52 5A 45 4C 4C 45 4E |0;SPEICHERZELLEN|
00000620: 00 4F 33 7A 03 20 53 54 41 24 33 46 34 30 2C 58 |.O3z. STA$3F40,X|
00000630: 3B 56 4F 52 42 45 52 45 49 54 45 4E 00 58 33 84 |;VORBEREITEN.X3.|
00000640: 03 20 49 4E 58 00 63 33 8E 03 20 42 4E 45 54 34 |. INX.c3.. BNET4|
00000650: 00 70 33 98 03 20 4C 44 58 23 24 46 44 00 7E 33 |.p3.. LDX#$FD.~3|
00000660: A2 03 20 53 54 58 24 30 37 46 38 00 87 33 AC 03 |.. STX$07F8..3..|
00000670: 20 49 4E 58 00 95 33 B6 03 20 53 54 58 24 30 37 | INX..3.. STX$07|
00000680: 46 39 00 9E 33 C0 03 20 49 4E 58 00 AC 33 CA 03 |F9..3.. INX..3..|
00000690: 20 53 54 58 24 30 37 46 41 00 B9 33 D4 03 20 4C | STX$07FA..3.. L|
000006A0: 44 41 23 24 39 30 00 C7 33 DE 03 20 53 54 41 24 |DA#$90..3.. STA$|
000006B0: 44 30 30 31 00 D5 33 E8 03 20 53 54 41 24 44 30 |D001..3.. STA$D0|
000006C0: 30 33 00 E3 33 F2 03 20 53 54 41 24 44 30 30 35 |03..3.. STA$D005|
000006D0: 00 F0 33 FC 03 20 4C 44 41 23 31 34 30 00 FE 33 |..3.. LDA#140..3|
000006E0: 06 04 20 53 54 41 24 44 30 30 30 00 0B 34 10 04 |.. STA$D000..4..|
000006F0: 20 4C 44 41 23 31 36 34 00 19 34 1A 04 20 53 54 | LDA#164..4.. ST|
00000700: 41 24 44 30 30 32 00 26 34 24 04 20 4C 44 41 23 |A$D002.&4$. LDA#|
00000710: 31 38 38 00 34 34 2E 04 20 53 54 41 24 44 30 30 |188.44.. STA$D00|
00000720: 34 00 41 34 38 04 20 4C 44 41 23 24 30 31 00 4F |4.A48. LDA#$01.O|
00000730: 34 42 04 20 53 54 41 24 44 30 32 37 00 5D 34 4C |4B. STA$D027.]4L|
00000740: 04 20 53 54 41 24 44 30 32 38 00 6B 34 56 04 20 |. STA$D028.k4V. |
00000750: 53 54 41 24 44 30 32 39 00 78 34 60 04 20 4C 44 |STA$D029.x4`. LD|
00000760: 41 23 24 30 37 00 86 34 6A 04 20 53 54 41 24 44 |A#$07..4j. STA$D|
00000770: 30 31 35 00 94 34 74 04 20 4A 53 52 24 45 35 34 |015..4t. JSR$E54|
00000780: 34 00 A9 34 7E 04 54 45 58 54 49 4E 49 54 20 4C |4..4~.TEXTINIT L|
00000790: 44 41 23 24 30 30 00 B9 34 88 04 20 53 54 41 5A |DA#$00..4.. STAZ|
000007A0: 41 45 48 4C 45 52 00 C2 34 92 04 20 52 54 53 00 |AEHLER..4.. RTS.|
000007B0: 00 00 |.. |
.-,-..;******************.D-..;* SPRITES
CROLLER *.\-..;*(W) BY MHF OF AD*.T-..;*
*****************..-.. .EQSCRREG=$CEF0..
-.. .EQZAEHLER=$CEF1..-.. .EQZ2=$FB..-..
.EQZ1=$FC.K-.. .BA$7000..-D.MAINPRG JSR
INITALL..-N. SEI..-X.T6 LDA#$00.....T5 C
MP$D012..... BNET5.'... JSRSPRSCROLL.2.
. JMPT6.B.H.;HIER BEGINT DER EIGENTLICHE
SPRITESCROLLER.}.,.SPRSCROLL LDX#$00;HI
ER...6.T1 ROL$4000,X;WERDEN...@. ROL$3FC
2,X;DIE.B.J. ROL$3FC1,X;SPRITES.W.T. ROL
$3FC0,X;NACH...^. ROL$3F82,X;LINKS../H.
ROL$3F81,X;GE-../R. ROL$3F80,X;SCROLLT./
/|. ROL$3F42,X;7.BIT.C/.. ROL$3F41,X;INS
.\/.. ROL$3F40,X;CARRYFL..I/.. INX;UND.W
/.. INX;DANN../.. INX;INS../.. CPX#$18;0
.BIT../B. BNET1;DES NAECHSTEN WERTES.G/L
. JSRNEWCHAR.P/V. RTS../..NEWCHAR LDXSCR
REG;TESTEN OB ALLE 8BITS..0.. CPX#$00;DE
S CHARS GESCROLLT.:0.. BEQT2;WENN JA DAN
N ZU T2.S0.. DEX;WENN NICHT DANN.Q0.. ST
XSCRREG;DEKREMENTIEREN.Z0.. RTS..0..T2 L
DA#$07;WIEDER 7 INS SCROLLREGISTER..0&.
STASCRREG.D00. LDXZAEHLER..0:. LDA$6800,
X;CHAR AUS TEXT HOLEN..1D. CMP#$00;TESTE
N OB 0BYTE.'1N. BEQTEXTINIT;DANN ZU TEXT
INIT.21X. STAZ2.?1B. LDA#$00.[1L. STAZ1;
WERT IN ZEROPAGE.Q1.. ASLZ2;Z1/Z2 MAL8..
1.. ROLZ1;UM POSITION IM CHARSET ZU..1..
ASLZ2;ERMITTELN..1.. ROLZ1.A1.. ASLZ2.L
1.. ROLZ1.W1.. LDAZ1..1F. CLC;DANN BEIM
HBYTE $60 DAZU.&2P. ADC#$60;ADDIEREN DA
CH. BEI $6000 LIEGT.12Z. STAZ1.>2.. LDX#
$00.K2.. LDY#$00.S2..T3 LDA(Z2),Y;CHAR A
US CHARSET LADEN..2.. STA$4000,X;UND IN
SPRITE SCHREIBEN..2.. INY..2 . INX..2*.
INX..24. INX.L2>. CPX#$17.W2H. BNET3..2R
. INCZAEHLER..2\. RTS..3F.INITALL LDX#$0
0;ALLE BENOETIGTEN.33P.T4 LDA#$00;SPEICH
ERZELLEN.O3Z. STA$3F40,X;VORBEREITEN.X3.
. INX.C3.. BNET4.P3.. LDX#$FD.~3.. STX$0
7F8..3.. INX..3.. STX$07F9..3.. INX..3J.
STX$07FA..3T. LDA#$90.G3.. STA$D001.U3.
. STA$D003..3.. STA$D005..3.. LDA#140..3
.. STA$D000..4.. LDA#164..4.. STA$D002.&
4$. LDA#188.44.. STA$D004.A48. LDA#$01.O
4B. STA$D027.]4L. STA$D028.K4V. STA$D029
.X4`. LDA#$07..4J. STA$D015..4T. JSR$E54
4..4~.TEXTINIT LDA#$00..4.. STAZAEHLER.B
4.. RTS...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL