Welcome, Guest. Please login or register.


Author Topic: Assembly programozás (Read 199670 times)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 34.0 Firefox 34.0
    • View Profile
Re: Assembly programozás
« Reply #840 on: 2015.January.03. 15:37:54 »
Trükkös! És ez milyen frekvenciával történik, Dave órajellel?

Ezt nem említi a dokumentáció, de például oszcilloszkóppal talán mérhető lenne.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 34.0 Firefox 34.0
    • View Profile
Re: Assembly programozás
« Reply #841 on: 2015.January.03. 15:46:22 »
Tehát ha a pl az összes hangcsatornának a frekvenciáját 0001h-ra állítjuk, akkor egy oldalra már 3x6, és a másik oldalra már 3x6 bit megy, és egy kis trükközéssel, a zajcstorna bevonásával már 2x4x6, nem?

A zajcsatornán nehéz folyamatosan magas (nem zaj) kimenetet elérni, nekem ez csak másik csatorna "feláldozásával" sikerült, de akkor már nincs értelme, ha a felhasználható csatornák számának a növelése a cél.

Offline geco

  • EP addict
  • *
  • Posts: 6316
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 31.0 Firefox 31.0
    • View Profile
Re: Assembly programozás
« Reply #842 on: 2015.January.03. 15:56:32 »
A zajcsatornán nehéz folyamatosan magas (nem zaj) kimenetet elérni, nekem ez csak másik csatorna "feláldozásával" sikerült, de akkor már nincs értelme, ha a felhasználható csatornák számának a növelése a cél.
Felüláteresztő szűrő a zajral a 0-ás csatornával, nem jó, vagy akkor is bukjuk a 0-ás csatornát?

Offline IstvanV

  • EP addict
  • *
  • Posts: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 34.0 Firefox 34.0
    • View Profile
Re: Assembly programozás
« Reply #843 on: 2015.January.03. 15:56:36 »
Még egy, talán csak elméleti jelentőségű megoldás a felbontás javítására a nagyon magas mintavételezési frekvencia (ami önmagában is hasznos) és noise shaping használata, amivel a hallható tartományban 8 bitnél jobb minőséget lehetne elérni. Turbós és bővített gépen ez elvileg működhetne (7.12 MHz-en ~80 kHz-es mintavételezés 6 biten, és 2 MB ~26 másodperc mono hang tárolására elég), de a rossz minőségű D/A konverzió valószínűleg problémát okozna. Viszont normál 4 MHz-es gépen is megoldható a 44.1 kHz-es lejátszás, ha másra nem is marad idő.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 34.0 Firefox 34.0
    • View Profile
Re: Assembly programozás
« Reply #844 on: 2015.January.03. 15:58:23 »
Felüláteresztő szűrő a zajral a 0-ás csatornával, nem jó, vagy akkor is bukjuk a 0-ás csatornát?

A szűrés nem szünteti meg a hallható zajt, csak halkabb lesz, de a lejátszott digitális hang is.

Offline geco

  • EP addict
  • *
  • Posts: 6316
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 31.0 Firefox 31.0
    • View Profile
Re: Assembly programozás
« Reply #845 on: 2015.January.03. 16:01:14 »
A szűrés nem szünteti meg a hallható zajt, csak halkabb lesz, de a lejátszott digitális hang is.
Szuper, ebből is látszik mennyire értek hozzá :D
Amúgy nézegettem a kicsomagoló rutint, tök jó, és ahogy nézem, emellett 16KHz-es lejátszásnak elméletileg még mennie is kéne.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14083
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 34.0 Firefox 34.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #846 on: 2015.January.03. 16:15:00 »
Ezt nem említi a dokumentáció, de például oszcilloszkóppal talán mérhető lenne.
Igen, pont ilyen mérésre gondoltam.

Offline endi

  • EP addict
  • *
  • Posts: 7305
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 39.0.2171.95 Chrome 39.0.2171.95
    • View Profile
    • Honlapom
Re: Assembly programozás
« Reply #847 on: 2015.January.05. 00:59:57 »
off, annak idején egy rövid ideig programoztam amigát asm-ban, írtam rá egy kis demót (sajnos elveszett)
de egyvalamit nem értettem az amigában. attól lefagyott, hogy memóriát olvastam. miért lehetett ez?
Vigyázat! Szektás vagyok! :)

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 34.0 Firefox 34.0
    • View Profile
    • http://lgb.hu/
Re: Assembly programozás
« Reply #848 on: 2015.January.05. 10:39:37 »
off, annak idején egy rövid ideig programoztam amigát asm-ban, írtam rá egy kis demót (sajnos elveszett)
de egyvalamit nem értettem az amigában. attól lefagyott, hogy memóriát olvastam. miért lehetett ez?

Bar igazan nem vagyok Amiga guru, es inkabb tippelek, valamint a konkret problemat se ismerem, azert megprobalok belepofazni, ha kell ha nem :) Szoval, Amiga nem igazan 8 bites, es van egy sajatossag, hogy nagyobb adatmeretnel (azt nem tudom, hogy 16/32 bit eseten ugyanugy vagy csak pl 32 bitnel) ha az nem "aligned" hozzaferes, az biza problema. Marmint pl 16 bites szo olvasasa paratlan memoriacimrol. Egy Z80 eseten ez kevesbe gond: az is tud ugyan olvasni 16 bitet ugye, de valojaban - mivel 8 bites az adatbusz - "ket darabban" olvassa be (szoval tok mind1, hogy paros v paratlan cimen van pl). Amiga eseten a CPU adatbusz (legalabbis 68000-es CPU-knal, kesobb talan volt mar 32 bites is) 16 bites, igy a 16 bitet egyben akarna. Bocsanat, jobban kevesbe tudom elmagyarazni, de nem is igazan ertek hozza :-D Gyakrolatban sose code-oltam Amigra ugyanis.

http://en.wikipedia.org/wiki/Guru_Meditation

Keress ra az unaligned szora az oldalon.

Ez az unaligned access amugy x86-oson is gond, de ott a CPU lekezeli talan, es max annyi a kovetkezmenye, hogy lassabb lesz a vegrehajtasa (plusz orajelciklus stb). Ez viszont remekul ramutat arra, hogy ott is erdemes aligned hozzaferest csinalni, meg ha nem is okoz feltetlen "fagyast", akkor sem optimalis! ...

Z80 eseten viszont total mind1, mivel 8 bitenkent csinalja, tehat ott kb lenyegtelen szerintem. Ezek a gondok ott merulnek fel, ha 8 bitnel nagyobb az elerni kivant adatmennyiseg, es a CPU "nativ" (adatbusz, miegymas) szohossza is nagyobb ennel. IMHO.

Illetve pl: http://en.wikipedia.org/wiki/Bus_error#Unaligned_access
« Last Edit: 2015.January.05. 15:39:45 by lgb »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 34.0 Firefox 34.0
    • View Profile
Re: Assembly programozás
« Reply #849 on: 2015.January.18. 11:53:35 »
62.5 kHz-es sztereó lejátszó 4 MHz-es gépre:
* sndp625.s (4.09 kB - downloaded 184 times.)
Sok értelme ugyan nincsen, mert még 4 MB-os gépen is csak kb. fél percet tud lejátszani, és a bemeneti formátum (sndp625.bin file) fejléc nélküli 6 bites hangminta pazarló módon 8 biten tárolva. :oops: A file betöltése hosszabb ideig tart, mint a lejátszás. De megfelelően konvertálva (noise shaping használatával) jó minőségű, legalábbis emulátoron, igazi gépen valószínűleg problémát okozna a D/A konverzió torzítása.

Offline geco

  • EP addict
  • *
  • Posts: 6316
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 31.0 Firefox 31.0
    • View Profile
Re: Assembly programozás
« Reply #850 on: 2015.January.19. 10:01:05 »
62.5 kHz-es sztereó lejátszó 4 MHz-es gépre:
(Attachment Link)
Sok értelme ugyan nincsen, mert még 4 MB-os gépen is csak kb. fél percet tud lejátszani, és a bemeneti formátum (sndp625.bin file) fejléc nélküli 6 bites hangminta pazarló módon 8 biten tárolva. :oops: A file betöltése hosszabb ideig tart, mint a lejátszás. De megfelelően konvertálva (noise shaping használatával) jó minőségű, legalábbis emulátoron, igazi gépen valószínűleg problémát okozna a D/A konverzió torzítása.
Nem baj, hogy sok értelme nincs, a lényeg (legalábbis az én szemszögemből), hogy mit lehet :D
Amúgy SD kártyával már értelme is lenne, fél perc lejátszás után (jó)pár másodperces várakozás. majd újra fél perces lejátszás :D

Offline IstvanV

  • EP addict
  • *
  • Posts: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 34.0 Firefox 34.0
    • View Profile
Re: Assembly programozás
« Reply #851 on: 2015.January.19. 12:02:46 »
Nem baj, hogy sok értelme nincs, a lényeg (legalábbis az én szemszögemből), hogy mit lehet :D

Ha valakinek van jó minőségű konvertálható 29-30 másodperces hangmintája, azzal ki lehetne próbálni, milyen az EP-s "hifi" hang, legalábbis emulált "ideális" hardveren. Esetleg még módosítani lehetne a lejátszót 7 bites 41667 Hz-es formátum használatára, ami másfélszer kisebb file méretet tesz lehetővé, de ehhez még optimalizálni kellene.

Offline geco

  • EP addict
  • *
  • Posts: 6316
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 31.0 Firefox 31.0
    • View Profile
Re: Assembly programozás
« Reply #852 on: 2015.January.19. 13:05:43 »
Ha valakinek van jó minőségű konvertálható 29-30 másodperces hangmintája, azzal ki lehetne próbálni, milyen az EP-s "hifi" hang, legalábbis emulált "ideális" hardveren. Esetleg még módosítani lehetne a lejátszót 7 bites 41667 Hz-es formátum használatára, ami másfélszer kisebb file méretet tesz lehetővé, de ehhez még optimalizálni kellene.
Sztem kipróbálom valami MP3 átalakításával, majd feltöltöm.
A mono 8bit emulátoron jó volt.

Offline endi

  • EP addict
  • *
  • Posts: 7305
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 39.0.2171.95 Chrome 39.0.2171.95
    • View Profile
    • Honlapom
Re: Assembly programozás
« Reply #853 on: 2015.January.19. 13:11:06 »
olyat nem lehet hogy pl 5 bites, szoftveresen feljavítjuk realtime? :)
pl 5 bit 8 KHz, de szoftveresen közé interpolálunk 6 bites (vagy 8 ) és 16KHz-n játszuk?
Vigyázat! Szektás vagyok! :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 34.0 Firefox 34.0
    • View Profile
Re: Assembly programozás
« Reply #854 on: 2015.January.19. 13:31:42 »
olyat nem lehet hogy pl 5 bites, szoftveresen feljavítjuk realtime? :)

A 6 bites 62500 Hz-es hang már "feljavított" lehet, mert olyan dither (noise shaping) használatát teszi lehetővé, ahol a zaj nagy része a nem hallható 20000-31250 Hz tartományba kerül, és a hallható zaj alacsonyabb, mint az egyszerű 6 (vagy akár 7-8) bites konverziónál. A legtöbb modern DAC hasonló trükkel ér el akár 20-21 bites minőséget úgy, hogy az analóg kimenet ténylegesen csak néhány bites felbontású, de több MHz-es frekvenciát használ.