OldComp.cz

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


Právě je 29.03.2024, 01:25

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 
Autor Zpráva
 Předmět příspěvku: Ako na Kempston
PříspěvekNapsal: 30.03.2023, 19:04 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 898
Has thanked: 51 times
Been thanked: 230 times
Prerábam jednu obľúbenú 16k hru z mladosti, aby mohla bežať z ROM cartridge. Pri tej príležitosti som tam chcel doplniť ovládanie cez Kempston joystick. Keďže nemôžem do nej robiť veľké zásahy, chcel som len doplniť rutinu vstupu z klávesnice o čítanie portu 31. Lenže...
... postava skákala o 106, následne mi došlo, že pri nepripojenom Kempston interfejse sa vyčítavajú dáta z video zbernice.
Napadlo mi teda riešenie, urobiť pred spustením hry 1 sekundový sken portu, ak sa hodnota nebude meniť, mohlo by to znamenať, že je Kempston pripojený.
V opačnom prípade ho ignorovať.
Nechcem však vymýšľať niečo možno dávno vymyslené, tak ak je nejaké "best practices", fungujúce na všetkých typoch ZXS, budem rád, keď sa s tým podelíte.
Pamätám si inú hru, kde sa nikde nevolil joystick, a predsa ním šlo hru hrať...
M1
P. S. druhá možnosť je joystick neriešiť vôbec.....


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ako na Kempston
PříspěvekNapsal: 30.03.2023, 19:26 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 12.05.2013, 19:23
Příspěvky: 1910
Bydliště: Vsetín
Has thanked: 517 times
Been thanked: 812 times
Jelikoz Sinclair 2 interface obsahoval porty pro Sinclair joysticky, tak 16kB ROM hry podporovaly tento typ joysticku. Sorry za OT

_________________
cs.speccy.cz, ondraspo186.8u.cz, zx-spectrum.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ako na Kempston
PříspěvekNapsal: 30.03.2023, 19:54 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Na temu autodetekcie kempston joysticku tu davnejsie prebehla celkom dobra diskusia.
Vo vseobecnosti neexistuje spolahlivy a nepriestrelny sposob autodetekcie joysticku. Na jednom pocitaci cez port 31 presakuju data z videoramky, na inom je tam pripojena 8255 a nikto nevie ake periferie su pripojene na porte A a ci ta periferia (ne)meni stav.

Sposob so sekundovym skenovanim portu (podla mna by stacilo aj jedno-dve prerusenia) ma velmi dobry pomer uspesnost/zlozitost, takze pre taketo pripady s obmedzenymi moznostami implementacie ho urcite doporucujem. Ale treba pri nom mysliet aj na to ze port 31 sa pouziva nielen pre kempston ale aj pre ine veci a moze pri niektorych pocitacoch/periferiach vracat same nuly, takze popri zapnuti ovladania pomocou kempstonu by stale malo byt funkcne ovladanie hry klavesnicou.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ako na Kempston
PříspěvekNapsal: 30.03.2023, 20:08 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 898
Has thanked: 51 times
Been thanked: 230 times
Solaris104 píše:
Jelikoz Sinclair 2 interface obsahoval porty pro Sinclair joysticky, tak 16kB ROM hry podporovaly tento typ joysticku. Sorry za OT

Neviem preco, asi z nostalgie, som sa rozhodol pre Kempston. Uz som dohodil ovladanie kurzorovymi sipkami (alebo Kursor joystickom) - mohol by som to prerobit na Sinclair. Na nejake zasadne zmeny nemam priestor, hra zabera celu 16kB RAM (teda okrem video), nemoze bezat v ROM, lebo strasne vela kodu je (a celkom zbytocne) sebamodifikujuceho, par bajtov som ziskal optimalizaciou niektorych rutin.
M1.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ako na Kempston
PříspěvekNapsal: 30.03.2023, 20:53 
Offline
Radil

Registrován: 27.09.2013, 22:59
Příspěvky: 425
Has thanked: 102 times
Been thanked: 44 times
Možnost výběru typu ovládání natvrdo by se tam nevešla? Dát to do nějaké úvodní obrazovky před startem hry. Žádná detekce.

1. Keyboard
2. Kempston

Prostě klasika, jako u většiny starších her.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ako na Kempston
PříspěvekNapsal: 30.03.2023, 21:49 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 898
Has thanked: 51 times
Been thanked: 230 times
Tak nakoniec som sa stotoznil so Solarisom a dal som tam podporu Sinclair joystick.
Nechcel som robit ziadne velke upravy kodu, aby zostal zachovany duch doby (i ked pri pohlade na ten kod som mal velke nutkanie zacat ho optimalizovat)...
M1.
P. S. ak ma niekto zaujem o testovanie, nech mi napise SZ


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ů: 6 ] 

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