> 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 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL