PGA socket mod na 386 MB KMC-A419-8 ver. 1.0
30.5.2022 Nkter zkladn desky 386 mly
na sob pipjen CPU v proveden SMD. Tato deska se zrovna vyrbla ve 2 variantch, bu s pipjenm
CPU nebo s PGA patic.
J mam variantu s pipjenm CPU AMD Am386DX-40 a tak m napadlo, e bych si mohl na desku dopjet PGA
patici, abych v n mohl testovat i jin CPU. V ppad CPU AMD revize C a novj se to navc zjednoduuje
tm, e tyto CPU maj pin FLT# (54), kter ho kompletn odpoj od sbrnice a nen ho tak teba vypajovat
z desky. Abych mohl dle poteby pepnat mezi onboard CPU a CPU v patici, pivedl jsem nezapojen pin
FLT# na jumper, jeho druh pin jsem zapjel do GND prokovu footprintu neosazen pamti U21. Jeliko m
pin FLT# intern pull-up cca 100 kΩ na VCC (amprmetrem jsem namil proud 46 µA do zem)
a drtov spoj je pomrn krtk, tak jsem dn extern pull-up nepidval. Pokud bych chtl onboard
CPU vyadit trvale, staila by mal kapka cnu na propojen pin FLT# (54) a GND (55) hned vedle.
 |
 |
 |
 |
 |
| socket mod |
TX486DLC-40 |
TX486DLC-40 |
TX486DLC-40 |
AMI BIOS setup |
Dle jsem na desce rozil velikost cache na 256 kB pomoc dalch
ty 32kB DIL SRAM ip a vymnil jsem 8kB tag SRAM za 32kB tag SRAM. Metodou pokus-omyl jsem nael
sprvnou kombinaci jumper: JP5 = on, on, on; JP5 = 1-2 (pvodn nastaven pro 128 kB cache bylo:
JP5 = on, on, off; JP6 = 2-3). UPDATE: nael jsem popis jumper k desce KMC-40A,
kter vypad velmi podobn a m i stejn rozmstn jumpery.
Do desky jsem zkusil osadit CPU TX486DLC-40, kdy u ho BIOS podporuje
a otestoval propustnost pamovho subsystmu pomoc DOSovho programu CCT386.
Jak je vidt, rychlostn skoky nastvaj dle oekvn na hranici blok 256 kB (L2) a 1 kB (L1).
Zajmav je, e 386DX dosahuje pi vyuit cache vce bod ne 486DLC s kaskdou L1 a L2 cach (zejm
njak overhead). Pro ladn nastaven
L1 cache v CPU poslou program cyrix.exe
pro DOS, zde je vchoz nastaven dle BIOSu. Nastaven wait states
u RAM nelze v SETUPu mnit, pouze lze ladit nastaven refreshe.
V programu Norton SysInfo CPU Benchmark dolo oproti 386DX k nrstu 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, netum z jakho dvodu, ale jinm programm to zejm nevad. Nakonec jsem
jet do desky nastrkal 8 MB RAM a FPU IIT 3C87-40, abych mohl spustit Quake. Na hran to ale opravdu
nen, ve VGA rozlien 320 x 200 jsem doshl v testu timerefresh 1,067 FPS na 386DX a 1,268 FPS
na 486DLC (zrychlen o 19%). Test jsem provedl jet jednou s lep VGA kartou Diamond Stealth Pro
S3 Vision 928 (msto low-end Relatek RTG3105), ale na vsledek to nemlo podstatn vliv: 1,295 FPS.
Zde je tak screenshot a report
z programu SpeedSys
s onboard CPU 386DX. Na TX486DLC se mi SpeedSys zaseknul pi detekci CPU ("Processor: Cyrix"). Pak jsem
se dozvdl, e dvod
je patrn v uritch odlinostech specifickch registr CPU TI TX486DLC a Cyrix Cx486DLC, kter
SpeedSys te pes I/O instrukce a na nkterch deskch/chipsetech me toto extenzivn oukvn zpsobit
ztuh. Pozdji jsem SpeedSys upravil tak, aby fungoval na 486DLC/SLC, vsledky jsou
v tabulce ne.
UPDATE1: Od Duana jsem dostal matematick koprocesor
ULSI Math*Co DX US83C87 40 MHz,
s kterm se Quake vrazn zrychlil na 1,690 FPS, po petaktovn ISA na 20 MHz jet o trochu
vce na 1,725 FPS. Pozor na nastaven "ISA CLK Speed" v SETUPu! Celou dobu jsem se domnval, e
dlika dl frekvenci CPU 40 MHz, ale ona dl pmo vstup krystalovho osciltoru 80 MHz.
Lze nastavit hodnoty CLK2/ 2 (40 MHz), 3 (26,7 MHz), 4 (20 MHz), 5 (16 MHz), 6 (13,3 MHz),
8 (10 MHz), 10 (8 MHz) a asynchronnch 7,15 MHz. Kupodivu mi vtina dosud pouitch ISA
karet neprotestuje, narazil jsem a u CGA/MDA repliky Graphics Gremlin, kde je strop na 10 MHz.
UPDATE2: Podailo se mi najt 16k x 4-bit SRAM ip
QS8888-20P
a tak jsem pro nj na desku dopjel DIL22 patici na pozici U21. V BIOSu v menu "Advanced Chipset Setup"
je pak mon nastavit poloku "Write Buffer/Back Cache" na "Back". V benchmarku SysInfo a CheckIt se
aktivace Write-Back cache nijak prokazateln neprojevila, v CCT386 byl dokonce patrn pokles bod penosov
rychlosti u velkch blok ze 192 na 153 bod, ale v Doomu (doom.exe -timedemo demo1,
FPS = 35*gametics/realtics) jsem zaznamenal drobn zrychlen z 9,14 FPS na 9,46 FPS (+3,5%).
S VGA S3 Vision 928 jsem se pak dostal ma 11,70 FPS.
UPDATE3: Nael jsem optimalizovanou verzi engine Doom8088
pro star CPU 8086/286/386 a grafiky MDA/CGA/EGA/VGA vetn textovho reimu. M vak adu omezen,
jako e lze hrt pouze Doom 1 epizodu 1, nejsou texturovan stropy a podlahy, b v nim rozlien
(max. 240 x 128), zvuk jde pouze pes PC speaker (bez hudby), lze spustit jen -timedemo demo3...
S VGA verz v nejvy kvalit (d386myh.exe) jsem doshl 20,72 FPS,
u EGA verze ve vy kvalit (d8088eh.exe) jsem doshl 26,68 FPS
u barevn VGA verze (d286cga.exe) jsem doshl 44,78 FPS a u
textmodov MDA verze (d286mda.exe) jsem doshl 57,01 FPS.
Dal trochu optimalizovanou plnohodnotnou verz pro 386 a VGA je DJDOOM
zkompilovan v DJGPP, kter je jen o trochu rychlej
ne originln Doom - doshl jsem s nm 12,41 FPS.
UPDATE4: Nael jsem optimalizovanou verzi engine 486Quake
pro star CPU 386/486/586 a zkusil ji otestoval na nejlep HW konfiguraci s 16 MB RAM a ISA na
20 MHz. Timerefresh zrychlil na 1,974 FPS a timedemo z 2,5 na 2,7 FPS.
UPDATE5: Zjistil jsem, e po urit dob bhu, jak se CPU zaheje
(top dost, ale ruka na nm v pohod udret jde), tak zane bt nestabiln. Tato nestabilita se typicky
projevuje jen v nronjch PMode aplikacch a Windows. Nap. dpmild32.exe
z HX DOS Extenderu mi hzel zcela
nelogicky chybu "Invalid module handle 0001" a crashnul s Exception 0D. Kdy jsem na vrek keramickho
pouzdra CPU posadil masivn hlinkov pasiv, tak bhem pr vtein chyba zmizela a HX DOS Extender zaal
normln fungovat. Blb je, e u tchto zkladnch desek se nepotalo s dnm uchycenm chladie do
desky i patice a pmo na CPU nic lepit nechci.
 |
 |
 |
 |
 |
| Am386DX-40, 128kB |
TX486DLC-40, 256kB |
Am386DX-40, 256kB |
TX486DLC-40, 256kB |
NDiag TX486DLC-40 |
Vroba a test replik 4MB 30-pinovch SIMM
24.9.2023 Na tto desce jsem narazil na takov
podivn chovn pamovch modul. Mm zde osazeno celkem 8 stejnch 1MB SIMM s ipy Goldstar
GM71C4400AJ70
(1M x 4, 70 ns) s paritou. MemTest 2.11 i 4.00 mi hlsil asi 300 chyb v bitu 17 v rozsahu 1,3 - 1,8 MB.
Nechal jsem v desce jen 4 SIMMy a jejich prohazovnm jsem se snail lokalizovat vadn modul. Nael jsem celkem
3 podezel SIMMy. Ty generovaly chyby, ale jen pokud byly vloeny do patice SIMM8 (u kraje desky). Zbyl
SIMMy fungovaly bez chyb i v tto patici. Vhodnm prohzenm SIMM se mi tak podailo doclit, aby dn
chyby v MemTestu nebyly.
Jak jsem dle zjistil, deska nem rda 4 MB SIMMy, sice s nimi nabootuje,
ale MemTest hz spoustu chyb u vech SIMM, kter mm a pochybuju, e by byly vechny vadn. Podobn se
chovaj i v dal 386 MB, ale v jin desce pro 386SX, kde sta osadit
2 moduly, tak chyby nehz. Patrn to njak souvis s nastavenm refreshe,
ale Hidden Refresh u mm zapnut i nejkrat dobu refreshe na 15 µs. Nkter DRAM ipy vyaduj
refresh period 16 ms, jin 32 ms a 4M ipy maj typicky 2048 nebo 4096 dk, zatm co refresh
ta v chipsetu me podporovat jen 1024 dk. Novj 4M pamov ipy by mly mt svj vnitn ta
dk, kter by ml bt pouit, pokud BIOS (chipset) umouje nastavit volbu "CAS before RAS" msto star
metody "RAS-only refresh", ale tuto volbu v SETUPu nemm.
9.10.2024 Zapjel jsem 4 ploky
4MB 30-pin SIMM
navrench Alexandrem Grozou, kter jsem si u dve nechal vyrobit v JLCPCB. Osadil jsem je EDO DRAM
ipy GD417404BJ-6 vypjenmi z jednoho 16MB 72-pin SIMMu. PCB ver. 1.2 rev. B umouje pomoc pjec
propojky osadit jak FPM tak EDO DRAM. Paritn ipy
4M x 1 nemu nikde sehnat a tak jsem je zatm vynechal. BIOS tto desky umouje kontrolu parity vypnout,
take to zas tak nevad. Osadil jsem tyto 4 moduly do desky a projel MemTestem - vsledek byl OK bez
jedin chyby.
 |
 |
| osazen SIMMy |
AMI BIOS setup - WB |
9.11.2025 Letos jsem na radioburze v Holicch
sehnal jeden 16MB 72-pinov SIMM, kter jsem vyuil jako donor 8 FPM DRAM ip
TMS417400DJ-60
pro osazen dalch ty 4MB 30-pinovch SIMM modul od Alexe (bez parity). Pvodn i nov osazen SIMMy
jsem projel MemTestem a proly OK, ale kdy jsem do desky KMC-A419-8 osadil vech 8 SIMM, tak u byl systm
nestabiln. Hzel nhodn chyby v MemTestu, padal Quake a tuhly Win95. A to i kdy jsem zkusil vypnout
ob cache a nastavil nejpomalej asovn. Asi u je to pi FSB na 40 MHz pro chipset pli velk
kapacitn zt (tak tm to nebude, kdy bez problm funguje s 8 1MB SIMMy), tak jsem se musel
spokojit jen s 16 MB RAM.
28.1.2026 Byl jsem obdarovn jednm neobvyklm
oboustrannm 32MB 72-pinovm SIMM, kter ml 8 paritnch bit msto bnjch 4. Vyuil jsem ho jako donor
16 FPM DRAM ip 4M x 4 TMS417400ADJ-60
a 8 paritnch FPM DRAM ip 4M x 1 GM71C4100CJ-60
pro osazen dalch osmi 30-pinovch SIMM modul od Alexe. S drcem jsem se pak rozdlil a poslal mu zpt 4
zapjen 30-pinov SIMMky.
 |
 |
 |
| odpjen DRAM ipy |
osaz. SIMMy |
Norton Diagnostic Test |
8.2.2026 Zkoumal jsem trochu podrobnji jak
vypad refresh na zkladn desce Soyo SY-015G. Osciloskopem jsem
sledoval prbhy na 2 nejvych adresnch linkch A10, A9 na patici SIMM (se 4MB moduly). Abych eliminoval
rzn pseudonhodn prbhy zpsoben tenm dat, zastavil jsem CPU instrukcemi CLI
a HLT. Pokud byla v
SETUPu vypnut volba "Hidden Refresh", tak byly na A10 i A9 vidt pravideln zk pulsy s periodou
15,6 µs. Pokud jsem zapnul "Hidden Refresh", tak byla linka A10 trvale v log. 0 a pulsy byly
vidt jen na A9. DRAM by asi mla pouvat intern refresh ta. Nicmn systm byl nestabiln v obou
ppadech. Ne uvdm tabulku alespo nkolika zkladnch desek a chipset, kde byly 4MB SIMM testovny.
XTIDE BIOS na 386 MB KMC-A419-8 ver. 1.0
27.11.2022 Jeliko tato 386 podporuje disky
pouze v reimu CHS do 504 MB, rozhodl jsem se vyzkouet OpenSource
projekt XTIDE Universal BIOS, kter
pidv podporu slueb INT 13h s LBA
a umouje tak pouvat disky o kapacit a 128 GB. Na XTIDE jsem narazil u nkdy dve, ale
myln jsem se domnval, e je to roziujc BIOS jen pro uritou 8-bitovou ISA kartu pro PC-XT, kter
jet nem podporu disk v systmovm BIOSu. Avak XTIDE lze s vhodou pouvat i na 286, 386, 486,
kter u podporu disk maj, ale obvykle kapacitn dost limitovanou. Ke vzjemn kolizi by dojt nemlo,
sta v systmovm BIOSu zakzat vechny disky a XTIDE si je inizializuje pozdji.
Jednou z monost, jak XTIDE do systmu pidat, je pout starou sovou
kartu s patic na BootROM, kter
umouje zavdt OS ze st u bezdiskovch stanic. Za tmto elem jsem vythl ze uplku 10Mb ISA
sovku D-Link DE-250CT, kter podporuje 8kB EPROMky, to je tak akort. XTIDE lze sthnout u jako
pedkompilovan moduly
v nkolika variantch. Sthl jsem si soubor ide_386.bin
pro platformu 386, kter se vejde do 8 kB Varianta ide_386l.bin
je vt a obsahuje navc textov interaktivn menu. Staen image je nutn naped zkonfigurovat
pomoc utility xtidecfg.com,
kter tak image zarovn na sprvnou velikost a pepot kontroln souet. Ve vchozm nastaven jsem
nepoteboval nic mnit. Pak jsem image vyplil do 8kB EPROMky MBM2764
programtorem LabProg-48LV,
stril do patice na sovce a po zapnut PC se nic nestalo. Dovtpil jsem se, e nejprve bude teba
BootROM njak povolit. Jeliko karta nem dn jumper, ale m sriovou EEPROM, bylo jasn, e se to
nastavuje konfiguran utilitou. Tu jsem nael zde,
po rozbalen sta spustit soubor setup250.exe a v menu
"Set Up Configuration|Remote Boot" nastavit na Enabled, vybrat volnou adresu pro mapovn BootROM
(vybral jsem si CC00h) a uloit. Po t u XTIDE normln nabhnul na konci POSTu.
 |
 |
| D-Link DE-250CT |
boot s XTIDE z HDD |
XTIDE jsem vyzkouel s nkolika klasickmi disky a SSD s rznmi vsledky.
Jako prvn jsem testoval HDD Seagate Medalist ST310232A 10 GB. Bhem detekce se disk 2x rychle
po sob vypne a zapne (asi cold reset disku), co se mi pln nelb. Tak pi intenzivnm zpisu
v nkterch programech se disk zaal vypnat a zapnat. V benchmarku CheckIt doshl penosov rychlosti
1,57 MB/s a prmrn pstupov doby 8,3 ms. Jako dal jsem vyzkouel o nco novj
Seagate Barracudu 7200.7 ST340014A 40 GB, kter se pi detekci ani zpisech nevypn (jen zarachot
hlavama a jinak funguje OK.
Pak jsem zkusil SSD Transcend TS32GPSD330
32 GB MLC s pasivn redukc z IDE 44 pin na IDE 40 pin, ale XTIDE ho nedetekoval. Ani systmov
BIOS ho neuml pout s runm nastavenm na omezenu velikost 504 MB. Tento SSD mi funguje v
desce Abit BX133-Raid na onboard adii v soutbridge intel PIIX4,
ale nedetekuje se v mm retro PC s Pentiem Pro se soutbridgem intel PIIX3.
Netum pro, podle manulu by ml SSD podporovat LBA i CHS reim a penosov reimy PIO 0 - 4.
Dal SSD Samsung MZMPC032HBCD-000D1
32 GB MLC mSATA v redukci mSATA - IDE 44 pin z AliExpressu dopadl jet he - zasekl PC bhem
POSTu tak, e se nelo dostat ani do SETUPu. A to docela zvltnm zpsobem, vimnte si vynechanch
psmenek, nkter zas maj poruen font. Docela by m zajmalo, jak je mon obraz takto rozbt,
kdy znakov genertor na grafick kart funguje celkem autonomn (fonty jsou uloeny v EPROMce VGA
BIOSu). Zkusil jsem vythnout sovku s XTIDE, ale nemlo to dn vliv. Jinak tento SSD funguje
sprvn jak v Abit BX133-Raid, tak v Pentiu Pro.
Nakonec jsem jet vyzkouel Compact Flash kartu Transcend 16G B Ultra 133x v m redukci CF-IDE
a ta fungovala sprvn. V benchmarku CheckIt doshla penosov rychlosti 1,85 MB/s a prmrn
pstupov doby 0,3 ms.
 |
 |
| zsek v POSTu s SSD |
IDE adi ISA M5105 |
2.12.2022 Na VOGONS fru m
uivatel rasz_pl upozornil
na to, e mj IDE adi m bufferovanou pouze 1/2 sbrnice a e by to teba mohlo dlat problmy.
Natst na desce adie je krom osmice sriovch 33Ω odpor i footprint na poctiv buffer
(i dve se takto etily nklady). Rozhodl jsem se tedy odpory vypjet a osadil tam obvod
SN74LS245.
Bohuel to nepineslo dnou zmnu chovn. A kdy jsem vyhrabal jin IDE adi, tak pestal POST
se SSD Samsung tuhnout, avak stejn se oba SSD v XTIDE nedetekovaly.
 |
 |
 |
| vypjen odpor 33Ω |
pipjen SN74LS245 |
jin IDE adi ISA |
Protoe m toto podivn chovn SSD vrt hlavou, vyzkouel jsem je v
dalch 2 starch zkladnch deskch. Ve 486 s ISA adiem a AMI BIOSem, kter u m autodetekci disku,
tak se oba detekuj s nesprvnou hodnotou cylindr (15 hlav a 63 sektor odpovd) a malou kapacitou,
ale nejde z nich bootovat. XTIDE nedetekoval SSD vbec. V NETmate 386SX s VLSI chipsetem a integrovanm
IDE adiem se oba SSD detekuj s men kapacitou 1834 MB. SSD Transcend lze pouvat s omezenou
kapacitou pes systmov BIOS nebo pes XTIDE s plnou kapacitou. V benchmarku CheckIt doshl penosov
rychlosti 693 kB/s a prmrn pstupov doby 1,6 ms. Zatm co SSD Samsung pi detekci
sice tak vype kapacitu, ale v zpt chybu "Error initializing hard disk controller 0" a XTIDE
ho nedetekuje vbec. Pro plnost jsem jet v desce KMC-A419-8 vyzkouel nskou obousmrnou redukci IDE-SATA
s plotnovm SATA diskem Seagate Barracuda 7200.9 ST3160812AS 160 GB, ale chovala se stejn jako
mSATA redukce, pi detekci jen krtce blikla LED.
 |
 |
| chyba detekce SSD |
XTIDE netetekuje SSD |
6.12.2022 Jako dal krok jsem provedl
experiment s bootem DOSu z diskety, na n jsem nahrl svou utilitu SMB,
kter m.j. um na pmo komunikovat s diskem pomoc ATA pkaz. Naped jsem poslal pkaz IDENTIFY DEVICE
a SSD Transcend odpovdl, ale ada poloek byla chybn (nap. nzev a S/N disku) a nesedl kontroln souet.
Dle jsem zkusil pest sektor 0 (MBR) metodou CHS i LBA a oba proly bez chyby a peetl jsem z disku
njak data. Problm tedy nen v tom, e by SSD neuml pracovat v CHS PIO reimu, co by podle specifikace
umt ml.
V ppad SSD Samsung jsem musel postupovat tak, e jsem naped nabootoval
z diskety s odpojenm napjenm SSD (datov kabel jsem nechal pipojen) a a pak ho pipojil. Avak okamit
se mi na obrazovce objevily njak nhodn znaky, nicmn systm reagoval dle a mohl jsem aspo poslepu
zadvat pkazy. Zajmav je, e kdy jsem spustil Mikromanaera,
tak ten svou modrou obrazovku se souborovmi panely vykresloval bezchybn, ale kdy jsem se klvesovou
kombinac CTRL+O pepnul na DOSovou obrazovku, tak tam byl pod ten bordel a po pepnut zpt do manaera
jsem zas vidl ist panely. Spustil jsem tedy SMB s vstupem pesmrovanm do souboru, ale pkaz
IDENTIFY DEVICE neproel. Zrovna jsem sehnal jet dal mSATA SSD AData ASX300S3-64GM-C 64 GB
a chov se v redukci stejn jako SSD Samsung. Prost si asi njak tato mSATA redukce s tmto adiem
nerozum elektricky. Vymnil jsem tedy IDE adi za ten druh, s kterm to netuhlo a na nm se disk
chov stejn jako SSD Transcend, ili IDENTIFY DEVICE projde, ale vrt pokozen data, takt sektory
te pes CHS i LBA. Je tak logick, e kdy XTIDE dostane pi detekci pokozenou odpov, tak s diskem
dle nepokrauje, chybu je teba hledat nkde na sbrnici. K tomu by se hodil aspo 24-bitov logick
analyztor, ale mm pouze 8-bitov USBee AX PRO.
 |
 |
 |
 |
 |
| Transcend Identify |
Transcend read LBA |
Transcend read CHS |
Samsung disp. trash |
Samsung Identify |
8.12.2022 A pozdji jsem si viml,
e v petench raw datech ze SSD, jsou vechny MSB nulov. To m dovedlo k tomuto
vlknu,
kde uivatel Jon Abbott eil stejn problm a cel problm vysvtluje:
After some basic diagnosis with a volt meter on the IDE cable and visual inspection of the
SATA adapter boards today, I think I have an idea about why the MSB is missing. None of the
SATA adapters control the -IOCS16 line, so they're really designed for DMA transfer only where
the line is ignored. RiscPC doesn't support DMA, only PIO, so it's expecting -IOCS16 to be
pulled low if 16bit data is presented on the bus.
Promil jsem tedy multimetrem pin 32 na mSATA redukci a SSD Transcend,
piem se potvrdilo, e na obou je nezapojen (dle specifikace ATA-2
jet definovan je, ve specifikaci ATA-3
byl zruen). Na IDE adii jsem se domil, e tento signl IOCS16# jde pmo z konektoru disku (pin 32) na ISA sbrnici (pin D2).
Te u jen zbv vyeit, jak chybjc signl IOCS16# vygenerovat. Zkusil jsem narychlo pes 2 diody
slouit signly CS0# a CS1# (IOCS16# je typu oteven kolektor s pull-upem cca 1 kΩ nkde
na MB), ale pak SSD vbec nekomunikoval. Pi pohledu na asovac diagram to nebude pln triviln.
Jet se to komplikuje tm, e signl IOCS16# se nesm generovat v reimech PIO 3, 4, DMA a navc
se m generovat jen pi pstupu k datovmu registru (base + 0) a nikoliv k ostatnm dicm a status
registrm. To bude vyadovat njakou logiku s hradel z celkem 5 signl CS1#, CS0#, DA2, DA1, DA0.
 |
 |
| PIO timing |
IDE registers |
13.12.2022 Dekodr signlu IOCS16# jsem
navrhl ze 2 bn dostupnch logickch obvod 7432
(4 x 2-vstupov hradlo OR) a 7403
(4 x 2-vstupov hradlo NAND s vstupy typu oteven kolektor). U invertoru tedy mus bt pull-up odpor,
zatm co vstup pracuje do pull-upu na MB. Obvod jsem narychlo poskldal na kontaktnm nepjivm poli
a ovil zkladn funknost s LEDkou na vstupu. Pak jsem na zadn stranu desky IDE adie pipjel
8 tenkch drtk s potebnmi signly vetn napjen a zapchal je do nepjka. Zapojen jsem jet
ladil na osciloskopu, ale zobrazen nen moc pehledn, nebo na signlu IOCS16# je docela il aktivita
ze sbrnice a tak na ostatnch signlech se pod nco dje i kdy s diskem zrovna nekomunikuju.
Utilitou SMB jsem ovil sprvn ten sektoru a identifikaci,
nyn u tam jsou data sprvn, celch 16 bit. XTIDE BIOS pak SSD Transcend bez problm detekoval a
nabootoval z nj. V benchmarku CheckIt doshl penosov rychlosti 1,85 MB/s a prmrn pstupov
doby 0,1 ms. Co se te problmu s tuhnutm systmu a rozbitm obrazu pi pipojen SSD pes mSATA
v redukci na tomto IDE adii, tak se nic nezmnilo a se signlem IOCS16# to nijak nesouvis. Mon
njak problm s napovmi rovnmi nebo timingem. Pedpokldm, e na druhm IDE adii pojedou mSATA
SSD bez problm. Plnuju vyrobit mal ploek s SMD hradly, kter by se pipjel zezadu IDE adie
pmo na vyuhujc piny IDE konektoru a k tomu odnkud 1 drtkem dovedl 5V napjen. Vstup IOCS16#
signlu by el pes jumper, aby ho bylo mono v ppad poteby odpojit.
 |
 |
| IOCS16# dekodr |
IOCS16# dekodr |
Z nostalgie jsem zkusil na SSD Transcend nainstalovat Windows 95
OSR2. Instalan soubory jsem si pedem nakoproval na SSD a spustil instaltor z DOSu: setup.exe /is /ig /IW
(pehled pepna setupu je zde).
Instalace trvala asi 45 minut. Windows nastartuj za 26 s (mm do okamiku, kdy se ukazatel
myi zmn z pespaek na ipku) a jsou docela responzivn. Kdy to srovnm proti mmu prvnmu PC s
AMD 486DX4/100 a plotnovm diskem WD 630 MB, tak to bylo docela utrpen za nekonenho hrabn disku.
Pi neinnosti je vyten CPU kolem 1% a je alokovno 9,6 MB RAM. Sputn Internet Exploreru trv
asi 5 s a s przdnou strnkou se spoteba pamti zv na 13,7 MB.
 |
 |
 |
 |
| instaltor Windows 95 |
instaltor Windows 95 |
instaltor Windows 95 |
bc Windows 95 |
14.2.2023 mi pila vrka plok z JLCPCB
a mezi nimi i mal destika dekodru signlu IOCS16#. Osadil jsem 2 SMD vby a pr pasiv a pipjel destiku
na zadn stranu IDE adie za vystupujc kousky pin IDE konektoru. Pak u jen zbvalo pipojit napjen
5 V jednm drtkem z nejbliho bodu na IDE adii. Pomoc jumperu lze vstupn signl IOCS16# z
dekodru odpojit (pro ppad, e ho pipojen disk generuje sm, tak aby se nepotloukly vstupy hradel).
Testoval jsem opt s SSD Transcend a fungovalo to na prvn dobrou.
 |
 |
 |
 |
 |
| IOCS16# dek. schma |
IOCS16# dek. layout |
IOCS16# dek. model |
IOCS16# dek. PCB |
IDE ctrl. back-side |
Pehrvn MP3 na Am386DX a TX486DLC
15.3.2025 Kdy jsem nkdy skoro ped 30 lety
na svm prvnm PC s AMD 486DX4/100 zkouel poprv pehrvat komprimovan hudebn soubory MP3 (128 kbps),
tak to PC sotva sthalo s vytenm CPU blzkm 100%. Pouval jsem tehd pehrvae XTC-Play 0.97c
pro DOS, WinPlay3 2.3b5 pro
Windows 3.11 a WinAMP pro
Windows 95. Kooperativn multitasking ve Windows 3.11 byl v tomto ppad vhodou proti preemptivnmu
multitaskingu ve Windows 95, kde pi kivm pohybu my dochzelo k vpadkm zvuku. Grabovn audio CD
a vroba vlastnch MP3 pomoc enkodru L3Enc
pro DOS pak byla zbava na pl dne. Tehdy by m ani nenapadlo, e by se MP3 daly pehrvat na vrazn
pomalejch PC.
Po jedn diskusi o 486 na OldComp.cz
jsem zkusil trochu zaptrat, jestli nhodou nkdo nenapsal njakou optimalizovanou MP3 knihovnu pro
MCUka, kter by mohla dobe bhat i na starch PC. Nejprve jsem nael knihovnu minimp3,
kterou jsem zkusil zkompilovat pro DOS pomoc DJGPP.
Testovac program na mm hlavnm PC s Core i7-2600K dekomprimoval
na RAMdisku 128kbps MP3 o dlce 250 s za 0,5 s, take teoreticky by stail na realtime
pehrvn 10MHz CPU. Avak 386/486 maj dov hor IPC, take v relu byl vsledek tragick -
16s vez te MP3 se na 40MHz TX486DLC na RAMdisku dekdoval 97s, co je asi 25x hor, ne by
zvldlo Core i7 na 40 MHz.
Dle jsem nael projekt Nocash MP3 decoder
Martina Kortha z Nmecka. O nm jsou i diskusn vlkna na VOGONS fru
a NesDev fru.
To u vypadalo docela nadjn, optimalizovan knihovna kompletn pepsan do assembleru a fixed-point
integer aritmetiky - nepotebuje tedy (dve relativn pomal) FPU. Jedinou vadou na krse je, e je
to Win32 aplikace (konzolov), take vyaduje pro bh alespo Windows 95, kter jsem u pedtm
nainstaloval na SSD. Poteboval jsem akort doinstalovat ovladae pro
zvukovou kartu - shl jsem do krabice pro Sound Blaster AWE64.
Kolega OldCompista to zkouel s rozenm Win32S
na Windows 3.11, ale neuspl. Autor m na webu jet ARMovou verzi pro Game Boy Advance.
Dleit je, e mp3play m celou adu parametr, kter pomhaj vrazn
redukovat potebn vpoetn vkon na kor kvality, pokud CPU nesth. Nen tedy teba MP3 soubor pedem
znovu pekdovvat do niho bitrate a ni vzorkovac frekvence. Tento dekodr um nkter data nesouc
informace o vych frekvencch vynechat u na zatku etzce a tm vrazn et as CPU. Podvejme se
na tyto parametry podrobnji: /half a /quarter
sniuj vstupn vzorkovac frekvenci na polovinu, resp. tvrtinu, co zrychl dekdovn asi 1,7x resp.
2,3x. Parametr /mono redukuje 2 kanly do 1, opt pin vrazn zrychlen
asi 2x. Parametry /fast (men pesnost vpot) a /8bit
(ni bitov rozlien vstupu - vt kvantizan um) u pinesou zrychlen jen pr %, nkdy dokonce
zpsob i zpomalen - je teba vyzkouet na konkrtnm CPU. Balek tak obsahuje celou adu verz s rznmi
typy optimalizac (nkter vhodnj pro 386, jin pro 486), ale v praxi jsem zjistil, e rozdl mezi nejlep
(mp3huf5.exe) a nejhor (mp3huf2.exe) variantou
je jen 7,7% (386DX), resp. 5,2% (486DLC), take to nem moc vznam. Parametr /test
slou pro men max. rychlosti dekdovn bez zvukovho vstupu a zobraz asovou dlku danho MP3
souboru a skuten as, kter byl poteba pro dekdovn.
Pro testovn jsem pouil skladbu Desmond Doom - The Dissociation Song
v MP3 128 kbps, 44 kHz, joint stereo, resp. prvnch 16,013 s (256000 B). Na 486DLC
jsem doshl plynul hratelnosti s parametrem /mono nebo /half
(testovac as dekdovn: 10,011 s resp. 12,048 s, v pln kvalit pak 19,619 s). Nebyl
problm ani s pehrvnm MP3 320 kbps, 44 kHz, stereo, take bitrate zde nem na rychlost
zsadn vliv. Oproti tomu se Am386DX na stejn frekvenci ukzala vpoetn vrazn slab, v pln kvalit
trvalo dekdovn 37,512 s. S parametrem /mono jsem se dostal na 18,960 s
a s /half na 22,399 s, co pod nestailo (ani s pidnm parametr
/fast a /8bit), take jsem musel pout oba
dohromady (tedy vstup 22 kHz mono) a pak jsem se dostal na 11,427 s, co u stailo na
pehrvn s dostatenou rezervou. Avak u 320kbps MP3 to pestalo sthat s obasnmi vpadky a musel
jsem kvalitu snit a na /quarter /mono.
Zde je m video
testu na 386DX, v 2. sti videa jsem pepnul zvuk z foku pmo na lineout zvukovky SB AWE64, kter
jsem vzorkoval hlavm PC na SB Audigy. Autenticky je slyet i sekn zvuku, pokud zanu po Windows chtt
nco dalho nebo jen pepnu z fullscreenu zpt do okna. Pi tom jsem nael jet dal zajmav
video njakho Turka, kter pout
upraven port mp3play ve vlastnm operanm systmu TRDOS 386
a zbavil se tak zvislosti na Widlch. TRDOS by ml snad podporovat audio vstup na PC speaker, SB16,
intel AC'97, HDA a VIA VT823x, take nmt na dal testovn.
29.3.2025 Pro zajmavost jsem otestoval mp3play
na dalch 486 CPU na zkladn desce Octek Hippo 10. Prvnm pekvapenm
bylo, e plnokrevn intel 486DX-40 s 8 kB L1 cache doshla znateln horch vsledk ne TX486DLC-40
s 1 kB L1 cache. Druhm, naopak velmi pozitivnm pekvapenm byla Green 486 od UMC U5SX-40
(zde absence FPU nevad), kter naopak pedvedla skvl vkon (dky optimalizaci mikrokdu - vymu IPC),
co s parametrem /fast umonilo dekdovat MP3 v pln kvalit. Mnohem ve
taktovan Am5x86 to u pak dv s prstem v nose a i DOSov pehrva MPXPlay
na n pehrv 320kbps MP3 s vytenm CPU jen kolem 65%.
Dle se mi podailo mp3play rozbhnout v DOSu pod HX DOS Extenderem
na SB AWE64, ale overhead emulace zvukovho subsystmu Win32 API byl takov, e i na Am5x86 se zvuk
nepjemn sekal a ujdla rychlost pehrvn (nehled na pouit parametry redukce kvality),
e se to nedalo poslouchat. Pekvapiv na 486DLC v desce KMC-A419-8 se zvuk
mp3play pod HX sekal mnohem mn, ale rychlost pehrvn s parametrem /quarter
ujdla taky. Zejm zle i na chipsetu nebo byla na Hippo 10 njak anomlie. V reimu /test
bylo dekdovn pod HX o pr % rychlej ne pod Windows 95, ale pi relnm pehrvn na zvukovce
to nem vznam.
Zkusil jsem t nainstalovat rozen Win32S 1.30c
do Windows 3.11, ale nepodailo se mi v nich mp3play spustit (ani dnou jinou Win32 konzolovou
aplikaci), take tudy tak cesta nevede. Zkouel jsem i spustit Windows 95, kter jsem nainstaloval
na SSD na 386 desce KMC-A419-8, ale z njakho neznmho dvodu bely na
desce Octek Hippo 10 velmi nestabiln, obas spadly do modr hned pi startu, jindy pr vtein po sputn
pehrvn mp3play provedl neplatnou operaci a neml jsem zrovna chu instalovat Widle znovu.
7.4.2025 Vyzkouel jsem jet mp3play portovan
pro ve zmnn TRDOS 386 2.0 na
486DLC v desce KMC-A419-8. Sthl jsem njak bootovac image
diskety a pidal do nj pomoc WinImage mp3play0.prg
a testovac mp3 soubor. Image jsem nabootoval z DOSu pomoc GRUB4DOS.
TRDOS um pracovat s FS FAT12/16/32, ale neum spoutt DOSov COM/EXE programy - pouv vlastn formt
*.PRG (autor pro nj peportoval adu DOSovch program). Nsledn nastal
problm s Plug & Pray zvukovkou SB AWE64, jeliko se mi ji neda na nePNP desce zprovoznit jen s pomoc
DOSovch driver. Vdy musm naped spustit Windows 95, kter provedou Plug & Play konfiguraci
zvukovky a pak restartovat do DOSu, kde spustm DOSov driver nebo Unisound
a pak zvukovka funguje pod DOSem normln, i kdy provedu mkk reset. Ale jakmile vypnu a zapnu napjen,
tak se konfigurace ztrat a DOSov driver ani Unisound zvukovku nenajde. Bohuel kdy spustm TRDOS po t,
co ped tm bely Windows 95 (a u z image nebo diskety), tak po stisku jakkoliv klvesy dostanu
njak exception v kernelu a nsleduje restart. A kdy Windows 95 pedtm nespustm (neprobhne
Plug & Play konfigurace), tak TRDOS zvukovku nenajde. Zkusil jsem tedy jet jinou nePNP zvukovku
(PicoGUS s SB 2.0 FW). V DOSu ve fungovalo jen s nastavenou promnnou prosted BLASTER.
TRDOS zvukovku tak nael, ale dn program nehrl, vdy se to pi sputn seklo. Take jsem mohl
vyzkouet mp3play jen v reimu /test a bel podobn rychle jako pod
HX DOS Extenderem).
| params / CPU: |
Am386DX-40 |
TX486DLC-40 |
i486DX-40 |
U5SX-40 |
Am5x86-160 |
kvalita |
| - |
37,512 s |
19,619 s |
28,921 s |
19,602 s |
7,806 s |
44 kHz, 16-bit, stereo |
| /fast |
36,178 s |
20,217 s |
27,663 s |
13,891 s |
7,471 s |
44 kHz, 16-bit, stereo |
| /half |
22,399 s |
12,048 s |
16,627 s |
11,447 s |
4,638 s |
22 kHz, 16-bit, stereo |
| /mono |
18,960 s |
10,011 s |
14,565 s |
9,888 s |
3,940 s |
44 kHz, 16-bit, mono |
| /mono /half |
11,427 s |
6,211 s |
8,421 s |
5,815 s |
2,344 s |
22 kHz, 16-bit, mono |
| /quarter |
16,224 s |
8,584 s |
11,517 s |
7,828 s |
3,342 s |
11 kHz, 16-bit, stereo |
rychlost dekdovn MP3 128 kbps, 44 kHz, joint stereo, 16,013 s
Hackovn utility SpeedSys
13.4.2025 Trochu m tvalo, e utilita SpeedSys
neb na mm CPU Tx486DLC a nemu tak pidat benchmark do tabulky a porovnat prbhy graf propustnosti
cache v reimu WT/WB. Z VOGONS fra
u vm, e problm je zpsoben tenm neexistujcho specifickho konfiguranho registru. Napadlo m tedy
najt odpovdajc kd a zkusit ho vyadit. To ale nebylo tak snadn, protoe binrka SpeedSysu je bu
ifrovan nebo zabalen neznmm EXE packerem, take jsem ji nemohl disassemblovat. Zkusil jsem ji rozbalit
pomoc UNP, ale nespn.
Jedinou monost tedy bylo pout debugger. U jsem docela hodn dlouho na
x86 nic nedebugoval. Jeliko SpeedSys vyuv PMode a nem rd, kdy je CPU ve V86 mode (EMM386/QEMM386/JEMM386
a nkter debuggery), rozhodl jsem se vyzkouet Japhethv DebugXv
kter zvld RM i PM. Je to celkem jednoduch textov debugger vychzejc z utility debug, kter byla
u soust MS-DOSu. Jeho zajmavou funkc je, e um nastavit a 4 hardwarov breakpointy na adresy kdu
nebo 4 I/O watchpointy. Pomoc nich lze pokrt rozsah a 16 I/O port. Syntaxe je ponkud obskurn,
watchpoint se zad pkazem nap. bp 0:80 2, kde 80
je adresa I/O portu 80h a 2 je typ pstupu
(2: 8-bitov port, 12: 16-bitov port, 32:
32-bitov port). Dal hek je v tom, e aby watchpointy fungovaly, mus bt nastaven bit 3 - DE
(Debugging Extensions) v control registru CR4,
co za vs DebugXv neudl, ale muste si ho nastavit sami. Jeliko s CR registry na x86 nejde pracovat
pmo, je nutn provst ten, modifikaci, zpis; nap. tmto kdem: MOV EAX,CR4;
OR EAX,8; MOV CR4,EAX. Dal, ponkud neikovnou
vlastnost (danou HW) je, e se bc program zastav a po vykonn IN/OUT
instrukce. Bohuel jsem nsledn zjistil, e 486DLC nem control registr CR4 a nelze tak I/O watchpointy
pot.
Nezbylo tedy, ne program run odkrokovat. K tomu se hod jin rezidentn
debugger, kter lze vyvolat njako klvesou. Zkusil jsem naped Borland TD386, ale ten ani nechtl binrku
nast. Pak jsem si vzpomnl na CandyManv Dark Debugger,
kter m docela hezk TUI a adu funkc, vetn breakpoint na I/O, ale ty t nefungovaly. Musel jsem tedy
spustit SpeedSys, ve vhodn okamik stisknout klvesu Pause/Break a pak krokovat. Kdy jsem doel na njak
call (pomoc F8 - step over), po kterm nsledoval ztuh, poznamenal jsem si adresu a pt do nj vstoupil
(pomoc F7 - trace into) a opt pokraoval k dalm callm, kde to vytuhlo. Nakonec se mi podailo dojt
a do vnitn rutiny, kter obsahovala hledan instrukce MOV AL,0FEh;
OUT 22h,AL; IN AL,23h, tedy ten konfiguranho
registru FEh (port 22h je slo registru a port
23h) je pro data. Podle datasheetu vak na CPU Tx/Cx486DLC/SLC dn takov
registr nen, platn jsou pouze hodnoty C0h - CFh
(ty CPU dekduje intern a negeneruje sbrnicov I/O cykly). Pokud tedy CPU zaznamen pstup k registru
mimo tento rozsah, tak se vygeneruje bn I/O cyklus na sbrnici a pokud zrovna port 22h
pouv i chipset, tak ho neoekvanm zpisem rozjebe. Kdy jsem v Dark Debuggeru tyto instrukce peskoil,
tak SpeedSys bel dl, ale v omezenm reimu, protoe nem rd V86.
Zbvalo tedy njak vymyslet, jak by se dal patchnout kd SpeedSysu v pamti
runtime. Mezi tm se ale na BTTR fru ozval Robert Riebisch
se skvlou zprvou, e kdysi v roce 2006 zskal od autora Vladimira Afanasieva zdrojov kdy posledn verze
4.79 beta 4, kter mu dovolil zveejnit pod GPL na GitHubu.
J jsem mu zkusil te taky napsat, ale celkem nepekvapiv se mi mail vrtil nedoruen. Tm se situace
znan zjednoduila. Jak jsem zjistil, SpeedSys je ist prce v assembleru a celkem bez problm se mi
ho podailo zkompilovat pomoc TASM 4.1. Autor
pouil oblben EXE packer UPX, kter ale zobfuskoval
pepsnm hlaviky svou utilitou speedin1.exe, kterou jsem z kompilanho
procesu vynechal. Jako dirty hotfix jsem zakomentoval zmnn I/O instrukce a nov zkompilovan binrka
je ke staen zde. Chtl bych to ale poeit ist njakou
detekc 486DLC/SLC a podle toho kd rozvtvit, jestli se konfiguran registr bude nebo nebude st.
Na dal podobnou chybu v SpeedSysu jsem narazil na mm primrnm PC s Core i7-2600K,
kdy zatuhne pi ten MSR. To bych tak rd njak opravil. Vsledky benchmark jsem pidal do
tabulky ne.
 |
| Dark Debugger |
Oprava Paradise VGA WD90C00-JK ISA
16.9.2022 Od Duana jsem dostal na hran
smsici rznch starch ISA/PCI karet. Mezi nimi tak byla nefunkn grafick ISA karta Paradise VGA
ipem WD90C00-JK
a 256 kB VRAM. Kdy jsem ji zastril do slotu, tak deska vyppvala stejn chybov kd, jako kdyby
v n dn VGA karta nebyla. Zkusil jsem naped pomoc programtoru LabProg-48LV
pest video BIOS ze dvou 16kB OTP EPROMek a obsah 2 programovatelnch obvod dekodr PAL - bez problm.
Dle jsem zmil vstupy vech 4 krystalovch osciltor a namil odpovdajc frekvence s amplitudou
cca 2,5 - 4,5 Vpp. Tak jsem osciloskopem ouchal piny grafickho ipu, kde jsem vidl aktivitu
na adresov a datov sbrnici, ale dnou aktivitu smrem k VRAM (MA0-8, MD0-15) a do RAMDACu (VID0-7),
co indikovalo, e ip je asi mrtv.
Jeliko jsem ml v uplku vypjen grafick ip PVGA1A-JK,
kter by ml bt velmi podobn a podle datasheetu je pinov kompatabiln (nkde jsem etl, e ho Western
Digital pi koupi Paradise Systems patrn jen pejmenoval), tak jsem se kart jet rozhodl dt anci.
Naivn jsem si myslel, e jen pepjm tento PLCC100 ip a bude to fungovat, ale tak jednoduch to nebylo.
Po vmn jsem stle dostval stejn ppn, jako e VGA nen ptomna. uchal jsem znovu osciloskopem
a nyn u byla vidt aktivita na sbrnici VRAM, ale do RAMDACu nelo pod nic, ani dn HSYNC, VSYNC
pulsy. VRAM jsem zkusil vymnit, ale dn zmna. Pojal jsem podezen, e chyba bude asi v njakm z
hradel 74xx, dokonce i vechny odpory jsem pemil. Vypjel jsem pomoc vyhvan odsvaky celkem
11 hradel 74xx a kad obvod otestoval, ale dn vadn jsem nenael, take jsem je zas vrtil zpt.
Kupodivu se ale chovn karty zmnilo - deska ani neppla a obraz nikde, no m dl lep. Tak jsem
zastril do MB i POST kartu a vidl, e se AMI BIOS pod to v njak
smyce, kde se rychle stdalo pr POST kd. Kdy jsem vyjmul jeden z ip video BIOSu, tak k zaseknut
nedochzelo. Napadlo m tedy, e asi stvajc video BIOS nebude se starm grafickm ipem kompatabiln.
Podailo se mi najt image video BIOSu pro PVGA1A-JK
a tak jsem vzal 2 EPROMky Am27128A, vymazal je UV lampou, naprogramoval, stril do karty a ejhle, ono
to bootuje s obrazem :) Projel jsem testy vech video md v Norton Diagnosticu a CheckItu a v podku.
Kartu by lo doosadit na 512 kB VRAM, ale UniVBE ji nepodporuje, take vy rozlien by vyuily
jen DOSov programy pmo podporujc PVGA.
 |
 |
| po vmn WD90C00-JK |
PVGA bez 74xx hradel |
27.8.2023 Dnes jsem zjistil, e mi dve opraven
Paradise VGA zhadn umela. Ve ve zmnn 386 desce s AMI BIOSem se POST zastav s ernou obrazovkou na
kdu 2Ch, co znamen video ROM check. Prvn, co m napadlo, e jsem pedtm
nedokonale naprogramoval EPROMky a dolo k zapomenut njakho bitu. Avak po peten v programtoru a
porovnn s image jsem dn rozdly nenael. Takt jsem zkontroloval obsah programovatelnch obvod PAL
a tak beze zmny, tak netum, co se posralo...
31.8.2023 Nael jsem vyhozenou 16-bitovou ISA
VGA kartu s ipem OAK OTI067 a 512 kB VRAM. Karta byla bez bracketu, ale jinak vypadala nepokozen.
Po vloen do 386 MB se tvila, jakoby tam dn VGA karta nebyla. Zkusil jsem tedy pest obsah OTP EPROM
27C256 (plastov ip bez oknka) a programtor hlsil, e nesouhlas ten pi VCCmin a VCCmax. Kdy jsem
si obsah prohldl, na prvn pohled bylo vidt pokozen mnoha Byt (nap. v textovch etzcch).
Identifikoval jsem verzi video BIOSu jako 1.04 s timestampem Thu May 02 14:37:12 1991. Na tomto webu
jsem nael novj verzi video BIOSu 1.06
s timestampem Mon Mar 02 14:23:12 1992, kterou jsem naplil do przdn EPROMky, vloil do karty a karta oila.
Jak je vidt, tak nkter ipy u po 30 letech zanaj mt sklerzu a je tedy teba je vas zazlohovat.
Oprava 386 zkladn desky Soyo SY-015G
10.3.2023 Od Duana jsem dle dostal na hran
2 neznm zkladn desky s onboard SMD CPU Am386DX-40 a chipsetem Macronix MX83C305FC & MX83C306FC
i s origo paprovm manulem,
kter jsem nsledn naskenoval a s BIOS dumpem
poslal na Retroweb. Patrn se jedn o desku Soyo SY-015G,
akort ta moje nem osazenou PGA patici na CPU, co by ale nebyl problm dopjet, stejn jako jsem to
udlal u desky ve. Ob desky mly vytekl NiCd baterky, kter sten
pokodily mdn spoje i prokovy na PCB. Jedna deska vbec nePOSTuje (jen kmit osciltor), druh deska
nabhla, ale hlsila chybu keyboard controlleru a klvesnice vbec nedostvala napjen. Odpjel jsem tedy
5-kolkov DIN konektor klvesnice a nael u kraje 1 seranou napjec cestu, kter vedla pes tlumivku
na napjen 5 V a propojil jsem ji drtkem. Dle jsem nael 2 vyhnil prokovy, kter njak souvisely
s funkc KBC, nebo po jejich propojen drtkem chyba zmizela a klvesnice zala normln fungovat.
Desku jsem projel zkladnmi diagnostickmi testy v Norton Diagnosticu a neobjevila se dn chyba.
V SETUPu m pekvapilo, e jsem tam vidl volbu "External cache: enabled",
pitom na desce dn SRAM ipy nejsou. Naped jsem to povaoval za bug, ale kdy jsem spustil
CCT386, tak je evidentn vidt,
e podle skokov zmny rychlosti m nkde schovanch 8 kB cache. A to zejm pmo v tom chipsetu,
jak se o tom zmiuj na Retrowebu. Tak to jen takov zajmavost, e takov chytr chipsety existuj,
jen jsem o nich dosud nevdl...
 |
 |
 |
 |
| vytekl NiCd aku |
MB 386DX |
oprava PCB |
8 kB internal cache |
29.1.2026 Pustil jsem se do opravy druh desky,
kter vbec nePOSTovala. Opravil jsem pr seranch cestiek v okol baterky, kvli emu jsem musel
odpjet i DIN konektor klvesnice, ale beze zmny. Vythl jsem osciloskop a ouchal signly na sbrnicch.
Na pinech EPROMky s BIOSem, ISA, i CPU bylo celkem ivo. Napadlo m msto BIOSu strit do patice testovac
EPROMku s jednoduchm progrmkem,
kter v nekonen smyce posl hodnotu 13h na I/O port 80h:
0: B0 13 MOV AL, 0x13 ; D7=1, 0
2: E6 80 OUT 0x80, AL ; D7=1, 1
4: EB FA JMPS 0 ; D7=1, 1
|
Avak na POST kart se zobrazila hodnota 93h. Take je nco patn s
datovou linkou D7. Nhodou zrovna vechny pouit x86 opkdy maj bit7 = 1, take bh kdu
nebyl naruen, ale zmrvila se jen data v pmm operandu instrukce MOV. Na osciloskopu jsem zachytil
prbh na pinu D7 EPROMky, kde byla v jednom tecm cyklu vidt log. 0 a v ostatnch log. 1, take
program se z pamti te sprvn, ale na ISA sbrnici jsem v zpisovm cyklu IOWR# vidl D7 na log. 1.
Data se tedy mou zmrvit nkde po cest mezi chipsetem a CPU.
 |
 |
 |
 |
| EPROM D7 & OE# |
ISA IORW# & OE# |
CPU D7 & M/IO# |
blokov schma |
Zaal sem tedy sledovat, kam vede D7 od EPROMky a doel k obousmrnmu
budii sbrnice U5 - 74F245.
Jeho brna B vede pmo na datov linky D7:0 ISA sbrnice (D7 je na ISA slotu
na pinu A2 v prav ad) a brna A vede na D7:0 EPROMky, RTC, KBC a chipsetu MX83C305FC. Od nj vak
nevedou dn datov linky do CPU, ty vedou pouze do druhho chipsetu MX83C306FC. Mezi sebou maj oba
chipsety njak proprietrn propojen.
Mezitm jsem dostal balek s dalm PC rotem, kde se nachzela zrovna
jedna vrakov deska Kaimei KM-386MX
s podobnm chipsetem MX83C305AFC a MX83C306AFC. Zkusil jsem z n chipset vypjet horkovzduchem a pehodit
na opravovanou desku (a pro sirot jistotu jet vymnil i buffer 74F245), ale dn zmna. Musel jsem
se tedy hloubji ponoit do hledan spoj a postupn tak vzniklo sten blokov schma
a netlist rznch komponent. K tomu jsem zpotku hodn vyuval tu
druhou oholenou desku, kde se bez vb cestiky lpe sledovaly.
30.1.2026 Nael jsem tam i jednu odlinost,
e na KM-386MX nebyl osazen oddlova sbrnic, ale oba chipsety sdlely stejn datov linky D7:0 pipojen
rovnou na ISA sloty. Tm jsem zjistil, e D7 m vst na pin 146 chipsetu MX83C306FC, ale na moj desce byla
cesta nkde peruen. Vysledoval jsem, e vede pod ipem na doln stran pod SIMM sloty, kde zas prokovem
vyleze nahoru a vede na prokov pinu A2 ISA slotu 9, jeho kraj je docela blzko baterce. Okem nebylo nic
moc vidt, ale patrn u zakonen cestiky do horn ploky prokovu to bylo peran. Okrbal jsem tedy
nepjivou masku z kousku cestiky co nejble ISA slotu a pipjel tam tenk drtek se zahnutm hkem
kolem pinu A2. Po zapnut jsem konen dostal sprvn kd 13h a po vmn
za pvodn BIOS zaala deska normln startovat...
Jene jsem se radoval pedasn, protoe pro zmnu zas nefungovala
klvesnice. A to docela zvltnm zpsobem. U vtiny desek vyblit baterka prost seere cestiky CLK
a DATA od DIN konektoru klvesnice ke KBC, kter jsou nejvc na rn. Ty ale v mm ppad byly v podku
a konily v KBC na pinech 1 - TEST0 a 39 - TEST1. Navc BIOS nepsal klasicky chybu "Keyboard error", ale
poznal, jestli tam klvesnice je pipojen nebo nen. Asi 2 s po HW resetu na klvesnici probliknou
LEDky, take KBC provede spn reset klvesnice. Zkusil jsem KBC prohodit s jinm z desky KMC-A419-8
a s nm to taky nefungovalo, zatm co KBC z tto desky v druh fungoval normln.
Pojal jsem podezen, jestli za to neme njak odlinost v revizi
chipsetu FC vs AFC. Napadlo m zkusit naplit do EPROMky BIOS z jin desky, kter mla AFC verzi chipsetu.
Na Retrowebu jsem nael celou adu desek s tmto chipsetem a vyzkouel MR BIOS pro desku
Octek JAGUAR V 386,
kter m na fotkch uivatel FC i AFC chipsety. Nicmn se to s MR BIOSem chovalo stejn, akort e ten
po ohlen chyby nastaven CMOS pi dalm startu u chybu nepe a pokrauje v bootu, take s pipojenm
adiem a XTIDE jsem byl schopen nabootovat do DOSu. Do autoexec.bat
jsem pidal sputn utility na zobrazovn scankd klvesnice, ale ten po stisku klvesy nic nezobrazil.
31.1.2026 Zaal jsem tedy podrobnji zkoumat
zapojen KBC (MCU 8042)
a porovnal ho se zapojenm na stran 111 v
IBM PC AT Technical Reference manulu
a prakticky se neli. Jeliko m KBC pouze jednosmrn porty, zatm co klvesnice pouv 2 obousmrn
signly CLK a DATA s otevenm kolektorem, tak mus KBC na kad signl pout 2 porty - jeden vstupn
a jeden vstupn. Navc protoe nem vstup s otevenm kolektorem, tak mus pout extern invertor typu
74LS05.
Vydloubnul jsem KBC z patice a otestoval invertorovou logiku stimulac vstup a mil vstupy: v log. 1
bylo vstupn napt cca 4,9 V a v log. 0 cca 0,35 V, co je v norm.
1.2.2026 Zkontroloval jsem osciloskopem
piny osciltoru X1, X2, kde jsem namil u obou desek frekvenci 7,14 MHz. Dle jsem sledoval prbhy
signl na pinech CLK a DATA a zjistil, e po HW resetu desky tam normln probhne sekvence resetu
klvesnice (hodiny generuje vdy klvesnice a KBC posl data).
 |
 |
 |
| KBC oscillator X1, X2 |
KBD reset @SY-015G |
KBD reset @KMC-A419-8 |
Patrn rozdl je viditeln pi vysln scankdu z klvesnice do KBC,
kter klvesnice pole pouze pi prvnm stisku a pak u nic. Zatm co na zdrav desce se signl CLK vrt
po chvilce zpt do log. 1, tak zde zstane CLK viset trvale v log. 0. A to z vle KBC, kter dr vstup
P26 na log. 1, take invertor jen dl svou prci. Kdy jsem tedy vyerpal vechny monosti na stran KBC
smrem ke klvesnici, napadlo m, e problm mus bt na druh stran od KBC smrem k chipsetu. KBC by
toti ml generovat signl peruen IRQ1 na portu P24 (pin 35) pro chipset a ten by ml vytenm scankdu
peruen potvrdit. Avak pokud nikdo z KBC scankdy neodebr, tak ten na to reaguje prv tmto zpsobem,
m zmrn brn klvesnici poslat dal data, kter se mezitm hromad v jejm internm bufferu. Take
vink byl jasn a nedalo u moc prce dohledat dal uranou cestiku k pinu pin 123 chipsetu MX83C306FC
pobl baterky, kter na to pln nevypadala. Po peklemovn drtkem klvesnice oila a deska zala
konen normln fungovat...
 |
 |
 |
| KBD scancode @SY-015G |
KBD scanc. @KMC-A419-8 |
KBD scancode-decoded |
Nakonec jsem jet na desce udlal PGA socket mod
jako na desce zmnn ve. Na spodn stran po onboard CPU se nachz pjec propojka od pinu 54 (FLT#),
kterou lze jednodue propojit se zem. J jsem tam pipjel mal SMD pepna, abych mohl CPU mnit dle
poteby. Provedl jsem pr test s onboard CPU Am386DX-40 a PGA CPU TX486DLC-40.
Jak jsem zhy zjistil, deska nezvld rychleji taktovanou ISA sbrnici na 20 MHz - okamit se zanou
objevovat na obrazovce nhodn znaky v textovm mdu, take jsem musel o krok ne na 13 MHz. Dle
deska nezvld stabiln bet se 4 x 4MB SIMM moduly, pestoe manul tvrd, e zvldne osadit a 32 MB
RAM. Zkouel jsem nkolik rznch modul i ty nov vyroben a nebyl jsem schopen
dokonit ani timedemo v Quake, Win95 spadly hned po startu a i SpeedSys a Norton Diagnostic hlsily chybu
pamti. A to i s nejpomalejm asovnm RAM a ISA frekvenci na default. Nkterm chipsetm prost tyhle
4MB RAMky nemakujou. Take jsem testoval s 8 x 1MB SIMM moduly. Tak jsem zjistil, e s originlnm AMI
BIOSem systm b o nco rychleji ne s MR BIOSem z Octek JAGUARu V (nap. v Doomu byl rozdl 7,21 vs
7,06 FPS a v Quake 1,9 vs 1,8 FPS).
Jak se mnou vyjebal vypna na redukci od ATX zdroje
23.9.2023 Pro testovn starho PC rotu
pouvm micro ATX zdroj Fortron FSP200-50SNV
(asi tetinov velikosti proti bnmu ATX zdroji). Abych nemusel mt po ruce jet star velk AT zdroj,
vyrobil jsem si kabelovou redukci z ATX konektoru
na AT.
Na pin PS_ON# (14) jsem si pidlal mal vypna pro ppad, e bych
redukci pouil s jinm ATX zdrojem, kter nem vlastn vypna, ale tento Fortron vypna m, take
pouvm spe ten. V posledn dob se mi stvalo, e testovan AT desky, kter jsem tmto zdrojem
napjel, tak se po njak dob nhodn restartovaly. Nkdy krtce po bootu, jindy teba za pl hodiny.
Pojal jsem podezen, e ve zdroji asi vyschly elyty a njak
proudov pika pak shod napt pli dol. Kouknul jsem na vstupy zdroje osciloskopem, ale nic
podezelho jsem tam nevidl, jen klasick zvlnn-jehly. I tak jsem zdroj rozebral a promil pr
elyt, ale ty vstupn byly celkem OK. Pouze 2 mrav elyty, kter se nachzely v blzkosti evidentn
hodn topcch odpor 22 kΩ (byl pod nima zhndl plok), byly vysuen, ale na funkci
nemly moc vliv. Vypeen odpory jsem vymnil za vt. Nicmn i tak problm petrvval. Pak m
teprv napadlo shnout na ten mal vypna a u pi letmm dotyku dolo k restartu. patn kontakt
zpsobil tak krtk peruen na signlu PS_ON#, e se zdroj viditeln
nestihl vypnout (vtrek pod bel), ale zejm stihl shodit signl PWR_OK,
co vyvolalo restart. Prkrt jsem vypna procvakal a umoudil se. No, takov pinoen a takov kravina...
Jak se mnou vyjebala klvesnice
5.11.2025 Ped vce ne 17 lety jsem si
koupil multimediln PS/2 klvesnici KME KM-3801
a byl jsem s n spokojen, a do te. Z nieho nic mi zaly problikvat vechny 3 stavov LEDky a postupn
pestala reagovat. Po odpojen a pipojen k PC na chvilku fungovala a pak se zas rozblikala. Vypadalo to
jako mikov ztrta napjen. Zkusil jsem zakvedlat PS/2 konektorem, ale nic. Kdy jsem pipojil jinou
klvesnici, tak fungovala normln. Napadlo m, e se mon pevkla la v kabelu v mst, kde vychz
z tla klvesnice (nco podobnho se mi u stalo u vrtaky). Klvesnici jsem tedy rozebral, utpnul asi
15 cm kablku a pipjel znovu k destice elektroniky. Sloil jsem ji, pipojil k PC, fungovala asi
minutu a zase se rozblikala. Znovu jsem ji rozebral a zkusil pipjet 2 drtky pro napjen pmo k destice
elektroniky a pustil tam 5 V z lab. zdroje. Po chvilce zas zaala blikat, take pvodn kabel za
to opravdu nemohl. Na destice je akort njak ip v podob "plivance", 3 LED, odprek a 10µF
elyt. I ten jsem pro sichr vypjel, zmil a vymnil (byl jet celkem OK), ale nepomohlo to. Kdy jsem
destiku zkouel velijak prohbat, tak na to nijak nereagovala. Nebylo u dl co opravovat, tak jsem
se s n rozlouil a odnesl j do rotu...
prava Sound Blaster AWE32 CT3900
2.11.2022 V jednom vlknu vnovanm
bugm zvukovch karet Sound Blaster
na VOGONS fru jsem se doetl, e nvrhi z Creative dlali i takov prasrny, jako e nechvali
plovouc vstupy nevyuitch operanch zesilova.
To znamen, e takov OZ pracuje bez zptn vazby s obrovskm zeslenm a je tak nchyln k zesilovn
um naindukovanch do vstup. I kdy je vstup nezapojen, tak to cvi s proudovm odbrem a ruen
se po napjen pen i na sousedn OZ zpracovvajc signl.
Vzpomnl jsem si, e v jednom starm PC mm Sound Blaster AWE32 CT3900
a tak jsem si ho podrobn prohldnul. Na PCB jsem nael ti 4-nsobn OZ: 2 bipolrn
MC3403 - U26 a U27, kter
byly pln vyuit 1 JFETov TL074C - U31,
z nj byly vyuit jen OZ 1 a 4, zatm co 2 a 3 byly ponechny pln nezapojen. Zapojil jsem tedy nevyuit
OZ jako sledovae (invertujc vstup spojen s vstupem) s uzemnnm vstupem (napjen je symetrick ±5 V).
Zem jsem nael na sousednch pouitch OZ na invertujcch vstupech, take to stailo propojit
drtkem ob jeden pin. Na novjch PCI Sound Blasterech se u vyskytovaly jen dvojit OZ, kter byly
pln vyuit, na AWE64 jsem tak dn plovouc nenael.
Upgrade wavetable ROM na zvukov kart ESS AudioDrive ES1869F
13.2.2024 Na VOGONS fru jsem nael zajmav
vlkno uivatele Paar z ech,
pojednvajc o vmn originln 1MB wavetable ROMky ES981P za 2MB FlashROM s kvalitnj bankou sampl
na zvukovch kartch ESS. Naprost vtina karet je osazen 1MB verz nebo pln bez ROMky, ale podailo
se mu zskat originln 2MB ROM ES982A (vyskytuje se nap. v nkterch noteboocch Compaq) a dumpnul
jej obsah pomoc programtoru TL866.
Obsah dumpu pak lze nahrt do vhodn pinov kompatabiln 2MB FlashROM s 16-bitovou datovou sbrnic na
5 V, nap. MX29F1610.
Jeliko jsem zrovna pi oivovn svho projektu LPC2ISA
jednu takovou starou zvukovku vyhrabal, rozhodl jsem se mod tak vyzkouet. Objednal jsem 2 FlashROM
ipy z AliExpressu
za 75 K a k tomu pihodil redukci se ZIF patic SOP44 na DIP44
za 105 K. Image jsem do pamt nahrl programtorem LabProg-48LV.
Pi tom jsem zjistil, e jeden ip je mrtv, nepeetl ani flash ID, data etl sam wordy FF00h
a neel vymazat. Tak jsem ho u ana reklamoval a dostal full refund, za kter jsem objednal dal 2
ipy. Ty pro zmnu pily nesmazan, jet s pvodnm obsahem njakho neznmho FW, ale aspo fungovaly,
budou se jet hodit. Mm nkde zabordelenou dal zvukovku ESS AudioDrive ES1868 s 1MB ROM a line-out
vstupem, tak j pak taky nkdy modnu. Pi vmn ROMky za flashku je teba mt na pamti, e pvodn
ROM m nezapojen piny 1 a 44, kter maj u flashky vznam WE# a
WP#. Tyto vstupy by se nemly nechvat plovouc, take jsem je pipojil
drtkem na nejbli 5V napjen (na fotce jet nen). Otestoval jsem to pak v Doomu, hraje to pkn...
 |
 |
 |
| ESS AudioDrive ISA |
Flash MX29F1610 a redukce |
programovn FlashROM |
 |
 |
 |
| ROM ES981P |
odpjen ROM |
pipjen FlashROM |
Rozen pamti RAM na zvukov kart Sound Blaster AWE64 Value
22.12.2025 Kdy jsem naposled v JLCPCB
objednval velkou vrku plok i pro dal leny OldComp.cz fra,
vzal jsem si pro sebe i jednu destiku modulu SIMMConn2,
kterou navrhl uivatel Blaster. Ta je vylepenm pvodn verze SIMMConn
(alternativa k originlnmu drahmu modulu od Creative) od Xu Wanga
a umouje na zvukovou kartu osadit 72-pinov SIMM o kapacit 4 - 32 MB 60ns EDO/FPM RAM. Na verzi
SB AWE64 Value je v zkladu jen 0,5 MB RAM, kter se pi pouit roziujcho modulu deaktivuje.
Z vt pamti pak benefituje E-MU8000 DSP Advanced Wave Effect Synthesizer pro kvalitnj zvuk i 3D efekty
a DirectSound akceleraci. Do RAM je mon nahrvat hotov i vlastn vytvoen soundfonty.
Na modulu nen mnoho soustek, ale je zde pouita programovateln logika
typu PAL/GAL16V8, kterou je teba naprogramovat odpovdajcm JEDEC souborem
dle verze zvukovky (Value/Gold). J jsem pouil uplkov obvod GAL16V8D5LJ
od Lattice, kter jsem naprogramoval programtorem LabProg-48LV
s vlastnorun vyrobenou PLCC-DIL redukc. Jeliko mm pouze SB AWE64 Value verzi, nedval jsem ani GALa do
patice a rovnou ho pipjel na desku. Jinak mi v uplkovch zsobch chybl pouze buffer
SN74LVC1G126DBVR,
na kter jsem musel pokat z Mousera. Pro SIMMy se 2 pamovmi ipy by asi nebyl problm buffer
nahradit drtkem. Patici pro 72-pin SIMM jsem pouil leatou, vypjenou z njakho starho notebooku,
kter vak neumouje osazen oboustrannho SIMMu (ipy na doln stran by kolidovaly s GALem).
To mi nijak nevad, potal jsem s osazenm jednostrannho 16MB SIMMu s 8 EDO RAM ipy Siemens
HYB5117405BJ-60,
kter jsou na seznamu ovench ip (vt kapacity mm stejn nacpan v rznch motherboardech). Pro konkrtn
SIMM je teba nastavit konfiguraci jumper JP1 a JP2, v mm ppad jsem nastavil 1-2, 2-3 (2k refresh).
 |
 |
| SIMMConn2 adapter-top |
SIMMConn2 on SB AWE64 |
12.1.2026 Osazen modul jsem nasunul na pin
headery SB AWE64 a nejprve v DOSu otestoval pam pomoc Creative Diagnostic Utility 4.05
(diagnose.exe). Asi po pl minut skonil test spn, viz ne.
Pak jsem zkusil do RAM uploadnout njak soundfont a otestovat zvuk. Bohuel jak jsem zjistil,
tak SB AWE64 nepodporuje
standardn HW MIDI (MPU-401) wavetable syntzu
na portu 330h (jako teba zvukov karty ESS186x) a nem ani header na
WaveBlaster,
ale pouv k tomu softwarov emultor
(TSR) AWEUTIL 1.36,
kter meme za bhu loadnout pkazem aweutil.com /EM:GM (emulace dle
standardu General MIDI) a unloadnout pkazem aweutil.com /U.
Pozor, nekombinovat v autoexec.bat na jednom dku s parametrem
/S, kter tam automaticky pid instaltor SB ovlada, ale v ppad
poteby zapsat na 2 samostatn dky: aweutil.com /S a aweutil.com /EM:GM.
Pi tom se nate automaticky do RAM soubor SFBANK\synthgm.sbk
(cestu nelze specifikovat run), co je soundfont formtu v1.
DOSov AWEUTIL bohuel neum natat novj a bnj soundfonty
ve formtu v2 (*.sf2). Dodvan soubor synthgm.sbk
spolu s ovladai m jen 35 kB, protoe mapuje General MIDI nstroje na samply v onboard 1MB
wavetable ROM. Hledal jsem njak lep soundfont v1, ale nael pouze neoficiln 2MB verzi
finegm.sbk
(je teba ho pejmenovat na synthgm.sbk, originln soubor si
pedem zazlohujte). UPDATE: nael jsem velkou sbrku soundfont,
kde jsou i nkter ve formtu v1, nap. 8MB fantagm2.sbk.
Natn vtch sounfont chvli trv (8MB se nate za cca 20 s). Soundfonty formtu v2 lze do
v1 konvertovat pomoc komernho programu Awave Studio
(ke staen je i 30-denn trial verze),
avak je teba mt na pamti, e formt v1 nepodporuje tolik fur jako v2 a zkonvertovan soundfont
bude patrn znt jinak.
Dle jsem zjistil, e emulace pomoc AWEUTIL TSR funguje pouze v
realmode DOSovch programech. AWEUTIL aktivuje na SB AWE32/64 hardwarov asistovan pesmrovn I/O port,
kdy pi pstupu na MIDI port 330h karta generuje NMI
(pokud je nasazen jumper MFBEN), kter AWEUTIL v realmode zachytv a patrn po njak transformaci
pedv na porty nativn wavetable syntzy. Nevyuv tedy monosti zachytvn I/O port v reimu V86.
Problm je, e vtina DOSovch extender zachyt NMI v PMode a neped ho do realmode tak jako ostatn
peruen. Navc na nkterch novjch zkladnch deskch nemus NMI fungovat sprvn. Kdy jsem zkusil
pustit nap. PMode Doom, tak zatuhnul pi pehrn prvn noty. Vyzkouel jsem tak alespo realmode
DOSov pehrva DOSMid 0.9.8. Rozdl s 2MB
soundfontem nebyl moc znt, ale s 8MB u ano. Natst ada PMode DOSovch her podporuje nativn
SB AWE32/64 wavetable syntzu na portu 620h, jene ta zas pouv fixn
onboard 1MB wavetable ROM a nikoliv nahran soundfont v RAM. Jet zbv monost pipojit extern MIDI
synteztor pes MPU-401 UART gameportu...
Nakonec problm PMode her pomohl vyeit upraven extender
DOS32AWE 1.9 (pvodn
DOS/32A 9.1.2) od uivatele georgel z
VOGONS fra, kter pesmrovv
NMI z PMode do realmode. Sta spustit hru pkazem dos32awe hra.exe.
Z njakho dvodu georgel vloil do kdu uml omezen zabraujc sputn DOS32AWE ve V86 mdu
(od verze 1.3, ale ty star zmizely) a nezveejnil sv upraven zdrojky. Ty dal na
GitHub a jin uivatel na
zklad reverse engineeringu jeho binrky a pvodnch zdrojk DOS/32A. J jsem jen upravil jeden
podmnn skok, abych vypnul kontrolu V86 mdu. Moje upraven verze je zde.
M zkuenost je takov, e pi pouit JEMM386
se mi jednou stalo, e v Doomu II krtce po startu pi prvnm vstelu se najednou hra a zvuk zaal
siln sekat a pi optovnm sputn to cel vytuhlo. Pi dalm sputn zas bel Doom nkolik minut
bez problm. V ppad pouit standardnho himem.sys a UMBPCI
mi zatm k dnmu zatuhnut nedolo. Tak jsem zjistil, e podobn efekt jako DOS32AWE m sputn
CWSDPMI serveru v rezidentnm reimu (s parametrem
-r, ale to dvalo dost nestabiln vsledky. Nkdy Doom zatuhnul hned pi
startu, jindy cca do 10s po zahjen hry. Tot jsem vyzkouel i s HDPMI32,
ale s nm mi Doom vytuhnul vdy pi startu ("HU_Init: Setting up heads up display"). Take doporuuji
pouvat HIMEM a DOS32AWE.
Pod Windows je situace lep. Pomoc AWE Control Panel utility
(awecp32.exe) je mon do RAM nahrvat i soundfonty v2. Pouil jsem
8mbgmsfx.sf2
z CD ovlada k SB Live! Tam byl rozdl pi pehrvn MIDI soubor znateln. Windows ovladae
t podporuj emulaci General MIDI s vyuitm soundfontu v RAM v reimu V86, take DOSov hry, kter
se s Windows snesou, je mon si vychutnat s lepm zvukem. J jsem na testovacm retro PC
zatm jet nenainstaloval Windows 98, take jsem testoval jen pod Windows NT 4.0 a ty se s
DOSovma PMode hrama moc nekamard.
 |
 |
 |
| DRAM test-start |
DRAM test-progress |
DRAM test-done |
Vroba repliky CGA/MDA Graphics Gremlin pro 8b sbrnici ISA
18.5.2021 Objevil tuto malou zajmavou
OpenHW/SW grafickou kartiku Graphics Gremlin
od TubeTime do 8-bitovho ISA slotu, kter emuluje CGA
a MDA s vstupem
na bn VGA monitor (vedle klasickho MDA TTL D-SUB 9 a analogovho CINCHe), neb star MDA a CGA
CRT monitory se u blb shn. Karta je zaloen na FPGA Lattice ICE40HX4K-TQ144
a lze do nj potenciln nahrt i emulace jinch grafickch karet. Ty stvajc FPGA designy jsou
napsan ve Verilogu
a bohuel se zd, e autor projekt opustil a nic novho u nevzniklo...
30.11.2021 Kdy jsem objednval vrku
plok v JLCPCB, tak jsem si k tomu pihodil i tuhle destiku. Bohuel je zrovna ipov krize
a FPGA nen zrovna k mn, ale Martin 8-bity
u jednu osadil a rozchodil, tak si mete post u nj. UPDATE: Yeo Kheng Meng
vylepil zapojen Graphics Gremlina
o pevodnk TFP410 na HDMI vstup.
6.7.2024 Tak u jsem poshnl potebn
soustky z Mouseru a kartu osadil. U zbv jen nalejt bitstream pro FPGA do SPI FlashROM...
24.1.2026 Konen jsem se dokopal k
naprogramovn bitstreamu
do 1MB SPI FlashROM SST26VF080A.
Jak jsem zjistil, tak mj program SPIPGM tuto pam jet
neznal, take jsem nejprve pidal podporu do nov verze 2.36. Nsledn jsem zjistil, e komunikace
s pamt na kart pes LPT port je njak nespolehliv, i kdy mm
FPGA dren jumperem v resetu, take by do toho nemlo kecat. Jeliko nemm zmnn adaptr s FT2232H,
nezbylo mi ne pam odpjet a naprogramovat samostatn, pak u nebyl problm. Image soubor
isavideo.binm ve skutenosti obsahuje 3 rzn bitstreamy (emulace MDA
s vstupem na MDA, emulace MDA s vstupem na VGA a emulace CGA s vstupem VGA a CGA CINCH), kter
se vybraj pomoc DIP switche 3 a 4.
Karta generuje videosignl hned po zapnut napjen i bez pipojen
na ISA sbrnici (zobraz nhodn data z VRAM). Bohuel pi prvnm zapnut v desce KMC-A419-8
jsem dostal njak rozbit obraz, kde 2/4 resp. 4/8 obrazovky zobrazovaly nhodn neinicializovan data.
Zkouel jsem to i v jinm MB a dn zmna. Vypad to na njak problm kolem adresy A10. Koukal jsem na
to naped pod lupou, ale nic podezelho nenael. V prci jsem na to koukal pod zvtovkem jak husa do
lahve a pod nic moc evidentnho, sem tam njak smtka a jaksi asi cnov upinka pod nohama FPGA v
doln ad pin smrem k ISA slotu. Radi jsem cel FPGA znovu nafluxoval a peliv pepjel...
 |
 |
 |
 |
| Graphics Gremlin |
CGA POST screen |
CGA mode 4 |
MDA text mode |
26.1.2026 Na druh pokus u karta POSTovala
OK, ale pi bootu zas zala zobrazovat nhodn znaky rzn po cel ploe obrazovky. Jak jsem zjistil,
tak moc nezvld petaktovanou ISA sbrnici (co jsem ani netuil) a bezchybn
mi fungovala max. na 10 MHz. Tam mi test VRAM v Norton Diagnostics proel bez problmu. Dle jsem
vyzkouel nap. CGA verzi Doom8088,
kter se dal hrt krsn plynule nebo dualhead setup s Borland TurboDebuggerem, kde pi sputn s
parametrem -do lze ovldat debugger na sekundrnm MDA displeji a ladn
program b na primrnm VGA displeji (karty pouvaj jin adresy VRAM a I/O port, take nekoliduj).
Kdysi jsem o thle zajmav monosti etl, ale a te jsem si to mohl reln vyzkouet.
 |
 |
| NDiags VRAM test OK |
CGA Doom8088 |
Vroba repliky grafick karty S3 765VL pro sbrnici VLB
25.4.2024 Jeliko mm i pr historickch MB
se sbrnic VLB (VESA Local Bus),
ale VLBovch grafickch karet jen po mlu (a dnes u se blb shn), zaujaly m na VOGONS fru projekty
replik VLB grafik od uivatele Madao - 968VL
a 765VL. Jedn se vce mn o
reverse engineering zapojen grafickch karet SPEA Mercury P64V
s ipem S3 Vision 968 (86C968)
a STB PowerGraph 64V VL
s ipem S3 Trio64V+ (86C765).
Na kartu 765VL by ml jt teoreticky bez dalch prav osadit i S3 ViRGE (86C325),
kter jako posledn z S3 ip jet podporuje duln sbrnice VLB a PCI, avak bohuel kvli sdlen
funkci nkterch pin (RAS1# je dostupn jen na PCI) me VLB verze obsluhovat
pouze 2 MB msto 4 MB videopamti, co je pro 3D akceleraci mlo a navc by se musely upravit
i ovladae, kter funguj jen na PCI verzi.
27.5.2024 Madao publikoval na GitHubu
vrobn podklady (GERBERy a BOM) pro kartu 765VL. A se mi sejdou dal PCB designy k vrob, polu to
hromadn do JLCPCB.
27.6.2024 Dnes mi dorazila vrka plok
z JLCPCB a mezi nimi je t 5 desek na repliku grafick karty S3 765VL ve zlacen povrchov prav (ENIG).
O vechny 4 zbyl desky se pihlsili dal zjemci, kterm je te budu rozeslat (u jsou pry).
 |
 |
 |
| ploky z JLCPCB |
765VL PCB-top |
765VL PCB-bottom |
1.7.2024 Vyhrabal jsem ze zsob jednu noname
S3 Trio64V+ PCI kartu se 2 MB RAM a opatrn sfouknul horkovzduchem pamti a S3 GPU. Pro 765VL jsou
pouiteln jen 2 DRAM ipy 256 k x 16 ve velkm SOJ40 pouzdru. Pstupov doba by mla bt
50 ns nebo krat. Dal dv 35ns pamti jsem nael vypjen v zsobch. Obas se daj najt teba ve
starch CD/DVD mechanikch, kde slou jako data buffer. Nsledn jsem se pustil do osazovn. Pi pjen
pamt v SOJ pouzdru je ponkud nepjemn, e footprint m dost krtk pady, kter z pod pouzdra moc
nevyuhuj ven. Dle jsem v BOMu narazil na oek v podob hradel 74F260
(dost obskurn dvojit 5-vstupov NOR hradlo) a 74AHC1G32
(mrav 2-vstupov hradlo v SC70-5), kter nemm zrovna v uplku a nejsou ani na TME.
Budu muset pokat na njakou objednvku u Mousera.
 |
 |
| drcovsk PCI karta |
vypjen DRAM a GPU |
20.8.2024 Sehnal jsem zbyl soustky a doosadil
desku. Pak u zbvalo jen naplit video BIOS do EPROM a otestovat. Vyplil jsem si oba dostupn
image s 0 a 1 VLB wait
state. Ten s 0 WS by ml bt o nco rychlej, ale m njak mouchy a nechod na vech chipsetech,
ten s 1 WS je o nco pomalej a kompatabilnj. Karta nabhla na prvn zapnut a testoval jsem ji
zatm v zkladn desce Abit AB-AH4
s chipsetem SIS 85C471 a CPU intel
486DX-33. Mezi chovnm
0 WS 1 WS ROMek jsem nael adu rozdl. 0 WS ROM je skuten o nco rychlej (7 MB/s
banked mode, 11 MB/s LFB mode), VESA mdy (testoval jsem svou utilitou VESATEST)
b s refresh rate 60 Hz, ve VESA mode listu jsou nesprvn reportovan i videomdy, kter jsou dostupn
jen s 4 MB VRAM (pokud se takov md nastav, tak zern obrazovka) a pi nvratu z VESA mdu do
textovho mdu jsem dostal taky ernou obrazovku nebo hlen monitoru, e je mimo synchronizaci.
1 WS ROM je o nco pomalej (5 MB/s banked mode, 10 MB/s LFB mode), VESA mdy b s refresh
rate 75 Hz, ve VESA mode listu jsou sprvn reportovan jen videomdy, kter jsou dostupn s 2 MB
VRAM a pepnut z VESA mdu zpt do textovho mdu probhne korektn.
Oba video BIOSy podporuj pouze VBE 1.2. Pro rozen na VBE 2.0 (LFB reimy)
je teba pout patchnutou
utilitu S3VBE20 3.18, kter se nesna peprogramovat bzovou
adresu LFB. Jak jsem tak zjistil, na mm LCD monitoru NEC 2190UXp
nelze pout rozlien 1600 x 1200, protoe Trio64V+ ho zvld jen v prokldanm (interlaced) reimu, co
vtin LCD nechut. Na monitoru bliklo na zlomek vteiny varovn "out of sync" s njakou nesmysln vysokou
frekvenc a obrazovka hned zernala. Take nejvy pouiteln rozlien je v mm ppad 1280 x 1024 / 8bpp.
V rychlosti jsem jet otestoval vkon v Doomu (doom.exe -timedemo demo1)
a proti ISA VGA OAK OTI067 jsem zaznamenal zrychlen z 9,31 na 14,24 FPS (o 53%). Pedpokldm, e s
rychlejm CPU bude rozdl markantnj. A skuten, pi testu na ST 486DX4V100
jsem dostal 15,25 FPS s ISA VGA a 29,79 FPS s VLB VGA (rozdl o 95%).
 |
 |
| osazen 765VL-top |
osazen 765VL-bottom |
15.10.2024 Vyzkouel jsem tuto VGA v dal VLB
desce Alaris Leopard 486SLC2 rev. C,
kter je specifick tm, e pouv CPU IBM 486SLC2 (50G7261)
s 16-bitovou extern sbrnic jako 386SX. VLBus byla primrn navren jako 32-bitov a grafick ip
S3 Trio64V+ 16-bitov penosy nepodporuje, take jsem dostal na POST obrazovce jen rozsypan aj.
Jin VLB VGA s ipem Cirrus Logic CL-GD5429-86QC tam fungovala sprvn, ale jej benefit proti obyejn
ISA VGA dky zk sbrnici nebyl v Doomu pli patrn: 11,80 FPS vs 9,38 FPS. S FPU intel
387SX-25 dala v Quake pouze 1,4 FPS. Zde je screenshot a
report z programu SpeedSys.
1.4.2025 Zkusil jsem nainstalovat ovladae
STB PowerGraph 64V+ pro Windows 3.11,
ale kdy jsem spustil jeho setup.exe, dostal jsem chybovou hlku "STB Vision
Installation Utility: The current installation cannot be completed due to an unrecoverable error" a
nazdar. Zkusil jsem i pekoprovat instalan soubory na disketu a spustit z n, ale nepomohlo to.
Take jsem nainstaloval jen hol ovladae z DOSu sputnm programu setup.exe
z adrese Windows a zadnm cesty k souboru oemsetup.inf v adresi s
ovladaem na disku. Ten se nainstaloval bez problm a Windows se spustily ve vybranm rozlien.
Oprava 486 zkladn desky DataExpert EXP4044 s VLBusem
24.8.2024 Jeden znm mi na radioburzu v
Holicch donesl 2 vraky zkladnch desek 386SX a 486, kter ml pipraven na soustky. Pro m byla
zajmavj 486 deska DataExpert EXP4044 ver 1.0
a chipsetem OPTi 82C895 a
82C602 se sbrnic VLB / ISA,
tak jsem se ji pokusil oivit. Deska byla nejen klasicky poleptan od louhu z vyteklho NiCd akumultoru,
ale jet j nkdo utrhl horn st ZIF patice na CPU. Po proppn spoj jsem zjistil, e byl peruen
akort 1 prokov na cest od konektoru klvesnice, tedy nic fatlnho.
S patic na CPU to bylo ponkud hor, musel jsem ji opatrn vypjet
horkovzduchem a pak odst cn z jednotlivch prokov. Natst jsem ml v zsob nhradn patici vypjenou
z njak jin desky, kterou jsem tam pipjel, osadil CPU a mohl to zapnout. Deska vak vbec nePOSTovala.
Zkontroloval jsem napt a hodiny CPU, kter mrn hl. Dle jsem zkontroloval obsah EPROMky s BIOSem,
ten se zdl bt v podku. Jet jsem tam zkusil zasunout testovac EPROMku s jednoduchm programem,
kter v nekonen smyce posl kd na port 80h, ale taky nic.
Ouchal jsem adresov, datov a dic piny EPROMky. Zjistil jsem, e
adresy a data se mn, ale CS# a OE# jsou trvale neaktivn (log. 1). Doppal jsem se, e signl
CS# vede na pin 49 - ROMCS#/KBDCS# velkho
ipu OPTi 82C895 a OE# na pin 68 - MEMR#
malho ipu OPTi 82C602. Pedpokldm, e chipset tyto signly generuje na zklad signl W/R#, M/IO#
D/C# procesoru, tak jsem je tak proppal i s dalmi piny okolo. Pobl jsem pak nael odpojen adresn
pin A3, kter vedl na peruen prokov pod patic. Nevm, jestli u byl vadn ped tm nebo jsem ho
pokodil teplem pi odpjen patice.
Po jeho oprav kouskem tenkho drtku zaala deska POSTovat, ale jen
krtce. bhem vteiny jsem zahldl kdy: C1h, BEh,
C6h. Dle seznamu POST kd k Award BIOSu 4.50G
m kd C6h vznam "cache presence test" a ml by asi nsledovat kd
08h - test a inicializace dolnch 64 kB pamti. Jeden znm mi
doporuil pout alternativn MR BIOS pro stejn chipset, kter by ml mt detailnj POST a beep kdy.
Od nj jsem dostal POST kdy: 02h, 03h,
09h, 0Ah, kde posledn znamen "base 64K
pattern test failure", take njak chyba pamti. Zkouel jsem 8MB SIMM modul vyjmout a dostal stejnou
sekvenci kd. Kdy jsem ho chtl zasunout do druh SIMM patice, viml jsem si, e m 2 ohnut prka,
kter se dotkala sousednch! A pli jsem se soustedil na poleptan cestiky PCB, e jsem si pokozen
SIMM patice nevimnul. Prka jsem opatrn narovnal pinzetou a voal, deska nabhla. Zasunul jsem do n
VGA S3 765VL, VLB IDE adi, pipojil HDD a proel nastaven SETUPu
(RAM a cache jsem nastavil na 0 WS). BIOS nem problm ani s 20GB LBA diskem (Abit AB-AH4 zvld
jen 8 GB, vce pak pes XTIDE). Nabotooval jsem do DOSu a spustil pr test
a her. VESATEST reportoval stejnou propustnost RAM - VGA jako s Abitkou, i vsledky v Doomu byly prakticky
stejn.
Dle m napadlo, e kdy je na desce pichystan footprint na CPU v pouzdru
QFP208 (onboard CPU lze deaktivovat jumpery JP11, JP12, JP25), mohl bych tam zkusit pipjet top speed
prock AMD Am486DX5-133V16BHC alias Am5x86-P75,
kter se d na AliExpressu
koupit vrazn levnji ne tyt keramick PGA CPU. Snad mi nepijde njak fake. Tak pak musm poeit VRM,
protoe na m desce nen osazen a z fotek se mi nikde nepodailo identifikovat pouit LDO i tranzistory
Q1, Q1A, Q1B, ale to se d poeit njakm jinm LDO z uplku. Hor me bt to, e deska nepodporuje
L1 Write-Back cache a odpovdajc piny CPU, kter byly definovan a pozdji na 486DX4, zde
nejsou nikam zapojen.
Tak snad CPU pob aspo v reimu Write-Through (s o nco nim vkonem). Vce info
zde.
 |
 |
 |
| EXP4044 ver 1.0 |
pokozen a nhradn socket |
po vmn socketu |
26.9.2024 A te jsem si viml, j kokot star,
e ten footprint na desce nen SQFP208, ale pouze PQFP196 pro 486SX. Pinouty jsou totln odlin, take
tam objednan CPU nepjde pipjet :( To m kapnek nasralo, ale pokusil jsem se tu negativn energii
petavit do vytvoen interposeru, kter by umonil tento SMD CPU strit do PGA patice. sten jsem na
to zrecykloval u dve vytvoen interposer pro Pentium MMX Tillamook. Dky
tomu, e 486 m vrazn mn noiek jak Pentium a jsou v hrubm rastru, tak to lo naroutovat vrazn
rychleji a vystail jsem se standardnmi prokovy 0,3/0,6 mm. Deska je 4-vrstv, kde vnitn vrstvy
tvo souvisl VCC a GND planes. Od doby, co JLCPCB nabz vrobu 2 i 4-vrstvch destiek za 2$, tak
stejn nem cenu vrstvama etit a souvisl nzkoimpedann zem je vhodn pro stabilitu, s VCC plane
navc tvo vestavn kondenztor. Dky tomu, e piny 486 jsou v regulrn mce 100 mil, tak jako
PGA noiky pjde pout bn pinov lita. Akort vnitn adu budu muset ucvakat a pipjet jako SMD.
 |
 |
| PCB layout |
3D model |
30.9.2024 Dnes jsem PCB layout dothnul do
konce a poslal ho do vroby k JLCPCB. Ml jsem na vrobu pouze tento jeden PCB design, tak jsem byl zvdav,
kam se dostanu s cenou potovnho a skuten je to o dost levnj ne u vce desek. Vybral jsem dodac slubu
"Global Standard Direct Line" a zaplatil: 2$ za vrobu PCB, 1,55$ za dopravu a 0,75$ za poplatky a cla, celkem
tedy 4,30$.
Dle jsem se pdil po pouitm typu neosazenho LDO pro CPU VRM. Proppal jsem
zapojen vech 3 footprint:
Q1: 1 - ADJ, 2 - Vin, 3 - Vout; k tomu jsem nenael dn odpovdajc LDO, vechny 3-pinov maj pin 2 jako vstup a pin 3 jako vstup.
Q1B: 1 - Vin, 2 - Vout, 3 - GND, 4 - ADJ; podle tipu od Tome by to mohl bt Sharp PQ30RV2
a el by t pout KA278R33,
kter m na pinu 4 msto feedbacku ovldn ON/OFF#.
Q1A: 1, 2 - Vin, 3 - GND, 4 - Vout, 5 - ADJ; el by pout SPX29302.
Zptnovazebn odpory dlie jsem namil 274 Ω mezi Vout a ADJ, 430 Ω mezi ADJ a GND.
Pozdji jsem nael zapojen VRM
na jednom ruskm fru, kde nkdo spn pouil
LDO LM1084-ADJ
na pozici Q1A.
2.10.2024 Z uplku jsem vyhrabal ve zmnn
LDO KA278R33
a pipjel ho na desku na pozici Q1B. Pin 4 (ON/OFF#) jsem ohnul a pipjel ho k pinu 1 (Vin). Penastavil
jsem jumpery pro 3,3V CPU (BTW na PQFP196 footprint jde stle 5 V napjen) a vyzkouel desku s CPU ST
486DX4V100.
BIOS ho detekoval jako Cx486DX-S na 66 MHz, ale bel sprvn na 100 MHz. S VGA S3 765VL
jsem otestoval rychlost v Doomu, kter se proti intel 486DX-33 zvila vce ne dvojnsobn na 29,79 FPS
a v Quake jsem dostal 8,0 FPS v 320 x 200, resp. 3,5 FPS ve VESA 2.0 LFB mdu 640 x 480. Zde je
screenshot a report z programu
SpeedSys.
Tak mi dnes z AliExpressu dorazil CPU. I pes to, e byl dobe zabalen v
plastovm rmu, tak ml na jedn stran vechny piny ohnut do boku. Nsledn jsem na anovi uhdal slevu 49 K
a piny srovnal pinzetou. Pro kontrolu, jestli ip nen pln dummy/fake, jsem proppal VCC a GND piny podle
datasheetu a pekvapilo m, e 4 z 8 rohovch GND pin, se tv jako nezapojen a takt jsem nael 1 i 2
VCC piny u kraje, kter byly v luftu. Jinak dal piny tak njak odpovdaj datasheetu. Tak jsem zvdav,
jestli bude CPU funkn a co je vlastn uvnit za kemk...
 |
 |
| Am5x86-P75 CPU |
Am5x86-P75 CPU |
21.10.2024 V ptek mi pily ploky na
interposer z JLCPCB. Koukm, e jsem zapomnl zamaskovat prokovy, ale to nevad. Dnes jsem koupil v GME
oboustrann pinov lity
na PGA noiky a veer se pustil do osazovn. Jeliko by vnitn ada pin kolidovala s pady SMD pouzdra
CPU nahoe, musel jsem vnitn adu pin udlat jako SMD na spodn stran. SMD piny jsem jednodue
vyrobil utpnm kratch a tlustch kolk pinov lity. Konce jsem pocnoval a po pelivm zarovnn
na plok je pipjel tenm hrotem mikropjky z boku. Stedn a vnj adu pin jsem zapjel klasicky
jako THD. Aby piny sedly v rastru, zastril jsem je ped zapjenm do precizn patice PGA168. Nakonec
jsem na horn stranu destiky pipjel SMD CPU a 10 blokovacch kondk 100 nF, 10 µF
a 22 µF o celkov kapacit cca 70 µF.
 |
 |
 |
 |
| PCB top, bottom |
PCB top |
PCB bottom |
PCB pins-side |
Po vloen mho vtvoru do patice na MB a zapnut jsem napjat sledoval
displej POST karty, ale nic se neobjevilo. Zaal jsem mit piny a zjistil, e nkter vis v luft,
co bylo zpsobeno patn pipjenma noikama TQFP pouzdra CPU. Po dkladnm propjen a kontrole pod
zvtovkem u deska nabhla a BIOS CPU detekoval jako "80486DX/2" na 100 MHz (pi nastavenm nsobii 3x).
Po pejumperovn nsobie na 2x CPU nabhl na 133 MHz. Samotn CPU ani moc neheje, zato LDO se
pi zti rozpl tak, e na nm neudrm prst, co mi patrn zpsobuje nestabilitu, e se obas systm
nhodn restartoval i zatuhnul. Tak budu muset vymyslet njakou alternativn sponu na uchycen chladie
k oukm ZIF patice, protoe CPU s interposerem je vy ne bn PGA CPU.
Tento CPU u podporuje instrukci CPUID, take ho detekuje i mj program
CPUID. S VGA S3 765VL jsem
otestoval rychlost v Doomu, kter se proti intel 486DX-33 zvila zhruba 3x na 40,91 FPS a v Quake
jsem dostal 12,0 FPS v 320 x 200, resp. 5,3 FPS ve VESA 2.0 LFB mdu 640 x 480. Zde je
screenshot a report z programu
SpeedSys.
 |
 |
 |
| Am5x86 CPU v MB |
Am5x86 CPU s chladiem |
Award BIOS SETUP |
22.10.2024 Chladi na LDO jsem vymnil za
vy, e u se na nm d udret ruka a pomohlo to stabilit na 133 MHz. Dle jsem zkusil jt ve
na 160 MHz (40 MHz FSB), ale systm byl nestabiln a tuhnul pi spoutn program v DOSu.
Zatm co na 133 MHz mi fungovalo vechno na nejrychlej asovn s 0 wait states pro RAM (3-2-2-2)
i L2 cache (2-1-1-1), tak na 166 MHz jsem musel prodlouit asovn RAM na 1WS (3-2-2-2) a L2 cache
na 1WS (2-2-2-2), abych byl schopen dokonit benchmark v Quake. To vak vrazn degraduje propustnost
pamti a tak efekt zrychlen pi petaktovn nebyl pli vrazn. Podezrm LDO s fixnm napovm
vstupem, e m kvli vnitn zptn vazb hor dynamickou odezvu, ne by mla nastaviteln verze s
feedback pinem, kter patrn snm napt ble CPU. Zde jsou shrnuty benchmarky ve zmnnch 386
a 486 systm:
| MB |
CPU |
fCPU |
fFSB |
L1 |
L2 |
Speedsys CPU/MemBW |
VESATEST |
Doom1 |
Quake 320/6402 |
| Panther II 386SX |
intel Am386SX-20 |
20 MHz |
20 MHz |
0 kB |
0 kB |
CPU: 3,77 / 30,82 MB/s |
2 MB/s |
1,84 FPS |
0,5 / - FPS |
| TI JCI-S1S H |
AMD Am386SX-25 |
25 MHz |
25 MHz |
0 kB |
0 kB |
CPU: 4,13 / 32,53 MB/s |
2 MB/s |
2,31 FPS |
- / - FPS |
| AB-FU3 |
AMD Am386DX-33 |
33 MHz |
33 MHz |
0 kB |
64 kB |
CPU: 5,80 / 71,28 MB/s |
3 MB/s |
6,08 FPS |
1,6 / - FPS |
| AB-FU3 |
AMD Am386DX-33 |
33 MHz |
33 MHz |
0 kB |
128 kB |
CPU: 5,80 / 71,28 MB/s |
3 MB/s |
6,11 FPS |
1,6 / - FPS |
| SY-015G |
AMD Am386DX-40 |
40 MHz |
40 MHz |
0 kB |
8 kB |
CPU: 7,03 / 85,45 MB/s |
4 MB/s |
7,21 FPS |
1,9 / - FPS |
| KMC-A419-8 |
AMD Am386DX-40 |
40 MHz |
40 MHz |
0 kB |
256 kB |
CPU: 7,26 / 48,20 MB/s |
5 MB/s |
7,53 FPS |
2,0 / - FPS |
| SY-015G |
TI TX486DLC-40 |
40 MHz |
40 MHz |
1 kB |
8 kB |
CPU: 10,40 / 115,45 MB/s |
4 MB/s |
10,68 FPS |
2,4 / - FPS |
| KMC-A419-8 (WT) |
TI TX486DLC-40 |
40 MHz |
40 MHz |
1 kB |
256 kB |
CPU: 10,85 / 51,75 MB/s |
5 MB/s |
- |
- / - FPS |
| KMC-A419-8 (WB) |
TI TX486DLC-40 |
40 MHz |
40 MHz |
1 kB |
256 kB |
CPU: 10,85 / 51,75 MB/s |
5 MB/s |
11,70 FPS |
2,5 / - FPS |
| Leopard 486SLC2 |
IBM 486SLC2 |
50 MHz |
25 MHz |
16 kB |
128 kB |
CPU: 13,78 / 22,82 MB/s |
- |
11,80 FPS |
1,4 / - FPS |
| AB-AH4 |
intel 486DX-33 |
33 MHz |
33 MHz |
8 kB |
256 kB |
- / - |
10 MB/s |
14,24 FPS |
- / - FPS |
| SY-025D2 |
intel 486DX-33 |
33 MHz |
33 MHz |
8 kB |
256 kB |
CPU: 12,44 / 35,24 MB/s |
11 MB/s |
14,90 FPS |
4,1 / 1,7 FPS |
| EXP4044 |
intel 486DX-33 |
33 MHz |
33 MHz |
8 kB |
256 kB |
CPU: 12,38 / 36,90 MB/s |
12 MB/s |
14,77 FPS |
4,0 / 1,6 FPS |
| Hippo 10 (WT) |
intel 486DX-33 |
33 MHz |
33 MHz |
8 kB |
256 kB |
CPU: 12,43 / 82,39 MB/s |
14 MB/s |
15,26 FPS |
4,1 / 1,6 FPS |
| Hippo 10 (WT) |
intel 486DX-40 |
40 MHz |
40 MHz |
8 kB |
512 kB |
CPU: 14,92 / 99,10 MB/s |
15 MB/s |
18,39 FPS |
5,0 / 2,0 FPS |
| Hippo 10 (WT) |
UMC U5SX-40 |
40 MHz |
40 MHz |
8 kB |
512 kB |
CPU: 21,75 / 103,45 MB/s |
15 MB/s |
21,80 FPS |
0,6 / - FPS4 |
| Hippo 10 (WT) |
ST 486DX4V100 |
100 MHz |
33 MHz |
8 kB |
256 kB |
CPU: 39,69 / 89,62 MB/s |
14 MB/s |
31,95 FPS |
8,8 / 3,7 FPS |
| Hippo 10 (WB) |
ST 486DX4V100 |
100 MHz |
33 MHz |
8 kB |
256 kB |
CPU: 40,11 / 89,61 MB/s |
14 MB/s |
32,33 FPS |
8,8 / 3,7 FPS |
| EXP4044 |
ST 486DX4V100 |
100 MHz |
33 MHz |
8 kB |
256 kB |
CPU: 39,95 / 38,39 MB/s |
12 MB/s |
29,79 FPS |
8,0 / 3,5 FPS |
| Hippo 10 (WT) |
AMD Am5x86-P75 |
133 MHz |
33 MHz |
16 kB |
256 kB |
CPU: 48,01 / 89,52 MB/s |
14 MB/s |
42,30 FPS |
13,0 / 5,3 FPS |
| Hippo 10 (WB) |
AMD Am5x86-P75 |
133 MHz |
33 MHz |
16 kB |
256 kB |
CPU: 49,74 / 89,51 MB/s |
14 MB/s |
45,82 FPS |
13,3 / 5,6 FPS |
| Hippo 10 (WB) |
AMD Am5x86-P75 |
133 MHz |
33 MHz |
16 kB |
512 kB |
CPU: 49,74 / 89,51 MB/s |
14 MB/s |
47,65 FPS |
13,8 / 5,7 FPS |
| EXP4044 |
AMD Am5x86-P75 |
133 MHz |
33 MHz |
16 kB |
256 kB |
CPU: 47,80 / 38,35 MB/s |
12 MB/s |
40,91 FPS |
12,0 / 5,3 FPS |
| EXP4044 |
AMD Am5x86-P75 |
160 MHz |
40 MHz |
16 kB |
256 kB |
CPU: 57,64 / 46,24 MB/s |
13 MB/s |
46,25 FPS |
14,4 / 6,2 FPS |
| EXP40443 |
AMD Am5x86-P75 |
160 MHz |
40 MHz |
16 kB |
256 kB |
CPU: 57,52 / 46,24 MB/s |
15 MB/s |
48,30 FPS |
14,4 / 6,4 FPS |
| Hippo 10 (WT) |
AMD Am5x86-P75 |
160 MHz |
40 MHz |
16 kB |
256 kB |
CPU: 51,58 / 107,80 MB/s |
15 MB/s |
47,16 FPS |
14,8 / 6,1 FPS |
| Hippo 10 (WB) |
AMD Am5x86-P75 |
160 MHz |
40 MHz |
16 kB |
0 kB |
CPU: 59,72 / 118,16 MB/s |
16 MB/s |
50,38 FPS |
15,4 / 6,6 FPS |
| Hippo 10 (WB) |
AMD Am5x86-P75 |
160 MHz |
40 MHz |
16 kB |
256 kB |
CPU: 59,71 / 107,80 MB/s |
15 MB/s |
53,82 FPS |
15,8 / 6,7 FPS |
| Hippo 10 (WB) |
AMD Am5x86-P75 |
160 MHz |
40 MHz |
16 kB |
512 kB |
CPU: 59,71 / 107,80 MB/s |
15 MB/s |
52,96 FPS |
16,3 / 6,8 FPS |
| NexGen NxVL |
Nx586-P90 |
84 MHz |
42 MHz |
32 kB |
256 kB |
CPU: 66,51 / 223,96 MB/s |
12 MB/s |
38,46 FPS |
0,9 / - FPS4 |
RAM: 4 x 4 MB 60 ns 30-pin FPM SIMM / 1 x 16 MB 60 ns 72-pin FPM SIMM
VGA na KMC-A419-8, JCI-S1S H a Panther II: S3 Vision 928 (ISA @20MHz, VBE 1.2 bank-switched)
VGA na Alaris Leopard 486SLC2: Cirrus Logic CL-GD5429-86QC (VLB, VBE 1.2 bank-switched)
VGA na Abit AB-AH4, Soyo SY-025D2, DataExpert EXP4044, Hippo 10, NxVL: S3 765VL 1 WS ROM (VLB, VBE 2.0 LFB)
Na Octek Hippo 10 testovno s L1 cache Write-Through / Write-Back a L2 cache Write-Back a bez L2 cache
1 - Doom v DOSu, 320x200, "-timedemo demo1"
2 - Quake v DOSu, 320x200 / 640x480, "timedemo demo1.dem"
3 - DataExpert EXP4044 a VGA S3 765VL s 0 WS ROM
4 - Quake bel na Nx586 a U5SX s emultorem FPU Q87X 4.13
17.11.2024 Vythnul jsem osciloskop, abych
se podval na zvlnn napjecho napt procesoru Vcore a vyeil problm s nestabilitou. Frekvenci FSB
jsem nastavil zpt na 33 MHz. S fixnm LDO KA278R33
jsem namil zvlnn pi zti ve Quake 530 mVpp a poklesy nkam ke 3,0 V (mil jsem pmo
na horn stran PCB interposeru mezi Vcore pinem a GND pilehlho jumperu JP38). Naped jsem zkusil
vymnit 1 tantal 10 µF se zmenm ESR 0,4 Ω za low-ESR elyt 100 µF
se zmenm ESR 0,1 Ω, ale nemlo to prakticky dn vliv. Napadlo m, e regultor s fixnm
naptm, kter si bere zptnou vazbu pmo uvnit obvodu, se asi bude chovat dynamicky he, ne LDO
s ADJ vstupem, kter je krmen z dlie ble CPU a me tak reflektovat poklesy napt na veden.
Nael jsem v uplku LDO LT1587,
kter je pinov kompatabiln s LM1084-ADJ
a pipjel ho na pozici Q1A. S vchozmi hodnotami odpor dlie jsem namil na przdno napt 3,28 V.
Pi zti vak byl vsledek men pekvapiv hor. Zvlnn se zvtilo na 640 mVpp a poklesy k 2,86 V.
Zkusil jsem tedy dal LDO LX8383A-00,
s nm byl vsledek o nco lep: zvlnn 488 Vpp a pokles k 2,92 V.
Je evidentn, e pro spn petaktovn bude teba napt zvit pravou
dlie. To jsem provedl zmnou hornho odporu R63 z 270 Ω na 240 Ω, abych zskal
3,5 V. Stabilita se zvila tak, e se mi na 160 MHz (40 MHz FSB) s nejrychlejm asovnm
RAM a L2 cache podailo dokonit timedemo benchmark ve Quake, ale pi druhm kole u crashnul a ve VESATESTu
jsem dostval jen ernou obrazovku. Pistoupil jsem k dalmu zven napt na 3,7 V zmnou R63 na
220 Ω. Pmo na blokovacm kondu na interposeru s CPU jsem namil reln 3,45 V, co
ukazuje na nezanedbateln bytek napt na veden od LDO. S tmto Vcore u zd se b ve stabiln tak
jak m. Jet jsem vyzkouel otestovat Doom a Quake s pouitm 0 WS ROMky ve VGA S3 765VL
a u Doomu dostal asi o 2 FPS vce, u Quake se to moc neprojevilo (tam nesth CPU).
 |
 |
 |
 |
 |
| KA278R33 3,3V DC |
KA278R33 3,3V AC |
LT1587 3,3V DC |
LX8383A-00 3,3V DC |
LX8383A-00 3,5V DC |
Chladii na LDO jsem musel dole sten odfrzovat ebra, protoe pi
otoen monti pouzdra LDO na pozici Q1A kolidoval s jumpery JP45 a JP46. Na CPU jsem pidlal men
ern chladi z njakho starho sovho switche a pipevnil ho sponou vyrobenou z ocelovho drtku,
kter je zahknut za ouka Socketu 3. Chladi se ani moc neheje, pi testovn jsem na nj jen foukal
vtrkem z PC zdroje lecho vedle.
5.6.2025 Pohledem do datasheetu chipsetu
OPTi 82C895 jsem zjistil, e podporuje
a 512 kB direct mapped L2 cache. I kdy se manul k desce o tto monosti nezmiuje, tak na pozicch
U1 - U4 jsou osazeny dlouh patice DIL32,
kter fyzicky umouj zastrit 128kB cache SRAM ipy. Dle je v datasheetu zmnno, e jsou podporovny
2 banky cache s prokldnm nebo 1 banka bez prokldn (a 4 x 128 kB). Zkusil jsem tedy osadit 4
nov 128kB ipy + 32 kB tag a otestoval vechny mon kombinace jumper JP13, JP27, JP28, JP29,
ale nepodailo se mi rozchodit 512 kB. Systm bu vytuhnul po testu RAM nebo nedetekoval dnou
L2 cache. Je divn, e nefungovala ani 1-bankov kombinace 128 kB. Nakonec jsem multimetrem zjistil,
e v DIL32 paticch nejsou zapojen piny A16 (2. pin v lev ad, A15 a VCC zapojen jsou).
Na velikosti L2 cache tak zle, jakou velikost RAM je mon cachovat
(64 kB cache + 8 kB tag - 16 MB RAM, 128 kB cache + 8 kB tag - 32 MB RAM,
256 kB cache + 32 kB tag - 64 MB RAM, 512 kB cache + 32 kB tag - 128 MB RAM).
Doporuen pstupov doby cache SRAM ip pro 33 MHz FSB a asovn 2-1-1-1 burst ten, 0 WS
zpis jsou 15 ns pro tag a 20 ns pro ostatn ipy. Pro 40 a 50 MHz FSB a stejn ipy je
nutno prodlouit asovn na 3-2-2-2 burst ten, 1 WS zpis. asovn pro rychlej ipy
datasheet neuvd.
Chipset dokonce podporuje L1 cache v reimu Write-Back, ale nvrhi desky
se na to vykalali a nepropojili na CPU socket nkter dleit signly, jako nap. CACHE#,
INV a HITM# (Hit Modified Line), take CPU
neme sprvn provst Write-Back cyklus (dolo by poruen koherence cache). Proto ani SETUP nenabz
tuto volbu pro L1 cache. Je tedy zejm, e tato deska nevyuv naplno potencil pouitho chipsetu.
Oprava 486 zkladn desky Octek Hippo 10 s VLBusem
2.3.2025 Poslednm bonbnkem ze strahovsk
nadlky byla zkladn deska Octek Hippo 10
s chipsetem UMC UM8498F. Na svou dobu vypad docela modern vybaven, nebo u m na sob integrovan
2-kanlov IDE adi disk a disketovky, 2 x COM, 1 x LPT a 1 x game port. Deska m 2 VLB a 4 ISA sloty,
4 72-pinov SIMM patice, podporuje FSB do 50 MHz, CPU s dulnm napjenm a umouje osadit a
512 kB L2 Write-Back cache.
Deska naped vbec nePOSTovala, a jsem pohledem zjistil, e si z n njak
bastl vypjel 14,318MHz krystal. Po jeho navrcen zala nabhat, ale nefungovala klvesnice, protoe
louh vytekl z akumultoru seral vechny cestiky na PCB pod nm a u DIN konektoru. A to velmi dkladn,
e jsem ml dost problmy zjistit, co kam vedlo. Nakonec se mi to podailo njak nadrtovat a klvesnice
se rozbhla, ale nejsem si 100% jist, e jsem ve propojil sprvn. Deska se toti chov divn po zapnut:
pokud byla dlouho bez proudu, tak nkdy nechce POSTnout, ale kdy ouchnu do HW resetu, tak spolehliv
nasko. Kdy ji vypnu jen na pr minut a znovu zapnu, tak nabhne normln. Za bhu se pitom chov zd
se stabiln. UPDATE: toto podivn chovn po pr dnech samo odeznlo a deska te nabh normln.
 |
 |
 |
| Octek Hippo 10 |
oprava PCB |
Award BIOS setup |
Na desce byl v EPROMce star Award BIOS z 10.11.1994 a tak jsem tam hned
naplil posledn verzi BIOSu
z 9.1.1996. Desku jsem nejprve testoval s CPU intel 486DX-33. Kdy jsem tam chtl strit nco rychlejho
a zaal zkoumat, jak se nastavuje napt CPU, tak jsem zjistil, e moje revize 1.01 vbec nem v manulu
zmiovan blok jumper JP53-56. Jsou zde pouze relevantn jumpery JP46 a JP48. Na desce je linern
regultor napt realizovan obvodem TL431
a MOSFETem SMP50N06-25 podobnho
zapojen jako toto.
Dalm zkoumnm jsem zjistil, e jumper JP46 je zapojen na referenci a GND a JP48 na referenci a Vout.
Pipojenm externho odporu na JP46 by se mlo Vout zvit a odporem na JP48 naopak snit. Kdy jsem JP48
zkratoval propojkou, kleslo vstupn napt na hodnotu reference, tj. 2,5 V. Co m vak zmtlo,
e deska implementuje njakou autodetekci CPU s dulnm napjenm a pokud v patici nen dn CPU, tak
tam posl natvrdo 5 V (na gate MOSFETu je pak +12 V). Kdy jsem do patice zastril CPU ST
486DX4V100, tak se automaticky napt zmnilo na 3,5 V a nenael jsem jinou monost jak ho jumpery
zmnit.
Pi pohledu na przdn patice cache nastalo zklamn, jeliko jak jsem
zjistil, pro dosaen 512 kB je teba osadit 4 del 128kB ipy, kter bohuel nemm (resp. mm pouze
v SMD proveden). Cache je toti rozdlen do 2 bank, kde bank 0 m del patice DIL32, kter pojmou
32 / 64 / 128kB ipy a bank 1 m krat patice DIL28, kter pojmou pouze 32kB ipy. Osadil jsem
tedy 9 32kB ip W24257AK-15 (celkem 256 kB) a zkusil objednat z Alku njak recyklty
W241024AK-15 za 95 K.
Pi testech nastalo druh zklamn, kdy jsem zjistil, e volba reimu cache Write-Through/Back
jaksi nic nedl a vsledky jsou prakticky stejn. Nicmn i tak deska podala o trochu lep vkon
jak DataExpert EXP4044, vsledky test jsem pidal do tabulky
ve.
Nakonec jsem do desky stril svj nejrychlej CPU AMD Am5x86-P75.
Pi nastaven jumper dle AMD 486DX4 dval ve SpeedSysu njak podivn retardovan vsledky. Manul se
samozejm o jeho existenci vbec nezmiuje, nicmn BIOS obsahuje string "Am5x86-P75", take se s nm
pot. Zkusil jsem ho tedy najumperovat podle njakho dodatku
jako pro Cyrix 5x86 (JP32: 1-2, JP33: 1-2,3-4, JP34: 1-2,3-4, JP35: 1-2, JP36: 3-4,5-6, JP37: 1-2,4-5)
a BIOS ho pak skuten detekoval jako "Am5x86-P75-S" a vkon ve SpeedSysu se spravil. Avak volba cache
WB/WT v SETUPu opt nemla dn efekt. Kdy jsem FSB posunul na 40 MHz, tak to vdy zatuhlo
na zatku bootu DOSu z HDD (i kdy jsem vechna nastaven souvisejc s ISA a HDD pepl na nejpomalej),
budu muset naped trochu zvednout napt CPU na 3,7 V jako na desce EXP4044. Pak jsem i zmil,
jak vypad Vcore na osciloskopu pi zti v Doomu a zvlnn je men ne na VRM desky EXP4044.
 |
 |
| VRM 3,7V DC, Doom load |
VRM 3,7V AC, Quake load |
5.3.2025 Napadlo m zkusit proppat, kam vede
pin WB/WT# (B13) z patice CPU a zjistil jsem, e je na 4. pinu jumperu JP37. Sousedn 5. pin JP37 je
na +5 V, take propojenm pin 4 a 5 se aktivuje reim L1 cache Write-Back. A to natvrdo, take
volba v SETUPU na to nem vliv. Pokud se 4. pin JP37 nech nezapojen, je pes pull-down 10 kΩ
pipojen na GND a L1 cache je v reimu Write-Through (volba v BIOSu je zmraen na Write-Through).
Aktuln reim cache lze ovit nap. DOSovou utilitou CHKCPU.
V Norton SysInfo s WB brutln nerealisticky poskoilo skre ze 198 na 288 bod. Ve SpeedSysu je rozdl
CPU mnohem mn vrazn, jen 49,74 vs 48,01 bod. Vrazn skok je vidt v rychlosti pesunu dat (move) L1.
V Doomu pidalo WB 3,5 FPS (8,25%) a v Quake jen 0,3 FPS (2,3%).
6.3.2025 Samozejm jsem zkusil CPU tak
petaktovat na 160 MHz (FSB na 40 MHz). Naped jsem ale poteboval zvednout Vcore, co se dalo
snadno provst pipojenm odporu na piny jumperu JP46 (s hodnotou 220 kΩ jsem dostal 3,66V).
Dle se ukzalo nutn zvit u L2 cache poet wait states z 0 na 1, jinak se bootovn zaseklo vdy na
vodn hlce "Starting MS-DOS..." To m kapnek pekvapilo, kdy na desce EXP4044 L2 cache zvld
0 WS. Schvln jsem zkusil i prohodit cache SRAM ipy mezi deskami, ale nepomohlo to. Take se
musm holt spokojit s 1 WS, ale i tak se mi podailo doshnout novho rekordu v Doomu a Quake,
viz tabulka ve. T pidvm report
z programu CACHECHK V5.
Zkusil jsem FSB i na 50 MHz, ale to ani nePOSTne (ani bez VLB VGA). Na desce pouit PLL obvod
MX8315PC
bohuel neum generovat dnou dal frekvenci mezi 40 a 50 MHz. Teoreticky by se dal vstup CK
(pin 8) pepojit na njak extern krystalov osciltor (mm v zsob frekvence 41,539; 42,192; 44;
45,158 a 48 MHz).
Na dal problm s asovnm jsem narazil, kdy jsem zkusil do desky strit
dva 8-ipov (16MB) nebo jeden 16-ipov (32MB) pamov modul, tak se to seklo pi bootu. Musel jsem
pepnout "DRAM Page Mode" z "Fast" na "Normal" nebo zvit poet DRAM wait states z 0 na 1, co zas ubralo
trochu vkonu (rychlost ten z RAM klesla z 40,2 MB/s na 33,3 MB/s; rychlost zpisu zstala stejn).
Domnvm se, e je to zvenou kapacitn zt pamov sbrnice, nebo v ppad 8-ipovho modulu je
kad bit zatovn pouze 1 log. vstupem pamti, zatm co u 16-ipovho modulu jsou na 1 bitu 2 log.
vstupy paraleln. Vt kapacita vstup pak vce deformuje elektrick signly a naponovan asovn
se rozpadne. To zle na schopnostech chipsetu i PCB layoutu.
Jeliko tato deska u podporuje sporn reimy pes APM, vyzkouel jsem,
jestli se na CPU aktivuje SMM.
Pro tento el jsem dal na interposer LEDku na signl SMIACT#
(pin C12). A skuten pi sepnut suspend tlatka na pinech JP43 se LEDka krtce blikne, na POST kart
se objev kd D3h a CPU se asi 10x zpomal. Pi stisku njak klvesy
opt velmi krtce blikne LEDka, na POST kart se objev kd FFh a CPU
se zrychl na pvodn rove.
8.3.2025 Na VOGONS fru
padl npad, e by se na tto desce dal vyzkouet jin BIOS (Phoenix) pro desku
ECS UM4981 AIO
se stejnm hlavnm chipsetem UM8498F, kter m v SETUPu volby reimu Write-Through/Back pro ob L1 a L2
cache. BIOS image jsem pokusn naplil do FlashROM AM29F010 a zasunul do desky. BIOS nabhl, ale zhy
jsem narazil na adu problm, nap. zatuhne pi autodetekci HDD (musel jsem run nastavit user reim
47), vypisuje njak chyby neplatnch I/O adres u port a FDC, SpeedSys zatuhne na zatku ve fzi
"Determining system contents... Memory type" a hlavn cel systm b asi 10x pomaleji. Zkusil jsem
aspo benchmark v Doomu a dostal bdnch 3,81 FPS a to nezvisle na zvolenm reimu L1 a L2
cache. Podobn mizern vsledek 5,16 FPS dostanu s originlnm Award BIOSem pokud vypnu L1 i L2
cache. Tento BIOS tedy cache vbec neinicializuje a je tedy nepouiteln.
24.3.2025 Dnes mi dorazily 128kB cache
SRAM ipy W241024AK-15
z AliExpressu. Vypadaly
nepouit, ale znaen bylo neoriginln, plen LASERem. Naped jsem je otestoval v programtoru
LabProg-48LV
a zjistil, e 1 z 5 ip selhal u pi Device insertion testu a nsledn men multimetrem potvrdilo,
e spousta pin nebyla vbec pipojen na kemk. e by ty ipy pepouzdovali do novch futrl a
pitom se jim pokazilo bondovn vvod? Jak jsou skuten dynamick parametry je ve hvzdch. Na Alku
jsem tedy nahlsil stnost a podal o sten refund, kter byl do druhho dne promptn vyzen.
Natst mi sta 4 funkn ipy, protoe tag SRAM je zde jen 32kB.
Vymnil jsem tedy cache ipy na desce a penastavil jumpery JP21: on,
JP22: on, JP23: 1-2,3-4,5-6, JP24: 1-3. Po zapnut BIOS sprvn detekoval velikost 512 kB L2 cache.
Pi testech na 33 MHz FSB fungovalo ve stabiln na nejrychlej asovn s 0 WS. V Doomu
jsem si polepil o 1,83 FPS (4%) a v Quake o 0,5 FPS (3,7%), v 640 x 480 u byl rozdl jen
nepatrn (0,1 FPS).
Avak pi petaktovn FSB na 40 MHz jsem narazil na problmy se
stabilitou, kter se pekvapiv projevila nikoliv v Quake (kde stailo zvednout asovn L2 cache na
1 WS jako dve), ale v Doomu, kter zatuhnul okamit pi startu, resp. u pi startu extenderu
DOS/4GW, jen nestihl ani nic vypsat. Pro spn dokonen testu v Doomu jsem musel zvednout asovn
L2 cache na 1 WS 3-2-2-2, co se projevilo poklesem o 0,86 FPS
proti 256 kB L2 cache s rychlejm asovnm 1 WS 2-1-1-1.
Vsledky jsem pidal do tabulky ve.
9.5.2025 O kvalit a dynamickch parametrech
nskch SRAM ip jsem ml urit pochybnosti. Podailo se mi sehnat tyi 128kB SRAM ipy IDT (nyn Renesas)
71024S12TYG8
s pstupovou dobou 12ns ze spolehlivho zdroje. Akort e jsou v SMD pouzdrech SOJ32 / 300 mil.
Navrhnul jsem si tedy jednoduchou redukci na DIL32. Jeliko u JLCPCB nedl u malch PCB cenov rozdl
mezi 2 a 4-vrstvou deskou, vloil jsem do vnitnch vrstev rozlitou m GND a VCC a pidal mal blokovac
SMD kondenztor na spodn stranu pod SOJ32 pouzdro. Nicmn PCB lze vyrobit i jako 2-vrstv, jen by se
musely vvody kondenztoru pipojit k VCC a GND run drtkama. Vytvoil jsem si vlastn panelizaci po
4 kusech, abych se veel do rozmru 5 x 5 cm a nechal tak vyrobit celkem 20 ks (rozezal
jsem je pak run psovou pilou). Kdyby ml nkdo zjem, mohu se podlit o pebytky.
3.6.2025 Ve tvrtek mi dorazily ploky z
JLCPCB. Musel jsem ale jet dokoupit 2-ad pinov lity
na noiky, take jsem se k testovn dostal a dnes. To bohuel pineslo velk zklamn, protoe se
ukzalo, e s tmito 12ns cache je MB pi rychlejm asovn pln stejn nestabiln jako s tmi nskmi
15ns z Alku, take an ipy asi oznail pravdiv. Jako 32kB tag SRAM ip jsem v obou ppadech pouil
originl 12ns Winbond. Systm je stabiln a s pomalejm asovnm 1WS 3-2-2-2, kdy je vkon mrn
degradovn pod rove 256 kB cache s rychlejm asovnm. Zkusil jsem jet zvit Vcore CPU na
4,0 V a povymoval pr elyt okolo (nebyly ani moc vyschl), avak nemlo to dn vliv.
 |
 |
 |
| redukce SOJ32-DIL32 layout |
PCB model |
osazen PCB |
K chipsetu UMC UM8498F nen dostupn dn datasheet, ale je dost pravdpodobn,
e adi cache je konstruovan stejn jako u chipsetu OPTi 82C895
na desce EXP4044. ili, e dosahuje vy rychlosti s pomalejmi ipy pomoc dual bank interleavingu
a pi osazen jen 1 banky, kdy neme vyut prokldn, tak u neum rychlej ipy vyut.
Na VOGONS fru jsme doli ke
stejnmu zvru, ale zjistil jsem, e by bylo teoreticky mon rozit banku 1 na DIL32 patice (a dodrtovat
pslun signly), aby pobrala 128kB SRAM ipy a tm zskat rychlej 1 MB L2 cache s interleavingem.
Uivatel pshipkov u
takto jednu desku upravil.
Dle jsem se dozvdl, e pelivm vybrnm SRAM ip z vt skupiny (dov
100 kus) lze doshnout lepho timingu na vych frekvencch FSB, piem nezle moc na tom, jestli
je ip 12ns nebo 15ns, ale asi na tom, jak se shoduj reln dynamick parametry. To je ale asov dost
nron sranda kvli pr FPS navc. Prozatm jsem se vrtil k dual bank 256 kB L2 cache. Vyzkouel
jsem 15ns ipy rznch vrobc a nael jsem urit rozdly ve stabilit. Nap. s ipy Alliance
AS7C3256-15PC
mi pi asovn 1 WS 2-1-1-1 opakovan crashoval Quake v timedemu, tak s ipy UMC
UM61256FK-15 opakovan
prochzel OK, i MemTest nkolik hodin OK, avak pi 0 WS to zatuhlo hned pi bootu Starting MS-DOS...
4.7.2025 Napadlo m vylepit stvajc PCB design
SQFP208 - PGA168 interposeru pro Am5x86 o spnan DC-DC mni s obvodem
RT5789
s rychlou odezvou, kter jsem umstil na spodn stranu destiky pod CPU. Pedpokldm, e bych tak mohl
snit zvlnn Vcore pi zti oproti linernmu VRM na desce a tm
zlepit stabilitu, ppadn i snit potebn Vcore. To by mohlo pomoci zejmna u ravjch CPU jako
je Cyrix 5x86. Tak se tm vye
problm se zkladnmi deskami, kter VRM nemaj osazen nebo ho nemaj vbec. Vstupn napt je
nastaviteln odporovm dliem od 0,6 V a vstupn proud teoreticky a 6 A, zle hlavn
na kvalit cvky. Gerber data jsem poslal do vroby k JLCPCB. Dal CPU Am5x86 jsem si objednal opt
na Alku, ale pvodn prodejce ho u neml skladem a nael jsem jen dra
za 285 K.
 |
 |
| PCB layout v2 |
3D model v2 |
21.7.2025 V ptek mi pily ploky na
interposer v2 z JLCPCB a dnes druh CPU Am5x86 z Alku. Pestoe byl dobe zabalen v plastovm rmu,
ml viditeln ohnut 3 noiky. A to jednu tak, e naopak dole nebyla zahnut do roviny ploku, ale
rovn trela pod jeho rove, co se rozhodn nemohlo stt pi balen, ale u pi vrob/recyklaci,
kde se asi ipy znovu pouzd. Pinzetou jsem noiku opatrn dole ohnul a ostatn narovnal. Tento kus
m na kovovm IHS docela pkn vyveden ern popisek.
4 oboustrann pinov lity
z GME jsem ml u koupen v zsob a tak jsem se veer pustil do osazovn. Nejprve jsem na spodn stranu
osadil spnan DC-DC mni a otestoval ho, e dv poadovan napt 3,6 V. Pak jsem pipjel CPU,
keramick kondky a nakonec pinov lity. Pi 1. zapnut jsem nedostal vbec dn POST kd. Musel jsem
tedy promit vechny piny a zjistil, e byla nepipjen noika A10 na SQFP pouzdru (po ouchnut
pinzetou se hbala, ale nebylo to zrovna moc vidt). Po propjen noiky u deska s CPU nastartovala.
Zkusil jsem i pepnout FSB na 50 MHz, ale opt dn POST kd, to bych musel jt s Vcore ve...
 |
 |
 |
 |
| PCB top, bottom |
Am5x86-P75 CPU |
PCB top |
PCB bottom |
USB adi s CH375 pro 8-bit ISA
21.10.2025 Pro penos dat je dnes pece jen
pohodlnj pouvat vt, rychlej a spolehlivj USB flashdisky ne diskety. Avak prvn nativn
USB adie se zaaly na zkladnch deskch objevovat a na konci ry Penti (Socket 7) a bn se daj
sehnat jen karty pro sbrnice PCI a PCI-E. Ped asem jsem vak objevil USB adi pro 8-bit ISA
od firmy Lo-tech
zaloen na nskm ipu CH375.
Jedn se o jednoduch USB-host adi s 8-bitovm paralelnm rozhranm, kter podporuje USB 2.0
low-speed (1,5 Mb/s) a full-speed (12 Mb/s) zazen tdy mass-storage (nelze ho tedy
pout pro myi, klvesnice, atd.). Pro pipojen k ISA sbrnici sta pidat dekodr I/O adres
a pr dalch drobnost. Karta adie je t vybaven patic na EPROMkou, do kter je mon vloit
BIOS umoujc bootovn z USB
flashdisku. Lze ho koupit na AliExpressu za 409 K.
Na podrobnou videorecenzi se mete podvat zde.
Bastl Frantiek tefanec
vytvoil vlastn PCB design v KiCADu
vychzejc z referennho designu od vrobce ipu, kter m na webu ke staen. J jsem jeho PCB design
mrn upravil, aby bylo mon osadit i 64kB EPROM (27C512)
a nahrt do n ROMOS s mass-storage DOSovm ovladaem. K tomu jsem
poteboval na desku vmstnat pr dal jumper, co se nakonec povedlo. Tak jsem mrn upravil rozmry
desky na 100 x 50 mm, aby bylo mon nechat v JLCPCB provst sraen hran ISA konektoru (s deskama
menma jak 50 mm v jednom smru maj problm z upnutm do frzky), kde jsem si nechal vyrobit 5 kousk.
5 ip CH375 jsem objednal na AliExpressu
za 58 K.
 |
 |
 |
| ISA-USB schma |
ISA-USB PCB layout |
ISA-USB PCB model |
11.11.2025 Dnes mi pila velk vrka
plok z JLCPCB. Jeden jsem tm kompletn osadil, akort jsem neml v zsob USB ESD ochranu
USBLC6-2SC6,
kterou jsem provizorn pemostil 2 odpory 22 Ω. UPDATE: USB ESD ip dorazil z Mouseru,
tak u je na svm mst. Jen upozoruju na vbr USB-A konektoru, e existuj 2 varianty s kontakty
nahoe a dole (zrcadlov prohozen poad pin) - zde je teba osadit tu s kontakty dole. Pi osazen
patn varianty dojde k peplovn a pravdpodobn znien USB flashdisku! USB adi jsem zasunul
do jedn desky s CPU 386SX-20, kterou jsem zrovna testoval, a fungoval na prvn zapnut.
 |
 |
| ploky z JLC |
osazen USB-ISA adi |
29.11.2025 Jak u bylo patrn z recenz
jinch uivatel, nelze od tohoto USB adie ekat dnou raketovou rychlost, spe o nco rychlej disketu.
Nael jsem a otestoval 2 verze DOSovho ovladae
ch375dos.sys. Ten lze zavst bu klasicky v config.sys
nebo a po bootu pomoc utility devload.com
a akceptuje 3 parametry, viz pklad: DEVICE=C:\ch375dos.sys @260 #0 %3.
1. parametr je bzov I/O adresa, kter se mus shodovat s nastavenm jumperu J2 na adii
(mon hexa hodnoty: 230, 240, 250, 260). 2. parametr je IRQ, opt mus odpovdat nastaven
jumperu J3 (mon hodnoty: 0-nepouvat peruen, 3, 4, 5, 6, 7). 3. parametr je IOspeed - jaksi
ekac prodleva pro I/O komunikaci s kartou (m ni hodnota, tm vy rychlost). Vchoz
hodnota je 3 a pi nich hodnotch se mohou na nkterch systmech objevit njak problmy.
Verze 2.0A se ukzala o nco pomalej a patrn vbec nepouv pi
penosu IRQ, nebo se namen rychlosti v obou ppadech prakticky neliily. Verze 1.9 mi nefungovala
bez zapnutho IRQ jumperem (pi detekci flashdisku jsem dostal chybu "error boot sector") a se zapnutm
IRQ byl penos rychlej, nejvy rychlosti ten 50,5 kB/s jsem doshl s parametrem IOspeed=0.
Po zaveden ovladae se piad USB flashdisku nov psmenko jednotky navazujc na existujc diskov
oddly (bez disku se piad psmenko C:). Ovlada nee souborov systm, to penechv na DOSu,
take se sprvnou verz lze pouvat i FAT32.
| IOspeed |
ver. 2.0A, no IRQ |
ver. 2.0A, IRQ 7 |
ver. 1.9, no IRQ |
ver. 1.9, IRQ 7 |
| 3 |
28,63 kB/s |
28,63 kB/s |
- |
32,99 kB/s |
| 2 |
32,49 kB/s |
32,49 kB/s |
- |
38,20 kB/s |
| 1 |
37,01 kB/s |
36,90 kB/s |
- |
44,77 kB/s |
| 0 |
40,44 kB/s |
40,33 kB/s |
- |
50,49 kB/s |
ch375dos.sys USB read speed (715kB file), 386SX-20, 2 MB RAM, MS-DOS 7.10
Dle jsem upravil 64kB disk image svho ROMOSu,
do nj jsem zahrnul ovlada verze 2.0A, MikroManaer, utilitu DynaLoad a config.sys,
kter ovlada natahuje. FreeDOS kernel je pvodn verze pro CPU 386 a vy. Tato verze ROMOSu je
nakonfigurovan pro emulaci diskov jednotky A: (disketovou jednotku jsem neml pipojenou), binrka
je ke staen zde. Naplil jsem ji do EPROMky
27C512
a nastavil potebn jumpery. V tto konfiguraci je jedin mon volba pamov adresy na segmentu
D000h. Po sputn ROMOSu se ovlada nathnul dle oekvn. S pomoc takto
vybaven karty mu USB ovlada penst na disk libovolnho retro PC, ppadn i naformtovat disk
a nainstalovat OS.
Oprava zkladn desky Octek Panther II 386SX
30.11.2025 U od losk radioburzy v Holicch
mi doma leela druh deska od znmho Octek Panther II 386SX rev. 1.01
s pipjenm CPU intel 386SX-20, s chipsetem OPTi 82C283 a
F82C206, se sbrnic ISA. Bohuel byla
docela brutln poleptan od louhu z vyteklho NiCd akumultoru. Po zapnut poslala pr POST kd a
skonila s chybou detekce pamti (kd 10h). Co se dalo ekat, protoe
louh natekl i pod DIL patice pamt a mon trochu i pod patice SIMM.
Pvodn jsem sp uvaoval rozebrat desku na soustky, ale zkusil jsem
tomu dt jet anci. Postupn jsem zaal opravovat viditeln pokozen cestiky a prokovy. Nkde bylo
serno i nkolik cm spoj, take jsem je musel nahradit izolovanmi drtky. Tak jsem musel odpjet DIN
konektor klvesnice, kter ml vevnit seran prka a spoje pod nm byly tak seran. Tak 2 krajn DIL
patice pro RAMky mly seran nkter prka a musel jsem je vymnit. Diod-testem jsem zkontroloval vechny
piny krajnch DIL patic, jestli nkam vedou a nael nkolik peruench spoj. Ty se mi podailo postupn
vechny vysledovat kam vedou a opravit je. Pi vmn DIL patic se mi tak pr spoj peruilo v mst
mezi padem a cestikou (pouhm okem to ani nebylo vidt), tak jsem to musel t prodrtovat.
Nsledn jsem zkusil do 2 krajnch bank 0 a 1 osadil DILkov RAMky
44256
a 41256
a viola, rozbhl se boot, 1MB RAM OK. Vlezl jsem do SETUPu (zde pouit Mr. BIOS 1.0F vypad docela
zajmav a atypicky), ale po cca 10s mi zmizel obraz a na POST kart jsem si viml, ze se trvale rozsvtil
RESET. Na RESET vstup to nereagovalo a po vypnut a zapnut se to opakovalo. Kdy u jsem s tm strvil
nkolik hodin prce, rozhodl jsem se to dothnout do konce. K tomu jsem musel detailn prozkoumat funkci
resetovacho obvodu, jeho schma jsem sten pekreslil, viz ne. Jak jsem zjistil, resetovac CMOS
vstup chipsetu ml uhnil prokov a jen si tak plaval ve vzduchu, take po chvli sm peklopil. Po oprav
prokovu pro zmnu deska nestartovala vbec a visela v resetu. Bylo tedy teba prozkoumat, jak vechny
podmnky se vyhodnocuj, aby se RESET odbrzdil.
Resetovac obvod je postaven na 4-nsobnm kompartoru
LM339
z nj jsou vyuity 3 se spolenou referenc (na invertujcch vstupech). Jeden kompartor (piny 9, 7, 14)
snm stav signlu Power Good z napjecho konektoru zdroje,
ten byl peklopen sprvn. Dal kompartor (piny 5, 4, 2) snmajc stav RESET vstupu P1 (od tlatka)
byl blokovan dalm kompartorem (piny 7, 6, 1), kter snm napjec +5V vtev pes dli R49 a R50.
Zde bylo na uzlu dlie cca 2,8 V. Problm byl v tom, e reference mla napt 4,8 V, take
tento kompartor byl peklopen patn. Jak jsem vysledoval, vstup reference ml vst na katodu klasickho
obvodu TL431C,
jene spoj uhnil a tak se na vstup reference odnkud dostvalo vy napt pes R54. Po oprav spoj
reference jsem namil pedpokldan napt 2,52 V, take se kompartor snmajc +5V vtev peklopil
sprvn a neblokoval druh kompartor hldaj RESET a chipset se tak mohl rozbhnout.
Nakonec jsem jet diod-testem zkontroloval zapojen patic
30-pinovch SIMM
a zjistil, e pin 4 (A0) je v luftu. Jeliko cestika k nmu vede pod paticema, tak se mi ji nedailo
celou vysledovat, ale bylo jasn, e vede na signl A0 DIL patic. Tak jsem tam nathl drtek a deska
se rozbhla se 16 MB RAM ve tyech SIMMech. Ty mohou bt bezparitn
(BIOS si asi ptomnost paritnho bitu sm detekuje), ale pekvapiv mus bt po tyech, i kdy m
386SX 16-bitovou sbrnici a obvykle takov desky funguj se 2 SIMMy jako 286-tky. Na tto desce
to ale se 2 SIMMy prost nejelo v jakkoliv pozici. Po otestovn jsem opraven spoje na horn i
doln stran pestknul transparentnm matnm syntetickm lakem. Do desky jsem pak jet loupnul
matematick koprocesor 387SX a zbenchmarkoval obvyklm zpsobem.
V Quake jsem dostal "asnch" 0,5 FPS a v Doomu stejn nepouitelnch 1,84 FPS. Jak je vidt,
oproti 386DX je 16-bitov sbrnice prost vrazn bottleneck...
 |
 |
 |
 |
 |
| Octek Panther II |
detail |
schma resetu |
po oprav-top |
bottom |
Oprava 386 zkladn desky Abit AB-FU3
13.2.2026 Pustil jsem se do operace dalho
pacienta - zkladn desky Abit AB-FU3,
kterou jsem loni dostal o Pepka z bastlrny. Je osazena chipsetem od Chips & Technologies
F82C351, F82C355 a F82C356,
m PGA patice na CPU (s AMD Am386DX-33) a FPU (387DX / WTL3167), 32 - 256 kB Write-Through cache
(s 64 kB) a a 32 MB RAM v osmi 30-pinovch SIMMech. Chipset je dle znaen uren max. pro
33 MHz FSB a krystalov osciltor 66 MHz je na desce natvrdo pipjen. Na prvn pohled
byla deska takov odrban se zohbanmi piny, ulmanmi zmky SIMM patic a u bez baterky, kter
nestihla napchat vt kody.
Po zapnut deska vyhazovala ochranu zdroje, jeliko byl na -12V vtvi
proraen tantal, kter ale nevystelil. Tak jsem ho odpjel a deska poslala pr POST kd a skonila
na 13h - chyba detekce pamti. Snail jsem se run pidret SIMM moduly
v patich, ale dl jsem se nedostal. Desku jsem podn prohldnul, na rovnal rzn ohnut piny a
propjel pr podezele krbnutch cest. Posunul jsem se na kd 33h a
3 ppnut - takt chyba pamti. Vypjel jsem tedy rozlman SIMM patice vyhvanou odsvakou a osadil
nhradn vypjen z jin desky. Jak jsem dle zjistil, deska vyaduje pro spn start pamov moduly
s paritou (i kdy se d pak v SETUPu vypnout) a mus bt jako prvn osazena banka 0. Navc chipset nem
rd moje nov 4MB moduly (ani ty s paritou). Ani s nejpomalejm
asovnm a rznma volbama refreshe. Dochz pitom ke generovn NMI a MemTest se okamit restartuje.
Kdy jsem je vymnil za 8 x 1MB SIMMy, tak problmy s pamt zmizely.
 |
 |
 |
| Abit AB-FU3 |
AB-FU3 bez KBC |
Chipset SETUP |
Dal problm byl, e deska odmtala startovat s bnou VGA kartou
(zastavila se na kdu 2Ch), ale s 8-bitovm Graphics Gremlinem
(CGA/MDA) normln nabhla. Viml jsem si zoxidovanch pin na KBC a jeho patici. Ta mla prka u v horm
stavu a tak jsem se ji rozhodl vypjet a vymnit za jinou precizn. Piny KBC jsem oistil tvrdou gumou
a pomohlo to, u jsem nabootoval i s VGA kartou. U to vypadalo, e je ve opraveno, ale zhy se objevila
zhadn chyba po vloen FPU do patice. Jakmile jsem pustil njak program, kter se jen pokusil FPU
detekovat (teba DOS Navigator, ten normln b i bez nj), tak zatuhnul. Vyzkouel jsem nkolik rznch
FPU a CPU, ale zmna nastala a pi vmn CPU za TX486DLC. Systm byl sice podivn nestabiln, ale vtina
program, kter pedtm tuhly se spustila. Jene FPU patn potal. To bylo vidt teba na VESATESTu,
kter msto soustednch krunic vykreslil jeden jaksi kosotverec s oblma rohama.
Pojal jsem tedy podezen na chybu v komunikaci CPU a FPU. Proppal jsem
vechny piny v patici FPU 378DX
a zjistil, e pin L3 - vstup READYO# nikam nevede. Pozdji se vak ukzalo,
e nkter desky tento signl nepotebuj a generujou CPU READY# jinm zpsobem
(chipset 82C35x dn takov dedikovan vstup nem). Napadlo m trochu vyzpovdat AI od Googlu, aby mi
vysvtlila, jak vlastn komunikace mezi CPU a FPU funguje a jak signly se k tomu pouvaj. Dky tomu
m sprvn navedla na signl BUSY#, by uvdla nesprvn sla pin. Popsala
mi pesn i stavy, ke kterm dojde, pokud signl BUSY# na stran CPU zstane
viset trvale v log. 1 nebo 0. CPU se prost nedozv, e instrukce FPU skonila a zstane ekat. 486DLC
se zachov jinak dky intern L1 cache a na dokonen instrukce neek.
Nsledn jsem se doppal, e signl BUSY#
od FPU i CPU kon v obvodu U6 s kryptickm znaenm A458-00-1BS 9134, avak pod patic bylo vidl v potisku
"16L8", co odkazuje na programovatelnou logiku PAL16L8.
Jak jsem se dle doppal, tento obvod snm a generuje i dal dic signly, viz tabulka ne. S pekvapenm
jsem zjistil, e cel vstupn strana PALu (piny 12 - 19) je odPLen, resp. piny vis v luftu bez jakhokoliv
nznak PN pechodu mezi GND i VCC. Napadlo m, e uvnit ipu mohly zoxidovat nebo se utrhnout bondovac
drtky. Blb je, e takto z nho u nemu vyst pvodn konfiguran matici. AI mi navrhla, abych zkusil
jednodue propojit odpovdajc signly BUSY#, ERROR#
a PEREQ a dokonce mi vygenerovala i zdrojk
v jazyku ABEL,
kter jsem nsledn zkompiloval do JEDEC souboru a naplil programtorem
LabProg-48LV
do nhradnho obvodu GAL 16V8D-25QP
s Flash pamt. Po t programy na FPU zaly fungovat sprvn, ale chtlo by to doplnit i generovn dalch signl.
Patrn se pouv nativn signalizace chyb pomoc ERROR# a nikoliv pes IRQ 13.
Ideln by bylo od nkoho zskat dump pvodnho PALu (nebo zapit k dumpnut). Jinak se zd, e u deska
funguje sprvn a vsledky test jsem pidal do tabulky...
| pin |
signl |
pin |
signl |
| 1 |
FPU K1 - PEREQ |
20 |
VCC |
| 2 |
FPU K2 - BUSY# |
19 |
CPU C8 - PEREQ |
| 3 |
FPU L2 - ERROR# |
18 |
F82C356 138 - IRQ 13 |
| 4 |
CPU E14 - ADS# |
17 |
NC? |
| 5 |
F82C356 77 - NMI |
16 |
CPU A8 - ERROR# |
| 6 |
FPU L10 - RESETIN |
15 |
NC? |
| 7 |
CPU C9 - RESET |
14 |
NC? |
| 8 |
F82C351 149 - REFRESH# |
13 |
NC? |
| 9 |
WTL3167 M12 - INTR |
12 |
CPU - BUSY# |
| 10 |
GND |
11 |
WTL3167 M2 - PRES# |
PAL16L8 pin mapping