Skip to main content Link Search Menu Expand Document (external link)

Automation

SSEM computer will recognize if automatic emulation is executed. In the case of non-interactive mode (--no-gui), the memory final “snapshot” along with additional information is written to a file named ssem.out.

The file is overwritten after each emulation “stop”.

Example

The emulator automation can be run as follows:

./emuStudio -cf config/SSEMBaby.toml --input-file examples/as-ssem/noodle-timer.ssem auto --no-gui
  • computer configuration config/SSEMBaby.toml will be loaded
  • input file for compiler is one of the standard examples
  • (auto) automatic emulation will be executed
  • (--no-gui) non-interactive mode will be set

The console will contain information about emulation progress:

[INFO] Starting emulation automation...
[INFO] Emulating computer: SSEM (Baby)
[INFO] Compiler: SSEM Assembler, version 0.41
[INFO] CPU: SSEM CPU, version 0.41
[INFO] Memory: SSEM memory (Williams–Kilburn Tube), version 0.41
[INFO] Memory size: 128
[INFO] Device: SSEM CRT display, version 0.41
[INFO] Compiling input file: examples/as-ssem/noodle-timer.ssem
[INFO] Compiler started working.
[INFO] [INFO   ] SSEM Assembler, version 0.41
[INFO] [INFO   ] Compile was successful.
	Output: /home/emuStudio/examples/as-ssem/noodle-timer.bssem
	Program starts at 0x0000
[INFO] Compilation finished.
[INFO] Resetting CPU...
[INFO] Running emulation...
[INFO] Normal stop
[INFO] Instruction location = 0x005C
[INFO] Emulation completed

the emulation will run without user interaction, and file ssem.out will be created with the following content:

ACC=0x3bfffe2
CI=0x58

   L L L L L 5 6 7 8 9 0 1 2 I I I 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
00                                                                 
01             * * * * *       *   * * * * * * * * * * * * * * * * 
02     * * *       *         * *               * * * *             
03     * * *       *           *               * * * *             
04 *   * * *       *             *             * * * *             
05                           * *           * * * * * * * *         
06 * * * * *     * * *         *               * * * *             
07 * *   * *       *             *             * * * *             
08                 *           * *             * * * *             
09   *   * *     * * *                 * * * * * * * * * * * *     
10 *   *                       *               * * * *             
11 * *   * *   *       *         *             * * * *             
12     * * *   * *   * *     * *               * * * *             
13     * * *   *   *   *       *           * * * * * * * *         
14 *   *       *       *     * *               * * * *             
15 *                           *               * * * *             
16 * *   * *   * * * * *         *             * * * *             
17     * * *   * * * *       * *       * * * * * * * * * * * *     
18     * * *   * * * * *       *               * * * *             
19 *                         * *               * * * *             
20   * * * *   * * * *           *             * * * *             
21             *       *       * *         * * * * * * * *         
22             * * * *       * * *             * * * *             
23             *     *                         * * * *             
24             *       *                       * * * *             
25                                 * * * * * * * * * * * * * * * * 
26   * *                                                           
27 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
28             *         * * *   *                                 
29                                             *       * * * * * * 
30   * * * *   * * * * *       *   * * * * * *         * * * * * * 
31   *                                                           *