Zosia fajna jest
Wbrew temu co mógłby sugerować tytuł chodzi o urządzenie Sophia2 produkcji kolegi Simius. To miłe sercu urządzenie poza rewelacyjną jakością obrazu przydaje małemu Atari kilka dodatkowych funkcjonalności. Miłych bo nie wymagających zawiłych sztuczek programistycznych tudzież znajomości języków bardziej lub mniej niskopoziomowych. Dla przypomnienia sam układ wygląda tak:
O sposobie montażu napisałem nieco tutaj.
Dodatkowe radosne przełączniki trybu pracy układu GTIA znajdują się w nieużywanych bitach rejestru PMCNTL znajdującego się pod adresem $D01D. Ustawienie bitu piątego tegoż powoduje, że w trybach HIRES kolory ZNAKÓW i RAMKI pobierane są z dwóch różnych rejestrów koloru i nie zachodzi pomiędzy nimi żadna zależność. Oznacza to między innymi, że wreszcie można uzyskać prawdziwie terminalowy ekran z dowolnie wybranym kolorem ramki i np. białymi znakami. Widać to chociażby w tym filmie:
No to teraz możemy na szybko sprawdzić chociażby w BASIC:
0 POKE 53277,16: REM wlacz bit 5 PMCNTL
1 POKE 709,$0F: REM biale znaki
2 POKE 710,$82: REM niebieska ramka
Takie opcje otwierają możliwości realizacji w banalny sposób rzeczy, które normalnie są nie do zrobienia wcale albo są bardzo skomplikowane.
No to może coś z tematów na czasie ? Jutro w Polsce dzień flagi. Proszę bardzo:
;swieto flagi, AtariFan, 220501
BYTE
COLPF1S=$02C5,
COLPF2S=$02C6,
COLBAKS=$02C8,
KB =$02FC,
PMCNTL =$D01D ;rejestr GTIA
CARD
EKR=88
proc KBGET=$F302()
proc start()
GRAPHICS(24)
PMCNTL=16 ;ustaw bit 5
COLPF1S=$34 ;czerwony
COLPF2S=$0F ;bialy
COLBAKS=$00 ;czarny
SETBLOCK(EKR+3840,3840,255)
KBGET() KB=255
GRAPHICS(0)
RETURN
A trzymając się aktualnych wydarzeń możemy też tak:
;flaga Ukrainy, AtariFan, 220501
BYTE
X,
COLPF1S=$02C5,
COLPF2S=$02C6,
COLBAKS=$02C8,
KB =$02FC,
ICCMD =$0362,
PMCNTL =$D01D ;rejestr GTIA
CARD
EKR=88,
ICBUFA =$0364,
ICBUFL =$0368
proc KBGET=$F302()
proc JMPCIO()
[$AD X $0A$0A$0A$0A$AA$20$56$E4]
return
proc start()
GRAPHICS(24)
PMCNTL=16
COLPF1S=$82
COLPF2S=$EE
COLBAKS=$00
X=2 CLOSE(X) OPEN(X,”D:UKR.BMP”,4,0)
ICCMD=7 ICBUFA=EKR ICBUFL=62 JMPCIO()
ICBUFL=7680 JMPCIO() CLOSE(X)
KBGET() KB=255
GRAPHICS(0)
RETURN
Plik UKR.BMP do pobrania.