· Text 5479 · w8 · inlagg
I mitt inlägg nr 5171 presenterade jag några assemblersnuttar
med vars hjälp man kunde spara undan den aktuella skärmbilden
på en variabel INKLUSIVE attributvärdena, och sedan återska-
pa skärmbilden med färger och allt (även dubbel höjd och/eller
bredd). Den lades också i inlådan med namnet SAVESCR.806.
Nackdelen är dels att variabeln måste dimensioneras till 4000
bytes (inkräktar på programstorleken), dels att bara EN bild
åt gången kan vara sparad på detta sätt.
Jag har nu förbättrat dessa programrader högst väsentligt!
50 Pushscr¤=CHR¤(213,123,6,192,203,255,14,52,237,121,17,0,192,
33,0,120,1,208,7,237,160,219,53,18,19,120,177,32,246,209,
123,6,192,203,191,14,52,237,121,201)
60 Popscr¤=CHR¤(213,123,6,192,203,255,14,52,237,121,33,0,192,
17, 0,120,1,208,7,35,126,211,53,43,237,160,35,120,177,32,
244,209,123,6,192,203,191,14,52)
70 Popscr¤=Popscr¤+CHR¤(237,121,201)
80 DEF FNPushscreen(Nr)=CALL(VARPTR(Pushscr¤),31-Nr)
90 DEF FNPopscreen(Nr)=CALL(VARPTR(Popscr¤),31-Nr)
Lagring (genom anropet Z=FNPushscreen(Nr) ) sker även nu
blixtsnabbt, liksom återskapandet (med Z=FNPopscreen(Nr) ).
Men textskärmbilden sparas nu på HR-minnet, där den upptar
4 kb. Den inkräktar alltså inte på programarean. Eftersom HR-
minnet är på 128 kb, kan man totalt samtidigt ha undansparade
maximalt 32 st textskärmbilder. Därför har funktionerna fått
inparametern Nr, som kan ges något av värdena 0 - 31.
Nr-värdena 0-7 medför lagring på den del av HR-minnet, som
motsvarar FGPICTURE 0, Nr-värdena 8-15 på FGPICTURE 1 osv.
RAM-floppyn lagrar som bekant bibliotek och filer från motsatt
håll jämfört med HR-grafiken, varför höga Nr-värden inte går
bra ihop med användning av RAM-floppy.
Om man vid användning av ovanstående rutiner väljer sina
Nr-värden med eftertanke, så kan de användas både tillsammans
med grafikbilder och RAM-floppy.
Jag har lagt ovanstående programrader med dokumentation i
inlådan under namnet PUSHSCRN.806.
De tar inte mycket plats i ett program, men kan bli ganska
användbara. Då HR-minnet inte raderas vid CHAIN, så kan man i
ett startprogram lagra ett antal textskärmbilder, som sedan
kan användas i flera program, som chainas efter varandra.
Mvh Lars Gjörling <6825>.