Skip to content

Releases: VincentFoulon80/virt-ic

0.5.2

24 Mar 23:58
64c12c0
Compare
Choose a tag to compare

🆕 Added

  • Extend example, that demonstrates how to extend the built-in ChipSet with our own custom chips

🔨 Changed

  • Deprecated ChipType, which has been renamed to ChipSet to clarify its purpose.

0.5.1

24 Mar 20:16
0926a7b
Compare
Choose a tag to compare
Update REAMDE.md

0.5.0

24 Mar 20:04
28052a9
Compare
Choose a tag to compare

The entire library has been rewritten from scratch in order to ease the use of this crate, remove all those Rc<RefCell> that were degrading the readability of your code.

Thus, virt-ic up before 0.5.0 is completely incompatible with newer versions.

0.3.0

14 Jun 11:14
Compare
Choose a tag to compare

Additions

  • Added get_info function to Chip trait, that'll provide generic information about the chip and with data information
  • Simplified the get_pin function, now renamed to _get_pin. The pin check is now internally tested. _get_pin will always be called with the pin parameter in range [1;pin_qty]. So your function will be required to provide one of its pin when this function is called.

0.2.1

11 Jun 21:29
Compare
Choose a tag to compare
Update version

0.2.0

11 Jun 19:14
Compare
Choose a tag to compare

Additions

  • Adding save and load functions to Board.
    In consequence, Chip trait now needs four new methods:

    • get_uuid() -> u128 : Give a unique id to maintain continuity when saving. This uuid must not maintain any information other that identity. When saving, this value will be used to link the traced pins to their respective chip.
    • get_type() -> &str : Give a unique name for the chip struct, it must be the same for every chips of the same struct. This value will be used to rebuild the correct Struct based on this name with the help of the chip factory
    • save_data() -> Vec<String> : Create a Vec of String that must contain every information you need to restore your chip to a certain state. This will be saved in the resulting file.
    • load_data(&[String]) : Using the array of String you provided in save_data , you must restore the state of your chip.

    Note that save_data and load_data are optional, but if you do not implement them their state won't be saved at all. Useful for "I'm doing it later" or "my chip don't need to save data".

  • Pin::new() now require that you provide your chip's uuid as a first parameter to keep track of which chip a Pin comes from.

  • Board can now provide you its sockets and traces, and also give you a specific socket based on the uuid of the plugged chip. This will be useful for frontend usage

0.1.3

07 Jun 11:15
Compare
Choose a tag to compare
  • Resolved some unwraps from code
  • Added documentation to modules and structs

0.1.2

07 Jun 10:13
Compare
Choose a tag to compare
Add get_pin_state and set_pin_state to Chip + rewrote ram test with c…

0.1.1

06 Jun 22:30
Compare
Choose a tag to compare
  • Add Readme to cargo.toml
  • Factorial of 5 instead of 4

0.1.0

06 Jun 22:06
Compare
Choose a tag to compare

Features

  • Create a Board structure and add socket and traces to it
  • Connect Chips into Sockets and link their Pins with Traces
  • Run the chips to emulates them
  • Built-in Chips : Generator, Button, Clock100Hz, GateOr, GateAnd, GateNot, Ram256B, Rom256B, SimpleCPU