FR2558629A1 - SOUND GENERATING AND DISC SPEED CONTROL APPARATUS FOR COMPUTER SYSTEMS - Google Patents
SOUND GENERATING AND DISC SPEED CONTROL APPARATUS FOR COMPUTER SYSTEMS Download PDFInfo
- Publication number
- FR2558629A1 FR2558629A1 FR8500712A FR8500712A FR2558629A1 FR 2558629 A1 FR2558629 A1 FR 2558629A1 FR 8500712 A FR8500712 A FR 8500712A FR 8500712 A FR8500712 A FR 8500712A FR 2558629 A1 FR2558629 A1 FR 2558629A1
- Authority
- FR
- France
- Prior art keywords
- counter
- data
- access memory
- signal
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/20—Driving; Starting; Stopping; Control thereof
- G11B19/24—Arrangements for providing constant relative speed between record carrier and head
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/20—Driving; Starting; Stopping; Control thereof
- G11B19/28—Speed controlling, regulating, or indicating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
L'INVENTION CONCERNE UN APPAREIL POUR ENGENDRER UN SIGNAL AUDIO AINSI QU'UN SIGNAL DE COMMANDE DE VITESSE POUR UNE UNITE A DISQUE DANS UN SYSTEME D'ORDINATEUR QUI COMPREND UN MICROPROCESSEUR 10 ET UNE MEMOIRE A ACCES SELECTIF MAS 11 QUI FOURNIT UN SIGNAL VIDEO POUR UN ECRAN D'AFFICHAGE A BALAYAGE RECURRENT. UN ADRESSAGE DIRECT D'EMPLACEMENTS SPECIFIQUES DE LA MEMOIRE MAS PENDANT DES PERIODES DE SUPPRESSION HORIZONTALE EST UTILISE POUR LIRE DES DONNEES DE SON ET DE VITESSE QUI SONT INTEGREES AFIN DE PRODUIRE DES SIGNAUX ANALOGIQUES CORRESPONDANTS, CES DONNEES ETANT EGALEMENT MISES A JOUR PENDANT LES PERIODES DE SUPPRESSION. LE SIGNAL DE COMMANDE DE VITESSE VARIE EN FONCTION DU RAYON DE LA PISTE.THE INVENTION RELATES TO AN APPARATUS FOR GENERATING AN AUDIO SIGNAL AS WELL AS A SPEED CONTROL SIGNAL FOR A DISC UNIT IN A COMPUTER SYSTEM WHICH INCLUDES A MICROPROCESSOR 10 AND A MAS 11 SELECTIVE ACCESS MEMORY WHICH PROVIDES A VIDEO SIGNAL FOR A RECURRENT SCAN DISPLAY SCREEN. DIRECT ADDRESSING OF SPECIFIC MAS MEMORY LOCATIONS DURING PERIODS OF HORIZONTAL SUPPRESSION IS USED TO READ SOUND AND SPEED DATA WHICH ARE INTEGRATED TO PRODUCE CORRESPONDING ANALOGUE SIGNALS DURING PERIODS OF HORIZONTAL BLANK DELETION. THE SPEED CONTROL SIGNAL VARIES ACCORDING TO THE RADIUS OF THE TRACK.
Description
La présente invention se rapporte à un appareil généra-The present invention relates to a general apparatus
teur de sons, en particulier un appareil qui est utilisé sound generator, especially a device that is used
avec un système d'ordinateur qui comporte un dispositif d'af- with a computer system that includes a display device
fichage à balayage récurrent et un appareil de commande de la vitesse d'un disque. I1 existe d'innombrables techniques bien connues pour recurring scan plug and disc speed control apparatus. There are countless techniques well known for
engendrer des signaux audio à partir des signaux numériques. generate audio signals from digital signals.
Ces techniques vont des solutions les plus directes suivant These techniques range from the most direct solutions following
lesquelles des signaux numériques sont utilisés pour pro- which digital signals are used to pro-
duire une amplitude instantanée du signal audio jusqu'aux techniques très complexes à vocodeur dans lesquelles des from instantaneous amplitude of the audio signal to very complex vocoder techniques in which
fonctions de transfert représentatives de la voix sont uti- representative voice transfer functions are used
lisées.Comme on le verra, la présente invention convertit un signal numérique en un signal analogique (audio) bien As will be seen, the present invention converts a digital signal into an analog (audio) signal well
que cette conversion ne représente qu'un aspect de la pré- that this conversion is only one aspect of the pre-
sente invention.invention.
Le plus souvent, les systèmes d'ordinateur, en particu- Most often, computer systems, in particular
lier,les systèmes relativement petits (par exemple, les or- link, relatively small systems (for example, or-
dinateurs personnels) utilisent des dispositifs d'affichage personal diners) use display devices
à balayage récurrent (du type télévision). L'ordinateur en- recurrent scanning (television type). The computer in-
gendre des informations vidéo et les enregistre dans une mémoire à accès sélectif (MAS). Des compteurs synchronisés generate video information and save it to selective access memory (MAS). Synchronized counters
avec les signaux de synchronisation horizontale et verti- with horizontal and vertical synchronization signals
cale adressent la mémoire pour fournir des signaux de don- wedge address memory to provide data signals
nées d'affichage synchronisés extraits de la mémoire. Ces signaux sont convertis en un signal vidéo, par exemple, par l'intermédiaire d'un registre à décalage. Dans certains cas, la mémoire est organisée en "mode points" et le signal de sortie de la mémoire est utilisé directement pour engendrer le signal vidéo. Dans d'autres cas, le signal de sortie de la mémoire adresse un générateur de caractères qui est synchronized display data extracted from memory. These signals are converted to a video signal, for example, via a shift register. In some cases, the memory is organized in "dot mode" and the memory output signal is used directly to generate the video signal. In other cases, the memory output signal addresses a character generator which is
balayé pour fournir des signaux vidéo. scanned to provide video signals.
Il est besoin d'une quantité importante de données de la MAS pour engendrer un affichage vidéo,en particulier,dans There is a need for a significant amount of MAS data to generate a video display, in particular, in
un mode graphique dynamique (qui n'est pas un mode texte). a dynamic graphic mode (which is not a text mode).
Dans le domaine des ordinateurs domestiques, et dans le do- In the field of home computers, and in the do-
maine des ordinateurs pour petites entreprises, dans les- mainstream computers for small businesses in
quels desmicroprocesseurs sont utilisés en combinaison avec which microprocessors are used in combination with
des MAS dynamiques, la génération d'un affichage vidéo uti- dynamic MAS, generating a video display using
lise un temps relativement important du processeur et de la mémoire. Il est ainsi difficile de produire un signal audio, en particulier, un signal audio complexe,dans un mode d'af- fichage. reads a relatively large amount of time from the processor and memory. It is thus difficult to produce an audio signal, in particular a complex audio signal, in a display mode.
Comme on le verra, la présente invention fournit un ap- As will be seen, the present invention provides an app-
pareil pour engendrer des signaux audio en combinaison avec un microprocesseur et une mémoire à accès sélectif en même similar for generating audio signals in combination with a microprocessor and random access memory at the same time
temps que sont engendrés des-signaux vidéo. Les signaux au- time that video signals are generated. Signals
dio sont engendrés sans interrompre ni l'affichage vidéo ni le fonctionnement de l'ordinateur et, ce qui est important, dio are generated without interrupting either the video display or the operation of the computer and, importantly,
en ne nécessitant qu'un temps minimal du matériel et du pro- by requiring only a minimum time of material and pro-
cesseur.stopper.
Typiquement, dans les unités à disque souple, un méca- Typically, in flexible disk drives, a mechanism
nisme approprié quelconque est utilisé pour commander le fonctionnement du moteur d'entraînement du disque souple à une vitesse constante. Lorsque l'unité à disque souple est Any suitable mechanism is used to control the operation of the flexible disk drive motor at a constant speed. When the flexible disk drive is
fabriquée,certaines étapes d'étalonnage sont souvent utili- manufactured, some calibration steps are often used
sées pour assurer que l'unité à disque souple tourne à une vitesse de rotation prédéterminée. Ceci nécessite, en plus de l'étape d'étalonnage, l'emploi de mécanismes de commande de vitesse relativement coûteux. Comme on le verra, suivant to ensure that the flexible disk drive rotates at a predetermined rotational speed. This requires, in addition to the calibration step, the use of relatively expensive speed control mechanisms. As we will see, next
la présente invention, l'ordinateur est utilisé pour détec- the present invention the computer is used to detect
ter la vitesse de rotation de l'unité à disque,puis il pro- the speed of rotation of the disk drive, and then it
duit un signal de commande pour ajuster la vitesse de rota- produces a control signal to adjust the rotational speed
tion de l'unité à disque. Ceci supprime l'étalonnage de la technique antérieure de même que le mécanisme de commande tion of the disk drive. This eliminates the calibration of the prior art as well as the control mechanism
de vitesse de la technique antérieure. speed of the prior art.
Il a été suggéré dans la technique antérieure qu'une meilleure utilisation des disques souples et autres disques pourrait être obtenue si l'on utilisait des transitions de densité de flux uniformes. Ceci nécessite que la vitesse de rotation du disque soit une fonction du rayon de la piste particulière qui est accédée. La présente invention fournit It has been suggested in the prior art that better use of floppy disks and other disks could be obtained if uniform flux density transitions were used. This requires that the disc rotation speed be a function of the radius of the particular track being accessed. The present invention provides
une telle caractéristique.such a characteristic.
La présente invention a pour objet un appareil conçu pour être utilisé avec un système d'ordinateur qui comporte un microprocesseur et une mémoire à accès sélectif (MAS), The subject of the present invention is an apparatus designed to be used with a computer system which comprises a microprocessor and a memory with selective access (MAS),
en particulier,dans le cas o un affichage à balayage récur- in particular, in the case where a recursively scanning display
rent est utilisé avec le système d'ordinateur. Des moyens d'adressage sont utilisés pour accéder directement à des em- placements prédéterminés de la mémoire à accès sélectif,en particulier,pendant les périodes de suppression du faisceau rent is used with the computer system. Addressing means are used to directly access predetermined locations of the selective access memory, in particular, during the periods of deletion of the beam.
pendant le retour horizontal du spot. Les moyens d'adress- during the horizontal return of the spot. Means of addressing-
sage permettent également aux données contenues dans ces mêmes emplacements d'être mises à jour pendant les périodes wise also allow the data contained in these same locations to be updated during periods
de suppression. Les données mises en mémoire dans ces empla- deletion. The data stored in these locations
cements sont converties de la forme numérique en un signal analogique. Une impulsion commence lorsque les données de la mémoire sont chargées dans un compteur. L'impulsion se cements are converted from digital form to an analog signal. A pulse begins when data from memory is loaded into a counter. The impulse is
termine lorsque le compteur atteint une condition de dépasse- ends when the counter reaches an overshoot condition
ment de capacité.Les impulsions résultantes sont intégrées The resulting pulses are integrated
pour produire le signal audio.to produce the audio signal.
Le processeur engendre les signaux de données pour la mémoire à accès sélectif pour un unique ton en ajoutant un nombre prédéterminé à un nombre mis en mémoire. Les bits les plus significatifs de cette somme identifient un emplacement The processor generates data signals for random access memory for a single tone by adding a predetermined number to a number stored in memory. The most significant bits of this sum identify a location
dans une table de consultation et le signal de données (nu- in a look-up table and the data signal (nu-
mérique) résultant est ensuite mis en mémoire dans la mé- result) is then stored in memory
moire à accès sélectif. Le nombre prédéterminé est ajouté de selective access moire. The predetermined number is added by
manière répétée au nombre mis en mémoire pour produire cha- repeatedly to the number stored to produce each
cun des signaux de données pour la mémoire à accès sélectif. none of the data signals for the random access memory.
Pour les tons plus complexes, un certain nombre de nombres prédéterminés et de nombres mis en mémoire sont utilisés For more complex tones, a number of predetermined numbers and numbers stored in memory are used
avec plusieurs tables de consultation. with several consultation tables.
La présente invention a également pour objet un appa- The present invention also relates to an apparatus for
reil pour commander la vitesse de rotation d'un disque. Les moyens d'adressage utilisés en combinaison avec l'appareil reil to control the speed of rotation of a disc. Addressing means used in combination with the device
générateur de sons sont utilisés en tant que partie de l'ap- sound generator are used as part of the app
pareil de commande du disque.same disc control.
D'autres caractéristiques de l'invention apparaitront Other characteristics of the invention will appear
à la lecture de la description qui va suivre et à l'examen on reading the description which follows and examining
des dessins annexés dans lesquels: la Fig. 1 est un schéma-bloc du système d'ordinateur, of the accompanying drawings in which: FIG. 1 is a block diagram of the computer system,
cette vue représentant le multiplexage des adresses uti- this view representing the multiplexing of the addresses used
lisé en combinaison avec la présente invention; read in combination with the present invention;
la Fig. 2 est un diagramme des temps utilisé pour dé- Fig. 2 is a timing diagram used for
crire les temps auxquels les signaux numériques représenta- tifs de sons sont accédés dans la mémoire MAS et les temps auxquels ils sont mis à jour dans la mémoire MAS; la Fig. 3 est un schéma-bloc d'un compteur utilisé pour engendrer les signaux audio; la Fig. 4 représente les formes d'onde engendrées par le compteur de la Fig. 3; la Fig. 5 est un organigramme utilisé pour décrire le procédé au moyen duquel les signaux de données sont produits; la Fig. 6 est un schéma-bloc et un schéma électrique combinés du circuit servant à produire le signal audio et la commande de puissance sonore; la Fig. 7 est un organigramme représentant le procédé au moyen duquel des signaux de données sont produits pour quatre tons; la Fig. 8 est un organigramme représentant le procédé au moyen duquel des signaux de données sont engendrés pour un signal audio"non harmoniqued write the times at which the digital signals representative of sounds are accessed in the MAS memory and the times at which they are updated in the MAS memory; Fig. 3 is a block diagram of a counter used to generate the audio signals; Fig. 4 represents the waveforms generated by the counter of FIG. 3; Fig. 5 is a flow chart used to describe the process by which the data signals are produced; Fig. 6 is a combined block diagram and electrical diagram of the circuit for producing the audio signal and the sound power control; Fig. 7 is a flowchart showing the method by which data signals are produced for four tones; Fig. 8 is a flowchart showing the method by which data signals are generated for an "unharmonic" audio signal
la Fig. 9 est un schéma-bloc représentant les intercon- Fig. 9 is a block diagram representing the interconnections
nexions générales entre l'ordinateur, de la Figure 1 et un moteur d'unité à disque; la Fig. 10 est un schéma-bloc représentant une partie du circuit utilisé pour engendrer le signal de vitesse pour l'unité à disque; et la Fig. 11 est un schéma-bloc représentant une partie supplémentaire du circuit utilisé pour engendrer le signal general connections between the computer, in Figure 1 and a disk drive engine; Fig. 10 is a block diagram showing part of the circuit used to generate the speed signal for the disk drive; and Fig. 11 is a block diagram representing an additional part of the circuit used to generate the signal
de commande de vitesse pour l'unité à disque. speed control for the disk drive.
La Figure 12 est un graphique permettant de décrire l'un des Figure 12 is a graph for describing one of the
aspects de la présente invention.aspects of the present invention.
On décrira ci-après un appareil conçu pour engendrer An apparatus designed to generate
des signaux audio en combinaison avec un système d'ordina- audio signals in combination with a computer system
teur, en particulier,un système qui engendre des signaux pour un dispositif d'affichage à balayage récurrent et pour engendrer un signal de commande de vitesse de moteur. Dans in particular, a system which generates signals for a recurrent scanning display device and for generating a motor speed control signal. In
la description qui va suivre, de nombreux détails spéci- the description which follows, many specific details
fiques sont énoncés,tels que des fréquences spécifiques, le nombre de lignes, les numéros de pièce de dispositifs du commerce, etc... pour permettre une pleine compréhension de are listed, such as specific frequencies, number of lines, part numbers of commercially available devices, etc. to allow a full understanding of
l'invention. Cependant, il apparaitra à l'évidence aux spé- the invention. However, it will clearly appear to the specs
cialistes de la technique que l'on peut mettre en oeuvre la technical specialists that one can implement the
présente invention sans utiliser ces détails spécifiques. present invention without using these specific details.
Dans d'autres cas, on a représenté des circuits bien connus sous forme de schémas-blocs afin de ne pas obscurcir la In other cases, well-known circuits have been shown in the form of block diagrams so as not to obscure the
présente invention.present invention.
Dans la description qui va suivre,le terme "audio" et In the following description, the term "audio" and
les expressions "signal de données sonores" ou "données so- the expressions "sound data signal" or "data so-
nores" sont utilisées pour identifier un signal numérique ours "are used to identify a digital signal
qui est converti en un signal analogique (audio).L'expres- which is converted into an analog (audio) signal.
sion "commande de vitesse du moteur" se réfère à la commande de la vitesse de rotation d'un moteur ou d'un disque entraîné "motor speed control" refers to the control of the speed of rotation of a motor or driven disc
par le moteur.by the engine.
Architecture générale La présente inventionestactuellement réalisée en tant que partie d'un système d'ordinateur (ordinateur personnel General architecture The present invention is currently being implemented as part of a computer system (personal computer
ou ordinateur pour petites entreprises) qui utilise un mi- or small business computer) that uses a mid
croprocesseur portant le numéro de pièce 68000. Les lignes d'adresse et les lignes de données pour ce microprocesseur sont représentées sur la Figure 1. Les autres lignes bien connues couplées à ce processeur ne sont pas représentéessur la Figure 1. Le microprocesseur 10 est couplé à une mémoire à accès sélectif (MAS) 11 comprenant seize "microplaquettes" croprocessor with part number 68000. The address lines and the data lines for this microprocessor are shown in Figure 1. The other well known lines coupled to this processor are not shown in Figure 1. The microprocessor 10 is coupled to a selective access memory (MAS) 11 comprising sixteen "chips"
de mémoire dynamique de 64K. Les lignes de données 0-15 in- 64K dynamic memory. Data lines 0-15 in-
terconnectent le microprocesseur 10 et la mémoire MAS 11 pour permettre aux données de circuler depuis le processeur jusqu'à la mémoire MAS. Les données provenant de la mémoire MAS sont transmises au processeur par l'intermédiaire de la connect the microprocessor 10 and the MAS memory 11 to allow data to flow from the processor to the MAS memory. The data from the MAS memory is transmitted to the processor via the
mémoire-tampon 13 de données de la MAS; les données sont éga- MAS data buffer 13; the data is also
lement transmises à partir de la mémoire MAS 11 à une unité 27 de commande de la vitesse du moteur d'entrainement du Lely transmitted from the MAS memory 11 to a unit 27 for controlling the speed of the drive motor of the
disque, à un registre 28 de décalage vidéo et à des comp- disk, to a video shift register 28 and to comp-
teurs 29 de sons. On décrira en détails ces compteurs en se référant à la Fig. 3. Le microprocesseur reçoit également des données de la mémoire morte (MEMOR) 17 lorsque cette dernière est mise en fonction (par le signal ROMEN). De même, les données sont transférées par et à l'unité 18 de commande de disque lorsque l'unité 18 de commande de disque est mise en fonction par un signal transmis sur la ligne 35. Ce si- teurs 29 of sounds. These counters will be described in detail with reference to FIG. 3. The microprocessor also receives data from the read only memory (MEMOR) 17 when the latter is put into operation (by the signal ROMEN). Likewise, the data is transferred by and to the disc control unit 18 when the disc control unit 18 is put into operation by a signal transmitted on line 35. This if
gnal de même que le signal ROMEN est engendré par les ré- general as well as the ROMEN signal is generated by the
seaux logiques de tableau de programme (RLTP) ou "PALS" 23. Des données logical buckets of program table (RLTP) or "PALS" 23. Data
sont également transmise au microprocesseur 10 et par le mi- are also transmitted to the microprocessor 10 and by the mid
croprocesseur 10 à un contrôleur de communication séquen- croprocessor 10 to a sequential communication controller
tiel 14 et à un adaptateur d'interface 15 (vendus dans le commerce respectivement sous le numéro de pièce 8530 et sous tiel 14 and an interface adapter 15 (commercially available under part number 8530 and under
le numéro de pièce 6522).part number 6522).
Les adresses émises par le microprocesseur 10 sont trans- The addresses transmitted by the microprocessor 10 are trans-
mises à la mémoire MEMOR 17, aux réseaux logiques RLTP 23 et à un multiplexeur d'adresses de la mémoire MAS, désigné par stored in memory MEMOR 17, in RLTP logical networks 23 and in an address multiplexer in MAS memory, designated by
la référence 20. Certains des signaux d'adresse, comme indi- the reference 20. Some of the address signals, such as indi-
qué, sont également transmis à l'unité 18 de commande de disque, au contrôleur de communication séquentiel 14 et à are also transmitted to the disk control unit 18, to the sequential communication controller 14 and to
l'adaptateur d'interface 15.the interface adapter 15.
Le multiplexeur 20 d'adresses de la mémoire MAS permet l'adresssage de la mémoire MAS soit par le microprocesseur soit directement par le compte mis en mémoire dans le compteur vidéo 22. Pendant le temps o le signal vidéo "dessine" l'image d'écran, le multiplexeur 20 choisit le compteur vidéo 22,permettant ainsi au compteur d'adresser The address memory multiplexer 20 of the MAS memory allows addressing of the MAS memory either by the microprocessor or directly by the account stored in the video counter 22. During the time when the video signal "draws" the image d screen, the multiplexer 20 chooses the video counter 22, thus allowing the counter to address
directement la mémoire MAS 11. Le second multiplexeur d'a- MAS 11 directly. The second multiplexer of a-
dresses 21, de même que le multiplexeur 20, est commandé par un signal émis par les réseaux logiques RLTP 23. Pendant la dernière partie du signal de suppression du faisceau pendant dresses 21, as well as the multiplexer 20, is controlled by a signal sent by the RLTP logic networks 23. During the last part of the beam suppression signal during
le retour horizontal du spot, comme on le décrira en se ré- the horizontal return of the spot, as described in detail
férant à la Fig. 2, le multiplexeur 21 choisit les 7 bits referring to Fig. 2, the multiplexer 21 chooses the 7 bits
de gauche ou de poids fort du compteur 22 et met automatique- left or most significant of the counter 22 and sets automatic-
ment la mémoire à cette adresse. Ceci exige que les données de son et de vitesse du disque soient mises en mémoire dans des emplacements consacres et consécutifs de la mémoire MAS et permet un accès plus facile par le microprocesseur lorsque memory at this address. This requires that the sound and speed data of the disc be stored in dedicated and consecutive locations in the MAS memory and allows easier access by the microprocessor when
ces données sont mises à jour. Une bascule bistable, non re- this data is updated. A bistable rocker, not re-
présentée,fournitun bit supplémentaire d'entrée pour les presented, provides an additional input bit for
lignes d'adresse du multiplexeur 21 afin de provoquer l'ac- address lines of the multiplexer 21 in order to cause the ac-
cès direct à une seconde page de données de son contenue dans direct access to a second page of sound data contained in
la mémoire MAS.MAS memory.
Le compteur vidéo 22,qui est composé de deux éléments désignés par les numéros de pièce 74LS 393, fournit un compte vidéo numérique qui correspond à la position du faisceau sur un dispositif d'affichage à balayage récurrent et des comptes The video counter 22, which is made up of two elements designated by part numbers 74LS 393, provides a digital video account which corresponds to the position of the beam on a recurrent scanning display device and accounts
supplémentaires pour les périodes de retour du spot horizon- additional for the return periods of the horizon spot-
tal et vertical (périodes de suppression du faisceau). Les signaux d'horloge qui font fonctionner ce compteur ainsi que les signaux de remise à zéro sont engendrés par les réseaux logiques de tableau de programme (RLTP)23. Les réseaux RLTP tal and vertical (beam suppression periods). The clock signals which operate this counter as well as the reset signals are generated by the program table logic networks (RLTP) 23. RLTP networks
23 sont constitués par trois microplaquettes de réseau lo- 23 are made up of three lo-
gique de tableau de programme. Ils reçoivent le signal d'os- program chart gic. They receive the bone signal
cillateur de 16 MHz commandé par quartz d'un oscillateur 31. 16 MHz cillator controlled by quartz from an oscillator 31.
Les réseaux RLTP 23 engendrent,à partir de ce signal, les signaux usuels pour la mémoire,tels que les signaux RAS, The RLTP networks 23 generate, from this signal, the usual signals for the memory, such as the RAS signals,
CAS et les signaux d'horloge etde synchronisationbien con- CAS and clock and synchronization signals well
nus utilisés par le microprocesseur. Ils fournissent égale- used by the microprocessor. They also provide
ment le signal de synchronisation horizontale(HSYNC) et le signal de synchronisation verticale (VSYNC). Ces signaux the horizontal synchronization signal (HSYNC) and the vertical synchronization signal (VSYNC). These signals
sont transmis au dispositif d'affichage sur des lignes 32. are transmitted to the display device on lines 32.
D'autres signaux d'horloge utilisés dans l'ensemble de la mémoire,tels qu'un signal d'horloge de 8 MHz utilisé par les compteurs de la Fig. 3 et le signal d'horloge utilisé Other clock signals used throughout the memory, such as an 8 MHz clock signal used by the counters of FIG. 3 and the clock signal used
par l'unité de commande de la vitesse du moteur d'entraîne- by the drive motor speed control unit
ment du disque sont engendrés par les réseaux RLTP 23. of the disk are generated by RLTP networks 23.
Deux mémoires mortes MEMOR 17 de 32Kx8 sont utilisés dans le mode de réalisation actuellement préféré. Elles Two 32Kx8 MEMOR 17 read only memories are used in the currently preferred embodiment. They
fournissent l'espace de mémoire nécessaire pour les fonc- provide the memory space necessary for the functions
tions de diagnostic, d'initialisation et autres fonctions diagnostic, initialization and other functions
qui n'entrent pas dans le cadre de la présente invention. which are not within the scope of the present invention.
L'unité 18 de commande de disque fournit une interface Disk control unit 18 provides an interface
avec une unité à disque souple.with a flexible disk drive.
L'adaptateur 15 communique avec le clavier 24. Une souris 25 fournit des informations d'entrée etdecommutation The adapter 15 communicates with the keyboard 24. A mouse 25 provides input and switching information
de curseur à la fois au contrôleur 14 et à l'adaptateur 15. cursor to both controller 14 and adapter 15.
Un bouton de commande de puissance est dessiné sur l'image A power control button is drawn on the image
d'écran graphique et est commandé par la souris pour pro- graphic screen and is mouse controlled to pro-
duire trois bits de données binaires sur des lignes 37. deduct three bits of binary data on lines 37.
Comme on le décrira en se référant à la Fig. 6,ces trois As will be described with reference to FIG. 6, these three
bits sont utilisés pour une commande de puissance sonore sta- bits are used for a static sound power control
tique du signal audio.audio signal tick.
Synchronisation vidéo Dans le mode de réalisation actuellement préféré, le balayage horizontal est effectué à une fréquence de Video synchronization In the currently preferred embodiment, horizontal scanning is performed at a frequency of
22.256,84398 Hz. Le balayage vertical se produit à une fré- 22,256.84398 Hz. Vertical scanning occurs at a frequency
quence de 60 Hz. Chaque trame comporte 370 lignes de ba- quence of 60 Hz. Each frame has 370 lines of bass
layage et il y a 704 pixels ou points par balayage horizon- layering and there are 704 pixels or points per horizon scan-
tal. Ceci correspond à 44 mots de seize bits de la mémoire tal. This corresponds to 44 words of sixteen bits of memory
MAS 11. Ainsi, la fréquence d'horloge principale de l'oscil- MAS 11. Thus, the main clock frequency of the oscillator-
lateur 31 indiquée comme étant de 16 MHz est plus précisé- player 31 indicated as being 16 MHz is more precise-
ment de 15,6672 MHz.15.6672 MHz.
Comme représenté sur la Fig. 2 à laquelle on se référe- As shown in Fig. 2 to which we refer
ra, sur l'écran d'affichage proprement dit, il y a 512 pixels "actifs" dans la direction horizontale et 342 lignes. Les 192 bits restants de chaque balayage horizontal constituent la période de suppression horizontale,appelée quelquefois temps de "retour du spot". C'est pendant cette période de temps que le courant du faisceau d'un tube à rayon cathodique ra, on the actual display screen, there are 512 "active" pixels in the horizontal direction and 342 lines. The remaining 192 bits of each horizontal scan constitute the horizontal blanking period, sometimes called "spot return" time. It is during this period of time that the beam current of a cathode ray tube
est abaissé et que le faisceau est ramené d'un côté de l'é- is lowered and the beam is brought back to one side of the beam
cran à l'autre. Dans la direction verticale, en plus de 342 notch to another. In the vertical direction, in addition to 342
lignes affichées sur l'écran, il y a 28 périodes supplémen- lines displayed on the screen, there are 28 additional periods
taires pendant lesquelles se produit la suppression verti- during which vertical suppression occurs
cale, c'est-à-dire que le courant du faisceau est à nouveau réduit et que le faisceau retourne de la partie inférieure wedge, i.e. the beam current is again reduced and the beam returns from the bottom
de l'écran à la partie supérieure de l'écran. from the screen to the top of the screen.
Sur la Fig. 2, le temps est représenté, de gauche à In Fig. 2, time is shown, from left to
droite, par exemple par la ligne 39 en traits interrompus. right, for example by line 39 in broken lines.
Lors du premier balayage, après que 512 bits ont été affi- During the first scan, after 512 bits have been displayed
chés, le temps représenté par la ligne 40 est atteint et the time represented by line 40 is reached and
la suppression du faisceau se produit. Pendant la suppres- beam deletion occurs. During the deletion
siondu faisceau, il n'est pas nécessaire que la mémoire MAS fournisse des données pour l'affichage. Avant le temps beam, there is no need for MAS to provide data for display. Before time
, comme on peut le voir sur la Fig. 1 à laquelle on se ré- , as can be seen in Fig. 1 to which we refer
férera, le compte du compteur 22 accède à la mémoire MAS 11 will count, the account of the counter 22 accesses the memory MAS 11
par l'intermédiaire du multiplexeur 20 d'adresses de la mé- by means of the address multiplexer 20 of the
moire MAS. Ceci se produit pour chaque ligne d'affichage. (Le compteur 22 entretient à la fois un compte horizontal moire MAS. This occurs for each display line. (Counter 22 maintains both a horizontal account
et un compte vertical). Les compteurs ne sont pas incrémen- and a vertical account). The counters are not incremented
tés dans le sens normal pendant la période de suppression horizontale. Au lieu de cela, quatre bits du compteur vidéo sont réutilisés pour le comptage pendant cette période. Ceci élimine les intervalles entre adresses pour les données de tees in the normal direction during the horizontal blanking period. Instead, four bits of the video counter are reused for counting during this period. This eliminates the intervals between addresses for the data of
son. Lorsque le temps 40 est atteint pour chaque ligne de ba- his. When time 40 is reached for each line of ba
layage, un signal d'horloge émis par les réseaux RLTP 23 commande le multiplexeur 20 de façon qu'il accepte des adresses émises par le microprocesseur 10. Pendant les 192 impulsions suivantes de l'horloge de 16 MHz, sauf pour la layout, a clock signal transmitted by the RLTP networks 23 controls the multiplexer 20 so that it accepts addresses transmitted by the microprocessor 10. During the next 192 pulses of the 16 MHz clock, except for the
dernière impulsion, le microprocesseur peut librement accé- last pulse, the microprocessor can freely access
der à la mémoire MAS et effectuer ainsi des tâches indépen- der to MAS memory and thus perform independent tasks
dantes de l'affichage. Lorsque la dernière impulsion de chaque ligne de balayage est atteinte, un signal émis par les réseaux logiques RLTP 23 a pour effet que le compteur 22 accède directement à la mémoire 11 par l'intermédiaire du display dantes. When the last pulse of each scan line is reached, a signal sent by the RLTP logic networks 23 has the effect that the counter 22 directly accesses the memory 11 via the
multiplexeur 21. A ce moment, le mot de seize bits de la mé- multiplexer 21. At this time, the sixteen-bit word of the me-
moire MAS 11 (temps 41 de la Fig. 2) est extrait de la mé- moire MAS 11 (time 41 of Fig. 2) is extracted from the meta-
moire, 8 bits étant transmis à l'unité 27 de commande de vi- moire, 8 bits being transmitted to the vi control unit 27
tesse du moteur d'entraînement du disque et8 bits étanttrans- disk drive motor size and 8 bits being trans-
mis aux compteurs de son 29 (comme on le verra,l'unité 27 de com- put on the sound meters 29 (as we will see, the unit 27 of
mande devitesse dumoteur d'entraînement du disque n'utilise que six deces bits).Pendant"le temps d'écran"représenté sur speed of the drive motor uses only six of these bits) .During "screen time" shown on
la Fig.2,les mots de seize bits de lamémoire sont placés - in Fig. 2, the sixteen bit words of the memory are placed -
dans le registre à décalage vidéo 28 et sont utilisés pour in the video shift register 28 and are used to
fournir le signal vidéo. Les réseaux RLTP 23, comme mention- provide the video signal. RLTP 23 networks, as mentioned-
né, fournissent,sur la ligne 32,1e signal de synchronisa- born, provide, on line 32,1st synchronization signal
tion horizontale et le signal de synchronisation verticale horizontal tion and vertical synchronization signal
utilisés en combinaison avec le signal du registre à déca- used in combination with the shift register signal
lage 28 pour commander l'affichage vidéo. lage 28 to control the video display.
Lorsque la 342&me ligne de balayage est atteinte (re- When the 342 & me scan line is reached (re-
présentée par la ligne 43) et au temps 40 de cette ligne, le multiplexeur 20 permet à nouveau au microprocesseur 10 d'accéder à la mémoire MAS 11. Cependant, à la fin de la ligne 43 et pendant la période restante de la suppression verticale, le multiplexeur 21 applique à nouveau 9 bits d'adresse à la mémoire MAS 11 au temps 41 pour permettre au mot de 16 bits d'être appliqué à l'unité 27 de commande de presented by line 43) and at time 40 of this line, the multiplexer 20 again allows the microprocessor 10 to access the memory MAS 11. However, at the end of line 43 and during the remaining period of vertical suppression , the multiplexer 21 again applies 9 address bits to the memory MAS 11 at time 41 to allow the 16-bit word to be applied to the control unit 27
vitesse et aux compteurs 29. (Les lignes RA0 à RA6 sont mul- speed and meters 29. (Lines RA0 to RA6 are multiple
tiplexées dans le temps pour fournir ces signaux d'adresses). time -lexed to provide these address signals).
Pendant la suppression verticale, le microprocesseur 10 peut accéder à la mémoire MAS 11 sauf pour la dernière impulsion d'horloge de chaque ligne. C'est pendant cette période de During vertical suppression, the microprocessor 10 can access the MAS memory 11 except for the last clock pulse of each line. It was during this period of
temps que, comme on le décrira ci-après, les données decom- time as, as will be described below, the data decom-
mande de vitesse du moteur du disque et les données de son disc motor speed demand and sound data
mises en mémoire dans la mémoire MAS 11 sont mises à jour. stored in memory MAS 11 are updated.
Le multiplexeur 21 avec son adresse de neuf bits défi- Multiplexer 21 with its nine-bit address defi-
nit des emplacements contigus de la mémoire permettant ainsi nit contiguous memory locations thus allowing
aux données de son et de vitesse du moteur d'être plus faci- engine sound and speed data to be easier
lement accédées et mises à jour par le processeur 10. On no- Lely accessed and updated by processor 10. We no-
tera que l'emplacement de mémoire dans la mémoire MAS 11 will be that the memory location in MAS 11
pour les données de son et de commande de vitesse est diffé- for sound and speed control data is different
rent de l'emplacement des données d'écran. rent from the location of the screen data.
Dans le mode de réalisation actuellement utilisé, pen- In the currently used embodiment,
dant la période vidéo "active", le microprocesseur et les transferts de signaux d'affichage vidéo utilisent le bus de données en temps partagé en cycles alternés. Pendant During the "active" video period, the microprocessor and video display signal transfers use the time-shared data bus in alternating cycles. during
la suppression horizontale (pour les mots 32 à 42),le mi- horizontal deletion (for words 32 to 42), mid
croprocesseur a seul accès au bus de données. Au temps 41 de la Fig. 2 (43ème mot),le microprocesseur et le transfert des données de son/vitesse partagent le bus de données en cycle alternés. Le microprocesseur pourrait mettre à jour les données croprocessor has only access to the data bus. At time 41 of FIG. 2 (43rd word), the microprocessor and the sound / speed data transfer share the data bus in alternating cycles. Microprocessor could update data
de son et les données de commande de vitesse pendant la pé- sound and speed control data during shifting
riode vidéo active. En pratique, cependant, ces données sont active video. In practice, however, this data is
mises à jour pendant les périodes de suppression du faisceau. updated during beam suppression periods.
Dans le mode de réalisation actuellement construit et préfé- In the currently constructed and preferred embodiment
ré, le signal de synchronisation verticale (signal de retour du spot vertical) déclenche la mise à jour des données de d, the vertical synchronization signal (return signal from the vertical spot) triggers the updating of the
son. En utilisant ce signal et en mettant à jour les emplace- his. Using this signal and updating the locations
ments déjà accédés (par exemple en commençant à l'emplace- ment utilisé à la ligne39 au temps 41), la mise à jour ne gêne pas la lecture des données de son. Le programme du already accessed (for example by starting at the location used on line 39 at time 41), the update does not interfere with the playback of sound data. The program of
logiciel assure que la mise à jour reste en avance par rap- software ensures that the update stays ahead of time
port à la lecture des données de son. Si le microprocesseur mettait à jour les données deson sans être synchronisé avec l'affichage, les données pourraient être remplacées avant d'être utilisées. En outre, cet agencement libère le logiciel de la nécessité d'être synchronisé avec le son pour mettre port for reading sound data. If the microprocessor updates the deson data without being synchronized with the display, the data could be overwritten before being used. In addition, this arrangement frees the software from the need to be synchronized with the sound to put
à jour les données.update the data.
Génération des signaux audio Les huit bits de données de son reprsentant le signal audio sont décalés en parallèle dans deux compteurs de quatre bits, 46 et 47,qui ont été représentés sur la Fig. 3. Ces Generation of audio signals The eight bits of sound data representing the audio signal are shifted in parallel in two four-bit counters, 46 and 47, which have been shown in FIG. 3. These
compteurs sont des éléments du commerce (n de pièce 161). counters are commercially available items (part number 161).
Les compteurs reçoivent le signal d'horloge de 8 MHz qui leur est transmis sur la ligne 48. Le comptage se poursuit The meters receive the 8 MHz clock signal which is transmitted to them on line 48. The counting continues
dans ces compteurs jusqu'à ce qu'il se produise un dépasse- in these counters until an overshoot occurs
ment de capacité qui est détecté sur une ligne 49. Ainsi, si un nombre ne comportant que des zéros a été chargé dans capacity which is detected on a line 49. Thus, if a number containing only zeros has been loaded into
les compteurs,un temps plus long doit s'écouler avant le dé- the counters, a longer time must elapse before the
passement de capacité (approximativement 32 as) tandis qu'un dépassement de capacité peut se produire dès le premier cycle de l'horloge de 8 MHz si un nombre ne comportant que des 1 capacity overflow (approximately 32 aces) while an overflow may occur from the first cycle of the 8 MHz clock if a number comprising only 1
est chargé dans le compteur.is loaded into the counter.
La forme d'onde audio est produite en engendrant tout d'abord des impulsions dont chacune a une largeur qui est fonction du temps qui s'écoule entre le chargement des huit The audio waveform is produced by first generating pulses, each of which has a width which is a function of the time which elapses between the loading of the eight
bits dans les compteurs 46 et47 et le dépassement de capacité. bits in counters 46 and 47 and overflow.
Par exemple, comme représenté sur la Fig. 4, le front avant 52 d'une impulsion se produit lors du chargement des données de son dans les compteurs.Si un nombre ne comportant que des For example, as shown in FIG. 4, the leading edge 52 of a pulse occurs when loading the sound data into the counters. If a number with only
zéros est chargé, le dépassement de capacité se produit envi- zeros is loaded, overflow occurs approxi-
ron 32 as plus tard et l'impulsion se termine comme indiqué par le front arrière 54. Une impulsion est engendrée lors de chaque balayage horizontal étant donné qu'un mot de son de ron 32 as later and the pulse ends as indicated by the trailing edge 54. A pulse is generated during each horizontal scan since a sound word of
huit bits est chargé dans les compteurs à chaque balayage. eight bits are loaded into the counters with each scan.
Par conséquent, les impulsions sont engendrées à une fré- As a result, the pulses are generated at a frequency
* quence d'approximativement 22.000 Hzet,enthéorie,ceci four-* approximately 22,000 Hz and, entheory, this provides
nit une largeur de bande d'environ 11.000 Hz. Sur la Fig. 4, on a représenté une seconde impulsion 56 qui a une largeur nit a bandwidth of about 11,000 Hz. In Fig. 4, a second pulse 56 has been shown which has a width
fortement réduite. Ceci, naturellement, se produit lors- greatly reduced. This, of course, occurs when
qu'un nombre plus grand est chargé dans les compteurs 46 that a larger number is loaded into the counters 46
et 47. L'impulsion 57, qui est représentée comme se produi- and 47. Pulse 57, which is depicted as occurring
sant pendant le troisième balayage,à une largeur qui tombe health during the third sweep, at a falling width
entre les première et seconde impulsions. between the first and second pulses.
Les impulsions sont intégrées par un intégrateur ordi- The pulses are integrated by a computer integrator
naire pour produire le signal analogique. L'intégrateur 60 de la Fig. 6 reçoit un signal de chargement et de signal de nary to produce the analog signal. The integrator 60 of FIG. 6 receives a loading signal and signal
dépassement de capacité. La forme d'onde 61 représente l'in- overflow. Waveform 61 represents the in-
tégration résultante des impulsions représentées sur la resulting integration of the pulses represented on the
Fig. 4.Fig. 4.
Les trois bits d'information (bits 37a, 37b et 37c) de l'adaptateur d'interface 55 sont utilisés pour permettre à The three information bits (bits 37a, 37b and 37c) of the interface adapter 55 are used to allow
un utilisateur deécommander statiquement la puissance sonore. a user to statically recommend the sound power.
Les amplificateurs 63, 64 et 65 sont mis en fonction ou hors fonction pour permettre de commander l'amplitude de sortie Amplifiers 63, 64 and 65 are turned on or off to control the output amplitude
sur la ligne 68.on line 68.
Calcul des signaux de données de son Calculation of sound data signals
Les données de son extraites de la mémoire,qui défi- The sound data extracted from the memory, which
nissent les formes d'onde sonores,sont calculées par le mi- sound waveforms, are calculated by mid
croprocesseur 10. Plus spécifiquement, elles sont engendrées "par le logiciel" à l'intérieur du microprocesseur. On peut utiliser un langage évolué, tel que le Pascal, pour permettre croprocessor 10. More specifically, they are generated "by software" inside the microprocessor. We can use an advanced language, such as Pascal, to allow
à un utilisateur de mettre plus facilement en oeuvre les or- to a user to more easily implement the
ganigrammes qui sont décrits ci-dessous. En général, les don- ganigrams which are described below. In general, the data
nées de son sont produites extrêmement rapidement étant don- sound are produced extremely quickly given
né que le processeurtire avantage dela capacité d'addition ra- born that the processor takes advantage of the added capacity
pide du microprocesseur 68.000.68,000 microprocessor pide.
Nous référant à la Fig. 5, on supposera qu'un unique ton "pur" doit être engendré. En premier lieu, une table Referring to FIG. 5, it will be assumed that a single "pure" tone must be generated. First, a table
de consultation est mise en mémoire dans la mémoire du sys- is stored in the system memory
tème; dans le mode de réalisation actuellement préféré,la table de consultation comporte 256x8 bits. Ainsi,pour chaque adresse de huit bits appliquée à la table,il est produit un signal de sortie de huit bits. Pour un ton pur, la table de consultation contient des points correspondant à une onde teme; in the currently preferred embodiment, the look-up table has 256 × 8 bits. Thus, for each eight bit address applied to the table, an eight bit output signal is produced. For a pure tone, the consultation table contains points corresponding to a wave
sinusoidale. Ceci est représenté pour la table de consulta- sinusoidal. This is shown for the look-up table.
tion 70 de la Fig. 5. Le processus de génération de l'a- tion 70 of FIG. 5. The generation process of the a-
dresse pour la valeur suivante de la table consiste à addi- stands for the next value in the table is to addi-
tionner de manière répétée un certain nombre prédéterminé représenté dans le rectangle 74 comme étant t 00 à un nombre mis en mémoire dans un registre 72. Initialement,le mot de 32 bits contenu dans le registre 73 peut avoir une valeur repeatedly specify a predetermined number represented in rectangle 74 as t 00 to a number stored in a register 72. Initially, the 32-bit word contained in the register 73 may have a value
quelconque, par exemple ne comporter que des zéros. L'incré- any, for example, contain only zeros. The incred-
ment A00y est ajouté. La somme résultante est rechargée dans le registre 72. Les huits bits les plus significatifs sont extraits de la somme,comme indiqué dans le rectangle 76, ment A00y is added. The resulting sum is reloaded into register 72. The eight most significant bits are extracted from the sum, as indicated in rectangle 76,
et utilisés comme adresse pour la table de consultation 70. Supposons, à des fins d'illustration, que t 00 soit petit. Les bits les and used as the address for the look-up table 70. Suppose, for purposes of illustration, that t 00 is small. The bits
plus significatifs ne changent pas chaque fois que ce nombre binaire relativement petit est ajouté au more significant do not change each time this relatively small binary number is added to the
nombre enregistré dans le registre 72 mais il faut,au con- number recorded in register 72 but it is necessary, at the
traire,de nombreuses additions pour les faire changer. Par milk, many additions to make them change. By
conséquent, chacun des 256 emplacements de la table de con- Therefore, each of the 256 locations in the table
sultation est adressé plusieurs fois et les huit-bits de données de la table de consultation qui sont mis en mémoire sultation is addressed multiple times and the eight-bit lookup table data that is stored
dans la mémoire MAS 11 varient lentement. Ceci, naturelle- in the MAS 11 memory vary slowly. This, natural-
ment correspond à une basse fréquence. Si, par contre, l'in- ment corresponds to a low frequency. If, on the other hand, the
crément. 0, est relativement grand, les résultats de la table de consultation changent plus rapidement et, ainsi, incredibly. 0, is relatively large, the lookup table results change more quickly, and so
par exemple,tous les mots de données de huit bits consécu- for example, all eight-bit data words consecutively
tifs extraits de la table de consultation 70 peuvent être tifs extracted from the consultation table 70 can be
diférents. Ceci correspond à une fréquence élevée. Un nou- different. This corresponds to a high frequency. A new
veau mot de données de son de huit bits est obtenu à chaque addition représentée par le rectangle 74. Par conséquent, the eight word bit sound data word is obtained with each addition represented by rectangle 74. Therefore,
en modifiant l'incrément ajouté à chaque cycle, on fait va- by modifying the increment added to each cycle, we do
rier la fréquence du ton. Toutes les données de son utilisées au cours de chaque trame peuvent être facilement calculées en quelques périodes de ligne de balayage de la période de laugh the frequency of the tone. All the sound data used during each frame can be easily calculated in a few periods of scan line of the period of
suppression verticale.vertical removal.
Pour obtenir la commande d'enveloppe ou la modulation d'amplitude, on peut utiliser une série de tables. Chaque table, par exemple, d'une série de tables 0-7 contient une onde sinusoidale ayant une valeur maximale de crête à crête To obtain envelope control or amplitude modulation, a series of tables can be used. Each table, for example, in a series of tables 0-7 contains a sine wave with a maximum peak-to-peak value
de 2n'de table En laissant s'écouler un certain nombre d'in- of 2n'de table By letting flow a certain number of-
tervalles de trame entre le passage d'une table à une autre weft tervalles between the passage from one table to another
on peut réaliser la commande de l'enveloppe. you can order the envelope.
Comme représenté sur la Fig. 7, dans le mode de réali- As shown in Fig. 7, in the embodiment
sation actuellement préféré, jusqu'à quatre tables de con- currently preferred, up to four tables
sultation de 256x8 peuvent être utilisées par le micropro- sultation of 256x8 can be used by micropro-
cesseur 10. En outre, le contenu de chaque table de consul- stopper 10. In addition, the content of each consultation table
tation peut être programmé par l'utilisateur et le contenu tation can be programmed by user and content
de chaque table peut être différent de celui des autres. of each table may be different from that of the others.
Par exemple, la table de consultation 80 de la Fig. 7 est représentée comme contenant une onde sinusoidale, la table 81 comme contenant une onde triangulaire,la table 82 comme contenant une onde carrée et la table 83 comme contenant une rampe. Cependant, dans ce cas (dans lequel quatre tons For example, the look-up table 80 of FIG. 7 is shown as containing a sine wave, the table 81 as containing a triangular wave, the table 82 as containing a square wave and the table 83 as containing a ramp. However, in this case (in which four tones
simultanés sont engendrés) on utilise 24 bits au lieu de 32. are generated) 24 bits are used instead of 32.
(Ceci est représenté par le bloc 85 sur la Fig. 7). Dans ce cas également, un incrément désigné A01 est ajouté à la (This is represented by block 85 in Fig. 7). In this case also, an increment designated A01 is added to the
somme précédente (rectangle 86). Les bits les plus signifi- previous sum (rectangle 86). The most significant bits
catifs sont extraits de la somme et sont utilisés comme adresse pour le mot de huit bits correspondant de la table 80. Le même processus est répété en cequi concerne le nombre catives are extracted from the sum and are used as the address for the corresponding eight-bit word from table 80. The same process is repeated with regard to the number
représenté dans le rectangle 87,auquel un incrément A02(dif- represented in rectangle 87, to which an increment A02 (dif-
férent ou identique) est ajouté, comme indiqué dans le rec- or identical) is added, as indicated in the rec-
tangle 88, les bits les plus significatifs de la somme étant, à nouveau, utilisés pour adresser la table de consultation tangle 88, the most significant bits of the sum being, again, used to address the lookup table
81. De même, des valeurs et incréments mis en mémoire dif- 81. Likewise, values and increments stored in different memory
férents sont engendrés pour permettre la consultation des tables 82 et 83. Les huits bits résultants de chacune des tables sont ajoutés, comme indiqué par les rectangles 89, 90 et 91, et les huit bits les plus significatifs sont t8629 extraits de cette somme, comme indiqué dans le rectangle 92 et enregistrés dans la mémoire 11. Ce processus est répété pour chacun des mots de données mis en mémoire dans le MAS 11 lorsque quatre tons sont engendrés. Dans ce cas également, la fréquence fondamentale de chacun des quatre tons est dé- are generated to allow the consultation of tables 82 and 83. The eight resulting bits of each of the tables are added, as indicated by the rectangles 89, 90 and 91, and the eight most significant bits are t8629 extracted from this sum, as indicated in rectangle 92 and stored in memory 11. This process is repeated for each of the data words stored in memory in MAS 11 when four tones are generated. In this case also, the fundamental frequency of each of the four tones is de-
terminée par l'incrément qui est ajouté, tel que celui indi- terminated by the increment that is added, such as that indicated
qué dans les rectangles 86 et 88,et le résidu est déterminé as in rectangles 86 and 88, and the residue is determined
par la"forme" mise en mémoire dans la table de consultation. by the "form" stored in the look-up table.
Le tableau I annexé aux présentes est un programme écrit dans le langage d'assemblage du microprocessur 68.000 pour Table I appended hereto is a program written in the 68,000 microprocessor assembly language for
mettre en oeuvre l'organigramme de la Fig. 7. implement the flow diagram of FIG. 7.
Avec l'appareil générateur de sons décrits ci-dessus, on obtient une excellente commande des tons, une "commande de fréquence" comportant jusqu'à 24 bits pouvant être utilisée With the tone generator described above, excellent tone control is obtained, a "frequency control" with up to 24 bits can be used
(pour chaque ton) dans la bande de 11 kHz. Ceci permet d'en- (for each tone) in the 11 kHz band. This allows
gendrer dans la bande presque 17 millions de tons différents, ce qui est approximativement égal (ou supérieur) à la plus gendering in the band almost 17 million different tones, which is approximately equal to (or greater) than the most
grande capacité de perception de l'oreille humaine. great capacity of perception of the human ear.
Les processus décrits ci-dessus sont plus particulière- The processes described above are more specific-
ment appropriés pour fournir des fonctions périodiques qui sont de nature harmonique et produisent une qualité tonale représentant de la musique ou analogue. Pour des sons, tels suitable for providing periodic functions which are harmonic in nature and produce a tonal quality representing music or the like. For sounds, such
que la voix, on peut utiliser une mémoire-tampon de consul- that voice, you can use a consultancy buffer
tation agrandie pour mettre initialement en mémoire une forme d'onde qui représente, par exemple, la parole. Cette mémoire est représentée par la mémoire-tampon 93 sur la Fig. 8. La mémoire-tampon peut en fait être contenue dans enlarged to initially store a waveform that represents, for example, speech. This memory is represented by the buffer memory 93 in FIG. 8. The buffer may actually be contained in
la mémoire MAS 11 et elle doit l'être pour des raisons pra- MAS 11 memory and it must be for practical reasons.
tiques si une longue forme d'onde doit être mise en mémoire. ticks if a long waveform is to be stored.
Les valeurs de huit bits sont à nouveau obtenues en ajoutant un certain incrément t 00 représenté dans le rectangle 95 à un mot de 32 bits enregistré dans un registre 96, les bits The eight-bit values are again obtained by adding a certain increment t 00 represented in rectangle 95 to a 32-bit word recorded in a register 96, the bits
les plus significatifs de la somme étant utilisés pour adres- the most significant of the sum being used to address
ser des emplacement de la mémoire-tampon 93. Les résultats de la consultation de la mémoire-tampon agrandie sont mis en ser buffer locations 93. The results of viewing the enlarged buffer are saved
mémoire et sélectionnés au cours de la période de suppres- memory and selected during the deletion period
sion horizontale,comme dans le cas des Fig. 5 et 7. horizontal position, as in Figs. 5 and 7.
Le tableau 2 annexé contient un programme écrit dans le langage d'assemblage du microprocesseur 68.000 pour mettre The attached table 2 contains a program written in the assembly language of the 68,000 microprocessor for putting
en oeuvre l'organigramme de la Fig. 8. the flow diagram of FIG. 8.
Unité de commande de la vitesse du moteur d'entraînement du disque En général, les unités à disque souple et autres unités à disque comprennent un mécanisme pour entraîner le disque à Disc drive motor speed control unit Generally, floppy disc drives and other disc drives include a mechanism for driving the disc to
une vitesse de rotation constante prédéterminée (vitesse). a predetermined constant speed of rotation (speed).
Lors de la fabrication de l'unité à disque,le mécanisme de commande de vitesse est étalonné pour assurer que les données When manufacturing the disk drive, the speed control mechanism is calibrated to ensure that the data
seront enregistrées et lues à une certaine cadence. will be recorded and played back at a certain rate.
Suivant la présente invention, la vitesse du moteur est According to the present invention, the motor speed is
commandée par un ordinateur et, en outre, la vitesse du mo- controlled by a computer and, in addition, the speed of the mo-
teur est modifiée en fonction de la piste qui est accédée de façon à obtenir des densités de flux uniformes. En d'autres termes, le moteur tourne plus lentement lorsque les pistes extérieures sont utilisées (le rayon est plus grand) et plus rapidement lorsque les pistes intérieures sont utilisées (le tor is modified according to the track which is accessed so as to obtain uniform flux densities. In other words, the engine runs slower when the outer tracks are used (the radius is larger) and faster when the inner tracks are used (the
rayon est plus petit).radius is smaller).
Sur la Fig. 9 l'ordinateur de la Fig. 1 a été représen- In Fig. 9 the computer of FIG. 1 has been represented
té comme étant l'ordinateur 97. Une unité à disque, telle qu'une unité à disque souple et, en particulier, le moteur 98 d'entraînement du disque ont été représentés. La ligne 99 transmet à l'ordinateur 97 des impulsions qui indiquent la vitesse du moteur. Dans le mode de réalisation actuellement préféré, on utilise les impulsions d'indexage standard du moteur. Les unités à disque souple utilisées sont clavetées à l'arbre du moteur et, de ce fait, il ne se produit aucun tee as computer 97. A disk drive, such as a flexible disk drive and, in particular, the disk drive motor 98 have been shown. Line 99 transmits pulses to computer 97 which indicate the speed of the motor. In the presently preferred embodiment, the standard indexing pulses of the motor are used. The flexible disk drives used are keyed to the motor shaft and, therefore, no
patinage. Par conséquent, les impulsions d'indexage elles- skating. Therefore, the indexing pulses themselves
mêmes représentent la vitesse de rotation effective du disque souple. Si un patinage est possible,on peut utiliser les marques ou courants de bits du disque lui-même pour obtenir une indication précise de la vitesse du disque. Le signal de commande de vitesse transmise sur la ligne 100 commande la vitesse du moteur. Un niveau de signal prédéterminé est same represent the effective rotation speed of the flexible disk. If slippage is possible, you can use the bit marks or streams of the disc itself to get an accurate indication of the speed of the disc. The speed control signal transmitted on line 100 controls the speed of the motor. A predetermined signal level is
utilisé sur la ligne 100 et la vitesse du moteur est détec- used on line 100 and the motor speed is detected
tée sur la ligne 99. Ceci permet à l'ordinateur 97 d'enre- ted on line 99. This allows computer 97 to record
gistrer les caractéristiques du moteur 98. En d'autres termes, l'ordinateur connait, pour chaque moteur qui y record the characteristics of the engine 98. In other words, the computer knows, for each engine which
est connecté, la vitesse de rotation du moteur pour un si- is connected, the speed of rotation of the motor for a
gnal de commande de vitesse particulier. De cette manière, il n'est pas nécessaire d'étalonner le moteur 98 de l'unité à disque et, en outre, le mécanisme de commande de vitesse general speed control. In this way, it is not necessary to calibrate the motor 98 of the disk drive and, moreover, the speed control mechanism.
normalement utilisé dans l'unité à disque n'est pas néces- normally used in the disk drive is not required
saire étant donné que la commande de vitesse est effectuée par l'ordinateur. Comme il résulte clairement de la Fig. 9, il se produit un fonctionnement à boucle fermée,étant donné que l'ordinateur 97 détecte la vitesse effective du moteur because the speed control is carried out by the computer. As is clear from FIG. 9, closed loop operation occurs, since the computer 97 detects the effective speed of the motor
au moyen de la ligne 99.using line 99.
Dans le mode de réalisation actuellement utilisé, l'or- In the embodiment currently used, the
dinateur 97 examine les impulsions 99 et détermine les ca- computer 97 examines pulses 99 and determines the ca-
ractéristiques du moteur 98 lorsqu'un nouveau disque est pla- characteristics of engine 98 when a new disc is placed
cé dans l'unité à disque, avant que des données y soient écrites, ou si des erreurs de lecture ou d'écriture se sont produites. Il est évident que l'on pourrait utiliser d'autres c in the disk drive, before data is written to it, or if read or write errors have occurred. Obviously we could use other
agencements, par exemple, les impulsions d'indexage pour- arrangements, for example, the indexing pulses for-
raient être contrôlées périodiquement voire même continuelle- should be checked periodically or even continuously-
ment.is lying.
Dans le mode de réalisation actuellement préféré, le mo- In the currently preferred embodiment, the mo-
teur fonctionne à une vitesse allant de 350 tr/mn,pour la piste la plus intérieure,jusqu'à 700 tr/mn,pour la piste la plus extérieure. Il est évident que la gamme de vitesses de rotation choisie dépendra du rayon du disque et variera en fonction des caractéristiques magnétiques particulières du The engine operates at a speed ranging from 350 rpm, for the innermost track, up to 700 rpm, for the outermost track. It is obvious that the range of rotational speeds chosen will depend on the radius of the disc and will vary according to the particular magnetic characteristics of the
système et du format du disque.system and disc format.
Comme précédemment mentionné, pendant chaque période de suppression horizontale, 8 bits de données sont transmis As previously mentioned, during each horizontal blanking period, 8 bits of data are transmitted
aux compteurs de son 29 de la Fig. 1 et 8 bits sont appli- to the sound counters 29 of FIG. 1 and 8 bits are applied
qués à l'unité 27 de commande de vitesse. Dans le mode de réalisation actuellement utilisé, six seulement des bits de ce bus sont utilisés pour la commande de vitesse. Ce bus est représenté comme étant un bus 109 sur la Fig. 10 et ces six lignes du bus sont représentées comme étant couplées aux six étages d'un registre à décalage 102. Les six bits du bus 108 sont chargés dans les six étages du registre 102 lorsque than the speed control unit 27. In the embodiment currently in use, only six of the bits of this bus are used for speed control. This bus is represented as being a bus 109 in FIG. 10 and these six bus lines are shown as being coupled to the six stages of a shift register 102. The six bits of bus 108 are loaded into the six stages of register 102 when
les signaux de données de son sont chargés dans les comp- the sound data signals are loaded into the comp-
teurs de son 29.sound tutors 29.
La Fig. 10 représente un compteur de polynôme. Les données placées dans les six étages du registre à décalage Fig. 10 represents a polynomial counter. Data placed in the six stages of the shift register
102 sont décalées sous la commande d'un signal d'horloge. 102 are shifted under the control of a clock signal.
La vitesse de décalage effective est d'approximativement 1 MHz. Du fait des divers états d'attente qui se produisent dans le registre à décalage le signal d'horloge de 8 MHz est en fait appliqué au registre. Le signal de sortie du dernier étage du registre est transmis à une borne d'entrée d'une porte OU exclusif 104 par une ligne 103. Le signal de The effective offset speed is approximately 1 MHz. Due to the various wait states that occur in the shift register the 8 MHz clock signal is actually applied to the register. The output signal of the last stage of the register is transmitted to an input terminal of an exclusive OR gate 104 by a line 103. The signal of
sortie du premier étage est transmis à l'autre borne d'en- output of the first stage is transmitted to the other terminal
trée de la porte 104 par une ligne 105. Cet agencement as- entrance of door 104 by a line 105. This arrangement has
sure le comptage dans le "générateur de polynôme" d'une ma- on counting in the "polynomial generator" of a ma-
nière connue dans la technique antérieure. Les étages du re- known in the prior art. The floors of the re-
gistre à décalage 102 sont également couplés à un détecteur shift register 102 are also coupled to a detector
d'état 106. Ce détecteur détermine le moment o un état bi- 106. This detector determines when a dual state
naire prédéterminé est atteint dans le registre àdécalage. predetermined number is reached in the shift register.
Lorsque cet état est atteint, un signal est appliqué sur la ligne 109 pour arrêter le décalage du registre à décalage When this state is reached, a signal is applied on line 109 to stop the shift of the shift register
102; ce signal est utilisé pour engendrer la fin d'une im- 102; this signal is used to generate the end of an im-
pulsion de la même manière que celle utilisée pour le signal drive in the same way as that used for the signal
de son.of his.
Nous référant à la Fig. 11, le comptage commence dans le registre à décalage 102 de la Fig. 10 au début de chaque Referring to FIG. 11, the counting begins in the shift register 102 of FIG. 10 at the start of each
balayage horizontal. A ce moment, le front avant d'une im- horizontal scanning. At this time, the front edge of an im-
pulsion est engendré tel que le front 115 de l'impulsion représentée surla Fig. 12. Lorsque le détecteur d'état 106 pulse is generated such that the front 115 of the pulse shown in FIG. 12. When the status detector 106
détecte l'état prédéterminé, la fin de l'impulsion est engen- detects the predetermined state, the end of the pulse is generated
drée,comme représenté par le front arrière 116 de la Fig.12. drée, as represented by the rear edge 116 of FIG. 12.
Les impulsions sont intégrées par l'intégrateur 114 et le signal résultant sur la ligne 100 est utilisé pour commander The pulses are integrated by the integrator 114 and the resulting signal on line 100 is used to control
la vitesse du moteur de la manière habituelle. the engine speed in the usual way.
Les 6 bits placés dans le registre à décalage 102 at- The 6 bits placed in the shift register 102 have-
teignent toujours l'état détecté par le détecteur 106 avant la fin de chaque balayage horizontal. En pratique, l'état sera détecté pendant les 40 premières microsecondes des 44 always dye the state detected by the detector 106 before the end of each horizontal scan. In practice, the state will be detected during the first 40 microseconds of the 44
as approximativement requises pour chaque balayage horizon- as approximately required for each horizon scan-
tal. Dix balayages horizontaux sont utilisés pour chaque réglage de commande de vitesse. Ce nombre est choisi étant tal. Ten horizontal scans are used for each speed control setting. This number is chosen being
donné que le mode de réalisation actuellement préféré uti- since the presently preferred embodiment uses
lise 370 lignes de balayage au total divisible en dix par- reads 370 scan lines in total divisible into ten parts
ties égales. Néanmoins, une impulsion est engendrée pour chaque balayage horizontal. (La constante de temps associée à l'intégrateur 114 de la Fig. 11 est suffisamment longue equal ties. However, a pulse is generated for each horizontal scan. (The time constant associated with the integrator 114 of Fig. 11 is sufficiently long
pour qu'un signal continu soit produit sur la ligne 100). so that a continuous signal is produced on line 100).
La largeur d'impulsion engendrée pour chacun des 10 balayages utilisés pour définir chaque valeur de commande de vitesse "fluctue" pour fournir des valeurs précises. Par exemple, supposons qu'une valeur correspondant à 6,5 soit requise sur la ligne 100. Nous référant à la Fig. 12, pour les dix balayages utilisés pour définir cette valeur, le premier The pulse width generated for each of the 10 scans used to define each speed control value "fluctuates" to provide precise values. For example, suppose that a value corresponding to 6.5 is required on line 100. Referring to Fig. 12, for the ten scans used to set this value, the first
aura la valeur 6, le second la valeur 7, le troisième la va- will have the value 6, the second the value 7, the third will
leur 6 et ainsi de suite pour les dix balayages. Ceci a pour effet de faire varier le front arrière entre les valeurs 6 their 6 and so on for the ten scans. This has the effect of varying the trailing edge between the values 6
et 7. Après avoir été intégrée,cependant, la valeur trans- and 7. After being integrated, however, the trans-
mise sur la ligne 100 correspond à 6,5. En répartissant les bet on line 100 corresponds to 6.5. By distributing the
valeurs et en permettant une fluctuation des impulsions pen- values and allowing fluctuation of pulses during
dant les 10 balayages utilisés pour définir chaque nombre de in the 10 scans used to define each number of
commande de vitesse, on obtient une commande très précise. speed control, you get a very precise command.
On obtient une précision de la commande plus grande que We obtain a precision of the command greater than
celle permise par les 6 bits charges dans le registre à dé- that allowed by the 6 bits loaded in the register at
calage. Dans le présent mode de réalisation on obtient 400 wedging. In the present embodiment, 400 are obtained.
niveaux distincts ou log(400) bits.separate levels or log (400) bits.
log(2) Le tableau 3 en annexe est le programme utilisé pour la commande de vitesse écrit dans le langage d'assemblage du log (2) Table 3 in the appendix is the program used for speed control written in the assembly language of the
microprocesseur 68D00.68D00 microprocessor.
Ainsi on a décrit un appareil perfectionné qui permet à la fois la génération de sons et la commande de la vitesse Thus an improved apparatus has been described which allows both the generation of sounds and the control of speed.
du moteur d'une unité à disque souple ou analogue. of the motor of a flexible disk drive or the like.
TABLEAU ITABLE I
Ce code est exécuté toutes les 16 secondes pendant l'in- This code is executed every 16 seconds during the
terruption de retour du spot vertical. Il calcule les 370 terruption back from the vertical spot. It calculates the 370
valeurs pour le balayage suivant.values for the next scan.
MOVEM.L (A6),D2-D7/A0-A5; charger paramètres de son dans les registres MOVE.L Base de sons, A6; pointerlamémoire-tampon ADD.W '370, A6; en fait, pointer le milieu de ; la mémoire-tampon MOVE.L 4$00FF0000, D1; mettre masque dans la partie de gauche de D1 MOVE #2,-(SP); déclencher compteur de boucles ; extérieur MOVE #185,-(SP); parcourir la boucle 185 fois(la moitié de la mémoire-tampon) parcourir la boucle une fois pour la moitié des 370 valeurs ; en additionnant les valeurs des formes d'onde pour chaque voix SoundLoop (Boucle de son) CLR.W D1; effacer le contenu du registre d'addition (mais pas le masque) ADD.L D2,D3; calculer voix 1 ADD. L D4,D5; calculer voix 2 ADD.L D6,D7; calculer voix 3 ADD.L A0,A1; calculer voix 4 mapper voix 1 dans D1 MOVEM.L (A6), D2-D7 / A0-A5; load sound parameters in the MOVE.L registers Sound base, A6; pointerlamemoire-tampon ADD.W '370, A6; in fact, point the middle of; the MOVE.L buffer 4 $ 00FF0000, D1; put mask in the left part of D1 MOVE # 2, - (SP); trigger loop counter; exterior MOVE # 185, - (SP); cycle through the loop 185 times (half the buffer) cycle through the loop once for half of the 370 values; adding the waveform values for each Voice SoundLoop CLR.W D1; erase the contents of the addition register (but not the mask) ADD.L D2, D3; calculate voice 1 ADD. L D4, D5; calculate voice 2 ADD.L D6, D7; calculate voice 3 ADD.L A0, A1; calculate voice 4 map voice 1 in D1
MOVE.L D5,D0MOVE.L D5, D0
AND.L D1,D0; éliminer grâce au masque tous les bits à l'exception des bits de gauche SWAP DO; utiliser les bits 16-23 MOVE.B 0(A3,D0),D0; consulter la table de forme d'onde ADD.W D0,D1; ajouter la valeur obtenue ajouter voix 3 à D1 AND.L D1, D0; eliminate with the mask all the bits except the left bits SWAP DO; use bits 16-23 MOVE.B 0 (A3, D0), D0; consult the waveform table ADD.W D0, D1; add the obtained value add voice 3 to D1
MOVE.L D7, DOMOVE.L D7, DO
AND.L D1,D0; éliminer grâce au masque tous ; les bits à l'exception des bits de gauche SWAP D0; utiliser les bits 16-23 MOVE.B 0(A4,D0),D0; consulter la table de forme d'onde ADD.W D0,D1; ajouter la valeur obtenue ajouter voix 4 à Dl AND.L D1, D0; eliminate with the mask all; bits except the left bits SWAP D0; use bits 16-23 MOVE.B 0 (A4, D0), D0; consult the waveform table ADD.W D0, D1; add the value obtained add voice 4 to Dl
MOVE.L A1,D0MOVE.L A1, D0
AND.L D1,D0; éliminer grâce au masque tous les bits à l'exception des bits : de gauche SWAP DO; utiliser les bits 16-23 MOVE.B 0(A5,D0)D0; consulter la table de forme ; d'onde ADD.W D0,D1; ajouterlavaleur obtenue mettre à jour la mémoire-tampon de sons à accès direct en y chargeant la nouvelle valeur LSR.W #2,D1; diviser par 4 (utiliser les bits les plus significatifs) MOVE.B D1,(A6); charger le résultat dans la mémoire-tampon AND.L D1, D0; using the mask, eliminate all the bits except the bits: on the left SWAP DO; use bits 16-23 MOVE.B 0 (A5, D0) D0; consult the shape table; wave ADD.W D0, D1; add the value obtained update the direct access sound buffer by loading the new value LSR.W # 2, D1; divide by 4 (use the most significant bits) MOVE.B D1, (A6); load the result in the buffer
ADDQ 42,A6; avancer pointeur de la mémoire- ADDQ 42, A6; advance memory pointer-
tampon parcourir la boucle pour la moitié des valeurs SUBQ #1, (SP); décrémenter compteur BNE.S boucle de son; parcourir la boucle jusqu'à ; la fin maintenant charger la seconde moitié de la mémoire-tampon MOVE.L base de sons,A6; pointer le début de la ; mémoire-tampon MOVE #185,(SP); remettre le compteur à 0 SUBQ #1,2(SP); décrémenter le second compteur BNE.S boucle de sons; parcourir la boucle jusqu'à la fin OK, tout est fini, mettre à jour la table des sons, restaurer les registres et retourner au programme appelant ADDQ 44,SP; sortir compteur de boucles MOVE.L Pointeurson, A6; obtenir adresse des tables buffer browse the loop for half the values SUBQ # 1, (SP); decrement BNE.S sound loop counter; run the loop until; the end now load the second half of the MOVE.L sound base, A6; point the start of the; MOVE # 185 buffer, (SP); reset the counter to 0 SUBQ # 1,2 (SP); decrement the second BNE.S sound loop counter; browse the loop until the end OK, everything is finished, update the sound table, restore the registers and return to the program calling ADDQ 44, SP; exit loop counter MOVE.L Pointeurson, A6; get address of tables
ADDQ #2,A6ADDQ # 2, A6
MOVEM.L D2-D7/A0-A1,(A6); sauvegarder les registres de sons MOVEM.L (SP)+, D0-D7/A0-A6; restaurer les registres du programme appelant MOVEM.L D2-D7 / A0-A1, (A6); save the MOVEM.L (SP) +, D0-D7 / A0-A6 sound registers; restore calling program records
TABLEAU 2TABLE 2
MOVE.L Base de sons,A2; obtenir adresse de la base de sons ADD.W A64,A2; commencer 32 multiplets LEA 676(A2),A4; calculer l'adresse de fin CLR.W (SP); indicateur passe 1 MOVE 9337,D2; 338 octets pour mouvement dans 1ère moitié OK, maintenant tout est prêt, commencer première boucle pour remplir la mémoire-tampon MOVE.L Sound base, A2; get address of ADD.W A64, A2 sound base; start 32 LEA 676 (A2), A4 bytes; calculate the end address CLR.W (SP); indicator goes 1 MOVE 9337, D2; 338 bytes for movement in 1st half OK, now everything is ready, start first loop to fill the buffer
MOVE.B (A1),(A2); le déplacer dans la mémoire- MOVE.B (A1), (A2); move it into memory-
; tampon à accès direct ADDQ 92,A2; avancer à emplacement suivant ADD.L D1,D3; incrémenter index cumulatif SWAP D3; faire passer partie de gauche ; à droite ADD.W D3,A1; avancer (éventuellement) à entrée suivante ADD.W D3,D0; sommation accumulative faite CLR.W D3; remettre à zéro partie entière SWAP D3; restaurer D3 la demande a-t-elle été satisfaite? CMP.L A1,A3; fin de la mémoire-tampon ; franchie? DBLE D2,Interpoler; dans l'affirmative arrêter ; ADDQ 92, A2 direct access buffer; advance to the next location ADD.L D1, D3; increment SWAP D3 cumulative index; pass left side; right ADD.W D3, A1; advance (possibly) to the next entry ADD.W D3, D0; cumulative summons made CLR.W D3; reset whole SWAP D3 part; restore D3 has the request been satisfied? CMP.L A1, A3; end of buffer; crossed? DBLE D2, Interpolate; if so stop
TABLEAU 3TABLE 3
Routine: SetSpeed(Fixer vitesse) SetASpeed (Fixer ; vitesse A) : Arguments: D6.W (entrée) -- la vitesse du numéro ; de piste devrait être fixée ; Drive (unité à disque) (entrée) -- Unité -; à disque en fonction ; TrkSpeed (Table des vitesses des pistes) Routine: SetSpeed (Set speed) SetASpeed (Set; speed A): Arguments: D6.W (input) - the speed of the number; track should be fixed; Drive (drive) (drive) - Drive -; with disc in operation; TrkSpeed (Track speed table)
; (en fonction) -- Table de codes de vi- ; (in function) - Table of vi codes
; tesse par l'unité en fonction ; WAIT (Attente) (sortie) -- O ou SpdChgTime ; size per unit in operation; WAIT (Exit) - O or SpdChgTime
(temps de changement de vitesse si Cur-- (gear change time if Cur--
Speed (Vitesse en cours) a changé.Speed has changed.
Les registres autres que A0-A2,D0-D2 sont préservés Appelé par: (SetSpeed) ; Seek (recherche), RWPower ; (Alimentation Lecture/Entrée) (SetASpeed): MakespdTbl (Etablir table ;vitesses) Registers other than A0-A2, D0-D2 are preserved Called by: (SetSpeed); Seek (research), RWPower; (Supply Read / Enter) (SetASpeed): MakespdTbl (Establish table; speeds)
Fonction: Cette routine détermine la valeur de vi- Function: This routine determines the value of vi-
tesse correcte pour la piste (Track) et ; charge la mémoire-tampon de modulation ; d'impulsions en durée (PWM) pour qu'elle ; produise le signal de sortie désiré. La ; valeur de l'attente (WAIT) est mise à correct size for the track and; loads the modulation buffer; pulse duration (PWM) for it; produce the desired output signal. The ; wait value (WAIT) is set to
; SpdChgTime si la vitesse est changée. ; SpdChgTime if the speed is changed.
; Sinon, elle est égale à 0. La table ; TrkSpeedTbl pour l'unité en fonction ; Otherwise, it is equal to 0. The table; TrkSpeedTbl for unit in operation
; est utilisée. La mise en fonction de l'u- ; is used. The activation of the
; nité n'est pas changée,uniquement la mé- ; nity is not changed, only the mete
; moire-tampon de modulation d'impulsions ; en durée (PWM) contenue dans la mémoire ; pulse modulation buffer; in duration (PWM) contained in the memory
; principale.; main.
; ; SetASpeed est un autre point d'entrée qui t charge simplement dans la mémoire-tampon ; PWM un code de vitesse contenu dans le ; ; SetASpeed is another entry point that simply loads it into the buffer; PWM a speed code contained in the
; registre D2.; register D2.
Set Speed (Fixation de la vitesse) BSR.5 GetDrvl; préparer D1.A1 MOVE.W D6,D2; la catégorie de vitesses est juste le numéro de piste LSR.W e4,D2; divisé par 16... LSL.W #3,D2; ajuster à index de mot de double longueur ADD.W D1,D2; ajouter décalage spécifique de l'unité MOVE.W TrkSpeedTbl (A1,D2),D2; obtenir vitesse dont on a besoin ADD.W OffSpeed (A1,D1),2; ajouter un ajustement (surveiller : max, min) BSL.S (Y2; ne pas aller au dessous de 0 Set Speed BSR.5 GetDrvl; prepare D1.A1 MOVE.W D6, D2; the gear category is just the track number LSR.W e4, D2; divided by 16 ... LSL.W # 3, D2; adjust to double length word index ADD.W D1, D2; add specific offset of the unit MOVE.W TrkSpeedTbl (A1, D2), D2; get the speed you need ADD.W OffSpeed (A1, D1), 2; add an adjustment (monitor: max, min) BSL.S (Y2; do not go below 0
MOVEQ #0,D2MOVEQ # 0, D2
C2 CMP.W #399,D2C2 CMP.W, D2
BLE.S 3BLE.S 3
MOVE.W #399,D2; ne pas aller au-dessus de 399 @3 MOVE.W PWMValue,D0; sommes-nous à cette vitesse? BPL.S @4; si la vitesse est invalide, attendre la mise sous tension temps MOVE.W PwrOnTime(A1), DO MOVE.W # 399, D2; do not go above 399 @ 3 MOVE.W PWMValue, D0; are we at this speed? BPL.S @ 4; if the speed is invalid, wait for power up time MOVE.W PwrOnTime (A1), DO
BRA.S @6BRA.S @ 6
@4 SUB.W D2,D0@ 4 SUB.W D2, D0
BEQoS GetDrvl; dans ce cas, sortir simplement BEQoS GetDrvl; in this case, simply exit
BPL.S @5BPL.S @ 5
NEG.W D0; différence de vitesse positive LSL.W #5,D0; multiplier par 32 pour stabili- ser la vitesse temps CMP.W SpdChgTime (A1),D0; temps d'attente minimal pour le changement de vitesse NEG.W D0; positive speed difference LSL.W # 5, D0; multiply by 32 to stabilize the time speed CMP.W SpdChgTime (A1), D0; minimum waiting time for gear change
BGT.S 6BGT.S 6
MOVE.W SpdChgTimeMOVE.W SpdChgTime
(A1),D0(A1), D0
@6 ADD.W Wait(A1),D0; ajouter temps d'attente en cours CMP.W PwrOnTime (Ai),D0 @ 6 ADD.W Wait (A1), D0; add current waiting time CMP.W PwrOnTime (Ai), D0
BLT.S 7BLT.S 7
MOVE.W PwrOnTime(A1),D0 7 MOVE.W D0,Wait(A1) SetASpeed (Fixation de la vitesse A) est un autre point d'entrée qui simplement établit le code de vitesses contenu dans le registre D2 SetASpeed MOVE.W D2,PWMValue; noter la vitesse pour pouvoir s'y référer ensuite MOVE.L D3-D6/A2,-(SP); préserver A2-A7, D3-D7 SUB.W #399,D2; inverser (pour sony) MOVE.W PwrOnTime (A1), D0 7 MOVE.W D0, Wait (A1) SetASpeed (speed setting A) is another entry point which simply sets the speed code contained in the D2 register SetASpeed MOVE.W D2, PWMValue; note the speed so that you can refer to it then MOVE.L D3-D6 / A2, - (SP); preserve A2-A7, D3-D7 SUB.W # 399, D2; reverse (for sony)
NEG.W D2NEG.W D2
EXT.L D2; en faire un long...EXT.L D2; make a long one ...
DIVU #10,D2; reste dans le mot de gauche DIVU # 10, D2; stay in the left word
MOVEQ 411,D0MOVEQ 411, D0
@1 MOVE.B D0,D1; valeur de vitesse principale MOVE.B D0,D3; sauvegarder bit 0 @ 1 MOVE.B D0, D1; main speed value MOVE.B D0, D3; save bit 0
LSR.B #1,D0LSR.B # 1, D0
EOR.B D0,D3EOR.B D0, D3
LSR.B #1, D3; nouveau bit 5 -, report LSR.B # 1, D3; new bit 5 -, carry over
BCC.S @2BCC.S @ 2
BSET #5,D0BSET # 5, D0
DBRA D2,@1DBRA D2, @ 1
SWAP D2; le reste détermine la fluctua- SWAP D2; the rest determines the fluctua-
tion MOVE.B DitherTbl (D2),D5; il faut 10 bits pour la table de fluctuation tion MOVE.B DitherTbl (D2), D5; 10 bits are needed for the fluctuation table
ASL #8,D5ASL # 8, D5
MOVE.B DitherTbl +1(D2),D5; obtenir 2 bits de la suivante LoadPWMBuf (charger mémoire-tampon de modulation d'impulsions en durée) MOVEQ >36,D3; grande boucle parcourue 37 fois LEA PMWBuffer,A0; charger la mémoiretampon PWM (37x10 =370 octets) MOVE.B DitherTbl +1 (D2), D5; get 2 bits of the following LoadPWMBuf (load pulse duration modulation buffer) MOVEQ> 36, D3; large loop covered 37 times LEA PMWBuffer, A0; load the PWM buffer memory (37x10 = 370 bytes)
MOVE.L PWMBuf2,A2; dans le cas d'une seconde mé- MOVE.L PWMBuf2, A2; in the case of a second me-
moire-tampon I1 MOVE.Q #9,D2; boucle intérieure parcourue 10 fois MOVE.W D5,D4; configuration de fluctuation buffer memory I1 MOVE.Q # 9, D2; inner loop traversed 10 times MOVE.W D5, D4; fluctuation pattern
@ 2 LSL.W 41,D4; bit de report=1 signifie utili- @ 2 LSL.W 41, D4; carry bit = 1 means use
ser valeur plus élevéeser higher value
BCC.S @3BCC.S @ 3
MOVE.B D0,D6; utiliser valeur plus élevée BRA.S a4 @3 MOVE.B D1,D6; utiliser valeur principale MOVE.B D0, D6; use higher value BRA.S a4 @ 3 MOVE.B D1, D6; use main value
@ 4 MOVE.B D6,(A2)@ 4 MOVE.B D6, (A2)
ADDQ #2,A0; un octet sur deux est une in- ADDQ # 2, A0; every second byte is an in-
formation de sonsound formation
ADDQ #2,A2ADDQ # 2, A2
DBRAP. D2, 2DBRAP. D2, 2
*DBRA D3,@1* DBRA D3, @ 1
MOVEM.L (SP)+,D3-D6/A2; observer les conventions de sau- MOVEM.L (SP) +, D3-D6 / A2; observe the rescue agreements
vegarde des registres SetSpdExit (sortie de la fixation de vitesse) BRA GetDrw 1 check registers SetSpdExit (output from speed setting) BRA GetDrw 1
DitherTbl (table de fluctuation); utilisée pour faire fluc- DitherTbl (fluctuation table); used to fluc-
; tuer les valeurs de vitesse de manière égale Octet $00,$20,$21,$24,$94 Octet $AA,$B5,$B7,$7B,$FF,$40,$00 ; kill speed values equally Byte $ 00, $ 20, $ 21, $ 24, $ 94 Byte $ AA, $ B5, $ B7, $ 7B, $ FF, $ 40, $ 00
Claims (17)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US57313284A | 1984-01-20 | 1984-01-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2558629A1 true FR2558629A1 (en) | 1985-07-26 |
FR2558629B1 FR2558629B1 (en) | 1990-02-23 |
Family
ID=24290779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR858500712A Expired - Fee Related FR2558629B1 (en) | 1984-01-20 | 1985-01-18 | SOUND GENERATING AND DISC SPEED CONTROL APPARATUS FOR COMPUTER SYSTEMS |
Country Status (8)
Country | Link |
---|---|
JP (1) | JPS60159896A (en) |
AR (1) | AR240594A1 (en) |
AU (1) | AU574743B2 (en) |
CA (1) | CA1226961A (en) |
DE (1) | DE3501291A1 (en) |
FR (1) | FR2558629B1 (en) |
GB (2) | GB2153115B (en) |
HK (2) | HK76988A (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69328399T2 (en) * | 1992-09-30 | 2000-10-19 | Hudson Soft Co Ltd | Voice data processing |
-
1984
- 1984-11-22 GB GB08429501A patent/GB2153115B/en not_active Expired
- 1984-12-05 AU AU36315/84A patent/AU574743B2/en not_active Ceased
- 1984-12-19 CA CA000470571A patent/CA1226961A/en not_active Expired
- 1984-12-27 AR AR29910584A patent/AR240594A1/en active
-
1985
- 1985-01-16 DE DE19853501291 patent/DE3501291A1/en not_active Withdrawn
- 1985-01-18 FR FR858500712A patent/FR2558629B1/en not_active Expired - Fee Related
- 1985-01-18 JP JP60006058A patent/JPS60159896A/en active Pending
- 1985-11-13 GB GB08527978A patent/GB2166895B/en not_active Expired
-
1988
- 1988-09-22 HK HK769/88A patent/HK76988A/en unknown
- 1988-09-22 HK HK770/88A patent/HK77088A/en unknown
Non-Patent Citations (1)
Title |
---|
ELECTRONIC DESIGN, vol. 27, no. 16, août 1979, pages 90-93, Rochelle Park, US; C. BOISVERT: "Simplify CRT-system design with transparent addressing - it comes on a controller chip" * |
Also Published As
Publication number | Publication date |
---|---|
AR240594A1 (en) | 1990-05-31 |
GB8527978D0 (en) | 1985-12-18 |
HK76988A (en) | 1988-09-30 |
AU3631584A (en) | 1985-07-25 |
FR2558629B1 (en) | 1990-02-23 |
GB2166895B (en) | 1987-10-14 |
GB8429501D0 (en) | 1985-01-03 |
HK77088A (en) | 1988-09-30 |
GB2166895A (en) | 1986-05-14 |
JPS60159896A (en) | 1985-08-21 |
AU574743B2 (en) | 1988-07-14 |
DE3501291A1 (en) | 1985-08-01 |
GB2153115A (en) | 1985-08-14 |
GB2153115B (en) | 1987-10-21 |
CA1226961A (en) | 1987-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2494022A1 (en) | ULTRASONIC SCANNING MEMORY AND CONVERSION SYSTEM AND MEMORY AND READING METHOD | |
FR2604019A1 (en) | COLOR VIDEO DISPLAY DEVICE FOR COMPUTER SYSTEM, AND METHOD FOR CONVERTING COLOR VIDEO SIGNALS THEREFOR | |
FR2509071A1 (en) | MEMORY CONTROL DEVICE | |
FR2547146A1 (en) | METHOD AND DEVICE FOR AUDITING SYNTHETIC VOICE MESSAGES AND FOR DISPLAYING CORRESPONDING GRAPHICS MESSAGES | |
FR2617307A1 (en) | MICROCALCULATOR COMPRISING PERFECTED ADDRESSING POSSIBILITIES | |
FR2493653A1 (en) | SYSTEM FOR RECOVERING VARIABLE SPEED VIDEODISKS | |
FR2513836A1 (en) | ||
FR2511789A1 (en) | LINE STAMPING SYSTEM FOR DISPLAYING MULTIPLE IMAGES IN A VIDEO GAME | |
FR2650902A1 (en) | COMPUTER WITH INTEGRATED CIRCUIT VIDEO PILOT BY MEMORY LIVING | |
EP0233095B1 (en) | Digital image converter for making homogeneous an image resulting from a coordinate transformation. | |
FR2747209A1 (en) | POLICE OF HOLLOW LETTERS WITH GRADUAL RETURN AND ITS CREATION, TRANSMISSION AND RETURN PROCEDURES | |
EP0682828B1 (en) | Block interleaving and deinterleaving method and device therefor | |
FR2558629A1 (en) | SOUND GENERATING AND DISC SPEED CONTROL APPARATUS FOR COMPUTER SYSTEMS | |
FR2610154A1 (en) | TIMING SIGNAL GENERATOR, ESPECIALLY FOR COMPUTERIZED INTEGRATED CIRCUIT TEST SYSTEMS | |
FR2536884A1 (en) | DATA TRANSFER NETWORK BETWEEN MULTIPLE PROCESSORS AND A MEMORY | |
FR2476952A1 (en) | BASIC SIGNAL AND TELEVISION TEST SIGNAL GENERATOR AND SYSTEM COMPRISING SUCH A DEVICE | |
FR2513462A1 (en) | METHOD FOR REDUCING THE SIZE OF A MEMORY OF A TRANSMITTER AND THIS TRANSMITTER | |
EP0440301A1 (en) | Storage method for image processing and device to implement the procedure | |
FR2860376A1 (en) | METHOD AND DEVICE FOR ENLARGING A VIDEO IMAGE | |
EP0317863A1 (en) | Delay device for at least one high-speed digital data stream | |
FR2514542A1 (en) | DATA REPRODUCING APPARATUS FOR REPRODUCING DIGITAL DATA RECORDED ON MULTI TRACKS | |
FR2641658A1 (en) | CONTROL SIGNAL GENERATOR FOR A VIDEO SIGNAL MIXER | |
FR2491651A1 (en) | MEMORY ASSEMBLY FOR TRANSFERRING DATA TO A CATHODIC TUBE DISPLAY DEVICE | |
FR2669751A1 (en) | DIGITAL PULSE GENERATOR AND RELATED METHODS. | |
FR2556118A1 (en) | CIRCUIT FOR INCREASING THE NUMBER OF IMAGE CELLS IN THE SCANNING OF A BIT REPRESENTATION TYPE VIDEO VIEWER |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |