BBC FRED Hardware I/O Addresses =============================== Addr Write Action Read Action ------------------------------------------------------------------------- FC00-FC01 PEDL Z80 Second Processor =================================== FC00 Status Command FC01 Data port to CoPro Data from CoPro FC00-03 Byte-Wide Expansion RAM =============================== FC00 RAM Card Address b0-b7 RAM Card Address b0-b7 FC01 RAM Card Address b8-b15 RAM Card Address b8-b15 FC02 RAM Card Address b16-b23 RAM Card Address b16-b23 FC03 RAM Card Data RAM Card Data FC04-05 BeebOPL =============== FC04 BeebOPL FC05 BeebOPL FC06 FC07 FC08-0F Ample M2000/EMR/EE MIDI Interface (see also FCF0) ========================================================= FC08 MIDI Port 1 6850 Control MIDI Port 1 6850 Status FC09 MIDI Port 1 6850 Data MIDI Port 1 6850 Data FC0A MIDI Port 2 6850 Control MIDI Port 2 6850 Status FC0B MIDI Port 2 6850 Data MIDI Port 2 6850 Data FC0C MIDI Port 3 6850 Control MIDI Port 3 6850 Status FC0D MIDI Port 3 6850 Data MIDI Port 3 6850 Data FC0E Output latch - FC0F Output latch - FC10-13 Teletext Hardware ========================= FC10 ? ? FC11 ? ? FC12 ? ? FC13 ? ? FC14-1F Prestel Hardware ======================== FC14 FC15 FC16 FC17 FC18 FC19 FC1A FC1B FC1C-FC1F Teletext display expansion ==================================== FC1C Jafa 6845 Write Address register - FC1D Jafa 6845 Write Data register - FC1E - Jafa 6845 Read Status register FC1F - Jafa 6845 Read Data register FC20-3F SID Interface (6581 Sound Interface Device) =================================================== Voice 1: FC20 Frequency Low - FC21 Frequency High - FC22 PW Low - FC23 PW High - FC24 Control register - FC25 Attack/Decay - FC26 Sustain/Release - Voice 2: FC27 Frequency Low - FC28 Frequency High - FC29 PW Low - FC2A PW High - FC2B Control register - FC2C Attack/Decay - FC2D Sustain/Release - Voice 3: FC2E Frequency Low - FC2F Frequency High - FC30 PW Low - FC31 PW High - FC32 Control register - FC33 Attack/Decay - FC34 Sustain/Release - Filter: FC35 FC Low - FC36 FC High - FC37 Reset/Filter - FC38 Mode/Volume - Misc: FC39 - POTX FC3A - POTY FC3B - OSC3/Random FC3C - ENV3 FC3D - - FC3E - - FC3F - - FC20-27 IEEE Interface (TMS 9914A) ================================== FC20 Interupt Mask 0 Interupt Status 0 FC21 Interupt Mask 1 Interupt Status 1 FC22 - Address Status FC23 Auxilary Control Bus Status FC24 Address - FC25 Serial Poll - FC26 Parallel Poll Command Pass Through FC27 Data Out Data In FC28-2F Electron Econet ======================= FC28 FC29 FC2A FC2B FC2C FC2D FC2E FC2F FC30-3F Cambridge Ring interface ================================ FC30 FC31 FC32 FC33 FC34 FC35 FC36 FC37 FC38 FC39 FC3A FC3B FC3C FC3D FC3E FC3F FC30-3F WiFi interface 16C2552 UART =================================== FC30 TxData RxData FC31 Interupt Enable FC32 FIFO control Interupt ID FC33 Line control FC34 Modem control FC35 Line Status FC36 Modem Status FC37 Scratchpad FC38 FC39 FC3A FC3B FC3C FC3D FC3E FC3F FC40-4F Hard Drive Access ========================= SCSI Interface IDE Interface Addr Write Action Read Action Write Action Read Action ------------------------------------------------------------------------- FC40 Data Out Data In Data Low Data Low FC41 - Status Special Error FC42 Select - Count Count FC43 INT enable - Sector Sector FC44 Cylinder Low Cylinder Low FC45 Cylinder High Cylinder High FC46 Head+Drive Head+Drive FC47 Command Status FC48 Data High Data High FC49 - - FC4A - - FC4B - - FC4C - - FC4D - - FC4E Digital Output Alternative Status FC4F - Drive Data FC50-51 BeebEm clipboard access =============================== FC50 &00 if clipboard character waiting FC51 Clipboard character FC52 FC53 FC54 FC55 FC56 FC57 FC58 FC59 FC5A FC5B FC5C FC5D FC5E FC5F FC60-6F Electron Serial controller ================================== 2681 ACIA Serial controller --------------------------- FC60 Mode Register A Mode Register A FC61 Clock Select A Status Register A FC62 Command Register A - FC63 Transmit Data A Receive Data A FC64 Aux. Control Input Port Changed FC65 Interupt Mask Interupt Status FC66 Counter/Timer Upper Register Counter/Timer Upper Register FC67 Counter/Timer Lower Register Counter/Timer Lower Register FC68 Mode Register B Mode Register B FC69 Clock Select B Status Register B FC6A Command Register B - FC6B Transmit Data B Receive Data B FC6C reserved - FC6D Output Port Data Input Port Data FC6E Set Output Port Bits Start Counter FC6F Reset Output Port Bits Stop Counter FC60-6F Additional/External Serial ports ======================================== FC60 Port 1 6850 Control Port 1 6850 Status1 FC61 Port 1 6850 Data Port 1 6850 Data FC62 Port 1 baud rate control FC63 FC64 Port 2 6850 Control Port 2 6850 Status1 FC65 Port 2 6850 Data Port 2 6850 Data FC66 Port 2 baud rate control FC67 FC68 Port 3 6850 Control Port 3 6850 Status1 FC69 Port 3 6850 Data Port 3 6850 Data FC6A Port 3 baud rate control FC6B FC6C Port 4 6850 Control Port 4 6850 Status1 FC6D Port 4 6850 Data Port 4 6850 Data FC6E Port 4 baud rate control FC6F FC70-73 Electron expansion ========================== FC70 AtoD convertor control AtoD convertor data FC71 Centronics parallel data FC72 Status BSY ADC FB1 FB2 X X X X FC73 ROMSTROBE FC74 FC75 FC76 FC77 FC78 FC79 FC7A FC7B FC7C-7F Watford Video Digitiser =============================== FC7C 6821 register 0 Port A output selects column FC7D 6821 register 1 Port B input pixel intensity FC7E 6821 register 2 Control A1 input field sync FC7F 6821 register 3 Control B1 input pixel valid Control B2 output video destination FC7F Electron shadow RAM =========================== FC7F b7=Shadow RAM paging register, 0=main memory paged in, 1=video memory paged in FC80-87 LCD Display Control =========================== FC80 LCD Bank 0 Control LCD Bank 0 Status FC81 LCD Bank 0 Data LCD Bank 0 Data FC82 LCD Bank 1 Control LCD Bank 1 Status FC83 LCD Bank 1 Data LCD Bank 1 Data FC84 LCD Bank 2 Control LCD Bank 2 Status FC85 LCD Bank 2 Data LCD Bank 2 Data FC86 LCD Bank 3 Control LCD Bank 3 Status FC87 LCD Bank 3 Data LCD Bank 3 Data FC84-85 Electron external sound =============================== FC84 Written to by external sound support FC85 Written to by external sound support FC88-8B HostFS+TubeTCP ====================== FC88 FC89 FC8A FC8B FC8C FC8D FC8E FC8F FC90-9F Electron sound and speech ================================= FC90 FC91 FC92 FC93 FC94 FC95 FC96 FC97 FC98 FC99 FC9A FC9B FC9C FC9D FC9E FC9F FC90-9F CTS Recognition Plus palette expander additional 6522 VIA ================================================================= FC90 Input register B Output register B FC91 Input register A Output register A FC92 Data direction register B Data direction register B FC93 Data direction register A Data direction register A FC94 T1 low-order counter T1 low-order latches FC95 T1 high-order counter T1 high-order counter FC96 T1 low-order latches T1 low-order latches FC97 - T1 high-order latches FC98 T2 low-order counter T2 low-order latches FC99 T2 high order counter T2 high order counter FC9A Shift register Shift register FC9B Auxilary control register Auxilary control register FC9C Peripheral control register Peripheral control register FC9D Interupt flag register Interupt flag register FC9E Interupt enable register Interupt enable register FC9F Input register A, no handshake Output register A, no handshake FCA0-B7 CTS Recognition Plus palette expander ============================================= FCA0 red level for colour 0, 0-15 FCA1 red level for colour 1, 0-15 FCA2 red level for colour 2, 0-15 FCA3 red level for colour 3, 0-15 FCA4 red level for colour 4, 0-15 FCA5 red level for colour 5, 0-15 FCA6 red level for colour 6, 0-15 FCA7 red level for colour 7, 0-15 FCA8 green level for colour 0, 0-15 FCA9 green level for colour 1, 0-15 FCAA green level for colour 2, 0-15 FCAB green level for colour 3, 0-15 FCAC green level for colour 4, 0-15 FCAD green level for colour 5, 0-15 FCAE green level for colour 6, 0-15 FCAF green level for colour 7, 0-15 FCB0 blue level for colour 0, 0-15 FCB1 blue level for colour 1, 0-15 FCB2 blue level for colour 2, 0-15 FCB3 blue level for colour 3, 0-15 FCB4 blue level for colour 4, 0-15 FCB5 blue level for colour 5, 0-15 FCB6 blue level for colour 6, 0-15 FCB7 blue level for colour 7, 0-15 FCB0-BF PRISMA video system =========================== FCB0 reserved FCB1 horizontal line phase FCB2 frame grab black level and gain FCB3 frame grab and control output register FCB4 palette control FCB5 palette address FCB6 window/background delay trims FCB7 overlay/NVM page - paged into JIM at &FDxx FCB8 HD63484 ACRTC address/status FCB9 HD63484 ACRTC data FCBA control/status FCBB palette data FCBC overlay data FCBD overlay address/ACRTC data read FCBE NVR data FCBF reserved for control in multiple PRISMA systems FCB0-BF Electron 6522 VIA expansion =================================== FCB0 Input register B Output register B FCB1 Input register A Output register A FCB2 Data direction register B Data direction register B FCB3 Data direction register A Data direction register A FCB4 T1 low-order counter T1 low-order latches FCB5 T1 high-order counter T1 high-order counter FCB6 T1 low-order latches T1 low-order latches FCB7 - T1 high-order latches FCB8 T2 low-order counter T2 low-order latches FCB9 T2 high order counter T2 high order counter FCBA Shift register Shift register FCBB Auxilary control register Auxilary control register FCBC Peripheral control register Peripheral control register FCBD Interupt flag register Interupt flag register FCBE Interupt enable register Interupt enable register FCBF Input register A, no handshake Output register A, no handshake FCC0 Electron digital joystick option C (see also FCD0) ========================================================== FCC0 Joystick state FCC0-?? Watford Electronics EPROM programmer ============================================ FCC0 FCC1 FCC2 FCC3 FCC0-CF Electron floppy disk expansion ====================================== 1770 floppy disk controller --------------------------- FCC0 Control port FCC1 FCC2 FCC3 FCC4 1770 Command Register 1770 Status Register FCC5 1770 Track register 1770 Track register FCC6 1770 Sector Register 1770 Sector register FCC7 1770 Data Register 1770 Data register FCC8 FCC9 FCCA FCCB FCCC-CF Morley Electronics RAMdisc - paged into JIM at &FDxx ============================================================ FCCC Bank Select b8-b15 - FCCD Bank Select b16-b23 - FCCE Bank Select b24-b31 - FCCF Control register - FCD0 Electron digital joystick option D ========================================== FCD0 Joystick state FCD0 FCD1 FCD2 FCD3 FCD4 FCD5 FCD6 II2C Control FCD7 FCD8-DF PRES Advanced Battery-Backed RAM ======================================== FCD8 Unlock AP7 lower bank (disable write protect) FCD9 Lock AP7 lower bank (write protect) FCDA Unlock AP7 upper bank (disable write protect) FCDB Lock AP7 upper bank (write protect) FCDC Unlock ABR RAM bank 0/2 (disable write protect) FCDD Lock ABR RAM bank 0/2 (write protect) FCDE Unlock ABR RAM bank 1/3 (disable write protect) FCDF Lock ABR RAM bank 1/3 (write protect) FCE0-EF Electron Tube control ============================= FCE0 Tube setup register VDU port status register FCE1 VDU transfer port VDU transfer port FCE2 Command status register Command status register FCE3 Command transfer port Command Transfer port FCE4 Data status register Data status register FCE5 Data transfer port Data transfer port FCE6 Interupt status register/CPU Interrupt status register FCE7 Interupt transfer port Interupt transfer port FCE8 FCE9 FCEA FCEB FCEC FCED FCEE FCEF FCE0-EF Watford hand scanner ============================ FCE0 data byte FCE4 b7=data ready FCE8 b7=start of line FCEC b7=vertical pulse FCE0 Electron digital joystick option E (see also FCD0) ========================================================== FCE0 Joystick state FCF0-F7 JGH/ETI/EE/EMR MIDI Interface (see also FC08) ===================================================== FCF0 MIDI Port 1 6850 Control MIDI Port 1 6850 Status FCF1 MIDI Port 1 6850 Data MIDI Port 1 6850 Data FCF2 MIDI Port 2 6850 Control MIDI Port 2 6850 Status FCF3 MIDI Port 2 6850 Data MIDI Port 2 6850 Data FCF4 MIDI Port 3 6850 Control MIDI Port 3 6850 Status FCF5 MIDI Port 3 6850 Data MIDI Port 3 6850 Data FCF6 MIDI Port 4 6850 Control MIDI Port 4 6850 Status FCF7 MIDI Port 4 6850 Data MIDI Port 4 6850 Data FCF0 Electron digital joystick option F (see also FCD0) ========================================================== FCF0 Joystick state FCF8-F9 USB Port ================ FCF8 USB Data USB Data FCF9 USB Control USB Status FCFA-FD DataCentre non-volatile RAM control =========================================== FCFA NVRAM Data NVRAM Data FCFB NVRAM Data Direction Register FCFC NVRAM Data Strobe FCFC-FF Electron Advanced Quarter Meg RAM ========================================= FCFC Bank select FCFD Disable write protect to AQR (Unlock) FCFE Write protect AQR (Lock) FCFC-FF Page-Wide Expansion RAM =============================== FCFC Bank Select b32-b39 - FCFD Bank Select b24-b31 - FCFE Bank Select b16-b23 - FCFF Bank Select b8-b15 - Where an address block is listed as FCE0-EF this is the block of addresses decoded by the hardware. The list that follows is the addresses within that block that that hardware uses. Some hardware decodes a larger block of addresses that is needs to use, resulting in reflections within the block.