V2.3 ROM Release

This new release mostly consists of added support for larger EEPROM chips and some fixes for problems with BASIC.

The larger EEPROMS (Atmel 24C64 and Microchip 24LC65) are 8kx8 parts - they use a slightly different protocol from the smaller parts supported in since we can't write code that will work with both types of parts I've now started to build two types of ROMs - v2.3 will support the smaller EEPROMS and V2.3a supports the 8kx8 and larger parts. The hardware connections for adding EEPROMS remains the same - but you must have the ROM that matches the type of EEPROM you are using.

The source code is here and the Intel Hex suitable for feeding to an EPROM burner is v2.3 is here for the smaller EEPROMS (checksum should be 0FCF) and v2.3a is here for the larger (8kx8) EEPROMs (checksum 0FD2).

If you don't have access to an EPROM burner and want a free upgrade return you current EPROM (or any 27C256) to me, packed carefully, along with a stamped self-addressed envelope and I'll send you a free 2.3/2.3a upgrade. Make sure you state which version you want (2.3a is for the larger 8kx8 EEPROMS). Unless you want to use the larger EEPROMs or the Basic functionality described below you don't need a new ROM.

There's a lot of information about working with EEPROMS and the FC in the V2.2 release notes here.

The Basic changes are bug fixes to stuff that should have worked if I had understood how they were ment to work - they all have to do with time - thanks to Richard Friedrich for getting me the documentation so I could get these working.

The Basic system has a built in timer - embedded in the "TIME" variable, it counts in 5mS increments and the following Basic commands are supported:

Finally the "PWM high, low, total" command creates a pulse train of "total" pulses on P1.6 which is high for "high" and low the time low (in very roughly microseconds), for example "PWM 612,612,1282" can be used to control a servo.