Skip to main content
© Chaos

GFA BASIC TIPS & TRICKS by Richard Karsmakers

In  this issue of ST NEWS,  I again intend to solve some  of  the 
frequently  asked problems through this GfA Basic Tips  &  Tricks 
column.

1) I have this big problem. When I use the line

   Void Xbios(5,L:Screenmem%,L:Screenmem%,W:2)

   in high res to switch the screen memory to address Screenmem%, 
   I  always  find  that the screen is  cleared.  Menu  bars  and 
   pictures disappear. What do I do wrong?

Answer:  When  you  read in a book how to use Xbios  function  5, 
you'll  notice that the last value (W:...) is used to switch  the 
screen resolution.  If you do not want to change the  resolution, 
you  should  fill  in  '-1'  there.  If  you  don't  do  that  on 
monochrome,  the  screen  will be cleared.  So,  the  answer  is: 
Replace '2' by '-1' and everything will go nicely.

2) How do I load in a Degas (Elite) picture in GfA  Basic,  which 
   automatically sets the color palette?

Answer: Use the following small program....

   Do
     Fileselect "\*.PI*","",Lo$
     Bload Lo$,Xbios(2)-34
     Void Xbios(6,L:Xbios(2)-32)
     A=Inp(2)
   Loop

This small program will load any picture into any resolution,  so 
take  care that you load pictures fitting the  resolution  you're 
in!  It  then sets the color palette using the Xbios  6  function 
('Setpalette'). A Degas file is set up like this:

    1- 2   Word representing the picture resolution
    3-34   The color palette (16 words)
   34->    The picture data

In the case of Degas Elite pictures,  the color animation data is 
also stored in the file, but only after the actual picture data.
Note that this routine only works with un-compressed pictures; it 
works on all STs (any amount of memory).

3) How  do I delete a file?  Is it perhaps possible to supply  me 
   with a small routine that does the work for me?

Answer: Type in the following program...

   Do
     Fileselect "\*.*","",Sc$
     If Exists(Sc$)=0
       Print "File does not exist/already deleted?"
       Goto Label
     Endif
     Kill Sc$
     Label:
   Loop

That's all for this time, folks!

Disclaimer
The text of the articles is identical to the originals like they appeared in old ST NEWS issues. Please take into consideration that the author(s) was (were) a lot younger and less responsible back then. So bad jokes, bad English, youthful arrogance, insults, bravura, over-crediting and tastelessness should be taken with at least a grain of salt. Any contact and/or payment information, as well as deadlines/release dates of any kind should be regarded as outdated. Due to the fact that these pages are not actually contained in an Atari executable here, references to scroll texts, featured demo screens and hidden articles may also be irrelevant.