Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > hr.comp.programiranje.java > #41

Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u?

Path csiph.com!news.mixmin.net!news.unit0.net!newsfeed.CARNet.hr!Iskon!.POSTED!not-for-mail
From Chupo <bad_n_mad@yahoo.com>
Newsgroups hr.comp.programiranje, hr.comp.programiranje.java
Subject Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u?
Date Mon, 7 Aug 2017 18:30:28 +0200
Organization Noname d.o.o.
Lines 84
Message-ID <MPG.33f2b40a114b0d4498afba@news.t-com.hr> (permalink)
References <MPG.33cd16eca862579f98af9d@news.t-com.hr> <ojvr69$35s$1@sunce.iskon.hr> <MPG.33cd9cfec245bfa898af9e@news.t-com.hr> <ok4jb4$nmr$1@sunce.iskon.hr> <MPG.33d0ae3adb5564d498afa3@news.t-com.hr> <oka2n8$unf$1@sunce.iskon.hr> <MPG.33d2e0fa57b3969598afa7@news.t-com.hr> <okak2v$cql$1@sunce.iskon.hr> <MPG.33d2fff662f7988698afa9@news.t-com.hr> <okfc5i$vtn$1@sunce.iskon.hr> <MPG.33d58695c85cc16a98afad@news.t-com.hr> <oki3vr$2tl$1@sunce.iskon.hr> <MPG.33d75a81ee98a98098afae@news.t-com.hr> <okl956$h69$1@sunce.iskon.hr> <MPG.33d8b3d68ccdbc5698afaf@news.t-com.hr> <oknm0i$cnp$1@sunce.iskon.hr> <MPG.33d989586fd9d64198afb0@news.t-com.hr> <okqk9n$la5$1@sunce.iskon.hr> <MPG.33db1810b8d453c098afb4@news.t-com.hr> <MPG.33db8ffff84ee9298afb6@news.t-com.hr> <oksjjc$66v$1@sunce.iskon.hr> <MPG.33dc3b1d233493a298afb7@news.t-com.hr> <om1kng$k43$2@sunce.iskon.hr> <MPG.33eeaf4a9fa3ddbf98afb9@news.t-com.hr> <oma13a$24s$1@sunce.iskon.hr>
NNTP-Posting-Host 93-142-244-210.adsl.net.t-com.hr
Mime-Version 1.0
Content-Type text/plain; charset="iso-8859-2"
Content-Transfer-Encoding 7bit
X-Trace sunce.iskon.hr 1502123443 20159 93.142.244.210 (7 Aug 2017 16:30:43 GMT)
X-Complaints-To abuse@iskon.hr
NNTP-Posting-Date Mon, 7 Aug 2017 16:30:43 +0000 (UTC)
User-Agent MicroPlanet-Gravity/2.60.2060
X-AGE Too young to die, too old to cry
Xref csiph.com hr.comp.programiranje:13205 hr.comp.programiranje.java:41

Cross-posted to 2 groups.

Show key headers only | View raw


In article <oma13a$24s$1@sunce.iskon.hr>, Bruno Babic <a@b.c> says...
> Ako sam dobro shvatio, ta rutina za zvuk se okaci na neki interrupt koji 
> se onda poziva u nekim redovitim intervalima? Rutina pamti sto je do 
> tada odradila pa nastavlja dalje u odnosnu na prethodni prolaz?
> 

Da, ova verzija za mikrokontroler. S obzirom da je u C-u nemoguce 
napisati kod koji bi u svakom prolazu trosio isti broj T stanja se 
koristi timer koji generira interrupt-e u pravilnim vremenskim 
razmacima. U glavnom programu se parsiraju podaci a u Timer 2 output 
compare match interrupt-u se na zvucniku generiraju klikovi na isti 
nacin kako bi ih generirala rutina na Spectrumu koja ne koristi 
interrupt nego radi punom brzinom ali je napisana tako da u svakom 
prolazu, bez obzira na grananja, uvijek trosi isti broj taktova.

Moglo bi se reci da je takav nacin pisanja programa varanje i autor 
foruma je reko da bi i na mikrokontroleru htio napraviti 'pravu' rutinu 
pisanu u assembleru koja bi radila na potpuno isti nacin ko originalne 
rutine za Spectrum. Na AVR mikrokontrolerima ce to biti puno lakse 
napraviti jer 90% instrukcija traje samo 1 ili dva takta a na Spectrumu 
instrukcije traju od 4 do 23 takta pa nije jednostavno napraviti rutinu 
koja ce uvijek trositi jednak broj taktova.

Interrupt se na Spectrumu za tu svrhu nije mogo koristiti jer 
frekvenciju interrupta odreduje ULA i tako da se interrupti, kao i na 
vecini kompjutera iz osamdesetih, generiraju s VBLANK i frekvencija je 
onda samo 50 Hz a neke rutine za zvuk na Spectrumu impulse generiraju 
cak i s frekvencijama vecim od 400 (cetiristo!!) kHz :-)) Iako se na 
prvi pogled cini da frekvencija toliko iznad praga cujnosti nema 
smisla, ako se prouci princip na kojem se u takvim rutinama dobiva neki 
valni oblik u cujnom podrucju onda to ima smisla. Takve frekvencije su 
i na samoj granici sta se tice brzine kojom se uopce na Spectrumu moze 
mijenjati stanje na portu 254 (jer 3.5 MHz/400 kHz = samo 8 taktova).

Na mikrokontroleru koji ima skoro 5 puta brzi takt a instrukcije mu u 
prosjeku trosiju 10 puta manje taktova i jos k tome ima i vise timer-a 
od kojih svaki omogucava generiranje vise vrsta interrupt-a nije 
problem takav nacin generiranja zvuka simulirati s rutinom u C-u koja u 
glavnom programu za sinhronizaciju kanala koristi dodatnu variablu, ali 
pisanje takve rutine na Spectrumu spada u umjetnost :-)

Dodatna otezavajuca okolnost je da na ranim modelima Spectruma prilikom 
pisanja u port 254 ULA uzrokuje dodatno kasnjenje koje se periodicki 
mijenja - pa je onda zbog toga uvjet da bi rutina uvijek trajala 
jednaki broj taktova da je zbroj taktova izmedju dva pisanja u port 254 
djeljiv s 8 :-) Ako se tome doda i da se za jedan prolaz kroz rutinu na 
raspolaganju ima samo oko 250 taktova, onda je sve skupa jos 'malo' 
kompliciranije i to su razlozi zasto su se prve kvalitetne rutine za 
visekanalni zvuk pocele javljati tek jedno 4-5 godina od izlaska 
Spectruma. Mislim da je prvi 'pravi' dvokanalni zvuk bio u Manic Mineru 
i to je zvucalo jako lose:

https://youtu.be/Us89iCZJuCQ

ali je u svim casopisima opisivano kao 'nevjerojatno'. Prva kvalitetna 
rutina koje se sjecam je bila ova:

https://youtu.be/MKKTlGHkh0E

U ono vrijeme sam ju analizirao valjda godinu dana :-)

Ovo je recimo primjer rutine gdje zvuk na emulatorima nije ni blizu 
onoga kako se cuje u originalu:

https://youtu.be/nAlHlpzzrKo

Kroz Spectrumov zvucnik se cuje zvuk gajdi ali u emulatorima se cuje 
potpuno drukciji zvuk. Objasnjenje je ovdje:

https://youtu.be/nAlHlpzzrKo

<start copy/paste>
zx beeper routines operate with up to 400 kHz, which is impossible to 
reproduce accurately on a 44.1 kHz soundcard. 
<end copy/paste>

To je napisao upravo ovaj isti covjek koji je autor foruma na kojega 
sam ti dao link :-)
-- 
Let There Be Light
Custom LED driveri prema specifikacijama
http://tinyurl.com/customleddriver

Chupo

Back to hr.comp.programiranje.java | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-10 05:46 +0200
  Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-07-10 14:16 +0200
    Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-10 15:18 +0200
      Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-07-12 09:32 +0200
        Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-12 23:08 +0200
          Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-07-14 11:25 +0200
            Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-07-14 11:27 +0200
            Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-14 15:09 +0200
              Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-07-14 16:22 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-14 17:21 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-07-16 11:37 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-16 15:20 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-07-17 12:36 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-18 00:37 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-07-18 17:23 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-19 01:10 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-07-19 15:14 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-19 16:21 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Nikolaj Lazic <nlazicBEZ_OVOGA@mudrac.ffzg.hr> - 2017-07-19 17:08 +0000
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-07-20 18:04 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-20 19:17 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-20 20:42 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-21 03:58 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-21 05:14 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-07-21 12:04 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-21 17:24 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-08-04 13:10 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-08-04 17:21 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-08-07 17:30 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-08-07 18:30 +0200
                Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-08-07 18:35 +0200
        Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Chupo <bad_n_mad@yahoo.com> - 2017-07-16 01:04 +0200
          Re: Citanje color offset-a za svaki pixel u indexed color .bmp file-u? Bruno Babic <a@b.c> - 2017-07-16 11:32 +0200

csiph-web