Digital Circuit Simulator
https://makingartstudios.itch.io/dls
A downloadable game for Windows, Mac OS X, and Linux
Welcome to DLS, the digital logic simulator game.
TL;DR: Jump directly to the download section.
To get an idea about what's possible to build with DLS, see our github repository of schematics
DISCLAIMER: This is an alpha version of the game. Also, this is a toy logic simulator. You might find out that certain circuits, which should work correctly in real life, are reported as unstable in DLS. We'll be glad to test those circuits if you have the time to send them to us, in order to fix the simulator.
Graphics/UI: Antonis Drygiannakis
IMPORTANT: The current version of the game is free. Nonetheless, itch.io gives you the freedom to buy us a cup of coffee or a beer, if you find the game interesting and you want to see it evolve. It's recommended to try out the game first, to make sure it works correctly on your machine, before giving us your money! :)
Thank you and have fun!
https://makingartstudios.itch.io/dls
A downloadable game for Windows, Mac OS X, and Linux
TL;DR: Jump directly to the download section.
Intro
Currently the game works only in sandbox mode. Select between several build-in components to create complex circuits. Build-in components include:- Various types of I/O ports (numeric, LEDs, pixel displays, 7-segment displays, push buttons, etc.)
- Basic gates (AND, OR, NAND, NOR, etc.) with configurable amount of inputs and bit sizes (up to 16 bits)
- ROMs with variable sizes (from 2 x 1-bit to 64k x 64-bit)
To get an idea about what's possible to build with DLS, see our github repository of schematics
DISCLAIMER: This is an alpha version of the game. Also, this is a toy logic simulator. You might find out that certain circuits, which should work correctly in real life, are reported as unstable in DLS. We'll be glad to test those circuits if you have the time to send them to us, in order to fix the simulator.
Input
DLS requires a keyboard and a mouse.- Left mouse button: Select, pick and drag (+Ctrl = clone selected gate/IC), add wire points, change values.
- Right mouse button: Cancel action, remove last wire point, click and drag on grid to pan the view, gate context menu.
- Mouse wheel: Cursor on grid => Zoom in/out, cursor on input port's value => change value.
- Keyboard: WSAD or arrow keys to pan, Q/Z or numpad +/- to zoom, R to rotate gates and bus splitters/mergers..
Technical
Some technical details regarding the current version of the game/simulator.- This is an event-driven unit delay simulator. Event-driven means that a gate is simulated only if one of its inputs change value. Unit delay means that all gates have the same delay, which is supposed to be 1, in arbitrary time units.
- Simulation is currently executed on the main thread. If your circuit is too complex, DLS might end up hanging until the simulation is finished. This will be fixed in a future version.
- Due to 2, a circuit is reported as unstable if its main event loop executes more than 1000 iterations.
- Uses bgfx and nanovg for rendering.
Third party libraries
DLS uses the following free software (in no particular order):- GLFW - An OpenGL library (http://www.glfw.org/)
- bgfx - Cross-platform rendering library (https://github.com/bkaradzic/bgfx)
- nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. (https://github.com/memononen/nanovg)
- zange - A single header ANSI C JSON parser (https://github.com/vurtun/zange)
- CrashRpt - A crash reporting system for Windows applications (http://crashrpt.sourceforge.net/)
- LuaJIT - a Just-In-Time Compiler for Lua (http://luajit.org/)
- Icons from Font Awesome - the iconic font and CSS toolkit (https://fortawesome.github.io/Font-Awesome/)
- Upheaval font (http://www.dafont.com/upheaval.font), Roboto font (http://www.dafont.com/roboto.font), Anonymous Pro Minus font (http://www.marksimonson.com/fonts/view/anonymous-p...)
Credits
Programming, testing: Jim Drygiannakis (@jdryg)Graphics/UI: Antonis Drygiannakis
Release history
v0.9.0 (2016-07-16)- NEW: Wider ROMs (word size up to 64 bits)
- NEW: Multi-bit multi- input standard gates (right click on the toolbar button to configure gate)
- NEW: Load/save ROM data from/to external files.
- NEW: 7-segment displays
- FIX: Changing any window related option which caused bgfx to be reset, ended up crashing the game if there was previously a display in the circuit and a display was added after the reset.
IMPORTANT: The current version of the game is free. Nonetheless, itch.io gives you the freedom to buy us a cup of coffee or a beer, if you find the game interesting and you want to see it evolve. It's recommended to try out the game first, to make sure it works correctly on your machine, before giving us your money! :)
Thank you and have fun!
Comments
Post a Comment