NetBSD/acorn26: Unsupported Hardware List

This list is intended to collate information about hardware which isn't supported by NetBSD/acorn26, but which could/should be.

Built-in hardware

VIDC audio

The VIDC audio system should be fairly similar to the Risc PC one, whose driver lives at src/sys/arch/arm/iomd/vidcaudio.c.

Support for 6551 serial ports

Archimedes-style machines use a Rockwell 6551 ACIA for the serial port. This needs a driver, and should provide console support as well. I've got a data sheet for the 6551 and plenty of machines with them in.

WD1772 floppy disc support

Old-style machines use a WD1772 FDC. This is the same chip as is used in certain atari machines. Their driver is in src/sys/arch/atari/dev/fd.c. There should be an MI version.

Archimedes parallel port

The Archimedes parallel port is a very simple device and should be easy to support. The A3000 TRM explains how it works.

ST-506 hard disc interface

The original Archimedes hard disc interface is based on the Hitachi HD63463. Linux has a driver for it.

New-style floppy disc support

IOEB machines use the 765-compatible floppy controller on the 82C71x. This seems to get a new driver for every machine it's found in, so we need one for acorn26 (probably based on the acorn32 one in src/sys/arch/acorn32/mainbus/fd.c).

Support for onboard hardware on IOEB machines

Machines like the A5000 use an 82C71x Universal Peripheral Controller to provide the motherboard I/O devices. Support is in the source tree, but is mostly untested.

Podules

Acorn SCSI

The asc driver ported from NetBSD/acorn32 hangs while probing absent devices. This should be fixed. It may also be worth looking at the patches in PR#10539 and PR#8484.

Castle Technology EtherSCSI

Castle Technology's EtherSCSI card contains an AMD 53c94 and an Intel 82595. The 53c94 seems to be supported by src/sys/dev/ic/ncr53c9x.c, and seems to have some standard pseudo-DMA support in e.g. src/sys/dev/isa/esp_isa.c. The 82595 has an ISA driver in src/sys/dev/isa/if_iy.c, which looks amenable to porting. The Storm16 seems to be the same card without the Ethernet components fitted.

SJ Research Nexus interface

Nexus was SJ Research's proprietary ATM network system. At its lowest level, it seems to use INMOS Link over differential twisted pair cabling, and looks much like a very fast (20Mbit/s) serial port. All the higher-level protocol is handled in software, but implementing PPP over it ought to be easy enough.

SJ Research mutated into SJ Consulting, and the Nexus is (I believe) now supported by ExpLAN.

Computer Concepts ColourCard

I've got a Computer Concepts ColourCard, which is a replacement framebuffer for the Archimedes. It only works sporadically, but is very nice when it does. It uses an INMOS G332 framebuffer chip, which has some support in NetBSD ( src/sys/arch/pmax/dev/ims332.c). The framebuffer data is copied to the card from the Arc's video memory by means of a ribbon cable which plugs into the VIDC's four-bit digital output (which is usually used for hi-res mono modes). This means that using it as an independent framebuffer may be tricky unless there's some other way to get data in. FWIW, it's this copying mechanism that seems to be playing up on mine. In its default state, the card's sufficiently backward compatible that I can boot NetBSD displaying through it, which is cute. Computer Concepts no longer have any programming documentation for it available.

Wild Vision Sound Sampler

I've got a Wild Vision Sound Sampler podule, branded "Clares". Computer Concepts (who took over Wild Vision) deny all knowledge of this card. Clares couldn't find much information about it. Disassembling the RISC OS driver indicates it's a very crude card -- I can't yet work out how it gets the timing of samples right (if, indeed, it does).

Computer Concepts Lark A16

A 16-bit sound and MIDI card made by Wild Vision. The sound side is an AD1848, supported by src/sys/dev/ic/ad1848.c. The MIDI interface uses a 16550.

Computer Concepts Eagle M2

Another Wild Vision job, this has a Yamaha YMZ263 for sound and MIDI, and a lot of Philips chips for video decoding.

Wild Vision Bi-Directional Centronics Port

I've got one of these too. It's based around a 65C22, and I've drawn out most of the circuit diagram, so it should be easy enough to write a driver for it. Computer Concepts deny all knowledge of this one too.

ACE MIDI-Connect

This is based on a 16550, so driving it should be easy. I've got the com driver attaching properly. Now we just need a MIDI line discipline.

acemidi0 at podulebus0 slot 3 com0 at acemidi0:
      ns16550a, working fifo

Cumana SLCD interface

A proprietary CD-ROM interface used by Panasonic. I've only got the card, not the drive. The card seems fairly simple, and Theo Markettos has collected some information on the interface.

Acorn AKA12 A3000 User Port and MIDI

The user port is the traditional 6522, while the MIDI is an SCC2691. I've got data sheets for both, and the card's documented in the A3000 TRM.

Acorn AKA10 BBC I/O

Provides a user port (6522), 1MHz bus, Analogue input (D7002) and optional MIDI (SCC2691, not fitted on mine). Sorting out good abstractions for the BBC I/O ports might be interesting.

HCCS A3000 User Port and ADC

A subset of the BBC I/O board, with just the 6522 and D7002 present.

Morley A3000 User Port and ADC.

Like the HCCS one, but by a different manufacturer (and possibly with a different memory map).

Oak Solutions User Port and ADC.

Yet another one.

HCCS Ultimate Expansion System

A board for the A3020 (with variants for other machines) which could take three "micro-podules", none of which I have. The main board also has a user port on it.

Miscellaneous expansions

Floating Point Units

There are two types of FPU available for acorn26 systems: the Acorn FPPC/WE32206 combination and the ARM FPA. They use the same instruction set, though their Control Registers are different. NetBSD/acorn26 should at least have kernel support for saving and loading FPU state on context switches. I've got an FPPC card. The RISC OS 2 and RISC OS 3 PRMs each contain information on the FPUs in the Floating Point Emulator chapter. Each version includes some information the other misses out.