home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1993 August
/
64er_Magazin_93-08_1993_Markt__Technik_de_Side_A.d64
/
techtech.ascii
< prev
next >
Wrap
Text File
|
2022-10-26
|
5KB
|
3 lines
100 ; ; techtech 80
110 ; ; (c)1992 paul guldenaar
120 ; ;
130 org $1300
140 jmp tech ;techtech 80.
150 jmp putpic;vicpic nach vdc.
160 tech sei
170 lda #$0b ;vic aus.
180 sta $d011
190 lda #$01 ;fast mode ein.
200 sta $d030
210 lda #$f0 ;geringstes vdc-
220 ldx #$24 ;ram auffrish-
230 jsr $cdcc ;tempo.
240 lda #$3f
250 ldx #$1c ;64k vdc-ram.
260 jsr $cdcc
270 lda #$87 ;hires ein.
280 ldx #$19
290 jsr $cdcc
300 lda #$40 ;video display
310 ldx #$0c ;bei $4000.
320 jsr $cdcc
330 lda #$7f ;63 zyklen pro
340 ldx #$00 ;rasterzeile.
350 jsr $cdcc
360 lda #$ff ;wichtig!:letztes
370 ldx #$12 ;byte von vdc-ram
380 jsr $cdcc ;verantwortlich
390 inx ;fur randflackern
400 jsr $cdcc ;bei soft-scroll,
410 lda #$00 ;gleich geister-
420 jsr $cdca ;byte bei c64.
430 lda #$a0 ;setz copy-bit.
440 ldx #$18
450 jsr $cdcc
460 ldy #$00
470 sty count ;bewegungsstart.
480 sty $fb ;mach tabelle
490 sty $fc ;mit start-
500 t1 lda $fc ;addressen von
510 sta $1900,y;jedem
520 lda $fb ;pixelzeile.
530 sta $1800,y
540 clc
550 adc #$50
560 sta $fb
570 bcc t2
580 inc $fc
590 t2 iny
600 cpy #$c8
610 bne t1
620 screen ldx count
630 lda #$19 ;vdc-reg fur
640 sta $d600 ;x-softscroll
650 lda $1600,x;softscroll-
660 eor #$07 ;werte fur erste
670 ora #$80 ;pixelzeile.
680 sta $d601
690 inx
700 stx count
710 lda #$20 ;warte auf oben-
720 sc1 bit $d600 ;rand des
730 beq sc1 ;sichtbares
740 sc2 bit $d600 ;schirms.
750 bne sc2
760 jsr wait90 ;warte 2'er zeile
770 ldy #$00
780 soft lda $1600,x;setze softscroll
790 eor #$07 ;werte einer
800 ora #$80 ;pixelzeile.
810 sta $d601
820 jsr wait73 ;zeile timing.
830 lda $1800,y;berechne
840 clc ;nachste
850 adc $1700,x;hardscroll
860 sta $1a00,y;position.
870 lda $1900,y
880 adc #$00
890 sta $1b00,y
900 inx
910 iny
920 cpy #$5d
930 bne soft
940 lda #$87 ;kein softscroll
950 sta $d601 ;ubriges schirm.
960 lda $1800,y ;berechne letzte
970 clc ;werte fur
980 adc $1700,x ;hardscroll.
990 sta $1a00,y
1000 lda $1900,y
1010 adc #$00
1020 sta $1b00,y
1030 ldx #$12 ;setze update.
1040 stx $d600 ;nach dieses
1050 lda #$40 ;address wird
1060 sta $d601 ;kopiert.
1070 inx
1080 stx $d600
1090 lda #$00
1100 sta $d601
1110 sc3 bit $d600 ;address
1120 bpl sc3 ;ubergetragen?
1130 copy ldy #$00 ;hier werden 94
1140 c1 lda #$20 ;pixelzeilen
1150 sta $d600 ;von blockadres
1160 lda $1b00,y;nach das update
1170 sta $d601 ;adres kopiert.
1180 lda #$21 ;das update wird
1190 sta $d600 ;automatisch
1200 lda $1a00,y;hinauf gezahlt.
1210 sta $d601 ;das blockadres
1220 lda #$1e ;kommt aus die
1230 sta $d600 ;hardscroll-
1240 lda #$50 ;tabelle: das
1250 sta $d601 ;pixelzeileadres
1260 c2 bit $d600 ;plus den offset
1270 bpl c2
1280 iny
1290 cpy #$5e
1300 bne c1
1310 lda #$ff ;leertaste
1320 cmp $dc01 ;gedruckt?
1330 bne done ;ja ende.
1340 jmp screen
1350 done cmp $dc01 ;warte bis keine
1360 bne done ;taste mehr
1370 cli ;gedruckt wird.
1380 rts
1390 wait90 jsr wait17
1400 wait73 jsr wait17
1410 jsr wait17
1420 jsr wait17
1430 lda ($aa),y
1440 wait17 lda ($aa),y
1450 wait12 rts
1460 putpic sei ;pisture von vic
1470 sta $fd ;nach vdc-format
1480 stx $fe
1490 lda #$00 ;picture bei
1500 sta $fb ;$8000 im
1510 lda #$80 ;bank 0.
1520 sta $fc
1530 lda #$19 ;25 zeilen.
1540 sta tel1
1550 p1 ldy #$00
1560 p2 sty tel2
1570 lda #$28 ;40 spalten.
1580 sta tel3
1590 lda $fe ;setze update-
1600 ldx #$12 ;address.
1610 jsr $cdcc
1620 lda $fd
1630 inx
1640 jsr $cdcc
1650 get stx $ff01 ;hole byte aus
1660 lda ($fb),y;bank 0.
1670 ldx #$00
1680 stx $ff00
1690 jsr $cdca ;byte nach vdc.
1700 tya ;nachstes byte.
1710 clc
1720 adc #$08
1730 tay
1740 bcc p3
1750 inc $fc
1760 p3 dec tel3
1770 bne get
1780 lda #$50 ;address nachste
1790 clc ;vdc-pixelzeile.
1800 adc $fd
1810 sta $fd
1820 bcc p4
1830 inc $fe
1840 p4 dec $fc
1850 ldy tel2 ;8 pixelzeilen
1860 iny ;gehat?
1870 cpy #$08
1880 bcc p2
1890 lda $fb ;ja nachste
1900 clc ;vic zeile.
1910 adc #$40
1920 sta $fb
1930 lda $fc
1940 adc #$01
1950 sta $fc
1960 dec tel1
1970 bne p1
1980 cli ;fertig.
1990 rts
2000 tel1 dat $00
2010 tel2 dat $00
2020 tel3 dat $00
2030 count dat $00
ready.