Popular x64 Tags

DSPatch 6.03

Sponsored links:
license: Open Source
downloads: 352
size: 2.60 MB
updated: 2019-04-08

Add to Basket
x64 compatible software

64-bit download
Marcus Tomlinson
A circuit is comprised of a collection of interconnected components. Each component has 2 signal buses, on one end of the component there are input pins (input bus), and on the other end there are output pins (output bus). Components within the circuit are connected to each other via wires. Each wire carries a signal from one component’s output pin to another component’s input pin. A circuit can also comprise of interconnected circuits (E.g. ICs). In this case a circuit acts as a component within another circuit.

The nouns above are the classes we require in order to model our circuit in code. Each component will contain an array of input wires. Each wire contains references to the source component, the source output signal, and the destination input signal. The signal bus class will contain an array of signals. Lastly, the circuit class is derived from component and will contain an array of internal components.

The component class will have a Tick() method responsible for acquiring its next set of inputs from its input wires and populating the component’s input bus. To insure that these inputs are up-to-date, the dependent component first calls all of its input component’s Tick() methods –hence recursively called in all components going backward through the circuit. The acquired input bus is then passed into a pure virtual method: Process() -it is the responsibility of the (derived) component creator to implement this virtual function. The Process() method has 2 input parameters: the input bus and the output bus. This method’s purpose is to pull its required inputs out of the input bus, process these inputs, and populate the output bus with the results. These resultant outputs in the output bus are then acquired by dependent components via their Tick() functions.
Component input and output buses (signal count, string IDs etc.) will be configurable by derived component classes via protected base methods, whilst input wires to a component will be routable via public component class methods.
The component class will also have a Reset() method. For optimization as well as to avoid feedback deadlocks, a component needs to be aware of whether or not it has already ticked during a circuit traversal so that if called to Tick() again, it can ignore the call. The Reset() method informs the component that the last circuit traversal has completed and hence can execute the next Tick() request.


Automatic branch synchronization - The result of data diverging across parallel branches is guaranteed to arrive synchronized at a converging point.
Component plugins - Package components into plugins to be dynamically loaded into other host applications.
Cross-platform - DSPatch is built and tested daily on Linux, Mac and Windows. Here we see DSPatch running flawlessly on a BeagleBone!
Easy-to-use object-oriented API - DSPatch is modelled around real-world circuit entities and concepts, making code more readable and easy to understand.
Feedback loops - Create true closed-circuit systems by feeding resultant signals back into previous component inputs.
High performance parallel processing - Circuits use advanced multi-threaded scheduling to maximize dataflow efficiency across parallel branches.
High performance stream processing - Utilize multi-buffering in stream processing circuits to further boost dataflow efficiency.
Optimised signal transfers - Wherever possible, data between components is transferred via move rather than copy.
Run-time adaptive signal types - Component inputs can accept values of run-time varying types allowing you to create more flexible, multi-purpose component processes.
Run-time circuit wiring - Connect and disconnect wires on the fly whilst maintaining steady dataflow through the system.

User Rating: 1.5 (2 votes)

x64 compatible software
OS: Windows XP, Windows Vista, Windows Vista x64, Windows 7, Windows 7 x64, Windows 8, Windows 8 x64, Windows 10, Windows 10 x64

Add Your Review or 64-bit Compatibility Report

Your Name:
Software Version:
Security Code:

Top Components & Libraries 64-bit downloads

Zlib 1.2.11   
A general purpose data compression library

Oracle Data Access Components
Oracle Data Access Components 11.0   
Delphi, C++Builder and Lazarus component library for direct access to Oracle
Shareware | $199.95

COPC32 screenshot
COPC32 1.7   
A useful component you can integrate in your software development projects
Trialware | $225.00

PDFsharp 1.31   
Designed to help you create and modify PDF documents programmatically

Silverfrost FTN95
Silverfrost FTN95 8.30   
Create console based, conventional Windows and Microsoft .NET applications

A .net wrapper for the webkit engine based on the WebKit.NET 0.5 project
Open Source

wxWidgets for Windows
wxWidgets for Windows 3.1.2   
wxWidgets is a C++ library that lets developers create applications
Open Source

VideoCap Pro SDK ActiveX
VideoCap Pro SDK ActiveX 4.0   
A useful utility that can capture Video from capture card
Shareware | $170.00

ID3v2 Library
ID3v2 Library   
ID3v1 and ID3v2 Taging Library (.dll) for use in Win32 software
Shareware | $67.00

Members area

Remember me

Sign Up  |  Forgot Password?

Top 64-bit Downloads

Top Downloads

64-bit Tags