-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 74fad50
Showing
870 changed files
with
95,530 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# Folders | ||
/out | ||
/.idea | ||
/target | ||
/src/test | ||
|
||
# Build Files | ||
dependency-reduced-pom.xml | ||
|
||
# Project Files | ||
*.iml | ||
*.circ |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
<!-- HEADER --> | ||
<h1 align="center"> | ||
<br> | ||
<a href=""><img src="src/main/resources/logisim/img/logisim-icon-128.png" alt="Logisim Icon"></a> | ||
<br> | ||
Logisim | ||
<br> | ||
</h1> | ||
|
||
<h4 align="center">A backup of the original Logisim circuit simulator.</h4> | ||
|
||
|
||
<!-- SHIELDS --> | ||
<p align="center"> | ||
<!-- Issues --> | ||
<a href="https://img.shields.io/github/issues/dadler64/Logisim"> | ||
<img src="https://img.shields.io/github/issues/dadler64/Logisim.svg" | ||
alt="Logisim Issues"> | ||
</a> | ||
<!-- License --> | ||
<a href="https://img.shields.io/github/license/dadler64/Logisim"> | ||
<img src="https://img.shields.io/github/license/dadler64/Logisim.svg" | ||
alt="Logisim License"> | ||
</a> | ||
<!-- Codacy Grade --> | ||
|
||
</p> | ||
|
||
<!-- LINKS --> | ||
<p align="center"> | ||
<a href="#about">About</a> • | ||
<a href="#features">Features</a> • | ||
<a href="#how-to-use">How To Use</a> • | ||
<a href="#contributing">Contributing</a> | ||
</p> | ||
|
||
<!-- SCREENSHOT --> | ||
<!-- <h4 align="center"> | ||
<br> | ||
<a href=""><img src="src/main/resources/github/screenshot_v273.png" alt="Logisim Screenshot"></a> | ||
<br> | ||
Screenshot of Logisim v2.7.3 running on Windows | ||
<br> | ||
</h4> --> | ||
|
||
## About | ||
|
||
This is a backup of the original Logisim source code which can be found on the original [Logisim website](http://www.cburch.com/logisim/). | ||
|
||
Logisim is an educational tool for designing and simulating digital logic circuits. With its simple toolbar interface and simulation of circuits as you build them, it is simple enough to facilitate learning the most basic concepts related to logic circuits. With the capacity to build larger circuits from smaller subcircuits, and to draw bundles of wires with a single mouse drag, Logisim can be used (and is used) to design and simulate entire CPUs for educational purposes. | ||
|
||
Logisim is used by students at colleges and universities around the world in many types of classes, ranging from a brief unit on logic in general-education computer science surveys, to computer organization courses, to full-semester courses on computer architecture. | ||
|
||
This is a continuation of the original project since original development was ceased in October of 2014. | ||
|
||
## Features | ||
|
||
* It runs on any machine supporting Java 8 or later; special versions are to be released later for MacOS X, Linux, and Windows. The cross-platform nature is important for students who have a variety of home/dorm computer systems. | ||
* The drawing interface is based on an intuitive toolbar. Color-coded wires aid in simulating and debugging a circuit. | ||
* The wiring tool draws horizontal and vertical wires, automatically connecting to components and to other wires. It's very easy to draw circuits! | ||
* Completed circuits can be saved into a file, exported to a GIF file, or printed on a printer. | ||
* Circuit layouts can be used as "subcircuits" of other circuits, allowing for hierarchical circuit design. | ||
* Included circuit components include inputs and outputs, gates, multiplexers, arithmetic circuits, flip-flops, and RAM memory. | ||
* The included "combinational analysis" module allows for conversion between circuits, truth tables, and Boolean expressions. | ||
|
||
See the [Features Status page]() on the project Wiki for information about the status of the above features as well as any additional plans for features | ||
|
||
## How To Use | ||
This project is a WIP and is not currently building correctly (see the [issues](https://github.com/dadler64/Logisim/issues)) so I recommend going to the original [Logisim website](http://www.cburch.com/logisim/) and downloading it from there until the bulds here are up and running. | ||
|
||
If you want to try your hand at running or building what is here, import the project into an IDE such as IntelliJ IDEA and build it in there using the build system provided. | ||
|
||
## Contributing | ||
|
||
For now if you would like to contribute check out any open [issues](https://github.com/dadler64/Logisim/issues) which could be resolved. |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xmlns="http://maven.apache.org/POM/4.0.0" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<artifactId>Logisim</artifactId> | ||
|
||
<build> | ||
<plugins> | ||
|
||
<!-- Maven Compiler Plugin --> | ||
<plugin> | ||
<artifactId>maven-compiler-plugin</artifactId> | ||
<configuration> | ||
<source>8</source> | ||
<target>8</target> | ||
</configuration> | ||
<executions> | ||
<!-- Replacing default-compile as it is treated specially by maven --> | ||
<execution> | ||
<id>default-compile</id> | ||
<phase>none</phase> | ||
</execution> | ||
<execution> | ||
<id>default-testCompile</id> | ||
<phase>none</phase> | ||
</execution> | ||
<execution> | ||
<goals> | ||
<goal>compile</goal> | ||
</goals> | ||
<id>compile</id> | ||
<phase>compile</phase> | ||
</execution> | ||
<execution> | ||
<goals> | ||
<goal>testCompile</goal> | ||
</goals> | ||
<id>testCompile</id> | ||
<phase>test-compile</phase> | ||
</execution> | ||
</executions> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<version>3.8.1</version> | ||
</plugin> | ||
|
||
<plugin> | ||
<artifactId>maven-shade-plugin</artifactId> | ||
<executions> | ||
<execution> | ||
<configuration> | ||
<transformers> | ||
<transformer | ||
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> | ||
<manifestEntries> | ||
<Main-Class>${main.class}</Main-Class> | ||
<!-- <Build-Number>000</Build-Number>--> | ||
</manifestEntries> | ||
</transformer> | ||
</transformers> | ||
</configuration> | ||
<goals> | ||
<goal>shade</goal> | ||
</goals> | ||
<phase>package</phase> | ||
</execution> | ||
</executions> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<version>3.2.1</version> | ||
</plugin> | ||
|
||
<plugin> | ||
<artifactId>launch4j-maven-plugin</artifactId> | ||
<executions> | ||
<execution> | ||
<configuration> | ||
<classPath> | ||
<mainClass>${main.class}</mainClass> | ||
<preCp>anything</preCp> | ||
</classPath> | ||
<downloadUrl>http://java.com/download</downloadUrl> | ||
<headerType>gui</headerType> | ||
<icon>${icon.windows}</icon> | ||
<jar> | ||
${project.build.directory}/${project.artifactId}-${project.version}.jar | ||
</jar> | ||
<jre> | ||
<jdkPreference>preferJre</jdkPreference> | ||
<minVersion>1.8.0</minVersion> | ||
</jre> | ||
<outfile>${project.build.directory}/${project.artifactId}-${project.version}.exe | ||
</outfile> | ||
<versionInfo> | ||
<companyName>${project.artifactId}</companyName> | ||
<copyright>2019 Dan Adler</copyright> | ||
<fileDescription>${project.name}</fileDescription> | ||
<fileVersion>${project.version}.0</fileVersion> | ||
<internalName>${project.artifactId}</internalName> | ||
<originalFilename>${project.artifactId}.exe</originalFilename> | ||
<productName>${project.name}</productName> | ||
<productVersion>${project.version}.0</productVersion> | ||
<txtFileVersion>${project.version}.0</txtFileVersion> | ||
<txtProductVersion>${project.version}.0</txtProductVersion> | ||
</versionInfo> | ||
</configuration> | ||
<goals> | ||
<goal>launch4j</goal> | ||
</goals> | ||
<id>l4j-clui</id> | ||
<phase>package</phase> | ||
</execution> | ||
</executions> | ||
<groupId>com.akathist.maven.plugins.launch4j</groupId> | ||
<version>1.7.25</version> | ||
</plugin> | ||
</plugins> | ||
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> | ||
|
||
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory> | ||
|
||
</build> | ||
<description>Continuation on the Logisim circuit simulator.</description> | ||
<groupId>com.cburch.logisim</groupId> | ||
|
||
<licenses> | ||
<license> | ||
<name>GNU General Public License, Version 3.0</name> | ||
<url>https://www.gnu.org/licenses/gpl-3.0.html</url> | ||
</license> | ||
</licenses> | ||
<modelVersion>4.0.0</modelVersion> | ||
<name>Logisim</name> | ||
|
||
<properties> | ||
<icon.windows>src/main/resources/logisim/img/logisim-icon.ico</icon.windows> | ||
<main.class>com.cburch.logisim.Main</main.class> | ||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
</properties> | ||
|
||
<url>https://github.com/dadler64/Logisim</url> | ||
|
||
<version>2.7.3</version> | ||
|
||
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
/* Copyright (c) 2010, Carl Burch. License information is located in the | ||
* com.cburch.logisim.Main source code and at www.cburch.com/logisim/. */ | ||
|
||
package com.cburch.draw.actions; | ||
|
||
import com.cburch.draw.model.CanvasModel; | ||
import com.cburch.draw.model.CanvasObject; | ||
import com.cburch.draw.undo.Action; | ||
import java.util.Collection; | ||
import java.util.Collections; | ||
|
||
public abstract class ModelAction extends Action { | ||
|
||
private CanvasModel model; | ||
|
||
public ModelAction(CanvasModel model) { | ||
this.model = model; | ||
} | ||
|
||
static String getShapesName(Collection<CanvasObject> coll) { | ||
if (coll.size() != 1) { | ||
return Strings.get("shapeMultiple"); | ||
} else { | ||
CanvasObject shape = coll.iterator().next(); | ||
return shape.getDisplayName(); | ||
} | ||
} | ||
|
||
public Collection<CanvasObject> getObjects() { | ||
return Collections.emptySet(); | ||
} | ||
|
||
@Override | ||
public abstract String getName(); | ||
|
||
abstract void doSub(CanvasModel model); | ||
|
||
abstract void undoSub(CanvasModel model); | ||
|
||
@Override | ||
public final void doIt() { | ||
doSub(model); | ||
} | ||
|
||
@Override | ||
public final void undo() { | ||
undoSub(model); | ||
} | ||
|
||
public CanvasModel getModel() { | ||
return model; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
/* Copyright (c) 2010, Carl Burch. License information is located in the | ||
* com.cburch.logisim.Main source code and at www.cburch.com/logisim/. */ | ||
|
||
package com.cburch.draw.actions; | ||
|
||
import com.cburch.draw.model.CanvasModel; | ||
import com.cburch.draw.model.CanvasObject; | ||
import java.util.ArrayList; | ||
import java.util.Collection; | ||
import java.util.Collections; | ||
|
||
public class ModelAddAction extends ModelAction { | ||
|
||
private ArrayList<CanvasObject> added; | ||
private int addIndex; | ||
|
||
public ModelAddAction(CanvasModel model, CanvasObject added) { | ||
this(model, Collections.singleton(added)); | ||
} | ||
|
||
public ModelAddAction(CanvasModel model, Collection<CanvasObject> added) { | ||
super(model); | ||
this.added = new ArrayList<CanvasObject>(added); | ||
this.addIndex = model.getObjectsFromBottom().size(); | ||
} | ||
|
||
public ModelAddAction(CanvasModel model, Collection<CanvasObject> added, | ||
int index) { | ||
super(model); | ||
this.added = new ArrayList<CanvasObject>(added); | ||
this.addIndex = index; | ||
} | ||
|
||
public int getDestinationIndex() { | ||
return addIndex; | ||
} | ||
|
||
@Override | ||
public Collection<CanvasObject> getObjects() { | ||
return Collections.unmodifiableList(added); | ||
} | ||
|
||
@Override | ||
public String getName() { | ||
return Strings.get("actionAdd", getShapesName(added)); | ||
} | ||
|
||
@Override | ||
void doSub(CanvasModel model) { | ||
model.addObjects(addIndex, added); | ||
} | ||
|
||
@Override | ||
void undoSub(CanvasModel model) { | ||
model.removeObjects(added); | ||
} | ||
} |
Oops, something went wrong.