Giter VIP home page Giter VIP logo

digital-logic-sim-ce's Introduction

Digital-Logic-Sim Community Edition

This version includes plenty of new features, including:

  • New built-in chips like
    • Custom Hz Clock
    • 8ร—8 Display
    • Buses
    • Persistent HDD
    • And more!
  • Zoom in/out and zoom helper for easier navigation
  • View and edit already saved chips
    • Change internals
    • Rename chips
  • Chip folders
    • Create & delete folders
    • Assign chips to folders
    • Move chips between folders
    • Rename folders
  • Improved performance
  • Spawn groups of pins
  • Import/Export chips
  • Change thing's size
  • VSync & fps target
  • Improved UI

To download this version, head to the latest release, download, unzip and play!

This is based on the original Digital Logic Sim by SebLague at SebLague/Digital-Logic-Sim

Watch video

Simulation Screenshot

Similar projects:

Contributors

digital-logic-sim-ce's People

Contributors

aox0 avatar gml16 avatar restyled-commits avatar sagitarious12 avatar seblague avatar swisscorepy avatar t4ccer avatar thecatgentlemen avatar tigralt avatar tqmatvey avatar vitobarra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

digital-logic-sim-ce's Issues

Bus wires and wire design

If a chip is saved and then edited again, some information is lost or is not loaded correctly.
On the one hand, each input or output is always displayed as simple, regardless of which bus was set beforehand.
On the other hand, the wire design is not displayed correctly. Which in itself doesn't matter for the functionality of the chip, but with more complicated larger chips it makes it difficult to change things. However, this error only occurs if two or more wire go out from a starting point.

Digital.Logic.Sim.2022-08-31.10-41-36.mp4

It would also be cool if you could change and see the value for bus wires. Otherwise you have to create a lot of inputs again at some point.

A Travesty! (First bug encountered V0.39, yes I compiled it)

A very unfortunate event has occurred in Lego City today, it with a heavy heart that I must announce... The ability to change from simple pin type does not work :p I didn't really do anything special to encounter this, all I was doing was making "new" encoders (basically just a passthrough the the already existing ones so I can rename them,) but in the process I learned that the ability to change pin type is broken. This is completely- fine. Please fix it whenever you can, but I don't know that anybody's day will be ruined by this fact.

7-Segment Display

i could not find the 7-Segment diplay, please add or make visible

Linux version

Hello sir,
could you make a downloadable linux version please ?

Allow direct pin bus modification

Tbh, Im not really comfortable with the fact that you have to decode a bus pin to be able to modify it
Cant there be a binary array panel on each bus pin menu that we can modify, (and a binary array panel on output pins, unmodifiable)? that would really help.

corrupted save file (?)

i have a save file where i made a lot of stuff, like 8-bit registers, 8-bit adders, etc, after some hard work
however, after a couple of days, i got a log window saying that "2-BIT RAM" doesn't exist (even though it does in the save files)
because the game thinks so, then it says that it's not possible to load the "4-BIT RAM", "8-BIT RAM", and "16-BIT RAM" chips. however, the chips "4-BIT RAM" and "8-BIT RAM" still exist in the chip selection footer, even "2-BIT RAM", but not "16-BIT RAM".

i haven't tested the chips, however you can get the save file from this:
files.zip

Ux General Issues

Digital_Logic_Sim_7tFXRloBgI

I was pressing return/ enter when I was highlighting the "X" too.

Windows x64
Intel i5 9th
16GB RAM

Cannot delete wires unless I create a new one

When a chip is not selected and I hover on a wire and try to delete it with backspace, nothing happens. The only way to delete it is by left clicking on it and then pressing backspace twice.

Build download

Please release a build that i can download so i can use this awesome fork.

Chips not saving properly when chip doesn't have input AND output.

Expanding on issue #48, when chips don't have an input and an output, not only do connections from such chips get lost, but in my experience, some gates within those chips cease to function entirely. I've created a 2 minute demo video showing this bug in action. I could be wrong about the reasoning for this, but I don't believe this to be the case.

What I neglected to show in the video is that, upon viewing the chip, the OR gate, assuming it had any signals being sent in, would also not provide an output unless I deleted it and placed a new one.

Edit: I've replaced the video link with a rendered version so that the audio track for my microphone is included.

Minor UX Improvements

Currently the scroll speed for zooming in, and also for scrolling in the "load save selection" are both extremely slow, even at max speed. Basically I think the speed should be a bit faster (1.5x-2x) camera move speed seems fine

Bug - Grouped Values UI

image

Getting grouped values to appear can take some poking and prodding. See above image where I have managed to get one to display and one to not. If there are rules to dictate this it would be nice if they were clear.

Originally posted by @SourSpoon in #28 (comment)

Key input

Hello,
Thanks for the great fork!
Banderas' fork has a key input. This is the only big feature not supported in this fork, and it would be great if it could be added! I could try to copy it from there, since they're based on the same project.

Enhancement - Give Options to remove some of the pre-saved chips

Hi,

It would be good to have an option where we can turn off the basic pre-saved chips.

This would allow people to build XOR & OR themselves.

I am interested in deploying this to a computer suite at a highschool, and it would be important that they learn what these are made up of.

ctrl-z

creating an editing history to enable ctrl-z / ctrl-^-z to undo / redo mistakes would be great

FPS target gets reset on app startup

By default, the FPS target is set to 30 (3 in Registry). When you change the value, it gets updated in the Registry. However, relaunching the app will cause the FPS target in the Registry to be overwritten with the default value, instead of reading the value that was present.

Screenshots:
[Default value]
image

[Changed value]
image

[Restart app]
image

Chip import crash with old saves

Trying to import a chip from a very old save straight up crashes the game.
Does not happen on newer game saves. (Created with v0.38 I suspect)

Edited chips do not load IO pin wire type correctly.

IO pins for viewed chips are always Simple, regardless of what the actual chip has. Loaded chips in the chip selector still load correctly, it's only during viewing and resaving that issues arise.

Pins can be changed back to their correct values before updating designs to preserve correctness, but resaving chips with invalid wire connections is possible.

"custom display chips" concept

I had this idea a while ago, I really like the idea of the disp8 chip; however, there is no way for it to be used inside of another chip (technically you can; however, the only reason to do so is a sort of "saving" progress) once you save a chip with a disp8 chip inside of it, your new chip will not have the features of the disp8 (like a display) so I would like to suggest that when you save a chip that has a disp8 chip in it the saved chip will gain a display that basically just broadcasts (shows, displays, whatever you want to call it) the information on the one inside of it.

D latch not working

I'm going to leave some videos below, but I have made a d latch using the sim, and when I set it to be its own chip, it does not work. It works fine Inside the editing mode, but when I use it as its own chip, it doesn't work. Like the output just never shows.
I am on macOS Monterey.

Edit: whats even more confusing is that they work inside already created chips. This is really weird wondering if anyone could help me. thanks!

Screen.Recording.2023-07-08.at.12.26.19.AM.mov

BUSes reset to Simple when editing chips

To replicate:
1: Create a chip that has 8-bit BUSes as input and/or output
2: Save this chip
3: Rightclick on the chip on the bar below and click View
4: The BUSes will have reset.

disallow using chips that use the current chip `c` as a building block when editing `c`

do catch recursive loops early on so it wont cause problems later on

in my case i just finished building a 8by8 bit multiplier but then noticed i was currently editing my one-bit adder, so the one bit adder was now a 8by8 multiplier;
as i didnt want to loose my multiplier and couldnt figure out how to undo that i paniced and tried to export it quickly but through the recursive loop that couldnt finish and now i cant open my save anymore and lost it all :/ damn :D

so yeah disallowing recursive placement early on would be useful ;)

How to use Disp8?

Maybe all you electrical engineers out there already know this, but have no idea how to use the Disp8 component. Any schematics? or a point in the right direction?

1Hz clock forgets its connections when compiled

I made a simple togglable clock by sticking an input line and a 1Hz clock into an AND, which works until it is saved and exported. The new clock chip then does nothing. Right clicking it and viewing it shows me that the wire connecting the clock to the gate has vanished, and I think the input line becomes bugged too.

This is with 0.39.1 x86 64bit on Windows.

Demo of the chip before saving:

image

image

Compiled chip not working (just take my word that it isn't toggling on/off here obviously its hard to demo without video):

image

Clearing that and then going to view the "TOGGLE CLOCK" chip:

connection vanished:
image

and finally, the input wire being bugged:
image

"Comp" Folder disabled

Hi,

Sometimes the comp folder is disabled occasionally

image

image

Its really good that you can open up this folder and view what goes into making a half adder and full adder. But sometimes this folder is disabled, what's the criteria for it to be enabled?

Thanks

Modding?

Been a "hot minute" since I last said or did anything, but I wanted to suggest some form of modding for the game. I think it would allow for a lot of potential, since modders could implement fixes for bugs they find (and these could be used as example for possibly fixing the bug in the base game) modders would also be able to add new custom chips that do things that might not fit in the base game, and QoL things

Be compliant with Sebastian's community project guidelines

We are missing some of this points

If you've created a fork of the Digital Logic Sim project, and plan on distributing it, please follow these guidelines:

  1. In the project settings, change the Company Name to something other than "SebastianLague".
  2. Do not write save files into the same location as the official version (changing the company name will do this by default).
  3. The project must be free to download (accepting donations is fine), and the source code must be available.
  4. There should be some indication in the main menu that it's not the official version.

Thank you!

Add tri-state buffers and buses

Hi,
It would be great if we could have tri state buffers and buses, like the new DLS from Sebastian has. This version has bundled cables, displays and key inputs, so I would rather use this version, but tri-state buffers lake from the game.
Could someone tell me how to add new built-in chips in unity too? I cannot find the script that loads the chips and can therefore not load my custom built-in chip.
Thanks!

more wire functionality

what would be very nice is to be able to delete a wire seperately instead of deleting a chip, replacing it with the same one, and putting the other wires back. because if you mess up only one wire, you have to start from the beggining.

other features that aren't nessesary but would still be cool are wire colors, introduced in the original version of DLS.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.