Știri Proaspete

IBM MCGA Poarta Array Inginerie inversă

De Redacția · 04.07.2026

S-a pierdut stratul de metal în timpul decapării!

IBM MCGA Gate Array Reverse Engineering MCGA (multi-Color Graphics Array) este un chipset video low-cost introdus cu modelele PS/2 25 și 30. Epson Equity 1e utilizează video compatibil MCGA, dar nu utilizează aceleași jetoane.

Cipul IBM constă din reţeaua de controlere a memoriei şi reţeaua de porţi pentru obiecte video.

Unele exemple din acestea au fost fabricate pe un proces intern al porților IBM, în timp ce altele au folosit o parte exterioară a porții de către Seiko.

Memory Controller Gate Array (72X8300) Acest array de poartă conține o implementare a generatorului de sincronizare MC6845 IC, gestionează interfața video RAM la magistrala ISA, gestionează interfața RAM caracter, și alte câteva funcții diverse, inclusiv selectarea ceasului și monitorizarea de citire ID.

Exemplul pe care l-am modificat este implementat folosind o matrice de poartă Seiko SLA6430. Acesta conține 4,342 celule de bază (BC) cu 4 tranzistori fiecare.

BC-urile sunt aranjate în 167 de rânduri și 26 de coloane.

Acesta este un proces de 2um COMOS cu 2 straturi metalice. Imaginea este de la72x8300-sla6430j Schița și aranjamentul modificat invers pot fi găsite în subdosarul mcga72x8300flat.

Video Formatetter Gate Array (72X8205) Portalul formaterie decodifică adresele de memorie ISA și portul IO, gestionează interfața RAMDAC și generează date pixeli atât în grafică, cât și în modurile de text.

Există două imagini ale acestui IC. Primul,72x8205-gl14105fs apare pentru a fi pe un proces intern IBM poarta.

Din păcate, în timpul decapării, stratul de metal de sus a fost îndepărtat, astfel încât netlist-ul nu a putut fi extras.

Puteți regla frecvența ceasului video MCGA?

Al doilea,72x8205-sla6330j, a fost modificat invers: a se vedea subdosarul mcga72x8205flat. Este o poartă Seiko SLA6330. Acesta conține 3,312 celule de bază cu 4 tranzistori fiecare.

BC-urile sunt aranjate în 144 de rânduri și 23 de coloane. 72x8300 (Memory Controller Gate Array) Note bazate pe eforturile de inginerie inversă, au fost descoperite noi informații despre MCGA.

MCGA poate genera semnale externe HSYNC și VSYNC. Aceste semnale sunt aduse la conectorul video: pin 12 (ID1) este VSYNC și pin 11 (ID0) este HSYNC. Pentru a activa acest mod, scrie un 1 la biți 3 de înregistrare 0x12 (interfață generator de caractere și sincronizare polaritate, sau afișare sens).

În manualul tehnic de referință pentru modelul PS/2 30, acest bit este listat ca „Rezervat = 0.” Probabil, acest mod genlock ar necesita un ceas extern PLL conectat la intrarea ceasului 25MHz sau 14MHz. Register 0x10 (Mode Control) bit 3, „Compatibilitate,” afectează doar modurile de text 80x25.

Acesta determină înmulţirea registrelor temporale orizontale cu 2 (şi incrementat cu unul, în cazul 0x00, total orizontal, şi scăzut cu unul, în cazul 0x02, începe sincronizare orizontală).

Register 0x10 (Mode Control) bit 2, „Clock = 1,” controale care ceasul conduce circuitele video. În starea implicită, majoritatea circuitelor video utilizează ceasul 25.175MHz.

Puteți seta frecvența ceasului la 14.318MHz intrare prin schimbarea acestui bit la 0. Register 0x10 (Mode Control) bit 6, „Rezervat = 0,” nu este încă pe deplin înțeles. Register 0x20 (Rezervat) este un registru al modului de testare de fabricație. Modurile de contra-viteza injecteaza practic un semnal de ceas in cele patru parti superioare ale fiecarui contor, cat si cele mai mici patru biti, astfel incat contorul se termina mai repede.

Acesta este un ajutor pentru testul fabricii în tester chip. 72x8205 (Video Formatetter Gate Array) Note Registrul de mod extins, 0x1A, are două biți nedocumentați: Registrele de testare suplimentare de fabricație sunt disponibile accesând următoarele locații: Pentru a accesa un registru de teste de fabricație special, încărcați o adresă în registru 0x19 și citiți sau scrieți conținutul la 0x18.

Registrele testelor de fabricație sunt: Registrul scrie numai la adresa 4 implementeaza doar urmatoarele doua biti: Inginerie inversa Informatii de proces Imaginea 72x8300 a fost scalată de la 21808x21778 la 10904x10889. Fișierul jpg de ieșire a fost setat la 85% compresie pentru a economisi spațiu, setat la 48DPI, și importat în KiCAD la un factor de scară de 0.103170.

Acest rezultat are o distanţă BC-la-BC de „3mm” în unităţi KiCAD. Amprentele bibliotecii au fost create pentru fiecare tip de celulă de bază, deoarece au fost identificate și asociate cu simboluri schematice. Pads au fost toate plasate în centru astfel încât amprenta ar putea fi rotite, deoarece multe dintre BC în original au fost oglindite.

Array-ul poartă utilizează două straturi de metal, și poate fi dificil să înțeleagă conexiunile dintre straturi. În general, există doar câteva contacte admisibile: Fiecare coloană are două fire paralele pe metal 2 care transportă VCC (pe dreapta) și GND (pe stânga). Prin urmare, cei doi tranzistori stângi din fiecare BC sunt NMOS, iar cei doi tranzistori din dreapta sunt PMOS. Într-un BC, doi tranzistori împart o singură poartă, și fiecare poartă are trei tampoane de conectare.