OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 19.04.2024, 07:40

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 10 ] 
Autor Zpráva
 Předmět příspěvku: Nové DivSD
PříspěvekNapsal: 18.10.2016, 18:59 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1614
Has thanked: 31 times
Been thanked: 357 times
Jeste se vratim k te (ne)kompatibilite DIVxxx s romkama u ruznych modelu ZX.
Klasicke stare DivIDE bylo navrzene tak, aby behalo se 48rom, proto ma napevno nastavene mapovaci body odpovidajici adresam rutin pouzitych jen a pouze ve 48romkach. Aby DivIDE mohlo plnohodnotne pouzivat nejaky system, je u jinych modelu ZX (ZX128,+2,+2A,+3) treba zajistit, aby se idealne hned po resetu nastavila 48rom a system se spusti v rezimu USR0 s nemoznosti pouzit 128basic,ramdisk,kalkulator,128menu a dalsi rozsirene moznosti 128romek. Nastesti vsechny modely ZX Spectra maji velice podobnou 48romku a rutiny na mapovacich adresach jsou shodne. Takze DivIDE muze behat na kazdem ZX modelu.
DivMMC vzniklo spojenim projektu ZXMMC a pameti DIVIDE rozsirene az na 512kB ram, rom ovsem zustala stejna = 8kB. Ve vysledku DivMMC prineslo oproti DivIDE jen moznost pouziti SD karty misto puvodniho IDE konektoru. A nekdo tam jeste prilepil i kempston joystick konektor. Cele roky se stale jen kopiruje mapovani stareho DivIDE a nic se nemeni, coz je trochu skoda.
Ja bych si predstavoval nove DivXXX asi nejak takto:
- pamet rekneme tech 512kB, at se s tim da neco poradneho delat. O vyuziti pameti bych se nebal...
- 2x SD slot. Ten druhy asi vetsina lidi vubec nevyuzije, ale zabere to jen male misto na desce, neni k tomu treba dalsi HW a ten konektor stoji par desetikorun. Takze proc ne.
- eeprom 8kB mi neprijde az tak dobre dostupna a cena asi take neni zadne terno. Za polovicni cenu uz sezeneme nejakou dostupnejsi 256 az 512kB flash epromku, ktera se navic tak snadno neda prepsat.
- mapovani pameti bych predelal uplne jinak, tak aby zde nebylo zadne omezeni. Misto pevne nastavenych mapovacich adres by si system v DivXXX sam nastavil na kterych adresach a ve ktere strance romky nastrankuje svou pamet, navic by se dalo jeste na libovolnych adresach nastavit jaka stranka pameti divide se pripoji(automaticky se nastrankuje) a jeste k tomu i zpusob namapovani pameti (ihned nebo se zpozdenim M1). Takovych podobnych reseni se zde da udelat hafo. Pocet mapovacich bodu by mohl byt nebyl take nijak omezeny. Na cele toto kouzlo by stacila jedna mala rychla sramka, ktera by mela v sobe tabulky mapovacich bodu o velikosti zx rom (klidne celych 64kB u +2A/+3).
- joy konektor bych ponechal
- rtc na desce take neuskodi

Vlastne jsem ted popsal cast meho nedokonceneho MULTIINTERFACE pro ZX, ktery je o hodne predimenzovany, ale dala by se postavit i odlehcena levnejsi verze. Nove DivXXX by melo na sobe CPLD,SRAM,FLASH EPROM,2x SD slot, JOY konektor, RTC, baterka. Jde ovsem o to, aby pamet sram byla dostatecne rychla(takze nejaka dostupna rychla 3.3V SMD).

A k cemu ze by to cele bylo ? Drtive vetsine lidi by stacio klasicke DivIDE ci DivMMC, ale tohle nove by znamenalo komfort a nove moznosti pro programatory a vyvojare. Programator by si nastavil krome klasickych mapovacich bodu treba i nove mapovani ve 128editor rom. Tak by se dalo prevzit kontrolu nad syntaxi 128 basicu ci +3 basicu, pouzivat jine mapovaci body kdyz je nastavena 48 rom a jine pro 128 rom, a u +2A/+3 jinou sadu mopovacich bodu pro kazdou ze ctyr romek. Tohle vsechno uz mam davno promyslene, jen by mi to z te hlavy nekdo musel dostat ven :-D

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: DivMMC-x2
PříspěvekNapsal: 25.10.2016, 22:43 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1614
Has thanked: 31 times
Been thanked: 357 times
Muj puvodne planovany multiinterface je uz dost slozity i co se osazovani tyce, navic mel 4vrstvy plosnak a na sobe haldu dalsiho HW. Hodne narvana deska. Mam tu jeste jeho odlehcenou verzi pro 2vrtvou desku a mirne upraveny pro osazeni az dvou pameti sram (az 2x 512kB) a jedne pameti flash eprom 512kB. Deska neni uplne dokreslena, ale po chvilkach na tom delam. Jedine co bude treba napsat je software pro flashovani epromky primo na ZX. Ve finale by to melo slapat tak jak jsem v predchozim prispevku uvedl. Navrzeno pro dostupne typy pameti (vse 3.3V), komplet oddelene od sbernice pomoci CPLD). Zatim tam mam misto na jeden SD slot, z druhe strany se da pridat jeste micro SD slot, ten misto nezabira. Chybi tam jeste RTC a baterie. Deska by mela byt timto tempem za par tydnu dokreslena (kazdy den na to cas neni).

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: DivMMC-x2
PříspěvekNapsal: 27.10.2016, 17:17 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1614
Has thanked: 31 times
Been thanked: 357 times
Super. Ted budu mit dostatek casu behem pristich 3 dnu. Takze... uvidime. Rozmer ale poleze diky pouhym dvema vrstvam az na 8x8 cm nebo tak nejak. Prave jsem upravil zapojeni pro moznost strankovani i po 4kB blocich. Pujde pouzit 4kB,8kB nebo 16kB paging. Pro kazdou adresu zx ram (full 128kB) i zx rom(az 64kB) lze nastavit podminku + reakci. Podminka bude treba stav procesoru jako treba: cteni bajtu z dane adresy, zapis bajtu na danou adresu, cteni instrukce z dane adresy,atd.. A reakce muze byt: vygeneruj NMI, odpoj zx rom a pripoj ihned externi pamet(a to klidne i s nastavenim libovolneho cisla stranky ram/rom), pripadne pripoji pamet jako v predchozim bode ale se zpozdenim o M1 cyklus ve stylu mapovani DivIDE. Strankovat by melo jit v oblasti spodnich 16kB misto ZX romky cokoli kdekoli, at uz v blocivh po 4kB/8kB ci 16kB a kazdy blok muze byt bud rom nebo ram ci ramka se zakazanym zapisem. Pro programatora tato periferie prinese nove moznosti a hratky s externi pameti bez omezeni. Deska ma dve pameti sram, ale data a cast adresove sbernice ma oddelne. Hlavni CPLD je dostatecne velke, aby zvladlo temer cokoli. Ted jeste musim vyhlednout nejake vhodne a dostupne SD sloty.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Nové DivSD
PříspěvekNapsal: 28.10.2016, 10:42 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1614
Has thanked: 31 times
Been thanked: 357 times
Busy píše:
Tak to by bolo skvele. Konecne by existovala nejaka dobra a dojstojna, SD karty namiesto diskiet pouzivajuca nahrada MB02 :)


MB02 rezim strankovani pameti davam vsude (v PROFI interface, v MEMFACE, externi MB02 memory modul, stare rozsireni pameti pro DIVIDE), takze se da predpokladat, ze i zde bude. Pouzil jsem ho vzdy kdyz bylo potreba sahnout na rezim allram se 16kB strankovanim nebo podstrkovat jine 16kB rom a nejcasteji asi pri flashovani romek primo na ZX. BS-DOS uz existuje upraveny pro praci s divide porty, melo by stacit nahradit IDE rutiny za SD driver (viz disass ESXDOSu nebo zdrojaky u projektu ZXMMC).

Do dvou rano jsem upravoval plosnak. Flash eprom 512kB v pouzdru PLCC32 jsem umistil do patice pro lepsi moznost vymeny. Sramky i romka jsou napajene 3.3V. S kazdym pridanym konektorem velikost plosnaku roste. Dnes bych mohl poslat nahled desky. Jeste predelam cast se stabilizatorem, clk, vymenim RTC72421 za miniaturni SPI RTC a poresim umisteni joystick konektoru, ktery se mi tam moc nechce vejit (leda zase zvetsit desku). Dale pribude nekolik signalu pro pouziti na SAM COUPE. Ma to nastavitelne mapovaci body, nic neni napevno, idealni pro pouziti i mimo ZX.

Flash eprom je 512kB typu 39VF040 se 4kB sektory pri programovani/mazani. Lze osadit i 39LF040/39LF020/39LF010/39VF020/39VF010. Proste vse co ma pinout kompatibilni a napajeni snese 3.3V.

Sramky jsou dve v pouzdru TSOP44-II a osadit lze 128kB,256kB nebo 512kB. Datovka 8bitova, napajeni 3.3V a pristupova doba 10,12,15 ns. Pomalejsi sram jsou uz 20,25 ci 55ns ale jejich pouzitim se moc usetrit neda, cena je kolikrat i vyssi.

_________________
http://velesoft.speccy.cz/


Naposledy upravil VELESOFT dne 28.10.2016, 11:16, celkově upraveno 1

Nahoru
 Profil  
 
 Předmět příspěvku: Re: Nové DivSD
PříspěvekNapsal: 28.10.2016, 11:16 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3661
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 795 times
VELESOFT píše:
MB02 rezim strankovani pameti davam vsude
Neslo mi ani tak o strankovanie MB02 (po celych 16kB), ako skor o to aby to vedelo v oknach strankovat pamet nezavisle - napr. ze v spodnych 8kB budem mat jednu cast ramky (s nejakym ovladacim programom) a hornych 8kB (2000-3FFF) si budem moct vediet strankovat celych 512kB (alebo kolko to bude mat), aby dany ovladaci program mal pristup k uplne celej ramke. Co som pozeral popis k PI tak ten ma styri strankovacie rezimy - ziadny, divide, MB02, trdos. V rezime divide sice strankuje po 8kB, ale ak si dole zapnem nejakych 8kB tak hore sa dostanem len k trom dalsim 8kB blokom, ale nie k celej ramke. A toto tu moju predstavu o strankovani nesplna.

Uz som to viackrat pisal, ale pripomeniem - strankovanie 2x 8kB je z hladiska operacneho systemu ovela lepsie, nez naraz po celych 16kB. Dnes by som MB02 ucrite navrhol s takymto 2x8kB strankovanim. Ale v roku 1989, ked som si k ZX staval externu ramku, tak som v zaujme co najednoduchsieho HW urobil strankovanie iba po celych 16kB. A vsetky ostatne projekty (vratane MB01, MB02) to potom v ramci spetnej kompatibility (a softweroveho "riesenie existuje") proste zdedili.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Nové DivSD
PříspěvekNapsal: 28.10.2016, 11:43 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1614
Has thanked: 31 times
Been thanked: 357 times
16kB strankovani neni zrovna to nejpohodlnejsi pokud zde lezi system, ktery navic pouziva jeste vlastni zasobnik a musi pak odtrankovat sam sebe.

8kB + 8kB ve pro programatora uz pohodlnejsi. Bohuzel bezne divide ma dole napevno romku (pripadne stranku ram3 ale se zakazanym zapisem) a strankuje se jen hodnich 8kB. Tady ale opet dochazi ke stejnemu problemu. System (pokud ma lezet cely v externi pameti mimo zx ram) musi mit zasobnim nekde ve strankovatelne 8kB horni ramce, jenze prave tato pamet se strankuje. Takze zase dojde minimalne k odstrankovani vlastniho zasobniku. Tim padem nam 8kB+8kB layout s pevnym obsahem spodnich 8kB neprinese nic extra. Bez problemu se da u 16kB strankovani na MB02+ napodobit 8kB+8kB layout ve stylu divide/divmmc. Jako dukaz jsem kdysi prece portoval DEMFIR a FATWARE pro MB02+ ramku a behalo to. Jasne ze MB02+ nema automaticke mapovani, ale i to se dalo vyresit. Ale zpet k tomu rozdeleni pameti. 8kB+8kB rozlozeni ma vetsi smysl jen pokud bude mozne bez omezeni strankovat jakoukoli pamet v jakemkoli 8kB bloku. I zde ale dojdeme brzy k zaveru, ze by bylo lepsi mit pamet rozdelenou na jeste mensi bloky treba 4kB. Autor ESXDOSu take resil problem se zasobnikem, ale i 4kB cleneni by nepomohlo. Zasobnik byl nekde na konci 8kB bloku (myslim, ze posledni 1kB ze spodnich 16kB adresoveho prostoru) a idealni by bylo tento 1kB usek nechat neodstrankovatelny. Vzniklo by rozlozeni 8kB + 7kB + pevnych 1kB. 4kB je pro pouhy zasobnik zbytecne zabirani mista.

Deleni na 2kB bloky mi uz prijde zbytecne, vetsina kodu by stejne byla na pevnem miste a strankuje se jen mensi potrebna cast.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Nové DivSD
PříspěvekNapsal: 28.10.2016, 12:08 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3661
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 795 times
VELESOFT píše:
Tim padem nam 8kB+8kB layout s pevnym obsahem spodnich 8kB neprinese nic extra.
Samozrejme myslel som to tak ze v lubovolnom (8k, 4k...) okne si mozes nastrankovat lubovolny kus ramky. S umiestnenim finalneho systemu do (flash)romky ani neuvazujem. V romke by mal byt iba nejaky zakladny zavadzac ktory do ramky natiahne system, romka sa odstrankuje prec a uz sa nepouziva.

Zase na druhej strane, nutnost mat nejaky 1kB niekde osobitne strankovany (pre zasobnik) nevidim ako az taku nutnost. V lepsom pripade by uplne by postacilo strankovanie aj po 4kB - a v jednej 4kB banke mozu okrem zasobnika byt aj ine udaje, ktore je vhodne mat stale k dispozicii (a ze takych je dost, vie kazdy kto si skusil niekedy spravit OS :) )


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Nové DivSD
PříspěvekNapsal: 28.10.2016, 12:32 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3661
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 795 times
SCjoe píše:
Busy píše:
v zaujme co najednoduchsieho HW urobil strankovanie iba po celych 16kB
Ha, diky za vysvetleni, to mi doted vrtalo hlavou, jaktoze MBcko ne po 8k.
Ja si oblibu 16k vysvetloval dle zxs128, a ze k nam vubec nedorazily ty drahe Disciple a taky Multifacy, jejichz 8k se casto vyuzivaly/upravovaly k hackovani.
V tych rokoch sme o CPLD / FPGA ani nesnivali, o GALoch este nebolo know-how, takze vsetko sa robilo poctivo logickymi hradlami TTL alebo diodami :) Disciple a multiface som uz vtedy poznal (Rumatisoft mal +D a Graf mal mutliface) ale pre svoju externu ramku som chcel zachovat logiku co najjednoduchsiu a v duchu filozofie ZX - nerobit hardwerom to co da urobit softwerom. Navyse uplne prvy ucel externej ramky namiesto romky bola moznost pouzivat modifikovane romky, alebo mat v pameti nejaky monitor (na tento ucel som si prerobil moj SMM), alebo mat tam rovno cele MRS - toto vsetko su veci ktore sa kazda vojde do 16kB. Ze raz na tom pobezi nejaky operacny system obsluhujuci diskety, ma vtedy vobec nenapadlo :shrug:


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Nové DivSD
PříspěvekNapsal: 29.10.2016, 23:11 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1614
Has thanked: 31 times
Been thanked: 357 times
Dalsi novinka: resil jsem jak zabit dve mouchy jednou ranou, tedy jak udelat jedinou desku pouzitelnou pro ZX i pro SAM COUPE. A nakonec to dopadlo tak, ze jsem na desce nahradil puvodni dvouradou pinovou listu 2x28 pinu(pro ZX konektor) za 3x32 pinu. Horni dve rady poslouzi pro ZX konektor a pri pouziti u SAM COUPE se osadi eurokonektor do horni a spodni rady pinu. Firmware pro CPLD bude muset byt jiny kvuli rozdilnemu pinoutu na obou pocitacich, ale deska bude stale jen jedna.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Nové DivSD
PříspěvekNapsal: 19.11.2016, 11:47 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1614
Has thanked: 31 times
Been thanked: 357 times
Prozatim posilam nahled, jak to ted vypada. Desku jsem musel z vetsi casti prekreslit a soucastky jsem premistil. Neni jeste dodelane napajeni a par veci kolem. Na obrazku vidite pohled na desku ze zadni strany (jako kdyz je pripojena nastojato do ZX). Aby slo desku pripojit nalezato, musela by se osadit zahnuta pinova lista a na ni napajet systemovy konektor. Pak by ale byl joystick konektor osazeny na spodni strane. Ve skutecnosti pujde joy konektor osadit i z druhe strany, takze lezata verze by mohla mit normalne joy konektor nahore a klidne nezhnuty. Pinout joy konektoru pri osazeni z druhe strany logicky nebude souhlasit, ale to pujde vyresit nejakym jumperem a propojkama kvuli napajecim pinum.


Přílohy:
ScreenShot_(12).png
ScreenShot_(12).png [ 153.48 KiB | Zobrazeno 7802 krát ]

_________________
http://velesoft.speccy.cz/
Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 10 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 10 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz