FONTROM – zmiana fontów w ROM
Program FONTROM to pomocnicze narzędzie umożliwiające zmianę podstawowego zestawu znaków znajdującego się w ROM. Zmodyfikowany plik ROM można bez trudu załadować np. do emulatora lub Ultimate1MB i ucieszyć oko zmodyfikowanymi fontami.
Po uruchomieniu podajemy nazwę pliku źródłowego ROM, następnie fontów (FNT) oraz wyjściowego (zmodyfikowanego) pliku ROM. Podajemy tylko nazwę pliku bez rozszerzenia. Pliki muszą znajdować się w tym samym katalogu co program. Tamże pojawi się utworzony plik ROM.
Gdyby ktoś znalazł się w potrzebie zmodyfikowania drugiego tzw. międzynarodowego zestawu fontów to może zmienić adresy ładowania fontów oraz pętli sprawdzającej sumę kontrolną.
Czcionki z poniższego ekranu otrzymałem dzięki uprzejmości kolegi PIN.
;FONTROM AtariFan 201205, http://atari8.eu
set 14=$7100
set $491=$7100
BYTE X
card B,I,RW
char array F(10),FN(16),EXT=”.ROM”
proc File(byte X,RW card B,I)
IF
RW=4 then print(„↑*Wczytuje > „) *wstaw znak Esc shift+del
else print(„↑*Zapisuje > „) *wstaw znak Esc shift+del
FI
print(FN)
close(X) open(X,FN,RW,0)
poke($362,RW+3) pokec($364,B) pokec($368,I)
[$AD X $0A$0A$0A$0A$AA$20$56$E4]
close(X)
PrintE(” ok↓”)
return
proc Input()
inputs(F) IF F(0)>8 THEN F(0)=8 FI
scopy(FN,”D: „)
sassign(FN,F,FN(0))
sassign(FN,EXT,FN(0)+1,FN(0)+4)
return
proc Main()
printe(„*↓FONTROM AtariFan atari8.eu 201205″) *wstaw znak Esc Shift+<
printe(„Zmiana drugiego zestawu fontow w ROM”)
;wczytaj ROM
print(„↓Nazwa pliku ROM : „) input()
File(2,4,$3000,$4000)
;wczytaj fonty
print(„Nazwa pliku czcionek : „)
scopy(EXT,”.FNT”) input()
File(2,4,$5000,$400)
;przelicz i zapisz sume kontrolna
B=0
FOR I=$5000 TO $6FFF DO B==+PEEK(I) OD
B==-PEEK($6FF8) B==-PEEK($6FF9)
POKEC($6FF8,B)
;zapisz nowy ROM
print(„Nazwa pliku nowego ROM : „)
scopy(EXT,”.ROM”) input()
FILE(2,8,$3000,$4000)
printe(„Gotowe.”)
;powrot do SDX
[$6C$0A$00]
Biblioteka: