OldComp.cz

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


Právě je 29.03.2024, 00:01

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: SAM Coupé a periferie ze ZX Spectra
PříspěvekNapsal: 10.01.2014, 00:54 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1612
Has thanked: 31 times
Been thanked: 357 times
Mozna jsem to tu uz psal, ci naznacil, ze k SAM COUPE lze pripojit i nektere periferie ze ZX Spectra. SAM ma na sbernici temer stejne signaly jako ZX, ale bohuzel (nebo spis nastesi) ma jiny systemovy konektor. Tento konektor je ale daleko kvalitnejsi a stabilnejsi, nez ten otresny spektracky. Da se pripojit jednoducha redukce, zajistujici spravne propojeni (zprehazeni) kontaktu tak, aby na druhe strane byl ZX konektor se spravnym pinoutem. S tim jsem si hral uz pred lety:
http://velesoft.speccy.cz/samcoupe/sam-zxbus/zxbus-convertor-old.jpg
Jde ale o pouhou redukci, ktera jen zajisti moznost pripojeni ZX periferii. Ovsem tady je treba davat pozor co chceme/muzeme pripojit. Zamerit se musime na rozdily mezi SAM COUPE a ZX. SAM COUPE ma stejne porty jako ZX, jenze s uplnou 8bitovou adresaci. Konkretne porty 254(border port/klavesnice/kazetak/speakek) a 255(atributovy port). Jenze je zde rada dalsich portu, roznez 8bitovych a plne dekodovanych. ZX periferie bohuzel velice casto maji velice neuplne dekodovani adres a interface pak reaguje i pri praci s jinym portem nebo skupinou portu. Nektere z techto periferii vyzaduji HW zasah do periferie = dodatecne zuplneni adresace portu. Jine periferie se daji pripojit bez uprav. Pak tu je jeste jeden problem a tim je zavislost ZX periferie na pritomnosti ZX rom. SAM COUPE pouziva po startu vlastni rom s jinym basicem a je nekompatibilni se ZX48rom. Az po prepnuti do allram rezimu si SAM muze do spodnich 16kB adresoveho prostoru natahnout libovolnou ZX romku a periferie pripojena k redukci SAM>ZX BUS tak uvidi pamet stejne jako na ZX. Konkretne treba DIVIDE ci D40. V allram rezimu je sice u SAMa v oblasti 0-16383 sice viditelna ZX rom, ale ve skutecnosti je zde ramka, ktera se neda odpojit signalem ROMCS ze ZX sbernice. Proste a jednoduse SAM ignoruje signal ROMCS, pokud je nastaveny allram rezim. ZX periferie ale nema nejmensi tuseni, ze dole neni ZX romka, ale jen ramka(s aktivovanym write protectem) a bude se snazit pomoci ROMCS zablokovat romku pocitace a zaroven pripoji na sbernici externi rom ci ram. Jenze SAM ma celou pamet ram kompletne od sbernice oddelenou pomoci odporu 470 Ohmu (stejne jako videoram u ZX) a to znamena, ze interni ramka nebude kolidovat a jeji data muze externi periferie kdykoli pretlacit. Ve vysledku pak ZX periferie muze pripojit vlastni rom/ram kdykoli chce.

Ted uz se zda, ze sbernice se vyresit da, problem se ZX rom je vyresen, ale to nejslozitejsi az nakonec. Jde o to, ze ZX periferie, ktera pouziva vlastni rom, by nemela byt funkcni dokud nenastavice v SAM COUPE vhodnou ZX romku(prepnuti do ZX modu). Jednoduse receno - idealni by bylo, kdyby SAM>ZX BUS redukce mela navic i softwarovy vypinac, pomoci ktereho by si uzivatel u SAMa mohl kdykoli jednim OUTem zakazat ci povolit pripojenou ZX periferii (pro vypnuti by stacilo na ZX sbernici zablokovat MREQ,IORQ a odpojit externi ROMCS). Jenze tento stav ZX rezimu je aktivni jen do doby stisku resetu, kdy SAM opet nastartuje s vlastni romkou. Reset by mel tedy take odpojit ZX periferii. A dalsi moznosti je vymenit ROMku pocitace SAM COUPE za nejakou vetsi a prepinat se mezi SAM ROM a ZX ROM. Pri startu s pripojenou ZX romkou je akorat treba nastavit nekolik SAMackych portu, aby sedela ZX paleta barev, rozlozeni pameti a videorezim. Pak uz muze externi periferie rovnou pripinat vlastni rom pamet a bude fungovat i reset(skoci opet do ZX rom = ZX reset do basicu). Cele toto reseni se da realizovat i externe, napriklad u planovaneho MULTIINTERFACE.

Ono vypinani ZX periferii by mela umet zajistit tato redukce:
http://velesoft.speccy.cz/samcoupe/sam-zxbus/sam-zxbus-brd.png
Je to ale jen projekt, nenapsal jsem pro to zatim firmware do CPLD a nemam ani plosne spoje. Urcite to nekdy dotahnu...

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SAMCOUPE a periferie ze ZX
PříspěvekNapsal: 10.01.2014, 17:29 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1612
Has thanked: 31 times
Been thanked: 357 times
SCjoe píše:
Nebylo to mozne predvidat ve firmware Multiinterface a nejakym jumperem?
MIF uz v sobe bude mit MultiROM.
Pokud by MIF byl nastojato a mel pruchozi konektor a par pinu navic, tak uz je treba jen redukce?


Ano, multiinterface si s timhle take muze poradit. Za nim by byla uz jen ta redukce jak rikas. Sakra, ono je pul pate, zase nestiham vyzvednout zbozi v GME :-(

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SAMCOUPE a periferie ze ZX
PříspěvekNapsal: 11.01.2014, 01:28 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1612
Has thanked: 31 times
Been thanked: 357 times
SCjoe píše:
Pujde nejak v MIFu prednastavit, do ceho skocit po resetu?
Tedy alespon jakou romku?
Pripadne nejaky setup, ktere periferie chci mit pripojene.
Ale to si jen tak vymyslim, stacila by urcite jen ta romka a par jumperu na desce.


No, MIF by mel zvladat prakticky cokoli. Ano, klidne muzu udelat nastavitelnou romku po resetu.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
PříspěvekNapsal: 20.04.2022, 09:23 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1612
Has thanked: 31 times
Been thanked: 357 times
Mam ve vyrobe nove desky redukce SAM to ZX BUS. Nakreslil jsem to komplet znovu. Nove je tam invertovany signal CLK tak jak to ma ZX. Pridano tlacitko reset i NMI. NMI se spina proti signalu HALT, takze se aktivuje jen v dobe, kdy cpu primo ceka na preruseni a ma volny zasobnik. ZX sbernice je tam jednou horizontalne a jednou vertikalne kde se da osadit treba jen pinova lista. Deska je pripravena na dalsi pridavnou horni desku, kde se pocita s filtraci portu. Tedy jednoduchy dekoder adres, ktery pro ZX periferie zneviditelni porty, ktere pouziva SAM COUPE. Deska ma 10x5 cm, barva cervena.


Přílohy:
samtozx4(1).png
samtozx4(1).png [ 84.49 KiB | Zobrazeno 4849 krát ]
samtozx4.png
samtozx4.png [ 112.78 KiB | Zobrazeno 4849 krát ]

_________________
http://velesoft.speccy.cz/
Nahoru
 Profil  
 
PříspěvekNapsal: 02.05.2022, 15:58 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1612
Has thanked: 31 times
Been thanked: 357 times
Zakladni deska pro redukci na zx bus je uz v CR. Funguje vsak jen jako hola redukce a neresi zadne kolize mezi zx periferiema a sam porty. Je vsak pripravena k tomu, aby v budoucnu bylo mozne pripojit stejne velkou druhou desku, tedy bude to mit 2 patra. Druha deska ma mit za ukol napriklad filtrovani adres portu nebo muze obsahovat prakticky cokoli, pripadne to muze byt redukce na dalsi sbernice. No a ja si dal tu praci a navrhnul jsem uz rovnou i tuto druhou pridavnou desku. Takze si k ni neco rekneme.
Bude stejne velka jako hlavni deska redukce, jen pripevnena pomoci dvourade pinove listy a distancnich sloupku.
Je komplet postavena z obvodu 74xx, takze neobsahuje zadne hradlove pole ani gal. Funguje jako filtr adres portu. Kdyz cpu bude zapisovat na SAM porty, zx periferie vubec nepozna ze cpu s porty pracuje. Budou primo pristupne pouze porty nesamacke. Jasne ze spoustu zx periferii sedi na stejnych portech, ktere uz pouziva sam, tak v tomto pripade se jejich adresa zmeni a bude pristupna na jine adrese ale periferie to vubec nepozna. Deska obsahuje jeste novy port, na kterem lze zablokovat zx periferiim pouzivani pameti, tedy ani nemohou vypnout sam romku, i kdyby periferie drzela romcs stabilne v log.1. Na portu je i bit LOCK pro uzamceni stavu portu a je tam mozne pristup k pameti pro zx periferie trvale zapnout ci vypnout, ignoruje to resetovani. Pro moznost manualniho odemceni portu je na desce schovane zadni tlacitko. Takze zx periferie, ktere normalne na sam coupe nebezi bude mozne pripojit, ale budou pracovat na jinych portech. Takze staci prepsat adresy portu pro obsluzny software. Jo a jeste pro informaci ta druha horni deska obsahuje stejnou pruchozi horizontalni zx sbernici jako ta spodni.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
PříspěvekNapsal: 26.06.2022, 19:38 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1612
Has thanked: 31 times
Been thanked: 357 times
Uz mi beha pripojede Divide i Divmmc. Takze neni problem si kdykoli zavolat nejakou sluzbu esxdosu a nahravat tak primo soubory z karty do sama. Nebo se prepinat mezi zx a sam mody. Spoji se vsechny vyhody Divide/Divmmc i SAM Coupe. Rychlejsi cpu, lepsi grafika, vetsi pamet + systemy na divide/divmmc, velka pamet divmmc ram s moznosti mapovani v dolnich 16kB a to i kdyz zrovna sam pouziva allram. Dokonce pri namapovane pameti divxxx lze jednim outem jednoduse prepinat rychlost pameti rom mezi full 6MHz nebo cca 4.x MHz waitovanych. Dokonce je mozne i prepinat dve ruzne vlastni ramky 16kB jen ve spodnich 16kB, tedy podobne jako u zx128 rom. Dale by stalo za uvahu upravit BDOS, aby fungoval s divmmc ci divide porty. Oboji je rychlejsi nez ATOM. U divide portu by slo jeste vyuzit kombinaci s DMA...

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
PříspěvekNapsal: 11.02.2023, 05:08 
Offline
Kecka

Registrován: 29.11.2021, 03:10
Příspěvky: 57
Has thanked: 36 times
Been thanked: 12 times
Vysvětli prosím, proč je Atom pomalejší.


Nahoru
 Profil  
 
PříspěvekNapsal: 11.02.2023, 10:55 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1612
Has thanked: 31 times
Been thanked: 357 times
Co si pamatuju, tak Atom ma zprehazene poradi cteni bajtu. Tedy nelze jen tak jednoduse cist blok dat do pocitace, ale musis v prubehu cteni vzdy bajty prohazovat. Jo a 16bit data musis cist jako dva bajty z ruznych portu. Zatimco treba u Divide mas jen jeden data port, o nic se nestaras a ctes bajt za bajtem ve spravnem poradi.

_________________
http://velesoft.speccy.cz/


Naposledy upravil VELESOFT dne 11.02.2023, 11:11, celkově upraveno 1

Nahoru
 Profil  
 
PříspěvekNapsal: 11.02.2023, 11:02 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1612
Has thanked: 31 times
Been thanked: 357 times
Tady je nejake info co jsem tehdy sepsal:

How work original 16bit ATOM IDE interface:

use only three ports:
- port #F6 for read/write high byte for 16bit ide data
- port #F7 for read/write low byte for 16bit ide data
- port #F5 controll port (only writeable)

Ide interface work in 16bit data mode and ATOM interface must convert between
8bit(byte) Z80 data bus and 16bit(word) IDE data bus.



Info about writing data to IDE:

1)As first write data to port #F6 = write high byte of 16bit word to latch.
2)As next step write data to port #F7 = atom hdd interface automatically make
16bit word and send it to IDE (this byte send to IDE data 0-7 + last writed
value from port #F6 to IDE data 8-15)

additional info:
Each writing to port #F7 automatically join low+high byte and send this 16bit
word to ide data bus. If high byte is not writed to port #F6 before writing data
to this port #F7, then ATOM use last writed value from port #F6.
For example if I write in any time byte #AA to port #F6 and as next
instrustions I use 3x OUT #F7,#BB then ATOM write to IDE data bus three words
#AABB,#AABB,#AABB....
Is possible write repeatedly more different bytes to port #F7, ATOM will accept
only last writed value.



Info about reading IDE data:

1)As first read data from port #F6 = ATOM yet read 16bit ide data and high byte
of 16bit word send to Z80CPU data bus. Low byte of of 16bit ide data are
automatically latched (will readable on port #F7)
2)As next step read data to port #F7 = read low byte of 16bit ide data(word).

additional info:
Each reading from port #F6 automatically read full 16bit word from ide data bus
and retun to Z80 data bus only high byte. Each reading from port #F6 change
low byte data value for later reading of port #F7.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
PříspěvekNapsal: 13.02.2023, 00:23 
Offline
Kecka

Registrován: 29.11.2021, 03:10
Příspěvky: 57
Has thanked: 36 times
Been thanked: 12 times
No to jo, to máš pravdu, ale tak ono se v praxi spíš používá to Atom Lite, kde tento problém není. Protože to celé jede osmibitově. Zařízení Atom Lite tedy není pomalé? jakmile zahájíš přenos dat, tak pak už čteš či zapisuješ pořád stejný port, jede to 8bitově. Akorát já jako ne úplně zkušený hardwarář nevím, jestli to, že ta sběrnice ATA je tam oddělená od sběrnice počítače, taky nějak ovlivňuje tu rychlost, a nebo ten překlad adres (jak to laicky nazývám) je tak rychlý, že to stíhá bez nějakého pozastavování CPU nebo tak něco.

Mám na mysli, že ATA zařízení používá 8+2=10 I/O portů ale místo aby bylo namapováno přímo na 10 I/O portů Sam Coupé, tak Atom má nějaký adresový a datový port, takže celé ATA zařízení se ovládá pomocí pouze 2 I/O portů Sam Coupé. Což jim určitě ušetřilo práci s dekódováním adresy, ale jinak to je podle mě celkem jedinec s IQ 60 řešení. (V předchozí větě velký bratr změnil můj text na něco, co se mu asi zdá méně urážlivé... to miluju! :roll: )

Pojmem "překlad adres" v prvním odstavci mám na mysli to, že když udělám IN instrukci čtení toho datového portu, tak Atom Lite nastaví hodnoty na adresové sběrnici ATA ne podle hodnot na adresové sběrnici CPU, ale dá tam to, co má ve svém pomocném registru. Pak dál už se to děje normálně, že jo, čeká se na odpověď zařízení a datová sběrnice je normálně spojená mezi CPU a ATA dohromady.


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 4 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