Blog

This website was launched to support the LogicSimX software in January 2024.

Implementing Mods and Premium Features

2024-04-05

Since launching Logic Simulator 2 there has been 333 downloads so far which is great and $25 worth of support contributions.

I want to make this software very popular and useful, but at the same time get some income from it to offset the huge amount of effort that it takes me as I work on it whilst having little income coming in.

My big idea is to have a Turbo version and a Standard version where they have the same features except that the Turbo version uses threads to run simulations at the maximum speed according to the CPU where there is a separation between the UI/Visual display (running at 60 FPS on the main thread) and the evaluation of the logic (running flat out on another CPU core) of the simulated circuit.

So I can charge a price for the Turbo version to consumers. The benefit of using this version will be when running programs with computer circuits. The source code will remain open source.

Also, I have implemented Mod support which allows for external Parts and Tools to be downloaded and installed alongside an existing installation of the software. These could be developed by the community.

My Mods are likely to be in the form of packs such as a 6502 CPU pack incorporating chips, data sheets, tools, and example code. These would be sold for a price.

I will offer these new things via Itch.io soon.

Refactoring the code to have only left to right logic level flow

2024-01-16

In version 1 of the simulator there was a need to direct inputs from right to left for say input to a series of 7-segment displays. Now that need is not required and the code to support that is annoying to maintain.

This became more apparent as I began to implement sorting of wire signal propagation to achieve realistic ordering of signal propagation over a number of connections from a pin. This gets messy if you have to consider bidirectional signal flow.

So currently I am stripping this feature out and then will ensure that the software behaves correctly before completing the sorting of signal processing and removing the dual methods of handling connections internally.

This should result in more efficient and simpler code.