Program suggestions
Posted: Sat Sep 21, 2013 6:12 pm
Hi there. First off, thanks for writing such an awesome program. I've been having a lot of fun designing digital logic circuits. I've been playing with a 16-bit CPU in LogicCircuit, and it's coming along well, but in my time in the program I've found some things that could be handy if implemented, if you're interested.
- When CTRL-clicking to select multiple items, if you miss-click (which is easy to do with wires) then everything you've selected so far is cleared and you have to start again. It'd improve things if CTRL-clicking the background does nothing.
- I've found the wire end-points can be quite fiddly to select. Quite often I've found myself dragging the wire rather than the point. Sometimes I don't even notice I've done that if the wire is long and goes off-screen. I'm not sure how this could be improved though.
- Copy-pasting a wire network can often cause the pasted network to connect in various places to the copied network. Even shift-dragging won't separate them (which it does with components). Maybe have a mode where you can paste directly under the mouse pointer?
- A single-step mode would be useful, say a key that toggles the clock manually. Currently I place a manual clock line in all my components and wire them up to a master clock which I can replace with a push-button when I need to single-step. This isn't optimal.
- When the circuit is running, you can hover the mouse over a component or wire and get its description. It'd be a major help for debugging if, for wires, it could display its current value when you hover over it. Currently if I suspect an issue with a signal on a particular wire I have to stop the circuit, wire up a probe, then restart and cycle to the place I had the problem, fix it, then delete the probe.
- Activating power (CTRL-w) seems to only power up the current circuit displayed on-screen. This is good when testing sub-components. However, when deep in the bowels of a circuit I will often want to run the entire device from the top-level to see if the sub-circuit is performing properly as part of the main circuit. Currently to do this I need to select the top-level circuit, activate power there, then go back to the device I'm looking at. A key to power on a "main" circuit from wherever you are would make this easier.
- Terminal/teletype component. Simulates a little terminal screen. Takes an ASCII character and emits it to a small screen. Admittedly this one is really only useful for CPU projects, but trying to emulate it with the LED matrix was slow and cumbersome. Very cool would be actually simulating a VDU which would allow the creation of video sequencers, but that's a very tricky thing to make.