The simpler the keyboard, the greater the number key (buttons) to press alternately or simultaneously to enter a particular character. For example, to write in a personal computer (PC) such as ZX-SPECTRUM Russian uppercase letters with the standard keypad, you must use the first button, determining that this is a literal character, not a team. Then pressed the second button. It the user tells the computer about your choice of font Cyrillic instead of Latin. Then comes the turn of the third button. Defining what would be entered in uppercase, not lowercase.
Significantly improve the efficiency of input of various character (especially textual) information by reducing the required number of registers (simultaneously press buttons) allows the so-called enhanced keyboard. However, it has its drawback: large size due to the large number of buttons. For fans of computer games in which, as a rule, only a few of the pressure elements, this creates additional inconvenience. These users need a compact device, enter information in the PC, which housed the “palm” and successfully complementing the joystick would consist only of a few buttons.
Of course, the use of minilaboratory in computer games entails an inevitable increase in the degree of kombinatsionnoe (increasing the number of simultaneously pressed buttons). But claimed the number of characters (letters and numbers) is far from limitless, besides frequently used combinations are easy to remember in the course of the game. But there is a real possibility of combining the joystick and in addition to the mini keyboard in a convenient compact remote.
In particular, such control would be nice to have for computer games on ZX-SPECTRUM. Here are the most popular joysticks in the form of five buttons running on the circuit. According to many users, these devices are the lever. But the games themselves are often not limited to the capabilities of the 5-button joystick is strongly demanding more and repeated requests to the standard PC keyboard. A game without it does not do: after all, you need to click on the initial setup (WELL), why have to get up from your favorite chair or sofa and go to the other computer, which is usually located far away From the joystick. Besides there are games designed only for the use of a PC keyboard.
In short, there is an urgent need to transfer the joystick is not peculiar to him first “keyboard” functions (especially because of the five buttons allow you to use many additional, not previously claimed combinations). For this you need to implement a circuit design of a number of complex logical transformations, each of which, in turn, is impossible without the appropriate circuitry.
Overcoming complex problems, simplify programmable logical matrices (PLM)— ICS 556РТ1 having outputs to a common manifold. Enough even one MS to not only successfully implement all possible combinations of the 5-button joystick (see circuit diagram), but also have “electronic memory”, allowing to correct programming errors and even change the “involved” letters and numbers on the other, not previously used in the gathering, particular design.
The required logic functions in the chip PLM are prepared in advance by burning bridges, which has its crystal, with the help of a programmer. For a homemade joystick-matching keyboard is performed in accordance with the attached table.
Joystick buttons S1 — S5, indicated in the table on the circuit diagram the arrows “→”, “←”, “↑”, “↓” (the direction coincides with the image on buttons and they cause the movement of the game object on the screen) and letter C (shooting) are connected via inverters to the port of the joystick (bus DV0 — DV4), and programmable logic arrays (MS type 556РТ1) to the keyboard port (bus KL0 — KL4).
These tyres are supplied to the memory chips in the ZX-SPECTRUM of the Leningrad performance of the labeled D37 and D38. The desired connection option, proven in practice. In particular, the output Q6 of the programmable logic arrays (pin number 12) should be connected to WELL computer bus, and the inputs PLM — s tires address A8 — A15 processor and the outputs S1 to S5 of the joystick.
In the codes shown in the table, burn the jumper is referred to as a log.”1”. Her discharge for matrices “And” it’s targeted, and for matrices “OR” — level output buses. Subject to such adresowe easy to navigate, and programming errors are virtually eliminated. That is, if, for example, in the tabular column of the inverse burning bridges “And” is FFFE, then stored inverted jumper the youngest of the address discharge, and all inverse jumpers the rest of the address bits burnt.
A similar approach to adresowe direct (reinverting) jumpers when they burn. For example, if it is necessary to preserve the integrity of the jumpers of the elder’, would be given the code FFF7. Accordingly, the need to keep intact when programming jumper “OR” related to senior exit, to specify code F7. Well, the fate of all jumpers of the matrix “NOT” — an indispensable projgenie.
48 logical lines available in PLM, allow, in General, to create as many independent logic functions. But implementation of the joystick-matching keyboard is enough 31 line; the rest can be used as a spare. The latter, in particular, apply If a situation arises requiring replacement of some letters. Then, in the corresponding logical element “OR” burnt all bridges, that is written FF. The result — a specific line is disconnected from the output, but instead is programmed new, strictly “linked” with another letter.
It is useful to stress that for each preset line of logic left these bridges, which for a given combination of buttons to provide a flow signal corresponding to the specified letter, to the desired output PLM. And — with the address bus of the processor! It should also be noted that to produce the required “connecting” table is enough to have (or remember) at least a functional diagram of PLM, not dissimilar, incidentally, to be very complicated.
A circuit diagram of a refinement of the joystick (to give it an additional mini-keyboard)
Do: all 16 inputs PLM are calculated in the most General case the connection (using existing bridge) for direct and inverse inputs 48 logical elements such as “And”. Output all “And” pre-mixes here (via the jumper and 48-shadowy element “OR”) with each output of PLM. It’s also important to emphasize that the PLM outputs have inverters that are connected when burning their jumpers.
Since the active condition of the output of the keyboard is inherent in the logically low level, and the joystick buttons when clicked are connected with a zero bus, the input function “And” between the pressed keys of the joystick and the required address signal for the selected input sign you need to implement for the log.”0″. The logical elements “And” proinversion signal.
However, to ensure the health of the entire device, the output signal is not inverted and were in a state when you do not press any button, all the outputs of the PLM were the logical unit (high impedance, because the output is open collector). So we have to invert VOUT again, which is impossible without preliminary burning jumper matrix “NOT”.
Now about inverse matrix jumpers “And”. All while programming retained for each input sign only those that belong to the PLM inputs connected to push buttons, joystick and the address discharge of the processor corresponding to the input character.
Fairly rigid approach to the fate of reinverting (direct) jumper matrix “And”. The number of valid stay here when programming, only the instances corresponding to the PLM inputs connected to nanagement to joystick buttons with the signal log.”1″. And in relation to the jumper matrix “OR” may be a less severe rule. Peresekayutsya not only those that correspond to the outputs of the PLM, which is to be commanded.
For example, the letter “a”, according to the table, is entered by simultaneously pressing the three buttons engraved arrow symbols “up”, “right” and “left”. While the output B1 of the chip PLM (the LSB, to be connected to the bus KL0 keyboard port), it shall be ensured receipt of the signal from the address bus A9 processor.
So, the programming input MS need to leave intact the inverse of the jumper corresponding to the PLM inputs are connected to A9 and click (create log.”0″) buttons “up”, “right” and “left”. This is the jumper inputs A7, A4, A2, A1, which is assigned to the log.”0″. All other jumpers on this item And you want to burn: they will be assigned a log.”1″.
That is for the letter “a” with the code for burning jumpers inverse of the matrix “And” is FFB4 (given the fact that the entrance PLM A16 — senior category in the code the burn, and the entrance to the A1 — Junior category). From the number of direct jumpers here it is necessary to leave only those that correspond to inputs A5, AZ, connected to nanagement to joystick buttons, where when you type the letter “a” will be the log.”1″. The remaining jumpers of the matrix you want to burn.
Code burning direct jumpers to the letter “a” is FFFB. In the matrix “OR” related to the letter “a”, to leave only the jumper of the output B1 connected to the input of the KL0 keyboard port of the PC with the arrival of his signal A9. The rest of the jumper is necessary to burn. Well ID burn the matrix “OR” for the letter “a” will be FE (if valid according to the exit B8 senior category code and output B1 — Junior).
Besides the fact that the joystick is connected to the PLM, he remains connected to “their” PC port (bus DV0 — DV4) through the inverters of the chip D1, as the device issuing the inverse signals. That is, when the transfer of program management functions by the computer to the joystick that will work the typical way, in performing its functions, and the signals PLM and keyboard are ignored by the computer. When the transfer of control last keyboard works as usual, and the joystick — like parallel other keyboard, which can be removed by applying the log.”1″ to the input 19 of the selection of crystal CS chip PLM. It is possible to provide the switch.
In the chip there are parasitic PLM conductivity between the inputs. Its presence is manifested in the fact that if any entry is in the state log.”0″, increases the current consumption of the nearest-neighboring inputs. It is therefore left free entrance to the A6, located between the entrances to which are connected the joystick, and inputs connected to the address bus And the Processor.
To use the above-considered scheme is useful if the computer “umoney” address bus (to not overload the processor). This improvement is usually done by chips КР580ВА86, К555ЛН1 or other MS when you connect the drive for flexible magnetic disks. However, without omednenija scheme is quite efficient.
Table burning jumper programmable logic arrays 556РТ1 for joystick-matching keyboard
It turns out that the creators of the ZX-SPECTRUM is intentionally connected to the inputs of a keyboard port (bus KL0 — KL4) with the power bus 5 through the too large resistance of 15 ohms, in order not to increase the load on the address bus of the processor. As a result, the inputs of the above-mentioned port of origin-dicristina tightening of the front log.”0″ in the log.”1″ (due to the parasitic capacitance of the harness port and keyboard, as well as due to the operation of diodes, connected in series the keyboard). Regardless of whether you use the scheme or not, the tightness of the fronts are recommended to be reduced by reducing the values of these resistors to 1 kω: you come across games that without this “not listen” to the keyboard.
For example, on my computer in a card game V. S. Mednonogova “Snap” when you press any of the buttons were moving the arrows in a random direction map selection and action selection. To the reduction in the nominal value of the resistors does not increase the load on the CPU, I had to give signals to the keyboard (more precisely, the diodes that are included with it consistently) through chip bus driver КР580ВА86 combining it with control inputs 9 and 11 with zero wire.
The result of these measures, the chip began to work with the transmission of signals without inversion, increasing their (findings 19, 18, 17, 16, 15, 14, 13, 12, connected to the buses of the processor A8 — A15, respectively — on insights 1, 2, 3, 4, 5, 6, 7, 8, connected to the diodes of the keyboard). And now no complaints associated with the former “obstinacy” of card computer games, I have not encountered.
A few more tips, verified by practice. PLM inputs A7 — A14 of the above scheme, it is advisable to connect to terminals 1-8 bus driver. In the end, manages to achieve that the PLM no additional CPU load never will be.
Each extra built-in PC chips, you can install over the existing MS in two segments of a hard wire, solder to the terminals power supply. In order to avoid “surprises” of the type short in a particular circuit, and to decrease “novovvedeniya electronics,” space altitude “legs” of chips (of course, except the power pin) will shorten and hollow out the PCB horizontally. Installation of hinged sections carried out with the use of segments of flexible stranded wire in vinyl insulation.
When you install PLM 556РТ1 with planar conclusions, it is recommended (In order to increase the rigidity and reliability of connections) soldered to the power pins (or rather in parallel to them throughout their length to the body) tinned copper wire. You can use the PLM in a different Cabinet design, for example КР556РТ1. Note: the working frequency of such MC, as a rule, below. It is possible that among such chips can even come across some instances that do not “pull” the desired frequency.
Convenient to place new nodes and radio, as well as to their installation in a special box computer circuit Board, is typically provided for improvements by the manufacturers of the PC. You can even program the PLM to work with a joystick, running on an open.
Some of the homebrew can add to a standard joystick button. As a result of this revision will increase the total number of possible combinations, allowing you to “employ” a lot of letters for a really full use of the PLM. But the most adventurous users can try to go even further, connecting to a PC (again using programmable logic arrays) is not only matching, but also the extended keyboard, which are internal wiring differ from the standard schemes. In particular, using the keyboard “electronics MS 7007” in computer games on ZX-SPECTRUM, to borrow and develop interesting programming ideas, PLM, build a functional and schematic diagrams of the programmers in the literature.
SOLONIN, Konotop, Ukraine