Szerző Téma: Memória bővítő  (Megtekintve 22964 alkalommal)

0 Felhasználó és 1 vendég van a témában

Atka72

  • Full Member
  • ***
  • Hozzászólások: 110
  • Karma: +3/-0
    • Profil megtekintése
    • Atkalabor
Memória bővítő
« Dátum: 2013. Július 6. - 20:43:16 »
Ha lenne fejlesztve egy komolyabb memóriabővítő hardver a TVC-hez akkor akár nagyobb  dolgokba is bele lehetne vágni, de addig nincs sok értelme. Lapozható SRAM-ra gondoltam pár MB-ra. Az emuban persze semmi akadálya, viszont jó lenne ha valódi gépen is működne. Valakinek van ötlete ezzel kapcsolatban?

RetroHW

  • Administrator
  • Jr. Member
  • *****
  • Hozzászólások: 76
  • Karma: +1/-0
    • Profil megtekintése
    • RetroHW
Re:Memória bővítő
« Válasz #1 Dátum: 2013. Július 7. - 14:37:04 »
Nem lehetetlen a feladat.
Bár a több MB SRAM még ma is elég költséges. A 9-bites DRAM SIMM-eket meg egész olcsón ki lehet fogni a vaterán.
Lehet már más is megtalálta, de azért berakom a Pentagon 1024 rajzát. Ez egy orosz Spectrum klón, amit kissé továbbfejlesztettek. Így került bele az 1MB-os 9-bites SIMM. Nagyjából a rajz közepén található.
Ha ki lehet hámozni mit hogyan kapuz, akkor akár át lehet alakítani(talán) a TVC-t is.
A link ahonnan származik a rajz: http://pentagon.nedopc.com/info.htm
« Utoljára szerkesztve: 2013. Július 7. - 14:38:54 írta RetroHW »
Konfiguráció: TVC 64K Basic 1.2, SAA1099P, soros interfész, soros egér, +128K NVSRAM RTC-vel.

Atka72

  • Full Member
  • ***
  • Hozzászólások: 110
  • Karma: +3/-0
    • Profil megtekintése
    • Atkalabor
Re:Memória bővítő
« Válasz #2 Dátum: 2013. Július 7. - 20:30:20 »
Lomexnél:
AS6C4008-55PCN (AMI) 4Mbit SRAM 512Kx8 LOW-POW MEM. DIP-32 [32-20-71]Gyártó: -RoHSCsomagolási egység: 25 db
RAKTÁRON Csomagolási egység vásárlása esetén:
Nettó ár / db:1380.09 Ft.
Bruttó ár / db:1752.71 Ft.

Hasoló DRAM már 100Ft-ért is kapható vaóban, csak hát a frissítést akkor meg kell oldani még.
/Az emuban persze ingyen van bármi , ott elszaladhat a fantázia, csak a valóságban is megvalósítaható legyen/

Azt kéne kitalálni hogy a lapokat hogy lenne célszerű kialakítani.
Én arra gondoltam hogy a TVC-hez hardveresen ne kelljen nyúlni. A memóriát valamelyik bővítőkártyahelyen lenne célszerű belapozni.


Zozosoft

  • Newbie
  • *
  • Hozzászólások: 33
  • Karma: +2/-0
    • Profil megtekintése
Re:Memória bővítő
« Válasz #3 Dátum: 2013. Július 8. - 09:43:12 »
AS6C4008-55PCN (AMI) 4Mbit SRAM 512Kx8 LOW-POW MEM. DIP-32
EP-hez ilyet használok, mondjuk nekünk egyszerű dolgunk van, egy 74HCT138 kell mellé, és kész :-)

RetroHW

  • Administrator
  • Jr. Member
  • *****
  • Hozzászólások: 76
  • Karma: +1/-0
    • Profil megtekintése
    • RetroHW
Re:Memória bővítő
« Válasz #4 Dátum: 2013. Július 8. - 23:15:16 »
Irigylésre méltó dolog az egyszerűség. Itt a DI/DO is külön van, meg latchelni kellene a címeket. Ez plusz 4 alkatrész(2 tri-state buffer egy latch, és valami ami invertálja a -RAS jelet). De így legalább megszabadulnánk a +12V és -5V-os feszültségektől :).
Első lépésnek ez nem is rossz.

http://www.coco3.com/community/wp-content/uploads/2010/06/4164-DRAM-SRAM-Replacement-2-GIMEchip.com_.pdf

(Most, hogy jobban megnéztem az eredeti kapcsolást, a HBA-n és a HBA2-n a C6-os IC miatt 1-el kevesebb alkatrész is elég lenne.)

A külső kártya, amit Atka72 javasolt szerinted megoldható?
Ezt az átalakítást szerintem úgy kéne megejteni, hogy azért az eredeti 64K, 64K+ verziókkal kompatibilis legyen, mert úgy van értelme.

Egyelőre ezzel tudnék kísérletezni, mert ez van kéznél: http://www.ti.com/lit/ds/symlink/bq4842y.pdf
Csak 128Kbyte, de a jó hír hogy van benne RTC :).
« Utoljára szerkesztve: 2013. Július 8. - 23:30:53 írta RetroHW »
Konfiguráció: TVC 64K Basic 1.2, SAA1099P, soros interfész, soros egér, +128K NVSRAM RTC-vel.

Zozosoft

  • Newbie
  • *
  • Hozzászólások: 33
  • Karma: +2/-0
    • Profil megtekintése
Re:Memória bővítő
« Válasz #5 Dátum: 2013. Július 9. - 11:41:42 »
Itt a DI/DO is külön van,
Megnéztem a rajzokat, ez tényleg meg lett bonyolítva :-(
De mi lenne, ha csak az erősített adatbusz lenne használva? Akkor nem kell szétválasztani.

meg latchelni kellene a címeket.
A címet azt le lehetne szedni a multiplexerek bemenetéről is.
EP-ben simán beraktam 64K SRAM-ot az alaplapi 8x4164+2x74F157 helyére (lásd a fotót) :-)

Idézet
A külső kártya, amit Atka72 javasolt szerinted megoldható?
Biztosan, hiszen a floppy vezérlőn is ott az SRAM. Az, hogy több legyen, meg egy lapozó regiszter hozzá, már apróság.

RetroHW

  • Administrator
  • Jr. Member
  • *****
  • Hozzászólások: 76
  • Karma: +1/-0
    • Profil megtekintése
    • RetroHW
Re:Memória bővítő
« Válasz #6 Dátum: 2013. Július 12. - 20:59:37 »
Most néztem az EP-s oldalt, elég sok dolgot csináltál EP-re(még IDE vezérlőt is). Én nem ismerem azt a gépet annyira, bár egy kallódó 64k-s EP bővítőm maradt egy barbár ismerősömtől, aki széttörte szakszerűen szétszerelte a gépét. Ez egy olyan modul, mint amin a 4164-eket 41256-okra cseréltétek az egyik cikkben.
Jól vettem ki a dologból, hogy az EP is 16k-s lapokat használ? Mert egy plusz 8-bites lapozóregiszterrel valóban kijönne a 4MB(16K*256).
Egy pár ötlet a két gép rokonságából jól jöhet :).
Konfiguráció: TVC 64K Basic 1.2, SAA1099P, soros interfész, soros egér, +128K NVSRAM RTC-vel.

Zozosoft

  • Newbie
  • *
  • Hozzászólások: 33
  • Karma: +2/-0
    • Profil megtekintése
Re:Memória bővítő
« Válasz #7 Dátum: 2013. Július 12. - 22:18:22 »
Jól vettem ki a dologból, hogy az EP is 16k-s lapokat használ? Mert egy plusz 8-bites lapozóregiszterrel valóban kijönne a 4MB(16K*256).
Igen 16k-s lapok, és 4 db 8 bites lapozó regiszter van, minden Z80-as laphoz egy. A 256 szegmens bármelyike lehet RAM vagy ROM, és bármilyen kombinációban belapozhatóak a Z80-nak.

Én a lapozás egyszerűsítését érzem  a legfájóbb pontnak a tervek TVC-re szabásában, ok, hogy nem használtak custom IC-t, de ezt a részt 74LS-ből is könnyen össze lehetett volna rakni.

VaszicsApoca

  • Full Member
  • ***
  • Hozzászólások: 125
  • Karma: +5/-0
    • Profil megtekintése
Re:Memória bővítő
« Válasz #8 Dátum: 2013. Július 13. - 11:16:28 »
Valahol, valamikor, valakinek a "kritikáját" olvastam a TVC memória - képernyőkezelése, stb -vel kapcsolatban, hogy annak idején a tervezéskor kicsit egyszerűsítettek - valamelyik processzor egyik lába nincs beforrasztva - ezért kezel csak maximum 16 színt, állítólag mehetne a 4096 szín is. Az Amstrad CPC -ben is Z80 és CRTC 6845 van...:)

Zozosoft

  • Newbie
  • *
  • Hozzászólások: 33
  • Karma: +2/-0
    • Profil megtekintése
Re:Memória bővítő
« Válasz #9 Dátum: 2013. Július 13. - 11:54:19 »
valamelyik processzor egyik lába nincs beforrasztva - ezért kezel csak maximum 16 színt, állítólag mehetne a 4096 szín is. Az Amstrad CPC -ben is Z80 és CRTC 6845 van...:)
Ez így marhaság, a CPC is 16 színt tud egyszerre, igaz 27-ből. (Ez mondjuk lehet még kérdés, hogy TVC-n miért nincs ennyi?)
A CPC Plus gépek tudnak 4096 színt, ezekben azonban már nem 6845 van, hanem egy saját custom IC.

RetroHW

  • Administrator
  • Jr. Member
  • *****
  • Hozzászólások: 76
  • Karma: +1/-0
    • Profil megtekintése
    • RetroHW
Re:Memória bővítő
« Válasz #10 Dátum: 2013. Július 13. - 12:38:22 »
A 6845 képes kezelni 512Kbyte memóriát. Viszont szerintem nem tudja az 1 byte 1 pixel módot, pedig a memória elegendő lenne a 320*200*256 színhez, ha lenne egy paletta regiszter, plusz egy másik színkódoló IC. Vagy egy sima DAC, mert akkor lenne 256 szürkeárnyalatunk, ami azért szintén vagány volna(én legalábbis annak tartanám a mostani hardverhez képest :) ).
Csak hát ez mind hiába, ha szoftveresen kell a spriteokat mozgatni, meg ütközést kezelni :(.
Böngészgetem az EP-s oldalt, van sok érdekes dolog, amivel kedvezően lehetne módosítani a TVC működését. Egy "turbósítás", egy APU, és a sok lapozható memória rengeteget dobna a TVC-n. De szigorúan tartani kell azt, hogy az eredeti verziókkal kompatibilis maradjon, és azért valahol a 8 bites realitás talaján illene maradni.
« Utoljára szerkesztve: 2013. Július 13. - 12:40:27 írta RetroHW »
Konfiguráció: TVC 64K Basic 1.2, SAA1099P, soros interfész, soros egér, +128K NVSRAM RTC-vel.

RetroHW

  • Administrator
  • Jr. Member
  • *****
  • Hozzászólások: 76
  • Karma: +1/-0
    • Profil megtekintése
    • RetroHW
Re:Memória bővítő
« Válasz #11 Dátum: 2013. Július 15. - 05:57:28 »
No, hát az eddigi eredmények(DRAM SRAM konverzió):
Ha összekötöm a DI/DO-t az eredeti konfigban, akkor csak csíkozik a border(mondjuk gondoltam, hogy oka van annak, hogy külön van kivezetve :) ).
Kiforrasztottam a 8db MB8264-et, és a DI-ket egy 74LS244-el átvezettem a DO-khoz. A ramok helyére, egy KM68512-ALG5 64KByteos ramot forrasztottam, a címeket a multiplexer előtt vettem le a címbuszról. A -WE láb az eredeti helyre lett kötve, a -OE G14 3-as lábára, a 74LS244 engedélyezése pedig G14 2-es lábára. A tudományos megközelítés az volt, hogy írásnál az eredeti -WR jel engedélyezi a 244-et, a G14, pedig késleltetve lekapcsolja a ram kimenetét, majd G14 következő kapuja leadja a szintén kicsit késleltetett -WR impulzust, és beírja az adatot a ramba.
Hát, ez az elgondolás sajnos nem működik, rosszak az alkatrészek, vagy valamit elkötöttem, szóval ennyit a tudományról :). Az SRAM 50ns-os, egy régi WD vinyó paneljáról bányásztam le, a sebességgel elvileg nem lehet gond.
Zozo amúgy igazad lett, a 20MHz-es Z80 nem működik. Látszólag áramot sem vesz fel, lehet csak a lábak vannak a tokban a lapkát kifelejtették :).
Konfiguráció: TVC 64K Basic 1.2, SAA1099P, soros interfész, soros egér, +128K NVSRAM RTC-vel.

RetroHW

  • Administrator
  • Jr. Member
  • *****
  • Hozzászólások: 76
  • Karma: +1/-0
    • Profil megtekintése
    • RetroHW
Re:Memória bővítő
« Válasz #12 Dátum: 2013. Július 17. - 07:00:38 »
Újabb variációk:
Azt gondoltam, talán a vinyóról leszedett ram hibás lehet, ezért ráforrasztottam a fentebb említett BQ-t, mert az új. Ugyanúgy csíkozott a border, mintha nem is lenne ram benne. A következő variáció a 9-bites 1MB-os SIMM modul, amit szintén hiába kötöttem be, úgyanúgy csíkozik. Szkóppal nézve egy rövid ideig van -CAS jel, aztán semmi, csak a csíkozás a képernyőn.
Igaziból azt szűrtem le ebből, hogy a DI/DO összeközösítésénél lehet valami ütközés. Hiába kapuzom a 74LS244 engedélyezését a -RD, WR, a másik 244 engedélyezésének negáltjával, sehogy sem tudom müködésre bírni, tehát a kutya biztosan ebben van elásva. Amíg ez nem megy, addig semmit nem tudok előre lépni. Mindegy, tovább próbálkozom.
Valakinek esetleg volna ötlete mit bénázok el :)?

Közben olvasgattam néhány ram adatlapját, és rájöttem, hogy mindenféleképpen kell a latch a sorcímekre, mert a dramok tudnak page write-ot is, és a sorcím beléptetése után csak az oszlopcímet variálják. Ez alapjaiban rengeti meg az eredeti koncepciót :).
« Utoljára szerkesztve: 2013. Július 18. - 10:05:46 írta RetroHW »
Konfiguráció: TVC 64K Basic 1.2, SAA1099P, soros interfész, soros egér, +128K NVSRAM RTC-vel.

PeterGriffin1

  • Newbie
  • *
  • Hozzászólások: 17
  • Karma: +4/-0
    • Profil megtekintése
Re:Memória bővítő
« Válasz #13 Dátum: 2013. Július 18. - 13:13:29 »
Olvasgatva a témát, megpróbáltam utána járni, hogy is oldották meg a 64kbites DRAM-ok frissítését TVC-n. Tudvalevőleg a Z80-as csak 7 bites frissítési címet szolgáltat, az R regiszter legfelső bitje nem inkrementálódik a frissítési ciklus után. Ez 16Kbites RAM-oknál nem probléma, ott a RAM mátrix 7x7-es elrendezésű. A 64Kbites RAM-ok viszont 8x8-as mátrixot tartalmaznak. Vagyis 8 bites frissítési címet igényelnek. Honnan veszik ezt az extra bitet?
A kapcsolási rajzokon semmi nyoma sincs bármilyen kiegészítő áramkörnek, és a SW-ben sem láttam semmit, hogy az R regiszter legfelső bitjét pl. megszakítás alatt átállítanák. Továbbá a 64K+ -os gépeken a videó RAM is 64kbites IC-kből épül fel, és ott is csak a videó lapozó regiszter bitjeit multiplexálják rá a DA7-es lábakra.
Talán nem is dinamikus RAM-ok vannak a gépben? Valaki meg tudná nézni a 64Kbites RAM IC-k pontos típusjelzését?

Zozosoft

  • Newbie
  • *
  • Hozzászólások: 33
  • Karma: +2/-0
    • Profil megtekintése
Re:Memória bővítő
« Válasz #14 Dátum: 2013. Július 18. - 13:36:41 »
Ezen már én is törtem a fejem, EP-nél is ugyanez a helyzet, plusz 8. frissítő bitet akkor használunk amikor 41256-osokat rakunk be.

A megoldás a RAM IC-knél van, most éppen Mitsubishi M5K4164 leírását nézem, ebben azt írja, hogy "Each of 128 rows ( A0 ~ A6) of M5K4164 must be refreshed every 2ms".
A felépítésnél az látszik, hogy 4 db 64 rows x 256 columns tömbben vannak a bitek.
Samsung KM4164B nem ír erről részletesen, az időzítéseknél van ilyen sor: Refresh period (128 cycles)

Siemens HYB4164 viszont azt írja: each of 256 row addresses (A0 throught A7)
Azaz létezik olyan 4164 kompatibilis RAM aminek 8 bites frissités kell.