Welcome to the Parallax Discussion Forums, sign-up to participate.
1. Added a new floating point maths library (libmc) which uses the P2 built-in
CORDIC solver to allow all the floating point functions to be fitted into a
single cog. It is also much faster than the other floating point options.
The CORDIC library is is selected by specifying -lmc on the command line
(i.e. instead of -lm, -lma or -lmb). This option is only available on the
2. Added a new "propeller2.h" header file, and all the functions specified
therein to the standard libraries (libc, libci, libcx, libcix). See the
file propeller2.h in the include directory for more details. This header
file (and associated library funtions) will only compile correctly and run
on the Propeller 2. A new demo subdirectory ("demos\p2") has been created
with programs that test these functions. The P2 clock demo program
"test_p2_clock.c" has also been moved to this subdirectory.
3. On the Propeller 2, Catalina now uses the same locations as Spin to store
the clock mode and frequency (i.e. $14 for clock frequency & $18 for clock
mode). However, note that these are set up AFTER the Propeller program has
been loaded, so the option that some loaders (like 'loadp2') have to change
these values during the load process should NOT be used with Catalina
4. Added function s4_txcheck() to libserial4, which returns the number of
bytes available in the tx buffer for the port specified. This can be
used to tell whether a call to s4_tx() would block (i.e. if s4_txcheck()
returns 0). The test program in "demos\serial4" has been updated to test
this function, but it requires both a TTY and a TV output. Note that the
4 port serial driver is only available on the Propeller 1.
5. Fixed a bug in the 4 port serial driver - unused ports were not being
initialized, and so could interfere with the used ports or cause memory
corruptions. Also, updated the driver to incorporate some CTS/RTS handling
bug fixes by the original author. Note that the 4 port serial driver is
only available on the Propeller 1.
6. Added support for executing XMM code from EEPROM on the Propeller 1, which
is enabled via the XEPROM command-line symbol. The resulting programs can
then be loaded using the EEPROM option to payload, once the utilities have
been built for your platform. The XEPROM option is IN ADDITION to any other
XMM option you have on your platform, and works on any Propeller with an
EEPROM larger than 32Kb.
XEPROM is only supported for the SMALL memory model (i.e. code in EEPROM,
data in Hub RAM) and also requires the use of the cache.
For example, if you have a QuickStart board, after you have used the
"build_utilities" batch file to build the EEPROM loader, you can compile,
load and execute the "othello.c" program as XMM executed from EEPROM by
using the following commands:
catalina othello.c -lc -C TTY -C QUICKSTART -C SMALL -C XEPROM -C CACHED
payload EEPROM othello.binary -i
For more information, see the XEPROM_README.TXT file in the "target"
7. On the Propeller 2, once initialization is complete and the C code is
executing, only the upper half of the LUT is now used (to hold common
library code). This means that the lower half of the LUT (i.e. Cog address
$200 - $2FF) is available for C applications to use for any purpose if