OldComp.cz

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


Právě je 19.03.2024, 11:36

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 15 ] 
Autor Zpráva
PříspěvekNapsal: 31.05.2021, 08:17 
Offline
Nemluva

Registrován: 06.04.2021, 08:14
Příspěvky: 5
Has thanked: 0 time
Been thanked: 4 times
Rozhodl jsem se udělat si radost a napsal jsem svoji první hru pro ZX Spectrum. V mládí jsem to nikdy nedotáhl do konce, pak můj zájem o ZX Spectrum upadl pod návalem novějších a výkonnějších počítačů. Takže nakonec až teď.
Třeba další nová hra pro ZX Spectrum někoho z Vás také potěší. :)

Je tu případně někdo další, kdo by aktuálně nějakou hru vyvíjel?

https://ptath-of-gonwonlane.itch.io/bricks-vs-fruits


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Má první hra pro ZX Spectrum
PříspěvekNapsal: 01.06.2021, 09:00 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3636
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Vdaka za novy zaujimavy originalny kusok obohacujuci speccy scenu, ale - nejde nahrat :(

Prosim urob aj verziu ktora sa nahrava normalne cez romku (volanie #556 alebo #562), jedine tak si ju budu vediet (bez dlheho cakania) nahrat vsetci spektristi pouzivajuci emulatory, alebo realne pocitace so systemami bsdos, mdos3, esxdos ci residos.

A ak by sa nahravala v basicu klasickym LOAD "" CODE, tak si ju budu vediet lahko preportovat a spustit aj uzivatelia vsetkych proprietarnych diskovych systemov (Disciple,+D,D40,D80,betadisk...)

PS: Pozeram ze si pri tvorbe pouzil ZX7. Nechces vyskusat moj LzxPack (verziu 2) ktory pakuje este o kusok ucinnejsie ?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Má první hra pro ZX Spectrum
PříspěvekNapsal: 01.06.2021, 15:58 
Offline
Nemluva

Registrován: 06.04.2021, 08:14
Příspěvky: 5
Has thanked: 0 time
Been thanked: 4 times
Snažil jsem se především o tom, aby vše fungovalo na originálním hardware. Nahrát program z kazety do originál Spectra jde (je tedy pravda, že já to tam nahrávám z telefonu přes PlayZX). Ale vývoj jsem samozřejmě dělal na emulátoru (ZXSpin) a i tam nahrávání programu jde bez problémů a rychle. Kolega si s tím hrál na Linuxu ve Fuse a taky neměl problém. V jakém emulátoru to nefunguje?

Ale chápu, že to někomu může působit problém. Až budu mít chvíli, tak udělám i verzi, která se bude nahrávat co nejjednodušeji přes rutiny z rom. Děkuji za připomínku. Na majitele různých diskových systémů (v mládí jsem měl jen ten kazeťák) jsem nepomyslel.

Jen toho loaderu je mi líto. Jeho tvorba mě opravdu bavila, to nádherné počítání taktů. Vymýšlení kombinací instrukcí tak, aby to přesně dalo. Krásné časy!

O existenci tvého LzxPacku jsem neměl tušení. U příští hry ho určitě zkusím použít. Kompresí jsem se snažil právě zkrátit čas nahrávání z kazeťáku. Teď je to jen lehce přes 2 minuty a po nahrání je kompletně plná paměť.


Nahoru
 Profil  
 
PříspěvekNapsal: 01.06.2021, 17:36 
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: 811 times
Mě se ten loader moc líbí. Skoro jako ten fejkový ze hry Locomotion :-)

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


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Má první hra pro ZX Spectrum
PříspěvekNapsal: 01.06.2021, 20:26 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3636
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Ptath of Gonwonlane píše:
Snažil jsem se především o tom, aby vše fungovalo na originálním hardware. Nahrát program z kazety do originál Spectra jde
To je v najlepsom poriadku, hra mi bez problemov sla nahrat aj v emulatore. Ide len cisto o to, ze jednak malokomu sa bude chciet cakat dve minuty pred tym nez si bude moct zahrat, a dvak, malokto uz ma dnes k ZX Spektru pripojeny realny kazetak (a nieco kde bezi PlayTZX uz nie je az take retro).
Ptath of Gonwonlane píše:
Až budu mít chvíli, tak udělám i verzi, která se bude nahrávat co nejjednodušeji přes rutiny z rom. Děkuji za připomínku.
:thumbup:
Ptath of Gonwonlane píše:
Na majitele různých diskových systémů (v mládí jsem měl jen ten kazeťák) jsem nepomyslel.
Jen toho loaderu je mi líto. Jeho tvorba mě opravdu bavila, to nádherné počítání taktů. Vymýšlení kombinací instrukcí tak, aby to přesně dalo. Krásné časy!
Joj, ani nehovor (nepis) :booo: V casoch, ked kazetaky boli hlavnym mediom, aj mna velmi bavilo robit rozne (ne)skutocne loadery. Napriklad: Sil3, Sil4, Sil5, Overscan demo, MDA demo, a samozrejme kopiraky s on-the-fly realtime kompresiou a dekompresiou a vypisom pocitadla prave nahranych bajtov...
A potom nastal rozmach disketovych jednotiek, ludia spohodlneli a malokomu sa chcelo cakat 8 minut na nahratie programu, tak som sa loaderom uz moc nevenoval.


Nahoru
 Profil  
 
PříspěvekNapsal: 01.06.2021, 22:35 
Offline
Site Admin
Uživatelský avatar

Registrován: 11.05.2013, 23:48
Příspěvky: 10095
Bydliště: Praha
Has thanked: 1952 times
Been thanked: 1515 times
Za sebe musím říct, že když má něco pěkný loader, tak si klidně pár minut počkám.

_________________
Amiga/Amstrad/Atari/Commodore/Mac/Nintendo/PS/PC/Sega/Tandy/ZX


Nahoru
 Profil  
 
PříspěvekNapsal: 02.06.2021, 08:24 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3636
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
misticjoe píše:
Za sebe musím říct, že když má něco pěkný loader, tak si klidně pár minut počkám.
Ty budes asi patrit do tej skupiny "malokto" ;)
Ale vazne. Prvy krat si rad pozriem pekny loader aj ja. Ale obvykle nemam naraz v kuse tolko casu, aby som presiel hru celu, a ked hra poskytuje heslo do dalsieho levelu, doslova sa pyta, aby som v nej pokracoval niekedy nabuduce. No a po takom N-tom nahravani je uz dost neprijemne zakazdym cakat tych par minut a tam by sa vyslovene hodil okamzity load bez cakania.


Nahoru
 Profil  
 
PříspěvekNapsal: 02.06.2021, 10:24 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2326
Has thanked: 302 times
Been thanked: 636 times
Tak jsem si to taky stáhnul a zkoumám... a pokusím se o konstruktivní kritiku.

Loader
Když už to má speciální loader, tak by to mělo být TZX ne TAP.

U TAP předpokládáme, že používá ROM loader a bude fungovat i na reálném hardwaru s nějakým DivIDE, nebo čímkoli dalším, co odchytává běh LOAD/SAVE rutiny z ROM a místo dat z pásky podstrčí data z rychlejšího úložiště

TAP se zvláštním loaderem se ve Fuse emulátoru načte zrychleně, takže vlastně není vidět, co se děje, Fuse detekuje loader a urychlí CPU třeba 20x, když může, je nutné emulátor překonfigurovat, resp. musel jsem vypnout "Fast Loading", abych tu animaci viděl. Když jsem vypnul i "Detect Loaders" tak to je záludnější, protože švestka padá, ale pomalu, takže jsem si chvíli nebyl jistý, jestli se něco načítá, nebo ne. Nečinnost, pilotní tón a data by měly být odlišené.

Přičemž napoprvé se mi do 48k povedlo hru načíst s vypnutou AY... další důvod, proč by měla fungovat i na 128k, emulátory občas AY pro 48k neemulují.

Zábavný Loader bývá zábavný párkrát, ale pokud bychom chtěli hru hrát vážněji, tak to znamená, že ji budeme načítat opakovaně a pak se zdržování sebekrásnějším loaderem vždycky stane otravné (teď jsem si všiml, že Busy píše v podstatě totéž). Mám zvláštní loadery rád, ale jsem mnohem radši, když existují dvě verze - "distribuční" načančaná a vedle toho tuctová TAPka pro skutečné hráče :)

A když už zvláštní loader, tak jako netrpělivý uživatel preferuji, když ukazuje i nějaký progress, abych poznal, kolik času zbývá.

Multicolor
Jako výchozí používám některou ze 128k variant ZX Spectra (nejčastěji s ISOROM, takže i extrémní závislost na originál ROM by mi mohla dělat potíže.)

Bývá zvykem, že když už je někde multicolor, tak se pokud možno časuje alespoň pro originál ZX 48 a originál ZX 128, přičemž program buď dá na výběr, nebo se pokusí o nějakou autodetekci, aby fungoval správně kdykoli to jde.

Překvapilo mě, že se na 128k multicolor rozpadl.

Tak různě
Oceňuji volbu obtížnosti :) (taky jste si možnosti přečetli tím správným hlasem ?)

Překvapilo mě, že se hudba spuštěním hry restartuje... čekal bych buď jiný soundtrack, nebo pokračování bez přerušení.


Na zkoumání hry samotné si zkusím najít čas později.

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS


Nahoru
 Profil  
 
PříspěvekNapsal: 02.06.2021, 12:34 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3636
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
zxcygnus píše:
Loader
Když už to má speciální loader, tak by to mělo být TZX ne TAP.
U TAP předpokládáme, že používá ROM loader a bude fungovat i na reálném hardwaru s nějakým DivIDE, nebo čímkoli dalším, co odchytává běh LOAD/SAVE rutiny z ROM a místo dat z pásky podstrčí data z rychlejšího úložiště
Dovolil by som si male upresnenie. Volba TAP/TZX nie je o tom ci program pouziva specialny loader, ale o tom, ci su vsetky bloky na paske standartne (1500Bd s paritou, ake generuje romkove SAVE) alebo su na paske nejake specialitky (turbo, nestandartne kodovanie dat, specialne zvuky, pauzy, popr. dalsie doplnkove bloky) ktore nie je mozne ulozit do TAP.
Tato hra je cela ulozena v standartnych blokoch, ake generuje romka, v tomto pripade je pouzivanie TZX zbytocne (bolo by to ako ist s kanonom na vrabca).
zxcygnus píše:
TAP se zvláštním loaderem se ve Fuse emulátoru načte zrychleně, takže vlastně není vidět, co se děje, Fuse detekuje loader a urychlí CPU třeba 20x, když může, je nutné emulátor překonfigurovat, resp. musel jsem vypnout "Fast Loading", abych tu animaci viděl.
Toto je ale uz problem konkretneho emulatora, a nemali by sme ho prenasat do obecnych pravidiel pre pouzivanie formatov TAP/TZX. Pokial je ti, vzhladom na konkretnu logiku fungovania FUSE, pohodlnejsie hru nahravat z TZX, nic ti nebrani si to z TAP do TZX skonvertovat ;)
Ale pokial je to mozne, je lepsie programy uchovavat a sirit vo formate TAP, ktory ma obecne sirsiu podporu (nemyslim len emulatory, ale napriklad aj rozne konverzne utilitky pre rozne diskove systemy).
zxcygnus píše:
Když jsem vypnul i "Detect Loaders" tak to je záludnější, protože švestka padá, ale pomalu, takže jsem si chvíli nebyl jistý, jestli se něco načítá, nebo ne. Nečinnost, pilotní tón a data by měly být odlišené.
S tymto sa plne stotoznujem. Pokial to dizajn dovoli, aspon nejake pasiky v borderi by mohli zostat (kludne aj cierno-tmavomodre, aby prilis nerusili), alebo aspon nejaky ukazovatel nahravania na ktorom by bolo vidno progress - ze sa skutocne nahrava a nie (napr.) iba stale caka na uvodny ton (presne ako kusok dalej napisal zxcygnus).
zxcygnus píše:
Mám zvláštní loadery rád, ale jsem mnohem radši, když existují dvě verze - "distribuční" načančaná a vedle toho tuctová TAPka pro skutečné hráče :)
:thumbup:


Nahoru
 Profil  
 
PříspěvekNapsal: 02.06.2021, 13:43 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2326
Has thanked: 302 times
Been thanked: 636 times
Busy píše:
Volba TAP/TZX nie je o tom ci program pouziva specialny loader, ale o tom, ci su vsetky bloky na paske standartne (1500Bd s paritou, ake generuje romkove SAVE) alebo su na paske nejake specialitky (turbo, nestandartne kodovanie dat, specialne zvuky, pauzy, popr. dalsie doplnkove bloky) ktore nie je mozne ulozit do TAP.
Jasně, máš pravdu. U standardního kódování je TZX opravdu zbytečné. Nakonec i Fuse emulátor se k TZX zachová stejně, teď jsem to zkusil.

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS


Nahoru
 Profil  
 
PříspěvekNapsal: 02.06.2021, 15:20 
Offline
Nemluva

Registrován: 06.04.2021, 08:14
Příspěvky: 5
Has thanked: 0 time
Been thanked: 4 times
zxcygnus píše:
Přičemž napoprvé se mi do 48k povedlo hru načíst s vypnutou AY... další důvod, proč by měla fungovat i na 128k, emulátory občas AY pro 48k neemulují.

Můj záměr byl, aby hudba fungovala i na 48k. Na 128k funguje samozřejmě taky.

zxcygnus píše:
Multicolor
Jako výchozí používám některou ze 128k variant ZX Spectra (nejčastěji s ISOROM, takže i extrémní závislost na originál ROM by mi mohla dělat potíže.)

Bývá zvykem, že když už je někde multicolor, tak se pokud možno časuje alespoň pro originál ZX 48 a originál ZX 128, přičemž program buď dá na výběr, nebo se pokusí o nějakou autodetekci, aby fungoval správně kdykoli to jde.

Překvapilo mě, že se na 128k multicolor rozpadl.

Nemám k dispozici fyzický hardware 128K (alespoň je to dobrá záminka, proč si ho musím koupit), ale na emulátorech šlo vše bez problémů. I autor Nirvany+ v dokumentaci píše, že podporuje časování všech běžných modelů (48K, 128K, +2, +2A, +2B, +3). Je ale pravda, že na fyzickém hardwaru jsem to testoval jen na ZX Spectrum 48K a Didaktiku M. Na prvním fungovalo bez problémů na druhém to mělo lehké problémy s časováním (ale hratelné to stále bylo). To jsem ale připisoval tomu ruskému klonu čipu ULA, co v tom Didaktiku je (vyřešil jsem to tím, že jsem se rozhodl, že Didaktik M nezařadím mezi podporované platformy). Můžete to prosím někdo na té 128K zkusit?

zxcygnus píše:
Oceňuji volbu obtížnosti :) (taky jste si možnosti přečetli tím správným hlasem ?)

Nastavení obtížnosti jsem do hry přidával až jako poslední úpravu. Kolega, co hru zkoušel, je mladší generace a zdálo se mu to moc těžké...

zxcygnus píše:
Překvapilo mě, že se hudba spuštěním hry restartuje... čekal bych buď jiný soundtrack, nebo pokračování bez přerušení.

Více tracků se už nevejde do paměti. Ale že to začíná vždy hrát znovu je opravdu nedokonalost. To uznávám. Když se k tomu přinutím, tak to opravím.


Nahoru
 Profil  
 
PříspěvekNapsal: 02.06.2021, 19:20 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3636
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
zxcygnus píše:
Multicolor
Jako výchozí používám některou ze 128k variant ZX Spectra (nejčastěji s ISOROM, takže i extrémní závislost na originál ROM by mi mohla dělat potíže.)
Bývá zvykem, že když už je někde multicolor, tak se pokud možno časuje alespoň pro originál ZX 48 a originál ZX 128, přičemž program buď dá na výběr, nebo se pokusí o nějakou autodetekci, aby fungoval správně kdykoli to jde.
Překvapilo mě, že se na 128k multicolor rozpadl.
Pozeram zdrojaky Nirvany+ a ono tam rozlisuje medzi 48k a 128k podla bajtu v romke na adrese #4D. Originalna romka tam ma volanie citania klavesnice, 128k romka tam ma odskok na obsluhu 128-specifickych veci (keypad...). ISOROM to tam ma ako originalna romka (nie je dovod aby tam bolo nieco ine) a tym padom na 128k s ISOROM to zle vyhodnoti ze to bezi ako keby na 48k a multicolory budu logicky rozpadnute.

Inak divim sa ze preco si taketo veci nezistuje priamo z casovania ZX Spektra (napr. spocitanie kolko T stiha medzi preruseniami). Na romku sa v tomto rozhodne spolahnut neda, vela ludi pouziva 128k a ine (svoje, externe) romky a tym padom budu mat vsetci rozpadnute multicolory. Toto treba reklamovat u Einara Saukasa :)


Nahoru
 Profil  
 
PříspěvekNapsal: 03.06.2021, 01:58 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2058
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
Ja by som mal taký návrh na výrobu inteligentného loadera (a sa divím že to už niekto nevymyslel dávno). Malo by to dva režimy:

Režim 1: niečo super špeciál, nejaké vykresľovanie počas nahrávania a tak. Pokiaľ by sa stlačil BREAK, preplo by sa do režimu 2 s tým, že keď sa už nahráva screen, tak režim 2 by očakával až code. Pokiaľ by sa ešte screen nenahrával (BREAK pred alebo počas zavádzacieho tónu), očakával by sa screen.
Režim 2: najprv počkať až sa pustí BREAK. Potom nahrať volaním z ROM screen (prípadne ho aj rozbaliť, pokiaľ by bol ako madload) a code, prípadne iba code (viz podmienka v režime 1).

A ešte by to mohlo mať pri chybe v nahrávke screenu iba oznam že je chyba, ale zvyšok programu by sa nahral normálne, aby sa kvôli poškodenému screenu neprišlo o celý program.

Takže pokiaľ by emulátor alebo iný diskový systém sledujúci body v ROM zastavil, lebo program by čakal so svojim loaderom na porte 254, stlačil by sa BREAK, a program by sa nahral volaním z ROM. Primitívne ale účinné. Navyše pokiaľ by emulátor nezastavil a pekne pomaličky by vykresľoval screen, stlačením BREAKu by sa code nahralo volaním z ROM, takže okamžite.

Tiež reklamujem tú nirvanu. Mala by mať test na ULA čo je v eMku (a nie porovnávať niečo z ROM, ale test priamo) a poznať aj časovanie preň.

_________________
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říspěvekNapsal: 03.06.2021, 12:52 
Offline
Tichošlápek

Registrován: 03.06.2021, 12:50
Příspěvky: 1
Has thanked: 0 time
Been thanked: 0 time
I think if it was reworked into ZX Spectrum Next it would be better.


Nahoru
 Profil  
 
PříspěvekNapsal: 11.06.2021, 20:57 
Offline
Nemluva

Registrován: 06.04.2021, 08:14
Příspěvky: 5
Has thanked: 0 time
Been thanked: 4 times
Vylepšil jsem program dle některých z vašich připomínek. Především jsem vytvořil i verzi s jednoduchým basic loaderem. Do původní loaderu jsem vrátil indikaci nahrávání pomocí pruhů v borderu. Dále pak jsem odstranil znovuspuštění hudby při přechodu mezi menu a hrou.

Nová verze je ke stažení na původním odkaze. Tedy: https://ptath-of-gonwonlane.itch.io/bricks-vs-fruits.


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

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 1 návštěvní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