Echo #06
30 июня 2000 |
|
Iron - Programming a sound card for the ZX Spectrum: Ultra Sound Card (DMA).
Witchcraft Ultra Sound Card ~ The sound is a vibration of air, who sway our ears and through their perceived brain, of course, if he's you have. ~ Hi, all! This article prompted me to write the rumors persisted walking (Roaming), the expanses of our neobyatnoy country, particularly in fido. So what is DMA Ultrosound Card (yes, DMA, and not Direct Sound). Let's start with its sonic possibilities: Number of channels: 4 Bits, bits: 8 Level Reg. Volume: 0-63 (6 bit) Sampling rate: up to 3.5 MNz (KNz NOT!) The maximum size of serviced memory: 16 MB. (What is not a sound card to SPRINTER'u?) Because Speccy is not threatened, the standard used to 1MB. Maximum sample size: 64kb (See page because the DMA not 16K as Z80, and for 64k!) In general, the length of the sample is not restricted, it just breaks on the segments are multiples of 64KB. The program card is very easy, all you need is to throw in appropriate port number of the bank, which is a sample, it address in the bank, length, volume, and allow the option RATE work programmed channel. So you do not say that we such-syakie not give examples of programming, we provide ready-made protsedurki. So, drove: 1. Survey of the availability of maps. TEST xor a; \ ld bc, # dc77;> Reset DMA out (c), a; / ld b, # 0c; take a 16-bit port (address register) ld de, # 1234; throw out (c), e; it out (c), d; any number of in a, (c); Read it from the port cp e jr nz, noDMA; compare it with the throws in a, (c) cp d jr nz, noDMA; if it does not, then the DMA absent present --------; otherwise, you will enjoy listening! noDMA --------; all clear. Unlike the test for General Sound, PC does not hang up. 2. Playing sample Mode equ # 48; 0-th channel, reading the memory, without avtozagruz , Ki, an increase in the address, easy access to ; Request Rate equ 16; sampling frequency in kHz Bank equ 0; 0-th bank Adres equ 0; address in the format of DMA (ie, if the sample is And in the 16 th page of companies, then the DMA will , Address-# 0000 17 - # 8000, etc. to # ffff) Len equ # 2000; length sample 8kB Volume equ 63; volume 0-63 Mask equ 0; mask for the channel PLAYER ld bc, # 8c77; setting total sub a; mode (once out (c), a; after reset). ld b, # fd; set the mode of the first ld a, # 34, the channel first timer (also one out (c), a; time after reset). ld b, # 3d; ask ld de, 3500/Rate; frequency out (c), e; sample out (c), d; for the sample. ld b, # bc; program modes ld a, Mode; channel out (c), a; DMA. ld a, Bank; program, the bank ld b, # 07; DMA for out (c), a; the first channel. ld hl, Adres; set ld b, # 0c; initial out (c), l; address out (c), h; sample. ld hl, Len; length ld b, # 1c out (c), l; sample. out (c), h ld a, Volume; set ld b, # 3f; volume out (c), a; sound. ld a, Mask; allow ld b, # ac; work out (c), a; the first channel. ret Now you can do all you want, and will sample play in the background until you play all 8kB. You can loop playback, you need only install the 4 bits in a byte Mode. Parameters of the player determines that a sample is loaded on at # c000 page # 10. Most often, questions arise (spores) on the sampling frequency (RATE), everlasting detail: m / s 8237A (8237A-4, 8237A-5, the analog - 1810VT37) works under the scheme, with a maximum sampling rate 3.5MHz (7MHz some modifications for TURBO), to find a application in the field of sound very difficult, because maximum sampling frequency. wav 48KHz. Therefore, in all characteristics associated with sound, written 48KHz. I hope this issue sorted out. PRINCIPLE work based on the direct memory access (Direct Memory Access - DMA). In addition to the audio capabilities of the device can be used as an accelerator for block operations, because 8237 has a similar command ldir that runs at 2 times (at 4 times at 7MHz) faster than Z80. Hence, the following benefits: 1) Shipment block memory-memory; 2) completion of the address space byte. Because in 8237 size 64kb becomes possible to transmit data to work with the Z80 without zamorochek pages. Sending unit is available in the event that there are 2 free channel. In addition to the device 8237 yuzayutsya two timers 8253 (8254, analog - 580vi53). Each timer is on Channel 3, with 6 of which 4 are reserved for audio channels. The remaining 2 channel programmer can use at their discretion, to obtain Interrupt 30 ... 150 Hz. If you change the sampling rate, you can set the software any rate companies (50% ... 100% speed), ie can be obtained Any INT. I've seen the DeMouy ADRINALIZ a rate of 60% of the face - cool! Playing. Mod is an interrupt, real-time in percent DMA Sound Card takes 1000 cycles for INT (9000 peak). When used as an accelerator, we can write a scroll of ekrana INT +25000 cycles per cent free, and at 8237 Turbe scroll + multicolor whole screen + 10000 cycles percent free. Another possibility DMA Ultrosound Card - playing with a screw. wav in real time with CD-quality, Stereo 44kNz not limited in length. Well, listen. mod and work simultaneously with VG93 without any problems. Once in the echo of a thought flashed that ~ ... about Count RBCU author, not ...~, knows it's not so much who as the author does not know about it. Because play. wav is an interrupt is opportunity to receive an interrupt with a different frequency, then we can play sound in a format similar MPEG'u, the benefit of free percent of the time to unpack enough (theoretical developments already underway). Now about the issue with the inhibition percent of the map: if there was a . Wav with sampling 1.75MGts he would when playing inhibited by 50% percent. Those who are even slightly familiar with the arithmetic can estimate how long it will take a cent playing. wav 48 kHz (about 3-5%). Flashed idea of increasing the clock at the DMA 12-14MGts. Nothing good will come out. In the area the sound is no payoff will not be because samples with sampling 14000kGts does not exist, and as use as an accelerator, then the operation will block transfer takes 1-2 cycles. But there are always ~ but ~ - stand a memory? 565ru7 not stand unequivocally, and to transfer all the memory on the Sims - and too much fuss and cost. Will there be a real benefit from this - who does not know. Quite sufficient 7MHz clock and the sheep are safe and Wolves hungry. The only refinement that can be privetstvovatpodklyuchenie ~ ~ Slave DMA controller 8237, to increase the number of channels up to 7 (4 audio and 3 for maintenance of peripheral devices as PCs). As for emulation general'a, sound drive, ay - it perhaps both hardware and software. Someone suggest to Add to map percent z80 or similar, my memory, etc. I will answer at once: nothing good comes out, we have a symbiosis general sound, with direct access to their same memory. I it seems that it is pointless (anyone seen on pisyuke Sound Blaster + Pentium III?), Because workload per cent will be no more 10-15%. There is no question of cheapness in relation to the GS, after such improvements can not go, because CPU will pull behind them and ROM, and additional logic. The biggest plus of this card-independence from the ROM, in contrast to the general sound, I have no doubt that the glitches in ROM general'a enough until the next millennium. Now the assembly of maps: the scheme is really big, but nothing complicated in the repetition not. Assembly is gradually. There is a method of assembling and debugging of the map, where is explained in detail how, what and where to solder, to poke and that push. Are given all sorts of tests. For debugging requires only a logical probe on one melkosheme (Scheme which is given there). It is quite possible to build the map for 3-4 weeks. Once Alexander Kulik wrote in response Tim'u Kelly, saying :~... I saw these authors. Send any kassetki and said that it is their "offspring created", but actually ...~. I also did not immediately believed that both plays DMA Ultrasound Card, has not yet brought her and have not checked in the case. The sound quality on the DMA Ultrasound Card is not inferior AWE32 (do not believe it? can ask KGS INC and Afendikova). Certain Dmitry Moskaluk said: ~ ... what for good on the Spectrum sound card, if its price is three times (one more stone in the direction of GS-ca.'s) of the computer ...~. The cost: cost me 15 bucks a card (!). M / s 8237 is - 1.50 bucks, m / s 8253 and 1 buck, 2 bucks for 8 pieces 572pa1 well and logic on the other, and polygon. By the way, I know there are two maps: one for Inozemtseva Alexis, the second in HARD from WITCHCRAFT (ie me). Indeed there is a database software for this card - players. Mod,. Wav, editor of Digital Studio, and about twenty fully voiced toys. Now writes the editor. Mod and other software. T.k.DMA Ultrasound Card is not a commercial development (in contrast from GS), then any information available to all free (and unselfishly donated). Contact with us or with the author Po fido possible through Pawel Kislyak 2:454 / 11.25, or by e-mail Pawel@nm.ru Anyone interested in information on this MAP, wants to ASSEMBLE or other matters please write to: 343581, Ukraine, Donetsk region, Dzerzhinsk, pos.Kirovo, st. Youth 16/48 Mihalchenkovu Dimitri. Many thanks for giving Pawel'u mail Sincerely Mikhalchenkov Dmitry ' Foreigners Alex
Other articles:
Similar articles:
В этот день... 21 November