@DATABASE Schematic
@AUTHOR Chris Sterne
@$VER: "Electrics Schematic Instructions 1.0 28.2.1996"

@REMARK Requires AmigaGuide.

@REMARK *-------------------------------------------------------------*
@REMARK *                    Schematic Program                        *
@REMARK *-------------------------------------------------------------*
@NODE Schematic
@TOC "Instructions/MAIN"
@TITLE "Schematic Program"

@{fg background}@{bg text} Introduction @{fg text}@{bg background}

The @{" Electrics Schematic " LINK Picture_Database/Schematic.0/MAIN} program is used to draw the circuit design to be
tested.  The drawing is done by placing and connecting various objects, 
such as wires and symbols.  After the design has been saved, it is ready
for simulation.

  @{" Window      " LINK Window} - Layout of program window.
  @{" Sheet View  " LINK View} - Viewing the schematic sheet.
  @{" Objects     " LINK Placement} - Object placement.
  @{" Editing     " LINK Editing} - Schematic editing.
  @{" Projects    " LINK Files} - Schematic sheet management.
  @{" ARexx       " LINK ARexx} - ARexx support.
  @{" Limitations " LINK Limitations} - Limitations, bugs, etc.
@ENDNODE

@REMARK *------------------------------*
@REMARK *     Schematic Window         *
@REMARK *------------------------------*
@NODE Window
@TOC Schematic
@TITLE "Schematic Program Window"

@{fg background}@{bg text} Information Box @{fg text}@{bg background}
        
At the top of the @{" program window " LINK Picture_Database/Schematic.1/MAIN} lies the Information Box.  This area
is used to indicate program status, and consists of the following 
three lines:

PROJECT: Project name and sheet number.
MODE:    Editing mode.
MESSAGE: Error message or comment.

@{fg background}@{bg text} Sheet Box @{fg text}@{bg background}
        
The Sheet Box lies just under the Information Box.  This is where the
schematic sheet is displayed and edited.  The schematic sheet may be
smaller than Sheet Box, or much larger.

@{fg background}@{bg text} Sheet Box Options @{fg text}@{bg background}

The SETTINGS menu has two options for changing the Sheet Box display;
SHOW GRID, and DARK SHEETBOX.  An option is active when the menu
item is "checked".   

When the SHOW GRID option is active, every second sheet grid will be
marked with a dot.

When the DARK SHEETBOX option is active, the sheet background color
will be dark, with light colored objects on it.  The opposite will
be true if DARK SHEETBOX is not active. 
@ENDNODE

@REMARK *------------------------------*
@REMARK *     Schematic Sheet View     *
@REMARK *------------------------------*
@NODE View
@TOC Schematic
@TITLE "Schematic Sheet View"

@{fg background}@{bg text} Schematic Sheet Size @{fg text}@{bg background}

When a new schematic sheet is started, it has no size.  As objects
are added to the sheet, the sheet border grows outward.  This growth
can occur for about 5000 grid units in any direction.  If the entire
sheet cannot fit in the Sheet Box, then a only a portion will be 
visible at a time.

@{fg background}@{bg text} Sheet Scrollers @{fg text}@{bg background}

The schematic sheet view is represented by Scrollers below and
at to the right of the Sheet Box.  The center Slider part of the
Scroller represents the visible part of the sheet, while any dark
crosshatched area represent the part of the sheet outside of view. The
displayed view can be changed (if any part of the schematic sheet is
not visible) by moving the Slider.

@{fg background}@{bg text} Cursor Keys @{fg text}@{bg background}

The keyboard Cursor keys (UP, DOWN, LEFT, RIGHT) can also be used to
change the displayed view of the sheet.  The view will shift in the
direction of the selected Cursor key by half of the visible view.
@ENDNODE

@REMARK *------------------------------*
@REMARK * Schematic Object Placement   *
@REMARK *------------------------------*
@NODE Placement
@TOC Schematic
@TITLE "Schematic Object Placement"

@{fg background}@{bg text} Object Selection @{fg text}@{bg background}

A @{" circuit design " LINK Picture_Database/Schematic.6/MAIN} is drawn using @{" Wire " LINK Wires}, @{" Label " LINK Labels}, @{" Symbol " LINK Symbols},
and @{" Text " LINK Text} objects.  The desired object to place on the
schematic sheet can be selected from the PLACE menu, or by using the 
following keyboard keys:

    @{u}OBJECT   KEY@{uu}
    Wire      W
    Label     L
    Symbol    S
    Text      T

The Information Box MODE line will indicated the selected object to be
placed (e.g. Place Wire).

@{fg background}@{bg text} Object Placement @{fg text}@{bg background}
        
Step #1:
  To begin placement of the selected object, press the left mouse 
  button while the mouse pointer is inside of the Sheet Box.  The
  outline of the object will be displayed.  The Information Box will
  also indicate that object placement has begun (e.g. Placing Wire...).
  
Step #2:
  At this point, the object may be moved to its desired location.
  Pressing the right mouse button while the left mouse button is
  pressed will cancel the object placement.
  
Step #3:
  To be complete the object placement, release the left mouse button
  (and right mouse button if the placement was cancelled).
@ENDNODE

@REMARK *------------------------------*
@REMARK *      Schematic Editing       *
@REMARK *------------------------------*
@NODE Editing
@TOC Schematic
@TITLE "Schematic Editing"

@{fg background}@{bg text} Introduction @{fg text}@{bg background}

After objects have been placed on the schematic sheet, a limited 
number of editing options are available.

@{fg background}@{bg text} Erase Object @{fg text}@{bg background}

This editing mode is used to erase single objects from the schematic.
This mode can be entered by selecting ERASE from the EDIT menu, or by
pressing the "E" key on the keyboard.  When Erase mode is active, the
Information Box MODE line will display "Erase Object".

To begin erasing an object, move the mouse pointer over an object and 
press the left mouse button.  The object about to be erased will be
highlighted, and "Erasing object..." will be displayed on the 
Information Box MESSAGE line.  Release the left mouse button to 
complete the operation.  As with the object placement mode, pressing 
the right mouse button while the object is highlighted will cancel the
operation.

@{fg background}@{bg text} Erase All Objects @{fg text}@{bg background}

This option is used to erase all objects on the schematic sheet.  It is
requested by selecting ERASE ALL in the EDIT menu.  A requester will
appear so the operation can be confirmed.  Press "Yes" to continue, or
"No" to cancel the operation.
@ENDNODE

@REMARK *------------------------------*
@REMARK *       Schematic Wires        *
@REMARK *------------------------------*
@NODE Wires
@TOC Schematic
@TITLE "Schematic Wires"

@{fg background}@{bg text} Introduction @{fg text}@{bg background}
        
Wires are used to carry Signal levels to and from the pins of Symbol
objects.  When Wire placement mode is active, the Information Box MODE
line will display "Place Wire".  

@{fg background}@{bg text} Placing A Wire @{fg text}@{bg background}

Wire placement is begun by moving the mouse pointer to the desired
starting location in the Sheet Box and pressing the left mouse button.

One or two Wire segments can be placed at one time.  If the mouse
pointer was moved in a horizontal direction from the starting
location, the first segment of the Wire will remain horizontal, while
a vertical segment can be added by moving the mouse pointer in a
vertical direction.  The opposite will occur if the mouse pointer was
moved in a vertical direction from the starting location. 

If Wire placement began at the open end of an existing Wire segment
(represented by an open round dot), that segment becomes part of the
new Wire.  This allows changing the size and direction of an existing
Wire segment.

@{fg background}@{bg text} Junctions @{fg text}@{bg background}

If the beginning or end of a Wire lies on an existing Wire, a junction
will be formed (represented by a solid round dot).  However, a Wire 
can cross an existing Wire without making a junction.  
@ENDNODE

@REMARK *------------------------------*
@REMARK *       Schematic Labels       *
@REMARK *------------------------------*
@NODE Labels
@TOC Schematic
@TITLE "Schematic Labels"

@{fg background}@{bg text} Introduction @{fg text}@{bg background}

Labels are used to identify Wires.  They are also the names used when
referring to Signals during simulation.  When Label placement mode is
active, the Information Box MODE line will display "Place Label 'name'".

@{fg background}@{bg text} Label Characters @{fg text}@{bg background}

The following are the only supported characters for Labels:

    @{u}GROUP            CHARACTERS        @{uu}
    Letters   A to Z (upper case)
    Numbers   0 to 9
    Symbols   #, _(underscore), -(dash)

@{fg background}@{bg text} Placing A Label @{fg text}@{bg background}

A new, or an existing old Label name can used.  If a new Label name is
desired, select Label placement mode.  A requester will appear, and
the new Label name can be entered.  Up to 32 characters may be
entered.  Press "Ok" to accept the name, or "Cancel" to not continue.
If any unsupported characters were entered, they will be replaced by 
the underscore character.  Any lower-case letters will be converted
to upper-case.
  
Label placement is begun by moving the mouse pointer to a Wire to be
labeled, and pressing the left mouse button.  The outline of the Label
will be displayed, and the selected Wire will be highlighted.
  
The last Label name will be remembered, allowing the same Label to be
placed any number of times without having to reselect Label placement
mode.

@{fg background}@{bg text} Label Quantity Limit @{fg text}@{bg background}

A limited number (one or two) Labels can be attached to a Wire segment.
If the Wire segment is "full", the Information Box MESSAGE line will
display an error, and the Label placement will be cancelled.

@{fg background}@{bg text} Label Joining Wires @{fg text}@{bg background}

A Label can also be used to join two unconnected Wire segments.  To 
do this, label each Wire with the same name.  This technique is often
useful to reduce masses of Wires flowing around a schematic sheet, or
to connect Wire segments that lie on different sheets. 
@ENDNODE

@REMARK *------------------------------*
@REMARK *      Schematic Symbols       *
@REMARK *------------------------------*
@NODE Symbols
@TOC Schematic
@TITLE "Schematic Symbols"

@{fg background}@{bg text} Introduction @{fg text}@{bg background}
        
Symbols are the functional objects of the schematic diagram.  They take
input Signals, process them, and generate output Signals.  When Symbol
placement mode is active, the Information Box MODE line will display
"Place Symbol: 'Symbol name'".

@{fg background}@{bg text} Placing Symbols @{fg text}@{bg background}

A new, or existing old Symbol can used.  If a new Symbol is desired,
select Symbol placement mode.  A @{" Symbol requester " LINK Picture_Database/Schematic.4/MAIN} will appear so an
@{" Available Symbol " LINK SymbolList} may be selected.

The Symbol requester "Libraries" button is used to display the list
of available Symbol libraries.  When the Symbol library list is
displayed, the Libraries button is ghosted (inactive).  When a library
is selected, the list of Symbols in that library is displayed, and the
library name is displayed above the Symbol list.  Click on the desired
Symbol, or press "Cancel" to not continue.

Symbol placement is begun by pressing the left mouse button while the
mouse pointer is in the Sheet Box.
  
The last Symbol will be remembered, allowing the same Symbol to be
placed any number of times without having to reselect Symbol placement
mode.

@{fg background}@{bg text} Symbol Pins @{fg text}@{bg background}

Connections are made at the pins of a Symbol.  These pins are located 
around the outside border of the Symbol.  The pin may be represented by
a short straight line (active-HIGH Signal), or by a bubble
(active-LOW Signal).  A Symbol connection is made by either placing the
pin of a Symbol on an existing Wire segment, or by connecting the pin of
an existing Symbol to a Wire.  A connection can also be made without a
Wire by placing the pin of one Symbol on the pin of another. 
@ENDNODE

@REMARK *------------------------------*
@REMARK *  List of available Symbols   *
@REMARK *------------------------------*
@NODE SymbolList
@TOC Schematic
@TITLE "Available Schematic Symbols"

@{fg background}@{bg text} Introduction @{fg text}@{bg background}

Two Symbol libraries are currently available; an ELEMENT library
containing simple gates (NOT, NOR, etc.), and a TTL library
containing more complex 74xxx series components (7495, 74521, etc.).

@{fg background}@{bg text} ELEMENT Library @{fg text}@{bg background}

PUP      - Weak pullup resistor to logic "1".
PDOWN    - Weak pulldown resistor to logic "0".
TUP      - Strong tieup to logic "1".
TDOWN    - Strong tiedown to logic "0".
BUF      - Non-inverting buffer.
OCBUF    - Open-collector non-inverting buffer.
OCNBUF   - Open-collector inverting buffer.
TRIBUF   - Tristate non-inverting buffer.
NOT      - Inverter.
2NAND    - 2-input NAND gate.
3NAND    - 3-input NAND gate.
4NAND    - 4-input NAND gate.
5NAND    - 5-input NAND gate.
2NOR     - 2-input NOR gate.
3NOR     - 3-input NOR gate.
4NOR     - 4-input NOR gate.
5NOR     - 5-input NOR gate.
2AND     - 2-input AND gate.
3AND     - 3-input AND gate.
4AND     - 4-input AND gate.
5AND     - 5-input AND gate.
2OR      - 2-input OR gate.
3OR      - 3-input OR gate.
4OR      - 4-input OR gate.
5OR      - 5-input OR gate.
2XOR     - 2-input exclusive OR gate.
2XNOR    - 2-input exclusive NOR gate.
2MUX     - 2 to 1 multiplexer.
DELAY    - Single time unit delay element.
DFF      - Data flip-flop with rising-edge clock.
SRDFF    - Data flip-flop with active-LOW Set and Reset.
DLATCH   - Data latch with active-HIGH enable.
SRDLATCH - Data latch with active-LOW Set and Reset.
SRFF     - Set/Reset flip-flop with active-LOW controls.
JKFF     - J-K flip-flop with falling-edge clock.
SRJKFF   - J-K flip-flop with active-LOW Set and Reset.

@{fg background}@{bg text} TTL Library @{fg text}@{bg background}

74125 - Quad tri-state buffers with active-LOW enables.
74138 - 3 to 8 line demultiplexer.
74139 - Dual 2 to 4 line demultiplexers.
74145 - BCD to decimal decoder/driver.
74151 - 8 to 1 line multiplexer.
74153 - Dual 4 to 1 line multiplexers.
74157 - Quad 2 to 1 line multiplexers.
74158 - Quad 2 to 1 line multiplexers with inverting outputs.
74162 - 4-bit synchronous decade counter.
74163 - 4-bit synchronous binary counter.
74164 - 8-bit parallel-out shift register.
74165 - 8-bit parallel-load shift register.
74169 - 4-bit synchronous up/down binary counter.
74174 - 6-bit D-type flip-flops with clear.
74175 - 4-bit D-type flip-flops with clear.
74192 - 4-bit synchronous up/down decade counter.
74193 - 4-bit synchronous binary up/down binary counter.
74194 - 4-bit universal shift register.
74219 - 4-bit x 16 RAM with tri-state outputs.
74244 - Octal bus driver with tri-state outputs.
74245 - Octal bus transceiver with tri-state outputs.
74247 - BCD to 7-segment decoder/driver.
74273 - Octal D-type flip-flop with clear.
74280 - 9-bit even/odd parity generator/checker.
7430  - 8 input NAND gate.
74352 - Dual 4 to 1 line multiplexer with inverting outputs.
74373 - Octal data latch with tri-state outputs.
74374 - Octal data flip-flop with tri-state outputs.
74521 - 8-bit identity comparator.
74543 - Octal registered bus transceiver.
7491  - 8-bit serial in/serial out shift register.
7493  - 4-bit binary counter with falling-edge clock.
7495  - 4-bit parallel-access shift register.
@ENDNODE

@REMARK *------------------------------*
@REMARK *        Schematic Text        *
@REMARK *------------------------------*
@NODE Text
@TOC Schematic
@TITLE "Schematic Text"

@{fg background}@{bg text} Introduction @{fg text}@{bg background}

Text can be used for general comments on the schematic sheet.  When
Text placement mode is active, the Information Box MODE line will
display "Place Text 'text'".

@{fg background}@{bg text} Text Characters @{fg text}@{bg background}

The following are the only supported characters for Text:

    @{u}GROUP        CHARACTERS            @{uu}
    Letters   A to Z (upper case)
    Numbers   0 to 9
    Symbols   #, _(underscore), -(dash)

@{fg background}@{bg text} Placing Text @{fg text}@{bg background}

New or existing old Text can used.  If new Text is desired, select Text
placement mode.  A requester will appear, and the new Text can be
entered.  Up to 80 characters may be entered.  Press "Ok" to accept the
text, or "Cancel" to not continue.  If any unsupported characters were
entered, they will be replaced by the underscore character.  Any
lower-case letters will be converted to upper-case.
  
Text placement is begun by pressing the left mouse button while the
mouse pointer is in the Sheet Box.

The last Text will be remembered, allowing the same Text to be
placed any number of times without having to reselect Text placement
mode.
@ENDNODE

@REMARK *----------------------------*
@REMARK * Schematic Sheet Management *
@REMARK *----------------------------*
@NODE Files
@TOC Schematic
@TITLE "Schematic Sheet Management"

@{fg background}@{bg text} Introduction @{fg text}@{bg background}

The PROJECT menu provides several schematic sheet management options,
allowing sheets to be loaded, saved, or deleted.  A project may have
up to 99 sheets, beginning with sheet number 1.

While preparing schematic sheets, it is not necessary to begin with
sheet 1, and proceed contiguously (2, 3, etc.).  However, when it
becomes time to simulate the circuit, the Simulator program expects
there to be a sheet 1, followed by contiguous sheet numbers.

@{fg background}@{bg text} New Schematic Sheet@{fg text}@{bg background}

When the Schematic program is first started, or if the NEW option was
selected in the PROJECT menu, the schematic sheet and the Information
Box PROJECT line will be empty.  A new schematic drawing can be
started.

@{fg background}@{bg text} Save Schematic Sheet @{fg text}@{bg background}

When saving a schematic sheet, a @{" Save requester " LINK Picture_Database/Schematic.2/MAIN} may appear.  The
"Projects" button displays a list of available projects.  When a
project list is displayed, the "Projects" button is ghosted (inactive).
After a project is selected from the list, all schematic sheets for
that project are listed, and the project name appears above the sheet
list.  After a schematic sheet is selected, its sheet number will also
appear above the sheet list.  An alternative to the above method of
selecting a schematic sheet is to enter a project name and sheet number
on the text entry lines at the top of the requester.  Press "Ok" to
accept the project sheet name and number, or "Cancel" to not continue.

The PROJECT menu SAVE option will save a schematic sheet using the
project name and sheet number shown on the Information Box PROJECT
line.  In this case, a Save requester will not appear.  Otherwise, a
Save requester will appear so a name and sheet number can be provided.

The PROJECT menu SAVE AS option will always display the Save requester,
so a different name and sheet number can be provided.

If the schematic sheet was saved successfully, its name will appear on
the Information Box PROJECT line.

@{fg background}@{bg text} Load Schematic Sheet @{fg text}@{bg background}

If the OPEN option is selected in the PROJECT menu, an @{" Open requester " LINK Picture_Database/Schematic.3/MAIN}
will appear.  The "Projects" button behaves the same way as in the
Save requester.  After a schematic sheet is selected, it is loaded
immediately.  Press "Cancel" to not continue.

If the schematic sheet was loaded successfully, its name will appear on
the Information Box PROJECT line.

@{fg background}@{bg text} Delete Schematic Sheet @{fg text}@{bg background}

If the DELETE option is selected in the PROJECT menu, a 
@{" Delete requester " LINK Picture_Database/Schematic.5/MAIN} will appear. This requester is very similar to the
Save requester, but does not allow entering a project name and sheet
number.  Instead, these must be selected from the lists.  Press "Ok"
to delete the sheet, or "Cancel" to not continue.

@{fg background}@{bg text} Save Before Continuing @{fg text}@{bg background}

If the current schematic sheet was modified before selecting the NEW,
OPEN, or QUIT menu items, a requester will appear with a warning
message.  Press "Save First" to save the modifications before
continuing, or "Continue" to lose the changes and continue anyway.
Press "Cancel" to not continue.
@ENDNODE

@REMARK *-------------------------*
@REMARK * Schematic ARexx Support *
@REMARK *-------------------------*
@NODE ARexx
@TOC Schematic
@TITLE "Schematic ARexx Support"

@{fg background}@{bg text} Introduction @{fg text}@{bg background}

The Schematic program supports an ARexx interface for controlling some
attributes of the Sheet Box.

  @{" Message Port " LINK Port} - ARexx message port.
  @{" Commands     " LINK Commands} - ARexx commands.
  @{" Error Codes  " LINK Errors} - ARexx error codes.
@ENDNODE

@REMARK *----------------------*
@REMARK * Schematic ARexx Port *
@REMARK *----------------------*
@NODE Port
@TOC ARexx
@TITLE "Schematic ARexx Message Port"

@{fg background}@{bg text} ARexx Port @{fg text}@{bg background}

Each instance of the Schematic program will have a unique ARexx port
name, beginning with the program name, and ending with the instance
number (e.g. SCHEMATIC.1, SCHEMATIC.2, etc.).  The last line of the
PROJECT menu ABOUT requester shows the ARexx port name for the
program.
@ENDNODE

@REMARK *--------------------------*
@REMARK * Schematic ARexx Commands *
@REMARK *--------------------------*
@NODE Commands
@TOC ARexx
@TITLE "Schematic ARexx Commands"

@{fg background}@{bg text} ARexx Commands @{fg text}@{bg background}

GRID SHOW/S,HIDE/S

  This command behaves the same as the SHOW GRID option in the SETTINGS
  menu.  The Sheet Box grid is either visible, or not visible.
  
COLOR DARKSHEETBOX/S,LIGHTSHEETBOX/S

  This command behaves the same as the DARK SHEETBOX option in the
  SETTINGS menu.  The Sheet Box colors are changed accordingly.
  "COLOUR" will also be accepted as the command's spelling.

NOP

  This command does nothing.  It could be used for locating a certain
  instance of the Schematic program by sending the command to see
  if it is accepted, or if an error occurs instead.
@ENDNODE

@REMARK *------------------------*
@REMARK * Schematic ARexx Errors *
@REMARK *------------------------*
@NODE Errors
@TOC ARexx
@TITLE "Schematic ARexx Error Codes"

@{fg background}@{bg text} ARexx Error Codes @{fg text}@{bg background}

0  = No Errors.
11 = Syntax error in command.
12 = Unknown command.
@ENDNODE

@REMARK *------------------------------*
@REMARK *    Schematic Limitations     *
@REMARK *------------------------------*
@NODE Limitations
@TOC Schematic
@TITLE "Schematic Program Limitations"

@{fg background}@{bg text} Introduction @{fg text}@{bg background}

This version of the Schematic program has several limitations that
should be noted.

@{fg background}@{bg text} Editing @{fg text}@{bg background}

The only option for manipulating an object after it has been placed
is to delete the object.

@{fg background}@{bg text} Sheet Shifting @{fg text}@{bg background}

When object placement has begun, the Cursor keys cannot be used to
shift the schematic sheet view.  This means the starting and ending
points of a Wire must both reside in the Sheet Box.

@{fg background}@{bg text} Settings @{fg text}@{bg background}

The SETTINGS menu options cannot be saved.  They will be set to
default values when the Schematic program is started.
@ENDNODE

