Article View: comp.sys.atari.st
Article #37291GFA BASIC Bug (or feature?)
From: John Logajan
Date: Tue, 21 Mar 1989 17:47
Date: Tue, 21 Mar 1989 17:47
24 lines
1461 bytes
1461 bytes
Thanks entirely to Hans-Ch. Eckert of Berlin, West Germany for solving
this "problem" I had with GFA Basic!
To wit: GFA BASIC apparently moves valid strings around when it does
garbage collection. Thus if you poke, or otherwise put, a machine
language routine in a string, it will from time to time, be moved
around. Eckert's fix is to get the new VARPTR(X$) value *EVERY* time
the machine language routine is called.
My accidental fix (because I didn't understand the problem) was to move
the machine language routine into an integer array. (Gee, I hope they
don't do garbage collections on arrays????)
GFA Basic Programming rule #978
1.) Either get the new pointer before each call to a machine-language
"string" or
2.) Place the mach-lang routine in a "fixed" location. (I would have
said in an integer array, but I have just raised doubts in my own
mind whether such arrays can be counted on not to hop around.)
--
- John M. Logajan @ Network Systems; 7600 Boone Ave; Brooklyn Park, MN 55428 -
- ...rutgers!umn-cs!ns!logajan / logajan@ns.network.com / john@logajan.mn.org -
Technical Details
Message-ID:
<1217@ns.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!indri!nic.MR.NET!umn-d-ub!umn-cs!ns!logajanShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!indri!nic.MR.NET!umn-d-ub!umn-cs!ns!logajan From: logajan@ns.UUCP (John Logajan) Newsgroups: comp.sys.atari.st Subject: GFA BASIC Bug (or feature?) Message-ID: <1217@ns.UUCP> Date: 21 Mar 89 17:47:43 GMT Organization: Network Systems Corp. Mpls MN Lines: 24