Autorem citovaného textu je Defor
Přejít na původní příspěvek
Oznámení
Sbalit
Aktuálně žádná oznámení.
Assembler - všeobecná logika
Sbalit
X
-
-
To jsou mi vymoženostiPředpokládám, že to INCIFF dělá načítání, dekompresování (ILBM používá RLE kompresi) a případně de-interleaving při kompilaci assembleru. Takže to jen zpomaluje assembler. V devadesátkách bych to na svých tehdejších procesorech v Amigách dělat nechtěl. Ale dneska v emulátorech se to asi ani nepozná.
Ale zahanbujete mne chlapci. Já jsem stará konzerva. Stáhnul jsem si open-source libIFF a libILBM knihovny, přeložil si je a na windowsech si v céčku IFF obrázky vždy načtu, udělám si s nima, co potřebuju, a uložím jako binárku, kterou pak do assembleru dostávám přes INCBIN. Za starých dobrých časů na to byly na Amize mraky různých "demo" konvertorů. Každý si nějaký udělal, a pak je cpal na Aminet. Zlaté časy
- Poděkování 1
Vložit komentář:
-
Autorem citovaného textu je ObiWanKen Přejít na původní příspěvekAk chceš vložiť obrázok do ASM tak je na to direktiva priamo v assemblery.
INCIFF "cesta",RN,B,ECS
RN/RB - Raw Normal alebo Raw Blitter.
B/A/N - Kde majú byť uložené farby Before, After, None.
ECS/AGA - Farebna paleta.
Priklad:
Code:IncIff "DH0:ornela.iff",RN,B,ECS
tohle bude urcite fajn na nejake vetsi obrazky, ale v ramci mensich jednoduchych obrazku zustanu u toho, ze si vykopiruji data bitplanu z obrazku IFF primo do kodu a barvy urcim v kodu taky. Melo by to si myslim mit i imensi rezii na CPU vuci INCIFF ?
Ty v te sve hre nacitas i data k postavam pomoci INCIFF ?
Vložit komentář:
-
O umiestnenie dát na to správne miesto sa postará AmigaDOS hneď pri nahraní. Assembler má na to "direktívu", sú tuším tri typy Chip/Fast/Public a podľa toho ich umiestňuje do tej správnej pamäte.
Na ostatné veci sú v mape "commands" ktoré nie je bežne vidieť, vo verzii s MODs sú všetky mody uložené vo fastke a len tá hudba ktorá je prehravaná sa kopíruje z fast do chip. Vo verzii s WAV je hudba len vo fastke a "ručne" posielané do audio HW.
Tu je video so zobrazenými príkazmi (aj keď viem keď chcem prechádzať cez steny a zabíjať NPC pre potreby testovania).
Napr.
C1 je neprechodná pre hráča a NPC.
C2 je neprechodná pre NPC.
M - kové su AMMO a pod.
T - čkove teleport.
A - zmena audia.
ATD.
Demo tu: https://drive.google.com/file/d/143w...ew?usp=sharing dúfam že to je funkčné (link), demo som zatiaľ netestol na realHW.
Naposledy upravil ObiWanKen; 31.07.2025, 20:59:47.
- Poděkování 3
Vložit komentář:
-
Jak se to pak dostava z FastRAM do CHIP? Jakoze podle ceho delas presun dat, podle pozice na mape nebo nejak jinak?
Vložit komentář:
-
Všetko je nahrané na jeden krát (jeden súbor). GFX do chipmem a zvyšok do fastmem.
- Poděkování 1
Vložit komentář:
-
Moc pekna prace. Jenom zvidava otazka. Ty assety (sprity a graficke objekty) jsou loadovane najednou nebo se nejak prubezne nahravaji a uvolnuji podle pohybu hrace?
Vložit komentář:
-
Upravil som poslednú verziu CG aby prehrávala WAV-ka.
16kHz audio už spomaľuje dosť citeľne, preto v deme používam 11kHz audio/SFX a niekde je už vidieť spomalenie ale nie je to nič hrozné (na 68020/14mHz). Hlavne na miestach kde je viacej NPC a top-layer objektov. Pri 8kHz je už kvalita zvuku tragická. Celá audio knižnica je uložená vo fast-mem a má viac ako 8mb.
Ešte by to chcelo testnúť na skutočnom železe.
- Poděkování 7
Vložit komentář:
-
Mod player by sa iste dal upraviť ale v podstate mod je zbytočný keď je možné takto prehrávať wav o veľkosti aj niekoľko desiatok megabajtov, limit je len veľkosť fastmem.
Skúsil som pridať prehrávanie audia do jedného môjho 4P pokusu kde viem že blitter už ide na maximum a nespozoroval som spomalenie.
Čo ale neviem ako je uložené stereo v súbore. Pri mono idú data pekne za sebou, stačí ich len po wordoch pchať do Pauly
Keď tento postup použijem pri stereo tak z repro lezie bordel. Zrejme data budú za sebou po bajtoch takže bude treba "vyskladať" word pre každý kanál.
- Poděkování 6
Vložit komentář:
-
Hezké!
Mod-player rutiny by se daly upravit tak, aby se na místech, kde se pro Agnus nastavují adresy pro DMA přenos samplů, volal nějaký tvůj kód pro nastavení přehrávání z fast-ram (s tím CIA časováním). Určitě to už někdo udělal nebo aspoň zkoušel. Mám pocit, že za těch 40 let na Amize už lidi zkusili úplně všechno
Standardně má audio DMA přiřazeny časové sloty sběrnice vždy na začátku obrazového řádku (http://amigadev.elowar.com/read/ADCD.../node02D4.html ). Čtyři takty sběrnice, čtyři načtené wordy. Vzorky jsou ale osmibitové, takže se načtou hned dva vzorky pro kanál. Takže na výstup může jít až skoro 30kHz? Tak nějak, ne? U CIA časovačů je blbé, že ošetření přerušení je u 68000 docela pomalé. Na https://oldwww.nvg.ntnu.no/amiga/MC6...timexcept.HTML se píše, že až 44 taktů a jen RTE instrukce zabere 20 taktů. Ale to samozřejmě není problém u rychlejších procesorů s fast-ram. Přeji hodně štěstí s programováním!
- Poděkování 2
Vložit komentář:
-
Novy Hippoplayer, a pry i Eagleplayer, umi prehravat MODy z fast. Tvurce hippouse je docela aktivni na forech, a mozna k tomu neco i napsal, nepatral jsem.
- Poděkování 4
Vložit komentář:
-
-
Autorem citovaného textu je ObiWanKen Přejít na původní příspěvekNapadla ma taká blbina a využiť na prehrávanie samplov CIAB timer tak aby mohli byť uložené vo fastmem. A tiež aby ostatné prerušenia a hlavný chod programu zostali voľné.
Tak som prerobil pár songov do "11 kHz raw mono" formátu cez GoldWave. Trochu som sa pohral a výsledok je celkom fajn na HW amigy. Aj keď niektoré songy znejú lepšie ako ostatné.
Žiaľ z nejakého dôvodu mi WinUAE nahráva videa zrýchlene a tak som musel prehrávanie v ASM spomaliť a tak vytvoriť video aby vo výsledku išlo približnou rýchlosťou.
Dúfam že YT mi to nezruší (audio) kvôli autorským právam aj keď už pri uploade niečo mrmlal.
Keďže CIA timre sú na amigách rovnaké tak to v pohode prehráva aj A500. Limitom zostáva už len veľkosť fastky.
A pozerám že YT tam ešte šlahol titulky
Vložit komentář:
Vložit komentář: