Welcome, Guest. Please login or register.


Author Topic: DAVE (Read 119367 times)

Offline Lacika

  • EP addict
  • *
  • Posts: 3218
  • Country: hu
    • http://www.ep128.hu
Re: DAVE
« Reply #15 on: 2010.May.19. 14:26:23 »
Ezt az összefoglalót berakjam ide, a fejezet végére?
Vagy más javaslat Zozo? Hol lenne praktikus?

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: DAVE
« Reply #16 on: 2010.May.19. 14:32:57 »

Offline Lacika

  • EP addict
  • *
  • Posts: 3218
  • Country: hu
    • http://www.ep128.hu
Re: DAVE
« Reply #17 on: 2010.May.19. 14:53:36 »

Offline geco

  • EP addict
  • *
  • Posts: 7232
  • Country: hu
    • Támogató Támogató
Re: DAVE
« Reply #18 on: 2010.May.19. 15:03:58 »
Néhány kiegészítés a DAVE dokumentációjához; ez még mindig nem teljes, és nem biztos, hogy mind pontos, de talán van ezek között olyan információ, amit még nem tud mindenki:
Volt, nem is kevés, le is mentettem, hogy majd később nyugodtabb körülmények között emészthessem, ezek a polinomszámlálós dolgok, meg a gyűrűmoduláció több időt igényel, nehogy megfeküdje a gyomrom ;)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: DAVE
« Reply #19 on: 2010.May.19. 19:57:29 »
  - bit 2: memória várakozás mód (csak akkor, ha nincs a 3. bittel letiltva, és nem video memóriához történik hozzáférés):
Errõl a Dave által generált várakozásról derítettem ki korábban, hogy az szabályosan a Z80 WAIT lábát használja. Ha erre a vezetékre rakunk egy kapcsolót, akkor kézzel ki lehet iktatni a várakozást, attól függetlenül, hogy a programok éppen mit állítgatnak. (Ennek 6 Mhz gép + 1.44 floppy esetén van értelme, 6 Mhz-es Z80 csak úgy tudja követni a 16 Mhz-es WD-t, ha nincs várakozás, legalábbis az EXDOS jelenlegi programkódjával.)

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: DAVE
« Reply #20 on: 2010.May.20. 11:07:14 »
hát így utólag olvasva a leírást sem vagyok biztos benne hogy értelmes zene hangzásokra lehet-e használni ezeket a mindenféle torzítókat meg a többit
Vigyázat! Szektás vagyok! :)

Offline Lacika

  • EP addict
  • *
  • Posts: 3218
  • Country: hu
    • http://www.ep128.hu
Re: DAVE
« Reply #21 on: 2010.May.20. 11:59:35 »
hát így utólag olvasva a leírást sem vagyok biztos benne hogy értelmes zene hangzásokra lehet-e használni ezeket a mindenféle torzítókat meg a többit

Ha jól tudom, ehhez szinuszos burkológörbe kellene, a DAVE és az AY meg csak négyszögjelet tud.
Persze lehetett volna a gépbe szintetizátorokban használatos chipet rakni, mint a C64-ben a SID, csak akkor gondolom nem ennyibe került volna a gép. (A C64 ára megjelenésekor 595 USD volt, míg a Spectrumé 175 Font. És akkor sokkal kisebb volt az árfolyamkülönbség a Dollár és a Font között.) És azért '87-88-ban még ez szempont volt az átlag magyar háztartásban... (Ügye a Commodore "költséghatékony" konstrukciói - C16, Plus4 - is hangzásban még talán rosszabbak is, mint az Ep.)
« Last Edit: 2010.May.20. 12:09:39 by Lacika »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: DAVE
« Reply #22 on: 2010.May.20. 12:29:09 »
hát így utólag olvasva a leírást sem vagyok biztos benne hogy értelmes zene hangzásokra lehet-e használni ezeket a mindenféle torzítókat meg a többit

A legjobban talán csak próbálgatással lehet ezeket jól felhasználni, de azért néha az sem hátrány, ha valaki tudja, hogyan működnek. Kár, hogy az effektusok többségét csak egy másik csatorna "feláldozásával" lehet bekapcsolni, ami tovább csökkenti a hasznosságukat.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: DAVE
« Reply #23 on: 2010.May.20. 12:38:08 »
(Ügye a Commodore "költséghatékony" konstrukciói - C16, Plus4 - is hangzásban még talán rosszabbak is, mint az Ep.)

Nem csak talán, hanem biztosan (igaz, az ezekre írt programok az EP-sek többségével ellentétben ki is használták a gép képességeit, ezért kevésbé lehetett feltűnő a különbség) :) Ezt tudják:
  - 2 csatorna, amiből az egyik csak négyszögjelet tud, a másik pedig vagy négyszögjelet vagy zajt (a zaj 8 bites generátort használ, azaz 255 bit után ismétlődik a "véletlenszerű" bitminta)
  - 10 bites frekvencia, amely 110840.47 / (1023 - N) képlettel konvertálható Hz-re (tehát a legmélyebb előállítható hang kb. 100 Hz-es)
  - 0 és 8 között (nem egészen lineárisan) csak globálisan állítható hangerő (nem lehet külön beállítani a két csatornára)
  - "DAC" mód, amelyben a hangerő állításával közvetlenül lehet hangjelet létrehozni (némi trükközéssel 9-nél jóval több, akár kb. 30 szintet is elő lehet állítani, de nem lineárisan)
Azért a 48K-s Spectrumnál ez is lényegesen jobb. De amikor ezek a gépek megjelentek, addigra már C64-et is olcsóbban lehetett szerezni az eredeti árnál. Viszont több C16 és Plus/4 gépet "bővítettek" utólag SID chip beépítésével, amit az újabb, már 2000-es években írt demók és játékok gyakran használnak is, néha akár az eredeti hanggal együtt 5 csatornát elérve.
« Last Edit: 2010.May.20. 12:46:41 by IstvanV »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: DAVE
« Reply #24 on: 2010.May.20. 13:04:46 »
a DAVE és az AY meg csak négyszögjelet tud.

Az AY tud - nagy frekvenciájú burkológörbét használva - háromszögjelet és fűrészjelet is (vagy legalábbis valamit, ami ezekre valamennyire emlékeztet, a nem lineáris hangerő táblázat miatt, lásd itt). Ennek ugyan a nem lineáris torzításon és a fix hangerőn kívűl még az is hátránya, hogy alacsonyabb és főleg rosszabb felbontású az előállítható frekvencia, mint négyszögjelnél, de azért néhány program használja ezt a lehetőséget, ami problémát is jelenthet az EP-re való átírásuknál. A nagy frekvenciájú burkológörbe amplitúdó (gyűrű-) modulációra is használható, mint pl. a Wec Le Mans motorhangja, amely egyszerű zaj nagy frekvenciájű "fűrészjel" burkológörbével modulálva.
« Last Edit: 2010.May.20. 13:12:48 by IstvanV »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: DAVE
« Reply #25 on: 2010.May.20. 16:43:32 »
A legjobban talán csak próbálgatással lehet ezeket jól felhasználni, de azért néha az sem hátrány, ha valaki tudja, hogyan mûködnek. Kár, hogy az effektusok többségét csak egy másik csatorna "feláldozásával" lehet bekapcsolni, ami tovább csökkenti a hasznosságukat.
És vajon mire szánták ezeket a dolgokat? Ezen bonyolítások nélkül egyszerûbben is meg lehetett volna oldani... pl vehettek volna egy kész AY chipet :-)

Offline Lacika

  • EP addict
  • *
  • Posts: 3218
  • Country: hu
    • http://www.ep128.hu
Re: DAVE
« Reply #26 on: 2010.May.20. 17:00:48 »
Ezen bonyolítások nélkül egyszerûbben is meg lehetett volna oldani... pl vehettek volna egy kész AY chipet :-)

Memóriavezérlő akkor is kellett volna, ha mellé raknak egy AY-t plusz egy chip.

Offline geco

  • EP addict
  • *
  • Posts: 7232
  • Country: hu
    • Támogató Támogató
Re: DAVE
« Reply #27 on: 2010.May.21. 08:42:51 »
És vajon mire szánták ezeket a dolgokat? Ezen bonyolítások nélkül egyszerûbben is meg lehetett volna oldani... pl vehettek volna egy kész AY chipet :-)
Ilyenek a SID chipben is vannak, majdnem ugyanezzel a kiosztással, gondolom nem véletlenül tették bele.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: DAVE
« Reply #28 on: 2010.May.21. 08:58:09 »
Ilyenek a SID chipben is vannak, majdnem ugyanezzel a kiosztással, gondolom nem véletlenül tették bele.
Akkor jön a kérdés: mi az amiben jobb a SID chip?

Offline geco

  • EP addict
  • *
  • Posts: 7232
  • Country: hu
    • Támogató Támogató
Re: DAVE
« Reply #29 on: 2010.May.21. 09:10:33 »
Akkor jön a kérdés: mi az amiben jobb a SID chip?
4 jelet tud, a négyszögjel mellett a háromszögjel, a szinusz jel, és a fűrészjel szerepel a palettán, amiknek a hullámhossza állítható, plusz tud még volume envelope-ot, amit az AY is, de itt a három csatornára külön-külön lehet envelope-ot állítani, és a SID chipen a felhasználó állíthatja be, hogy az egyes fázisok mennyi ideig tartsanak, nem csak 9, vagy 10 formából választhat.

 
  port(X)    port(D)    bit   Description
  D400       54272            Voice 1: Frequency Control - Low-Byte
  D401       54273            Voice 1: Frequency Control - High-Byte
  D402       54274            Voice 1: Pulse Waveform Width - Low-Byte
  D403       54275   7-4   Unused
                            3-0    Voice 1: Pulse Waveform Width - High-
                                     Nybble

  D404       54276            Voice 1: Control Register
                            7      Select Random Noise Waveform, 1 = On
                            6      Select Pulse Waveform, 1 = On
                            5      Select Sawtooth Waveform, 1 = On
                            4      Select Triangle Waveform, 1 = On
                            3      Test Bit: 1 = Disable Oscillator 1
                            2      Ring Modulate Osc. 1 with Osc. 3 Output,
                                     1 = On
                            1      Synchronize Osc.1 with Osc.3 Frequency,
                                     1 = On
                            0      Gate Bit: 1 = Start Att/Dec/Sus,
                                             0 = Start Release

  D405       54277            Envelope Generator 1: Attack/Decay Cycle
                                    Control
                            7-4    Select Attack Cycle Duration: 0-15
                            3-0    Select Decay Cycle Duration: 0-15

  D406       54278            Envelope Generator 1: Sustain/Release
                                     Cycle Control
                            7-4    Select Sustain Cycle Duration: 0-15
                            3-0    Select Release Cycle Duration: 0-15

  D407       54279            Voice 2: Frequency Control - Low-Byte
  D408       54280            Voice 2: Frequency Control - High-Byte
  D409       54281            Voice 2: Pulse Waveform Width - Low-Byte
  D40A       54282   7-4    Unused
                            3-0    Voice 2: Pulse Waveform Width - High-
                                     Nybble

  D40B       54283            Voice 2: Control Register
                            7      Select Random Noise Waveform, 1 = On
                            6      Select Pulse Waveform, 1 = On
                            5      Select Sawtooth Waveform, 1 = On
                            4      Select Triangle Waveform, 1 = On
                            3      Test Bit: 1 = Disable Oscillator 1
                            2      Ring Modulate Osc. 2 with Osc. 1 Output,
                                     1 = On
                            1      Synchronize Osc.2 with Osc. 1 Frequency,
                                     1 = On
                            0      Gate Bit: 1 = Start Att/Dec/Sus,
                                             0 = Start Release
 D40C       54284             Envelope Generator 2: Attack / Decay
                                     Cycle Control
                            7-4    Select Attack Cycle Duration: 0-15
                            3-0    Select Decay Cycle Duration: 0-15

  D40D       54285            Envelope Generator 2: Sustain / Release
                                     Cycle Control
                            7-4    Select Sustain Cycle Duration: 0-15
                            3-0    Select Release Cycle Duration: 0-15

  D40E       54286            Voice 3: Frequency Control - Low-Byte
  D40F       54287            Voice 3: Frequency Control - High-Byte
  D410       54288            Voice 3: Pulse Waveform Width - Low-Byte
  D411       54289   7-4    Unused
                            3-0    Voice 3: Pulse Waveform Width - High-
                                     Nybble

  D412       54290           Voice 3: Control Register
                            7      Select Random Noise Waveform, 1 = On
                            6      Select Pulse Waveform, 1 = On
                            5      Select Sawtooth Waveform, 1 = On
                            4      Select Triangle Waveform, 1 = On
                            3      Test Bit: 1 = Disable Oscillator 1
                            2      Ring Modulate Osc. 3 with Osc. 2 Output,
                                     1 = On
                            1      Synchronize Osc. 3 with Osc.2 Frequency,
                                     1 = On
                            0      Gate Bit: 1 = Start Att/Dec/Sus,
                                             0 = Start Release

  D413       54291            Envelope Generator 3: Attack/Decay Cycle
                                     Control
                            7-4    Select Attack Cycle Duration: 0-15
                            3-0    Select Decay Cycle Duration: 0-15

  D414       54285             Envelope Generator 3: Sustain / Release
                                     Cycle Control
                            7-4    Select Sustain Cycle Duration: 0-15
                            3-0    Select Release Cycle Duration: 0-15
  D415       54293             Filter Cutoff Frequency: Low-Nybble
                                     (Bits 2-0)
  D416       54294             Filter Cutoff Frequency: High-Byte
  D417       54295             Filter Resonance Control / Voice Input
                                     Control
                            7-4    Select Filter Resonance: 0-15
                            3      Filter External Input: 1 = Yes, 0 = No
                            2      Filter Voice 3 Output: 1 = Yes, 0 = No
                                   Filter Voice 2 Output: 1 = Yes, 0 = No
                            0      Filter Voice 1 Output: 1 = Yes, 0 = No

  D418       54296            Select Filter Mode and Volume
                            7      Cut-Off Voice 3 Output: 1 = Off, 0 = On
                            6      Select Filter High-Pass Mode: 1 = On
                            5      Select Filter Band-Pass Mode: 1 = On
                            4      Select Filter Low-Pass Mode: 1 = On
                            3-0    Select Output Volume: 0-15

  D419       54297            Analog/Digital Converter: Game Paddle 1
                                     (0-255)
  D41A       54298            Analog/Digital Converter: Game Paddle 2
                                     (0-255)
  D41B       54299            Oscillator 3 Random Number Generator
  D41C       54230            Envelope Generator 3 Output
« Last Edit: 2010.May.21. 09:25:00 by geco »