Lars Gjörling
<6825>
· Text 5066 · w8 · kommentar
1986-09-25 23:47
Ärende: Ett löjligt problem...
Visst kan du med poke skriva med dubbel bredd även utan att först gå
över till width 40. Till och med i färg om du har färgskärm.
Du måste ha attributminnet inkopplat med ATTRIBUT 1. Sedan skall du
lägga samma asciikod i två på varandra följande adresser i bildminnet.
Men: lägg i attributminnet för den första adressen attributvärdet 255
och för den andra det attributvärde, som motsvarar den önskade färgen.
Exempel: OUT 53,255 : POKE 30720,65 : OUT 53,3 : POKE 30721,65
ger ett gult A med dubbel bredd i övre högra hörnet. Har du inte färg-
skärms, så använd färgattributet 7 istället för 3.
Man kan för övrigt 'out:a' och 'poke:a' dubbel bredd och höjd på samma
sätt. Poka fyra st adresser (i 'kvadrat') med samma ascii-värde. Den
övre vänstra skall ha attributvärdet 246 och den undre vänstra attribut-
värdet 237. De båda högra skall ha det valda färgattributet. Exempel:
OUT 53,246 : POKE 30720,66 : OUT 53,2 : POKE 30721,66 : OUT 53,237 :
POKE 30800,66 : OUT 53,2 : POKE 30801,66 ger ett grönt B med dubbel
höjd och dubbel bredd i övre högra hörnet.
Ganska roligt att experimentera är att man kan kombinera så att man
exempelvis får ett tecken med övre halvan av ett A kombinerad med
undre halvan av ett B (och med olika färger om man vill).
Att göra motsvarande sak i assembler är inte svårt, man bör då veta
att ATTRIBUT 1 kan åstadkommas genom att man lägger talet 1 i adress
65266.
Mvh Lars Gjörling <6825>