3112

From NDWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

3112 is the 8 inch and 5.25 inch floppy controller + streamer controller card.

Introduction

It is a controller for floppy drives (8 and 5.25 inch) and a tape streamer. This is a microprocessor-based controller/formatter which performs control functions and data transfer between the CPU and a floppy disk drive or a streaming tape drive. The controller/formatter consists of an interface towards a ND-100 bus, a complete floppy disk controller, and a QIC-02 streaming tape cartridge, all based on an 8 bit microprocessor (Z80A).

A maximum of four Streaming Tape Drives and four Floppy Disk drives may be connected to the controller.

The FLOPPY DISK CONTROLLER can read/write on single/double density and single/double sided diskettes. Data transfer and exchange of commands/status are performed with DMA (Direct Memory Access).

The controller is compatible with previous single sided controllers. For "stand-alone" use, a new version of FLO-MON (FLOppy-MONitor-2010F or newer) must be dumped on the diskette.

Switches and indicators

  • thumbwheel switch - device number selection
    • 0 - device number 1560
    • 1 - device number 1570
    • 2 - 15 - not used

Connectors

The A and B connectors are used for I/O, the C connector is used for the ND-100 Bus.

Floppy drives are connected via a daisy chain from connector A (unit 0 - 3) and streamer cartridge drives are connected via a daisy chain from connector B (unit 0 - 3).

I/O Devices on the card

Read data

address: device address + 0

Read Status

address: device address + 2

Load Control Word

address: device address + 3

Read Status

address: device address + 4

Load Pointer High (Bit 16-23)

address: device address + 5

Load Pointer Low / Load Data

address: device address + 7

Unused IOXs does not give an IOX error.

Note: Reading either status gives the same result. They are duplicated to make it possible for microprograms in the ND-100 CPU to perform both Binary Format Load and Mass Storage Load (1560& and 21560).


The IOXs devno + 5 and devno + 7 are used to form the pointer to the location in the ND-100 memory where the controller finds the Command block. In tests, these IOXs are given direct meaning in different tests.

Floppy Formats

Octal numbers.

  • 0 IBM SYS-32-II 512 bytes / sector, single side, single density
  • 1 IBM 3600 256 bytes / sector, single side, single density
  • 2 IBM 3740 128 bytes / sector, single side, single density
  • 3 Illegal
  • 4 non IBM 512 bytes / sector, double side, single density
  • 5 non IBM 256 bytes / sector, double side, single density
  • 6 non IBM 128 bytes / sector, double side, single density
  • 7 Illegal
  • 10 non IBM 512 bytes / sector, single side, double density
  • 11 IBM SYS-34 256 bytes / sector, single side, double density
  • 12 Illegal
  • 13 non IBM 1024 bytes / sector, single side, double density
  • 14 non IBM 512 bytes / sector, double side, double density
  • 15 IBM SYS-34 256 bytes / sector, double side, double density
  • 16 Illegal
  • 17 non IBM 1024 bytes / sector, double side, double density
  • 20 Illegal
  • 21 Illegal
  • 22 Basic 5.25 inch 128 bytes / sector, single side, single density
  • 23 - 33 Illegal
  • 34 IBM PC
  • 35 - 57 Illegal
  • 60 - 77 User specified

Error Codes

Error code in octal. These error codes are given in bits 9-15 of status word 1 . The codes are also shown in the digit display on the rear edge of the controller.

  • 00 OK
  • 01 - 04 not used
  • 05 CRC error
  • 06 Sector not found
  • 07 Track not found
  • 10 Format not found (indicates that the diskette has not been formatted)
  • 11 Diskette defect (impossible to format)
  • 12 Format mismatch
  • 13 Illegal format specified
  • 14 Single sided diskette inserted
  • 15 Double sided diskette inserted
  • 16 Write protected diskette / cartridge
  • 17 Deleted record
  • 20 Drive not ready (no diskette in drive, diskette inserted upside down, power failure, no drive with this number)
  • 21 Controller busy on start
  • 22 Lost data (over or underrun)
  • 23 Track zero not detected
  • 24 VCO (voltage controlled oscillator) frequency out of range
  • 25 Microprogram out of range (if the Z80 tries to execute a program from inexistent memory, it will fetch FF hex - the bus is terminated high. This instruction is RST 038H, which gives the error code Microprogram Out of Range.)
  • 26 Timeout
  • 27 Undefined error
  • 30 Track out of range
  • 31 not used
  • 32 Compare error (during compare of data)
  • 33 Internal DMA errors
  • 34 - 37 not used
  • 40 ND-100 Bus error command fetch
  • 41 ND-100 Bus error status transfer
  • 42 ND-100 Bus error data transfer
  • 43 Illegal command
  • 44 Word count not zero
  • 45 Illegal completion (cont. transf.)
  • 46 Addr-reg error
  • 47 not used

autoload errors

  • 50 No bootstrap found on diskette
  • 51 Wrong bootstrap (out of date flo-mon version)
  • 53 - 57 not used

Streamer errors

  • 60 Streamer handshake error
  • 61 Streamer status transfer error
  • 62 Bad cartridge
  • 63 No cartridge installed
  • 64 End of tape, cartridge full
  • 65 Streamer drive error
  • 66 Unidentified exception
  • 67 Illegal command to streamer

Self test errors

  • 70 PROM checksum error
  • 71 RAM error
  • 72 CTC error
  • 73 DMA CTRL error
  • 74 VCO error
  • 75 Floppy controller error
  • 76 Streamer data register error
  • 77 ND-100 register error

ND sales number

  • ND-317

See also

Firmware

The firmware (microcode ?) for this card is held in a 2764 EPROM (AM2764).

3112 34300G firmware IMG 20230417 220540864.jpg

Firmware dump. The file has been compressed with bzip2.

Reference

Norsk Data Document ND–11.021.01 FLOPPY AND STREAMER CONTROLLER 3106/3112