Message #1 on âGFA Basicâ
Date : 22 Dec 90 02:27:20
From : Jon Webb
To : Jacob Hamacher
Subj : Re: GFA-Basic PC (was: LOC(#2))
> Is there a PC version of GFA-basic?
Yes, there are versions for MS-DOS, OS/2, Windows and Unix. The DOS version
has been released in Germany and Holland. The UK should follow soon. Only
interpreter for now, no compiler.
> Is it difficult to tranfser programs between the ST and the PC,
That depends on what commands you are using. The ST-specific routines
like WIND_OPEN() wonât work, but OPENW for instance _will_ work, and so
will FILESELECT and the menu system! All (or most) graphics commands are
available too.
> and where can I get GFA for my PC?
I think GFA UK handles support for Scandinavia. They can be reached on
++44-734-794941.
Merry Xmas! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #6 on âGFA Basicâ
Date : 31 Dec 90 02:07:48
From : Jon Webb
To : Glenn Johansson
Subj : (4) Re: Making a random file shorter
> How do I make a random access file one entry shorter using GFA BASIC?
You copy all the records but one from the old file to a new one...
OPEN âIâ,#1,âoldfile.datâ ! Open old file
OPEN âOâ,#2,ânewfile.datâ ! Open new file
â
count&=LOF(#1)/len& ! Where len = size of one record
FOR record&=1 TO count&-1 ! For each record but one
PRINT #2,INPUT$(len&,#1); ! Copy record
NEXT record& ! Next record
â
CLOSE #1 ! Close files
CLOSE #2
â
KILL âoldfile.datâ ! Remove old
NAME ânewfile.datâ AS âoldfile.datâ ! Rename new to old
That should do the trick.
Happy New Year! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #1 on âGFA Basicâ
Date : 19 Oct 90 15:50:12
From : Peter Bloemendaal
To : All
Subj : select problem
I have the following strange problem :
when I write the following lines in Gfa 3.5E :
SELECT b$
CASE âPRINTâ
The P from PRINT disappears ?????
I tried severall other letters instead of the P
Some of them disappear too, others give a syntax error. For example :
CASE âKRINTâ Syntax error
CASE âLRINTâ The L disappear
Does anyone knows a solution for this problem ?
* Origin: Cosysop Dutchman GFA_LOC always at your service ! (2:280/220.8)
Message #2 on âGFA Basicâ
Date : 20 Oct 90 03:04:04
From : Jon Webb
To : Magic.Alex Badalic
Subj : Re: Bomb Trapping
>> Am I going crazy? Or is GFA to blame?!
> Unfortunately, Iâm a very miserable programmer myself, but Iâve heard
> several other people complainig about the compiler. Seems to me itâs
> GfAâs fault!
After lotâs of testing and a few calls to Frank Ostrowski I think Iâve
spotted the problem, see next message.
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #3 on âGFA Basicâ
Date : 20 Oct 90 03:08:04
From : Jon Webb
To : All
Subj : Bomb problems
Hi All,
a few days ago I posted a message in this echo about problems with bomb
trapping. It turns out that when you switch bomb trapping on, you must also
_ALWAYS_ switch interrupts on. Without interrupts the compiled program will
keep on bombing. So:
$B+ Is incorrect
$B+,I+ Is correct
Also, $B+ can _not_ be passed on the command line by a shell. A few other
command line switches are also ignored by the compiler:
RCx RC_INTERSECT() parameters 16 or 32 bit
%0 and %3 Integer division results 16 or 32 bit
U+ Break checking on (locks up the compiler!)
trapping switched on. I claim this is simply a buggy compiler.
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #4 on âGFA Basicâ
Date : 20 Oct 90 03:13:04
From : Jon Webb
To : Peter Bloemendaal
Subj : (1) Re: select problem
> when I write the following lines in Gfa 3.5E :
> SELECT b$
> CASE âPRINTâ
> The P from PRINT disappears ?????
The SELECT statement only works on a long, 4 bytes. Thatâs because the
âSELECTâ value is loaded into a register and compared there. Thatâs with
source switch $S%, but with $S& only 2 bytes are compared (faster &
smaller code).
If you want to compare more than 4 bytes, use something like:
IF b$=âPRINTâ
...
ELSE IF b$=âLPRINTâ
...
ELSE IF ...
ENDIF
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #5 on âGFA Basicâ
Date : 20 Oct 90 03:13:28
From : Jon Webb
To : All
Subj : Compiling TTPâs with 3.50 EE
Starting with v3.50 EE you are supposed to be able to compile TTPâs which
donât mess around with the mouse. However, any source switch will cause
the compiler to insert the AES stuff anyway.
Combine this with the fact that things like bomb trapping canât be done
from the command line, and youâll see that you canât produce a TTP which
traps bombs...
GFA, youâve done it again...
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #6 on âGFA Basicâ
Date : 20 Oct 90 11:33:48
From : Peter Bloemendaal
To : Jon Webb
Subj : (4) Re: select problem
JW> The SELECT statement only works on a long, 4 bytes. Thatâs because
JW> the âSELECTâ value is loaded into a register and compared there.
So if I write the following program :
SELECT b$
CASE âPRINâ
rem Selected also when b$=âPRINTâ
This should work ?
Greetings, Peter Bloemendaal
-- LED ST 0.10 rb20
--- ComScan v1.00 TB/ST
* Origin: Cosysop Dutchman GFA_LOC always at your service ! (2:280/220.8)
Message #8 on âGFA Basicâ
Date : 21 Oct 90 05:50:36
From : Jon Webb
To : Albert Mullens
Subj : (7) Re: GfA Basic for the TT
> Hello, does anybody know anything about a patch or version of GfA
> Basic for the great Atari TT? The âordinaryâ GfA Basic doesnât work.
How about reading the messages in the echo before posting a new one? A
few days ago I posted a message about GFA on the TT. There is no version
newer than 3.50 EE, which will run (more or less) in ST resolutions.
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #13 on âGFA Basicâ
Date : 22 Oct 90 18:30:40
From : Jon Webb
To : Joakim Nordlander
Subj : (9) Re: window redraw
>> So you want to create your resource files by keyboard? You must be
>> joking! However, most options & dialog boxes in K-Resource have
>> keyboard shortcuts.
> I dont want to create them, I want to be able to operate them from the
> keyboard.
Ah, you mean shortcuts in the program which uses the resource. Well
thatâs easy. All you need to do is write your own FORM_DO() function.
Thatâs not as difficult as it seems, because most of the work is handled
by the sub-functions FORM_BUTTON() and FORM_KEYBD(). You could put the
shortcut key in the extended state.
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #14 on âGFA Basicâ
Date : 22 Oct 90 18:32:32
From : Jon Webb
To : Joakim Nordlander
Subj : (9) Re: window redraw
> I have wondered about making a program so that you can operate
> an Alertbox with the arrowkeys.
GShell, my GFA shell, does that. You can use the mouse, move the default
option with the cursor keys, or press the key which is underlined in the
button text.
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #16 on âGFA Basicâ
Date : 20 Oct 90 14:43:04
From : Michael Vogt
To : All
Subj : ASCII==>FIDO-MSG
Did anyone have a little *.GFA file for me with witch I can convert an
ascii-textfile to a FIDO-Msg? My problem: I am writing a utility for TB
witch produces ascii-files on my harddisc. In future it should write
these textfiles as messages in one or more echomail-areas. But I donât
know how to do this! If I can solve this problem with your help this
utility will be available for all sysops who are using TheBox and QBBS-ST.
It analyses the logfile and gives the sysop detailed information about
what was on in his system...
MfG.
\ /
\/
ICK
A&M-SOFT-BBS,1ST ATARI-NODE, Berlin/Brandenburg
-- LED ST 0.10
--- ComScan v1.00 TB/ST
Message #18 on âGFA Basicâ
Date : 27 Oct 90 02:27:56
From : Jon Webb
To : Michael Vogt
Subj : (16) Re: ASCII==>FIDO-MSG
> Did anyone have a little *.GFA file for me with witch I can convert an
> ascii-textfile to a FIDO-Msg? My problem: I donât know how to do this!
Request QSTRUCT.LZH from 2:282/301. That contains the message base layout.
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #19 on âGFA Basicâ
Date : 27 Oct 90 02:29:24
From : Jon Webb
To : Bernd Renzing
Subj : (17) Re: Options in GFA ?
> How can i read the Command Line in GFA Basic ? Has anybody an Routine ?
cl$=LEFT$(CHAR{BASEPAGE+129},BYTE{BASEPAGE+128})
No proc required, also works with ARGV.
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #20 on âGFA Basicâ
Date : 27 Oct 90 04:24:48
From : Erno Meffert
To : Bernd Renzing
Subj : (17) Re: Options in GFA ?
In a message of <26 Oct 90 00:23:32>, Bernd Renzing (2:245/102) writes:
BR> How can i read the Command Line in GFA Basic ? Has anybody an
BR> Routine ?
This one should do the job :
clr com$
com%=peek(basepage+&80)
if com%<>0
for i%=1 to com%
com$=com$+chr$(peek(basepage+&80+i%))
next i%
endif
com$=trim$(com$)
All this could be compressed in one or two line but this routine tells you
more about where and how the commandline can be found.
At basepage + 128 the length of the commandline is stored.
form basepage + 129 you can find the commandline itself.
Greeting Erno
-- LED ST 0.10 rb20
--- ComScan v1.00 TB/ST
* Origin: QuickBBS ST Arnhem, ++31-(0)85-644262 (2:281/801)
Message #22 on âGFA Basicâ
Date : 26 Oct 90 08:27:10
From : Jens Bauer
To : Jon Webb
Subj : Re: Fileselect on desktop
> Patching TOS huh?
Eeh, GEM, actually ;)
noticed that little ^ funny guy ?
-Iâm never using windows, instead Iâm using the dialog-boxes (Iâve seen a
crashed ST too many times, while working with windows (also when using the
example files from GfA!!) -does the FORM_DO() and OBJC_DRAW() return those
values ?!?
Great greetings - Jens -
--- QuickBBS ST v1.02+
* Origin: * The VOID BBS, +45 43 54 83 96 (HST) (24hrs) * (2:231/90)
Message #23 on âGFA Basicâ
Date : 28 Oct 90 03:23:36
From : Jon Webb
To : Jens Bauer
Subj : (22) Re: Fileselect on desktop
> -Iâm never using windows, instead Iâm using the dialog-boxes (Iâve
> seen a crashed ST too many times, while working with windows (also
> when using the example files from GfA!!)
Not when written correctly 8-)
> -does the FORM_DO() and OBJC_DRAW() return those values ?!?
No, FORM_DO() returns the exit object of course. With bit 15 set for
double-click. For redraws you need windows. What you _could_ do is
install your object as a custom desktop with WIND_SET(0, 14, ...). Then
AES will do the redrawing for you. Donât forget to remove it again when you
exit your program though!
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #24 on âGFA Basicâ
Date : 27 Oct 90 17:43:00
From : Bram Habraken
To : Jon Webb
Subj : Re: GFA 3.0/Big screen
> An average program written in GFA will certainly make a mess of it.
Why should it? A program can be written in GFA Basic to run correctly on every
graphics mode available for the ST/TT.
You can use WORK_OUT(0) and WORK_OUT(1) to get the width and height of the
current screen mode, and you allways should use those variables, NOT the line a
variables âcos it isnât sure if they will be supported in the future...
> For two reasons: First you canât rely on XBIOS(4) to get the
> current resolution (does anyone know what return code you get for a
> BigScreen monitor or a TT?).
On the TT XBIOS 4 returns what was expected!:
0 - ST Low
1 - ST Medium
2 - ST High
3 - TT Low
4 - TT Medium
5 - TT High
Gr.Bram Habraken
---
* Origin: Computershop Utrecht BBS Holland (31-30-660487) (2:281/701)
Message #25 on âGFA Basicâ
Date : 28 Oct 90 18:24:44
From : Peter Bloemendaal
To : All
Subj : Gfa procedures
Recently I try to manage a Gfa basic area. Iâam looking for a
number of short routines that make life easy. I think most
programmers have such routines in their pockets. This way we
can build an$enormous library of all kind of short procedures.
Please send your contribution to me or my orig line
Thanks.... Greetings Peter Bloemendaal
--- LED ST 0.10 [BYE 0n23]
* Origin: Cosysop Dutchman GFA_LOC[l^H: your service ! (2:280/220.8)
Message #26 on âGFA Basicâ
Date : 28 Oct 90 17:08:44
From : Jon Webb
To : Bram Habraken
Subj : (24) Re: GFA 3.0/Big screen
>> An average program written in GFA will certainly make a mess of it.
> Why should it? A program can be written in GFA Basic to run correctly
> on every graphics mode available for the ST/TT.
Theoretically yes. But in practice most GFA programmers are too lazy.
Especially when writing PD programs. I think this is due to the fact you
can write GFA programs even if youâve never heard of VDI, resolution
independant graphics, work stations and all that stuff.
> You can use WORK_OUT(0) and WORK_OUT(1) to get the width and height of
> the current screen mode, and you allways should use those variables,
Either those or the desktop sizes returned by WIND_GET(0,4...).
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #28 on âGFA Basicâ
Date : 29 Oct 90 22:44:04
From : Jon Webb
To : Erno Meffert
Subj : (27) Re: CHAR{}
> Can anyone tell me the difference between:
> CHAR{......} and CHAR{{......}}
{a%} is the same as LONG{a%}, which in turn is more or less identical to
LPEEK(a%). So...
CHAR{a%} returns string at a%
CHAR{{a%}} returns string at LONG{a%}
The main difference between LONG{} and LPEEK() is that LPEEK() is
executed in supervisor mode, whereas LONG{} is executed in user mode.
LONG{} about twice as fast. The same goes for BYTE{}/PEEK() and
CARD{}/DPEEK().
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #29 on âGFA Basicâ
Date : 29 Oct 90 02:00:48
From : Bertrand PETIT
To : Michael Vogt
Subj : (16) Re: ASCII==>FIDO-MSG
In a message of <20 Oct 90 14:43:04>, Michael Vogt (2:242/34) writes:
MV> Did anyone have a little *.GFA file for me with witch I can convert
MV> an ascii-textfile to a FIDO-Msg? My problem: I am writing a utility
Try LED ST (an editor like comscan but with GEM... very nice). It
inculde an ASCII import module.
Bertrand PETIT
alias
>Elrond le demi-Elfe<
--- LED ST 0.10
* Origin: IMLADRIS the house of the Elves -- Paris, France (2:320/4.7)
Message #30 on âGFA Basicâ
Date : 29 Oct 90 02:02:32
From : Bertrand PETIT
To : Bernd Renzing
Subj : (17) Re: Options in GFA ?
In a message of <26 Oct 90 00:23:32>, Bernd Renzing (2:245/102) writes:
BR> How can i read the Command Line in GFA Basic ? Has anybody an
If the command line is passed by a pragram who do that job correctly
(using pascal string definitions) try this:
command_line$=string$(byte{basepage+128},0)
bmove basepage+129,v:command_line$,byte{basepage+128}
This work in GFA 3. if you obtain nothing then try the C stringâs
definition:
command_line$=char{basepage+128}
or
command_line$=char{basepage+129}
One of them must work.
Bertrand PETIT
alias
>Elrond le demi-Elfe<
--- LED ST 0.10
* Origin: IMLADRIS the house of the Elves -- Paris, France (2:320/4.7)
Message #1 on âGFA Basicâ
Date : 19 Nov 90 04:55:44
From : Manfred Zeller
To : ALL
Subj : SYS-PARAmeter
Hi folks,
there where some questions about getting screen_resolution with
WORK_OUT().
In the October ST was a Short_List from Stephan Elsner to get some
interesting SYS- parameters :
PROCEDURE sys_para
â all Parameters global
aufl&=XBIOS(4) !low/mid/high
screen_adr%=XBIOS(2) !Screenaddress
screen_breite&=DPEEK(ADD(L~A,2)) !screenwidth in Bytes
xmax&=WORK_OUT(0) !Max. Pixels X
ymax&=WORK_OUT(1) !Max. Pixels Y
x_pix&=WORK_OUT(3) !Pixelbreite in mm/1000
y_pix&=WORK_OUT(4) !Pixelhoehe in mm/1000
xy_faktor=x_pix&/y_pix& !Pixelgroesse XY_Faktor
max_colors&=WORK_OUT(39) !number colors of colorpalett
bitplanes&=DPEEK(L~A) !number of Bitplanes (LineA)
c_olors&=2^bitplanes& !number of representable colors
CONTRL(0)=5 !vq_chcells
CONTRL(1)=0 !VDI-Escape-Funktion
CONTRL(2)=0 !
CONTRL(3)=0 !
CONTRL(5)=1 !
CONTRL(6)=V~H !
VDISYS ! VDI-Einsprung
zeilen&=INTOUT(0) !number of textlines
spalten&=INTOUT(1) !number of textcolums
z_hoehe&=(ymax&+1)\zeilen& !characterheight in pixel
z_breite&=(xmax&+1)\spalten& !characterwidth in pixel
CLIP 0,0,xmax&,ymax& !set Clipping
ACLIP 0,0,xmax&,ymax& ! â Line_A â
RETURN
PROCEDURE sys_show
CLS
PRINT AT(1,1);âAnzeige der Systemparameter :â
PRINT
PRINT âAuflsung : â;aufl&
PRINT âBildschirmadresse : â;screen_adr%
PRINT â ââ hexadezimal : â;HEX$(screen_adr%,10)
PRINT âBildschirmbreite : â;screen_breite&;â Bytesâ
PRINT âmax. X-Auflsung : â;xmax&;â Pixelâ
PRINT âmax. Y-Auflsung : â;ymax&;â Pixelâ
PRINT âreale Pixelbreite : â;x_pix&;â umâ
PRINT âreale Pixelhhe : â;y_pix&;â umâ
PRINT âPixel X/Y-Faktor : â;xy_faktor
PRINT âPalettenumfang : â;max_colors&;â Farbenâ
PRINT âgleichz. darstellbar : â;colors&;â Farbenâ
PRINT âAnzahl Bitplanes : â;bitplanes&
PRINT âAnzahl Textzeilen : â;zeilen&
PRINT âAnzahl Textspalten : â;spalten&
PRINT âZeichenbreite : â;z_breite&;â Pixelâ
PRINT âZeichenhhe : â;z_hoehe&;â Pixelâ
PRINT
PRINT âweiter mit Taste ....â
REPEAT
UNTIL INP(2)
CLS
RETURN
Iâm new in this AREA and i thought to found some interesting routines
here, but hereâs only discussion .... I think everybody, programming in
GfA, has some short routines in the deep of his HD and there should be a
friendly exchange between the users of this Area. One should help
beneath the other. Or am i wrong??
. . _ _
mfg. /
/
/_
/
/
/
/__ on (2:247/43.105)
--- LED ST 0.10 [BYE 0.31]
* Origin: GfAâs the BEST :-)) (2:247/43.105)
Message #5 on âGFA Basicâ
Date : 27 Nov 90 02:52:00
From : Jon Webb
To : Glenn Johansson
Subj : (3) Re: SERIAL?
> Does anyone here know why serial access doesnt work with GFA BASIC
> 3.02? I use the commands just as they are written in the
> documentation. Perhaps this is a known bug on this version of GFA
> BASIC?
Serial I/O has always worked fine, but try to get v3.07 or v3.50EE of the
interpreter. Those versions are much more stable.
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
Message #6 on âGFA Basicâ
Date : 28 Nov 90 22:35:16
From : Daniel Hersson
To : Stefan Muench
Subj : Re: IMG
> Has anybody got a routine to read/write (unpack/pack) pics ?
> Thanxalot, Stefan
Well, I got a routine to read compressed Degas pics, if thatâs what youâre
looking for.
((( dAnJ{LL )))
--- QuickBBS ST v1.02+
* Origin: -* MultiSoft BBS! *- (+46-753-55854) (2:201/319)
Message #7 on âGFA Basicâ
Date : 27 Nov 90 22:40:00
From : Glenn Johansson
To : All
Subj : Width
I would like to ask anyone if the width of the output can be changed - a
similarity to WIDTH, I mean. The default seems to be 77. Yuck! Even if the
screen cant support 80 charachters, I would be happier if the basic didnt show
the last three chars at all, instead of showing them at the wrong line.
R a p G o b
---
* Origin: AnDan BBS * USR HST 14400 bps * 46-31-307364 (2:203/101.0)
Message #8 on âGFA Basicâ
Date : 02 Dec 90 18:17:00
From : Glenn Johansson
To : All
Subj : LOC(#2)
In other basics I use LOC(#2) to find out if there are any characters waiting
from the serial port. How do I do this with GFA BASIC?
By the way, why do they say that COM1: should be used, when it only works with
SER:??? I have version 3.02.
R a p G o b
---
* Origin: AnDan BBS * USR HST 14400 bps * 46-31-307364 (2:203/101.0)
Message #9 on âGFA Basicâ
Date : 04 Dec 90 00:42:04
From : Jon Webb
To : Glenn Johansson
Subj : (8) Re: LOC(#2)
> In other basics I use LOC(#2) to find out if there are any characters
> waiting from the serial port. How do I do this with GFA BASIC?
Try INP?(1). If itâs TRUE then thereâs one waiting.
> By the way, why do they say that COM1: should be used, when it only
> works with SER:??? I have version 3.02.
You mean AUX: donât you? Or are you talking about the PC version of GFA???
Electronic Greetings! - Jon -
--- QuickNet ST v0.10 beta
* Origin: [ DeltaVision Systems HQ - The Netherlands ] (2:282/301.2)
End of Messages.