_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

LISTING 1

FILE INFORMATION

FILENAME(S): LISTING 1

FILE TYPE(S): PRG

FILE SIZE: 1K

FIRST SEEN: 2025-11-30 01:13:01

APPEARS ON: 1 disk(s)

FILE HASH

91c2e38f7b067d938978d080202bf54ce15e206c194c94b1e63c40b240835345

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
10112 SEITE A LISTING 1 PRG C64er 26 2 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)

00000000: 01 08 20 4C 69 73 74 69  6E 67 20 31 3A 0D 73 65  |.. Listing 1:.se|
00000010: 69 20 3B 49 6E 74 65 72  72 75 70 74 2D 46 6C 61  |i ;Interrupt-Fla|
00000020: 67 20 73 65 74 7A 65 6E  0D 6C 64 61 20 20 23 3C  |g setzen.lda  #<|
00000030: 6E 65 75 69 72 71 20 3B  49 52 51 2D 56 65 6B 74  |neuirq ;IRQ-Vekt|
00000040: 6F 72 0D 6C 64 78 20 20  23 3E 6E 65 75 69 72 71  |or.ldx  #>neuirq|
00000050: 20 3B 61 75 66 20 6E 65  75 65 0D 73 74 61 20 20  | ;auf neue.sta  |
00000060: 24 30 33 31 34 20 3B 52  6F 75 74 69 6E 65 0D 73  |$0314 ;Routine.s|
00000070: 74 78 20 20 24 30 33 31  35 20 3B 76 65 72 62 69  |tx  $0315 ;verbi|
00000080: 65 67 65 6E 0D 6C 64 61  20 20 23 24 37 66 20 3B  |egen.lda  #$7f ;|
00000090: 54 69 6D 65 72 2D 49 6E  74 65 72 72 75 70 74 0D  |Timer-Interrupt.|
000000A0: 73 74 61 20 20 24 64 63  30 64 20 3B 76 65 72 68  |sta  $dc0d ;verh|
000000B0: 69 6E 64 65 72 6E 0D 6C  64 61 20 20 23 24 30 31  |indern.lda  #$01|
000000C0: 20 3B 52 61 73 74 65 72  2D 49 6E 74 65 72 72 75  | ;Raster-Interru|
000000D0: 70 74 0D 73 74 61 20 20  24 64 30 31 61 20 3B 7A  |pt.sta  $d01a ;z|
000000E0: 75 6C 61 73 73 65 6E 0D  6C 64 61 20 20 23 24 32  |ulassen.lda  #$2|
000000F0: 38 20 3B 52 61 73 74 65  72 2D 5A 65 69 6C 65 0D  |8 ;Raster-Zeile.|
00000100: 73 74 61 20 20 24 64 30  31 32 20 3B 64 65 66 69  |sta  $d012 ;defi|
00000110: 6E 69 65 72 65 6E 0D 6C  64 61 20 20 24 64 30 31  |nieren.lda  $d01|
00000120: 31 20 3B 42 69 74 38 0D  61 6E 64 20 20 23 24 37  |1 ;Bit8.and  #$7|
00000130: 66 20 3B 6C 94 73 63 68  65 6E 0D 73 74 61 20 20  |f ;l.schen.sta  |
00000140: 24 64 30 31 31 0D 6C 64  61 20 20 23 24 30 30 20  |$d011.lda  #$00 |
00000150: 3B 47 65 69 73 74 65 72  62 79 74 65 0D 73 74 61  |;Geisterbyte.sta|
00000160: 20 20 24 33 66 66 66 20  3B 6C 94 73 63 68 65 6E  |  $3fff ;l.schen|
00000170: 0D 63 6C 69 20 3B 49 6E  74 65 72 72 75 70 74 2D  |.cli ;Interrupt-|
00000180: 46 6C 61 67 20 6C 94 73  63 68 65 6E 0D 72 74 73  |Flag l.schen.rts|
00000190: 0D 0D 3A 6E 65 75 69 72  71 6C 64 61 20 20 24 64  |..:neuirqlda  $d|
000001A0: 30 31 39 20 3B 52 65 67  69 73 74 65 72 20 24 64  |019 ;Register $d|
000001B0: 30 31 39 0D 73 74 61 20  20 24 64 30 31 39 20 3B  |019.sta  $d019 ;|
000001C0: 6C 94 73 63 68 65 6E 0D  0D 6C 64 78 20 20 23 24  |l.schen..ldx  #$|
000001D0: 30 30 20 3B 5A 84 68 6C  65 72 20 61 75 66 20 6E  |00 ;Z.hler auf n|
000001E0: 75 6C 6C 20 73 65 74 7A  65 6E 0D 6C 64 61 20 20  |ull setzen.lda  |
000001F0: 23 24 31 39 20 3B 52 61  73 74 65 72 2D 5A 65 69  |#$19 ;Raster-Zei|
00000200: 6C 65 0D 3A 77 61 69 74  7A 65 69 6C 65 63 6D 70  |le.:waitzeilecmp|
00000210: 20 20 24 64 30 31 32 20  3B 61 62 77 61 72 74 65  |  $d012 ;abwarte|
00000220: 6E 0D 62 63 73 20 20 77  61 69 74 7A 65 69 6C 65  |n.bcs  waitzeile|
00000230: 0D 6C 64 79 20 20 23 24  30 63 20 3B 56 65 72 7A  |.ldy  #$0c ;Verz|
00000240: 94 67 65 72 75 6E 67 0D  3A 77 61 69 74 31 64 65  |.gerung.:wait1de|
00000250: 79 0D 62 6E 65 20 20 77  61 69 74 31 0D 6C 64 61  |y.bne  wait1.lda|
00000260: 20 20 23 24 31 30 20 3B  65 78 61 6B 74 65 73 20  |  #$10 ;exaktes |
00000270: 54 69 6D 69 6E 67 0D 73  74 61 20 20 24 64 30 31  |Timing.sta  $d01|
00000280: 31 20 3B 69 6E 69 74 69  61 6C 69 73 69 65 72 65  |1 ;initialisiere|
00000290: 6E 0D 6C 64 79 20 20 23  24 32 30 20 3B 56 65 72  |n.ldy  #$20 ;Ver|
000002A0: 7A 94 67 65 72 75 6E 67  0D 3A 77 61 69 74 32 64  |z.gerung.:wait2d|
000002B0: 65 79 0D 62 6E 65 20 20  77 61 69 74 32 0D 62 69  |ey.bne  wait2.bi|
000002C0: 74 20 20 24 63 30 0D 62  69 74 20 20 24 63 30 0D  |t  $c0.bit  $c0.|
000002D0: 3A 6C 61 62 65 6C 6C 64  79 20 20 24 64 30 31 32  |:labelldy  $d012|
000002E0: 3B 46 4C 44 2D 54 72 69  63 6B 20 21 21 21 0D 64  |;FLD-Trick !!!.d|
000002F0: 65 79 0D 74 79 61 0D 61  6E 64 20 20 23 24 30 37  |ey.tya.and  #$07|
00000300: 0D 6F 72 61 20 20 23 24  31 30 0D 73 74 61 20 20  |.ora  #$10.sta  |
00000310: 24 64 30 31 31 0D 6C 64  61 20 20 66 61 72 62 65  |$d011.lda  farbe|
00000320: 2C 78 20 3B 46 61 72 62  77 65 72 74 65 20 73 65  |,x ;Farbwerte se|
00000330: 74 7A 65 6E 0D 73 74 61  20 20 24 64 30 32 30 0D  |tzen.sta  $d020.|
00000340: 73 74 61 20 20 24 64 30  32 31 0D 0D 72 6F 72 20  |sta  $d021..ror |
00000350: 20 24 66 66 66 66 2C 78  20 3B 56 65 72 7A 94 67  | $ffff,x ;Verz.g|
00000360: 65 72 75 6E 67 0D 72 6F  72 20 20 24 66 66 66 66  |erung.ror  $ffff|
00000370: 2C 78 0D 72 6F 72 20 20  24 66 66 66 66 2C 78 0D  |,x.ror  $ffff,x.|
00000380: 72 6F 72 20 20 24 66 66  66 66 2C 78 0D 0D 69 6E  |ror  $ffff,x..in|
00000390: 78 0D 63 70 78 20 20 23  24 31 36 20 3B 32 32 20  |x.cpx  #$16 ;22 |
000003A0: 5A 65 69 6C 65 6E 0D 62  6E 65 20 20 6C 61 62 65  |Zeilen.bne  labe|
000003B0: 6C 20 3B 65 69 6E 67 65  66 84 72 62 74 3F 0D 6A  |l ;eingef.rbt?.j|
000003C0: 6D 70 20 20 24 65 61 38  31 0D 20 0D 3A 66 61 72  |mp  $ea81. .:far|
000003D0: 62 65 2E 62 20 20 20 31  35 2C 30 2C 36 2C 31 34  |be.b   15,0,6,14|
000003E0: 2C 31 35 2C 36 2C 31 34  2C 33 2C 31 35 2C 36 2C  |,15,6,14,3,15,6,|
000003F0: 31 34 0D 2E 62 20 20 20  33 2C 31 2C 31 35 2C 36  |14..b   3,1,15,6|
00000400: 2C 31 33 2C 33 2C 31 2C  33 2C 31 34 2C 36 2C 30  |,13,3,1,3,14,6,0|
.. LISTING 1:.SEI ;INTERRUPT-FLAG SETZEN
.LDA  #<NEUIRQ ;IRQ-VEKTOR.LDX  #>NEUIRQ
 ;AUF NEUE.STA  $0314 ;ROUTINE.STX  $031
5 ;VERBIEGEN.LDA  #$7F ;TIMER-INTERRUPT.
STA  $DC0D ;VERHINDERN.LDA  #$01 ;RASTER
-INTERRUPT.STA  $D01A ;ZULASSEN.LDA  #$2
8 ;RASTER-ZEILE.STA  $D012 ;DEFINIEREN.L
DA  $D011 ;BIT8.AND  #$7F ;L.SCHEN.STA  
$D011.LDA  #$00 ;GEISTERBYTE.STA  $3FFF 
;L.SCHEN.CLI ;INTERRUPT-FLAG L.SCHEN.RTS
..:NEUIRQLDA  $D019 ;REGISTER $D019.STA 
 $D019 ;L.SCHEN..LDX  #$00 ;Z.HLER AUF N
ULL SETZEN.LDA  #$19 ;RASTER-ZEILE.:WAIT
ZEILECMP  $D012 ;ABWARTEN.BCS  WAITZEILE
.LDY  #$0C ;VERZ.GERUNG.:WAIT1DEY.BNE  W
AIT1.LDA  #$10 ;EXAKTES TIMING.STA  $D01
1 ;INITIALISIEREN.LDY  #$20 ;VERZ.GERUNG
.:WAIT2DEY.BNE  WAIT2.BIT  $C0.BIT  $C0.
:LABELLDY  $D012;FLD-TRICK !!!.DEY.TYA.A
ND  #$07.ORA  #$10.STA  $D011.LDA  FARBE
,X ;FARBWERTE SETZEN.STA  $D020.STA  $D0
21..ROR  $FFFF,X ;VERZ.GERUNG.ROR  $FFFF
,X.ROR  $FFFF,X.ROR  $FFFF,X..INX.CPX  #
$16 ;22 ZEILEN.BNE  LABEL ;EINGEF.RBT?.J
MP  $EA81. .:FARBE.B   15,0,6,14,15,6,14
,3,15,6,14..B   3,1,15,6,13,3,1,3,14,6,0
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL