BitMachine Screen: External Design 1.00 12/15/97 Terry King ÚÄÄÄÄÂÄÄÄÄÂÄÄÄÄÂÄÄÄÄÂÄÄÄÄÂÄÄÄÄÂÄÄÄÄÂÄÄÄÄÄÂÄÄÄÂÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Help³Load³Quit³Edit³Run ³Stop³Step³Break³ ³Save³ ³ ³ ³ F1 ³ F2 ³ F3 ³ F4 ³ F5 ³ F6 ³ F7 ³ F8 ³ F9³ F10³ ³ ³ ÃÄÄÄÄÁÄÄÄÄÁÄÄÄÄÁÄÄÄÄÁÄÄÄÄÁÄÄÄÄÁÄÄÄÄÁÄÄÄÄÄÁÄÄÄÁÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³OUTPUT NAMES AND PIN NUMBERS INPUT PIN NUMBERS AND NAMES ³ ³Out0 ÄÄ(2)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ(17)ÄÄIn7 ³ ³Out1 ÄÄ(3)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³TIMER1 01:30:23.367³ ÚÄÄÄÄÄÄÄÄÄÄÄÄ(16)ÄÄIn6 ³ ³Out2 ÄÄ(4)ÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³TIMER2 4.528³ ³ ÚÄÄÄÄÄÄÄÄÄÄ(15)ÄÄIn5 ³ ³Out3 ÄÄ(5)ÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ ³ ³ ³ ÚÄÄÄÄÄÄÄÄ(14)ÄÄIn4 ³ ³Out4 ÄÄ(6)ÄÄÄÄÄÄÄÄ¿ ³ ³ ³ ³ ³ ³ ³ ³ ÚÄÄÄÄÄÄ(13)ÄÄIn3 ³ ³Out5 ÄÄ(7)ÄÄÄÄÄÄ¿ ³ ³ ³ ³ ³COUNTER1 6³ ³ ³ ³ ³ ÚÄÄÄÄ(12)ÄÄIn2 ³ ³Out6 ÄÄ(8)ÄÄÄÄ¿ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÚÄÄ(11)ÄÄIn1 ³ ³Out7 ÄÄ(9)ÄÄ¿ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ Ú(10)ÄÄIn0 ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³StepName Step - O U T P U T - - I N P U T - - NextStep³ ³-------- ---- |þ þ þ þ|þ þ þ þ| |þ þ þ þ|þ þ þ þ| --------³ ³Start 0001 1 0 1 0 1 0 1 0 + ³ ³ 0002 x x x x x x I I + ³ ³ 0003 WAIT .100 + ³ ³ 0004 I I I I I I I I Start ³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³StepNow = 000³ ---( ...Context-Dependent Messages )----- ³ Samples = 00099³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Design Notes: (-)Means 'not done yet!' 1. Stepnames: 1 to 8 chars. Case INsensitive, converted to UC. 2. NextStep : One of: Go to step StepName Next step (default) (-) + n Add n to current Step for NextStep (-) - n Subtract n from current Step for NextStep 3. OUTPUT Bits: One of: 1 Set to 1 0 Set to 0 X Unchanged I Invert from value in BitsNowOn R Random 1 or 0 (-) < or > Shift into adjacent Bit. "^" means do not propagate further (See following section) (See following section) 3. INPUT Bits: One of: 1 Test for 1 0 Test for 0 X Don't Care At each step, each input bit that is not X (Don't Care) is tested for it's value. The possibilities are: 1.The test result is TRUE. The machine goes to the step in NextStep 2.The test result is FALSE.The machine waits SampleTime and Tests again. 3.The test result is FALSE, and 1 or more additional tests follow: Additional tests are entered with the T (Test) prefix and define another test in the Input area. In this case, multiple tests are done in order. If any test is TRUE, it's NextStep is taken. If all tests (Up until a non-BLANK output definition) are FALSE, then after SampleTime the tests are repeated in top-to-bottom order. NOTES: Single-Key Functions: Key Plus the Letter/Number Key F2 : Save : Program on file. F3 : Quit : Prompt/check F4 : Edit : Edit the current line (TAB between fields, ENTER when done) F5 : RUN : Start executing from current step F6 : STOP : Stop wherever we are F7 : STEP : Execute the next step, then stop F8 (-) : BREAK : Set a Breakpoint by Step or StepName. A running program will Halt before executing the Breakpoint Step. Later?: Breakpoint on data value. F10 : Load : Load Program from File N Names (-) : Switches to a screen to edit Output and Input Names  : Scrolls program window up one line : Scrolls program window up n lines  : Scrolls program window down one line : Scrolls program window down n lines Ctrl : Scrolls thru last messages Ctrl : Scrolls thru last messages H Help : Displays Help file (Or hopefully, context-dependent Help) D PgmDesc : Allows user to enter PgmDesc (shown at load time) Insert : Insert a Blank Line BEFORE current (highlighted) step Delete : Delete the current (highlighted) step C Copy : Copy current line to 'clipboard' P Paste : Copy 'clipboard' ON TOP OF current line A sAmples : Allows user to set SampleTime (Saved with program) R Restart : Sets Step back to beginning, clears counters/timers etc. ??Preference: Allows user to set preferences such as: (-) - Display: what's visible, update rate, colors etc - File: Auto save, save desktop status etc 1 thru 8 : Toggle Output Bits ON/OFF. (Bits 7..0 Left-Right) 0 INTERNAL AND EXTERNAL COMMANDS: ------------------------------- Commands may be entered in a step. They take the place of any Input or Output definitions, and are entered on a line immediately after the Step label, and can be up to 32 characters long, including command line arguments. Commands are entered in EDIT when the cursor is on the OUTPUT entry, by Hitting these keys: I or i : INTERNAL Command. Built-in functions: (Examples below) - WAIT (Waits for defined time ) - WAITRANDOM (Waits for Random time up to max of defined time ) - SHOW (Shows message in Msg area) - BEEP (Makes sound on PC speaker) - COUNTER (Controls 1 of 4 internal Counters) - TIMER (Controls 1 of 4 internal Timers) ----( DEBUGGING COMMANDS )----- - STOP (STOP the Bitmachine at this step) - STEP ON (STOP the Bitmachine, wait for SINGLE-STEP button) - STEP OFF (Disable single-step, resume running) E or e : EXTERNAL Command. DOS programs that are executed and then return to the BitMachine. The DOS Return Code can be used to make decisions. Possible Examples: SAY "You pushed Susies button." (Text to Speech Synth) PLAY brakes.wav (recorded audio) OUTDTEMP > 32 (Check temperature) SONAR < 2FT (Read sonar ranger) EXAMPLES: WAIT --------- WAIT