OldComp.cz

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


Právě je 25.04.2024, 04:09

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 45 ]  Přejít na stránku Předchozí  1, 2, 3  Další
Autor Zpráva
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 21.06.2020, 20:11 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 903
Has thanked: 51 times
Been thanked: 230 times
pcmaker píše:
Máš na mysli toto?

Nie, toto nie programovateľný. Mal tam 2x2114 RAM.
Podobné ako tento dkTronic
Obrázek
M1


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 22.06.2020, 13:33 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 903
Has thanked: 51 times
Been thanked: 230 times
Doda píše:
Odkud to je? Kde je obsah GALu?

Začal som písať rovnice pre GAL, až potom som si spomenul, že v Complex mode je možných len 16 vstupov, a kvôli "open collector" výstupom ich potrebujem 17.
Riešením je zvoliť iné pole, alebo miesto rotačného prepínača použiť 4 nezávislé switche, ich kombináciou by sa dalo dosiahnuť nastavenie daného ovládača. Alebo použiť na výstupoch D0-D4 diody a neriešiť "open collector" na GALe. Ale ak sa najde niekto, kto by sa na to pozrel inou optikou (v GALoch nie som celkom doma), poskytnem podklady.
M.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 22.06.2020, 14:37 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 903
Has thanked: 51 times
Been thanked: 230 times
A ešte pár záberov z dkTronics programmable joystick i/f, keďže na nete je ich skromne, tak som rozobral môj.
Ten neznámy japonský čip by mal byť 2048x8 RAM (g00gle nenašiel).
74LS10 slúži ako binárny enkóder, a 74LS138 ako dekóder portu A0(A6).
Diody na výstupoch 11 a 12 sú nakreslené naopak+dalsie chyby v scheme.
Nešťastne sú zvolené vstupy A1, A2, A3, A5, A7, cez ktoré sa programuje interfejs (vtedy asi A6=0) softvérovo - boli zvolené zjavne pre jednoduchosť zapojenia - to bude kolízií.
M1


Přílohy:
dkTronics_pcb.jpg
dkTronics_pcb.jpg [ 38.47 KiB | Zobrazeno 6709 krát ]
dkTronics.jpg
dkTronics.jpg [ 19.77 KiB | Zobrazeno 6709 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 22.06.2020, 18:52 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 12.05.2013, 21:39
Příspěvky: 1980
Bydliště: Praha
Has thanked: 85 times
Been thanked: 255 times
Tak tam dej vetsi GAL, treba GAL22V10


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 22.06.2020, 20:10 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 530
Bydliště: Košice
Has thanked: 430 times
Been thanked: 265 times
Transformoval som vyššie zmienenú ideu do GAL20V8, napísal rovnice a preložil. Do GAL22V10 by to samozrejme šlo tiež.
NETESTOVANÉ!


Přílohy:
ZXJoySwitch.png
ZXJoySwitch.png [ 15.7 KiB | Zobrazeno 6672 krát ]
ZXSJoySw.zip [17.9 KiB]
359 krát

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 22.06.2020, 21:31 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 530
Bydliště: Košice
Has thanked: 430 times
Been thanked: 265 times
Martin1 píše:
rombor píše:
Transformoval som vyššie zmienenú ideu do GAL20V8, napísal rovnice a preložil.
Super, rovnice ako by si mi z pera ukradol, akurát ten OE som riešil inak, aby šiel dole len ten Dx, ktorý musí.
Kód:
D0.oe  = /DO
GAL20V8 má iba jeden spoločný term pre /OE pre všekty OLMC. Takže toto by na ňom nešlo.
GAL22V10 už má pre každú OLMC osobitný term pre /OE, takže tu by tvoje riešenie zrejme fungovalo.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 22.06.2020, 21:49 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 903
Has thanked: 51 times
Been thanked: 230 times
rombor píše:
GAL20V8 má iba jeden spoločný term pre /OE pre všekty OLMC. Takže toto by na ňom nešlo.
GAL22V10 už má pre každú OLMC osobitný term pre /OE, takže tu by tvoje riešenie zrejme fungovalo.

Robil som len s GAL16v8, ostatné nepoznám.
A ešte som sa lepšie pozrel na tie rovnice
Kód:
/D0     = /X1 * /X0 * /A11 * A12 * /A0 * /IORQ * /LEFT             ; Sinclar 1 (1)
       + /X1 *  X0 * A11 * /A12 * /A0 * /IORQ * /FIRE              ; Sinclar 2 (0)
       +  X1 * /X0 * A11 * /A12 * /A0 * /IORQ * /FIRE              ; Cursor    (0)
       +  X1 *  X0 * /A7 * /A6 * /A5 * A0 * /IORQ * RIGHT          ; Kepston   (Right)
D0.OE   = D0


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 22.06.2020, 22:18 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 530
Bydliště: Košice
Has thanked: 430 times
Been thanked: 265 times
Martin1 píše:
A ešte som sa lepšie pozrel na tie rovnice
Kód:
/D0     = /X1 * /X0 * /A11 * A12 * /A0 * /IORQ * /LEFT             ; Sinclar 1 (1)
       + /X1 *  X0 * A11 * /A12 * /A0 * /IORQ * /FIRE              ; Sinclar 2 (0)
       +  X1 * /X0 * A11 * /A12 * /A0 * /IORQ * /FIRE              ; Cursor    (0)
       +  X1 *  X0 * /A7 * /A6 * /A5 * A0 * /IORQ * RIGHT          ; Kepston   (Right)
D0.OE   = D0
Tá pridaná A12 je síce principiálne korektne, ale vo výsledku to zamedzí použitie Joysticku napr. pri čakaní na akýkoľvek kláves - xor a : in a,(254).

Invertovaná /D0 na začiatku rovnice nie je potrebná, pokiaľ je signál ako invertovaný zadefinovaný v definícii pinov, čo moje riešenie spĺňa.
Robím to tak stále, teda, že v definícii pinov sú signály zadefinované v takej "polarite", ako je chápaná ich aktívna hodnota.
V rovniciach sa potom používa tzv. "pozitívna" logika, kedy sa na signály pozerá tak, akoby boli aktívne v H.
Pripúšťam, že tu som sa v prípade dátových signálov trochu odklonil od mojej konvencie, keďže tie typicky nie sú "aktívne v L", ale v aktuálnom prípade to tak v podstate je.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 23.06.2020, 00:56 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2094
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 327 times
V prvom riadku by som vynechal A12 a v druhom a treťom A11... ;)

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 23.06.2020, 15:09 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 903
Has thanked: 51 times
Been thanked: 230 times
rombor píše:
Pripúšťam, že tu som sa v prípade dátových signálov trochu odklonil od mojej konvencie, keďže tie typicky nie sú "aktívne v L", ale v aktuálnom prípade to tak v podstate je.

Az na Kempston, ten je aktivny v H (jestli se nepletu).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 23.06.2020, 16:25 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2094
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 327 times
Ešte presnejšie: Kempston má na celý port 31 posielať stav, aktívne je H, neaktívne a nevyužité bity sú L. Takže treba zapojiť všetkých 8 bitov. Sinclair a Cursor má posielať iba aktívny stav L, inak na zvyšok portu nesiahať.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 23.06.2020, 18:00 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 530
Bydliště: Košice
Has thanked: 430 times
Been thanked: 265 times
PotPalo píše:
Ešte presnejšie: Kempston má na celý port 31 posielať stav, aktívne je H, neaktívne a nevyužité bity sú L. Takže treba zapojiť všetkých 8 bitov. Sinclair a Cursor má posielať iba aktívny stav L, inak na zvyšok portu nesiahať.
Tak na obsiahnutie všetkých 8 bitov pre Kempston Joystick už v GALe miesto nie je. Už by tam musel byť nejaký extra budič/oddeľovač, a tým to zapojenie oberie o tú jednoduchosť. V konečnom dôsledku, pôvodne sa malo jednať o Sinclair Joystick a to by malo fungovať správne.
Druhá vec je tá, že maskovanie len tých 5-ich bitov pri čítaní stavu Joysticku by malo byť "povinnosťou" a hádam to drvivá väčšina hier/programov dodržuje. Dovolím si citovať z Wikipédie.
Citace:
Kempston joystick je připojen na bity 0 - 4 portu 31 a při testování stavu joysticku by mělo být testováto pouze těchto pět bitů, neboť stav ostatních bitů není definován a tyto bity mohou nabývat jak logické nuly tak logické jedničky. Někteří výrobci periférií pro ZX Spectrum na tyto nevyužité bity připojovali signály jiných zařízení obsažených v periférii

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 23.06.2020, 20:11 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 903
Has thanked: 51 times
Been thanked: 230 times
rombor píše:
Tak na obsiahnutie všetkých 8 bitov pre Kempston Joystick už v GALe miesto nie je. Už by tam musel byť nejaký extra budič/oddeľovač, a tým to zapojenie oberie o tú jednoduchosť. V konečnom dôsledku, pôvodne sa malo jednať o Sinclair Joystick a to by malo fungovať správne.

Kľudne ber, že sa má o to starať program. Videl som Kempstony, čo mali iba 6-bitový budič. Maskovanie, resp. čítanie len vybraných bitov robí drvivá väčšina programov. Rovnako, prakticky asi stačí prenášať len log.0 na zbernicu, pričom log.1 zabezpečia interné pull-up-y. Je tam síce možnosť, že sa do toho primieša log.0 z ULA pri čítaní VideoRAM, ale štatisticky je to asi zanedbateľné. Lebo keby sa mal riešiť OE inak pre port FE a inak pre port 1F, tak sa už musíš poobzerať po väčšom PLA.
M1


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 23.06.2020, 20:29 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2094
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 327 times
Nezapojený Kempston na Didaktiku M dáva náhodný byt z oblasti obrazovky (využil som to ako test či je pripojený...). Takže na nejaké pull-up v Spectre sa spoliehať nedá, akoby neboli. Nevyužité bity sa priamo nepoužívajú, ale môžu byť testované či je prítomný Joystick. Program totiž môže použivať aj test, či IN 31 = 0, ak nie, nieje Kempston pripojený (ruch na zbernici, alebo iné zariadenie). Posledne som niečo podobné zaznamenal v hre Penetrator. Pokiaľ na Kempston nesiaham, dá sa s ním potom ovládať v hre. Pokiaľ naň siaham, hra ho odpojí a v hre nereaguje. Či to ale testuje iba bity 0 až 4 alebo všetky, to som neskúmal.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Sinclair Joystick
PříspěvekNapsal: 23.06.2020, 21:07 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 903
Has thanked: 51 times
Been thanked: 230 times
Tak potom mám v rukáve už len tento interfejs (ja osobne používam iba tento). Nie je až taký jednoduchý, ale replika by šla spraviť (aj keď Doda chce niečo jednoduché). Vie Kempston, Cursor, Sincalir 1, Sinclair 2.
M1


Přílohy:
4joys.jpg
4joys.jpg [ 37.97 KiB | Zobrazeno 6264 krát ]
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ů: 45 ]  Přejít na stránku Předchozí  1, 2, 3  Další

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