BrowserLogic/README.md

180 lines
5.2 KiB
Markdown

# MatCat BrowserLogic
MatCat BrowserLogic https://www.logic.parts/ is a logic simulator written purely in HTML5 / Javascript using 2D Canvas.
## Status
This simulator is in extremely early stages, it is not even Alpha at this point but early development. Outside contribution is welcome, please contact me in #LogicParts on Freenode IRC network.
## License
To be decided, but at this moment this code is open source and free to use for non-commercial uses.
LZ-String, Copyright 2013 pieroxy under MIT license https://github.com/pieroxy/lz-string/blob/master/LICENSE
## Changelog
### 0.4.8
* Fixed bug where disconnects where not propagating properly
### 0.4.7
* Added LZW compression to save files (can be disabled on save)
* Settings are now saved persistently
* Added a basic help window, accessible via the top menu Help->Help, or pressing F1.
* Hovering over an output will now hilight the links from it
* Fixed a bug where keybindings could conflict while typing in textboxes
### 0.4.6
* Added a new keybinding system, and added many keyboard shortcuts (look in menu)
* Fixed a bug where a button would stay on off the mouse was moved away from it while being eld down
* Fixed a bug where you could link from elements with no outouts
### 0.4.5
* Keypad now supports either Switch, or Button mode for Function keys, also has Clear output that pulses for 100ms when Clr is pressed
* Changed max input count for basic elements to 64 (from 12)
### 0.4.4
* Fixed a delinking bug
* Fixed a bug where selection only worked in certain directions
### 0.4.3
* There is now multi-selection, including movement, deleting, disconnecting, etc.
### 0.4.2
* Added Hex keypad with 4 bit output, also has 3 function keys
### 0.4.1
* Fixed a signal propogation bug with IC's
### 0.4.0
* You can now pan the work area, hold ctrl key while mouse dragging an empty area.
* Right Click Menu
* If an item is selected you can delete or disconnect them
* Top menu
* New / Open / Save moved to File menu
* You can now disable connection drawing, or put them above or below elements in View menu
* There is now a pan to center feature in View menu
* Create IC has been moved to Tools menu
* Help menu -> About opens the Welcome Window
* Save dialog
* Fixed various small bugs
### 0.3.10
* Added BCD and Decimal options to the 4 bit output display, as well as bit labels in inputs
### 0.3.9
* Added grid alignment, hold CTRL key while moving to get pixel level positioning.
* Fixed property restoration issue with labels on loading a save
### 0.3.8
* Added labels! You can specify the text, size, and color
### 0.3.7
* Added 4 bit display! Currently shows hex format
* Fixed a bug with flip flop save states for connections
### 0.3.6
* Fixed a bug where flip flops weren't firing output changes when only !Q changed.
### 0.3.5
* Fixed a bug where newly linked objects weren't being polled to the proper output
### 0.3.4
* Added Flip-Flops! There are 4 to choose from, JK, SR, D, and T!
### 0.3.3
* Fixed a bug that crashed the engine when attempting to place an IC with no inputs
### 0.3.2
* Added IC Element, allows for converting a logic design to an IC for use in designs.
* Added IC Input and IC Output which allow for external connections when a design is used as an IC
* Added a New button for creating a new design
### 0.3.1
* Toolbox is now dynamically created and categorized
* The delete button is gone for now (use delete key on keyboard), it will come back when toolbar is added.
### 0.3.0
* Saving / Loading of designs
* New Element: Buffer, allows for construction of circuits that would otherwise be recursive
* Added pulse count to the delay block printout
* Fixed grid draw bug
### 0.2.12
* Fixed floating active link when deleting an element while linking
* Fixed the delay element so that it properly buffers all input pulses
### 0.2.11
* Added Delay element
### 0.2.10
* New elements will now do overlap detection on placement
* Newly placed elements will now be selected
### 0.2.9
* Active linking is now drawn with quadratic curves
* Links can now be deleted by simply trying to link the same link again
* Added pulse element
* Clock element now shows countdown in ms to next state change
### 0.2.8
* New elements now spawn in the center
* Added button element
* Changed switch graphical look
### 0.2.7
* Added welcome screen window
### 0.2.6
* Added background grid
* Logic elements now have proper logic shapes
### 0.2.5
* Fixed clock sync issue when disabled
* Added recursive detection on logic to prevent runaway oscillations
* Fixed click alignment on single input elements
### 0.2.4
* Brought connections to foreground to make them more obvious in less then ideal layouts
* Resized logic elements and positions I/O better
* Logic elements will now grow or shrink in size based on I/O
* Made selection box transparent
### 0.2.3
* Fixed bug where timer isn't removed when clock is deleted
### 0.2.2
* Fixed freaking out inputs on some input values
* Quadratic CURVES! Links now look MUCH nicer :)
### 0.2.1
* Fixed input property constraints on elements
* Added NOT gate
### 0.2.0
* Switched to a dark theme
* Added left hand toolbar
* Linking can now be done by clicking on an output then an input
* Added new element: Clock
### 0.1.0
Initial public release.