Latest update: June 1, 2007
Current releases: 4.03r1
Find the most recent version of this document at:
http://www.persistor.com/support/CF2ReleaseNotes.htm
The latest 28MB PicoDEV installer for is on the web site at:
http://www.persistor.com/support/CFxDevToolsV403r1FullInstall.exe
For information on installing CodeWarrior for PalmOS, use the
instructions in the CF2 Getting Started Guide at:
C:\Program
Files\Persistor\MotoCross Support\CFX\Docs\pdf\CF2GSG.pdf
The 4.03r1 release is based on the version 2.28 but replaces the older FAT12/16 file system and utilities with code from version 3.00 to support FAT32 volumes and move PicoDOS past the previous 2GB limit. All future enhancements to PicoDOS will appear only in version 4 which will continue to support operation of V2.27 and V2.28 binaries. Find information on migrating programs to PicoDEV version 4.xx with FAT32 support at FAT32Considerations.htm.
320kHz system clock will cause RTC problems. The new TLC (TPU local Real-Time Clock) microcode will not increment properly with a 320kHz system clock. This means that you cannot safely use the BIOS RTC delays or elapsed/countdown timers. Neither can you expect timers based on the RTC (which includes the StdC time() and clock() functions) to give the correct results. We strongly recommend limiting the lowest clock frequency to 640kHz to prevent timing problems as we don’t think that we will be able to force TLC to operate even marginally at 320kHz without compromising reliability at the higher rates.
CFx FIX PWR Add 25ms delay before dropping into suspend for Silicon Systems cards
CF2 FIX PBM PBM 4.03 fixes deep-stack corruption from suspend mode
CF2 FIX PWR Suspend alternate fix to deep-stack corruption from pre-4.03 PBM CF2s
CFx FIX SCI SCIRxGetBlock and SCIRxPutBlock won’t lock up when bytes parameter < 1
CF2 FIX TU TURxGetBlock and TURxPutBlock won’t lock up when bytes parameter < 1
CFx FIX PICO Fix DATE and TIME commands to stop ignoring optional trailing “P” PM modifier
CFx FIX BIA BigIDEA volumes can now mount/unmount between PicoDOS and application runs
CF2 CHG BIOS Changed default flash timing from 100ns to 90ns to match worst case
CFx CHG CF Removed retries for missing CF card which took a long time to do nothing
CFx FIX FILE Format command no longer crashes with scanning invalid MBR sectors
CFx FIX FILE Fixed open of existing files leaking card capacity
CFx CHG FILE Mount command issues warning if no volume mounted
CFx CHG FILE V2 binaries are not allowed to mount or access FAT32 volumes
CFx FIX FILE DIRFindxxxx and pdcinfo will now work correctly with lower case drive spec
CFx NEW PDEV Added unified “CF1&CF2 for PicoDOS4 stationery” for all CWPalm9/8 and CWPro6
CFx CHG PICO Commands from execstr no longer emit CR-LF sequences
CFx CHG PICO DEL command displays number of files erased on completion
CFx FIX PICO Fixed BACKROM without /V generating bad CRCs that impeded RESTORE
CFx FIX QPB Fixed QPBRepeatAsync in <cfx_expand.h> not clearing SPIF as it should
CFx FIX SCI Rx handshake will not work even if Tx handshake is not enabled
CF2 FIX SPV Fixed startup SPV comms problem when SCK driven or spurious at startup
CF2: NEW TPU Added TPUCheckIntEnable inline macro to <_cfx_tpu.h>
CFx FIX FILE Fixed DSDResetOptimizations when passed 0 or -1 from infinite recursion
CFx CHG FILE ATTRIB command and pdx_attrib can change subdirectories
CFx FIX FILE Update mode with open and fopen won’t truncate existing without explicit request
CFx FIX FILE POSIX utime now sets errno if error occurs
CFx CHG PICO FORMAT /V:label now works correctly with FAT32 volumes
CF2 FIX PICO Stopped internal PicoDOS heap from re-initializing between application runs
CFx FIX PICO Fixed DIR command over-reporting allocation count on certain files
CFx NEW PWR Resume from PWRSuspendTicks forces CF cards into immediate sleep
CF2 CHG CIO CIOgetclp saves and restores mask level plus IRQ4 and spurious interrupt vectors
CFx NEW CF Add support for Silicon Systems’ SiliconDrive Industrial Grade cards
CFx FIX PICO DIR command displays error message for unmounted drives
CFx CHG FILE FAT32 volumes over 2.5GB get 32KB cluster size for efficiency
CFx CHG FILE FAT16PRI, FAT32PRI, and DOS40PRI volumes accepted by FORMAT command
CFx FIX FILE Calling PZCacheSetup on already setup drive won’t leak memory
CFx FIX FILE Fixed 4.00b2 FDISK/FORMAT FAT type calculation error
CFx FIX FILE DIRFindNext returns dsdEndOfDir at end and beyond
CFx NEW FILE Added st_dfi and st_dwbpb fields to stat.h for low level write access
CFx CHG PICO SYS.F32MBCUT defaults to 2047MB FAT32 format cutover
CFx FIX BIA BIA can now be mounted from MOUNT command after suspend
CF2 NEW TU Added new TUGetCurrentParams accessor function
CFx FIX MX Motocross no longer sends 36 bytes of trailing junk data on loads
CFx NEW MX Motocross prints CRC line after loads for cut-and-paste verification from PicoDOS
CFx NEW MX Motocross pads applications with 0xFFs and inserts ID/CRC block at end
CF2 FIX PBM Timeouts have been reactivated and the unused S-Record “LO” command is gone
CFx CHG PICO basic FORMAT command only performs auto-FDISK on single-partition media
CFx FIX PICO BACKROM /A no longer appends PBM image (and shouldn’t)
CFx NEW PICO BACKROM and RESTORE add CRC information and display for APP area
CFx NEW PICO Version 4.xx will properly run older 2.27 and 2.28 RUN, PXE and APP files
CF2 FIX SPV V5.20 SPV fixes crystal startup problem on power-ups without backup battery
CF2 NEW SPV V5.20 SPV defaults to non-SPI comms to free QPB for user applications
CFx FIX SCI Fixed BAUD rounding error that sometimes resulted in non-optimum divisors
CF2: FIX TPU Fixed TPU DIO output functions after execution of suspend commands
CF2: FIX TPU Fixed TPU DIO read to not get confused by spiky inputs
CFX: FIX VEE VEE pre-checks flash write-ability before garbage collection at wraps
CFx FIX FILE FAT32 was creating bad directory entries which could corrupt files
CFx FIX FILE ATAMediaCheck and pdcinfo corrected to return proper status and info
CF2 NEW PWR Suspend calls now honor whatwakes parameter
CF2 FIX PWR PWRSuspendTicks no longer truncates ticks to 65536
CF2 FIX SPV V5.10 SPV firmware maintains time with VBBK as low as 2.3V
CF2: FIX TPU Fixed TPU PIOTestAssertSet and PIOTestAssertClear always returning zero
CF2: FIX TLC TLC 1.3 eliminates links which may have been slowing other TPU channels
CFx CHG BIA BIAGetStatusString now updates status before forming string
CFx WARN DIR DIRFreeSpace, DIRTotalSpace, and pdcfinfo return incorrect values for >2GB
CFx NEW DSD adds DSDFreeSectors, DSDDataSectors
CFx NEW FILE FAT32 support added, many internal changes to accommodate
CFx GONE FILE FAT12 formatting is no longer supported
CFx CHG PICO basic FORMAT command now performs complete FDISK/FORMAT
CFx NEW PICO SYS.F32MBCUT to change the default 512MB FAT32 format cutover
CFx NEW PICO SYS.F32TRUST to enable the default disabled FAT32 hints at mount time
CFx CHG PICO SD command [/C] with [/D dev] (CF,BIHD, etc.) for lower level sector access
CFx NEW PDEV New V3 folders plus XML settings panels for projects and the IDE
CFx NEW TDCP adds text and quiet fields to CmdInfo struct
CFx CHG UTIL new flogf options to record commands and reduce open/close overhead
CFx FIX FILE ATAMediaCheck and pdcinfo corrected to return proper status and info
CF2 NEW PWR Suspend calls now honor whatwakes parameter
CF2 FIX PWR PWRSuspendTicks no longer truncates ticks to 65536
CF2 FIX SPV V5.10 SPV firmware maintains time with VBBK as low as 2.3V
CF2: FIX TPU Fixed TPU PIOTestAssertSet and PIOTestAssertClear always returning zero
CF2: FIX TLC TLC 1.3 eliminates links which may have been slowing other TPU channels
CF2 FIX SPV V4.05 firmware fixes intermittent power-up freeze introduced with 4.00.
CF2 CHG CF Extended timeouts in CF driver to prevent errors with slow consumer grade cards.
CFx CHG PICO Changed FORMAT command argument handling to prevent inadvertent erasure.
CFx FIX ATA typedef struct ATADriveID in CFx dosdrive.h was 518 bytes, not 512
CFx NEW CIO adds CIOWaitRxTxIdle added (for CIOgetclp)
CFx CHG FILE open no longer allows multiple write access
CFx CHG PDEV CFxPicoPreMain adds CF1/CF2 target test forcing termination with wrong devices
CFx CHG PDEV <dirent.h> needed <time.h> to compile
CFx CHG PDEV <unistd.h> needed <size_t.h> to compile
CF1 FIX PICO CCC command was freezing on return from suspend
CFx FIX PICO DIR \P was only displaying one line instead of one page
CFx FIX PICO Verbose DIR listings (\V) had Y2K display problems
CFx NEW PICO SYS.CFEXTRA env var to allow PC Cards (PC) and MicroDrives (MD)
CFx FIX PICO COPY XXX.YYY D: was mangling destination name and ignoring drive
CF2 FIX SPV MSP430 4.xx firmware eliminates RTC glitch and lowers VBBK voltage and current
CF2 CHG TU TUOpens will now fail if passed already opened ports
CF2 FIX VEE Flash (and so VEE) would not write from user applications
CFx NEW ATA New patchable ATABlockingError for CF and BIA drivers
CFx CHG ATA ATASetPower now does nothing and returns 0
CFx CHG BIA Extended BIA flash card startup timing for NAND cards
CF2 CHG BIOS Modify BIOS entry for legacy BIOSInit calls
CF2 CHG BIOS Combine BIOS&PICO (CF1 stays separate)
CFx CHG CF Add retries to low-level CF driver code
CFx FIX MX RunMxPicoDOSApp was limiting static data to 128KB
CFx CHG PDEV Replace <cfx...> with the new multiple headers
CFx CHG PDEV Replace CW MSL headers with new PII versions
CFx CHG PICO BOOT command now returns CmdErrParse-able value
CFx FIX PDEV Add snprintf and vsnprintf protos to stdio.h
CF2 NEW PDEV Added POSIX utime function
CFx FIX PICO PicoDOS was not properly re-initializing hardware on application exit
CFx FIX PICO PicoDOS was neglecting to auto-call TURelease on application exit
CFx CHG PICO BAUD command no longer limited to 300 or greater
CFx FIX PICO Loaded and PXE apps now start in unbuffered uart mode
CFx FIX PICO Fixed DIR and COPY commands odd behaviors with subdirectories
CFx FIX PICO Memory display/modify commands were not honoring size switches
CF2 FIX PICO BOOT to APP printed "ReRunBootingFlashApp()"
CFx FIX PICO Fixed baud reporting error in BAUD command
CFx FIX PICO RUN/PXE limited was to 192KB in TryExec()
CFx FIX PICO Mount command reversed free and size reporting
CFx FIX PICO APP from Pico no longer attempts if FFFF's at E40000
CFx FIX PICO REN common within subdirectory copied to root
CFx NEW PICO Add displayable binary patch number
CFx NEW PICO Allow change drive with execstr("D:")
CF1 FIX PICO Add change PBM query to persistent (/P) BAUD change.
CFx FIX PICO Capture command now accepts break from non-SCI console devices
CF2 FIX PICO CF2 was resetting after 2nd program run
CFx FIX PICO DIR with sector read errors no longer hangs
CF1 CHG PICO Patch lib with new releases ships as empty
CFx FIX PICO PXE files that use execstr don't crash on return when run from batch files
CFx FIX PICO SD command now auto increments next sector with <enter>
CFx FIX PICO YMODEM now works with 8 character file names with leading numbers
CF2 FIX PWR Revoved potential aborted PWRSuspendSecs request lockup mode
CFx FIX PWR Added required SCSInit after SUSPEND
CF2 FIX PWR /WAKE while running killed MSP430 after first suspend
CFx NEW QPB Add SYS.QPBCS to allow choice of SPI PCS lines
CFx NEW QPB Add SYS.QPBCS to allow choice of SPI PCS lines
CF2 FIX RTC Five calls to set time was resettng the CF2
CFx FIX RTC RTCInit was not allowing 1Hz interrupts
CF2 FIX RTC TLC microcode caused SetTime synchronization problems
CFx FIX STDC ENOERR was incorrectly defined as 10
CFx FIX SCI SCITxPutByte blocked in handshake mode ignoring block param
CFx FIX SCI SCIRxGetXXXX NEVER returned overflow errors
CFx FIX SCI SCIRxGetCharXXXX was masking high error bits
CF2 FIX TPU TPU DIO functions had no way to get back to DIO
CF2 CHG TPU Removed useless TPUSetTCR1Prescale from headers
CF2 NEW TPU Allow loadable TPU image (file or flash address)
CF2 NEW TPU Add SYS.TCR1P and SYS.PSCK VEE vars for write-once prescalers
CF2 CHG TU TUTxPrintf was not translating '\n' to '\n','\r'
CF2 FIX TU TURxGetBlock locked on zero bytes, timed out early on other values
CF2 NEW TU Added TUTxBreak function for TPU UARTs
CF2 NEW TU Add TUChanLookup function for patching TPU UART ISR functions
CFx CHG VEE Identical entries with identical data are not re-written
CFx NEW VEE PicoDOS complains at startup if VEE is corrupted
SYS.CFEXTRA is a new environment variable that allows the onboard CF header to accept PCMCIA flash cards and IBM microdrives in addition to standard CompactFlash cards. The settings and options are defined in <_cfx_globals.h>. Use the following commands from the PicoDOS prompt to setup alternate cards. You will need to reset to make the changes take effect. Note that choosing "PC" for PCMCIA cards will prevent PicoDOS from correctly seeing regular CF cards until you remove the "PC" setting.
C:\>set sys.cfextra=PC←
for PCMCIA PC Card with Sycard 166 adapter
C:\>set sys.cfextra=MD← for IBM Microdrives
C:\>set sys.cfextra=NO← for systems with no card
to eliminate checks and warnings
C:\>set sys.cfextra=←
(blank) for normal CompactFlash operation (the default)
SYS.QPBCS is a new environment variable that tells PicoDOS which PCS (peripheral chip select) lines should be allocated to QPB for SPI operations. By default, all PCS lines are given to PicoDOS which emulates the pre-228 behavior. The settings and options are defined in <_cfx_globals.h>. Use the following commands from the PicoDOS prompt to setup alternate PCS lines.
C:\>set sys.qpbcs=32←
PCS3 & PCS2 (pins 17 & 15) are SPI, PCS1 & PCS0 (pins 19 & 21)
are GPIO
C:\>set sys.qpbcs=-← (minus
sign) PCS3 - PCS0 (pins 17, 15, 19, 21) are GPIO
C:\>set sys.qpbcs=←
(blank) PCS3 - PCS0 (pins 17, 15, 19, 21) are SPI