Last modified on 3 October 2010, at 21:19

LK Links

Revision as of 21:19, 3 October 2010 by TFM (Talk | contribs) (GX4000:LKs: The state of the LK has NO influence on the ROM banking, it is just read and used by AMSDOS.)

Links - Amstrad has used a number of LKs (Links) on CPC mainboards and on peripherals like DDI-1 and CPC+ Cartridges. The LKs are simply a piece of wire that is (or is not) installed between two soldering points.

Resistors - The CPC+ does additionally have some optional 10kOhm resistors with similar functions (they connect to the ASICs MUX pins, which are used as configuration input (affected by the resistor), and as ADC channel select output (not affected by the resistor; but won't work when using wires instead of resistors). Note: In schematics, these resistors are labeled R128,R129,R130 - but, on the mainboard they are labeled R28,R29,R30.

LK1,LK2,LK3 - Manufacturer ID

LK1,LK2,LK3 connect to PPI Port B, Bit1-3. The links select the manufacturer name (which is displayed by the BIOS in the power-up message). These LKs exist on all CPC mainboards (in CPC Plus/GX4000 schematics they are named LK101,LK102,LK103). By default, LK1-LK3 are not installed (Amstrad). Other combinations are LK2 installed in german Schneider models, and LK1+LK2 in australian Awa models. For more info see LK-selectable Brand Names.

LK4 - Screen Refresh Rate

LK4 connects to PPI Port B, Bit4. The link tells the BIOS whether it should set-up the CRTC for 50Hz or 60Hz refresh rate. Default is LK4 not installed (50Hz).

It might be installed in US models, there isn't too much known about whether CPCs were exported to USA.... One source says that the CPC6128 was initially sold only in USA... Another source says that Indescomp (spanish distributor) produced CPCs with Indescomp International U.S.A. stickers.

The 60Hz setting may cause compatibility problems with various non-BIOS software. And, due to a BIOS glitch, even with BIOS-based software (see SOFT 968 Appendix 13 (XIII) (Hints Tips and Workarounds) for details).

CPC6128:LK5,LK6,LK8 - Disable 128K RAM Banking

The CPC6128 contains 128K RAM, RAM banking is controlled by a PAL (which assists its Gate Array). However, the 6128 mainboard can be also used for 64K computers - in that case, only 64K would be installed, the PAL would be missing, and LK5,LK6,LK8 would be installed (bypassing the RAM banking logic, and passing /CAS,A14,A15 signals directly to unbanked RAM). The CPC+ has a similar feature (see R128 below).

DDI-1:LK1 - Autoboot CP/M

In the DDI-1, LK1 connects both to the Expansion Port /EXP pin (which goes to PPI Port B, Bit5, and to the AMSDOS ROM bank number selection logic. The latter one allow to map AMSDOS to bank 7 (default), or bank 0. If AMSDOS sees itself mapped to bank 0, then it does automatically load & start the boot sector from drive A (equivalent as when typing |CPM after power-up).

DDI-1:LK2,LK3 - Disc Write Precomp

In DDI-1, LK2-LK3 connect to the P1/P0 pins of the FDC9229BT Disc Data Separator (P0=LK3, P1=LK2, and fixed: P2=GND). According to FDC9229BT datasheet: P2-P0 select the amount of precompensation applied to the write data.

CPC6128:LK7 aka CPC664:LK201 - Autoboot CP/M

Same as DDI-1:LK1 (see there). By default, the two soldering points are connected with each other (by a printed wire on the PCB, to activate autoboot one must scratch off that connection). In the CPC664, LK201 is located close to the power-supply connectors. In the CPC6128, LK7 is located close to the gate array.

CPC Plus:LK105 - Autoboot CP/M

Same as DDI-1:LK1 (see there). Bug: There's a bug in the System Cartridge, which always attempts to execute the Burnin' Rubber bootmenu at address 7:C072h, this is done even if bank 0 and 7 are exchanged, causing the CPC to crash when LK105 is changed. Workaround would be to replace opcode LD C,07h (at 05EBh in system cart) by LD C,83h (this fixes the bug), or to replace opcode LD HL,C072h (at 05E8h in system cart) by LD HL,0000h (completely disables the bootmenu, which was a rather idea annoying anyways). The same bug occurs when Connecting a Disc Interface to CPC464+.

CPC Plus:LK106 - Unknown

Purpose unknown...? Usually LK106 is not installed. (related to Upper ROM Bank signals /IORQ, A13, /WAIT, /RESET)

CPC Plus:R128 aka R28 (10kOhm) - 128K RAM Enable

Installed for 128K DRAM, not installed for 64K DRAM.

CPC Plus:R129 aka R29 (10kOhm) - Disc Vers Enable

Purpose Unknown !!!

  • The ASIC (where R129 connects to) should have nothing to do with the FDC. However, it does control the AMSDOS ROM bank selection: translating ROM bank 7 (or 0) to cartridge bank 3. However, bank 7 is used by the Burnin' Rubber boot-menu, so bank 7 must exist regardless of R129.
  • The ASIC does output some FDC related signals /MOTOR and /FDC. Maybe removing R129 disables these, though that would be of not too much use (unless one wants to disable an internal FDC, in order to use an external FDC instead of it).

This is not verified, can somebody test what happens when installing/removing R129 ?

CPC Plus:R130 aka R30 (10kOhm) - 8bit Printer Enable

When installed (default), enables the 8th printer bit, controlled via CRTC Register 0Ch, Bit 3. When removed, outputs LOW as 8th bit (as on classic CPCs with 7bit printer port). See also: 8bit Printer Ports.

CPC Plus Cartridges:LK1-LK6 - EPROM Address Lines

The six cartridge LKs are for A15,A17,A18 (address lines, of course, not the "A1-A18" pins).

 VCC ---LK1--- EPROM.A18 ---LK2--- CA18
 VCC ---LK3--- EPROM.A17 ---LK4--- CA17
 VCC ---LK5--- EPROM.A15 ---LK6--- CA15

Some cartridge PCBs don't have any LKs installed, instead, the etched circuit has hardwired connections between some of them. One could scratch them off, and then use the LK soldering points to reconfigure the board for eproms of other size.

GX4000:LKs

  • LK1-LK4 - same as CPC, though not being actually used, due to absent BIOS (though game cartridges could check LK4 to determine the desired video refresh rate) (default is LK1-LK4 not installed, equivalent to Video=50Hz, and Manufacturer=Amstrad)
  • LK5 - none such (corresponding PPI input is floating, neither having a LOW level, nor a stable HIGH level) (This seems to be the reason for the CPC+ System Cartridge not booting properly on the GX4000. If the AMSDOS senses the wrong signal, it tries to boot CP/M)
  • LK6 - unknown (same as LK106 on CPC+) (usually LK6 is not installed, neither in GX4000 nor CPC+)
  • LK7 - shortcut +5V with +5VMOD (installed in french version, which has no TV modulator)