Oprava základní desky Suntac SUNO2-C2 286 a test 286->386SLC upgrade modulu

      3.4.2021 Po dlouhé době jsem vytáhl ze skříně jednu starou základní desku pro 286, která občas nechtěla nastartovat a když naběhla, tak jen s 64 kB RAM místo s 640 kB. Důkladnou prohlídkou jsem zjistil korozi na rohu PLCC chipsetu ST62C005-B, kde byly sežrané cestičky od 2 pinů, jako kdyby tam ukápl louh ze záložního akumulátoru, ale ten je na desce daleko a už jsem ho dávno odpájel. Abych měl jistotu, že není sežraná i nějaká cesta pod čipem, tak jsem ho sfouknul horkovzdušnou pistolí a očistil pájecí plošky. U zmíněných spojů vedly cesty pouze ven od čipu, takže jsem ho připájel zpět, oškrábal nepájivou masku na nejbližších prokovech a chybějící cestičky nahradil kouskem drátu. Pak už deska nastartovala s 640 kB RAM dle očekávání.
      Dále jsem chtěl otestovat CPU upgrade modul Kingston SLC/NOW!, který byl primárně určený pro PC IBM PS/2 modely 25 - 60. Na jedné straně má PGA piny, které se zasunou do patice místo 286 CPU a na druhé straně je SMD CPU IBM 33G0275 (386SLC @25 MHz) s 16-bitovou datovou sběrnicí, patice pro matematický koprocesor 387SX a nějaký FPGA čip QuickLogic QL8x12A-OPL68C. Abych mohl modul do desky zasunout, musel jsem ale nejprve na desce vyměnit PLCC THT patici za PGA (jinou 286 desku s PGA paticí nemám). Naštěstí je footprint obou typů patic stejný, takže jsem PLCC horkovzduškou vypájel, odsál cín z děr odsávačkou a připájel tam PGA patici, kterou jsem měl v zásobě vyndanou z nějaké jiné desky. Patici jsem na desku osadil dle orientace bílého servisního potisku, ale následně jsem ze staré fotky zjistil, že pin 1 na CPUčku této orientaci neodpovídá a je o 90° posunutý. Naštěstí jsem si toho všiml včas a žádný CPU neodpálil.

Kingston SLC/NOW! upgrade module with IBM CPU 33G0275-top side Kingston SLC/NOW! upgrade module with IBM CPU 33G0275-bottom side Suntac SUNO2-C2 286 MB
SLC/NOW! top SLC/NOW! bottom Suntac SUNO2-C2

      Desku jsem napřed vyzkoušel s keramickou 286 a pak místo ní osadil CPU upgrade modul. Bohužel ani ťuk, měl jsem v ISA slotu strčenou POST kartu a žádný kód nepřišel. IBM CPU se po chvilce docela hřál, tak jsem pojal podezření, že by mohl být vadný. Sfouknul jsem ho a připájel místo něj intel 386SX, ale ani s ním to nefungovalo. Na spodní straně modulu jsem našel 50MHz krystalový oscilátor, který jsem oměřil a fungoval. Je tedy možné, že někdo předtím modul otočil a odpálil QuickLogic čip, který bohužel nemám čím nahradit, takže tím bádání končí...

Suntac SUNO2-C2 286 MB with desoldered CPU socket Suntac SUNO2-C2 286 MB with replaced PGA CPU socket Suntac SUNO2-C2 286 MB with Kingston SLC/NOW! upgrade module with replaced CPU by intel 386SX
odpájený socket nový PGA socket Kingston SLC/NOW!

      5.4.2021 Abych vyzkoušel CPU IBM 386SLC z upgrade modulu, vyhrabal jsem jednu starou základní desku s připájeným CPU intel 386SX @20 MHz, horkovzduškou jsem odpájel intela a připájel IBMko, ale deska byla úplně tuhá, ani nePOSTla. Přepájel jsem zpět původní CPU od intelu a deska zas ožila. Taktéž matematický koprocesor ULSI US83S87SX/SLC z patice na upgrade modulu se v desce choval divně. HWiNFO a Norton SysInfo ho sice detekovaly, ale všechny FPU testy v Norton Diagnosticu skončily chybou. Také DOS Navigátor při spuštění podivně crashnul a když jsem FPU vyjmul z patice, tak se normálně spustil. Takže je dost pravděpodobné, že byl upgrade modul kdysi špatně zastrčen do patice, napájecí napětí se dostalo kam nemělo a odpálilo CPU, FPGA QuickLogic a přismahlo FPU.

Norton Diagnostic FPU tests failed

      6.4.2021 Na VOGONS fóru jsem byl upozorněn na to, že IBM 386SLC nemá identický pinout jako intel 386SX, ale jsou zde nějaké piny navíc, které jsou na intelu nezapojené (NC). Originální datasheet k IBM CPU se nikomu zatím nepodařilo najít a tak se vychází z datasheetu Cyrix Cx486SLC, dle kterého uživatel furan udělal obrázek s porovnáním pinů a vyznačenými rozdíly, další detaily v tomto vláknu. Vzal jsem multimetr a propípal jak jsou na mé základní desce zapojené nevyužité piny. Kromě pinu 20, který je v CPU interně zapojený, jsou všechny plovoucí.

pinMB/386SX connectionCx486SLC pinIBM 386SLC pinupgrade module
20floating, int.con.NCint.con.NC
27floating, int.discon.NCint.con.NC
29floating, int.discon.KEN# (20 kΩ int. PUP)20 kΩ int. PUPNC
30floating, int.discon.FLUSH# (20 kΩ int. PUP)20 kΩ int. PUPNC
31floating, int.discon.A20M# (20 kΩ int. PUP)int.con.NC
43floating, int.discon.SUSP# (20 kΩ int. PUP)int.con.FPGA pin 59
44floating, int.discon.SUSPA# (output)20 kΩ int. PUPNC
45floating, int.discon.RPLSET (output)int.con.NC
46floating, int.discon.RPLVAL# (output)20 kΩ int. PUPNC
47floating, int.discon.NCint.con.NC

      Dle Cyrix datasheetu jsou tedy všechny plovoucí vstupy aktivní v log. 0 ošetřeny interními pull-up odpory, takže interní 8kB cache by měla být vypnutá, suspend režim neaktivní a A20M se ještě povoluje v registru CCR0.2 (po resetu je neaktivní). Otázka je, jestli to platí i pro IBM 386SLC. Z toho, co jsem naměřil na pinech odpájeného CPU je vidět, že pull-upy nejsou všude a navíc u pinů 44 a 46 by být ani neměly, což značí, že mají tyto piny jiný význam i směr. Zajímavé je, že na upgrade modulu jsou skoro všechny tyto piny nezapojené, až na pin 43, který jde někam do FPGA.

PGA socket mod na 386 MB KMC-A419-8 ver. 1.0

      30.5.2022 Některé základní desky 386 měly na sobě připájený CPU v provedení SMD. Tato deska se zrovna vyráběla ve 2 variantách, buď s připájeným CPU nebo s PGA paticí. Já mam variantu s připájeným CPU AMD Am386DX-40 a tak mě napadlo, že bych si mohl na desku dopájet PGA patici, abych v ní mohl testovat i jiné CPU. V případě CPU AMD revize C a novější se to navíc zjednodušuje tím, že tyto CPU mají pin FLT# (54), který ho kompletně odpojí od sběrnice a není ho tak třeba vypajovat z desky. Abych mohl dle potřeby přepínat mezi onboard CPU a CPU v patici, přivedl jsem nezapojený pin FLT# na jumper, jehož druhý pin jsem zapájel do GND prokovu footprintu neosazené paměti U21. Jelikož má pin FLT# interní pull-up cca 100 kΩ na VCC (ampérmetrem jsem naměřil proud 46 µA do země) a drátový spoj je poměrně krátký, tak jsem žádný externí pull-up nepřidával. Pokud bych chtěl onboard CPU vyřadit trvale, stačila by malá kapka cínu na propojení pinů FLT# (54) a GND (55) hned vedle.

KMC-A419-8 CPU socket mod with FLT# pin KMC-A419-8 with CPU TX486DLC-40 KMC-A419-8 with CPU TX486DLC-40 KMC-A419-8 with CPU TX486DLC-40 test
socket mod TX486DLC-40 TX486DLC-40 TX486DLC-40

      Dále jsem na desce rozšířil velikost cache na 256 kB pomocí dalších čtyř 32kB DIL SRAM čipů a vyměnil jsem 8kB TAG SRAM za 32kB TAG SRAM. Metodou pokus-omyl jsem našel správnou kombinaci jumperů: JP5 = 1-2, JP6 = on, on, on (původní nastavení pro 128 kB cache bylo: JP5 = 2-3, JP6 = on, on, off). Do desky jsem zkusil osadit CPU TX486DLC-40, když už ho BIOS podporuje a otestoval propustnost paměťového subsystému pomocí DOSového programu CCT386. Jak je vidět, rychlostní skoky nastávají dle očekávání na hranici bloků 256 kB (L2) a 1 kB (L1). Zajímavé je, že 386DX dosahuje při využití cache více bodů než 486DLC s kaskádou L1 a L2 cachí (zřejmě nějaký overhead).

CCT386 test Am386DX-40 with 128kB cache CCT386 test TX486DLC-40 with 1kB L1 cache and 256kB L2 cache
Am386DX-40, 128kB TX486DLC-40, 256kB



Zpět

Aktualizováno 23.6.2021 v 3:17