Original: Factorio Customizable Processing Unit. SpaceExploration FIx: Fixed fCPU to continue operation while a space ship is jumping between surfaces. Extra: Fixed fCPU indexing in memory read/write. (NO SIMD) Extra improvements have been added
Mods introducing new content into the game.
Version: 0.5.0 Date: 2023-03-21 Changes: - Implemented new channel for logistic network (logi) read only - Now can use logistic network data on instructions: add, sub, mul, div, mod, pow, subi, divi, modi, powi, rnd, dig, cos, sin, tan, atan2, sqrt, exp, ln, band, bor, bxor, bnot, bsl, bsr, brl, brr, teq, tne, tgt, tlt, tge, tle, tas, tad, cnts, cntv - Added new instruction: bkl cnt[C/R/M] - Block until there are at least cnt signals on logistic network. - Added new instruction: btl type[C/R/M] - Block until signal type found on logistic network. - Added new instruction: btlc reg[R] - Block while reference register have same value as in red/green/both_input wires - Removed fCPU image from booktorio and informatron - Updated wiki with new logistic information - Added new signal for counting - Added new instruction: cnts dst[R/O/M] src[M/I/W/LN]- Count signals - Added new instruction: cntv dst[R/O/M] src[M/I/W/LN]- Count values of all signals Bugfixes: - Fixed crash when click on register not defined - Fixed change old signal icon when set new signal - Fixed text-box editor width
Version: 0.4.22 Date: 2023-03-20 Changes: - Added spanish localization - Added new icons for memory view, copy, paste and signals - Added new opcode "wc <branch_when_exists> <branch_when_no_exists>" to check if a wire is connected and jump to desired branch based on result Bugfixes: - Fixed crash when paste a program without copy program before
Version: 0.4.21 Date: 2023-03-20 Bugfixes: - Fixed get type when use register (with item as signal) in operations
Version: 0.4.20 Date: 2023-03-20 Bugfixes: - Fixed get type when use register in operations - Added new nil signal (Used when type is not defined to a memory cell)
Version: 0.4.19 Date: 2023-03-20 Changes: - Arithmetic instructions now can use memory as destination - Trigonometry instructions now can use memory as destination - Bitwise instructions now can use memory as destination - Flow control instructions now can use memory as destination - Added values to memory tooltips - Added new label signal (Used when use `lea` to a memory cell) Bugfixes: - Added changelog
Version: 0.4.18 Date: 2023-03-19 Bugfixes: - Fixed crash when show tooltip with nil signal type
Version: 0.4.17 Date: 2023-03-19 Changes: - Added new map option: Num of Registers (min=8, max=80) - Added new map option: Registers per row (min=8, max=20) - Added new map option: Num of memory channels (min=4, max=16) - Increase editor lines to 256 Bugfixes: - Fixed index memory read/write (when don't use SIMD)
Version: 0.4.16 Date: 2022-07-19 Bugfixes: - Fixed me bricking the mod
Version: 0.4.15 (Branch) Date: 2022-07-19 Changes: - I have made a branch because a known issue of 1 yr 7 months has not been fixed Bugfixes: - Fixed fCPU combinator becoming unresponsive after surface change - Fixed Space exploration satellite mode induing a soft crash
Version: 0.4.14 Date: 2022-03-20 Changes: - Updated supporters list. Thank you for supporting fCPU and our Factorio community! Bugfixes: - Fixed missed `offset` to `bad` and `bas` instructions (https://mods.factorio.com/mod/fcpu/discussion/6196bc801bc21ba14dfca424)
Version: 0.4.13 Date: 2021-08-20 Changes: - Added instructions (https://mods.factorio.com/mod/fcpu/discussion/5ff1e8c767060ec2750c4a88) Bugfixes: - Fixed issue on startup with moderm flib 0.8.0 (https://mods.factorio.com/mod/fcpu/discussion/6111ee81a39dd8a4252da8b2)
Version: 0.4.12 Date: 2021-01-03 Bugfixes: - Found missed deffered action on `fcpu/src/cpu/controller.lua:223` (https://mods.factorio.com/mod/fcpu/discussion/5fecb1c3ae469395d4714320)
Version: 0.4.11 Date: 2021-01-03 Bugfixes: - `xuni` incorrect timeout (https://mods.factorio.com/mod/fcpu/discussion/5fecd7edfa0ed601c1c792ce)
Version: 0.4.10 Date: 2020-12-29 Features: - Added editor width setting (look in the player runtime tab). Changes: - SIMD `x*` instructions optimisation: 2 ticks less for signal handling. - Instruction pointer advances after finishing current intrustion. - Refactored 'clear' and 'sync' sequences. - Some preparations for ordered memory. Bugfixes: - Allow read memory from output buffer. - Correct clock `clk` register after `slp` and `x*`. - Crash when updating BP (program still could not be saved, please use new BP rather than `update contents`, see https://forums.factorio.com/viewtopic.php?f=48&t=88100).
Version: 0.4.9 Date: 2020-12-03 Changes: - Added support for calling functions in `ugpf`.
Version: 0.4.8 Date: 2020-12-01 Features: - Added string comparison (`t*`, `b*` mnemonics). Changes: - `ugpf` uses dots `.` for getting prototype fields.
Version: 0.4.7 Date: 2020-11-29 Features: - Added setting for disabling program editor icons. Bugfixes: - Destroying sleeping fCPU. - Newly created processors can't be controlled via external run signals
Version: 0.4.6 Date: 2020-11-26 Bugfixes: - Typo in `lea`. - Typo in `ln`. - Removed version constrain from flib (it is still less than 6.0.0).
Version: 0.4.5 Date: 2020-11-23 Features: - Factorio 1.1.0 support.
Version: 0.4.4 Date: 2020-11-23 Features: - Added `lea` for loading address of a labels. - Common mnemonics extended with optional src operand. Bugfixes: - Breakpoint miss right after `slp`. - `Step` may ignore instructions when stepping out of sleep mode. - `btrc`/`btgc`/`btic` retains type when a signal became 0.
Version: 0.4.3 Date: 2020-11-22 Changes: - `xc*` now ignore signal types rather than rely on it's value from src.
Version: 0.4.2 Date: 2020-11-22 Features: - Added `emit` for appending signals to memory. Changes: - Cleaup fixed in v0.4.1 missed combinators. Bugfixes: - `bt*c` now correct handles zeroed signals.
Version: 0.4.1 Date: 2020-11-22 Changes: - Added `xflt` mnemonic with two operands (`xflt dst mask`). - Pressing rename fCPU title button now selects edit field. Bugfixes: - Added missed combinators to `xflt`.
Version: 0.4.0 Date: 2020-11-21 Features: - Added `xflt` (thanks to https://www.reddit.com/user/Halke1986/ for original filter blueprint). - Added `bti` (break until input have type) mnemonic. - Added `btrc`,`btgc`,`btic` (break until input type changed) mnemonics. - Added `ugpf` *Utility Get Prototype Field*. - Added `xc*` SIMD *Comparision*. - Added basic string support. - Added pin button. - Added debugging hotkeys. - Added ability to rename fCPU unit. - Added auto select last modified memory channel. Changes: - GUI refresh rate could be changed in runtime, please update this setting to needed value. - In sleep mode, fCPU does not handle interruptions. - SIMD instructions have global queue for handling. Significant (~30%) performance increase for `x*` mnemonics. - Sleeping/Disabled fCPU now not eats UPS at all! Huge (~10-40%) performance increse for maps with a lot of fCPUs. Bugfixes: - `xuni` now correct handle input wire at second operand. - `xmin r1 red` when there is no item "Input channel is unavailable". - Possible fix for (https://mods.factorio.com/mod/fcpu/discussion/5fb00a179d70848806c566dd).
Version: 0.3.27 Date: 2020-11-15 Bugfixes: - Fixed invalid LuaArithmeticCombinatorControlBehavior in `validation_cache`.
Version: 0.3.26 Date: 2020-11-14 Bugfixes: - Fixed typo from v0.3.24. Which actually fixes some other mods shit.
Version: 0.3.25 Date: 2020-11-14 Bugfixes: - Added extra check for tiles-only BP.
Version: 0.3.24 Date: 2020-11-13 Features: - Added detection of broken mods, which mess with blueprint data and take care of their shit. Bugfixes: - Fixed crash when destroying broken fcpu entity.
Version: 0.3.23 Date: 2020-11-10 Bugfixes: - Fixed cache for old entities.
Version: 0.3.22 Date: 2020-11-09 Bugfixes: - Fixed: attempt to index local 'ast' (a nil value).
Version: 0.3.21 Date: 2020-11-09 Bugfixes: - Fixed: attempt to index local 'wires' (a nil value).
Version: 0.3.20 Date: 2020-11-09 Features: - Added three operands `x*` mnemonics. - Added `xuni` for uniting values from two memory channels. Changes: - Added fourth parameter to branch mnemonics (https://mods.factorio.com/mod/fcpu/discussion/5fa6613ce4b0eb8935a026b1). - Removed `xinc`, `xdec` as it is not usefull (replaced with `xadd dst 1` and `xsub dst 1`). - Docs for SIMD.
Version: 0.3.19 Date: 2020-11-06 Bugfixes: - Typo in docs (https://mods.factorio.com/mod/fcpu/discussion/5fa3e5b23ededbcdb59dd237). - Nil value when no number specified (https://mods.factorio.com/mod/fcpu/discussion/5fa3d9945969b495fb130816).
Version: 0.3.18 Date: 2020-11-03 Features: - Added relative `jmp` mnemonic variant. - Added support for Nanobots (https://mods.factorio.com/mod/Nanobots).
Version: 0.3.17 Date: 2020-11-03 Features: - Added `clr reg` mnemonic. - Registers tooltips now show exact count and type (click to paste in code RMB or LMB, see https://mods.factorio.com/mod/fcpu/discussion/5f79ff3e92eab70c66c8b8af). - Updated supporters list. Thank you for supporting fCPU and our Factorio community! Changes: - Performance optimization and basic caching. - `uiss` now handle only `item` type signals other will be zeroed. Bugfixes: - `xinc`, `xdec` docs updated.
Version: 0.3.16 Date: 2020-10-20 Features: - Added *Utility Item Stack Size* `uiss`. Bugfixes: - Correct error message when trying to `clr` memory cell. - Allow `mov ... 0` to memory cell without signal type.
Version: 0.3.15 Date: 2020-10-16 Changes: - `bkr`,` bkg`, `btr`,` btg` now execute next instruction on same tick the condition were met. - `xmov` now catch signal on 0 tick and have 1 tick less to settle (3 ticks).
Version: 0.3.14 Date: 2020-10-15 Bugfixes: - Fixed `idx` after memory changed (`mov m1[2] r3`).
Version: 0.3.13 Date: 2020-10-15 Bugfixes: - No `gui_cache` for a new players (https://mods.factorio.com/mod/fcpu/discussion/5f87cf424309a388cdb0fc03).
Version: 0.3.12 Date: 2020-10-15 Changes: - Do not open memory viewer by default. Bugfixes: - Fixed `clr mem`. - Fixed toggling memory viewer. - Fixed disappeared instruction pointer for new fCPUs.
Version: 0.3.11 Date: 2020-10-14 Bugfixes: - PickerDollies move whole internal scheme. - Removed smoke clouds while building or modifying fCPU.
Version: 0.3.10 Date: 2020-10-14 Features: - Added breakpoints support. - Easter egg. Bugfixes: - Line number is crooked when UI scale >100% . - Clear memory when `ics` is a sparse arrays.
Version: 0.3.9 Date: 2020-10-13 Features: - New `xmini` and `xmaxi`, same as `xmin` `xmax` but assigns index as a result. - Added memory assignment support `mov mem1[23] 4[item=copper-ore]`. Bugfixes: - Allow indexing of empty memory cells. - Fixed fCPU clone operation.
Version: 0.3.8 Date: 2020-10-12 Changes: - Added memory view for `vector output` and `composite output`. Bugfixes: - Fixed `clr out` after `xmov out ...`. - Fixed bug with handling when using old fCPU entities, created from before v0.3.0 . - Fixed crash when mod with signals extensions were removed.
Version: 0.3.7 Date: 2020-10-11 Features: - Added `idx` mnemonic. Changes: - Renamed mnemonic `fim` to `fid` and swapped two first and seccond operand (check your programs before save!). - Added support for `red`/`green` input wire into `fid` mnemonic. - Increased program lines from 99 up to 128. - `emit` mnemonics is now deprecated (should be replaced by `mov out1 ...`). It will be reused for memory manipulations. Bugfixes: - Booktorio2 crash when toggled without fCPU widget close. - Minor wiki fixes. - Possible fix for `attempt to index local 'ast' (a nil value)` (https://mods.factorio.com/mod/fcpu/discussion/5f776ae7f3f086498c4a6b36).
Version: 0.3.6 Date: 2020-10-03 Changes: - Improved comments parsing, no space needed as delimiter. - Reduced contrast for error color.
Version: 0.3.5 Date: 2020-10-02 Bugfixes: - Fixed regression `clr out1`.
Version: 0.3.4 Date: 2020-10-01 Bugfixes: - Fixed sporadic double tick handling after removing fCPU.
Version: 0.3.3 Date: 2020-10-01 Changes: - Added some tooltips. Bugfixes: - Fixed `mov out1 0`, which was introduced in v0.3.1
Version: 0.3.2 Date: 2020-09-30 Bugfixes: - Fixed disconnected memory channel output error (https://discordapp.com/channels/705695217512349768/749991013950554233/760774462219485206). - Fixed `xmov m1 green` always used red input.
Version: 0.3.1 Date: 2020-09-29 Features: - Added `xmin`, `xmax`, `xavg` mnemonics. - Added `fim` mnemonic. - Added `rnd` mnemonic (https://mods.factorio.com/mod/fcpu/discussion/5f70ee95fdf18a7b9c41d0d1). - Added `fract`, `floor`, `round`, `ceil` math mnemonics. Changes: - Performance improvements for signal get\set. - Deffer power check once in 10 ticks. - Increased program lines from 64 up to 99. Bugfixes: - Fixed broken `clr outN`. - Fixed `hlt` interrupt handling while sleeping. - Fixed `stp` interrupt handling while sleeping (explicit skip sleep instruction).
Version: 0.3.0 Date: 2020-09-25 Features: - Added memory viewer. - Added GUI refresh rate setting. - Added `btr`, `btg` mnemonics. - Added SIMD mnemonics. Changes: - Added disabled state into blueprint. - fCPU program now saved in tags. No more `fcpu-imposter` entities needed. Please update your blueprints. - Better performance on repeated state changes (hlt, run, hlt...) by external signals. Bugfixes: - Escape key handling. - The Pause/Stop button now correctly displays the reset status. - Correctly skips empty instructions and comments. - Fixed on/off switch, ipc register mess. When turned on, the program runs if it is in a reset state. - If there is no energy in the mains (accumulator), the fCPU stops until there is enough energy in the mains. - Program and state are not removed after fCPU crash. - Improved tick handling with `for_n_of`.
Version: 0.2.14 Date: 2020-09-24 Bugfixes: - Possible fix for surface cloning (https://mods.factorio.com/mod/fcpu/discussion/5f6a720161a727b5e735e6af)
Version: 0.2.13 Date: 2020-09-03 Changes: - `out` should be replaced with explicit `out1`, except for `clr out` which is correct. Bugfixes: - `bas`, `bad` was accidentally inverted. - `crl out` now clears all output signals.
Version: 0.2.12 Date: 2020-08-31 Features: - Added test and jump mnemonics (https://mods.factorio.com/mod/fcpu/discussion/5f49bc5bc5438f3510d94409). Bugfixes: - Signed numbers with signals parse (https://mods.factorio.com/mod/fcpu/discussion/5f4a5ac5c5438f3510e60ea9).
Version: 0.2.11 Date: 2020-08-27 Bugfixes: - Show correct error message when trying to use invalid signal.
Version: 0.2.10 Date: 2020-08-27 Features: - Added error line coloring. Bugfixes: - Typo introduced in v0.2.9 .
Version: 0.2.9 Date: 2020-08-26 Changes: - Cleaned-up fCPU state and moved some of it into player_data. Bugfixes: - Closing widget with `E` now do not open Character widget. - Infinity value handling (https://mods.factorio.com/mod/fcpu/discussion/5f4692c016d864df7ac0b531).
Version: 0.2.8 Date: 2020-08-25 Features: - Added Booktorio wiki support. Changes: - Added sections for Informatron.
Version: 0.2.7 Date: 2020-08-24 Features: - Added Informatron support (https://mods.factorio.com/mod/informatron). Changes: - Use monospace font for `ru` language.
Version: 0.2.6 Date: 2020-08-23 Feature: - Added support for Picker Dollies mod (https://mods.factorio.com/mod/PickerDollies).
Version: 0.2.5 Date: 2020-08-23 Changes: - Increased output registers count (128 -> 256). Features: - Error state (`ERR`) now report `[virtual-signal=signal-fcpu-error]` signal to output wires. - Added russian docs (see `readme.ru.md`).
Version: 0.2.4 Date: 2020-08-22 Changes: - Allow `ssv`, `sst` on output registers. Bugfixes: - Input control-signal priority now handled properly. - Restore run state of fCPU after blueprint stamp.
Version: 0.2.3 Date: 2020-08-21 Bugfixes: - Skip openning widget while connecting wires.
Version: 0.2.2 Date: 2020-08-21 Bugfixes: - Fixed custom signal names parsing.
Version: 0.2.1 Date: 2020-08-20 Features: - Added copy, paste and insert signal buttons. Bugfixes: - Added missed l10n strings.
Version: 0.2.0 Date: 2020-08-20 Features: - Added support for output multiple signals simultaneously. - Added operation state display in Alt mode. - Added shorthand for clearing outputs `clr out`. Changes: - `emit` opcode now set `out1` register. - `out1` register replaced with `out1` (`out` is deprecated and will be reserved for SIMD instructions later). - Updated unit-tests with new output mechanics. Bugfixes: - Use default `chanagelog.txt` sections naming. - Updated `readme.md`. - Minor changes and improvements.
Version: 0.1.14 Date: 2020-08-18 Bugfixes: - The program is saved when you destroy the fCPU and then restore it from the ghost.
Version: 0.1.13 Date: 2020-08-18 Changes: - Updated to Factorio v1.0 . Bugfixes: - Correct header title while not in debug. - Minor fixes and optimizations.
Version: 0.1.12 Date: 2020-08-17 Bugfixes: - Handle non specified `event.entity` (https://mods.factorio.com/mod/fcpu/discussion/5f3a002784e738a1cc130cd3) .
Version: 0.1.11 Date: 2020-08-17 Bugfixes: - `r@1` aliases now parsed correctly.
Version: 0.1.10 Date: 2020-08-16 Changes: - New thumbnail, thanks Sapfy.
Version: 0.1.9 Date: 2020-08-16 Bugfixes: - handling for `script_raised_*` (https://mods.factorio.com/mod/fcpu/discussion/5f36b0d2501de5727f3f1b03), see (https://mods.factorio.com/mod/Construction_Drones/discussion/5e35543fee8592000bbab6ee) .
Version: 0.1.8 Date: 2020-08-14 Bugfixes: - fig, fir (https://mods.factorio.com/mod/fcpu/discussion/5f36a84b9b7aaf3d992d8d8f) .
Version: 0.1.7 Date: 2020-08-13 Features: - Added new comment style `;`. Changes: - Program size increased up to 64 lines. Bugfixes: - tas, tad (https://mods.factorio.com/mod/fcpu/discussion/5f3596e989786166f267f2d7) .
Version: 0.1.6 Date: 2020-08-13 Features: - Registers now support aliases. `mov r1 123` is the same as `mov reg1 123` and so on. Changes: - Case insensitive source code.
Version: 0.1.5 Date: 2020-08-12 Bugfixes: - Correct gui layout for languages with bold monospaced font.
Version: 0.1.4 Date: 2020-08-11 Bugfixes: - Inline comments # freeze a game. - `[virtual-signal=...]` properly handled.
Version: 0.1.3 Date: 2020-08-09 Features: - Added pause button. - New control button graphics. Changes: - Disabling fCPU will clear its output signals. Bugfixes: - Fixed fixedpoint operations.
Version: 0.1.2 Date: 2020-08-09 Bugfixes: - Fixed clr.
Version: 0.1.1 Date: 2020-08-09 Changes: - Renamed opcode `out` to `emit`. Bugfixes: - Fixed crash on division by zero.
Version: 0.1.0 Date: 2020-08-09 Features: - Initial release. - Basic documentation.
Version: 0.0.2 Date: 2020-07-12 Features: - Added new opcodes. - Added settings widget. - Added english and russian localization. - Added frame handling limit.
Version: 0.0.1 Date: 2020-07-01 Features: - First prototype. - Added blueprint save. - Added copy & paste ability.