The Great Cow Great Cow BASIC
An open-source BASIC compiler for Microchip® PIC® microcontrollers
Great Cow BASIC Changelog
Home
Version 0.9.3.0
  • 18F support added
  • New config directive syntax introduced for 18F chips - backwards compatible with 10/12/16 chips.
  • Locations (file and line number) of errors are now given
  • Several additional errors can now be detected, such as END IF without IF.
  • Clock frequency of internal oscillators is now set based on the #chip line
  • Default config settings changed - MCLR is now off, and the mode is no longer always HS
  • Constant handling changed to improve speed of compiler
  • Bug introduced in version 0.9.2.9 that results in the LCD routines not working correctly fixed
  • Filenames with "-" are no longer treated as command line parameters
  • "dir PORTE in" no longer sets TRISE.4, enabling Parallel Slave Port mode and disabling PORTD
  • Chip data is now incorporated into GCBASIC, meaning that the #mem directive is obsolete, and that GCBASIC can now produce an asm file without gputils or mpasm being present.
  • Partial support for bit variables introduced (condition checking and setting to 0, 1, or another bit variable now supported)
  • Rotate can move bit 0 > 7 or 7 > 0, instead of 0 > C > 7 or 7 > C > 0.
  • Many bugs not mentioned here fixed

Version 0.9.2.9
  • Turkish and Italian translations included (courtesy of Murat Inceer and Stefano Delfiore respectively)
  • Bug which caused SysCompEqual to be added unnecessarily removed
  • FreeBASIC used to compile Great Cow BASIC instead of QBASIC
    • Speed of GCBASIC increased
    • Maximum program size increased (3000 > 10000 lines)
    • Long filenames handled reliably
Version 0.9.2.0
  • Compiler messages separated from .exe to aid translation
  • 16-bit calculations can now be forced regardless of the type of variable being set
  • New 2 wire LCD routines (Thanks to Stefano Bonomi)
  • Software PWM
  • New hardware PWM routine
  • Bug in the calculation of the duty cycle for the old PWM routines fixed
  • Tone altered to accept input frequency as Hz - any programs that use Tone will need adjustment. ShortTone has been removed.
  • Variable types are now detected before calculation subs are added
  • New subroutine detection code - eliminates several bugs and increases speed of compiler
  • Many 16-bit arithmetic bugs fixed
  • Multiple spaces/tabs in line cannot cause errors
  • IFDEFs now prevent unused subroutines from being added
  • Functions are now detected correctly when on the first line of a subroutine
  • Bug in the 4 bit LCD initialisation code fixed
Version 0.9.1.1
  • Improved support for 10/12 series chips
  • Expanded help file - processor directives section now more complete.

Version 0.9.1.0
  • Routines for the built-in SPI module of the PIC chip added.
  • Data table support added.
  • Analog to digital converter code now works with newer A/D modules, and supports up to 14 pins.
  • RS232 timing issues fixed for 1200, 2400, 4800 and 9600 bps.
  • New demo file for software PWM.
  • Chips with multiple CONFIG words can now be programmed, although only the first word is accessible.
  • Bug related to string constants removed.
  • Help expanded - Arrays and Data tables now documented.

Version 0.9.0.4
  • MPASM/MPLAB can now be used with GCBASIC
  • Two additional demo files included - one a blink LED program, one for a model railroad crossing.
  • Help file expanded
  • Valid code is now produced for chips without LVP.

Version 0.9.0.3
  • Eliminated bug with the part of the installer that creates "compile.bat", which would cause the installer to lock up if installing to a directory with a long file name other than "C:\Program Files".

Version 0.9.0.2
  • Removed bug that causes GCBASIC to crash when compiling for chips with less than 256 bytes of RAM

Version 0.9.0.1
  • "Out of string space" error when compiling large files removed
  • Command line parameters may now start with - or /

Version 0.9.0.0
  • FOR Loops working again after being broken in 0.8.9.9
  • Support for 16-bit unsigned integer multiply, divide and condition checking added
  • Bug removed which caused high byte to be lost during add/subtract in some cases
Version 0.8.9.9
  • Array support added to FOR loops
  • GOSUB and RETURN now recognised and compiled correctly
  • Assembly commands recognised and formatted neatly in output
  • Compiler memory usage optimised
  • 16-bit add, subtract, set to constant, copy value and bit set added.
  • Peek, Poke, ProgramRead and ProgramWrite altered to accept memory address as single word variable
Version 0.8.9.0
  • RS232 timing issues corrected
  • 10/12 series chips now supported by DIR command
  • Several function-related bugs corrected.
Version 0.8.8.6
  • Array support added (8 bits per element, up to 80 bytes per array)
  • LCD routines implemented (PRINT, LOCATE, CLS, LCDInt)
  • Simple string support (Set and pass as argument only)
  • PS/2 keyboard reading code.
  • RS232 timing issues corrected on chips < 20 MHz.

Microchip® and PIC® are registered trademarks of Microchip Technology Incorporated, USA. Other trademarks are the property of their respective owners. This site is not associated with or endorsed by Microchip, or any other third party.

This site is hosted for free by SourceForge.net
SourceForge.net Logo