Mam taki oto kod przerwania używanego na kolory (do gry z Wapniaka, ostatecznej wersji):
14999 PROC PRZERWANIE
15000 RESTORE 20000:DL=DPEEK(560)
15001 READ P$:IF P$="--" THEN 15003
15002 POKE ADDR,DEC(P$):ADDR=ADDR+1:GOTO 15001
15003 DPOKE $0200,$9C00:POKE $D40E,$C0
15004 POKE DL+190,PEEK(DL+190)+$80
15005 ENDPROC
20000 DATA 48
20001 DATA 8A
20002 DATA 48
20003 DATA A9
20004 DATA FF:.ZMIANA KOLORU
20005 DATA A2
20006 DATA 00:.ZMIANA KOLORU
20007 DATA 8D
20008 DATA 0A
20009 DATA D4
20010 DATA 8D
20011 DATA 17:.KOLOR
20012 DATA D0
20013 DATA 8E
20014 DATA 18
20015 DATA D0:. KOLOR
20016 DATA 68
20017 DATA AA
20018 DATA 68
20019 DATA 40
20020 DATA --
I mam z nim problem. Wszystko idealnie działa pod Turbo Basiciem, niezależnie od adresu przerwania (sprawdzałem zarówno szóstą stronę, jak i $9c00), a po kompilacji (udanej) kicha i wywala grę. Potrzebuję opcji przerwania, aby były dobrze widoczne teksty. Może macie jakieś pomysły lub procedurę na zmianę dwu rejestrów koloru, taką, aby działała po kompilacji i była zrozumiała dla laika w asemblerze, jakim jestem? Zależy mi na wypuszczeniu pełnej wersji, a nie lubię dawać niekompilowanego kodu.