ZX Format #05
11 декабря 1996 |
|
Iron - LPT COVOX and not only ...
LPT COVOX and not only ... music by DNK (C) Rzhavelschik. Instead of preface. Well. I welcome those who choose to look at the section with such unlikely name. And I hasten to please them the news that, because this unit in largely lost its relevance (due to the advent of "General Sound ") it goes here, mainly on that not only. But for the beginning of the device, whose name is given in the title. LPT COVOX represents a simple single-channel 8-bit DAC. And it can be used, for example, plays polyphonic music, recorded on technology ACE'a (What is given in our application - simple design with supplied non- testikom rabochesti Covoxa, it is not even pitiful semblance of music. Under full demo is not enough room: (, as it device support, some new music editors (in particular SAMPLE TRACKER). That's it. But, as you noticed (Or even notice) to connect this primitive design to your cars it is necessary that it (the car) had a port Printer type Centronix. And, so much so Pentagon and Scorp, have ready the printer port, not extended ones are the only models Speccy, we decided that It is worth to show that proper to do if your car has no such architectural excesses. However, look at nizhesleduschuyu information will not prevent all, regardless of their cars. Whereupon finish this somewhat lengthy epigraph and turn to the main part. So: Principles of operation of ports. for example the construction of a port for LPTcovox. Yes, the most impatient Connectors can work hard to quickly browse to shemki. You ever thought that lies behind the word "port"? (Or options: port # FE, # 7FFD port, etc.) And by this straightforward word hides a set of technical tools that provide a hit on the data bus, the computer data from the input port (when the processor commands read from the port) or vice versa - Contact information Data bus companies to the port outputs (of course, under the command processor from the group entry to the port ") is simply speaking - when the processor the appropriate commands on the data bus set the logic levels as in the corresponding legs of chips are employed as the conclusions of the port (going to pins of the port), well and (or) vice versa - at the feet of these levels are established as the relevant lines of data bus. Well, I hope the question of what makes a port, explained in full. Remained a mere trifle - to learn, and how he does it? To clarification of this process was more easily take anywhere book (Send a maid in cellar ..."), which has a picture with a symbolic image of Z80 and the names of his conclusions. Take? - Well. (Although it was possible and not to take) Now you comprehend the great sacrament of communion CPU with its surroundings. Pay attention to the three signals: RD, WR and IORQ. Signals are inverted, ie their active - Low (logic 0). When the system reads (no matter from where - from the port or from memory) to output (PINE) RD set urove active, ie log. 0. When do you write (as in memory, and in port), the active level installed on Pina WR. Indication that the processor tries to read from port, or to withdraw to the port is the appearance of an active level on Pina IORQ. So way, watching these signals (collecting most primitive logical shemku), we can determine that it is time to wake up to the iron port. However, apart what we have to determine whether treatment to ports would cost more and you know what specifically calls out the port processor. For solutions that address bus tasks it is used. And here and there that the main question Platform "Spectrum-clone" - a way to decrypt the address. " Case that port space at Z80, unlike his predecessors, and pathetic analogues (such as i8080 and so forth), the size same memory address space - ie 64Kbayta, which means that the address port is not displayed on the half, but on the whole address bus. As you know, the Z80 is two ways to specify port address: via register-pair BC, or the number of (OUT (# dd), a). In the second method the number of brackets (opernd commands) displayed on the "Junior B" address bus, ie line A7-A0, and the "byte" - lines A15-A8 displays the contents of register A (ie such a way to specify addresses without problems suitable for reading, but writing can conflicts arise nekotrye) For those who have not studied the subjects of type CSMP, explains: when the processor begins execute a command to read or write, then besides the fact that the signals RD, WR, IORQ, MREQ come to the appropriate state for bus address set the address for which, in fact, made the operation. What does "set address"? Here's what: place (mentally) address lines in descending order: A15, A14 ,..., A0. Now, imagine that each line - this bit (bit) numbers, represented in the binary system. When installed on the bus which - either a number, it means that the relevant lines, "bits" have been established logic levels 0 or 1, thus forming as a number in binary form. now all the attention! state of the address bus when you run OUT (C), A (BC = # 7FFD): A 15 = 0 As you can see, only two bits are not nuA 14 = 1 left. Theoretically, it was necessary A 13 = 1 would be to build on shemku elemenA 12 = 1 max AND and OR, which dopusA 11 = 1 note, issued to us one unit, A 10 = 1 the condition is a state A 09 = 1 address bus. But such a decision A 08 = 1 for a simple home kompyuA 07 = 1 tera somewhat redundant. In A 06 = 1, the principle can be verified only A 05 = 1 two address lines - A15 and A1. A 04 = 1 At this address decoding poyA 03 = 1 Chd just one log. element tiA 02 = 1 Pa, NOR, but this deshifraA 01 = 0 the function is not complete, ie port A 00 = 1 will be chosen not only for addresses # 7FFD, but also 16,384 th other locations, which will also have the A15 and A1 equal 0.No some and this decision seemed redundant, and Therefore, in some Spectrum-clones for decoding the address of this port yuzaetsya only A1 (32,768 addresses disappears). I believe that all of the above the essence of decoding addresses is clear - for the implementation thereof is required to connect to the bus address of the log. shemku that could give at the output of the active level at a certain state lines this bus. Well, now we know that required to use the port, and can identify - a. Hence, it is time to move properly to perform the operation. And for the reading (or record) will require PMI, which can play the role of a leaf to data, which opens when you access port and closing in the absence of onogo.Na this role is most suited mikroshemka family of memory registers. There are several subtleties. Subtlety Room 1: forest of reliability is not would be advisable to build the signals so that in (out) port is not flying false values (For example - so that when a new treatment for outputs do not flashed the old values). Fineness number is: if you make a port read, Sinclair-joystick For example, it does not hurt to make sure you've selected an exotic import melkoshemka able to translate their outputs in the Z-state (a sign of this ability is the presence of quasi-graphical representation in reference to the diamond field output signals), and if not, then choose another, or come up with even more exotic way to disable it from the bus data because if the data bus is constantly hanging something clogging all the data its own, it can lead to very sad consequences. ("... How many times repeat! not 'given oak' and 'lethal outcome'...) So, summary: in order to make port need to hang on the system bus logic, identifies an appeal to the port and is responsive to a specific address, a logic to this, and again the bus managed to hitch signals of logic "vent". Well, now own that for which was started all this nonsense. Paralelny 8-bit output port. IR23 legs Processor Z80 __ DI RG <> __WR: 22 DO ____RD: 21 D0 0 IORQ____: 20 D1 1 MREQ: 19 D2 2 0 n D3 1 March and D4 February 4 March 5 D5 C D6 June 4 O LE4 D7 May 7 V ____ H 6 O IORQ 1 0> C 7 X __A2 WR 0OE Teoreticheski it - a "port # FB", but in practice, as you know, he will respond to appeal to any address in which the 2-nd bit is 0 (ie, 32,768 addresses), however, this case does not lead to terrible consequences, because it's just port O, who works on the sound. (razve only sometimes the speakers will rumble intermittently mysteriously:). Now a few words about how this thing works. When a Pina C by the positive differential signal (No units, namely gradient, ie) at outputs (DO) are inputs and recorded there, until a new "Steps" that will drive to pins DO new values from the data bus. Signal H changes in 1-chku when IORQ + WR + A2 = 0 (under "+" Meaning OR), ie when the processor tries to shove the data into the port address which even remotely resembles # xxFB. If you prefer, you can cook up a scheme for decoding the address, which will be understood and # FB (Pentagon) and # DD (Scorp) (with a special request - at the same LE4). ICs can take any TTL series, and pay attention to one thing - bringing the scheme is not an interface circuit Centronix. To work with the printer to another two signals - strob and busy. (For what they must - see the specification on Centronix) Well, actually, that's all. P.S. Dear readers, we would very much wanted to know your opinion on a fermenting in the depths of editorial thought, (not think that she's lonely, thoughts rush scary herds, sweeping away everything in its path), namely: Do not make us Field-type iron for Dummies "(not offense, it is mot have already come into chant), which explains how a computer works and any other miscellaneous hardware. And if you do, then what else is there write? We will wait for your letters.
Other articles:
Similar articles:
В этот день... 21 November