OldComp.cz

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


Právě je 19.03.2024, 12:36

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 233 ]  Přejít na stránku Předchozí  1 ... 9, 10, 11, 12, 13, 14, 15, 16  Další
Autor Zpráva
PříspěvekNapsal: 27.01.2021, 13:15 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
@defor: ok :)

@ALL: přemýšlel jsem jestli tam jsem schopen narvat ty zásahy do samplů v rámci jejich ztlumovaní a jsem. Myslím v mezičase, kdy se čeká na zpracování další smyčky v mé rutině a tak, aby jsem nerozšiřoval rozsah již použitých 3 Longů (3 krát 4 byte=noty, hlasitost, arpeggio) a mělo by to jít. Testování proběhne 3 krát. V 1/4, 1/2 a 3/4 jedné smyčky rutiny. Nezůstane volný žádný bit :). Tohle platí pro kanály 1 až 3. Čtvrtý kanál může zasahovat ještě jemněji. Pro představu teď je to tak 14 krát.

Tuhle verzi rutiny co teď mám si nechám jako odlehčenou. Ale větší jistota je pro mne to o čem jsem teď psal. Tak snad se to povede :)

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 28.02.2021, 04:07 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
Koukám že na OC jsou nějaké nové příspěvky. Zatím nemám úplně hotovo, musím ještě přeprogramovat predsekvenci pro sample a udělat pár dalších drobností a kontrol v programu. Zaměřil jsem se na ztlumovaní samplů v 1/4, 1/2, 3/4 taktu v kanálu 1 až 3. Ve čtvrtek jsem dokončil hlavní logiku. Jedná se o 3.verzi. postupně jsem to zjednodušoval a tedy i v rámci náročnosti na CPU urychloval. Ještě jsem vůbec netestoval. Ale něco zahrát to již mohlo. Bylo ticho. Včera večer jsem tam hodil správnou práci s DMA, a to si pak ještě zkontroluji, ale nepomohlo no a jak jsem se vzbudil ve 2:30, tak jsem si říkal, dám do registrů natvrdo všude plnou hlasitost, ale taky nepomohlo, pak jsem si všiml, jak DMAčku dávám, nebo nedávám pokyn aby hrálo, protože místo 80 hexa jsem dával do registru pouze 8. Tak minimálně mi to zatím alespoň hraje. Tak zas někdy :lol:

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 28.02.2021, 04:09 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
A je 3:08, mně to ukazuje o hodinu vyšší čas :lol:

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 30.03.2021, 07:11 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
Minulý týden jsem dokončil přeprogramování předsekvencí, co bylo nutné pro doplnění funkce ztlumovaní samplů v kanálech 1-3 v jemnějších krocích. Bylo přidáno ztlumení v 1/4, v 1/2 a v 3/4 v 1 cyklu hudební rutiny. Ztlumení v celý cyklus je možné taky. 4.kanál má specifické nastavování a může ztlumovat sample ještě v jemnějších krocích. Včera večer jsem dokončil kontrolu některých částí kódu. Počítám s tím, že ještě něco budu doprogramovávat, ale neměl bych měnit základní logiku, kterou jsem teď nastavil. Rychlost rutiny/hraní skladby teď musím dělat v násobcích čísla 4. Na mezihodnoty bych se měl dostat časovačem CIA, kterým si ve výsledku nastavuji délku trvání 1 cyklu hudební rutiny. Nic nemám odzkousený. První známka, že se nejedná o průser je, že mi hudební rutina skladbu hraje, jen ji hraji starým formátem, tak se nehrají správné nástroje a tak.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 05.04.2021, 17:46 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
Odstraňoval jsem další chyby v novém kódu. Nová skladba původně hrála 1 řádek patternu na 14 cyklů hudební rutiny. Teď jak pracují s násobkami 4 jsem to dal na 13. Zatím nechci ochuzovat časovač i o stav hodnoty 0, a tak 1 řádek patternu je rozdělen na čtvrtiny 4,3,3,3 pro ztlumovaní samplů v kanálech 1 až 3. Časovač má rozsah 5 bitů. Hraju o 1 cyklus rutiny méně na 1 řádek patternu, tak jsem časovač CIA, to je již jiný HW časovač, dal zatím z 1000 hexa na 1100 hexa, aby jsem zatím přibližně dorovnal rychlost na původní. Zatím otestována jen predsekvence pro hlasitost (pravý long=4 byte) a noty (levý long). Vlastně nahoře je predsekvence pro efekt arpeggio, jen v ní nastavuji pouze rychlost na hraní na těch 12, i se stavem časovače 0 tedy 13=000000ec. Řádek nad je 00000000 to se nic nehraje a první řádek 0001 je pracování se samply pro 2.skladbu. Predsekvence sampl není použita ani odzkoušena. Nástroj se v kanálu nebude asi měnit, myslím ten jeden, tím 0001 se automaticky nahraje bez toho, aby jsem ho ve formátu zadal. Odlehčuji tím jak formát, jeho zadání mi v něm nezavazí, tak samotnou hlavní hrací smyčku, je ještě před ní. A taky se mi zvyšuje možný počet použitých samplů. Má to pak dál ještě vše své specifika. Přibližná horní hranice počtu možných samplů je 40. Vnitřně teď záměrně jede program na cca 20 možných samplech, tenhle rozsah mi teď stačí. Ušetřím pár bytů. 4 byte na pointer 1 samplu a samozřejmě sampl, pokud je použit. Budu v testování a doplňování skladby pokračovat, jak bude čas ;)


Přílohy:
mr750_2.png
mr750_2.png [ 200.19 KiB | Zobrazeno 6151 krát ]

_________________
Amiga - PMD 85
Nahoru
 Profil  
 
PříspěvekNapsal: 16.04.2021, 09:48 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
@defor: jsi si vědom toho, že by v ASM na Amize někdo v ČR, SR naprogramoval svou vlastní hudební rutinu, když zatím pomineme fakt, jestli by hrála MODy nebo specifický formát?

@ALL: Tak nějak jsem věděl o tom že budu dotahovat pár věcí za běhu, doplnil jsem správnou logiku pro 2.kanál. MOD, co budu předělávat do mýho formátu mám již celkem naposlouchaný. Vůči originálu přehodím levý kanál s pravým. Originál hraje kanál, kde se střídá víc samplů, já mu říkám MIX, ve 3.kanálu, ten hraje vpravo. Já mám speciální kanál, který dělá tyhle věci s větší rezervou a je to 4.kanál, ten hraje vlevo. Tak ho využiju a nemělo by mně asi nic překvapit. I když by to dle všeho zvládl i můj 3.kanál. V MIXu se budou střídat 4 samply. Ty jsem si již z MODu vzal. A ještě jeden sampl, který se bude při hraní cyklovat. U toho jsem usekl začátek jeho průběhu před cyklenim. Tohle ještě neumím, zahrát začátek samplu a začít cyklovat třeba od jeho půlky do konce. Technicky bych to udělat uměl, stačí posunout pointer, ale sampl musí tedy mít info o tom kde se má začít cyklovat, když je to mimo jeho začátek průběhu a vytáhnout tohle info pro zpracování. To ale možná pro příště. Přidám 1 pattern, ten MIX v MODe je moc supr, aby jsem ho nenechal hrát i jen o samotě. Tak to jsem sám zvědav, bude legrace :mrgreen: Bude legrace anebo průser :mrblue:

Originální MOD má celkem 10 samplů.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 16.04.2021, 17:44 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
Nahodil jsem prvních 8 řádků patternu z MODu, kde se mi již prostřidají všechny 4 sample ve 4.kanály a nalezl jsem chybu. Nepamatovalo si to nahraný sampl. Chyba po asi hodině nalezena. Tak opět vše OK. Tak opět až bude chuť.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 17.04.2021, 09:22 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
Tak jsem včera udělal půlku patternu, to je 31 řádků, hraje každý řádek. Z Octamedu se učím číst MOD. Druhá půlka patternu se dle všeho bude zrcadlit s tou první ale závěr bude jiný. Půjdu na 2. pattern, potřebuji slyšet všechny nástroje aby jsem to po stránce hlasitostí dal k sobě. A asi potřebuji zprovoznit mé aktivní repro, abych to lépe slyšel. A taky potřebuji po delší době zapnout mou Amigu 1200. A ještě dělat kolem toho další věci v rámci mého osobního života. Tolik věcí, co my všichni potřebujeme... . ;)

Dle všeho potřebuje mít MOD definovaný nástroj v každém řádku patternu, i když se jedná o stejný nástroj, alespoň dle MODu co dávám do mýho formátu. Můj formát tohle nepotřebuje, to je to co jsem včera spravoval.

Jo a DaMi na Amigaportaly dělá dle všeho 2.pokus aktualizace :like:

Tak zas někdy, protože my potřebujeme dělat i jiný věci ;)

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 17.04.2021, 09:25 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
Tak AP již jede....

EDIT: tak to byla jen obnova zálohy.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 17.04.2021, 18:51 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
Dal jsem drobátko do pucu Amigu 1200 a přes zdrojový kód na ní pustil toho půl patternu v mém formátu. Hraje to. Drobátko praskání ale volume je na max a drobný úpravy tam budou. A teď jsem si ověřil že to stejný je i v MODu. Tedy je to nějakým samplem. To praskání je spíše větší zašumění s praskáním. Uvidím, jestli s tím něco budu dělat.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 17.04.2021, 21:50 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
Tak jinak Amigu jsem měl naposledy kvůli programování zaplou 10.dubna 2020. No a to praskání ve zvuku je součástí obou šejkrů. Sample zachovám a zvuk praskání dám pryč.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 20.04.2021, 12:49 
Offline
Kecka

Registrován: 11.01.2021, 11:47
Příspěvky: 48
Has thanked: 0 time
Been thanked: 39 times
Lisiak4 píše:
@defor: jsi si vědom toho, že by v ASM na Amize někdo v ČR, SR naprogramoval svou vlastní hudební rutinu, když zatím pomineme fakt, jestli by hrála MODy nebo specifický formát?
O nikom v devadesátých letech nevím. Je ale možné, že si lidé u nás upravovali různé ST/NT/PT rutiny, které byly v oběhu. Nevím ale o ničem větším, ucelenějším, o čem by se tehdy diskutovalo. V demáčích se používala některá z obvyklých PT rutin (viz nějaké číslo GURU s jeho Demo-depo, kde o tom určitě byl článek). Když se pak objevilo P61, tak to asi všichni začali masívně používat, a používají nejspíš doteď (v n-té upravené formě). Někteří preferovali Octamed, a tak byli odkázáni na jeho replay rutinu. Ta ale byla na A500 výrazně pomalejší, tak se moc nepoužívala. Co používali autoři těch několika vydaných her u nás (a z SK), netuším. Ale tipuju, že taky jen něco převzali. Pozdější AGA hry od Ablaze, které už chtěly turbinu, možná používaly něco jiného. Ale to se musíš zeptat jich. Po pravdě, ono dělat vlastní rutinu není zrovna atraktivní projekt, protože ty existující jsou něco, co se vyvíjelo už desítky let, pracovalo na nich mnoho lidí a jsou hodně optimalizované. Tím největším omezením je, že musejí nějak přehrávat "industry standard", a tím je ProTracker modul :-) Posledním pokusem je LSP, který podobně jako P61 provede konverzi z PT MODu do vlastního formátu tak, aby mohl pak co nejméně času trávit dekódováním (LSP formát je kompresovaný stream hodnot, které se přímo zapisují do hw registrů). V současnosti velmi užívanou rutinou je ptplayer od F.Willena. Ale i ta je upravenou (přepsanou?) variantou původní PT replay rutiny. Problém až tak není replay, ale nástroj, ve kterém se hudba/modul složí. A hudebníci se neradi učí něco nového. Buď používají nějaký klon ProTrackeru, nebo něco, co výsledek zapíše ve formě PT modulu. V dlouhé diskuzi na EAB se poukazovalo na to, že PT modul obsahuje přesně takové funkce, které odpovídají hw schopnostem Amigy. Nic moc nechybí, a nic moc nepřebývá.


Nahoru
 Profil  
 
PříspěvekNapsal: 05.05.2021, 19:56 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
MOD co převádím obsahoval funkci Volume Slide. Tak před chvílí jsem dokončil naprogramování téhle funkce i do mé hudební rutiny. Zatím neskoušeno, nicméně rutina hraje. Je to vlastně jemné přidávání a ubírání hlasu v rozsahu 1 řádku v patternu. Tedy je to rychlá práce s velikostí hlasu. Zatím každý efekt jsem dělal v datovém rozsahu 4 byte mínus 3 bite. Tedy 29 bite. Z těch 3 bitů nejvyšší určuje jestli se jedná o data pro tón, nebo pro efekt, pokud pro efekt tak další 2 bite určují druh efektu. Efekt Volume Slide je výjimkou. Na jeho aktivaci jsem použil 1 volný bit v rámci dát formátu. Tedy na efekt je použitých v rámci dát všech 32 bitů. Nebyl jsem si jist, jestli bych si vystačil s 28 bity. Tedy na každý kanál 7 bitů v rámci dát v mým formátu. Teď je tedy na každý kanál 8 bitů a myslím, že by to mělo stačit.

Na ještě nenaprogramované skoky v patternech bych si v rámci dát formátu měl vystačit s 2 byte. Nicméně pokud bych tu funkci měl mít na úrovni MODu, jedná se o další zdržení, náročnost na procesor tak uvidím. Je tam ještě možnost i jednodušší varianty. Cyklování pouze mezi 2 patterny.

Chvíli mi trvalo kým jsem pochopil jak funguje Volume Slide v MODe. Z návodu mi to nebylo zřejmé. Tak jsem se s ní začal hrát v Octamedu kým jsem jí nepochopil. Je to samozřejmě jednoduchá funkce. Do mé rutiny je vsunuta ve 3.místech. Nejtěžší bylo najít asi ty správná místa :lol:

Zjistil jsem, že hodnotu v registru pro hlasitost by mělo jít měnit přímo pomocí SUB a ADD. Tedy nemusí se pouze zadávat pomocí MOVE. To je supr a počítám s tím. SUB a ADD na registr používám prvně :) .

Ve skladbě je i vibrato, to jsem původně neslyšel. Tak bude test v novém kódu i vibrata. Jen mu budu muset nadefinovat i sinusovku pro danou rychlost hraní skladby.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 06.05.2021, 06:15 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
Volume Slide :lol:


Přílohy:
VolumeSlide2.png
VolumeSlide2.png [ 303.37 KiB | Zobrazeno 5662 krát ]

_________________
Amiga - PMD 85
Nahoru
 Profil  
 
PříspěvekNapsal: 07.05.2021, 19:13 
Offline
Kecka

Registrován: 11.01.2021, 11:47
Příspěvky: 48
Has thanked: 0 time
Been thanked: 39 times
Lisiak4 píše:
Volume Slide :lol:

Jen pár drobných postřehů ke zdrojáku, který je vidět na tom obrázku. Nic velkého, nic důležitého.

* Obvykle se $dff000 na začátku dá do nějakého registru (např.lea.l $dff000,a6), protože se ke custom registrům přistupuje často. Čtení a zápis je pak indirect+offset a instrukce je o word kratší (a o dva cykly rychlejší na základní 68k). Takže by tam byly add.w dx,$c8(a6). A mimochodem tam máš chybu -- audio-volume má 16 bitů, takže spodních šest bitů je na adrese $dff0c9 (když už chceš přičítat/odečítat byte)!

* Je naprosto zbytečné po jakékoliv operaci s datovým registrem dělat "tst". CPU samo nastavuje bity ve stavovém registru. Takže stačí "and.l #$0f0f0f0f,dx + bne.b .skip". Snad jedinou výjimkou by bylo, kdyby ti po operaci šlo o test na jiný bitový rozsah než se kterým ta operace pracovala. Například logický součin nad plným rozsahem 32 bitů, následovaný testem jestli spodních osm bitů bylo vynulovaných: and.l #mask,dx + tst.b dx + beq.b .iszero).
Pozor! Stavové bity se neaktualizují při práci s adresovým registrem!

* Někdy pomáhá si uvědomit, že logické operace jsou komutativní (nezáleží na pořadí operandů), podobně jako násobení, sčítání... A tak je možno pár věci někdy přepsat:
Místo:
Kód:
move.b d7,d0
and.b #$0f,d0
beq.b .skip

se dá psát
Kód:
moveq #$0f,d0
and.b d7,d0
beq.b .skip

Je to kratší a rychlejší.


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ů: 233 ]  Přejít na stránku Předchozí  1 ... 9, 10, 11, 12, 13, 14, 15, 16  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