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

LISTING 3

FILE INFORMATION

FILENAME(S): LISTING 3

FILE TYPE(S): PRG

FILE SIZE: 1.6K

FIRST SEEN: 2025-12-02 00:10:14

APPEARS ON: 1 disk(s)

FILE HASH

98254e8c8a8025055df75513ae3500c53f9c271b5244c1d86679cf5cd8342cbe

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
10112 SEITE A LISTING 3 PRG earthshaker 26 11 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

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

00000000: 01 08 20 4C 69 73 74 69  6E 67 20 33 3A 0D 0D 73  |.. Listing 3:..s|
00000010: 65 69 0D 6C 64 78 20 20  23 24 30 30 20 3B 45 72  |ei.ldx  #$00 ;Er|
00000020: 73 74 65 6C 6C 65 6E 0D  3A 6D 61 6B 74 61 62 74  |stellen.:maktabt|
00000030: 78 61 20 3B 65 69 6E 65  72 0D 63 6C 63 20 3B 46  |xa ;einer.clc ;F|
00000040: 75 6E 6B 74 69 6F 6E 73  74 61 62 65 6C 6C 65 0D  |unktionstabelle.|
00000050: 61 64 63 20 20 23 24 30  31 20 3B 66 81 72 0D 61  |adc  #$01 ;f.r.a|
00000060: 6E 64 20 20 23 24 30 37  20 3B 64 69 65 0D 6F 72  |nd  #$07 ;die.or|
00000070: 61 20 20 23 24 33 38 20  3B 53 70 65 69 63 68 65  |a  #$38 ;Speiche|
00000080: 72 73 74 65 6C 6C 65 6E  0D 73 74 61 20 20 74 62  |rstellen.sta  tb|
00000090: 31 31 2C 78 20 3B 24 64  30 31 31 20 75 6E 64 0D  |11,x ;$d011 und.|
000000A0: 74 78 61 20 3B 24 64 30  31 38 0D 61 64 63 20 20  |txa ;$d018.adc  |
000000B0: 23 24 30 31 0D 61 73 6C  0D 61 73 6C 0D 61 73 6C  |#$01.asl.asl.asl|
000000C0: 0D 61 73 6C 0D 6F 72 61  20 20 23 24 30 38 0D 61  |.asl.ora  #$08.a|
000000D0: 6E 64 20 20 23 24 37 66  0D 73 74 61 20 20 74 62  |nd  #$7f.sta  tb|
000000E0: 31 38 2C 78 0D 69 6E 78  0D 63 70 78 20 20 23 32  |18,x.inx.cpx  #2|
000000F0: 30 30 20 3B 32 30 30 20  52 61 73 74 65 72 7A 65  |00 ;200 Rasterze|
00000100: 69 6C 65 6E 20 3F 0D 62  6E 65 20 20 6D 61 6B 74  |ilen ?.bne  makt|
00000110: 61 62 0D 6C 64 61 20 20  23 24 37 30 20 3B 6C 65  |ab.lda  #$70 ;le|
00000120: 74 7A 74 65 20 5A 65 69  6C 65 20 6B 65 69 6E 20  |tzte Zeile kein |
00000130: 44 4D 41 0D 73 74 61 20  20 74 62 31 31 2B 31 39  |DMA.sta  tb11+19|
00000140: 39 20 3B 75 6E 64 20 52  65 73 74 7A 65 69 6C 65  |9 ;und Restzeile|
00000150: 6E 20 73 63 68 77 61 72  7A 0D 6C 64 61 20 20 23  |n schwarz.lda  #|
00000160: 24 30 38 0D 73 74 61 20  20 74 62 31 38 2B 31 39  |$08.sta  tb18+19|
00000170: 39 0D 6C 64 61 20 20 23  3C 6E 65 75 69 72 71 20  |9.lda  #<neuirq |
00000180: 3B 49 52 51 2D 56 65 6B  74 6F 72 0D 6C 64 78 20  |;IRQ-Vektor.ldx |
00000190: 20 23 3E 6E 65 75 69 72  71 20 3B 76 65 72 62 69  | #>neuirq ;verbi|
000001A0: 65 67 65 6E 0D 73 74 61  20 20 24 30 33 31 34 0D  |egen.sta  $0314.|
000001B0: 73 74 78 20 20 24 30 33  31 35 0D 6C 64 61 20 20  |stx  $0315.lda  |
000001C0: 23 24 31 62 0D 73 74 61  20 20 24 64 30 31 31 20  |#$1b.sta  $d011 |
000001D0: 3B 24 64 30 31 31 2D 69  6E 69 74 0D 6C 64 61 20  |;$d011-init.lda |
000001E0: 20 23 24 31 38 0D 73 74  61 20 20 24 64 30 31 36  | #$18.sta  $d016|
000001F0: 20 3B 4D 43 2D 65 69 6E  0D 6C 64 61 20 20 23 24  | ;MC-ein.lda  #$|
00000200: 30 30 0D 73 74 61 20 20  24 64 30 31 35 20 3B 53  |00.sta  $d015 ;S|
00000210: 70 72 69 74 65 2D 52 65  67 69 73 74 65 72 20 6B  |prite-Register k|
00000220: 2D FF FF FF FF FF FB FF  4D FF FF FF FF FF FF FF  |-.......M.......|
00000230: FF FB FF 4D FF FF FF FF  FF FF FF FF FB FF 4D FF  |...M..........M.|
00000240: FF FF FF FF FF FF FF FF  FF ED C3 CB FF FF FF FF  |................|
00000250: 4D C1 FF FB C6 9A 94 80  80 04 8A CA A4 80 54 BA  |M.............T.|
00000260: 9E DE 9E BA 88 DA FF B6  9E E0 EE 9E E0 DA 80 A9  |................|
00000270: FF E0 80 9A 9E B9 16 E4  DA 94 80 80 8A 9A A4 C0  |................|
00000280: CE 80 54 9E E0 E4 DA 9E  BA 88 FF E8 D4 80 E4 9E  |..T.............|
00000290: DA FF 9E B9 16 96 9A 94  80 80 04 8A A4 4E 16 4A  |.............N.J|
000002A0: 4C 16 E4 DA 94 80 80 8A  9A A4 C0 C9 1F 16 50 EE  |L.............P.|
000002B0: 94 FF DA C4 96 9A 94 80  80 8A 9A C0 C4 C4 80 54  |...............T|
000002C0: 94 DE AA 88 FF 9E FF 96  9E 80 8A C0 44 C0 80 EE  |............D...|
000002D0: 94 E0 DA 9E B9 16 A0 D0  96 80 80 EE 94 FF DA CC  |................|
000002E0: 1F 16 50 EE 94 FF DA 40  96 9A 94 80 80 8A 9A C0  |..P....@........|
000002F0: C4 CC 16 A0 B6 FF 80 80  EE 94 69 74 32 0D 0D 6C  |..........it2..l|
00000300: 64 61 20 20 23 24 33 30  0D 3A 77 61 69 74 33 63  |da  #$30.:wait3c|
00000310: 6D 70 20 20 24 64 30 31  32 0D 62 6E 65 20 20 77  |mp  $d012.bne  w|
00000320: 61 69 74 33 0D 0D 6C 64  78 20 20 23 24 31 31 20  |ait3..ldx  #$11 |
00000330: 3B 53 79 6E 63 68 72 6F  6E 69 73 61 74 69 6F 6E  |;Synchronisation|
00000340: 20 64 65 73 0D 6C 64 61  20 20 23 24 31 38 20 3B  | des.lda  #$18 ;|
00000350: 54 69 6D 65 72 73 20 61  75 66 20 69 6D 6D 65 72  |Timers auf immer|
00000360: 20 64 69 65 73 65 6C 62  65 0D 73 74 61 20 20 24  | dieselbe.sta  $|
00000370: 64 30 31 31 20 3B 68 6F  72 69 7A 6F 6E 74 61 6C  |d011 ;horizontal|
00000380: 65 20 50 6F 73 69 74 69  6F 6E 20 64 75 72 63 68  |e Position durch|
00000390: 0D 73 74 78 20 20 24 64  63 30 65 20 3B 44 4D 41  |.stx  $dc0e ;DMA|
000003A0: 2D 5A 79 6B 6C 65 6E 2D  41 75 73 67 6C 65 69 63  |-Zyklen-Ausgleic|
000003B0: 68 0D 6C 64 61 20 20 23  24 33 62 0D 73 74 61 20  |h.lda  #$3b.sta |
000003C0: 20 24 64 30 31 31 0D 6C  6D FF FF FF FF FF FF FF  | $d011.lm.......|
000003D0: FF FF FF D2 FF E7 FF DC  C6 94 AE 80 97 FF E4 A4  |................|
000003E0: FF 9E B9 16 96 9A 94 80  80 8A 9A 9A C0 C0 80 94  |................|
000003F0: BA 9A 80 80 04 8A AA AC  0D 6F 72 61 20 20 23 24  |.........ora  #$|
00000400: 30 32 0D 73 74 61 20 20  24 64 64 30 30 20 3B 42  |02.sta  $dd00 ;B|
00000410: 61 6E 6B 20 31 20 65 69  6E 0D 63 6C 69 0D 72 74  |ank 1 ein.cli.rt|
00000420: 73 0D 0D 3A 6E 65 75 69  72 71 6C 64 61 20 20 23  |s..:neuirqlda  #|
00000430: 24 39 66 20 3B 4D 61 78  69 6D 61 6C 77 65 72 74  |$9f ;Maximalwert|
00000440: 20 64 65 72 20 76 65 72  67 61 6E 67 65 6E 65 6E  | der vergangenen|
00000450: 0D 73 65 63 20 3B 5A 79  6B 6C 65 6E 20 76 65 72  |.sec ;Zyklen ver|
00000460: 67 6C 65 69 63 68 65 6E  0D 73 62 63 20 20 24 64  |gleichen.sbc  $d|
00000470: 63 30 34 0D 63 6D 70 20  20 23 24 30 62 0D 62 63  |c04.cmp  #$0b.bc|
00000480: 63 20 20 6F 6B 0D 6A 6D  70 20 20 73 79 6E 63 65  |c  ok.jmp  synce|
00000490: 72 72 3B 7A 75 76 69 65  6C 65 20 5A 79 6B 6C 65  |rr;zuviele Zykle|
000004A0: 6E 0D 0D 3A 6F 6B 6C 73  72 3B 68 61 6C 62 69 65  |n..:oklsr;halbie|
000004B0: 72 65 6E 0D 62 63 63 20  20 6F 6E 65 63 79 63 6C  |ren.bcc  onecycl|
000004C0: 65 0D 73 74 61 20 20 72  65 73 74 63 79 63 6C 65  |e.sta  restcycle|
000004D0: 2B 31 0D 0D 3A 72 65 73  74 63 79 63 6C 65 62 70  |+1..:restcyclebp|
000004E0: 6C 20 20 72 65 73 74 63  79 63 6C 65 20 3B 5A 65  |l  restcycle ;Ze|
000004F0: 69 74 61 75 73 67 6C 65  6B FF FF FF FF FF FF FF  |itausglek.......|
00000500: FF FB CD C1 4F FF FF FF  CD 5F FF FF FF FF FF FF  |....O...._......|
00000510: FF FF FF D0 EF FF FB CD  C1 FF FB CD C1 FF FB CD  |................|
00000520: C1 FF FB CD C1 FF FB CD  C1 FF FB FF FF FF FF FF  |................|
00000530: FF FF FF FF FF FF FF C3  FF FF FF FF CA FF E4 D0  |................|
00000540: 96 94 FF 16 E4 DA 94 80  80 8A 9A C0 C4 C4 80 54  |...............T|
00000550: DE BA 9A 80 C4 1A 88 99  BF 94 80 FF BA 88 FF 9E  |................|
00000560: FF BC FF FF FF FF FF A2  70 7C 7F FC FF FF FF 23  |........p|.....#|
00000570: EF EC 6D 3C 3D FF 2F DD  2D FF BF 3D 72 7C 7F FC  |..m<=./.-..=r|..|
00000580: A2 7C 7F FC A2 70 7C 3C  3F FF FF FF FF FF FF FF  |.|...p|<?.......|
00000590: FF EB 3D FF EF 3D BD FD  BD 7F FA 7C 3C 3F FF FF  |..=..=.....|<?..|
000005A0: 2F BF FF FF FF 3C FF FF  ED DF FC 72 7C FF BF FF  |/....<.....r|...|
000005B0: FF FF 3F FF FF FF FF FF  FF FF FF FF 23 33 71 FF  |..?.........#3q.|
000005C0: 71 EF 3D 6C 3C 3D 72 7C  7C 3F FF FF 2F BF FF FF  |q.=l<=r||?../...|
000005D0: FF 3C A0 7C FF BF FF FF  FF 3F FF FF FF AA 7C 6C  |.<.|.....?....|l|
000005E0: 7F A0 7C FF AF FF FF FF  FF FF FF A2 7C FF 7F FF  |..|.........|...|
000005F0: FF 2F 2C 2B 6D 6C 6F 6F  70 0D 0D 3A 62 61 63 6B  |./,+mloop..:back|
00000600: 6A 6D 70 20 20 24 65 61  33 31 20 3B 61 6C 74 65  |jmp  $ea31 ;alte|
00000610: 20 49 52 51 2D 52 6F 75  74 69 6E 65 0D 0D 3A 73  | IRQ-Routine..:s|
00000620: 79 6E 63 65 72 72 6C 64  61 20 20 23 24 34 63 20  |yncerrlda  #$4c |
00000630: 3B 54 69 6D FF FF FF FF  FF CC FF FF 43 FF FF FF  |;Tim........C...|
00000640: FB FF 4D FF FF FF FF FF  FF FF FF FF FF C6 BA 9E  |..M.............|
00000650: BA 88 A0 FF BC 3F FF FF  2C 6C FF FF 70 7C 3C 3F  |.....?..,l..p|<?|
00000660: FF FF FF FF 3F FF FF FF  ED 3F BD FF FF 2C 6B FF  |....?....?...,k.|
00000670: 7B 18 FF FF FF 51 9B 71  FF FF FF FF FF 4B 9B 71  |{....Q.q.....K.q|
00000680: FF FF FF FF FF 89 F8 FF  4B C1 4B F8 FF FF 81 FF  |........K.K.....|
00000690: 8B CD                                             |..              |
.. LISTING 3:..SEI.LDX  #$00 ;ERSTELLEN.
:MAKTABTXA ;EINER.CLC ;FUNKTIONSTABELLE.
ADC  #$01 ;F.R.AND  #$07 ;DIE.ORA  #$38 
;SPEICHERSTELLEN.STA  TB11,X ;$D011 UND.
TXA ;$D018.ADC  #$01.ASL.ASL.ASL.ASL.ORA
  #$08.AND  #$7F.STA  TB18,X.INX.CPX  #2
00 ;200 RASTERZEILEN ?.BNE  MAKTAB.LDA  
#$70 ;LETZTE ZEILE KEIN DMA.STA  TB11+19
9 ;UND RESTZEILEN SCHWARZ.LDA  #$08.STA 
 TB18+199.LDA  #<NEUIRQ ;IRQ-VEKTOR.LDX 
 #>NEUIRQ ;VERBIEGEN.STA  $0314.STX  $03
15.LDA  #$1B.STA  $D011 ;$D011-INIT.LDA 
 #$18.STA  $D016 ;MC-EIN.LDA  #$00.STA  
$D015 ;SPRITE-REGISTER K-.......M.......
...M..........M...........CK....MA..F...
...J..T......Z.......Z..........Z.......
N.T...Z.....T...Z............N.JL..Z....
...I..P...ZD........DD.T............D...
..Z... P......ZL..P...Z@........DL. ....
..IT2..LDA  #$30.:WAIT3CMP  $D012.BNE  W
AIT3..LDX  #$11 ;SYNCHRONISATION DES.LDA
  #$18 ;TIMERS AUF IMMER DIESELBE.STA  $
D011 ;HORIZONTALE POSITION DURCH.STX  $D
C0E ;DMA-ZYKLEN-AUSGLEICH.LDA  #$3B.STA 
 $D011.LM..........R....F...............
.................ORA  #$02.STA  $DD00 ;B
ANK 1 EIN.CLI.RTS..:NEUIRQLDA  #$9F ;MAX
IMALWERT DER VERGANGENEN.SEC ;ZYKLEN VER
GLEICHEN.SBC  $DC04.CMP  #$0B.BCC  OK.JM
P  SYNCERR;ZUVIELE ZYKLEN..:OKLSR;HALBIE
REN.BCC  ONECYCLE.STA  RESTCYCLE+1..:RES
TCYCLEBPL  RESTCYCLE ;ZEITAUSGLEK.......
..MAO...M_.........P...MA..MA..MA..MA..M
A..............C....J..P.....Z......DD.T
....D...................P|....#..M<=./.
-..=R|..|..P|<?.........=..=....|<?..
/....<.....R|.....?.........#3Q.Q.=L<=R|
|?../....< |.....?....|L |.........|..
./,+MLOOP..:BACKJMP  $EA31 ;ALTE IRQ-ROU
TINE..:SYNCERRLDA  #$4C ;TIM.....L..C...
..M..........F.... ..?..,L..P|<?....?...
.?...,K.{....Q.Q.....K.Q........KAK.....
.M
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL