Solved runonly bug related to BSAVE and DIR TO commands.
This bug was actually not my fault. If you find a copy of the original 3.5 runonly from GFA, it should produce the same bug! When Frank built the runonly and removed parts of the editor he introduces new bugs. Since there was no 3.6 runonly I used the 3.5 version as a guide to build mine and ended up duplicating his bugs.
Sunday, January 29, 2012
Thursday, December 15, 2011
Merry Christmas
I'd like to wish each and everyone on the planet a very Merry Christmas.
Offended? If so, deal with it.
Offended? If so, deal with it.
Saturday, November 12, 2011
Sunday, June 12, 2011
GFA News
Started a new text rendering engine for GBE that would support syntax highlighting, however I'll probably scrap that version and start over. The plan now is to do it all in assembler for maximum speed.
Rewrote the TEXT command for improved speed. Unreleased.
Rewrote the TEXT command for improved speed. Unreleased.
Monday, December 06, 2010
GFA update released
Ok, revision 18 of the compiler is now up at my site. New compiler option $W for advanced users. Allows the insertion of assembler code directly into the binary at the line the command appears on. Read docs before use! I have also added the original editor to my download section for users who wish to code in SingleTOS, but wish to use the new compiler and library.
Saturday, October 23, 2010
GFA update released
GFA-Compiler v3.6 (Revision 17)
GFA-Linker v3.6 (Revision 17)
GFA-Library v3.6 (Revision 6)
GFA-RunOnly v3.6 (Revision 6)
The official GBE Library (English release)
GFA-Linker v3.6 (Revision 17)
GFA-Library v3.6 (Revision 6)
GFA-RunOnly v3.6 (Revision 6)
The official GBE Library (English release)
Thursday, August 05, 2010
GFA update
When GFA was written the bios only had devices 0 to 5, thus it does not work correctly with bios devices 6 and up when the TT030 appeared with extra serial ports. I'm not going to go into details why it fails, suffice it to say its messy, and OUT generates strange error messages if these device numbers are used.
I've now corrected this situation so devices 6 and up are now working. Rewritten commands:
INP(), INP&(), and INP%() (byte, word, long input respectively)
OUT, OUT&, and OUT% (byte, word, long output respectively)
By some stroke of luck INP?() and OUT?() (inquire device status) happen to work fine, but I added some error checking in the runonly interpreter that should have been there.
These changes will require a new compiler and library and runonly interpreter.
OPEN does not support the extra devices. In order to fix OPEN a complete rewrite of the entire I/O sub-system in GFA would be required. Not something I really want to do. The 8 device commands above should be enough to write code for the new devices.
I've now corrected this situation so devices 6 and up are now working. Rewritten commands:
INP(), INP&(), and INP%() (byte, word, long input respectively)
OUT, OUT&, and OUT% (byte, word, long output respectively)
By some stroke of luck INP?() and OUT?() (inquire device status) happen to work fine, but I added some error checking in the runonly interpreter that should have been there.
These changes will require a new compiler and library and runonly interpreter.
OPEN does not support the extra devices. In order to fix OPEN a complete rewrite of the entire I/O sub-system in GFA would be required. Not something I really want to do. The 8 device commands above should be enough to write code for the new devices.
GFA update
Some more interpreter issues resolved. I just discovered virtually every command that has a procedure name as a parameter does not bother to check if the procedure exists at all. No error message or anything. Example:
ON ERROR GOSUB blah
This will run with no error message. Also if the procedure 'blah' does exist it cannot have a parameter list. The interpreter will ignore this also:
ON ERROR GOSUB blah
PROCEDURE blah(param&)
RETURN
It ends up just ignoring the commands completely and the built in error handler is called. This happens with EVERY/AFTER, TRON proc, ON BREAK GOSUB, and all the ON MENU GOSUB xxx commands as well. I've done some work on this so the updated runonly catches all these even where the procedure should not have parameters. It will now report 'too many parameters' in such a case.
ON ERROR GOSUB blah
This will run with no error message. Also if the procedure 'blah' does exist it cannot have a parameter list. The interpreter will ignore this also:
ON ERROR GOSUB blah
PROCEDURE blah(param&)
RETURN
It ends up just ignoring the commands completely and the built in error handler is called. This happens with EVERY/AFTER, TRON proc, ON BREAK GOSUB, and all the ON MENU GOSUB xxx commands as well. I've done some work on this so the updated runonly catches all these even where the procedure should not have parameters. It will now report 'too many parameters' in such a case.
Subscribe to:
Posts (Atom)
