Skip to content

Commit

Permalink
docs
Browse files Browse the repository at this point in the history
  • Loading branch information
mortenjc committed Nov 21, 2024
1 parent 0575ea0 commit a0aae9e
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 15 deletions.
10 changes: 8 additions & 2 deletions docs/source/emulator/hooks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -98,19 +98,25 @@ 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.


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
Expand Down
17 changes: 7 additions & 10 deletions docs/source/emulator/running.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,23 @@ 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
> 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):


Expand Down Expand Up @@ -67,7 +64,7 @@ the keys (see emulator.py):
* - Option-t
- Toggle instruction decode
* - Option-a
- print file descriptors
- misc. debug



Expand All @@ -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
Expand Down
6 changes: 3 additions & 3 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ from ROMs.
background/roms



.. toctree::
:caption: PL/1
:maxdepth: 3
Expand All @@ -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

Expand Down

0 comments on commit a0aae9e

Please sign in to comment.