ZX Hard #01
06 мая 1999 |
|
OSP v.0.1 - a new sound card for the Spectrum to replace General Sound.
-----------------------------------------¬ | OSP v.0.1 | L ---------------------------------------- (C) VTS'99 Haystvuyu molecules that ALL Peoples! Recently I wandered around with an alternative to General Sound'u, and finally decided to ask people what they think about it ... Just want to warn you that this device does not aim to break the sound X-TRADE'ov. Moreover, the development of its now hangs and moves very slowly and I would really like to work in the first turn, and with X-TRADE. In addition, this article pursues another goal. As an experiment :-) I would like to try something like "Open development". Ie anyone can contribute to the development of OSP and common efforts to make a device even steeper. Made particularly important contributions docks and Boards will be provided at cost, and the remaining more expensive. Also guaranteed a place in the list of authors;) In addition, you will be informed of Architecture, software and Hardy sound is still being developed (and the rest - only after its completion). This process can connect and programmers. For writing the software may providing various discounts. Thus, the main problem GS (for discussions of users) - the price. Everything else can be proskipat due to ISO. And the price of this lies in the very concept of sound. In the OSP will go to the hell-what compromises, putting the ease and cheapness of higher quality. According to some estimations the price is about half that did not Considering economies of AY. So now, in the OSP project included ideas: 1). The concept of compatibility "on top Down with AY8910 (1912). OSP is inserted into the panel AY and emulates up to the ports I / O (for example, Centronics KAY'ya). Thus, the problem with a deficit of AY will be resolved and the market will have to appear desheveyuschie AY as a standard sound Speke (now, for example., By default, Nemo Without calling AY). And OSP, etc. will be extended saundkartami. Here there is a purely structural problems, eg., mechanical strength and location in the body. Most likely, construction will be sharpened by KAY and will exist loop-extender for especially dodge clones. 2). Interface with the CPU through a window of dimension 256 registers the usual AY. Doubt represent the old prog, which can impunity (for AY) litter in these registers both in their own (AY checks only 4 significant bits, ignoring the rest). However, a few at tracing Players have shown that working with numbers registers of people correctly (at least normal people). Another way to implement this interface (eg port-port) is not possible due to the fact that other signals, except for BC1, BC2, BDIR and D0-D7 on the AY panel is not displayed :-) From the OSP these registers - a piece of RAM, when applying to that part CPU percent of OSP will be inhibited (because simpler because the interface is already navorochen). 3). Minimum price determined the approximate configuration: - Z80A, CLK: 5.25 = 3 * 1.75 MHz [In the idea of 5.25 MHz should not be a problem. A left brake procedure must die] synchronized by CLK_AY = 1.75 MHz. Choosing Z80A defined by the broad prevalence (used: tape-component) and cheapness. Clocking of 1.75 MHz clock simplify, get rid of quartz ... Possible, in theory, to replace Z80A Th-nd abruptly, with a special handkerchief (With his super-duper generator at 200 MHz). But Toda and PZUhu change should be (Under other delays player). And all it without a soldering iron. - ROM 2764. Expansion to 27,128, or two 2764 simple replacement. Again, these ROM (Used) are not a problem. Should only be sewn AY-player, mods will not (not enough space), but Chip would like (but I do not have them on disk imaging, so pliz otforvadte who can;) A better source would be immediately at ACME:)). All the other bells and whistles runs in RAM. -RAM. Initially planned for a small SRAM volume (32kb) for chip-ins. But then yet decided on a SIMM. - KR580VI53 to emulate the tone generators. Clocking 1.75 MHz. - Generation of noise placed on the Z80. In he AY vaasche single-bit, and some not so white :-) - Logarithmic volume control - based on 8-bit DAC. An approximation tables in ROM. - DAC K572PA1 (one). The four channels are made by one artful way, which only what makes that zashumlyaet signal (and saves mikruhi). Maybe be even 16 or 32 channels with a base on the same 4'eh. (But not until he studied me In practice, doubt is mostly noise. It is now once experiment - the newspaper should be to link.) - INT on Channel 0 (A) K580VI53. When playing digital muzak tune the desired frequency and make the EI. - May be a low-power (for headphones / speakers polvatnye) amplifier. - Other stuff Schematic Plan. In general, I then promptly inserted a rough shemku, but you must think about the issues outlined below. Although, most likely with they can not be helped. Well, now let's talk about the firmware PZU'shki. The basis of it - Emulation AY. Maybe Chip-to player. Misc (fashion, Vava, s3m, mpeg ...) is playing prog in RAM. Main loop is the emulation of AY, which includes: - Coefficients division tone generator after a shift by 4 bits to the left rush to VI53 (a shift is needed to emulate the frequency dividers 16). - Logarithmic volume is converted into a linear and 8-bit form on a table, throw in DACs channels. - Generation of noise. Likely to accelerate will have to make some kind of mixture XOR-generator (random number) with prepared by the (small) tables in Rom. (By the way, and who knows the "real" noise generator AY / YM?). - Mixer. Masking noise generators and software and hardware - Tone generators. - An envelope generator. - Exchange of input / output ports. If we now estimate how many there are takes time ... Well for interruptovoy Music is not a problem, but on digital several kilohertz bummer. And I / O too. Exit I see only one: the pre-OSP translated into the desired emulation mode. The cycle is much shrinking and speeding up. In all cycles, the exit condition is a change in the state of a register (Say, # 7F), which sends percent in the control procedure, analyzing Register teams and making the CALL to-nd, namely: - Full emulation AY - Digital AY (4bit/8bit) - PIO (IRA / IRB) - RG_OSP (# 80 - # FF)> RAM_OSP (Register # 80 - # FF allocated for the exchange of data from the CPU; registers # 00 - # 7F before appointed to manage the OSP, and in the first curve versions of their most independent act, but is reserved!) - JP address -? Chip-player -?? Well I do not know what else ... Waiting for suggestions. Generally speaking, software OSP thought less hard, so it can consider better than others. The most pleasant to be thinking through by asma;). Well, like everything that I wanted and said. Now waiting for feedback and specific suggestions and ideas. Any additional suggestions from the realm of science fiction;) because in an uncertain future after the OSP v1.x possible appearance of the second version, which will include All the coolest, that will come up. AND here the quality will not press down the price. Ie something like a remix of GS, but included in the upgrade-chain based on AY (AY-> OSP1-> OSP2->...) PS: And how decompile reduction OSP??? And do not tell you! At least in this times. Let the people will break his head;) is-dos 22-03-99 21:21 msk last edition 05-05-99/22: 26msk
Other articles:
Similar articles:
В этот день... 21 November