This
section contains all the tools necessary to complete all the projects,
collectively known as the TECS software
suite.
-
Compatability:
All the tools contained in the TECS software suite can run as is
on both Windows and
Linux.
-
Terms
of use: The TECS software suite can be used freely and is
protected by
the GNU GPL
License.
-
Download
the TECS software suite Version 1.4b3 (500K). After downloading, put this zip file in an
empty directory on your
computer and extract its contents as is, without changing the
directories
structure. If your computer is not equipped with a Java run-time
environment, see the instructions at the bottom of this
page.
To
view any of the resources listed below, click it; To download
a resource,
right-click and save-target-as.
Simulators
Tool
|
Function
|
Download
|
Hardware
Simulator
|
Simulates
and tests gates and chips implemented in HDL (Hardware
Description Language). Used to construct hardware
projects. |
Tutorial
|
CPU
Emulator
|
Emulates
the computer platform built in the course. Used to test and
run programs written in
either machine language or assembler. |
Tutorial
|
VM
Emulator
|
Emulates
a typical stack-based virtual machine. Used to run and test
programs
written in the VM language. |
Tutorial
|
Translators
Translator |
Function
|
Download
|
Assembler
|
Translates
programs from assembly language to machine language. The
resulting code can be executed directly on the Computer chip (in
the hardware simulator), or emulated on the CPU emulator (which is
much
quicker). |
Tutorial
|
VM
Translator
|
A
virtual machine implementation (modeled after Java's JVM).
Translates
programs written in the VM language into programs written in
assembly
language. |
Compiler
|
Translates
from Jack (a simple Java-like language described in Chapter 9)
into VM
code.
The resulting code can run on the VM emulator, or translated
further by
the VM translator + assembler into binary code that can
run on the hardware simulator or on the CPU emulator. |
|
Operating
System
The OS was
written in the Jack language and compiled into a set of VM class files.
OS module
|
Function
|
Math.vm
|
Provides
basic mathematical operations (abs, mult, div, min,
max, ...).
|
String.vm
|
Implements
the String
type and
string-related operations.
|
Array.vm
|
Implements
the Array
type and
array-related operations.
|
Output.vm
|
Handles
text output to the screen (printChar, printString
...).
|
Screen.vm
|
Handles
graphic output to the screen (drawPixel, drawLine,
drawCircle...).
|
Keyboard.vm
|
Handles
user input from the keyboard (keyPressed, readChar, readLine,
...).
|
Memory.vm
|
Handles
memory operations (alloc, deAlloc, peek, poke ...).
|
Sys.vm
|
Provides execution-related services (init,
halt,
...).
|
Miscellaneous
Text
Comparer
|
Checks if two input text files are
identical.
Used in
various projects. |
Jack
IDE
Tool
|
Function
|
Download
|
Jack
IDE
|
Allows
editing and debugging programs in the Jack language. Based
on a
commercial tool called Edit Plus. You can use it freely for
30 days,
and then you have to pay $30 to continute. |
Tutorial
Jack
IDE installer
|
Java
Run-Time Environment (JRE)
In order to use our
software tools, your computer must be
equipped with a Java Run-time Environment, version 1.3.1 or later. The
JRE, also called J2RE,
can be
downloaded freely from many sites including
http://www.javasoft.com. For
best
performance, download the latest available version.
Trouble
Shooting
If our software
tools don't
work on your computer, and if your computer contains a JDK (Java
Development
Kit), make sure that the "bin"
directory of the JDK (usually something like JDK...\bin) is included in
the PATH system variable on your computer. Also,
make sure that the CLASSPATH system variable contains the tools.jar
file, which is located in the "lib" directory of
the JDK.
Changing system variables up to Win98 is done in the "set
<variable-name>=..." line in the c:\autoexec.bat file. In NT,
WIN2000 and upward it is done by updating the variable line in Control
Panel->System->Advanced->Environment Variables.
If the GUI of some of our software the tools doesn't work properly, make
sure that you are using version 1.3.1 or later of the
JRE or JDK.
Our software may work on earlier versions as well, but with many GUI
problems. To
test which Java version is presently installed on your computer, type
"java -version"
at the DOS/shell level.
|