This list is mostly complete but if you have any additional information or you have noticed any errors then please inform me! I am also interested in compiling a Falcon list as well, if anyone has the hardware information on the Falcon then please inform me!
Now a bit of history. This list started out as my own refernce, as I found out more about the ST hardware and the memory map I wrote it down in a text file. When I got my PC I formatted this information on a good word processor and added all the port pinouts. Now I've got my internet connection I decided it was about time this reference went public, and what better way than a WWW page?!
Long live Atari!
Jim Boulton - je-boult@csm.uwe.ac.uk
All the following processor timings are based on a bog standard 8MHz 68000 as found in all standard ST's. Clock cycles per line (50Hz) : 512 NOPs per scan line (50Hz) : 128 Scan lines per VBL (50Hz) : 313 Clock cycles per line (60Hz) : 508 NOPs per scan line (60Hz) : 127 Scan lines per VBL (60Hz) : 315 Clock cycles per VBL : 160256 NOPs per VBL : 40064 Pixels per clock cycle (low res) : 1 Pixels per clock cycle (med res) : 2 Pixels per clock cycle (high res) : 4 Pixels per NOP (low res) : 4 Pixels per NOP (med res) : 8 Pixels per NOP (high res) : 16
Priority Description 15 (HIGHEST) Monochrome monitor detect 14 RS232 ring indicator 13 System clock (timer A) 12 RS232 receive buffer full 11 RS232 receive error 10 RS232 transmit buffer empty 9 RS232 transmit buffer full 8 Horizontal blanking counter (MFP timer B) 7 Disk drive controller 6 Keyboard and MIDI (ACIA) 5 MFP timer C 4 RS232 baud rate generator (MFP timer D) 3 GPU operation done 2 RS232 Clear To Send (CTS) 1 RS232 Data Carrier Detect (DCD) 0 (LOWEST) Centronics busy
Error Description of error 1 General error 2 Drive not ready 3 Unknown command 4 CRC error - disk checksum wrong 5 Bad request 6 Seek error - track not found 7 Unknown media 8 Sector not found 9 Out of paper 10 Write fault 11 Read fault 12 General error 12 13 Disk write protected 14 Media change detected 15 Unknown device 16 Bad sector (verify) 17 Insert other disk (request) 32 Invalid function number 33 File not found 34 Path not found 35 Too many files open 36 Access denied 37 Invalid handle 39 Out of memory 40 Invalid memory block address 46 Invalid drive specification 49 No more files 64 GEMDOS range error - seek wrong? 65 GEMDOS internal error 66 Invalid executable file format 67 Memory block growth failure
| HOP LOP| 0 1 2 3 HOP = Halftone Operation ---+----------- LOP = Logical Operation 0 | 1 1 1 1 1 | 2 2 3 3 All timings are assuming the BLITTER is 2 | 2 2 3 3 the only DMA device using the BUS. If other 3 | 1 1 2 2 devices are using the BUS the figures may 4 | 2 2 3 3 increase. 5 | 2 2 2 2 6 | 2 2 3 3 All timing figures are given in nops per word 7 | 2 2 3 3 of transfer. Ie. a value of 2 would take the 8 | 2 2 3 3 equivilent time of 2 nops to transfer 1 word 9 | 2 2 3 3 of data. 10 | 2 2 2 2 11 | 2 2 3 3 12 | 1 1 2 2 13 | 2 2 3 3 14 | 2 2 3 3 15 | 1 1 1 1
$000 Initial SSP value after reset $004 Initial PC address after reset $008 Bus error vector $00C Address error vector $010 Illegal instruction vector $014 Divide by zero vector $018 Check instruction vector $01C Trapv instruction vector $020 Privilege violation vector $024 Trace vector $028 Line 0101 $02C Line 1111 ---- Reserved ($30-$5F) $060 Spurious interrupt (level 6) $064 Interrupt level 1 (HBL) $068 Interrupt level 2 (HBL) $06C Interrupt level 3 (processor interrupt) $070 Interrupt level 4 (VBL) $074 Interrupt level 5 $078 Interrupt level 6 (MFP interrupts) $07C Interrupt level 7 (non-maskable interrupt) $080 Trap 0 $084 Trap 1 $088 Trap 2 $08C Trap 3 $090 Trap 4 $094 Trap 5 $098 Trap 6 $09C Trap 7 $0A0 Trap 8 $0A4 Trap 9 $0A8 Trap 10 $0AC Trap 11 $0B0 Trap 12 $0B4 Trap 13 $0B8 Trap 14 $0BC Trap 15 ---- Reserved ($C0-$FF) $100 Parallel port interrupt vector (centronics busy) $104 RS232 carrier detect interrupt vector $108 RS232 clear to send interrupt vector $10C Graphics blt done interrupt vector $110 MFP timer D interrupt vector $114 MFP timer C interrupt vector (200Hz) $118 ACIA keyboard processor interrupt vector $11C Polled fdc/hdc interrupt vector $120 MFP timer B interrupt vector (HBL counter) $124 RS232 transmit error interrupt vector $128 RS232 transmit buffer empty interrupt vector $12C RS232 receive error interrupt vector $130 RS232 receive buffer full interrupt vector $134 MFP timer A interrupt vector $138 RS232 ring interrupt vector $13C Polled monochrome monitor detect interrupt vector ---- Reserved ($140-$1FF)
---- Reserved for OEMs ($200-$37F)
$380 L proc_lives Processor state saved if system variable set to $12345678 $384 16xL proc_regs D0-D7/A0-A6,A7_SSP $3C4 L proc_c First byte exception number $3C8 L proc_usp User stack pointer $3CC 16xW proc_stk Sixteen words of superstack
$400 L evt_timer Timer handoff (logical vector $100) $404 L evt_critic Critical error handoff (logical vector $101) $408 L evt_term Process terminate handoff (logical vector $100) $40C 15xL evt_xtra Space for reserved logical vector ($103-$107) $420 L memvalid $752019F3 (cold start OK) $424 B memcntlr Memory controller low nibble 0 - 128KB, 4 - 256KB $426 L resvalid $31415926 to jump to reset vector $42A L resvector reset vector $42E L phystop Physical RAM top (points to first unusable byte RAM) $432 L _membot Available memory bottom (getmpb uses) $436 L _memtop Available memory top (getmpb uses) $43A L memval2 $237698AA $43E W flock Floppy FIFO lock variable $440 W seekrate 0 - 6ms, 1 - 12ms, 2 - 2ms, 3 - 3ms (default) $442 W _timr_ms System timer calibration $444 W _fverify 0 - no write verify else verify (default) $446 W _bootdev System boot device number $448 W palmode 0 - NTSC (60Hz) else PAL (50Hz) $44A B defshftmd Default video res. if monitor changed $44C B sshiftmd Shadow shiftmd hardware register 0 - 320x200x4, 1 - 640x200x2, 2 - 640x400x1 $44E L _v_bas_ad Screen memory base pointer, 256 byte boundary $452 W vblsem Vertical blank exclusion semaphore, 1 - vblank enabled $454 W nvbls No. longwords vblqueue points to (normally 8) $456 L _vblqueue Vblank handlers pointer to routine address $45A L colorptr 0 - null, else points to a colour palette $45E L screenpt Pointer to screen base $462 L _vbclock Counter for vblank interrupts $466 L _frclock Counter for vblank interrupts $46A L hdv_init Hard disk initialise vector, else 0 $46E L swv_vec Monitor changed vector $472 L hdv_bpb Hard disk bpb vector, else 0 $476 L hdv_rw Hard disk read/write vector, else 0 $47A L hdv_boot Hard disk boot vector, else 0 $47E L hdv_mediach Hard disk media change vector else, 0 $482 W _cmdload <>0 load and execute COMMAND.PRG (boot dev) $484 W conterm Attribute bits for console sys, bits: 0 - bell on (^G) 1 - key repeat 2 - key click 3 - bios conin() function $485 B Reserved $486 L trp14ret Saved trap 14 return address $48A L criticret Saved return address for evt_critic $48E L themd GEMDOS memory descriptions (static) Structure MD m_link Next MD/null m_start Start of TPA m_length Byte size of TPA m_own MD's owner/null $49E W _md $4A2 L savptr BIOS register save area pointer $4A6 W _nflops Number of floppy disks attached (0, 1 or 2) $4A8 L con_state State of conout() parser $4AC W save_row Save row number for x-y addressing $4AE L sav_contxt Pointer to saved processor context $4B2 L _buf1 GEMDOS two buffer-list pointers 1st buffer's data sectors 2nd buffer's FAT and DIR sectors Structure BCB b_link next BCB b_bufdrv drive number b_buftyp buffer type b_bufrec record number cached b_dirty dirty flag b_dm drive media descriptor b_bufr buffer pointer $4BA L _hz_200 Raw 200Hz timer $4BE L the_env Default environment string $00000000 $4C2 L _drvbits 32 bit vector of live block devices $4C6 L _dskbufp Pointer to common disk buffer, 1KB system BSS $4CA L _autopath Pointer to autoexec path or null $4CE 8xL _vbl_list Initial vblqueue $4EE W _prt_cnt Initially -1, Alt_Help increments $4F0 W _prtabt Printer abort flag $4F2 L _sysbase Base of OS pointer (RAM or ROM TOS) $4F6 L _shell_p Global shell info pointer $4FA L end_os Pointer to end of OS memory usage $4FE L exec_os Pointer to shell address to exec on startup
$E00000 Start of ROM OS (for version 1.4 and above) $FA0000 Start of cartridge memory mapped ROM $FC0000 Start of ROM OS (for versions below 1.4)
$FFFF8001 r/w |....xxxx| Memory configuration | |___________ Bank 1 (see table below) |_____________ Bank 0 Value Bank size 0 0KB 1 512KB 2 2048KB
$FFFF8201 r/w |xxxxxxxx| Video base high $FFFF8203 r/w |xxxxxxxx| Video base medium $FFFF8205 r |..xxxxxx| Video address counter high (r/w on STe) $FFFF8207 r |xxxxxxxx| Video address counter med (r/w on STe) $FFFF8209 r |xxxxxxx.| Video address counter low (r/w on STe) $FFFF820A r/w |......xx| Sync mode ||__________ External/Internal sync |___________ 50/60Hz $FFFF820D r/w |xxxxxxx.| STe video base low $FFFF820F r/w |xxxxxxxx| STe over-length line width $FFFF8240 r/w |....xxxxxxxxxxxx| Palette colour (1 word each, first of 16) || || ||____ Blue intensity (0-7) || || |_____ STe blue LSB || ||________ Green intensity (0-7) || |_________ STe green LSB ||____________ Red intensity (0-7) |_____________ STe red LSB $FFFF8260 r/w |......xx| Screen resolution |___________ 0 - 320x200x4 1 - 640x200x2 2 - 640x400x1 $FFFF8264 r/w |....xxxx| Undocumented STE pixel hard scroll $FFFF8265 r/w |....xxxx| STE pixel hard scroll
$FFFF8604 r/w |........xxxxxxxx| Disk controller $FFFF8606 r |.............xxx| DMA status |||__ DMA Error ||___ Sector count zero |____ Read/Write $FFFF8606 w |.......xxxxxxxx.| DMA status ||||||||___ FDC pin A0 |||||||____ FDC pin A1 ||||||_____ FDC/HDC register select |||||______ FDC/sector count select ||||_______ RESERVED |||________ Enable/Disable DMA ||_________ HDC/FDC |__________ Read/Write $FFFF8609 r/w |..xxxxxx| DTA high byte $FFFF860B r/w |xxxxxxxx| DTA middle byte $FFFF860D r/w |xxxxxxx.| DTA low byte
$FFFF8800 r |xxxxxxxx| PSG register data w |xxxxxxxx| PSG register select Reg Bits Description 0 8 Channel A fine tune 1 4 Channel A coarse tune 2 8 Channel B fine tune 3 4 Channel B coarse tune 4 8 Channel C fine tune 5 4 Channel C coarse tune 6 5 Noise generator control 7 8 Mixer control - I/O enable 8 5 Channel A amplitude 9 5 Channel B amplitude 10 5 Channel C amplitude 11 8 Envelope period fine tune 12 8 Envelope period coarse tune 13 4 Envelope shape 14 8 I/O port A 15 8 I/O port B (centronics printer port) $FFFF8802 w |...xxxxx| PSG register 5 (Noise Generator) |xxxxxxxx| PSG register 7 (Mixer Control) ||||||||__________ Channel A tone control (enable/disable) |||||||___________ Channel B tone control ||||||____________ Channel C tone control |||||_____________ Channel A noise control (enable/disable) ||||______________ Channel B noise control |||_______________ Channel C noise control ||________________ I/O Port A status (input/output) |_________________ I/O Port B status |...xxxxx| PSG register 8-10 (Channel Amplitude) ||_____________ Channel volume (0-15) |______________ Hardware enveloping (enable/disable) |....xxxx| PSG register 13 (Envelope Shape) ||||__________ Hold |||___________ Alternate ||____________ Attack |_____________ Continue |xxxxxxxx| PSG register 14 (I/O port A) ||||||||__________ Floppy side 0/1 select |||||||___________ Floppy drive 0 select ||||||____________ Floppy drive 1 select |||||_____________ RS232 Ready To Send (RTS) ||||______________ RS232 Data Terminal Ready (DTR) |||_______________ Centronics STROBE ||________________ General purpose output (GPO) |_________________ RESERVED |xxxxxxxx| PSG register 15 (I/O port B, printer port)
$FFFF8901 r/w |......xx| STE enable audio DMA ||__________ Play/Stop |___________ Loop/Play once $FFFF8903 r/w |..xxxxxx| Start address high $FFFF8905 r/w |xxxxxxxx| Start address medium $FFFF8907 r/w |xxxxxxx.| Start address low $FFFF8909 r/w |..xxxxxx| Address counter high $FFFF890B r/w |xxxxxxxx| Address counter medium $FFFF890D r/w |xxxxxxx.| Address counter low $FFFF890F r/w |..xxxxxx| End address high $FFFF8911 r/w |xxxxxxxx| End address medium $FFFF8913 r/w |xxxxxxx.| End address low $FFFF8921 r/w |x.....xx| Stereo mode and frequency | |___________ 0 - 6.25KHz | 1 - 12.5KHz | 2 - 25KHz | 3 - 50KHz |_________________ Mono/Stereo $FFFF8922 r/w |xxxxxxxxxxxxxxxx| Microwire data Device Command Operand (6-bit) %10 %000 Mixer control 1 - mix chip %10 %001 Bass 0 - 12 %10 %010 Treble 0 - 12 %10 %011 Master volume 0 - 40 %10 %100 Right channel volume 0 - 20 %10 %101 Left channel volume 0 - 20 $FFFF8924 r/w |xxxxxxxxxxxxxxxx| Microwire mask
$FFFF8A00 r/w |xxxxxxxxxxxxxxxx| 1st of 16 half tone registers $FFFF8A20 r/w |xxxxxxxxxxxxxxx.| Source x byte increment $FFFF8A22 r/w |xxxxxxxxxxxxxxx.| Source y byte increment $FFFF8A24 r/w |........xxxxxxxx| Source address $FFFF8A26 r/w |xxxxxxxxxxxxxxx.| $FFFF8A28 r/w |xxxxxxxxxxxxxxxx| Left end mask $FFFF8A2A r/w |xxxxxxxxxxxxxxxx| Middle mask $FFFF8A2C r/w |xxxxxxxxxxxxxxxx| Right end mask $FFFF8A2E r/w |xxxxxxxxxxxxxxx.| Destination x byte increment $FFFF8A30 r/w |xxxxxxxxxxxxxxx.| Destination y byte increment $FFFF8A32 r/w |........xxxxxxxx| Destination address $FFFF8A34 r/w |xxxxxxxxxxxxxxx.| $FFFF8A36 r/w |xxxxxxxxxxxxxxxx| x count (0=65536 words) $FFFF8A38 r/w |xxxxxxxxxxxxxxxx| y count (0=65536 lines) $FFFF8A3A r/w |......xx| Halftone operation |___________ Halftone operator (see table) Value Blitter Output 0 all ones 1 halftone 2 source 3 source AND halftone $FFFF8A3B r/w |....xxxx| Logical operation |_____________ Logical operator (see table) Value Blitter Output 0 all zeros 1 source AND destination 2 source AND NOT destination 3 source 4 NOT source AND destination 5 destination 6 source XOR destination 7 source OR destination 8 NOT source AND NOT destination 9 NOT source XOR destination 10 NOT destination 11 source OR NOT destination 12 NOT source 13 NOT source OR destination 14 NOT source OR NOT destination 15 all ones $FFFF8A3C r/w |xxx.xxxx| Control register ||| |_____________ Current line number |||_______________ Smudge ||________________ Hog |_________________ Busy $FFFF8A3D r/w |xx..xxxx| Skew register || |_____________ Pixel skew ||________________ NFSR (No Final Source Read) |_________________ FXSR (Force eXtra Source Read)
$FFFF9201 r |....xxxx| Fire buttons ||||__________ Fire 0 |||___________ Fire 2 ||____________ Fire 1 |_____________ Fire 3 $FFFF9202 r/w |xxxxxxxxxxxxxxxx| Joystick directions (UDLR) | | | |_____ Joystick 0 | | |_________ Joystick 1 | |_____________ Joystick 2 |_________________ Joystick 3 $FFFF9211 r |xxxxxxxx| Paddle 0 X $FFFF9213 r |xxxxxxxx| Paddle 0 Y $FFFF9215 r |xxxxxxxx| Paddle 1 X $FFFF9217 r |xxxxxxxx| Paddle 1 Y $FFFF9220 r |......xxxxxxxxxx| Light pen/gun X $FFFF9222 r |......xxxxxxxxxx| Light pen/gun Y
$FFFFFA01 r/w |x.xx...x| MFP GP I/O | || |__________ Parallel port status | ||______________ WD1772 active | |_______________ Interrupt |_________________ Mono monitor $FFFFFA03 r/w |xxxxxxxx| Active edge ||||||||__________ Centronics busy |||||||___________ RS-232 Data Carrier Detect (DCD) ||||||____________ RS-232 Clear To Send (CTS) |||||_____________ Reserved ||||______________ ACIA Interrupt |||_______________ FDC/HDC interrupt ||________________ RS-232 ring indicator |_________________ Mono monitor detect $FFFFFA05 r/w |xxxxxxxx| Data direction (all bits IN/OUT) $FFFFFA07 r/w |xxxxxxxx| Interrupt enable A $FFFFFA0B r/w |xxxxxxxx| Interrupt pending A $FFFFFA0F r/w |xxxxxxxx| Interrupt in-service A $FFFFFA13 r/w |xxxxxxxx| Interrupt mask A ||||||||__________ MFP timer B (ENABLE/DISABLE) |||||||___________ RS-232 transmit error ||||||____________ RS-232 transmit buffer empty |||||_____________ RS-232 receive error ||||______________ RS-232 receive buffer full |||_______________ MFP timer A ||________________ RS-232 ring indicator |_________________ Monochrome detect $FFFFFA09 r/w |xxxxxxxx| Interrupt enable B $FFFFFA0D r/w |xxxxxxxx| Interrupt pending B $FFFFFA11 r/w |xxxxxxxx| Interrupt in-service B $FFFFFA15 r/w |xxxxxxxx| Interrupt mask B ||||||||__________ Centronics busy (ENABLE/DISABLE) |||||||___________ RS-232 Data Carrier Detect (DCD) ||||||____________ RS-232 Clear To Send (CTS) |||||_____________ Blitter done ||||______________ MFP Timer D (USART) |||_______________ MFP timer C (200Hz clock) ||________________ ACIA interrupt |_________________ FDC/HDC controller $FFFFFA17 r/w |....x...| Vector base |_____________ Manual/Auto end of interrupts $FFFFFA19 r/w |....xxxx| Timer A control $FFFFFA1B r/w |....xxxx| Timer B control |_____________ Timer delay mode (see table) Value Delay (divider) %0000 Timer stop %0001 4 %0010 10 %0011 16 %0100 50 %0101 64 %0110 100 %0111 200 %1000 Event count mode %1xxx Pulse extension mode (delay as above) $FFFFFA1D r/w |.xxx.xxx| Timers C&D control | |____________ Timer D delay mode (see table) |________________ Timer C delay mode (see table) Value Delay (divider) %000 Timer stop %001 4 %010 10 %011 16 %100 50 %101 64 %110 100 %111 200 $FFFFFA1F r/w |xxxxxxxx| Timer A data $FFFFFA21 r/w |xxxxxxxx| Timer B data $FFFFFA23 r/w |xxxxxxxx| Timer C data $FFFFFA25 r/w |xxxxxxxx| Timer D data $FFFFFA27 r/w |xxxxxxxx| Sync character $FFFFFA29 r/w |xxxxxxx.| USART control register | | |||___________ Parity odd/even | | ||____________ Parity enable/disable | | |_____________ Protocol A (see table) | |_______________ Protocol B (see table) |_________________ Clock divide by 16 off/on Protocol A Protocol B Value Stop Start Format Value Data %00 0 0 Synchronous %00 8 %01 1 1 Asynchronous %01 7 %10 1 1.5 Asynchronous %10 6 %11 1 2 Asynchronous %11 5 $FFFFFA2B r/w |xxxxxxxx| Receiver status ||||||||__________ Receiver enable bit |||||||___________ Synchronous strip enable ||||||____________ Match/Character in progress |||||_____________ Found, Search/Break detected ||||______________ Frame error |||_______________ Parity error ||________________ Frame error |_________________ Overrun error $FFFFFA2D r/w |xxxxxxxx| Transmitter status ||||||||__________ Transmitter enable bit |||||||___________ Low bit ||||||____________ High bit |||||_____________ Break ||||______________ End of transmission |||_______________ Auto turnaround ||________________ Underrun error |_________________ Buffer empty $FFFFFA2F r/w |xxxxxxxx| USART data
$FFFFFA40 r/w Status register $FFFFFA4A r/w Command register $FFFFFA4E r/w CCR register $FFFFFA50 r/w Operation register
$FFFFFC00 r/w |xxxxxxxx| Keyboard ACIA control $FFFFFC02 r/w |xxxxxxxx| Keyboard ACIA data $FFFFFC04 r/w |xxxxxxxx| MIDI ACIA control $FFFFFC06 r/w |xxxxxxxx| MIDI ACIA data
$FFFFFC21 r/w |xxxxxxxx| Seconds (units) $FFFFFC23 r/w |xxxxxxxx| Seconds (tens) $FFFFFC25 r/w |xxxxxxxx| Minutes (units) $FFFFFC27 r/w |xxxxxxxx| Minutes (tens) $FFFFFC29 r/w |xxxxxxxx| Hours (units) $FFFFFC2B r/w |xxxxxxxx| Hours (tens) $FFFFFC2D r/w |xxxxxxxx| Weekday $FFFFFC2F r/w |xxxxxxxx| Day (units) $FFFFFC31 r/w |xxxxxxxx| Day (tens) $FFFFFC33 r/w |xxxxxxxx| Month (units) $FFFFFC35 r/w |xxxxxxxx| Month (tens) $FFFFFC37 r/w |xxxxxxxx| Year (units) $FFFFFC39 r/w |xxxxxxxx| Year (tens) $FFFFFC3B r/w |xxxxxxxx| Clock mode $FFFFFC3D r/w |xxxxxxxx| Clock test $FFFFFC3F r/w |xxxxxxxx| Clock reset
01 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 02 04 06 08 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 Pin Use Pin Use 01 +5V 21 Address 8 02 +5V 22 Address 14 03 Data 14 23 Address 7 04 Data 15 24 Address 9 05 Data 12 25 Address 6 06 Data 13 26 Address 10 07 Data 10 27 Address 5 08 Data 11 28 Address 12 09 Data 8 29 Address 11 10 Data 9 30 Address 4 11 Data 6 31 ROM select 3 12 Data 7 32 Address 3 13 Data 4 33 ROM select 4 14 Data 5 34 Address 2 15 Data 2 35 Upper data strobe 16 Data 3 36 Address 1 17 Data 0 37 Lower data strobe 18 Data 1 38 Ground 19 Address 13 39 Ground 20 Address 15 40 Ground
Pin Use Pin Use 01 Data 0 11 Ground 02 Data 1 12 Reset 03 Data 2 13 Ground 04 Data 3 14 Acknowledge 05 Data 4 15 Ground 06 Data 5 16 A1 07 Data 6 17 Ground 08 Data 7 18 Read/Write 09 Chip select 19 Data request 10 Interrupt request
Pin Use Pin Use 01 Centronics STROBE 08 Data 6 02 Data 0 09 Data 7 03 Data 1 10 N/C 04 Data 2 11 Busy 05 Data 3 12-17 N/C 06 Data 4 18-25 Ground 07 Data 5
Port 0 - Mouse/Joystick 0 Port 1 - Joystick 1 Pin Use Pin Use 01 XB / Up 01 Up 02 XA / Down 02 Down 03 YA / Left 03 Left 04 YB / Right 04 Right 05 N/C 05 Port 0 enable 06 Left button / Fire 06 Fire 07 +5V DC 07 +5V DC 08 Ground 08 Ground 09 Right button 09 N/C
Port A Port B Pin Use Pin Use 01 Up 0 01 Up 1 02 Down 0 02 Down 1 03 Left 0 03 Left 1 04 Right 0 04 Right 1 05 Paddle 0Y 05 Paddle 1Y 06 Fire 0 06 Fire 1 07 Vcc +5V DC 07 Vcc +5V DC 09 Ground 09 Ground 10 Fire 2 10 Fire 3 11 Up 2 11 Up 3 12 Down 2 12 Down 3 13 Left 2 13 Left 3 14 Right 2 14 Right 3 15 Paddle 0X 15 Paddle 1X
Pin Use 01 Audio out 02 Composite video 03 General purpose output 04 Monochrome detect 05 Audio in 06 Green 07 Red 08 Peritel power 09 Horizontal sync 10 Blue 11 Monochrome 12 Vertical sync 13 Ground
Pin Use 01 Protective ground 02 Transmitted data 03 Received data 04 Request To Send (RTS) 05 Clear To Send (CTS) 07 Signal ground 08 Data Carrier Detect (DCD) 20 Data Terminal Ready (DTR) 22 Ring indicator
MIDI Out/Thru MIDI In Pin Use Pin Use 01 THRU data 01 THRU data 02 Shield ground 02 Shield ground 03 THRU loop return 03 THRU loop return 04 Transmit data 04 Receive data 05 OUT loop return 05 OUT loop return
Original external floppy cable (pin to pin) |
Pin Use 01 Read data 02 Side 0 select 03 Logic ground 04 Index pulse 05 Drive 0 select 06 Drive 1 select 07 Logic ground 08 Motor on 09 Direction in 10 Step 11 Write data 12 Write gate 13 Track 00 14 Write protect