Lars Gjörling
<6825>
· Text 9406 · w8 · kommentar
1990-04-08 19:25
Ärende: Använda 806-program till 800:an.
Till Anders' lista kan läggas, att FGCTL på ABC806 kan följas av
en färglista, medan den på ABC800 måste följas av en sifferkod.
Vissa attribut läggs i ABC800 in i skärmminnet, medan de i ABC806
läggs i ett särskilt attributminne. Det förra sättet fungerar dock
även på ABC806, eftersom man, när man konstruerade ABC806, såg
till att 'gamla' program skulle fungera på 806 (medan 'nya' inte
alltid fungerar på 800). Du har tydligen ett program med 'gammalt'
blink.
En viss hjälp att konvertera 806-prgm till 800, skulle du kunna
ha av programmet LETA.BAS.
Ladda in det program som du vill konvertera och lagra det som
ascii-fil under namnet TEMP.BAS (skriv LIST TEMP.BAS).
Kör sedan programmet LETA, varvid du kan leta upp alla ställen
i programmet, där ATTRIBUTE, FGCTL etc finns och anteckna rad-
numren. Sedan får du ladda in programmet igen och ändra det som
behöver ändras.
806-programmet för klockställning fungerar som sagt inte på 800
eftersom det förutsätter en Cmos-klocka. Om du inte kan få tag
i ett program för 800, så är det enkelt att skriva ett:
10 INTEGER : EXTEND : PRINT CHR¤(12);
20 INPUT "Årtal: 19"År
30 IF FNFel(0,99,År) THEN 20
40 INPUT "Månad: "Mån
50 IF FNFel(1,12,Mån) THEN 40
60 INPUT "Dag: "Dag
70 IF FNFel(1,31,Dag) THEN 60
80 INPUT "Timme: "Tim
90 IF FNFel(0,23,Tim) THEN 80
100 INPUT "Minut: "Min
110 IF FNFel(0,59,Min) THEN 100
120 INPUT "Sekund: "Sek
130 IF FNFel(0,59,Sek) THEN 120
140 POKE 65519,År,Mån,Dag,Tim,Min,Sek
150 PRINT "Datum och tid ställd: " TIME¤
200 DEF FNFel(Min,Max,Tal)
210 IF Tal>=Min AND Tal<=Max THEN RETURN 0
220 PRINT "Fel tal!!! Gör om!!"
230 RETURN -1
240 FNEND