1 INTRODUCTION

EasySim is an easy to use digital electronics simulation package.  It allows
digital circuit designs of varying degrees of complexity to be designed and
tested in a windows environment.  It gives the user a selection of logic gates
and flip flops along with various input and output devices, thus providing
building blocks to emulate any logic function required, limited only by the
screen space and available memory.

The product is aimed mainly at the educational market but will also be of great
value to the electronics enthusiasts wishing to test out small circuits before
committing themselves to wiring up a circuit.

This document assumes that the user will be familiar with MicroSoft Windows,
MS-DOS and basic digital electronic theory.

2 LICENSE CONDITIONS

EasySim is marketed under various licences.  The licence type may be determined
by selecting the About option in the Help pop-up menu.

   2.1 Limited License

   The "Limited License" applies to all EasySim unregistered software.  This
   will include, but not be limited to software that has been downloaded from a
   BBS.
   Under the terms of the limited license you are allowed to use and evaluate
   the product for a period of two calendar months from the date of first use.
   You are also allowed to make and pass on an unlimited number of copies of
   the unregistered software.
   At the end of the two month period you must register your software if you
   wish to continue using it.
   Registration benefits include 90 day free support, print capabilities, an
   enhanced chip library and traps for unstable or self oscillating circuitry.
   Update notifications will be sent to registered users.

   2.2 Single User License

   The "Single User License" is what it says.  The software is licensed to a
   single user.  It is the responsibility of the user to ensure that the
   software remains under their control and is only ever used on one computer
   at any one time.  There must be no possibility of the software being run
   concurrently on two or more machines by more than one user.

   2.3 Site License

   The "Site License" licenses one localised establishment to make and use up
   to 50 copies of the software at any one time. Such copies may only be used
   at the licensed site.
   Under the terms of this license a "localised establishment" shall be
   considered to be a college, school, factory or similar.

   2.4 General Educational Site License

   Under the "General Educational Site License" an educational establishment is
   permitted to make and use an unlimited number of copies at one site. Further
   to this it is also permitted to allow copying and use by bona fide students,
   of that establishment, for their own personal use.
   Copying and use by other establishments and students is expressly
   prohibited.

3 INSTALLATION

   3.1 Requirements

   EasySim is designed to run under MicroSoft Windows version 3.1.  Your
   machine will also need to have a 286,386 or 486 processor, a VGA display, a
   mouse and at least 2 megabytes of RAM.

   3.2 File List

   Files that you should have with the unpacked version are:-

        SIMULATE.EXE      Logic Simulator Executable.
        EASY1.DLL         DLL for Simulator.
        EASYPRN.DLL       DLL for printing (registered versions only).
        EASYSIM.TXT       (this file).
        EASYDSCR.DOC      Short Descriptions for EasySim.
        README            Initial Installation Instructions.
        SETUP.EXE         Windows Setup Executable
        SETUP.INF         Information File for Setup
        METER.DLL         DLL for Setup.

   A variety of demonstration circuits will also be with the distribution
   software.  These include but may not be limited to :-

        JK.SIM            JK flip flop circuit example.
        MSJK.SIM          Master Slave JK flip flop circuit example.
        COUNT16.SIM       A four bit synchronous counter with display.
        DTYPE.SIM         A "D" type flip flop ciruit example

   3.3 Installing Under Windows

   Installation under Windows is fairly simple, and may be achieved by
   following the procedure below:-

   From Program Manager select the 'File' menu option.
   Now select the 'Run' option from the pull down menu.
   Select 'Browse' within the displayed dialog box.
   Select the diskette that contains the EasySim distribution files.
   Select 'setup.exe' from the displayed file list.
   Select the OK button.

   Windows will now automatically install EasySim to your hard disk, after
   prompting for a destination directory.

   3.4 Installing Under DOS

   To install under DOS do the following:-

   Change the current drive to that containing the EasySim distribution files.
   Type 'win setup' followed by pressing the ENTER key.

   Windows will now install EasySim.

4 GETTING STARTED

EasySim is very easy to use once the menu/toolbox operation is understood.

Devices are selected and dropped by the mouse.

Device selection may be made from either the toolbox or the pull down menus.

Once selected a device may be rotated, by further menu/toolbox selection, or
placed.  A device is placed by pressing the mouse left button when the cursor
is in the required position.  In general a device is dragged by its top left
hand corner.

Once placed a device may be deleted, rotated or moved by selection of the
relevant edit mode.

Devices may be inter-connected by "wires" in the line drawing mode.  These
wires must touch or run into any input or output pins that they are required to
connect to.

Wires may be joined by junctions.  If more than two wires come to an
intersection they will not all be inter-connected until such time that a
junction is placed at that intersection.  Wires that cross each other may also
be connected by means of a junction.  Wires that cross with no junction will
not be electrically connected.

Note that for a junction to be effective it must be placed at some point on a
wire.  Placing a junction on an input or output pin has no effect until a wire
runs either to it or through it.

In general all connections to inputs or outputs should be by a wire terminating
there.

Interactive input into the circuit design is by a "toggle switch", this allows
a chosen logic level to be injected at a given point in the circuit.  A switch
may be pressed, when in power up mode, by placing the cursor over it and
pressing the left mouse button.

Whatever edit mode the program is in it will revert to line mode on pressing
the right mouse button.  The right mouse button is also used to discard the
current item, be it a device or line segment.

EasySim incorporates a unique "logic trace" mode.  This gives an indication of
the logic level in a wire by the brightness it is displayed at.  This facility
is invaluable for debugging circuits under development.

Circuit designs may be saved or loaded at any time and print options allow a
hard copy of the design.

5 OPERATION

EasySim allows two methods of selecting most options.  These are either from
the toolbox or by means of the pull down menu system.  The available options
will be discussed in the order that they appear in the drop down menus.
Once the pull down menu system has been mastered it will become apparent what
the operation of the "toolbox" is. The toolbox allows quick and easy selection
of all devices that can be selected from the pulldown menus, with the icons on
the toolbox buttons matching the operation of that particular button.

   5.1 File

      5.1.1 New

      The "File | New" option will clear any existing circuit if one exists.
      If a modified circuit does exist the user will be prompted for saving
      this circuit.

      5.1.2 Open

      The "File | Open" menu option will first check for an existing modified
      drawing.  If one exists the user will be prompted to save it.  Subsequent
      to this a file selection dialogue box is displayed.  This will give a
      display of all files of suffix ".sim", in the selected directory, which
      may be loaded into EasySim.
      The "power up" and "logic trace" modes will be selected by default
      whenever a file is loaded.

      5.1.3 Save

      The "File | Save" menu option allows a circuit to be saved.  If the
      circuit was developed from new it will have the default filename of
      "untitled.sim".  In this case it is probably appropriate to invoke the
      "File | Save as" menu option documented below.

      5.1.4 Save as

      The "File | Save as" menu option allows an existing circuit to be saved
      with a specific file name.  An interactive dialogue box is displayed
      allowing a name to be entered and the directory chosen.
      The convention with EasySim files is to save them with a ".sim" suffix.

      5.1.5 Print

      The "File | Print" menu option will print out a representation of the
      current circuit.  The printout will go to the default printer or,
      alternatively, the printer selected in "File | Printer setup".  The print
      will be automatically scaled to the size of the printer settings.
      Use "landscape" printing for best results.

      5.1.6 Printer setup

      The "File | Printer setup" menu option allows the printer to be
      configured for subsequent printing.  The standard Windows dialogue box is
      displayed for this purpose.

      5.1.7 Exit Alt+F4

      The "File | Exit Alt+F4" menu option will terminate the EasySim program.
      If a modified circuit exists the user will be prompted to save it.

   5.2 Edit

   The "Edit" options change the usage of the cursor and left mouse button
   press.
   Pressing the right mouse button in any of these modes returns the user to
   line drawing mode.

      5.2.1 Delete

      The "Edit | Delete" menu option puts the mouse into delete mode.  When
      the cursor is moved over an object and the left mouse key pressed the
      object will be deleted.  Multiple objects at one location will require
      multiple button presses on the mouse to delete them all, one button press
      one delete.

      5.2.2 Move

      The "Edit | Move" menu option puts the mouse into move mode.  When the
      cursor is placed over an object and the left mouse button pressed the
      object may be "picked up".  Once picked up the object may be dragged
      around the screen by use of the mouse.  When the left mouse button is
      released the object will be "dropped" at the current cursor position.

      5.2.3 Rotate

      The "Edit | Rotate" menu option performs two slightly different
      functions.  In pure "rotate mode" the cursor may be placed over an object
      and the mouse left button pressed.  When this is done the object under
      the cursor will be rotated through 180 degrees.  Some items, however,
      cannot be rotated.  These include lines, junctions and 7 segment
      displays.
      In "dragging mode" the cursor will be attached to a selected chip
      outline, this outline may be rotated by use of the "Edit | Rotate" menu
      option.

   5.3 Gates

   A wide selection of logic gates is available, these provide the base for
   building up almost any required logic function.

      5.3.1 Invertor

      This is just a single input, single output device.  The output will be
      the inverse of the input.

      5.3.2 Xor

      Xor or exclusive or gate.  This is a two input, single output device.
      The output will be high if either input is high or low if both inputs are
      at the same level.

      5.3.3 Xnor

      Xnor or exclusive nor gate.  This is a two input, single output device
      and the logic inverse of the Xor device.  The output will be low if
      either input is high or high if both inputs are at the same level.

      5.3.4 Or

      The "or" gate has a further sub-menu to allow devices of from two to four
      inputs to be selected.  This is a single output device with the output
      reflecting the logical "or" of its inputs.  This means that the output
      will be high if any number of its inputs are high.  If all inputs are low
      then the output will be low also.

      5.3.5 Nor

      The "nor" or "not or" gate has a further sub-menu to allow devices of
      from two to four inputs to be selected.  This is a single output device
      with the output reflecting the logical "nor" of its inputs, in this it is
      the logical inverse of the "or" gate.  This means that the output will be
      low if any number of its inputs are high.  If all inputs are low then the
      output will be high.

      5.3.6 And

      The "and" gate has a further sub-menu to allow devices of from two to
      four inputs to be selected.  This is a single output device with the
      output reflecting the logical "and" of its inputs.  This means that the
      output will be high if all of its inputs are high.  If at least one input
      is low then the output will be low also.

      5.3.7 Nand

      The "nand" or "not and" gate has a further sub-menu to allow devices of
      from two to four inputs to be selected.  This is a single output device
      with the output reflecting the logical "nand" of its inputs, in this it
      is the logical inverse of the "and" gate.  This means that the output
      will be low if all of its inputs are high.  If at least one input is low
      then the output will be high.

      5.3.8 D Flip Flop

      The "D" type flip flop is an edge triggered device that transfers data
      from its "D". or data, input to its "Q" output on a rising edge at the
      "C", or clock, input.  Two outputs exist on these devices "Q" and "not Q"
      these outputs are the logical inverse of each other.
      The registered software users have the extra luxury of an asynchronous
      reset line on the "D" type flip flop.  This allows the device to be reset
      (Q = low) independent of clock or data inputs.

      5.3.9 JK Flip Flop

      The "JK" flip flop is a three input, two output device that shares clock
      and "Q" outputs with the "D" type flip flop.  It's operation is, however,
      completely different.
      The "JK" flip flop operates in one of three modes, set, reset or toggle,
      all three of these modes have their data transition of the rising edge of
      the "C" or clock input.
      The set mode is when the "J" input is high and the "K" input low.  In
      this case a low to high transition on the clock input will set the "Q"
      output high and the "not Q" output low.
      The reset mode is when the "J" input is low and the "K" input high.  In
      this case a low to high transition on the clock input will set the "Q"
      output low and the "not Q" output high.
      Toggle mode is entered when both the "J" and "K" inputs are high, a low
      to high transition on the clock input will cause the levels at the "Q"
      and "not Q" outputs to toggle from their previous state.

   5.4 Sources

   Various input sources are provided in order to feed known logic levels into
   the circuit design.

      5.4.1 Switch

      A toggle switch is provided to allow a varying level to be applied to
      various inputs in the circuit.  The toggle may be operated in the "power
      on" mode by placing the cursor over it and pressing the left mouse
      button.

      5.4.2 Logic 0

      The logic level 0 is provided to allow a known logic low source.  It has
      one pin, an output, which is at a continuous low level.

      5.4.3 Logic 1

      The logic level 1 is provided to allow a known logic high source.  It has
      one pin, an output, which is at a continuous high level.

   5.5 Displays

   Two display devices are provided a lamp and a seven segment display with
   binary input.  These may be connected up to provide indications of logic
   levels at various points within a circuit.  These indications are only valid
   when in "power up" mode.

      5.5.1 Lamp

      The lamp is a single input device.  When a logic high is applied to it's
      input it will light up, similarly when a logic low is applied it will
      extinguish.

      5.5.2 7 Segment

      The seven segment display has an inbuilt binary decoder and will display
      in hexadecimal from 0 through to "F".  It has four inputs at it's base
      with the most significant input on the left and the least significant on
      the right.  The number displayed will reflect the logic levels at its
      input while in "power up" mode.

   5.6 Routing

      5.6.1 Wire

      The "Routing | Wire" selection puts the program into "line drawing"
      mode.  The mouse may be used to draw lines on the screen that represent
      the wires of an electronic circuit.
      A press of the mouse left button will initiate a line, this line will
      follow the cursor movements as the mouse is moved.  A special algorithm
      disables any non-orthogonal lines, this means that only horizontal or
      vertical lines may be drawn.  If need be the line is split into two
      segments that track the cursor.
      Active line segments can be placed, one at a time, by pressing the mouse
      left button.
      An unwanted line segment can be discarded by pressing the mouse right
      button.

      Care must be taken when "wiring" up a circuit.  Wires must reach or
      overlap device inputs or outputs.  Note that only a certain amount of
      overlap is permitted.
      Wires alone may only be joined only end to end.  Two wires that overlap
      will not join.

      5.6.2 Junction

      Junctions provide a method of joining more than one wire together.  Any
      wire passing through a junction will become connected to that junction.
      This allows a method of connecting up to four separate wires at one
      place.

   5.7 Power

      5.7.1 Power On

      As with real circuits power has to be applied before an EasySim circuit
      simulation will operate correctly.  A check box in the Power On menu
      selection will indicate whether power is applied or not.
      When power is applied we are in the "power up" mode in which toggle
      switches may be operated in order to activate the circuit operation.

      Under some circumstances it is possible for the circuit to be unstable
      and oscillate.  In this case simulation is stopped after a predetermined
      time.  Note that in this case some indicated logic levels will be
      incorrect.

   5.8 Options

      5.8.1 Grid

      The "Options | Grid" menu option toggles a grid on the screen.  This may
      facilitate placement of devices under some conditions.

      5.8.2 Logic Trace

      EasySim has the unique feature of being able to dynamically display logic
      levels as they propagate around a circuit.  The "Options | Logic Trace"
      menu selection toggles this function on and off.
      High logic levels are indicated by "bright" wires and low logic levels by
      "dim" wires.
      This facility does a lot to illustrate actual gate functionallity.
      This option is the default when a circuit is loaded.

      5.8.3 Redraw

      Under some circumstances it is possible that the screen may become
      cluttered with bits of deleted objects.  Especially after a long editing
      session.  To clean up the screen select the "Options | Redraw" menu
      option.

   5.9 Help

      5.9.1 About

      The "Help | About" menu selection will display details of your type of
      license.  Please help me to continue to help you by adhering to your
      license conditions.

6 DESIGN RULES

EasySim imposes few design rules so as not to detract from the user interface
functionallity.


   6.1 Outputs

   Basically any output may be wired to any number of inputs by means of wires
   and junctions.  An output may not, however, be connected to another output,
   EasySim silently enforces this feature.  This means that although two
   outputs may be wired together only one of those outputs will actually feed
   logic levels along that wire.  No indication is given for this condition.
   Should you desire to see what happens in this situation merely turn on the
   logic trace facility.

   6.2 Inputs

   Unnconnected inputs are, for simplicity of operation, forced to a logic low
   level.  Note that this is contrary to the operation of normal TTL logic,
   which defaults to a high condition if left unconnected.  Rather than leave
   unused inputs floating, make use of the logic 0 and 1 level drivers that
   exist in the EasySim library.

   6.3 Wires

   Wires must touch or run onto an input or output pin for a connection to be
   made.  Try to attach a wire in the same orientation as the pin being
   connected to i.e. if the pin is horizontal then attach a horizontal wire to
   it, conversely in the case of a vertical pin connect to it by a vertical
   wire.

   Try to run wires in one piece, trying to join "broken wires" may be tricky.
   ires may only be joined end to end, no overlap is allowed.

   6.4 Junctions

   Junctions are only operative on wires and serve to connect wires to other
   wires or to inputs.  A junction is inoperative on a output pin unless a wire
   is actually run to and terminates at that junction.

   6.5 Unstable Loops

   It is possible in EasySim, as in real life, to design and run a circuit that
   is unstable and hence oscillates.  This can happen if an inverter has its
   output wired straight back to its own input.
   EasySim obviously has to break the simulation somewhere.  The break point is
   selected some time after it has been determined that the ciruit is
   unstable.  At this point in time some of the indicated logic levels will be
   incorrect.  The registered packages notify the user of this situation.  This
   is not so in the un-registered shareware distribution of EasySim.

   6.6 General

   In all cases where you are unsure about your circuit operation turn on the
   logic trace option and see where you signals get to.

7 REGISTRATION

The registered version of the 'EasySim' software contains a greater selection 
of gates, an oscillator and also provides printing capability.
The registered version comes boxed with a printed manual.

Unregistered versions of software may be upgraded to registered versions by
remitting details and the correct fee to:-

     Research Systems Pty. Ltd.
     15/1540 Main Road,
     Research,
     Victoria 3095,
     Australia.

Details required are:-

     Name and address of purchaser.
     Name and address of user (if different from above, or a site license).
     Type of license required for the EasySim software.
     The type of media required.
     The remittance to cover the license fee and post and packaging.

Prices as of 6th May 1998.

     Single User:                        $A54.95
     Site License:                       $A250.00
     General Educational Site License:   $A500.00

For post and packaging:-

     Australia   $A5.00
     Overseas    $A15.00

Terms available on official orders.

For further information call us on  +61 411 180 959.
Or Fax: +61 3 9228 1966
