STARTUJ ULUBIONE CO NOWEGO? C64 FORUM KSIĄŻKA GOŚCI REDAKCJA KONTAKT

PODAJ EMAIL, ABY BYĆ NA BIEŻĄCO INFORMOWANYM O AKTUALIZACJI MAGAZYNU:    
Informacje o aktualizacji Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Poczytaj lub dodaj wpis Czyli kto to tworzy Kontakt z nami

Internetowy Fanclub Agnieszki Cegielskiej - www.cegielka.net


SONDA

Jak dowiedziałaś(eś) się o istnieniu tej strony?
Z innej strony - link
Z wyszukiwarki
Znajomy podał adres
Inne



OSTATNI KOMENTARZ  ?

Obwody drukowa ...
Porównanie kom ...
Śpiewać każdy ...
Budujemy carty ...
Rozmowa z ramo ...

(7)
(11)
(51)
(6)
(2)



WYBIERZ MELODIĘ       ?


The last ninja
The l.n. The wilderness
The last ninja 2
The l.n.2 The basement
The l.n.2 The final battle
The l.n.2 The mansion
The l.n.2 The office
The l.n.2 The sewers
The l.n.2 The street
The great giana sisters
The green beret
Turrican intro
Bubble Bobble Remix
Creatures
Game over
Mayhem intro
Diablo
Doom 2 Hell on Earth
Hi-octane
Xenon 2
Mario in the Loonybin
Tetris (gameboy) remix


Jaws
Spy vs spy
Draconus
Ghoust busters
Tetris (c-gameboy)
Duke Nukem 3D




SPRZĘT 


COVOX DO C-64



   Ileż to opisów tego urządzenia ukazało się dla PC! Od prostych na rezystorach do wyrafinowanych kart symulujących w mniejszym lub większym stopniu Sound Blastery i tym podobne.

WERSJA PIERWSZA.

   Najprostsza wersja Covoxa, przyłączana do wyjścia drukarki i zawierająca rezystory, kosztuje około 7zł. Czy warto się nią zajmować? Otóż nie! Dlaczego?

   Aby osiągnąć wystarczającą dokładność należy użyć rezystorów o tolerancji 0,5%. Takie rezystory kosztują około 1,4zł za sztukę. Zasada działania wymaga, aby w drabince (rys. 1) rezystory oznaczone jako 2R miały rezystancję dokładnie dwa razy większą od rezystorów oznaczonych R. Można to osiągnąć tylko przez złożenie R z dwóch połączonych równolegle rezystorów. Elementy C1, C2, R17, R18, R19 stanowią filtr wyjściowy obcinający harmoniczne. Układ jest bardzo prosty i można go zmontować "w powietrzu". Jak łatwo policzyć, potrzeba 33 rezystorów po 1,4zł za sztukę, czyli 47zł. To dużo. Jeśli użyjemy rezystorów o tolerancji 2%, czy 5% nie osiągniemy wymaganej dokładności.


Rys. 1. Schemat prostego Covoxa.

   Autor przeprowadził odpowiednie badania i stwierdził, że wersja z rezystorów, pokazana na rysunku 1, nie nadaje się do poważniejszych zastosowań.

WERSJA DRUGA.

   Zajmiemy się drugą wersją, gdzie użyto scalonego przetwornika typu DAC-08. Zawiera on w swej strukturze drabinkę rezystorów R-2R, wzmacniacze operacyjne, bufory wejściowe. Na rysunku 2 przedstawiono schemat Covoxa. Wyjście przetwornika jest prądowe i do zmiany prądu na napięcie należy użyć wzmacniacza operacyjnego. Funkcję tę spełnia układ W1, a elementy C9, R5 tworzą filtr likwidujący harmoniczne powstałe w procesie przetwarzania A/C, C/A. Sygnał po przejściu przez wtórnik W2 przekazywany jest do wyjścia. Dodatkowo na wejście W2 dodawany jest sygnał pochodzący z układu dźwiękowego C-64, dzięki czemu sample można mieszać z dźwiękiem generowanym przez SID.


Rys. 2. Schemat ideowy Covoxa.

MONTAŻ.

   Płytkę należy zaprojektować i wykonać we własnym zakresie na podstawie schematu z rysunku 2. Montaż rozpoczynamy od wlutowania rezystorów, kondensatorów. Następnie nalutowujemy złącze USER portu i układ US1. Przyłączamy urządzenie do komputera i sprawdzamy czy na wyprowadzeniu 2 US1 pojawiło się napięcie -5V. Jeśli nie, należy sprawdzić elementy C5, D1, D2, C6, US1, C7, C8. Należy zwrócić uwagę na prawidłowe wlutowanie kondensatorów. W następnej kolejności montujemy układy US2, US3. Jako US2 można użyć DAC0808, MC1408, DAC-08. Przyłączamy wyjście Covoxa do dowolnego wzmacniacza mocy i wpisujemy program z listingu 1 w Turboassemblerze.

;PROCEDURA GENERUJACA PRZEZ COVOX
;PRZEBIEG PILOKSZTALTNY
;O CZESTOTLIWOSCI OKOLO 2KHZ

         *= $0810

;---------------------------------------
         SEI        ;WYL. PRZERWAN
         LDX #$FF   ;PORT NA WYJ
         STX $DD03
         INX        ;WYL. VIC
         STX $D011
LOOP     INX        ;GENEROWANIE
         STX $DD01  ;PRZEBIEGU
         STX $D020  ;PILOKSZTALTNEGO
         NOP
         NOP
         JMP LOOP
;---------------------------------------		 

   W głośniku powinien pojawić się ton o częstotliwości około 2kHz. Program generuje napięcie piłokształtne, co można sprawdzić oscyloskopem.


Rys. 3. Podłączenie wtyczek.

   Pozostało jeszcze podłączyć wtyczki z Covoxem (rys. 3) i wypróbować programy zapisujące i odtwarzające sample ośmiobitowe (listing 2).

;PROCEDURA SAMPLUJACA DZWIEKI
;DO PAMIECI KOMPUTERA 8-BITOW
;ORAZ ODTWARZAJACA JE NA PRZERWANIACH

         *= $0810

         JMP READ
         JMP WRITE
;---------------------------------------
START    = $1000
KONIEC   = $FF00
SPEED    = $90
;---------------------------------------
STRLOW   = $FA
STRHIGH  = STRLOW+1
END      = STRHIGH+1
SPD      = END+1
PAMIEC   = SPD+1
;---------------------------------------
WRITE    SEI          ;WYL PRZERWAN
         LDA #$7F
         STA $DD0D
         LDA #>START  ;ADRES STARTOWY
         LDX #>KONIEC ;KONCOWY
         LDY #SPEED   ;PREDKOSC
         STA STRHIGH
         STX END
         STY SPD
         LDX #$00
         STX STRLOW
         JSR VOLUME   ;GLOSNY SID
         LDX #$07
         JSR VOLUME
         LDX #$0E
         JSR VOLUME
         LDY #$00     ;PORT NA WEJSCIE
         STY $DD03
         JSR TIMER
LOOP1    LDA $DD0D    ;CZEKA NA TIMER
         AND #$01
         BEQ *-5
         LDA $DD01    ;ODCZYT PROBKI
         LSR A
         LSR A
         LSR A
         LSR A
         STA $D418    ;WYSLANIE DO SID
         STA $D020
         LDA $DC01    ;CZY BYL STOP
         BPL STOP
         LDA $DC01    ;CZY SPACJA
         AND #$10
         BNE LOOP1

       ;NACISNIETO SPACJE START ZAPISU

         STY $D011    ;WYLACZENIE VIC
DALEJ    LDA $DD0D    ;CZEKA NA TIMER
         AND #$01
         BEQ *-5
         LDA $DD01    ;POBRANIE PROBKI
         INC $01
         STA (STRLOW),Y
         DEC $01
         LSR A
         LSR A
         LSR A
         LSR A
         STA $D418
         STA $D020
         LDA $DC01    ;CZY BYL STOP
         BPL STOP
         INY          ;ZWIEKSZ ADRES
         BNE DALEJ
         INC STRHIGH
         LDA STRHIGH  ;CZY END
         CMP END
         BNE DALEJ
STOP     LDA #$1B     ;WLACZA EKRAN
         STA $D011
         CLI          ;I PRZERWANIA
         RTS
;---------------------------------------
READ     SEI          ;WYLACZENIE IRQ
         LDA #$7F
         STA $DD0D
         LDA #>START  ;ADRES STARTOWY
         LDX #>KONIEC ;KONCOWY
         LDY #SPEED   ;PREDKOSC
         STA STRHIGH
         STX END
         STY SPD
         LDA #$00
         STA STRLOW
         JSR TIMER
         LDY #$FF     ;PORT NA WYJSCIE
         LDA $0318    ;ZAPAMIETANIE
         LDX $0319    ;WEKTORA NMI
         STA NMILOW
         STX NMIHIGH
         LDA #NMI
         STA $0318
         STX $0319
         LDA #$81     ;ZEZWALA NA NMI
         STA $DD0D
         CLI
         RTS

NMI      PHA
         TYA
         PHA
         LDY #$00
         INC $01
         LDA (STRLOW),Y ;ZM. BANKU RAM
         DEC $01
         STA $DD01
         STA $D020
         INC STRLOW
         BNE *+4
         INC STRHIGH
         LDA STRHIGH   ;CZY KONIEC
         CMP END
         BEQ STOPNMI
         LDA $DC01     ;CZY BYL STOP
         BPL STOPNMI
EXITNMI  PLA           ;WYJSCIE Z NMI
         TAY
         PLA
         BIT $DD0D
         RTI

STOPNMI  LDA NMILOW    ;STARY WEKTOR
         LDX NMIHIGH
         STA $0318
         STX $0319
         LDA #$01      ;WYL PRZERWAN
         STA $DD0D
         BNE EXITNMI
;---------------------------------------
VOLUME
         LDA #$00
         STA $D405,X
         LDA #$FF
         STA $D402,X
         STA $D403,X
         LDA #$F0
         STA $D406,X
         LDA #$41
         STA $D404,X
         RTS
;---------------------------------------
TIMER
         LDA #$00      ;USTAW TIMER
         STA $DD05
         LDA SPD
         STA $DD04
         LDA #$01
         STA $DD0E
         LDA $DD0D
         RTS
;---------------------------------------
NMILOW
         .BYTE $00
NMIHIGH  .BYTE $00
;---------------------------------------

   Jak widać, program jest bardzo podobny do wersji czterobitowej, co jest naturalne. Niektórzy zapytają, dlaczego podczas zapisu skierowałem dźwięki z samplera na SID? Otóż nie można mieć w porcie równocześnie Samplera i Covoxa.

WYKAZ ELEMENTÓW.

Rezystory
R1 : 220Ohm
R2, R3, R5 : 2,7kOhm
R4 : 8,2kOhm
R6, R7 : 10kOhm
Kondensatory
C1 : 47uF
C2, C4, C7, C9 : 22nF
C3, C8 : 22uF
C10 : 10nF
C11 : 470nF
Półprzewodniki
D1, D2 : 1N4148
US1 : 79L05
US2 : DAC-08
US3 : TL082
Różne
Złącze USER
DIN5 : wtyk i gniazdo

   Literatura:
Andrzej Markowski: Układy analogowe w systemach mikroprocesorowych WNT, Warszawa 1991, 1992.
USKA Układy analogowe 5/95. AVT, Warszawa, 1996.
Marian Łakomy, Jan Zabrodzki: Scalone przetworniki analogowo-cyfrowe i cyfrowo-analogowe. PWN, Warszawa 1985.



Autor:
Data realizacji:
Data publikacji:
Data modyfikacji:
Pierwsza publikacja:



Sławomir Skrzyński
-
16.3.2004
-
EDW 4/97





DODAJ SWÓJ KOMENTARZ



Instrukcja używania systemu komentarzy    

  1. W polu "Podpisz się" umieszczasz swoje Imię, Nazwisko albo Pseudonim używając znaków alfanumerycznych: A-Z, 0-9 oraz znaków specjalnych, np.: !^<>" ' itp.
    Tagi HTML są nieaktywne.
  2.    
  3. W polu "Wpisz treść" umieszczasz komentarz używając znaków alfanumerycznych: A-Z, 0-9 oraz znaków specjalnych, np.: !^<>" ' itp. Klawisz ENTER tworzy nowy akapit.
    Tagi HTML są aktywne. Możesz:

  4.    Możliwość:

    Komenda:

    Przykład:

       a.   Pogrubić tekst: <B></B> Pogrubiony
       b.   Pochylić tekst: <I></I> Pochylony
       c.   Podkreślić tekst: <U></U> Podkreślony
       d.   Stworzyć indeks górny: <SUP></SUP> Indeks górny
       e.   Stworzyć indeks dolny: <SUB></SUB> Indeks dolny
        f.   Użyć czcionki maszynowej: <TT></TT> Czcionka maszynowa


    Adresy URL wpisujemy w postaci http://nazwastrony.pl, ftp://nazwastrony.pl.
    Adresy email wpisujemy w postaci nazwa@nazwa.pl.
    Adresy Gadu-Gadu wpisujemy w postaci gg:1234567 (bez spacji).

    Proszę pamiętać o domykaniu otwartych tagów.
    Przed naciśnięciem przycisku Komentuj, zaznacz checkboks przy jego prawym boku.

Podpisz się:

Wpisz treść:

   wyślij mój komentarz    ukryj mój adres IP