English Amiga Board


Go Back   English Amiga Board > Support > support.Apps

 
 
Thread Tools
Old 24 November 2015, 00:40   #1
BastyCDGS
Registered User
 
Join Date: Nov 2015
Location: Freiburg / Germany
Age: 38
Posts: 37
Send a message via ICQ to BastyCDGS
GFA-BASIC and OS3.x

Just a small note from me!

GFA-BASIC compiled programs work perfectly on ALL Amigas, without the following exceptions:
Don't use:
SETCOLOR i|,col&
but use instead:
SETCOLOR i|,AND(SHR(col&,8),15),AND(SHR(col&,4),15),AND(col&,15)
And colors will be correct even on AGA/OS3.

2. Don't use TITLEW #x...
It causes enforcer hits and accesses illegal stuff. Use ~SetWindowTitles instead (but backup/restore title pointer accordingly before/after, or it will crash!)

3. BltBitMap and BltMaskBitMapRastPort
Both of them don't work properly on the compiler (passing wrong regs on stack). Use BltBitmapRastPort instead or use RCALL's.

GFA-BASIC interpreter requires 24-bit addressing mode (i.e. 68000/68EC020). Anything else doesn't matter, except above.

Just mentioning, my 2ct...
BastyCDGS is offline  
AdSense AdSense  
Old 24 November 2015, 00:48   #2
BastyCDGS
Registered User
 
Join Date: Nov 2015
Location: Freiburg / Germany
Age: 38
Posts: 37
Send a message via ICQ to BastyCDGS
Sorry, error above. BltMaskBitMapRastPort is fine, it was InitLayerInfo() instead which caused problems. Did mix that up.
InitLayerInfo() caused crash even in interpreter.
BastyCDGS is offline  
Old 24 November 2015, 01:03   #3
BastyCDGS
Registered User
 
Join Date: Nov 2015
Location: Freiburg / Germany
Age: 38
Posts: 37
Send a message via ICQ to BastyCDGS
And, of course, in addition to the issues mentioned above, there might be others...
BastyCDGS is offline  
Old 20 November 2016, 21:08   #4
lp060
 
Posts: n/a
There's also a bug in the garbage collection routine related to string handling. GFA has a pool of memory set aside for strings. As it fills up, eventually it reaches the end, then a garbage collection is performed. It scans through the pool and removes unused strings and condenses the still valid ones to make more space for new strings. If this pool fills to the point where its exactly 16 bytes from the end of its buffer, gfa crashes. It will seem quite random. The workaround for this is to force a garbage collection with ~FRE(0) prior to some chunk of code that you know does a lot of string handling.

Last edited by lp060; 06 February 2017 at 21:53.
 
Old 21 November 2016, 17:54   #5
Wepl
Moderator
Wepl's Avatar
 
Join Date: Nov 2001
Location: Germany
Posts: 654
I made once some fixes for a whdload install (http://www.whdload.de/games/Roboter.html), which could be reused if someone likes to make a fixed gfa-runtime. I fixed mainly the 24-bit problem in the main loop.
Wepl is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
GFA Basic Editor drdmgee Coders. Language 5 12 September 2014 14:07
GFA Basic Marcy request.Apps 24 04 March 2014 21:41
Manuals for GFA Basic and Hi-Soft Basic 2 ricky500 request.Apps 20 12 February 2013 21:06
GFA Basic 3.5 tomcat666 request.Apps 26 05 January 2009 18:25
GFA Basic 3.5 aragon request.Apps 4 24 September 2006 12:04

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 00:05.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.
Page generated in 0.08939 seconds with 15 queries