Great Cow BASIC Maintenance

Introduction: Great Cow BASIC maintenance covers the key processess that the developers use to maintain and build the solution.

This insights are not distribution specific

Solution Architecture: Complete the components are key for a complete solution:

  1. Great Cow BASIC installer
  2. Great Cow BASIC chip specific .DAT files
  3. Great Cow BASIC Help
  4. Great Cow BASIC IDE



Great Cow BASIC installer:

To be completed.

Great Cow BASIC chip specific .DAT files:

The process to create the .DAT file for chips is as follows:

The MPASM *.INC or the AVR *<XML files are used to source the full scope of regisers and bits),

If present a .DEV file is used to source the default settings. A .DEV is also used for pinout data and and config settings if possible, but not all chips have a .dev file so the process will works using #3 or #4. We also try to get pinout data from the xml files if the dev file was not found. If present the .INFO is used to source the default settings.

If a .DEV file or .INFO file is not present a routine called GuessDefaultConfig witin getchipdata.exe is used. This option sets the bit(s). For 18f chips: 18FDefaultASMConfig.TXT. This simply overwrites all options stated in 18FDefaultASMConfig.TXT and clearly states this in the output .dat file.

In all cases the default mask is sometimes specified for a particular config option and that is used for ASMConfig

An example the processing of a .DEV. This is the 18F25K20 example. For this, Disabled is default:

field (key=FCMEN mask=0x40 desc="Fail-Safe Clock Monitor Enable" init=0)
setting (req=0x40 value=0x0 desc="Disabled")
setting (req=0x40 value=0x40 desc="Enabled")


For this, RC1 is default (no init=, so the setting with a value matching the mask is used)

This is what the bit of 8bit_device.info looks like for WRTD on the 18F45K22:

graphic



To get the default WRTD value, it gets the default value of that word (0xe0) from the CONFIGREG_INFO_TYPE line, then ands it with the mask for the WRTD option (0x80) to get the device value of that option (0x80). Which matches the value for WRTD=OFF

An example the processing of a 8bit_device.info

graphic



Where the default is selected from the Info_Type.

An example of the processing of 18FDefaultASMConfig.TXT

DEBUG= OFF
XINST = OFF

Great Cow BASIC Help:

To be completed.

Great Cow BASIC IDE:

To be completed.