diff --git a/docs/source/emulator/hooks.rst b/docs/source/emulator/hooks.rst index 84c3726..5d351bb 100644 --- a/docs/source/emulator/hooks.rst +++ b/docs/source/emulator/hooks.rst @@ -98,11 +98,17 @@ file descriptors. disk ^^^^ + +.. note:: + + This section should be updated, as there are three classes handling disk + operations. The abstractions should probably also be revisited. + The **disk** module provides a **Disk** class and a **Disk Control** class. The **control** class is used by the **z80io** module to perform disk functions due to the registered io callback functions. -The **disk** can move (step) between tracks,read (but not yet write) data and +The **disk** can move (step) between tracks,read and write data and respond to status commands. The disk needs to be initialised with a preformatted filesystem. @@ -110,7 +116,7 @@ preformatted filesystem. filesys ^^^^^^^ -**filesys** provides funtions to create a filesystem by loading +**filesys** provides functions to create a filesystem by loading track files reconstructed by Mattis Lind or from datamuseum using **loadtracks()**. The contents of the tracks can be inspected by **trackinfo()** which parses the records according to Figure 3 of diff --git a/docs/source/emulator/running.rst b/docs/source/emulator/running.rst index 908c5e8..113f32c 100644 --- a/docs/source/emulator/running.rst +++ b/docs/source/emulator/running.rst @@ -6,7 +6,7 @@ Running the emulator Interactive Session ^^^^^^^^^^^^^^^^^^^ -If you just want to interact with the Q1 via the keyboard you +If you just want to interact with the Q1 via the keyboard, you should use the following invocation .. code-block:: text @@ -14,18 +14,15 @@ should use the following invocation > python3 emulator.py # no instr. decode, no hexdump Typed-in keys are passed to the Q1 system via fake interrupts. -Characters are echoed to the display, so you can see what you are doing, -but the implementation is not great. However it currently helps me in -my investigations. - +Characters are sent to the display emulator. The keyboard interaction is currently tailored to my MacBook Pro keyboard. If you are using a different system you should make your own -bindings. In this case the printed values for non printable characters -are output during an interactive session. +bindings. Values for non printable characters are output during an +interactive session. On my MacBook Pro the following Q1 keys are implemented. Here, -they referenced by their variable names, not the names printed on +they are referenced by their variable names, not the names printed on the keys (see emulator.py): @@ -67,7 +64,7 @@ the keys (see emulator.py): * - Option-t - Toggle instruction decode * - Option-a - - print file descriptors + - misc. debug @@ -82,7 +79,7 @@ Execution decode Breakpoint ^^^^^^^^^^ -You might want to halt the program and printout various information +You might want to halt the program and print out various information when the Program Counter reaches a certain address. To do this: .. code-block:: text diff --git a/docs/source/index.rst b/docs/source/index.rst index f6691a5..eda8f87 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -37,7 +37,6 @@ from ROMs. background/roms - .. toctree:: :caption: PL/1 :maxdepth: 3 @@ -47,16 +46,17 @@ from ROMs. pl1/pl1_v10rgena pl1/pl1_q1 + .. toctree:: :caption: Emulator :maxdepth: 3 :hidden: - emulator/hooks emulator/emulator - emulator/disassembler emulator/running emulator/diskimage + emulator/hooks + emulator/disassembler emulator/annotate background/log