Skip to content

DWMC-16 v2 Design Part 4: IO System

This is the general design for the IO systems used by the DWMC-16.

As the IO System is mapped into a sector in memory, it does share the same subdivision into 4 kiWord memory blocks, with each block of memory used to address one IO module.

None Memory Mapped IO Layout

These 4 kiWord memory Blocks are going to be take n up by the IO modules control and data registers, as well as a ROM, containing information about the IO Module, as well as code to address the module based on a Main OS/Monitor API.

The modules types are going to be separated into the following types:

  • Serial IO
  • Parallel IO
  • Mass Storage
  • Timers
  • Others

Special APIs are going to exist for the first four types, while special drivers for other module types will have to be provided either in the modules ROM or external programs.

It will also be possible to use higher memory pages, sectors and blocks to allow the system to access larger, for example, the frame buffer or a graphical output module.

Blinkenlights Module

A special module within the IO system is the Blinkenlights Module, which will be part of the system from the start and which will be an integral part of both the Monitor and the Main OS. The Module is located in the first block of the Memory Mapped IO sector, populating the addresses from 0x30000 to 0x30fff.

Functionally, the Blinkenlights module will display the address, data and some control bus activity on a set of LEDs, as well as control some of the buses. It will contain switches and buttons to reset the system, to switch between single step and normal operation, and use it to write to the buses and through them modify memory on a low level.

Additionally, the Blinkenlights module will contain two additional displays, in form of a ten digit 7-segment LED display and a 2x20 character LCD or VFD. This is supplemented by a 20 key hexadecimal keyboard with control keys.

Possible Implementation

Generally, all momentary push buttons/keys used for the Blinkenlights Module are going to be Digitast style buttons, while all LEDs will be red.

While the logic used for the buttons, to connect to the bus is up for the later design phase, the 7-segment LED display with the hexadecimal keypad are going to be taken care of by an Intel 8279 keyboard and display controller.

Bus Connector Layout

For the bus connector layout of the DWMC-16, standard DIN 41612 32 column a+b connectors are going to be used for the general availability of these Eurocard connectors, as well as back planes using this standard.

None Bus Connector Layout