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 KMC-A419-8 AMI BIOS setup
socket mod TX486DLC-40 TX486DLC-40 TX486DLC-40 AMI BIOS setup

      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). Nastavení wait states u RAM nelze v SETUPu měnit, pouze lze ladit nastavení refreshe. V programu Norton SysInfo CPU Benchmark došlo oproti 386DX k nárůstu z 43,0 na 65,4 bodů (o 52%). V programu Norton Diagnostic jsem v System Board Testu zjistil, že na 486DLC neprojde CPU Arithmetic Test, netuším z jakého důvodu, ale jiným programům to zřejmě nevadí. Nakonec jsem ještě do desky nastrkal 8 RAM a FPU IIT 3C87-40, abych mohl spustit Quake. Na hraní to ale opravdu není, ve VGA rozlišení 320 x 200 jsem dosáhl v testu timerefresh 1,067 FPS na 386DX a 1,268 FPS na 486DLC (zrychlení o 19%). Test jsem provedl ještě jednou s lepší VGA kartou Diamond Stealth Pro S3 Vision 928 (místo low-end Relatek RTG3105), ale na výsledek to nemělo podstatný vliv: 1,295 FPS. UPDATE: Od Dušana jsem dostal matematický koprocesor ULSI Math*Co DX US83C87 40 MHz, s kterým se Quake výrazně zrychlil na 1,690 FPS, po přetaktování ISA na 10 MHz ještě o trochu více na 1,725 FPS.

CCT386 test Am386DX-40 with 128kB cache CCT386 test TX486DLC-40 with 1kB L1 cache and 256kB L2 cache Norton SysInfo CPU Benchmark of Am386DX-40 with 256kB cache Norton SysInfo CPU Benchmark of TX486DLC-40 with 1kB L1 cache and 256kB L2 cache Norton Diagnostic CPU Arithmetic Test failen on TX486DLC-40
Am386DX-40, 128kB TX486DLC-40, 256kB Am386DX-40, 256kB TX486DLC-40, 256kB NDiag TX486DLC-40

Oprava Paradise VGA WD90C00-JK ISA

      16.9.2022 Od Dušana jsem dostal na hraní směsici různých starých PC karet a nefunkční 386 MB - na ten se ještě podívám. Mezi tím také byla nefunkční grafická ISA karta Paradise VGA čipem WD90C00-JK a 256 kB VRAM. Když jsem ji zastrčil do slotu, tak deska vypípávala stejný chybový kód, jako kdyby v ní žádná VGA karta nebyla. Zkusil jsem napřed pomocí programátoru LabProg-48LV přečíst video BIOS ze dvou 16kB OTP EPROMek a obsah 2 programovatelných obvodů dekodérů PAL - bez problémů. Dále jsem změřil výstupy všech 4 krystalových oscilátorů a naměřil odpovídající frekvence s amplitudou cca 2,5 - 4,5 Vpp. Také jsem osciloskopem očuchal piny grafického čipu, kde jsem viděl aktivitu na adresové a datové sběrnici, ale žádnou aktivitu směrem k VRAM (MA0-8, MD0-15) a do RAMDACu (VID0-7), což indikovalo, že čip je asi mrtvý.
      Jelikož jsem měl v šuplíku vypájený grafický čip PVGA1A-JK, který by měl být velmi podobný a podle datasheetu je pinově kompatabilní (někde jsem četl, že ho Western Digital při koupi Paradise Systems patrně jen přejmenoval), tak jsem se kartě ještě rozhodl dát šanci. Naivně jsem si myslel, že jen přepájím tento PLCC100 čip a bude to fungovat, ale tak jednoduché to nebylo. Po výměně jsem stále dostával stejné pípání, jako že VGA není přítomna. Čuchal jsem znovu osciloskopem a nyní už byla vidět aktivita na sběrnici VRAM, ale do RAMDACu nešlo pořád nic, ani žádné HSYNC, VSYNC pulsy. VRAM jsem zkusil vyměnit, ale žádná změna. Pojal jsem podezření, že chyba bude asi v nějakém z hradel 74xx, dokonce i všechny odpory jsem přeměřil. Vypájel jsem pomocí vyhřívané odsávačky celkem 11 hradel 74xx a každý obvod otestoval, ale žádný vadný jsem nenašel, takže jsem je zas vrátil zpět. Kupodivu se ale chování karty změnilo - deska ani nepípla a obraz nikde, no čím dál lepší. Tak jsem zastrčil do MB i POST kartu a viděl, že se AMI BIOS pořád točí v nějaké smyčce, kde se rychle střídalo pár POST kódů. Když jsem vyjmul jeden z čipů video BIOSu, tak k zaseknutí nedocházelo. Napadlo mě tedy, že asi stávající video BIOS nebude se starším grafickým čipem kompatabilní. Podařilo se mi najít image video BIOSu pro PVGA1A-JK a tak jsem vzal 2 EPROMky Am27128A, vymazal je UV lampou, naprogramoval, strčil do karty a ejhle, ono to bootuje s obrazem :) Projel jsem testy všech video módů v Norton Diagnosticu a CheckItu a v pořádku. Kartu by šlo doosadit na 512 kB VRAM, ale UniVBE ji nepodporuje, takže vyšší rozlišení by využily jen DOSové programy přímo podporující PVGA.

Paradise VGA WD90C00-JK ISA Paradise VGA WD90C00-JK ISA bez 74xx hradel
po výměně WD90C00-JK PVGA bez 74xx hradel



Zpět

Aktualizováno 30.9.2022 v 3:38