OldComp.cz

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

Zde me bt odkaz na vai retro prty

Právě je 01.03.2021, 05:29

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 179 ]  Přejít na stránku Předchozí  1 ... 8, 9, 10, 11, 12  Další
Autor Zpráva
PříspěvekNapsal: 22.07.2020, 01:03 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
Lisiak4 píše:
Nedalo mi to, rucne mereni, minuty, vteriny, setiny.
Delka nove skladby original, 2 mereni
2 23 80
2 23 79

Moje rutina to zahraje za, 2 mereni
2 24 93
2 25 03

O 1 uroven rychlejsi moje rutina
2 19 34

Tedy blizsi cas je rozdilny o neco malo pres 1 vterinu na celou skladbu. Dle mne je to OK. Muzu zjemnit casovani. bylo by to narocnejsi na vykon, casovac by pouzival misto 4 bitu o jeden vice, tedy 5. Prostor na to mam. Ale kazdy kdo programuje v asm musi uznat ze 4 bity se k sobe hodi vice :D.


A jeste nemam predstavu o kolik se to natahne pri plnem zatizeny vsech 4 kanalu. Nebude to asi moc. Tipuji +-1 vterina. Skladbu AGO zahraji s vetsi presnosti v ramci času cele skladby.

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 24.07.2020, 18:45 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
Dnes nalezena chyba. Neprenasi se mi 1 nejvyssi 6.bit urceny pro frekvenci. Tak jsem zvedav co to opět bude :). Samozřejmě chyba zanesena použitím nove "předsekvence".

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 25.07.2020, 07:10 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
Tak vcera jsem chybu nasel. Spise jsem se jen poucil jak funguje instrukce asr (automatic shift right). Mel jsem zato, ze kdyz zarotuji o 2 bity doprava, na dvou nejvyssich bitech budu mit nulu. Ale dava to tam jedničku, kdyz rotuji v rozsahu jednoho bytu, tedy asr.b. Az kdyz pouziju rotaci stejneho cisla v rozsahu wordu, tedy asr.w se mi do nejvyssich bitu pridava nula. Asi ty 2 funkce v 1 byte prohodim, at si porad vystacim pouze s jednou dalsi instrukci pro smazani 2 bitu a nemusim rotovat. U 2 bitu pouzitych pro neco jineho rotaci pouzit nemusim.

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 25.07.2020, 08:08 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 264
Has thanked: 17 times
Been thanked: 64 times
ASR (arithmetic shift right) zachováva znamienkový bit. Ty asi potrebuješ LSR (logical shift right), ktorý ti tam vsúva nulu.
Píšeš o rotácii, ale na to sú zas iné inštrukcie (ROR a ROXR).


Nahoru
 Profil  
 
PříspěvekNapsal: 25.07.2020, 09:47 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
Super, opravené, díky :)

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 20.08.2020, 15:53 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
Je hotova 1.verze meneni rychlosti hrani skladby ("za běhu")

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 03.10.2020, 15:44 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
Zvýšil jsem prioritu u měnění rychlosti hraní skladby za běhu ze stavu nedůležitá na důležitá. Vidím to zatím jako rozumný kompromis mezi co nejmenším zatížením procesoru a přesností časování v samotné rutině. Asi 2 min 30 s skladbu bych měl dokázat zahrát s 3 vteřinovým rozestupem. Tedy maximálně o 1,5 vteřiny rychleji, nebo pomaleji vůči originálu. Za jistých okolností, které asi nebudou nutné bych měl dokázat zvýšit přesnost na +- 1,5 s vůči původním 3 s. Dokončil jsem to včera večer a vycházím zatím z předpokladů. Tedy netestováno. Mám v rutině 3 predsekvence. Tu hlavní mám upravenou pro změnu rychlosti, doplnění do zbylých 2 je brnkačka. Jednu jsem upravil (původní kód pro změnu rychlosti), do druhé kdykoliv doplním, jsou to 3 řádky kódu, takže na to peču do kým to nebudu potřebovat. Jsou tam důležitější věci a pevně věřím, že můj hudební formát tímto dostává závěrečnou podobu alespoň na pár skladeb.

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 16.10.2020, 12:14 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
Hledal jsem chybu, ale možná jen ducha. Chyba odstraněna a možná ani ne odstraněna, ani nebyla. Nebo možná odstraněna mým drobným přeprogramováním. Hodně faktorů a stav je, že jsem si opět není vědom nějaké chyby. Ještě pořád důkladně netestováno. 100 procentně vím jen příčinu. Neztlumoval jsem sampl, čím se mi nechytala frekvence samplu dalšího. Bavím se zde o dodatečném softvérovém vstupování do mého formátu, tedy o velice krátkých časech. Nicméně i tuhle možnost jsem testoval a v čase testování ztlumení samplu nepomáhalo. Pomohlo až po čase = hledání ducha.

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 16.10.2020, 12:25 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
Pokusím se nějak pořešit práci hudební rutiny, když budu chtít zahrát 2 a více skladeb. Přibalení rutiny ke každé skladbě je posledním řešením. Možná se pokusím s tímhle vyřešit i hraní skladeb ve správný čas v konkrétních lokacích v jakémkoliv dalším programu / hře. To bych ale měl dle všeho použít dosud nepoužitý zásobník. Tedy se s prací zásobníku lépe seznámit.

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 25.10.2020, 11:01 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
Ale jo, já to co jsem napsal na FB dám i sem :)
Cituji se a chyby v přepočtech povoleny :)
....
Včera jsem ohledem mé rutiny probíral všechny možnosti s počtem samplů kolik mužů hrát v 1 skladbě. Je tam strašně moc možností. Mám v rutině speciální predsekvenci která má více funkcí s nahráním samplu. Teď pracuje s 18 samply a z toho s 10 speciálně a z toho 7+3 se dvěma různými funkcemi. Tedy 8 samplů nahraji standardně. z těch 8 samplů to dokážu zvednout na 16, tedy 26 samplů dohromady. V tomhle stavu jsem schopen měnit 4 sample ve 4 kanálech v jeden moment. Pokud omezím a budu moci měnit 3 sample najednou pořád ve 4 kanálech, dokážu zvednout počet všech samplů z 26 až na zbytečných 78. Pokud by jsem potřeboval více jak 26 samplů bez omezeni, tedy měnit najednou 4 sample, musel by jsem si pomoci další drobnou predsekvenci. To můžu. Rozhodoval jsem se jestli měnění samplů pro více skladeb budu provádět po 16 nebo 32. V rámci adresace potřebují na 1 sampl 1 Long, tedy 4 bajty. 32 samplů na 1 skladbu je přesně 1KB + sample samotné. V rámci všech skutečnosti budu pracovat se 32 samply na 1 skladbu. Původní koncept měl možnost pracovat se 128 skladbami. Druhá nejbližší o třídu nižší varianta skočí na 8 skladeb na 1 rutinu. Dnes jsem si to uvědomil a nižší variantu jsem vybral. Přejít na vyšší variantu je věci 1 nebo 2 instrukcí které teď ušetřím. A to je definice vesmírného pirátství :D

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 05.11.2020, 10:51 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
Dokončeno měnění samplů i pro více skladeb. Zatím nějak výrazně netestováno. Již chybí pouze práce s patterny, nicméně teď se pokusím zaměřit na předělání 2.skladby a asi taky postupné přepsání 1.skladby.

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 24.11.2020, 12:46 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
V nové 2.skladbe mám prvních 5.patternu z 28. Přidal jsem možnost efektu vibratta do 3.kanalu. Současný stav možnosti hraní rutiny. 1.kanal vibrato,2.kanal bez efektu,3.kanal vibrato a arpeggio,4.kanal pracuje s jemným časováním v rámci práce se samply. Všechny kanály dokáží hrát i bez efektu. V současné době hrají 4 nástroje, každý v jednom kanály. Od dneška mám sólový nástroj, ale možná ho ještě vyměním. Zaměřil jsem se na 3.kanal. Byl asi 4 instrukcemi na různých místech přizpůsoben pro arpeggio, tak jsem si zpětné ověřil nutnost tuhle úpravu nemít aktivní při vynechání hraní efektu arpeggia. Úprava dana do poznámky v rámci kódu ASM s tím, že pro arpeggio asi bude potřebná. A taky jsem třeba v hudebním programu OctaMED na Amize poprvé použil editaci samplu s funkci BOOST, kdy jsem si sampl mírně přiohnul aby zněl pro daný účel lépe :) Rychlost hraní 2.skladby ještě není finální. V mé rutině ji zatím hraji konstantní rychlosti 8, kde 1 je nejrychlejší na objem dat 3 longy na řádek v rámci jakéhokoliv trackeru, co je přibližně 0,75 KB na pattern. Skladbu Atari goes on hraju na 4 longy co je přibližně 1 KB na pattern. Tam možná přejdu na 2 longy, tedy 0,5 KB na pattern. Přibližná velikost 1 patternu ve formátu MOD je 1 KB na pattern. Údaje jsou samozřejmě orientační dle situace... . Tedy pokud se chceme držet v rozsahu 1 byte na 1 kanál při 4 kanálové hudbě je minimální přibližná velikost 1 patternu 0,25 KB. Ale to by se v mé rutině všechny speciální nastavení museli vykonávat na jednom místě, to je možný, ale pro rovnoměrnější zatížení je lepší alespoň 0,5 KB na pattern. Pro velikost patternu méně než 0,25 KB se musí sahnout v rámci formátu po logice na úrovni bitů v rámci hrajících kanálů, co má za následek ještě většího zatížení procesoru.

A to je definice vesmírného pirátství! :lol:

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 10.12.2020, 00:59 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
Jen další mé kecy :)

Snad již pracuji na opravdu poslední úpravě jednoho kódu. Celkově 8.uprava, to bude asi můj rekord. Bylo mi jasný, že se bude přepisovat, ale netušil jsem že tak brzo. Jen jak jsem začal přepisovat skladbu AGO do změněného formátu a chtěl jsem použít poloviční velikost 1 patternu, narazil jsem na problém, kdy jsem si něco špatně pamatoval a rozhodl se i když nerad přejít z časování v rozsahu 4 bitů na 5 bitů. Naštěstí v registrech mám ještě pořád nějaké rezervy. Počet samplů jsem zvedl na 28. Až teď jsem měl všechny bity v rámci 1 Longu obsazeny v rámci mě speciální presekvence v mém hudebním formatu. Měl jsem v hlavě namyšlenou i verzi s 32 samply, ale nechtěl jsem to zatěžovat dalšími pár instrukcemi. Nicméně včera jsem si uvědomil, že sice zatížim, nicméně v další části kódu díky tomuhle můžu odlehčit, co byl impulz zrealizovat i použití 32 samplů. Alespoň to bude klasika, možná nikdy nevyužitá :) Teď k něčemu jinému. Na zpoždění používám CIA. Na úplném začátku zdejšího vlákna se řeší CIA, VBLANK. V jedné části používám i VBLANK, nicméně ním jen počkám na vykreslení 3 řádku a program jede dál, tedy jen běžné spozdeni, žádná synchronizace. Nerozumím, jak mi tahle část kódu mohla v minulostí zabezpečit rovnoměrné přehrávání na různém výkonu Amigy. Ale ve své době mi to fungovalo. Teď se mi i bez použití tohohle kódu nedaří časově rozhodit hraní skladby co vlastně byl očekávaný stav. Mohl bych samozřejmě použít VBLANK na synchronizaci rychlostí hraní, ale možná to ani nebude nutný, tak uvidím. V rámci spozdeni zatím upřednostňují spíše CIA než VBLANK. CIA je asi 10 krát jemnější a co se na začátku vlákna psalo z citace Amiga Review, že hudební rutiny používající CIA jsou pamale, tak nějak si dokáží představit, že když používali každý cyklus z CIA v rámci celé smyčky programu tak pak opravdu amen. Třeba se pletu, jen muj amatérský tip. Myslím, že pokud CIA zacykluji v rámci sebe, tak by to mělo být ok. Při práci s krátkými časy je VBLANK nepřesný, asi ne moc, nicméně v rámci 1.řádku se to chytne kdekoliv v jeho rozsahu a to se mi při práci s krátkými časy moc nezamlouvá. VBLANK je samozřejmě supr, ale myslím že ne pro můj účel. Uvidím. A další. V rámci 2 nejblizsich rychlostí hraní jsem na 1 skladbě někde na rozdílu 6-7 vteřin. Když budu v každém řádku střídat rychlostí, snad to bude kolem 3,5 vteřiny, tedy 1,75 vteřiny na každou stranu od požadované délky skladby originálu. Samozřejmě kdykoliv můžu udělat vše přesné, ale to je zatěžování. Zatím bych se chtěl držet toho, že od originálu rozdíl 1 vteřiny je v pohodě. Rozdíl 1,75 vteřiny délky skladby na 1 vteřinu a méně dosteluji CIAčkem. To je zatím můj záměr tak uvidíme. Adresový register pro práci se skoky v patternech bude 1 k dispozici. Starou smyčku rutiny jsem odstřihl, doplnění formátu přebralo její funkci. Snad již dodělám tu predsekvenci verze 8 a uvidíme.

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 08.01.2021, 03:18 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
Další kecy :)

Tak zahraný první tón s 8.verzí jedné speciální predsekvence. No vlastně nebyla ta část kódu použita vysloveně, ale hraje to, a to je základ. Časovač teď místo 4 bitů používá 5 bitů. To mi umožní zkrátit formát kde 1 řádek z klasického trackeru budou 2 Longy + predsekvence (arpeggio, SMP, volume), pokud budou použity. Postupně jsem likvidoval starou část kódu hudební rutiny, kde nový formát postupně přebíral jednotlivé funkce starého kódu. Nový formát již kompletně přebral vše. Predsekvence jsou v rozsahu 1 Longu. Škoda, že se nedostanu na úroveň 1 Longu mého formátu s info o skladbe+predsekvencie, který by odpovídal 1 řádku v běžném trackeru, ale jsou Longy 2. Mohl bych to dát i na 1 Long, ale musel bych snížit frekvenci zasahování mé hudební rutiny do mého formátu, aby jsem si vystačil s 5 bity, které má teď časovač k dispizici. Současný stav ale má své využití tak ponechávám. Chybí mi na to 2 bity, aby jsem dal časovač na 6 bitů. 6 bitů volitelná rychlost hraní a 6 bitů pro časovač. Na těchhle 6 bitů se dá dostat vícero způsoby. Třeba snížením maximálního možného počtu samplů z 32 na 24, co je taky celkem hodně. Já to mám naprogramováno teď na 16 samplů z důvodu ušetření pár instrukcí. Tolik samplů mi teď postačuje. Na každý kanál mám ale k dispozici 3 bity, tedy dohromady 4*8 samplů. Jak jsem řešil v jiném vlákně jednu logiku a opět jsem dostal přes prsty a naučil se jak funguje ADD při práci s pamětí, logika při použití s ADD se moc komplikovala a já použil SUBQ #4, A0. Tak jsem opět moudřejší při nastaní jedného stavu v ASM, jak to řešit.

_________________
Amiga - PMD 85
Kafasoft


Nahoru
 Profil  
 
PříspěvekNapsal: 08.01.2021, 13:00 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 1944
Bydliště: Brno
Has thanked: 519 times
Been thanked: 173 times
Tak mi to nedalo a časovač v rutině jsem zpomalil přibližně na dvojnásobek. Když to na vibrato rychlostně nebude stačit, došteluji a opět o něco zrychlím. U původní rychlostí jsem ale vibrato hrál přibližně poloviční rychlostí. Již jsem pár tónů zahrál 1 Longem + předsekvence. Časovač mám teď na hodnotě 1000 hexa, co by měla být 1/200 vteřiny.

_________________
Amiga - PMD 85
Kafasoft


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ů: 179 ]  Přejít na stránku Předchozí  1 ... 8, 9, 10, 11, 12  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 2 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