home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1989 February
/
64er_Magazin_89-02_1989_Markt__Technik_de_Disk_1_of_2_Side_B.d64
/
ram-font-lader
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
2KB
|
97 lines
100 rem *** ram-font-lader ***
120 rem ***** 12.5.1988 ******
130 :
1100 gn=peek(186):if gn<8 then gn=8
1130 cb=64:ct=66:ci=68:co=70:ef=72
1200 open 4,4,15:open2,4,0
1210 open 8,gn,15
1220 rem *** font-liste einlesen
1230 open1,gn,2,"font-liste,s,r"
1240 gosub7000:if a then gosub7200:run
1260 input#1,fa
1300 dim ft$(fa),fl(fa)
1340 for x=1 to fa
1360 input#1,fl(x),ft$(x) :next
1400 :
1420 rem *** font-nr erfragen
1450 print"":for x=1 to fa
1470 printx"[157].",ft$(x) :next
1500 print"welcher font soll
1530 [133]"geladen werden (nr.) ";n$
1550 n[178][197](n$):[139] n[178]0 [167] 1450
1560 ad[178]ct:[141]6600
1570 [139] fl(n)[177]wo[171]2048[171]100 [167] [153]" die font-datei ist zu lang !":[137]1500
1590 :
1595 [143] *** font laden
1600 [158] 57812 (ft$(n)[170]",s"),gn
1620 [151]781,0:[151]782,48
1640 [151]780,0:[158]65493:[141]7000
1660 [139] a [167][141]7220:[137]1600
1680 :
1690 [143] *** empty-flag abfragen
1700 ad[178]ef:[141]6200:[139] by [167] 1900
1720 [153]" der druckpuffer ist noch nicht leer.
1750 input" soll das ende des druckvorgangs abge- wartet werden (j/n) ";a$
1780 if a$="n" then 1900
1800 if a$<>"j" then 1700
1820 ad=ef:gosub6200:if by=0 then1820
1850 :
1890 rem *** pufferanfang auf $0800
1900 print#4,"u:"
1940 print#4,"p0"
1980 :
1990 rem *** font senden
2000 a$="[199][211][198]88-":for x=1 to 6
2020 print#2,mid$(a$,x,1);:next
2030 cmd2
2070 for x=3*4096 to x+fl(n)+4
2100 printchr$(peek(x));:next
2110 print#2:close2
2130 :
2160 rem *** neuen puffer-anfang setzen
2200 ad=ci:gosub6600
2230 ad=cb:gosub6800
2260 print#4,"c"
2280 print#4,"p1"
2300 print" der [198]ont ist uebertragen."
2320 input" probeausdruck (j/n) ";a$
2350 if a$<>"j" then 3000
2380 open 6,4,6:print#6,"f00";
2400 for x=32 to 127
2430 print#6,chr$(x);:next:print#6
2460 close6
3000 close4:close8
3030 end
5900 :
6190 *** byte (ad) aus interface lesen
6200 h=int(ad/256):l=ad-256*h
6230 print#4,"m-r"chr$(l)chr$(h)chr$(1)
6260 get#4,b$:by=asc(b$+chr$(0))
6290 return
6350 :
6390 *** byte (ad) schreiben
6400 h=int(ad/256):l=ad-256*h
6430 print#4,"m-w"chr$(l)chr$(h)chr$(1)chr$(by):return
6550 :
6590 *** wort auslesen
6600 gosub6200:wo=by:ad=ad+1
6630 gosub6200:wo=wo+256*by
6650 return
6700 :
6750 *** wort schreiben
6800 wh=int(wo/256):by=wo-wh*256
6830 gosub6400:by=wh:ad=ad+1
6860 goto6400
6900 :
7000 input#8,a,b$,c,d
7030 print ""a;b$;c;d
7060 return
7090 :
7200 a$="font-liste":goto7300
7220 a$="font"
7300 print" "a$" nicht gefunden !
7330 [153]"bitte richtige diskette
7360 print"einlegen & taste druecken.
7380 [151]198,0:[146]203,63:[161]a$
7400 [142]