Keresés

Részletes keresés

ergoGnomik Creative Commons License 30 perce 0 0 9514

Nem értem. Mi a két állítás között a különbség? Az egyiket siz mondja saját magáról, a másikat te sizről. Az eredmény logikailag megegyezik. Sz'tem.

Előzmény: MMSZoli2 (9513)
MMSZoli2 Creative Commons License 10 órája 0 0 9513

> Minden általad ismert DRAM mátrix szervezésű és multiplexelt címzése  :-)

siz Creative Commons License 21 órája 0 0 9512

> Minden általam ismert DRAM mátrix szervezésű és multiplexelt címzése

Előzmény: siz (9511)
siz Creative Commons License 21 órája 0 0 9511

Ne add a szavakat a számba. :)

 

Amit mondani szerettem volna:

 

> Minden általam ismert DRAM mátrix szervezésű

Előzmény: szőlőmag (9510)
szőlőmag Creative Commons License 24 órája 0 0 9510

Amit mondani szerettél volna, helyesen:

 

A "legtöbb" hagyományos(!) DRAM multiplexelt címzésű :) 

 

Valójában minden nagyobb memóriachip belül mátrix szervezésű. A romok promok és sram-ok is.

 

Anno a kevesebb kivezetés, kisebb tok miatt (is) alakult ez a ram-oknál így, illetve a frissítésnél is kedvezőbb valamelyest.

 

Később már "így maradt", ..és bizony, ebben a "kisgépes korszakban" sokszor teljes elmebaj  ez.

Plusz alkatrészek, sorrendi dram vezérlő logikák, multiplexerek amiatt, ami végül összesen sokkal jelentősebb költség, mérnöki ráfordítás, mint a dram gyártónak több kivezetés, nagyobb tok, más külső címzési logika lenne.

 

Azután a chipsetek (és ez még nem PC, lehet korai amiga vagy atari vagy bármi) kvázi áltlánossá válásával megint kedvezőbb volt a kevesebb címvonal, kevesebb nyákterület, kivezetés, kontakthiba-lehetőség, a szükséges logika meg úgyis a chipset teljes bonyolult "lelkének" tizezered, százezered része, nincs számottevő jelentősége, költsége.

 

Előzmény: siz (9509)
siz Creative Commons License 1 napja 0 0 9509

Nem terveztek mást. Minden DRAM mátrix szervezésű, ahol előbb oszlopot majd sort kell választani. A multiplexerek csak eldöntik, hogy éppen melyiket kell címezni.

Előzmény: György barát (9508)
György barát Creative Commons License 1 napja 0 0 9508

Teória: 

 

A Négyeskében használt RAM-ok belső szervezése miatt az U9-U10 testvérek össze-vissza kócolják a biteket. 

A CPU viszont párhuzamosan tolja azokat. (Fölteszem, más RAM-okat terveztek eredetileg.) 

 

 

Előzmény: ergoGnomik (9506)
IEC-ATA Creative Commons License 1 napja 0 0 9507

Igen, ez nekem is megvan! 

Előzmény: siz (9505)
ergoGnomik Creative Commons License 1 napja 0 0 9506

Miért tenne ilyet? Erre való az U9 és U10 multiplexer. Vagy nem?

Előzmény: György barát (9504)
siz Creative Commons License 1 napja 0 0 9505

Nekem egy ilyen poszt van bekönyvjelzőzve a témában: https://forum.index.hu/Article/viewArticle?a=128478516&t=9006036

 

Előzmény: IEC-ATA (9503)
György barát Creative Commons License 1 napja 0 0 9504

(TED) MUX > (CPU) GATE IN 

 

Ennek hatására tolja a proci a fölső címbájtot A0-A7-be (RAM műveletnél).

 

IEC-ATA Creative Commons License 1 napja 0 0 9503

A Gate-in jelről lehet egyáltalán bárhol olvasni valamit. A nagy Plus/4-es könyvben csak egy odavetett mondatra emlékszem, ami nekem nem mondott sokat, igaz én nem is értek hozzá. Mondjuk meg lehetne szkópolni, hogy van-e egyáltalán rajta bármi, és az vajon milyen viszonyban van a többi vezérlőjellel?

 

Ez van a nagykönyvben:

Ráakasztom a gépre a logikai analizátort aztán megnézem! :-)

Előzmény: ergoGnomik (9497)
IEC-ATA Creative Commons License 1 napja 0 0 9502

Miért nem 4 MB-s bővítést készítettél?

 

Mert az 1MB-os tűnt logikusnak! Ha már a C64-esek "verték a nyálukat", hogy mennyi mindenük van, akkor kellett egy ilyen a kedvenc gépeimnek is! :-) Van egy fanatikus gyűjtő ismerősöm, aki nyaggatott, hogy csináljak nagyobb kártyát és abba tényleg minden is beleférne! :-) "Lehet" egyszer nekiállok! ;-)

 

64k-n ként kellene lapozni ugyan úgy egy regiszterrel, és ezen belül az egyes 16k-s "allapok" a négy ROM kiválasztó jelhez lehetnének kötve.

 

Van ilyen 64kb-os kártyám, mert ez volt az első fejlesztésem. Ez a C1L-C1H, C2L-C2H jeleket fogja össze TTL áramkörrel, de ezekkel is csak 32kb-ot lehet egyszerre láthatóvá tenni $8000-től. Viszont az összes belapozható variációt meg lehet oldani vele. Kitűnően kezeli ez a kártya az Octasoft basic 7 CRT fájlt. Illetve csináltam magamnak jiffydos cartridge-t, mert az sem volt a mostoha gyereknek, csak a c64-eseknek. Amíg C64-re EasyFlash kártya kell a jiffydos-hoz, addig nekem elég 2db. TTL ic, meg egy eprom. Ki-be tudom kapcsolni a gyorsítót a gép kikapcsolása nélkül!!! Ha akarom van magnó kezelés, ha akarom Jiffydos van a helyén és fut is!

 

Miért nem tetted $FDFE-re? Az Solder hasonló bővítésének van "fenntartva", ami praktikusan nem létező dolog.

 

Azt hiszem itt kérdeztem meg először, hogy milyen címre érdemes tenni a _CS-t. Ez lett, de bármikor át lehet variálni a kapcsolást. Eddig még nem okozott problémát!

Előzmény: ergoGnomik (9498)
siz Creative Commons License 1 napja 0 0 9501

upsz, bocs, sorban olvastam :D

Előzmény: ergoGnomik (9497)
siz Creative Commons License 1 napja 0 1 9500

Mintha a 65C02 nem lenne teljesen kompatiblis a nem dokumentált ("illegális" utasítások terén. Közben rákerestem és tényleg: https://hu.wikipedia.org/wiki/WDC_65C02#%C3%96sszehasonl%C3%ADt%C3%A1s_a_MOS_6502-vel

 

Szóval inkább 6502.

Előzmény: IEC-ATA (9496)
siz Creative Commons License 1 napja 0 0 9499

Így működik az a hardver is, amivel BSz a Wild Compokon indul és pl. az Evo Lution. Csak ott még van alatta egy SD (vagy CF?) alapú gyors háttértár, ami tolja alá az adatokat, hogy videó (és audió) legyen belőle. A plus/4 ott "csak" az FLI megjelenítést végzi.

Előzmény: IEC-ATA (9495)
ergoGnomik Creative Commons License 1 napja 0 0 9498

Nem a kötözködés kedvéért kérdem, hanem mert tényleg érdekelnek a megfontolásaid:

  • Miért nem 4 MB-s bővítést készítettél? 64k-n ként kellene lapozni ugyan úgy egy regiszterrel, és ezen belül az egyes 16k-s "allapok" a négy ROM kiválasztó jelhez lehetnének kötve. Igaz, ekkor a két felső "allap" utolsó 1-1 kB-ját elvesztenénk (-128 kB = 3,875 MB) az I/O terület és a KERNAL miatt. Plusz bónusz kérdés: miért csak 64 lap, miért nem 256? Abban már elférne minden IS. :-)
  • Miért nem tetted $FDFE-re? Az Solder hasonló bővítésének van "fenntartva", ami praktikusan nem létező dolog. És a két "kosztüm" OS-én kívül szerintem aligha támogatja más.
Előzmény: IEC-ATA (9495)
ergoGnomik Creative Commons License 1 napja 0 0 9497

Ha azt akarod, hogy kompatibilis legyen az "illegális" utasításokkal, akkor ne válaszd a 65C02-t! Ha szerinted ez nem számít, akkor nyugodtan használd a CMOS-t! Mondjuk azok a programok, amiken valamilyen "titkosítás" van előszeretettel használták azokat az utasításokat, amik nem része a hivatalos utasításkészletnek. Illetve teljesítmény megfontolások miatt a modernebb programok között előfordulhatnak olyanok, amik ezekre támaszkodnak. Demókra és gyorstöltőkre gondolok, de nem lepne meg, ha kiderülne a legutóbbi nagy játékprojektekről, hogy azokban is kihasználták ezeket a lehetőségeket. Egyébként klasszikus NMOS 6502-t könnyű beszerezni?

 

A Gate-in jelről lehet egyáltalán bárhol olvasni valamit. A nagy Plus/4-es könyvben csak egy odavetett mondatra emlékszem, ami nekem nem mondott sokat, igaz én nem is értek hozzá. Mondjuk meg lehetne szkópolni, hogy van-e egyáltalán rajta bármi, és az vajon milyen viszonyban van a többi vezérlőjellel?

Előzmény: IEC-ATA (9496)
IEC-ATA Creative Commons License 1 napja 0 0 9496

Más téma!

Már gyártódnak a 8501-es processzor helyettesítő nyáklapjaim és kérdezném hogy 6502 vagy 65C02 legyen a lelke az áramkörnek? A Gate-in lábat és áramkörét nem raktam bele, mert akitől kérdeztem a miben és hogyan létét, az nem válaszolt, aki meg igen az sem érdemben. Utoljára MCes-t kérdeztem, mert ő ugye megcsinálta a CPLD-s verzióját, amivel a krill loader nem ment, mert nem volt neki a proci adatirány regisztere megcsinálva, amit később javított. De érdemben nem válaszolt ő sem.

IEC-ATA Creative Commons License 1 napja 0 0 9495

A Csory féle bővítőnél meg kijelölsz egy 16k-s ablakot a 64k-s címtartományban (A14-A15 címbitek) és megmondod, hogy abban az ablakban a teljes memóriából melyik 16k-s lapot akarod látni.

 

Ne ez tetszik! Az én 1MB-os cartridge-m is 16kb-os lapokkal dolgozik a C1L-en keresztül, plusz egy _CS jel lett kiépítve az $FE00-re, ami olyan mint a C64-nél azt I/O1 jel. Ezzel a két jellel meg persze logikai ic-vel 64db. 16kb-os lapot lehet $8000-BFFF-ig belapozni. Lehetne még akár cartridge képregényt is írni és a grafikus területre küldeni a képeket a kártyáról! :-D Majdnem úgy működik mint egy membővítő! :-)

Előzmény: siz (9488)
György barát Creative Commons License 2 napja 0 0 9494

Nem. (Tévedtem, már megint.) 

A világhálón megkerestem a kapcsolási rajzot, és látom az alkatrészt: MMU (Memory Manager Unit).   :-) 

 

Előzmény: ergoGnomik (9493)
ergoGnomik Creative Commons License 2 napja 0 0 9493

Az merő véletlenségből nem FPLA  volt?

Előzmény: György barát (9492)
György barát Creative Commons License 2 napja 0 0 9492

1. Most akkor a C=128 könyvét kellene előbányásznom. Onnan ismerős a rövidítés (Field-Programmable Gate Array [?]). Ott az végzi a RAM-ok és ROM-ok társítását (16 BANK-kombináció). 

2. Értem. Köszönöm. 

 

Előzmény: ergoGnomik (9490)
siz Creative Commons License 3 napja 0 0 9491

0. Igen, az az egyik leggyakrabban meghaló dolog és mivel semmi másban nem használták így valóban hiánycikk

1. Az FPGA (lehet, hogy CPLD, nem néztem meg annyira) egy szabadon programozható logikai áramkör, egészen komoly kapcsolások kiváltására szolgál. Természetesen nem C64-ből van.

2. A CAS valóban azért kell, mert az a RAM elérés chip-select-je

Előzmény: György barát (9489)
ergoGnomik Creative Commons License 3 napja 0 0 9490

0. Nyilván. A processzor az első háromban van a leggyakrabban elromló alkatrészek listáján.

1. Amikor a C=64-et megtervezték, az FPGA-nak még a gondolata sem létezett. A panel fényképén az alkatrész kifejezetten CPLD-nek tűnik. Mitől lenne bármire is jó egy teljesen inkompatibilis rendszerből származó, rendszer logikát megvalósító alkatrész? Illetve, ha tényleg onnan jön, akkor abból mit lehet megtudni?

2. Mert mondjuk nem az SRAM-nak kell, hanem ahhoz hogy a DRAM buszidőzítéséhez lehessen illeszteni az SRAM buszidőzítését. Gyanítom nem lenne túl hasznos, ha a TED buszzajt olvasna grafikus adatok helyett, mert mire kitalálná, hogy a beleégetett időzítés szerint le kell venni az adatbuszról a tartalmat, addigra az SRAM adatérvényességi intervalluma már le is zárult.

Előzmény: György barát (9489)
György barát Creative Commons License 3 napja 0 0 9489

Lotharek

 

0. Gondolom azért 6502, mert a Négyeske eredeti procija hiánycikk. 

1. Az FPGA C-64-ből származik vagy új termék? 

2. A SRAM-nak miért kell CAS? 

 

Előzmény: siz (9488)
siz Creative Commons License 3 napja 0 1 9488

Többféle memória bővítő is létezett anno, az eredeti német 256k-s (igazából 240) és a magyar Csory-féle 256k-s. Az eredeti Hannes-féle bővíthető akár 4MB-ig is, sőt a Hannes és a Csory működhet együtt is.

A Hannes-bővítő úgy működik, hogy

1) megmondod, hogy a lapozás (bővítés) milyen cím fölött működjön ($1000 vagy $4000), alatta mindig az alapértelmezett lap látható, hogy pl. a lapozó rutin ne legyen kilapozva)

2) megmondod azt is, hogy a TED a RAM-bővítésből olvasson vagy mindig az eredeti lapról

3) és legfőképpen megmondod, hogy mi legyen a A12 (vagy A14, 1-es ponttól függően)  címvonaltól fölfelé a címbusz tartalma

 

A Csory féle bővítőnél meg kijelölsz egy 16k-s ablakot a 64k-s címtartományban (A14-A15 címbitek) és megmondod, hogy abban az ablakban a teljes memóriából melyik 16k-s lapot akarod látni.

 

Tehát pl. egy 256k Hannes bővítő esetén azt lehet pl. beállítani, hogy a $4000 fölött írva/olvasva a 4db 64k-s bankból melyiket látod. Csory esetén meg azt mondod meg, hogy mondjuk a 3. 16k-s ablakban ($8000-$bfff) a 16db 16k-s lapból (16x16kb=256kb) mondjuk a 9-est akarod látni ($24000-$27fff a teljes címtartományból).

 

Részletes regiszter leírás pl. itt: https://github.com/iszell/siziolibv3/blob/master/plus4_io_map.inc

 

Ezeknek a régi/hagyományos megvalósítása úgy történt, hogy valóban ki kellett cserélni a 64k RAM-ot 256k-ra (lábkompatibilis a 64k-ssal, csak az egyes láb itt a multiplexelt A16/A17), ami a 64k-son NC), a PLA-ból kijövő $fd10-$fd1f vezetéket elvágták és rákerült a címbusz alsó vonalaira egy demultiplexer, így a user port 6529B-je csak a $fd10 címen lett elérhető, a fenti regiszterleírásból megfelelő CS-eket állítottak elő az újaknak és még vagdalni és forrasztgatni kellett itt-ott ezt-azt (ezek már nem mennek fejből, de ha valakinek kell előkeresem a pontos leírást).

 

A Lotharek féle (amit ő csak sorozatgyárt és forgalmaz) alapvetően egy 6502 proci, ahol egy FPGA emulálja hozzá a $00/$01-es CPU portot. Ha már ott jártak mellé csaptak egy 512k-s SRAM-ot is és implementálták annak a vezérlését is. Annyi extra van vele, hogy ez a RAM bővítés csak akkor tud működni, ha megkapja valahonnan a TED által generált CAS jelet, illetve mellé még ki kell iktatni az alaplapi RAM-ot is. Plusz még itt a 6529B chipselect-je sincs elrontva, íráskor érzékeli az FPGA, hogy a RAM bővítés vezérlőjét akarod írni és oda viszi, olvasásnál meg mindig a 6529B olvasódik (hiszen a RAM vezérlő úgyis write-only)

 

Előzmény: IEC-ATA (9487)
IEC-ATA Creative Commons License 3 napja 0 0 9487

....Erre én is kíváncsi lennék!

Másrészt memória bővítésre nekem is van elképzelésem, amin már régóta töröm a fejem! :-)

Előzmény: ergoGnomik (9485)
György barát Creative Commons License 3 napja 0 0 9486

Köszönöm a gyors reagálást. 

 

A soraidból az derül ki, hogy a "hagyományos" átalakítás igen sok belső "földmunkával" jár. Azt pedig még mindig nem vállalom. Az eddigi gondolkodások után maximum egy vezeték elvágását és jumperelését vagyok hajlandó eltűrni. 

 

De érdeklődéssel várom a kész megoldásokat. 

 

Előzmény: ergoGnomik (9485)
ergoGnomik Creative Commons License 3 napja 0 0 9485

MMSZoli2 vagy siz majd elmondja, hogyan működik ez a Lotharek-féle csere CPU+memória bővítő esetében, de a "hagyományos" 256k memória bővítés effektíve lecserélte az alaplapra szerelt 8 db 64k*1 bit memória IC-t 8 db 256k*1 bit tokra, és annyi logikát tett a PLA köré, amivel az $FD10..$FD1F tartományon belül ki lehetett választani két-három címet a memória 16kB-onkénti lapozásának vezérlésére (anélkül hogy a párhuzamos port 6529B-je meg lett volna szólítva), és ezekkel a regiszterekkel feltöltötte a 18 bites címbusz felső négy vezetékét a 16 bites rendszer címbusz felső két vezetékén megjelenő érték függvényében. HA jól tudom.

Előzmény: György barát (9484)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!