CF1ReleaseNotes.htm

Latest update: June 1, 2007

Current releases: 4.03r1

 

Find the most recent version of this document at:
          http://www.persistor.com/support/CF1ReleaseNotes.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

 

4.03r1 Overview

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 .

4.03r1 changes from 4.02r1

CFx  FIX     PWR    Add 25ms delay before dropping into suspend for Silicon Systems cards

CFx  FIX     SCI     SCIRxGetBlock and SCIRxPutBlock won’t lock up when bytes parameter < 1

CFx  FIX     PICO   Fix DATE and TIME commands to stop ignoring optional trailing “P” PM modifier

 

4.02r1 changes from 4.01r1

CFx  FIX     BIA     BigIDEA volumes can now mount/unmount between PicoDOS and application runs

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

 

 4.01r1 changes from 4.00r1

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

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

 

4.00r1 changes from 4.00b2

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

 

4.00b2 changes from 3.00r4

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

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

CFx  FIX     SCI     Fixed BAUD rounding error that sometimes resulted in non-optimum divisors

CFX: FIX     VEE     VEE pre-checks flash write-ability before garbage collection at wraps

 

3.00r4 changes from 3.00r2

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

 

3.00r2 changes from 2.28r3

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

 

2.28b5 changes from 2.28r4

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  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  FIX     SCI     Fixed BAUD rounding error that sometimes resulted in non-optimum divisors

 

2.28r4 changes from 2.28r3

CFx  FIX     FILE    ATAMediaCheck and pdcinfo corrected to return proper status and info

CF2  NEW   PWR    Suspend calls now honor whatwakes parameter

 

2.28r3 changes from 2.28r2

CFx  CHG    PICO   Changed FORMAT command argument handling to prevent inadvertent erasure.

 

2.28r2 changes from 2.28b1

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  CHG    TU      TUOpens will now fail if passed already opened ports

CF2  FIX     VEE     Flash (and so VEE) would not write from user applications

 

2.28r2 changes from 2.27r1

CFx  FIX     ATA    typedef struct ATADriveID in CFx dosdrive.h was 518 bytes, not 512

CFx  NEW   ATA    New patchable ATABlockingError for CF and BIA drivers

CFx  CHG    CF      CFAutoWrNoEra argument extended to support SYS. CFEXTRA

CF1  NEW   CIO     adds CIOvprintf and CIOgetclp functions and links for CF1

CFx  NEW   CIO     adds CIOWaitRxTxIdle added (for CIOgetclp)

CFx  FIX     CTM    CTFRInterruptFunction installed into wrong (MCSM) vector

CFx  FIX     MX      RunMxPicoDOSApp was limiting static data to 128KB

CFx  CHG    FILE    open no longer allows multiple write access

CF1  FIX     FILE    re-enabled cluster search optimization that got turned off

CFx  CHG    PDEV   <dirent.h> needed <time.h> to compile

CFx  CHG    PDEV   <unistd.h> needed <size_t.h> to compile

CFx  CHG    PDEV   CFxPicoPreMain adds CF1/CF2 target test forcing termination with wrong devices

CFx  CHG    PDEV   Replace <cfx...> with the new multiple headers

CFx  CHG    PDEV   Replace CW MSL headers with new PII versions

CFx  NEW   PICO   SYS.CFEXTRA env var to allow PC Cards (PC) and MicroDrives (MD)

CFx  FIX     PICO   Verbose DIR listings (\V) had Y2K display problems

CFx  FIX     PICO   COPY XXX.YYY D: was mangling destination name and ignoring drive

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

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:")

CFx  FIX     PWR    Added required SCSInit after SUSPEND

CFx  NEW   QPB    Add SYS.QPBCS to allow choice of SPI PCS lines

CFx  FIX     RTC    RTCInit was not allowing 1Hz interrupts

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

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

New CIO Functions defined in <_cfx_internals.h>:
  short CIOvprintf(const char *format, char *varg) // Simple vprintf to console with no floating point
  short CIOgetclp(bool eiaoff) // Wait in low power for, and return the next character
  bool  CIOWaitRxTxIdle(void) // Return true if all Rx and Tx flags indicate idle