3010: Difference between revisions
(Small changes) |
m (Minor edits (linking, pagenumbers, etc)) |
||
Line 1: | Line 1: | ||
'''3010''' Floppy and 4 | '''3010''' (full name: ''Floppy and 4 Terminals Module'') is a card with four serial ports and a floppy disk controller. | ||
{{Missing|More text is needed on the initial description, location and numbering of switches and thumb wheels. A picture of the card and a board revision list is also needed.}} | {{Missing|More text is needed on the initial description, location and numbering of switches and thumb wheels. A picture of the card and a board revision list is also needed.}} | ||
Line 5: | Line 5: | ||
= Floppy interface = | = Floppy interface = | ||
Base address of IOX instructions is set by thumb wheel 1. | Base address of [[IOX]] instructions is set by thumb wheel 1. | ||
* 0 = floppy system no 1 ([[ND-100 device number | device numer]] 1560, [[IDENT]]=21) | * 0 = floppy system no 1 ([[ND-100 device number | device numer]] 1560, [[IDENT]]=21) | ||
* 1 = floppy system no 2 ([[ND-100 device number | device numer]] 1570, [[IDENT]]=22) | * 1 = floppy system no 2 ([[ND-100 device number | device numer]] 1570, [[IDENT]]=22) | ||
Line 114: | Line 114: | ||
Example | Example | ||
% Set the interface in test mode | % Set the interface in test mode | ||
SAA 10 | [[SAA]] 10 | ||
IOX WCWD | [[IOX]] WCWD | ||
% Do the testing here | % Do the testing here | ||
Line 151: | Line 151: | ||
=References= | =References= | ||
*{{ND-doc|06.015.02}} | *{{ND-doc|06.015.02}} | ||
** Chapter 6.7 I/O system connection to the interrupt system ( | ** Chapter 6.7 I/O system connection to the interrupt system (page 190-195) | ||
** Chapter 6.8 DMA ( | ** Chapter 6.8 DMA (page 196-203) | ||
** Appendix B.4 ND-100 floppy disk programming instructions | ** Appendix B.4 ND-100 floppy disk programming instructions (page 286) | ||
::The end of B.4 contains garbage about card readers. | ::The end of B.4 contains garbage about card readers. | ||
** Appendix D.7 Switches on the floppy and 4 terminals module (3010) ( | ** Appendix D.7 Switches on the floppy and 4 terminals module (3010) (page 313) | ||
[[Category:ND-100 hardware]] | [[Category:ND-100 hardware]] |
Revision as of 06:36, 6 April 2009
3010 (full name: Floppy and 4 Terminals Module) is a card with four serial ports and a floppy disk controller.
Floppy interface
Base address of IOX instructions is set by thumb wheel 1.
- 0 = floppy system no 1 ( device numer 1560, IDENT=21)
- 1 = floppy system no 2 ( device numer 1570, IDENT=22)
- 2-15 is unused and the card will answer on IOX 0-7.
The floppy uses 8 addresses in the IO area.
- base+0 RDAT : Read data buffer
- base+1 WDAT : Write data buffer
- base+2 RSR1 : Read status register 1
- base+3 WCWD : Write Control Word
- base+4 RSR2 : Read status register 2
- base+5 WDAD : Write Drive Address/Write Difference
- base+6 RTST : Read Test Data
- base+7 WSCT : Write Sector/Write Test Byte
Interrupt level is 11.
IOX register details
IOX Read data buffer
IOX base+0 reads one 16 bit word from the buffer. The buffer is automatically incremented.
IOX Write data buffer
IOX base+1 writes one 16 bit word into the data buffer. The buffer is automatically incremented.
IOX Read status register 1
IOX base+2
- Bit 0 : Not used
- Bit 1 : Interrupt enabled
- Bit 2 : Device busy
- Bit 3 : Device ready for transfer
- Bit 4 : Error bit set in status register 2
- If set then there has occured an error and status register 2 must be read before continuing.
- Bit 5 : Deleted record
- Set after a read data command if the sector contained a deleted data address mark.
- Bit 6 : Read/Write complete
- A read or write operation has completed
- Bit 7 : Seek completed
- This bit is set after a seek or recalibration command when the disk has finished moving the R/W head.
- Bit 8 : Time Out
- set after approximately 1.5 s.
IOX Write Control Word
IOX base+3
- Bit 0 : Not used
- Bit 1 : Enable Interrupt
- Bit 2 : Not used
- Bit 3 : Test Mode (see IOX RTST and IOX WSCT)
- Bit 4 : Device Clear
- Selected drive is deselected
- Bit 5 : Clear interface buffer address
- Bit 6 : Enable timeout
- Bit 7 : Not used
- Bit 8 : Format track
- Bit 9 : Write data
- Bit 10 : Write deleted data
- Bit 11 : Read ID
- Bit 12 : Read data
- Bit 13 : Seek
- Bit 14 : Recalibrate
- Bit 15 : Control reset
Bit 8-15 are commands to the floppy disk. Bit 8-14 are the only bits that generates device busy and give interrupt.
IOX Read status register 2
IOX base+4
- Bit 0-7 : Not used
- Bit 8 : Drive not ready
- Set if the drive door is open, wrong drive address, the disk isn't properly inserted or the drive isn't powered up.
- Bit 9 : Write protect
- Set when a write is made to a write protected floppy
- Bit 10 : Not used
- Bit 11 : Sector missing - no AM
- Set by Read data, Write data or Write deleted data access a sector that can't be located on the disk. It might also indicate a non locatable data field address mark or ID field address mark.
- Bit 12 : CRC error
- Bit 13 : Not used
- Bit 14 : Data overrun
- A data byte was lost in the communication between the NORD-100 interface and the floppy disk system
- Bit 15 : Not used
IOX Write Drive Address/Write Difference
IOX base+5 The data writte is interpreted in two different was depending on the value of bit 0 of the A register.
Bit 0=1 : Write Drive Address
- Bit 1-7 : Not used
- Bit 8-10 : Drive address (unit number) 0, 1 or 2
- Bit 11 : Deselect drives
- Bit 12-13 : Not used
- Bit 14-15 : Format select
- Bit 15=0, Bit 14=x : IBM 3740 128 bytes/sector 26 sectors/track
- Bit 15=1, Bit 14=0 : IBM 3600 256 bytes/sector 15 sectors/track
- Bit 15=1, Bit 14=1 : IBM System 32-11 512 bytes/sector 8 sectors/track
Bit 0=0 : Write Difference
- The value written here is used for the seek command.
- Bit 1-7 : Not used
- Bit 8-14 : Tracks to move
- Bit 15 : Direction
- Bit 15=0 move out to a lower track address
- Bit 15=1 move in to a higher track address
IOX Read Test Data
IOX base+6 This instruction is used for testing and simulating of data transfer between the ND-100 and the floppy interface. It does not transfer data into the A register, the command transfer the test byte (see Write Test Byte) into the device buffer. The data is then possible to read via the normal commands.
IOX RTST does not generate any interrupts or busy signals.
Example
% Set the interface in test mode SAA 10 IOX WCWD % Do the testing here % Reset the interface to clear test mode SAA 0 IOX WCWD SAA 20 IOX WCWD
IOX Write Sector/Write Test Byte
IOX base+7 The data written is interpreted in two different ways depending on if the device is in test mode or not.
If in test mode, IOX WSCT loads the test byte that is used in the IOX RTST command. If in normal mode IOX WSCT writes the sector number to use in following read/write command.
Normal mode:
- Bit 0-7 : Not used
- Bit 8-14 : Sector to use
- 1-26 for IBM 3740
- 1-15 for IBM 3600
- 1-8 for IBM System 32-11
- 0 must not be used
- Bit 15 : Sector auto incremented
- If set then the sector register is incremented on every read/write command. It is not valid when incremented past the format limits.
Serial ports
This section is missing information: Add specifics. Add a link to the general programming specification for the serial ports.. Please remove this template when the missing information is added. |
Notes about the schematics
There is a bootstrap prom, ND prom no 007-00-A of 512 byte (74S472) and a memory bank of 1kword RAM.
Serial ports is made with an IM-6402 UART per port, same as the 8-port card.
References
- Norsk Data Document ND–06.015.02 ND-100 FUNCTIONAL DESCRIPTION
- Chapter 6.7 I/O system connection to the interrupt system (page 190-195)
- Chapter 6.8 DMA (page 196-203)
- Appendix B.4 ND-100 floppy disk programming instructions (page 286)
- The end of B.4 contains garbage about card readers.
- Appendix D.7 Switches on the floppy and 4 terminals module (3010) (page 313)