logo image - link to home page

| Products | PicBasic | PicBasic Pro | MPLAB | Comp. |

| PicBasic - Instruction | PicBasic Pro - Intruction |

| Win | Demo | Samples | ASCII | Ser. Line | Upgrade | Patches |

 

Revision and Upgrade Information

  • See the version history for information about changes and additions in specific revisions.

Upgrade Policy

microEngineering Labs, Inc. offers low cost software upgrades to the latest revision at any time. If you purchased software from one of our distributors, we recommend that you contact the same distributor to purchase the upgrade.

Qualification for upgrades:

You are entitled to purchase an upgrade if you purchased the original software from microEngineering Labs or one of our authorized distributors.

Our software licenses are not transferable.Ý This means that if you purchase a used copy of our software from an individual, you are not entitled to an upgrade. If you purchase our software on EBAY or a similar auction site, make sure the seller is an authorized distributor of our products.

When you order an upgrade, we will search our database for a record of the original purchase. If a record cannot be found, this usually means that you purchased from a distributor. You will be asked to provide a copy of the original invoice as proof of purchase.


Purchasing Upgrades:

There is a special "Cross-Grade" offer to move from the standard PicBasic Compiler to the PicBasic Pro Compiler: Euro159,95 plus shipping with proof-of-purchase of PBC.

You may need to fax proof of purchase to qualify. Upgrade disks will be shipped to you. There are no downloads available.

Purchase at mcumart.comAdd Upgrades To Basket

 

PicBasic Pro Compiler (with manual)

 

Euro 49,00


Version History

  • PicBasic Pro Compiler
  • PicBasic Compiler
  • melabs Loader

  • PicBasic Pro Compiler

     

    Latest Release: 2.60

    • Adds support for Enhanced Mid-range Core PIC16F1826, 1827, 1933, 1934, 1936, 1937, 1938, 1939, 1946, 1947, PIC16LF1826, 1827, 1933, 1934, 1936, 1937, 1938, 1939, 1946 and 1947.
    • Adds support for PIC18F13K22, 13K50, 14K22, 14K50, 24J11, 24J50, 25J11, 25J50, 26J11, 26J50, 44J11, 44J50, 45J11, 45J50, 46J11, 46J50, 66J90, 66J93, 67J90, 67J93, 86J90, 86J93, 87J90, 87J93, PIC18LF13K22, 13K50, 14K22, 14K50, 24J10, 24J11, 24J50, 25J10, 25J11, 25J50, 26J11, 26J50, 44J10, 44J11, 44J50, 45J10, 45J11, 45J50, 46J11 and 46J50.
    • Adds new functions ATN (arctangent) and HYP (hypotenuse).
    • Adds new commands ARRAYREAD, ARRAYWRITE (for enhanced string handling), DO..LOOP, ELSEIF, EXIT, ON GOSUB and ON GOTO.
    • Adds Word and Long modifiers and allows multiple data for READ and WRITE.
    • Adds NO_CLEAR_STKPTR Define for more control of stack for RESUME to label.
    • Adds RESET_ORG Define for 14-bit core.
    • Adds WRITE_INT Define to disable/enable interrupts for WRITECODE.
    • Adds COFF debug file support for MPLAB 8.20 and beyond.
    • Changes plugin for MPLAB 8.20 and beyond.
    • Changes to new USB framework for support of new USB parts.
    • Fixes DATA statement for up to 256 values on one line.
    • Fixes OWIN and OWOUT presence detect for PIC18.
    • Lengthens default command and data times for LCDOUT.
    • Adjusts timing for SOUND command for 12-bit core.

     

    Latest Release: 2.50

    • DOWNLOAD PATCH to 2.50c:
      • Adds support for PIC16F722, 723, 724, 726, 727, PIC16LF722, 723, 724, 726, 727, PIC18F6393, 6493, 6628, 66J11, 66J16, 6723, 67J11, 8393, 8493, 8628, 86J11, 86J16, 8723 and 87J11.
      • Adds Erasecode to erase data space for 12-bit core.
      • Fixes Owout for greater than 8MHz for 14-bit core.
      • Fixes PORTH and TRISH for PIC18F85J50, 86J50, 86J55 and 87J50.
      • Fixes byte + word = long for PIC18.
      • Fixes PBPL bit access for bits 8 through 31 of long variables.
      • Fixes PBPW division of constants (folding) for constants greater than 32767.
      • Adds Microchip USB 1.3 fixes for PIC18.
      • Fixes USB for PIC18F87J50 series parts.
      • Sets Adcin default clock to rc for PIC16F882, 883, 884, 886 and 887.
      • Fixes Hpwm pin for PIC12F615, PIC12HV615, PIC16F616, 685, 690, 785, PIC16HV616 and 785.
      • Fixes Hserin2 timeout for PIC18.
      • Fixes I2C_SLOW Define for PIC18.
      • Fixes operator precedence in If..Then for long PIC18 (be safe - use parenthesis.)
      • Fixes Lookup2 for non-long PIC18.
      • Fixes word-times-constant(2) for PBPL.
    • Adds support for PIC12F519, 609, 615, PIC12HV609, 615, PIC16F526, 610, 882, PIC16HV610, PIC18F2458, 2553, 4458 and 4553.
    • Adds support for low-voltage: PIC18F23K20, 24K20, 25K20, 26K20, 43K20, 44K20, 45K20, 46K20, PIC18F65J50, 66J50, 66J55, 67J50, 85J50, 86J50, 86J55 and 87J50.
    • Adds signed long (32-bit) variable type for PIC18Xxxxx.
    • Adds Read and Write EEPROM data for 12-bit core.
    • Adds Define to disable/enable interrupts for Write.
    • Revised HPWM and adds additional channels.
    • Adds further optimizations.
    • Adds CAN registers for PIC18F4585.
    • Fixes Adcin for PIC16F88x.
    • Fixes RAM bank allocation for PIC16F631, 946, PIC18F2515, 2523, 2525, 2610, 2620, 4515, 4523, 4525, 4610 and 4620.
    • Fixes additional possible memory allocation of word-sized variable at bank boundary for PIC18Xxxxx.
    • Fixes PM assembler for PORTF, PORTG TRISF and TRISG for PIC16F946.
    • Fixes more miscellaneous warning/error messages.

    Latest Release: 2.47

    • Adds support for PIC16F616, 631, 677, 883, 884, 886, 887, PIC16HV616, 785, PIC18F2423, 2420, 2450, 2523, 2682, 2685, 4423, 4450, 4682 and 4685.
    • Adds support for low-voltage PIC18FJ devices: PIC18F24J10, 25J10, 44J10, 45J10, 63J11, 63J90, 64J11, 64J90, 65J10, 65J11, 65J15, 65J90, 66J10, 66J15, 66J60, 66J65, 67J10, 67J60, 83J11, 83J90, 84J11, 84J90, 85J10, 85J11, 85J15, 85J90, 86J10, 86J15, 86J60, 86J65, 87J10, 87J60, 96J60, 96J65 and 97J60.
    • Adds HSER_SPBRGH and HSER2_SPBRGH defines for PIC18Xxxxx.
    • Adds minor optimizations for PIC18Xxxxx.
    • Increases number of table elements allowed for Lookup and Lookup2 for PIC18Xxxxx.
    • Improves accuracy for Nap and Sleep for PIC18Xxxxx.
    • Allows temp variable in banks other than 0 for 12-bit core.
    • Changes internal bit names to avoid possible conflicts.
    • Hides "__CONFIG Deprecated" warning for PIC18Xxxxx.
    • Fixes Readcode and Writecode for PIC16F88.
    • Fixes Adcin and Dig for 12-bit core.
    • Fixes possible memory allocation of word-sized variable at odd address on page boundary for PIC18Xxxxx.
    • Fixes PM for PORTD and PORTE for PIC16F59.
    • Fixes miscellaneous error messages.

    Latest Release: 2.46 - PATCH

    • DOWNLOAD PATCH
      • Adds support for PIC10F222, PIC12F510, PIC16F506, 685, 687, 689, 690, 946, PIC18F1230, 1231, 1330, 1331, 2221, 2321, 4221, 4321, 6527, 6622, 8527 and 8622.
      • Fixes Hserin/Hserout defines for PIC16F688.
      • Fixes possible bank select issues for moving data into a bit on PIC18 series MCUs.

    Latest Release: 2.46

    • Adds support for PIC10F202, 206, PIC12F635, PIC16F59, 636, 639, 785, 913, 914, 916, 917, PIC18F2410, 2420, 2455, 2480, 2510, 2520, 2550, 2580, 4410, 4420, 4455, 4480, 4510, 4520, 4550, 4580, 6310, 6390, 6627, 6722, 8310, 8390, 8627 and 8722.
    • Adds support for full speed USB PIC18F2455, 2550, 4455, and 4550.
    • Adds OPTION2 for PIC16HV540.
    • Adds CAN externals to PIC18F2680 and 4680.
    • Changes XINST default to off for PIC18Fxxxx.
    • Fixes bank addresses for PIC18F6410, 6490, 8410 and 8490.
    • Fixes Next for word index with a byte variable Step.
    • Fixes possible Debugin, Hserin2 or Serin2 Dec timeout at wrong time.
    • Fixes no Debugin or Hserin2 modifier timeout for PIC17Cxxx.
    • Fixes no Hserin2 modifier timeout for PIC18Xxxxx.
    • Fixes USBOut for length in any bank for PIC16C745 and 765 low speed devices.
    • Fixes USB descriptor for PIC16C745 and 765 Jan Axelson demo.

    Latest Release: 2.45

    • Adds support for PIC12F508, 509, 683, PIC16F505, 684, 688, 716, 737, 747, 767, 777, 87, 88, PIC18F2331, 2431, 2515, 2525, 2585, 2610, 2620, 2680, 4331, 4431, 4515, 4525, 4585, 4610, 4620, 4680, 6410, 6490, 8410 and 8490.
    • Allows spaces in path/filename.
    • Improves compatility with MPLAB 6.
    • Updates USB routines to version 1.25.
    • Removes dependence on some Microchip PIC18Xxxxx macros.
    • Fixes subtract bit from byte and word to word result.
    • Fixes PIC16F648A BANK2 RAM setting.
    • Fixes some PIC18Fxxxx bank selections.

    Latest Release: 2.44

    • Adds support for PIC16F54, 57, PIC18F2439, 2539, 4439, 4539, 6520, 6525, 6585, 6621, 6680, 8520, 8525, 8585, 8621 and 8680.
    • Adds REPEAT..UNTIL.
    • Adds 9 bit parity to HSERIN, HSERIN2, HSEROUT and HSEROUT2.
    • Changes PIC18Fxxxx DATA and EEPROM to allow odd locations.
    • Fixes constant folding for large numbers.
    • Fixes unable to load COD file for MPLALB 6.
    • Fixes parity with timeout in serial instructions.
    • Fixes PIC18Fxxxx DEBUGIN modifier timeout.
    • Fixes PIC18Fxxxx SERIN2 DEC modifier timeout.
    • Fixes PIC18F1220 and 1320 configuration error.
    • Fixes PIC18F6620, 6720, 8620 and 8720 BANK12 RAM setting.

    Previous Release: 2.43

    • Adds support for PIC16C557, 16F627A, 628A, 630, 648A, 676, 818, 819, PIC18F1220, 1320, 2220, 2320, 4220 and 4320.
    • Adds HSERIN2 and HSEROUT2.
    • Eliminates warnings for PULSIN_MAX and some registers.
    • Fixes ADCIN resetting VREF on some devices.
    • Fixes some bank preference selections for 18Fxxxx.
    • Fixes USBIN and USBOUT to work with variable length.
    • Changes PICStic 5 support.

    Previous Release: 2.42

    • Adds support for PIC12F629, 675, PIC16F873A, 874A, 876A and 877A.
    • Adds separate CAN definition file.
    • Changes PBPW to work with upper ASCII characters.
    • Fixes SYSTEM for bit variables.
    • Changes DEBUG and DEBUGIN baud rate rounding.
    • Changes OWIN and OWOUT timing for high OSC frequencies.
    • Fixes SELECT CASE for byte arrays.
    • Fixes USBIN and USBOUT jump to forward references label.
    • Changes 12-bit core CLEAR to not clear bank 0.
    • Fixes PIC17Cxxx HSERIN timeout.
    • Fixes PIC17Cxxx logical and bitwise NOT.
    • Changes PIC18Xxxx I2CREAD and I2CWRITE timing.
    • Fixes READ and WRITE for PIC18Fxx2.

     

    Previous Release: 2.41

    • Adds support for PIC16F72, PIC18F6620, 6720, 8620, 8720 and PicStic5.
    • Adds CHS3 to ADCIN.
    • Adds ERASECODE, READ, WRITE, WRITECODE for PIC18Fxxx.
    • Adds PIC18Fxxx Defines for loaders.
    • Changes configuration for PIC18Fxxx to match latest MPASM.
    • Changes PicStic variable usage.
    • Fixes Bad Val Op xx fatal error.
    • Fixes SYMBOL for alias + 1.
    • Fixes SEROUT2 with flow control and no timeout didn't clear WDT.
    • Fixes missing PAUSEUS Define for SHIFTOUT.
    • Changes 12-bit core TO, PD to NOT_TO, NOT_PD.
    • Fixes 12-bit core NAP, SLEEP wakeup didn't restore OPTION register.
    • Fixes 12-bit core PULSOUT.
    • Fixes PIC17Cxxx end of page call/goto problem.
    • Fixes PIC17Cxxx COUNT, NAP and SLEEP.
    • Fixes access bank location for PIC18Xxx8.
    • Fixes # for PIC18Xxxx.
    • Fixes ADCIN for PIC18Cxx8.

    Previous Release: 2.40

    Because of the additional commands added in this version, we recommend that an updated manual is purchased along with your software upgrade.

    • Adds support for PIC16C432, 433, 745, 765, 781, 782, 925, 926, PIC18C601, 801, PIC18F242, 248, 252, 258, 442, 448, 452 and 458.
    • Adds limited support for 12-bit core PIC12C508, 509, PIC12CE518, 519, PIC16C505, 54, 55, 56, 57, 58 and PIC16HV540.
    • Adds BASIC source level debugging for MPLAB.
    • Adds DIV32 31-bit x 15-bit divide function.
    • Adds HPWM hardware PWM command.
    • Adds OWIN and OWOUT one-wire commands.
    • Adds SELECT CASE statements.
    • Adds USBINIT, USBIN and USBOUT low-speed USB commands.
    • Adds NO_CLRWDT Define.
    • Adds PULSIN_MAX Define.
    • Changes PEEK and POKE to be more compatible with the standard PicBasic Compiler.
    • Changes REV to be more compatible with BS2.
    • Changes PIC16F627 and 628 default oscillator to XT.
    • Fixes label address for DATA with @.
    • Fixes parity for HSERIN.
    • Multiple serial WAIT modifiers no longer combined into one.
    • TRIS can now be used on PIC17Cxxx devices, as well as, DDR.
    • Fixes PIC17Cxxx END, NAP and SLEEP statements.
    • Fixes PIC18Cxxx BRANCH, BRANCHL, LOOKDOWN, LOOKDOWN2, LOOKUP and LOOKUP2 statements.
    • Fixes PIC18Cxxx illegal opcode with MPLAB 5.40.

    Previous Release: 2.33

    • Adds support for PIC16F73, 74, 76, 77, 18C658, 858 and PicStic 2K.
    • Adds semicolon (;) as comment character.
    • Adds odd parity to SERIN2 and SEROUT2.
    • Adds Define for loaders.
    • Changes READ and WRITE to work with PIC16F627 and 628.
    • Saves count if WAITSTR times out.
    • Fixes SHIFT_PAUSEUS Define for SHIFTIN and SHIFTOUT.

    Previous Release: 2.32

    • Code page optimization changed to fix subroutine ordering problems.
    • Fixes alias for bit numbers > 7 and bit array bank allocation.
    • Header files for PIC16F87x changed from _LVE_OFF to _LVP_OFF.

    Previous Release: 2.31

    • Adds support for PIC16F870 and 871.
    • Adds STR modifier to I2CREAD and I2CWRITE.
    • Adds READCODE and WRITECODE commands.
    • Adds word array element aliases.
    • Adds path to includes to allow source files to be in their own subdirectory.
    • Adds -E command line option to redirect errors to a file.
    • Adds 18Cxxx USE_LFSR Define.
    • Fixes ADCIN for 10 and 12 bits.
    • Fixes STR modifer for arrays in BANK2 and 3.
    • Fixes for 18Cxxx only: ADCIN for 8 bits, I2CREAD, I2CWRITE, Serout and Serout2 open drain modes.

    Previous Release: 2.30

    • Support added for 16-bit core PIC18C242, 18C252, 18C442, 18C452 and 14-bit core PIC16C717, 770, 771 and PIC16F872.
    • Adds ADCIN and LCDIN commands.
    • LCDOUT improved to handle more types of displays.
    • PBP DOS compile time constant folding now can use constants greater than 32767.
    • I2C commands now work properly with arrays.
    • Fixes some table alignment problems.
    • 17Cxxx Lookdown2, Lookup2 now works properly with non-constant table elements.
    • Fixes PM for 17Cxxx register page access greater than 7 and code size greater than 4K.

    Previous Release: 2.21

    • Adds support for PIC16C712, 716, PIC16F627 and 628.
    • Adds CLEARWDT command.
    • Adds support for Microchip ICD.
    • Adds more modes to SHIFTIN and SHIFTOUT.
    • Debug monitor stack contents added.
    • I2C now masks R/W bit of command byte.
    • Byte array elements can now be overlayed with other variable names.
    • Improves some error checks.
    • SOUND now works properly with noise above 4MHz.
    • Fixes 17Cxxx port access for COUNT, POT, PULSIN and PULSOUT.
    • PBPW now works properly with NT.

    Previous Release: 2.20

    • Support added for 16-bit core PIC17C42A, 17C43, 17C44, 17C752, 17C756, 17C762 and 17C766.
    • ON DEBUG, DISABLE DEBUG, ENABLE DEBUG and DEBUGIN commands added to support debug monitor.
    • SER2_BITS define added to send/receive different number of bits in SERIN2 and SEROUT2.
    • New I2C defines added.
    • New IF..THEN optimizations added.
    • LCDOUT is now faster.
    • READ and WRITE now sets data switch for PIC16F87x.

    Previous Release: 2.12

    • ON INTERRUPT now checks before each BASIC instruction instead of after.
    • Less ON INTERRUPT checks performed.
    • ON INTERRUPT vector didn't get set.
    • Stub added for assembler interrupts to save W, STATUS and PCLATH.
    • Bin, Dec and Hex modifiers didn't work correctly in SERIN2 and HSERIN.
    • Top bit didn't get cleared in input byte in SERIN2 and HSERIN parity.

    Previous Release: 2.11

    • Rev, << and >> changed to handle the 0 case.
    • Better error checking on command line switches.
    • More than 255 blanks on a line made compiler stop.
    • LOOKDOWN2 could loop endlessly (fixed in 2.10b).
    • Multiplying a word variable by a constant 2 may yield an incorrect answer (fixed in 2.10a).
    • Adds support for PIC16F873, 874, 876 and 877.

    Latest Release: 2.10

    • Added many new instructions including DEBUG, HSERIN, HSEROUT, SERIN2, SEROUT2, SWAP, XIN and XOUT.
    • Adjusted instruction timing.
    • Adjusted FOR..NEXT to check for loop variable under and overflow.
    • Rearranged bit handling for BS2 compatibility.
    • Arrays didn't work in most input instructions.
    • Branchl, Lookdown2 and Lookup2 didn't compensate for page breaks properly.
    • Fixed 0 length file bugs.
    • PBPW.EXE included to compile large programs.
    • Many manual additions and revisions (new manual recommended).

    Previous Release: 2.04

    • IF..THEN..ELSE..ENDIF didn't always generate GOTO macro.
    • SERIN didn't always handle decimal qualifiers properly.
    • SERIN didn't read decimal numbers properly.
    • Adjusted SEROUT timing, notably the ON and OT modes.
    • Added character pacing capability to SEROUT.
    • LCD defaults could keep 12C67x and 14C000 programs from compiling.
    • I2CREAD wouldn't read more than 1 byte at a time.
    • Miscellaneous bit handling fixes.

    Previous Release: 2.03

    • SERIN wrote over some qualifiers.
    • More array fixes.
    • More page boundary crossing adjustments.

    Previous Release: 2.01

    • Fixed forward references past 2K.
    • Fixed bit-array RAM assignment / handling.
    • SERIN with qualifier and timeout wouldn't timeout.
    • Lookup2 returned bad values.
    • Replaced square root routine.

    Initial Release: 2.00


    PicBasic Compiler

    Latest Release: 1.45

    • Adds support for PIC16C557, PIC16F627A, 628A, 630, 648A, 676, 818, 819, 87 and 88.

    Previous Release: 1.44

    • Adds support for PIC12F629, 675, PIC16C432, 433, 781, 782, 925, 926, PIC16F72, 73, 74, 76, 77, 873A, 874A, 876A and 877A.
    • Changed assembler to PM version 4.

    Previous Release: 1.43

    • Adds support for PIC16C717, 770, 771, PIC16F870, 871, 872 and PicStic1-4 2k.
    • Changed default processor from PIC16C84 to PIC16F84.
    • PWM output made more linear.
    • Read and Write now works properly for PIC16F62x.

    Previous Release: 1.42

    • Adds support for PIC16C712, 716, PIC16F627 and 628.
    • Fixed Read and Write for PIC16F87x.

    Previous Release: 1.41

    • Adds support for PIC16F873, 874, 876 and 877.

    Previous Release: 1.40a

    • Changes header names to Microchip naming for MPLAB compatibility.
    • 12C67x header contained inaccurate configuration data.

    Previous Release: 1.40

    • SLEEP didn't set RAM bank properly for PICmicros with multiple banks.
    • Added optional uncalibrated SLEEP.
    • SEROUT ON modes changed to open drain to match BS1.
    • I2C pins can now be specified in PicBasic source file.
    • Adjusted to work with later versions of assembler (assembler now shows words used after each successful compilation).

    Previous Release: 1.32

    • -c command line option wouldn't assemble.
    • SERIN required qualifier after last fix.

    Previous Release: 1.31

    • Allows letters as well as numbers in the processor name for the -p command line option.
    • Allows SERIN to have a qualifier with no variable following it.
    • Fixes PicStic clock and ADC routines so that they don't change pin 4 on PortA to an input.

    Previous Release: 1.30

    • Adds I2CIN and I2COUT instructions for accessing external serial EEPROMs and other I2C devices.
    • Adds new variables from B0 - B79 and W0 - W39 for use with larger PICmicros with more RAM registers.
    • Adds PicStic 4+ Pass call.
    • Fixes ENDASM so it doesn't have to be on a line by itself.

    Previous Release: 1.20

    • Adds PEEK and POKE instructions for accessing all PICmicro registers including PortA and A/D converters from BASIC.
    • The maximum serial baud rate has been increased to 9600 baud.

    Previous Release: 1.11

    • Adds in-line assembly capability and CALL instruction to assembler subroutines.

    melabs Loader (no longer available)

    Latest Release: 2.10

    • Adds support for PIC16F818, 819, 873A, 874A, 876A, 877A, 18F1220, 1320, 2220, 2320, 4220 and 4320.
    • Remembers Erase Before Programming option.

    Previous Release: 2.00

    • Adds support for PIC18F242, 248, 252, 258, 442, 448, 452, 458, 6620 and 8620.
    • Adds 115,200 baud rate selection for target devices clocked at 20MHz or faster.
    • Adds Erase function for 16-bit core parts.
    • Adds Erase Before Programming option.
    • Adds support for PC serial ports COM5 and COM6.
    • Adds support for separate loader enable pin.
    • Optimized for faster programming.
    • Adds device information screen.

    Previous Release: 1.00


    Page up-dated at January 17, 2012


    GRIFO®
    Via dell'Artigiano, 8/6
    40016 San Giorgio di Piano
    Bologna ITALY

    Tel: +39 051 892.052
    FAX: +39 051 893.661


    homeHome Software Cat. Index