Logo (click for homepage)
BlockDrivers
Version 2.40 - updated 26 September 2023

Historically, most RISC OS machines have at least one serial port, also known as the RS-232 port or the COM-port. Some machines even feature multiple serial ports. In addition, expansion cards with additional ports or modems were available from various parties. Each device generally has its own dedicated software interface (API), which is often not supported by the average application.

 Download the latest release


In an attempt to create a uniform interface for each available serial port, Hugo Fiennes created in the early 1990s the serial BlockDriver specification. Since then, most existing applications have been using this standard to allow flexible selection and configuration of any available serial port.

In 2004, we took over support for the BlockDrivers from Hugo Fiennes, and created this page to distribute all available drivers freely. Note that for the current RISC OS hardware, drivers have to 32-bit and ARMv7 compatible, which is not the case for all drivers. Please read the notes below.

Supported interfaces
Over the years a number of different expansion cards (podules) have been designed by various companies. Below is a non-exhaustive list of these interfaces.

Modern hardware
  • Internal serial port  
    This is the fixed RS232 port that is present on most machines. On some machines only a single port is available, although on modern hardware two or more ports may be available. Now capable of using all additional serial ports and fully ARM v7 compliant.

  • Serial-to-USB adapters     
    USB-to-Serial adapters can be used by using Colin Granville's SerialUSB module. A suitable BlockDriver is now available. The SerialUSB module support several chipsets, including CH340, CP210x, PL2303 and FTDI, and supports CDC devices, such as the Arduino development boards.
Legacy hardware
  • SP_Dual - The Serial Port  
    This card, originally designed by Hugo Fiennes and later sold by Atomwide, came in two flavours: as a 2-port and a 3-port variant. Multiple cards can be used and the maximum number of extra ports is 8 (numbered 0-7). The device driver module has been converted by Tank and is available from  his website.

  • IIDual - Intelligent Interfaces Dual Serial Card  
    This card is still available from Intelligent Interfaces in the UK and consits of two high speed serial RS232 ports. Multiple cards can be used and the maximum number of ports supported by the software is 16 (0-15). A 26/32-bit neutral version of the BlockDrivers and the device driver module have been made available by Intelligent Interfaces and are included in the current release of the BlockDrivers.

  • MultiPort
    This is a dedicated card, developed by X-Ample Technology for some special projects. It consist of two serial RS232 ports and one RS422 synchronous port. It is no longer available and has not been converted to 32-bit.

  • ModemCard
    Although not exactly a serial card, it behaves like one. The card reports itself as a standard RS232 interface to which a modem is connected. Initially developed by Acorn, the card was available from a number of dealers, including X-Ample Technology.
Latest changes
26 Sep 2023 · 2.40
  • New version of BlockDriver module (0.21).
  • New version of !Serial monitoring application (0.30).
  • New versions of SerialUSB (0.16) - compatible with updated !HearSay.
  • Unwanted BlockDrivers can now be removed and re-installed (!Serial).
  • BASIC example updated.

18 Jun 2020 · 2.30
  • New version of BlockDriver module (0.17).
  • New version of !Serial monitoring application (0.26).
  • New versions of Internal32 and SerialUSB.

08 Nov 2019 · 2.21
  • New version of BlockDriver module (0.15).
  • New version of !Serial monitoring application (0.25).
  • Now counts available ports correctly.

21 Dec 2017 · 2.20
  • BlockDriver specification updated and published.
  • New version of the BlockDriver module (0.11).
  • BlockDriver SerialUSB added (0.01).
  • Various fixes in !SerialDev driver scanning code.
  • New version of !Serial monitoring program.

26 Apr 2017 · 2.10
  • BlockDriver specification updated and published.
  • ARMv7 issues fixed.
  • Various new SWIs fixed.
  • Setting data format via IOCtl fixed.
  • Internal32 now support more than 2 ports.
  • IYONIX serial port name issue fixed
  • Vendor-neutral port descriptions added.
  • Various other bugfixes.

10 Jul 2004
Release 2.02 of the BlockDrivers now available for download. New icons added for all components as designed by Richard Hallas.

10 May 2004
A completely new Extended BlockDriver Specification has been created, based on the original BlockDriver specification by Hugo Fiennes. The new specification contains support for 26 and 32 bit systems and serial ports that use a DeviceFS interface, rather than the common SWI interface.

The !SerialDev application still holds the BlockDrivers in separate directories as before, but some new features have been added:
  • A BlockDriver support module has been included.
  • Each BlockDriver directory may now contain a !Boot file (and additional files) that are executed when !SerialDev is launched (e.g. at boot-time).
  • Support for bith IYONIX serial ports has been added.
  • 26/32-bit neutral drivers for the
IIDual card have been added.
  • A new Shareware application
!Serial has been added to allow monitoring of all serial ports.

BlockDrivers
Modern hardware
  • Internal32
  • SerialUSB
  • Dummy
  • PipeA
  • PipeB
  • Telnet
Legacy hardware
  • IIDual
  • IIDualPC
  • Internal
  • InternalPC
  • ModemCard
  • MultiPort
  • SP_Dual
  • SP_DualPC
SerialUSB driver
A new BlockDriver has been added to support Colin Granville's SerialUSB module. This driver offers support for USB-to-Serial adapters with a CH340, CP210x, PL2303 or FTDI chipset. Connected adapters can be addressed in the usual manner, by their logical port number, but also by their physical port number (i.e. their position in the USB tree) or by their serial number. 1

 Latest SerialUSB module

A new version of !ConfiX is available, with full support for SerialUSB devices through a simple user interface, that interacts with the latest version of !USBinfo, for selecting the desired adapter.

 Latest version of !ConfiX

WARNING — Please note that certain USB hubs may behave badly when connecting more than one USB-Serial adapter. This is particularly the case with hubs that use the Genesys Logic GL850x chipset (ID = 05e3:0608 or 05e3:0610). Avoid HUBs with this chipset if possible. USBinfo has been updated to flag a warning when products with these IDs are detected. — HUBs with a Terminus Technology chipset are known to work fine.
  1. Only on devices with an internal serial number, such as FTDI.

Documentation
  1. Extended BlockDriver specification
    Updated 18 June 2020

  2. BlockDriver Module specification
    Updated 21 December 2017
Download
The latest release of the blockdrivers can be downloaded here. This includes the !Serial monitoring application. If you happen to have a blockdriver which is newer than the one provided here, please send it to us so that we can include it with the latest distribution.

Older releases
Below are some older releases of the blockdrivers. They are mainly supplied here for reference only and may be useful if you want to bring a very old machine back to life. They are not suitable for the currently available hardware and are no longer supported.

Further information
Any links shown in red are currently unavailable. © X-Ample Technology BV.
Last changed: Wednesday, 27 September 2023 - 12:58 CET.
Click for homepage