====== Latest versions ======
* **OCaPIC**: {{:ocapic:ocapic-3.4.tar.bz2|}}
* Version: 3.4.
* Size: 326 MB.
* Date: March, 8th, 2019.
* MD5: ''d6e36a79114fada541555ce3173ccfb3''.
* **OCamlClean**: {{:ocapic:ocamlclean-2.2.tar.bz2|}}
* Version: 2.2.
* Size: 30 kB.
* Date: March, 8th, 2019.
* MD5: ''5f3f7d31527ca30123e6b46b17c19dcc''.
* **OCaPIC tutorial (French version)**: {{:tutoriel-ocapic-1.2.pdf|}}
* Version: 1.2.
* Size: 209 kB.
* Date: April, 19th, 2012.
* Language: French.
* **OCaPIC tutorial (English version)**: {{:ocapic-tutorial-1.2.pdf|}}
* Version: 1.2.
* Size: 205 kB.
* Date: April, 19th, 2012.
* Language: English.
====== Open source license ======
OCaPIC and OCamlClean are under [[http://www.cecill.info/licences.en.html|CeCILL]] license.
====== OCaPIC release history ======
* **Latest version:** OCaPIC 3.4 (March, 8th, 2019)
* {{:ocapic:ocapic-3.4.tar.bz2|}} (326 MB)
* MD5: ''d6e36a79114fada541555ce3173ccfb3''.
* SHA256: ''130f5dc4f342a51fe4d542401d9b2805f6815803874bdc17949ad212cc5c58f6''.
* Fix compatibility with ocaml-4.07.
* OCaPIC 3.3 (October, 5th, 2016)
* {{:ocapic:ocapic-3.3.tar.bz2|}} (326 kB)
* MD5: ''bd1b2e89acb3399600910b8c2dd48fc6''.
* SHA256: ''268388ee7d488eb442bbe6e897ea5c6f45a69602951e445ca31202c9b84def3a''.
* Fix compatibility with ocaml-4.03.
* OCaPIC 3.2 (October, 18th, 2015)
* {{:ocapic:ocapic-3.2.tar.bz2|}} (285 kB)
* MD5: ''682ec0c8ec355863b7bbf870c9bb7173''.
* SHA256: ''3af5e2f86bbf186173c214a856316c8d6ed0d3b40492d10e6185ae942a06804b''.
* (new feature) Simulators: add analogical input management.
* (change) Simulators: improve -slow running (now divide CPU usage by 5).
* (change) Simulators: improve circuits layout.
* (change) Simulators: improve colors.
* (bug fix) Simulators: exit properly when a window is closed.
* OCaPIC 3.1 (July, 1st, 2013)
* {{:ocapic:ocapic-3.1.tar.bz2|}} (283 kB)
* MD5: ''b667b4a8dd3096c9b286783a8b6aa18a''.
* SHA256: ''777d4ae4dab6e97f8f11b6da5c133828d34320042b44aee2a63ab34dd3d02fae''.
* (new feature) A new Garbage Collector: Mark&Compact.
* (new feature) Simulator (ocasim): hardware cycle count.
* (new feature) Simulator (ocasim): code execution tracing (from .lst files).
* (new feature) Simulator (ocasim): add debugging instructions (ECHO, DUMP_RAM, ENABLE/DISABLE_TRACE).
* (new feature) New test: a chocolate heater.
* (bug fix) Compatibility with OCaml 3.10 (Obj.unaligned_value).
* OCaPIC 3.0 (November, 14th, 2012)
* {{:ocapic-3.0.tar.bz2|}} (283 kB)
* MD5: ''e453251c23ec866a05bdc44cad83675e''.
* SHA256: ''fff0856ac6594c53f4915168f28d5e09d923c44880b0569f00b1874f22934484''.
* (change) Integration of OCamlClean.
* (change) Better configuration/installation tests and messages.
* (OCamlClean new feature) Function environments cleaning.
* (OCamlClean bug fix) Control flow analysis of function bodies ending by RAISE.
* OCaPIC 2.9 (November, 5th, 2012)
* {{:ocapic-2.9.tar.bz2|}} (279 kB)
* MD5: ''4de5af189adc5d782cf9e5293292e470''.
* SHA256: ''734bc83448e245d54c8553b3acac737155617d38d6ae793aad5392ce6e6e4f20''.
* (new feature) Battery charger example: parasitic resistances management.
* (bug fix) PIC simulator (ocasim): disabled load of used module Trigs (for 4.0 compatibility).
* OCaPIC 2.8 (September, 23rd, 2012)
* {{:ocapic-2.8.tar.bz2|}} (260 kB)
* MD5: ''d09650c13cee28d1773c13389a5ff2da''.
* SHA256: ''2fe5b59499bd8be0edda041c83c87cb57a7501e37189131f5686f1f1bddbfcc2''.
* (new feature) New test: an analog to digital converter.
* (new feature) New test: a battery charger.
* (bug fix) OCaml 4.0 compatibility.
* OCaPIC 2.7 (July, 24th, 2012)
* {{:ocapic-2.7.tar.bz2|}} (263 kB)
* MD5: ''a29aa1a75a8da8da1a807cc021e02522''.
* SHA256: ''5b37e522d9e8b572f0a190afe6a83d99d2d74e8c3a9375dc333de1b5354d0ead''
* (new feature) A keyboard simulator module.
* (change) License: CeCILL.
* (change) Default CLOCK configuration.
* (change) Better DIP40 simulator graphics.
* (bug fix) Data constructor overflow in data segment.
* (bug fix) Write and I/O change on PORTE.
* (bug fix) Manpages typos.
* (OCamlClean bug fix) Toplevel (try)-with code dependencies.
* OCaPIC 2.6 (April, 18th, 2012)
* {{:ocapic-2.6.tar.bz2|}} (278 kB)
* MD5: ''618ad3b79d295b388e130b36c35651fe''.
* SHA256: ''cf4189963b59363ab5071f6ab59dd1d64936448802ae2f2afc045bb72c640e80''.
* (new feature) ''Genlex'' module in standard library.
* (new feature) Upgrade of ''Pervasives'': string/float conversions.
* (new feature) Float formatting with ''Printf'' module (''%f'', ''%F'', ''%e'', ''%E'', ''%g'' and ''%G'').
* (new feature) ''Lcd'' library: character generation (new ''register_bitmap'' function).
* (new feature) New options for ''ocapic'' command: -where, -ocaml, -ocamlc, -camlp4.
* (new feature) New test: a PIC programmer.
* (new feature) Default PIC configuration word definitions (new ''default-config.asm'' file).
* (new feature) Static check of heap/stack sizes validity and compatibility.
* (new feature) Better manpages, usages and help messages.
* (optimization) Float merge optimization by ''bc2asm'' command.
* (bug fix) Installation path checking.
* (bug fix) OCaml 3.10.0 compatibility (''double_field'' function).
* (bug fix) Camlp4 pre-processor environment variable CAMLLIB.
* (bug fix) Float comparison algorithm.
* (bug fix) Float allocation code.
* (bug fix) Float assembler function dependancies.
* (bug fix) Licence of ''distgen'' script.
* (bug fix) Function ''wait_ready'' in 4 bits bus mode (''Lcd'' library).
* (bug fix) Pic bits ''RX7'' => integer out of bounds in global data.
* (bug fix) Invalid LCD size exception.
* (bug fix) Extra-library manpages generation.
* (bug fix) Manpage generation of ''Pervasives'' module.
* (OCamlClean bug fix) Manpage installation.
* OCaPIC 2.5 (August, 6th, 2011)
* {{:ocapic-2.5.tar.bz2|}} (257 kB)
* MD5: ''fb3e092f093fe755aa5a1e2f3367f100''.
* SHA256: ''43457ba54cf0014f8b0aa008605526d7ed4df0583635211d8278bcc35d4421a0''.
* (new feature) A new simulator (complementary to the first) for external function assembler debugging.
* (new feature) Standard library and extra libraries manpages.
* (new feature) More tests and examples.
* (new feature) Tutorial.
* (bug fix) Manpage of ''bc2asm''.
* OCaPIC 2.4 (May, 29th, 2011)
* {{:ocapic-2.4.tar.bz2|}} (246 kB)
* MD5: ''19856b8198129909d0b2cce45dd4b2a3''.
* SHA256: ''f306352f201aa133580a992a2ec08ecc3e0d3896d0c563cc7d46997a272d2585''.
* (new feature) Serial library: full-duplex OCaml value transmission through a serial connection with configurable timeouts and reliability improvement.
* (new feature) A new OCaml library: EEPROM manipulation.
* (new feature) PIC configuration word setting by a -config option.
* (change) Atoms representation.
* (bug fix) Function ''string_of_int'' (of invalid integers in simulation mode).
* (bug fix) Flotting point numbers ''0.0'' and ''-0.0'' PIC representations.
* (bug fix) VM instruction ''MAKEFLOATBLOCK''.
* OCaPIC 2.3 (April, 7th, 2011)
* {{:ocapic-2.3.tar.bz2|}} (236 kB)
* MD5: ''23edb1515830a0a3398ea9ba27386962''.
* SHA256: ''5bac04a8cb8c2ea861f835f7979a37405b41e22541087e708e3ff021f379208e''.
* (new feature) A "circuit" simulator (with LED, button, switch, LCD display, 7-segment display, ...).
* (new feature) A library to write component simulators in OCaml.
* (change) Package architecture.
* (bug fix) Source code files headers.
* (bug fix) Keyboard events in LCD simulator.
* OCaPIC 2.2 (March, 2nd, 2011)
* {{:ocapic-2.2.tar.bz2|}} (228 kB)
* MD5: ''e84a8911e9a748110c6d80e5c3dd2a77''.
* SHA256: ''0eedc038727d14a15484b90f4f87f4435fee6029c84b832d7bb820bc9783e17e''.
* (new feature) Stack occupation access in the simulator.
* (new feature) Improvement of library ''Lcd'' with quick configuration.
* (optimization) ''Lcd'' library (frees 78 bytes from the heap).
* (optimization) Objects library (frees 770 bytes from the heap).
* (bug fix) External function ''caml_make_array''.
* (OCamlClean bug fix) Source cleanning.
* (OCamlClean bug fix) Removing unused ''ASSIGN'' instruction.
* OCaPIC 2.1 (February, 4th, 2011)
* {{:ocapic-2.1.tar.bz2|}} (432 kB)
* MD5: ''d1dbd0511d54a71187ae34c480b61a44''.
* SHA256: ''f31b5721d4de04b89cbff4859b131c9661c762771d53e29454bb09a8e6980030''.
* (new feature) A library to manipulate an high level serial connection from a computer to a pic.
* (new feature) The Stream module in standard library.
* (optimization) Float array compression.
* (optimization) Atoms representation.
* (bug fix) External function ''caml_alloc_dummy_float''.
* OCaPIC 2.0 (January, 9th, 2011)
* {{:ocapic-2.0.tar.bz2|}} (213 kB)
* MD5: ''fafcb97a6429bdc800caad6af03a8aca''.
* SHA256: ''69dd8ee051a2d80015c950455188750207d5a248402bf0e3201760667f3ef22a''.
* (new feature) 32bit float values and basic flotting point arithmetic operations.
* (new feature) ''Int32'' and ''Int64'' modules implementation.
* (new feature) ''Printf'' module implementation.
* (new feature) PIC interruptions management (in a way similar to Unix signals).
* (new feature) Type ''out_channel'' specification and tools implementation.
* (new feature) Improvements of ''Lcd'' module (''moveto'', ''‘\n’'', display initialization protocol).
* (new feature) A standard sleep function (so the simulator will behave more as the hardware).
* (optimization) Memory representation for exceptions (frees 240 bytes on the heap and 12 levels on the stack).
* (bug fix) Exceptions raised by an external function which has more than 2 arguments.
* (bug fix) Catching ''Out_of_memory'' exception.
* (bug fix) LCD display simulator on 4bit protocol.
* OCaPIC 1.6 (November, 11th, 2010)
* {{:ocapic-1.6.tar.bz2|}} (256 kB)
* MD5: ''d52770b72d3335c49a5416d73bd94fb8''.
* SHA256: ''b3da90a00df4eb54f4d7e630b92858c439593766d39ac09a5aef60b50ea77276''.
* (change) Small bugfixes and small evolutions due to OCamlClean's extraction.
* OCaPIC 1.5 (November, 9th, 2010)
* {{:ocapic-1.5.tar.gz|}} (1.2 MB)
* MD5: ''4e1b7a8992ce4b31a4b0651d1de0445e''.
* SHA256: ''20a99f3fbe44af1b10e5fe1412d7fb3e8b94d5f02d8de2697f8a23a68d039ab5''.
* (new feature) All PIC18 are now supported.
* (OCamlClean bug fix) Large bytecode binaries, file opening on Windows (thanks to //Thomas Moniot//).
* OCaPIC 1.4 (November, 6th, 2010)
* {{:ocapic-1.4.tar.gz|}} (181 kB)
* MD5: ''800d8d0b526421222c384f27465c78bc''.
* SHA256: ''0a63d8b1053d6ffa4962dedc57b37d8862077d34aa9c4f9433359003d9e726ff''
* (bug fix) Manpages (thanks to //Marc Mezzarobba//).
* OCaPIC 1.3 (October, 28th, 2010)
* {{:ocapic-1.3.tar.gz|}} (181 kB)
* MD5: ''cb73c826a9b95786ccf71f3a1d294ad3''.
* SHA256: ''6975f9a8ed0e3e22c8b8dc301e00dd07acc8dc15d6994bce18987770d3178721''.
* (bug fix) Building examples on 64bit plateforms (thanks to //Stéphane Glondu//).
* OCaPIC 1.2 (October, 26th, 2010)
* Update license.
* OCaPIC 1.1 (October, 6th, 2010)
* Development snapshot.
* OCaPIC 1.0 (October, 5th, 2010)
* First //stable// version.
====== OCamlClean release history ======
OCamlClean is included in OCaPIC distribution. This section is meant for those who do not want to get OCaPIC but only OCamlClean. A small description of OCamlClean is available [[ocamlclean|here]].
* **Latest version:** OCamlClean 2.2 (March, 8th, 2019)
* {{:ocapic:ocamlclean-2.2.tar.bz2|}} (30 kB)
* MD5: ''5f3f7d31527ca30123e6b46b17c19dcc''.
* SHA256: ''33d17a1f823d32f37a6eb78d681e53a3ba0b77006346542d990541a3c10abc9c''.
* Fix compatibility with ocaml-4.07.
* OCamlClean 2.1 (October, 4th, 2016)
* {{:ocapic:ocamlclean-2.1.tar.bz2|}} (30 kB)
* MD5: ''66b45a96980d44df8db72e9d03c8353e''.
* SHA256: ''c26c37020d8c1c26cf577531250031d59f3b8925f6cbe35194ba9b068cf647b3''.
* Fix compatibility with ocaml-4.03.
* OCamlClean 2.0 (November, 14th, 2012)
* {{:ocamlclean-2.0.tar.bz2|}} (30 kB)
* MD5: ''c72c562c5c77e12e731bd3b934fee376''.
* SHA256: ''f49c49de0a1103e3d3e4eda392c5eac16370effa9efc0f9a9265c4f981e49593''.
* (new feature) Function environments cleaning.
* (bug fix) Contrôl flow analysis of function bodies ending by RAISE.
* OCamlClean 1.9 (July, 24th, 2012)
* {{:ocamlclean-1.9.tar.bz2|}} (29 kB)
* MD5: ''fc51c25266e008e1a5164f6d5b42fb70''.
* SHA256: ''8214b70f489e44756f53f3096e7ab202e83684b095145c85ac90225585287553''.
* (change) License: CeCILL.
* (bug fix) Top-level (try)-with code dependencies.
* (bug fix) Manpage installation.
* OCamlClean 1.8 (March, 1st, 2011)
* {{:ocamlclean-1.8.tar.bz2|}} (29 kB)
* MD5: ''642fa67d6f5f8cb8c290221dd24bfefc''.
* SHA256: ''db13ba1c1ecca2080e5c26db9832f45809d1f5cd4b4a3b7b9707c88dce22324c''.
* (bug fix) Source cleanning.
* (bug fix) Removing unused ''ASSIGN'' instruction.
* OCamlClean 1.7 (January, 9th, 2011)
* {{:ocamlclean-1.7.tar.bz2|}} (29 kB)
* MD5: ''28a2ff3a6b448f7d07a104c2bab0c76c''.
* SHA256: ''5b536b1fd20dbe77de6a5f059fb1ed7d7f6398b9ad4ae23005e21a06a63c9f12''.
* (bug fix) Top-level expressions elimination.
* OCamlClean 1.6 (November, 11th, 2010)
* {{:ocamlclean-1.6.tar.bz2|}} (29 kB)
* MD5: ''8c4d35d8cb7ee9c2d2e7cd65187ec58f''.
* SHA256: ''b3c40cd6ba296cd5db46c19afc3cc71e0a5735aa16385d61ef4fee0f395eb245''.
* (bug fix) Deletion of DBUG section in generated bytecode.
====== OCaPIC tutorial release history ======
* **Latest version**: OCaPIC tutorial 1.2 (April, 19th, 2012)
* French version: {{:tutoriel-ocapic-1.2.pdf|}} (209 kB).
* English version: {{:ocapic-tutorial-1.2.pdf|}} (205 kB).
* (bug fix) Execution command for usart test.
* (bug fix) Serial connection: baud rate conversion.
* (bug fix) Serial library test: LCD bus size.
* OCaPIC tutorial 1.1 (August, 22nd, 2011)
* French version: {{:tutoriel-ocapic-1.1.pdf|}} (220 kB).
* English version: {{:ocapic-tutorial-1.1.pdf|}} (216 kB).
* (new feature) English translation (thanks to //Zoé Faget//).
* (bug fix) Compilation command for sender.ml.
* (bug fix) Refinement of timer speed.
* (bug fix) Some typos.
* OCaPIC tutorial 1.0 (August, 6th, 2011)
* French version: {{:tutoriel-ocapic-1.0.pdf|}} (219 kB)
* First stable version.