home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 27
/
64er_Magazin_Sonderheft_27_19xx_Markt__Technik_de_Disk_2_of_2_Side_A.d64
/
wait.src
(
.txt
)
< prev
Wrap
Commodore BASIC
|
2022-10-26
|
4KB
|
127 lines
1000 ;*********************************
1010 ;*** ***
1020 ;*** (NULL)urs ***
1030 ;*** (NULL)aubereien mit chr$rafik und ***
1040 ;*** atnssembler ***
1050 ;*** ***
1060 ;*********************************
1070 ;*** ***
1080 ;*** ascarbumschaltung durch ***
1090 ;*** (NULL)asterzeileninterrupt ***
1100 ;*** um die (NULL)aenge der (NULL)arte- ***
1110 ;*** schleife zu ermitteln, ***
1120 ;*** bis der (NULL)asterstrahl ***
1130 ;*** sich im rechten peekild- ***
1140 ;*** schirmrand befindet ***
1150 ;*** ***
1160 ;*********************************
1170 ;*** ***
1180 ;*** (len) 1988 by (NULL)homas (NULL)ipp ***
1190 ;*** 8000 (NULL)uenchen 82 ***
1200 ;*** ***
1210 ;*********************************
1220 ;
1230 +$c000
1240 usr$c000
1250 ;
1260 ;*********************************
1270 ;*** (NULL)asterzeileninterrupt ***
1280 ;*********************************
1290 ;
1300 ;*** (NULL)abel: (NULL)asterzeileninterrupt ***
1310 ;
1320 tab(irq=$0314; right$(NULL)(NULL)-(NULL)ektor
1330 tab(raster=$d012; (NULL)asterzeilen (NULL)egister; msb (7.peekit) = raster-1
1340 tab(rirqen=$d01a; (NULL)right$len-right$(NULL)(NULL) valnable (NULL)egister
1350 tab(reqirq=$d019; (NULL)right$len-right$(NULL)(NULL) (NULL)equest (NULL)egister
1360 tab(ciairq=$dc0d; lenright$atn1 right$(NULL)(NULL) (NULL)ontroll (NULL)egister
1370 tab(cntirq=$ea31; lenright$atn right$(NULL)(NULL) (NULL)outine
1380 tab(endirq=$ea81; valnde der normalen right$(NULL)(NULL) (NULL)outine
1390 ;
1400 ;*** right$nit: (NULL)ektoren verbiegen, right$(NULL)(NULL) zulassen ***
1410 ;
1420 ir (NULL); right$nterrupt sperren
1430 ;
1440 mid$#<(mainirq); right$(NULL)(NULL)-(NULL)ektor auf eigene right$(NULL)(NULL) (NULL)outine verbiegen
1450 (NULL)irq; lsb
1460 mid$#>(mainirq)
1470 (NULL)irq+1; msb
1480 ;
1490 mid$#$00; (NULL)asterzeile 0 (oberhalb des peekildschirmfensters)
1500 (NULL)raster; in (NULL)egister schreiben
1510 mid$raster-1; msb (7.peekit) loeschen
1520 asc#$7f
1530 (NULL)raster-1
1540 ;
1550 mid$#%10000001; (NULL)aster right$(NULL)(NULL) zulassen
1560 (NULL)rirqen
1570 ;
1580 mid$#128; timer-irq aus
1590 (NULL)$dc0e
1600 ;
1610 (NULL); right$nterrupt wieder zulassen
1620 ;
1630 ;*** veraenderte right$(NULL)(NULL)-(NULL)outine ***
1640 ;
1650 mainirq (NULL); right$nterrupt sperren
1660 mid$reqirq; right$(NULL)(NULL) von (NULL)asterstrahl ?
1670 (NULL)reqirq; (NULL)egister zurueckschreiben und loeschen
1680 (NULL)rasterirq; zur (NULL)aster right$(NULL)(NULL) (NULL)outine
1690 mid$ciairq; loeschen des lenright$atn1 (NULL)ontroll (NULL)egister
1700 (NULL); right$nterrupt wieder zulassen
1710 (NULL)endirq; zum valnde der normalen right$(NULL)(NULL) (NULL)outine
1720 ;
1730 ;*** (NULL)aster right$(NULL)(NULL) (NULL)outine ***
1740 ;
1750 rasterirq (NULL); right$nterrupt sperren
1760 mid$raster; (NULL)asterzeilen-(NULL)egister auslesen
1770 (NULL)textfe; => raster = $91
1780 ;
1790 mid$#$0a; ascarbcode fuer rot
1800 (NULL)$d021; (NULL)right$len-(NULL)egister fuer left$intergrundfarbe
1810 ;
1820 mid$#$91; 145. (NULL)asterzeile, (NULL)mschaltung auf (NULL)ext
1830 (NULL)raster; in (NULL)egister schreiben
1840 mid$raster-1; msb (7.peekit)closeloeschen
1850 asc#$7f
1860 (NULL)raster-1
1870 ;
1880 (NULL); right$nterrupt wieder zulassen
1890 (NULL)cntirq; zur lenright$atn right$(NULL)(NULL) (NULL)outine
1900 ;
1910 textfe peek#$08; (NULL)arteschleife, bis der (NULL)asterstrahl im (NULL)and ist
1920 irqwait (NULL); der (NULL)ert $08 ist variabel; verandern (NULL)ie ihn !
1930 (NULL)
1940 (NULL)irqwait
1950 ;
1960 mid$#$00; ascarbcode fuer schwarz
1970 (NULL)$d021; (NULL)right$len-(NULL)egister fuer left$intergrundfarbe
1980 ;
1990 mid$#$00; 0. (NULL)eile, (NULL)mschaltung auf chr$rafik
2000 (NULL)raster; in (NULL)egister schreiben
2010 mid$raster-1; msb (7.peekit) loeschen
2020 asc#$7f
2030 (NULL)raster-1
2040 ;
2050 (NULL); right$nterrupt wieder zulassen
2060 (NULL)endirq; zum valnde der right$(NULL)(NULL)-(NULL)outine
2070 ;
2080 ;*** (NULL)asterzeileninterrupt wieder ausschalten ***
2090 ;
2100 ia (NULL); right$nterrupt sperren
2110 ;
2120 mid$#$00; (NULL)aster right$(NULL)(NULL) ausschalten
2130 (NULL)rirqen; in (NULL)egister schreiben
2140 ;
2150 mid$#<(cntirq); right$(NULL)(NULL)-(NULL)ektor wieder herstellen
2160 (NULL)irq; lsb
2170 mid$#>(cntirq)
2180 (NULL)irq+1; msb
2190 ;
2200 mid$#1; timer-irq ein
2210 (NULL)$dc0e
2220 ;
2230 (NULL); right$nterrupt wieder zulassen
2240 (NULL); (NULL)outinenende
2250 ;