DE3501291A1 - SOUND PRODUCTION AND DISK SPEED CONTROL UNIT IN A COMPUTER SYSTEM - Google Patents

SOUND PRODUCTION AND DISK SPEED CONTROL UNIT IN A COMPUTER SYSTEM

Info

Publication number
DE3501291A1
DE3501291A1 DE19853501291 DE3501291A DE3501291A1 DE 3501291 A1 DE3501291 A1 DE 3501291A1 DE 19853501291 DE19853501291 DE 19853501291 DE 3501291 A DE3501291 A DE 3501291A DE 3501291 A1 DE3501291 A1 DE 3501291A1
Authority
DE
Germany
Prior art keywords
counter
ram
data
signal
pulse
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.)
Withdrawn
Application number
DE19853501291
Other languages
German (de)
Inventor
Andrew J. Palo Alto Calif. Hertzfeld
Burrell C. Smith
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of DE3501291A1 publication Critical patent/DE3501291A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, 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/20Driving; Starting; Stopping; Control thereof
    • G11B19/24Arrangements for providing constant relative speed between record carrier and head
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, 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/20Driving; Starting; Stopping; Control thereof
    • G11B19/28Speed controlling, regulating, or indicating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single 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)

Description

PATENTANWÄLTE ZENZ & HELBER · D 4300 ESSEN 1 · AM RUHRSTEIN 1 · TEL.: (02 01) 4126 ?- A 90 PATENTANWÄLTE ZENZ & HELBER D 4300 ESSEN 1 AM RUHRSTEIN 1 TEL .: (02 01) 4126 ? - A 90

APPLE COMPUTER, INC. 20525 Mariani Avenue, Cupertino, Kalifornien 95014,V.St.A.APPLE COMPUTER, INC. 20525 Mariani Avenue, Cupertino, California 95014, V.St.A.

Tonerzeugungs- und PlattengeschwindigkeitssteuergerätTone generator and disk speed controller

in einer Computeranlagein a computer system

Die Erfindung betrifft ein Tonerzeugungsgerät, insbesondere zur Verwendung mit einem ein Display mit Rasterabtastung und ein Plattengeschwindigkeitssteuergerät aufweisenden Computer.The invention relates to a sound generating device, particularly for use with a raster scan and display a computer comprising a disk speed controller.

Es existieren zahllose Verfahren zur Erzeugung von Audio-Signalen aus digitalen Signalen. Diese reichen von geradlinigen Lösungen, bei denen digitale Signale zur Erzeugung einer momentanen Amplitude des Audio-Signals verwendet werden, bis zu komplexeren Vokoderverfahren, bei denen die Stimme darstellende Übertragungsfunktionen verwendet werden. Wie zu sehen sein wird, wird gemäß einem Aspekt der Erfindung ein digitales Signal in ein analoges (Audio) Signal umgewandelt.There are countless methods for generating audio signals from digital signals. These range from straight forward Solutions in which digital signals are used to generate an instantaneous amplitude of the audio signal, up to more complex vocoder methods in which the voice is performing Transfer functions are used. As will be seen, in accordance with one aspect of the invention, a digital Signal converted into an analog (audio) signal.

Sehr häufig verwenden Computeranlagen, insbesondere kleinere Anlagen (z. B. Personal Computer), Displays mit Rasterabtastung. Der Computer erzeugt die Videoinformation und speichert sie in einem Direktezugriffspeicher (RAM) ab. Mit den horizontalen und vertikalen Synchronisationssignalen synchronisierte Zähler adressieren den Speicher, um displaysynchronisierte Datensignale vom Speicher zu beschaffen. Diese Signale werden z.B. durch ein Schieberegister in ein Videosignal umgewandelt. In einigen Fällen ist der Speicher "bit mapped" und das Ausgangssignal des Speichers wird direkt zur Erzeugung des Videosignals verwendet. In anderen Fällen adressiert das Ausgangs-Computer systems, particularly smaller systems (e.g. personal computers), use raster scanning displays very frequently. The computer generates and stores the video information store them in direct access memory (RAM). With the horizontal and vertical synchronization signals synchronized counters address the memory to display synchronized Obtain data signals from memory. These signals are converted into a video signal by a shift register, for example. In some cases the memory is "bit mapped" and the output of the memory is used directly to generate the video signal used. In other cases, the output

signal des Speichers einen Zeichengenerator, der zur Erzeugung von Videosignalen abgetastet wird. Ein beachtlicher Anteil der Daten des RAMs ist zur Erzeugung einer Videowiedergabe erforderlich, insbesondere bei einer dynamischen, graphischen (nicht-Text) Betriebsart. Bei Personal Computern oder kleinen professionellen Computern, bei denen Mikroprozessoren zusammen mit dynamischen RAMs verwendet werden, verbraucht die Erzeugung einer Videowiedergabe einen relativ großen Anteil der Prozessor- und Speicherzeit. Es ist daher schwierig, ein Audio-Signal, insbesondere ein komplexes Audio-Signal in einer Wiedergabebetriebsart zu liefern.signal of the memory a character generator which is scanned to generate video signals. A considerable proportion of the Data in the RAM is required to generate a video display, especially in the case of a dynamic, graphic display (non-text) operating mode. In personal computers or small professional computers that have microprocessors together are used with dynamic RAMs, the generation of a video display consumes a relatively large proportion of the Processor and storage time. It is therefore difficult to convert an audio signal, especially a complex audio signal, into a Playback mode to deliver.

Wie zu sehen sein wird, schafft die Erfindung ein Gerät zur Erzeugung von Audio-Signalen in Verbindung mit einem Mikroprozessor und einem RAM gleichzeitig mit Videosignalen. Die Audio-Signale werden ohne Unterbrechung der Videowiedergabe oder der Computeroperation erzeugt und erfordern insbesondere nur ein Minimum an Hardware und Prozessorzeit.As will be seen, the invention provides an apparatus for generating audio signals in conjunction with a microprocessor and a RAM simultaneously with video signals. The audio signals are produced without interrupting the video playback or the computer operation and, in particular, require a minimum of hardware and processor time.

In Floppy-Disk-Laufwerken werden typischerweise Vorrichtungen zum Antrieb des Floppy-Disk-Motors mit einer konstanten Geschwindigkeit verwendet. Bei der Herstellung des Floppy-Disk- -Laufwerks werden häufig bestimmte Eichschritte angewendet, um sicherzustellen, daß das Floppy-Disk-Laufwerk mit einer vorgegebenen Drehzahl läuft. Dies erfordert zusätzlich zu den Eichschritten relativ kostenaufwendige Geschwindigkeitssteuervorrichtungen. Wie zu sehen sein wird, wird bei der Erfindung der Computer eingesetzt, um die Drehzahl des Plattenlaufwerks abzutasten und dann ein Steuersignal zur Einregulierung der Drehzahl des Plattenlaufwerkes zu erzeugen. Dadurch werden die früher erforderlichen Eichungen und die bisher vorgesehenen Geschwindigkeitssteuervorrichtungen vermieden.Floppy disk drives typically have devices for driving the floppy disk motor at a constant speed used. In the manufacture of the floppy disk drive, certain calibration steps are often used to ensure that the floppy disk drive is using a predetermined Speed is running. This requires, in addition to the calibration steps, relatively expensive speed control devices. As will be seen, the invention uses the computer to measure the speed of rotation of the disk drive to scan and then to generate a control signal for regulating the speed of the disk drive. This will make the previously required calibrations and the previously provided speed control devices avoided.

Es ist bereits bekannt, daß sich eine bessere Nutzung vonIt is already known that there can be better use of

Floppy-Disks oder anderen Platten bei gleichförmigerer Flußdichte an den Übergängen erzielbar ist. Dazu ist erforderlich, daß die Drehzahl der Platte abhängig vom Radius der jeweils zugegriffenen Spur gemacht wird. Die Erfindung sieht ein solches Merkmal vor.Floppy disks or other disks with more uniform flux density at the junctions can be achieved. For this it is necessary that the speed of the disk is made dependent on the radius of the track being accessed. The invention sees one such Feature before.

Die Erfindung gibt ein Gerät zur Verwendung mit einer einen Mikroprozessor und einen Direktzugriffsspeicher (RAM) aufweisenden Computeranlage an, insbesondere wenn ein rasterabgetastetes Display bei der Computeranlage verwendet wird. Es wird eine Adressiereinrichtung zum direkten Zugriff vorbestimmter Speicherplätze im RAM, insbesondere während der horizontalen bzw. zeilenfrequenten Austastperiode, verwendet. Die Adressiereinrichtung erlaubt auch Daten in denselben Speicherplätzen während der Austastperioden zu aktualisieren. Die in diesen Speicherplätzen gespeicherten Daten werden aus ihrer digitalen Form in ein analoges Signal umgewandelt. Wenn die Daten aus dem Speicher in einen Zähler geladen werden, wird ein Impuls ausgelöst. Der Impuls wird beendet, wenn der Zähler einen Überlauf erreicht. Die resultierenden Impulse werden integriert, um das Audio-Signal zu erzeugen.The invention provides an apparatus for use with a microprocessor and random access memory (RAM) having Computer system, especially if a raster-scanned display is used in the computer system. It will an addressing device for direct access to predetermined memory locations in the RAM, in particular during the horizontal or line-rate blanking period, is used. The addressing device also allows data in the same memory locations to be updated during blanking periods. The ones in these Data stored in memory locations is converted from its digital form into an analog signal. When the data are loaded from the memory into a counter, a pulse is triggered. The pulse ends when the counter reached an overflow. The resulting pulses are integrated to produce the audio signal.

Der Prozessor erzeugt für einen Einzelton die Datensignale für den RAM, indem er eine vorbestimmte Zahl zu einer gespeicherten Zahl addiert. Die höchst bewerteten Bits dieser Summe identifizieren einen Speicherplatz in einer Nachschlagetabelle, und das resultierende (digitale) Datensignal wird dann im RAM gespeichert. Die vorbestimmte Zahl wird wiederholt zu der gespeicherten Zahl addiert, um jedes der Datensignale für den RAM zu erzeugen. Für komplexere Töne wird eine Anzahl vorbestimmter Zahlen und gespeicherter Zahlen zusammen mit einer Mehrzahl von Nachschlagetabellen benutzt.The processor generates the data signals for the RAM for a single tone by adding a predetermined number to a stored one Number added. The most significant bits of this sum identify a location in a look-up table, and the resulting (digital) data signal is then stored in RAM. The predetermined number is repeated to that stored number is added to generate each of the data signals for the RAM. For more complex tones, a number is predetermined Numbers and stored numbers are used along with a plurality of look-up tables.

Die Erfindung schafft auch ein Gerät zur Steuerung der Drehge-The invention also provides a device for controlling the rotary

schwindigkeit der Platte. Die Adreßeinrichtung, die in Verbindung mit dem Toner zeugungsger a" t verwendet wird, ist Teil des Plattensteuergerätes.speed of the plate. The address facility associated with used with the toner generator is part of the disk controller.

In der Zeichnung ist schematisch ein Ausführungsbeispiel der Erfindung dargestellt. Es zeigen:In the drawing, an embodiment of the invention is shown schematically. Show it:

Fig. 1 ein Blockschaltbild der Computeranlage und eine Erläuterung des Adreß-Multiplexens gemäß der Erfindung;1 shows a block diagram of the computer system and an explanation of the address multiplexing according to FIG Invention;

Fig. 2 ein Zeitdiagramm, das die Zeiten, zu denen vom RAM auf die den Ton darstellenden digitalen Signale zugegriffen wird und zu denen sie im RAM aktualisiert werden;Fig. 2 is a timing diagram showing the times when the RAM is transferred to the digital Signals are accessed and to which they are updated in RAM;

Fig. 3 ein Blockschaltbild eines Zählers zur Erzeugung von Audio-Signalen;3 shows a block diagram of a counter for generating audio signals;

Fig. 4 vom Zähler nach Fig. 3 erzeugte Signalformen;Figure 4 shows waveforms generated by the counter of Figure 3;

Fig. 5 ein Flußdiagramm zur Erläuterung des Verfahrens zur Erzeugung von Datensignalen;5 shows a flow chart for explaining the method for generating data signals;

Fig. 6 ein Blockschaltbild und ein Schaltungsschema zur Erzeugung des Audio-Signals und der Lautstärkensteuerung; 6 shows a block diagram and a circuit diagram for generating the audio signal and the volume control;

Fig. 7 ein Flußdiagramm zur Erläuterung des Verfahrens zur Erzeugung der Datensignale für vier Töne;7 shows a flow chart for explaining the method for generating the data signals for four tones;

Fig. 8 ein Flußdiagramm zur Erläuterung des Verfahrens zur Erzeugung von Datensignalen für ein "nicht harmonisches" Audio-Signal;8 shows a flow chart to explain the method for generating data signals for a "non-harmonic" audio signal;

Fig. 9 ein Blockschaltbild zur Erläuterung der generellen Verbindungen zwischen dem Computer nach Fig. 1 und einem Plattenlaufwerkmotor;9 is a block diagram to explain the general connections between the computer according to FIG Fig. 1 and a disk drive motor;

Fig. 10 ein Blockschaltbild zur Erläuterung eines Teiles der Schaltung zur Erzeugung des Geschwindigkeitssteuersignals für das Plattenlaufwerk;Fig. 10 is a block diagram for explaining part of the circuit for generating the speed control signal for the disk drive;

Fig. 11 ein Blockschaltbild zur Erläuterung eines zusätzlichen Teils der Schaltung zur Erzeugung des Geschwindigkeitssteuersignals für das Plattenlaufwerk; und11 is a block diagram for explaining an additional part of the circuit for generating the speed control signal for the disk drive; and

Fig. 12 eine Darstellung zur Erläuterung eines Aspektes der Erfindung.12 shows a representation for explaining an aspect of the invention.

Es wird ein Gerät zur Erzeugung von Audio-Signalen in Verbindung mit einer Computeranlage, insbesondere einer solchen beschrieben, die Signale für ein Display mit Rasterabtastung und ein Motorgeschwindigkeitssteuersignal erzeugt. In der folgenden Beschreibung sind zahlreiche spezielle Einzelheiten, wie spezielle Frequenzen, die Anzahl von Leitungen, kommerzielle Teilenummern usw. angegeben, um ein gutes Verständnis der Erfindung zu ermöglichen. Es ist jedoch klar, daß der Fachmann die Erfindung ohne diese speziellen Details anwenden kann. Andererseits sind bekannte Schaltungen in Form von Blockdiagrammen gezeigt, um die Erfindung nicht unnötig mit Einzelheiten zu belasten.It is a device for generating audio signals in connection with a computer system, in particular one which generates signals for a raster scan display and a motor speed control signal. In the The following description includes numerous specific details such as specific frequencies, the number of lines, commercial Part numbers etc. are given to provide a good understanding of the invention. It is clear, however, that those skilled in the art the invention can be used without these specific details. On the other hand, known circuits are in the form of block diagrams shown in order not to unnecessarily burden the invention with details.

BEGRIFFSBESTIMMUNGDEFINITION OF TERMS

In der folgenden Beschreibung ist der Ausdruck "Audio- oderIn the following description, the term "audio or

Tondatensignal" oder "Tondaten" zur Identifizierung eines digitalen Signals, das in ein analoges (Audio)-Signal umgewandelt wird, verwendet. Der Ausdruck Motorgeschwindigkeitssteuerung bezieht sich auf die Steuerung der Drehzahl bzw. -geschwindigkeit eines Motors oder einer durch den Motor getriebenen Platte.Sound data signal "or" sound data "to identify a digital signal that is converted into an analog (audio) signal. The term engine speed control refers to controlling the speed of rotation of a motor or one driven by the motor Plate.

ALLGEMEINER AUFBAUGENERAL STRUCTURE

Die Erfindung wird derzeit als Teil einer Computeranlage (Personal Computer oder kleiner Geschäftscomputer), die einen Mikroprozessor Typ 68000 verwendet, realisiert. Die Adreß- und Datenleitungen dieses Mikroprozessors 10 sind in Fig. 1 dargestellt. Die anderen bekannten mit diesem Computer verbundenen Leitungen sind in Fig. 1 nicht gezeigt. Der Mikroprozessor 10 ist mit einem Direktzugriffsspeicher (RAM) 11 verbunden, der sechzehn dynamische 64K Speicher "Chips" aufweist. Die Datenleitungen 0-15 verbinden den Mikroprozessor 10 und den RAM 11, um einen Datenfluß zwischen dem Prozessor und dem RAM zu ermöglichen. Die Daten des RAMs werden über den RAM-Datenpuffer 13 zu dem Prozessor gekoppelt; ebenso werden die Daten des RAMs 11 zu einem Plattenmotor-Geschwindigkeitssteuergerät 27, einem Videoschieberegister 28 und Tonzählern 29 gekoppelt. Die zuletzt genannten Zähler werden im einzelnen in Verbindung mit Fig. 3 beschrieben werden. Der Mikroprozessor 10 erhält Daten auch vom Festwertspeicher (ROM) 17, wenn der ROM aktiviert wird (ROMEN/). Ähnlich werden Daten zum und vom Plattensteuergerät 18 übertragen, wenn das Plattensteuergerät 18 durch ein Signal auf der Leitung 3 5 aktiviert wird. Dieses Signal wird wie das ROMEN/-Signal in dem PALS 23 erzeugt. Ähnlich sind Daten zum und vom Mikroprozessor 10 mit einem Seriennachrichten-Steuergerät 14 und einem Schnittstellenadapter 15 gekoppelt (Handelsnummern 8530 und 6522).The invention is currently used as part of a computer system (Personal Computer or small business computer) using a 68000 type microprocessor. The address and Data lines of this microprocessor 10 are shown in FIG. The other known lines connected to this computer are not shown in FIG. The microprocessor 10 is connected to random access memory (RAM) 11 which comprises sixteen 64K dynamic memory "chips". The data lines 0-15 interconnect microprocessor 10 and RAM 11 to allow data to flow between the processor and RAM. The data of the RAM are coupled to the processor via the RAM data buffer 13; the data of the RAMs 11 coupled to disk motor speed controller 27, video shift register 28 and audio counters 29. the the latter counters will be described in detail in connection with FIG. The microprocessor 10 receives data also from read only memory (ROM) 17 when the ROM is activated (ROMEN /). Similarly, data to and from the disk controller becomes 18 when the disk controller 18 is activated by a signal on line 35. This signal will how the ROMEN / signal is generated in the PALS 23. Similar is data to and from microprocessor 10 with a serial message controller 14 and an interface adapter 15 coupled (trade numbers 8530 and 6522).

Adressen des Mikroprozessors 10 werden zum ROM 17, zum PALS und zum RAM-Adreßmultiplexer 20 gekoppelt. Einige der Adressensignale werden, wie angegeben, auch zu dem Plattensteuergerät 18, dem seriellen Verbindungssteuergerät 14 und dem Schnittstellenadapter 15 gekoppelt.Addresses of the microprocessor 10 become the ROM 17, the PALS and coupled to RAM address multiplexer 20. Some of the address signals are, as indicated, also to the disk controller 18, the serial link controller 14 and the Interface adapter 15 coupled.

Der RAM-Adreßmultiplexer 20 ermöglicht die Adressierung des RAM sowohl durch den Mikroprozessor 10 als auch direkt durch den im Videozähler 22 gespeicherten Zählwert. Während der Zeit, in der das Videosignal den Schirm zeichnet (painting), wählt der Multiplexer 20 den Videozähler 22, wodurch die direkte Adressierung des RAMs 11 durch den Zähler ermöglicht wird. (Ein Signal des PALS 23 steuert diese Anwahl.) Während der anderen Zeiten erlaubt der RAM-Adreßmultiplexer 20 dem Mikroprozessor 10 den direkten Zugriff zum RAM 11. Der zweite Adreßmultiplexer 21 wird wie der Multiplexer 20 durch ein Signal des PALS 23 gesteuert. Während des letzten Teils des horizontalen Austastsignals wählt, wie in Verbindung mit Fig. 2 beschrieben werden wird, der Multiplexer 21 die sieben höchstbewerteten Bits des Zählers 22 und zwingt den Speicher auf diese Adresse. Dazu ist erforderlich, daß die Ton- und Plattengeschwindigkeitsdaten in zugeordneten und aufeinanderfolgenden Speicherplätzen des RAMs gespeichert sind, was dem Mikroprozessor einen einfacheren Zugriff bei der Aktualisierung der Daten ermöglicht. Eine nicht gezeigte Verriegelungsschaltung liefert ein zusätzliches Biteingangssignal auf die Adreßleitungen des Multiplexers 21, um einen direkten Zugriff auf eine zweite Seite (page) der Tondaten im RAM 11 zu bewirken. The RAM address multiplexer 20 enables the RAM to be addressed both by the microprocessor 10 and directly by the count value stored in the video counter 22. During the time the video signal is painting the screen, the multiplexer 20 selects the video counter 22, which enables the RAM 11 to be addressed directly by the counter will. (A signal from PALS 23 controls this selection.) During the other times, RAM address multiplexer 20 allows this Microprocessor 10 direct access to RAM 11. The second address multiplexer 21 is like the multiplexer 20 by a Signal of the PALS 23 controlled. During the last part of the horizontal blanking signal, as in connection with Fig. 2, the multiplexer 21 takes the seven most significant bits of the counter 22 and forces the memory to this address. This requires that the sound and disk speed data be in assigned and consecutive Memory locations of the RAM are stored, giving the microprocessor easier access when updating the data enables. A latch circuit (not shown) supplies an additional bit input signal to the Address lines of the multiplexer 21 for direct access to a second page of the audio data in RAM 11.

Der aus zwei 74LS393 bestehende Videozähler 22 erzeugt einen digitalen Videozählwert, der der Strahlposition eines rasterabgetasteten Displays entspricht und zusätzlich ZählerwerteThe two 74LS393 video counters 22 generate a digital video count representing the beam position of a raster scanned Displays and additional counter values

für die horizontalen und vertikalen Rücklauf(Austast)-Perioden. Die diesen Zähler zusammen mit den Rückstellsignalen betreibenden Zeitsignale werden durch den PALS 2 3 erzeugt.for the horizontal and vertical retrace (blanking) periods. The time signals that operate this counter together with the reset signals are generated by the PALS 2 3.

Der PALS 23 weist drei Programmfeld-Logik-Chips auf. Diese erhalten vom Oszillator 31 das quarzgesteuerte 16MHz Oszillatorsignal. Der PALS 23 erzeugt aus diesem Signal die Standardspeichersignale, wie RAS/, CAS/, und die durch den Mikroprozessor verwendeten bekannten Zeitsignale. Er liefert ebenso das horizontale Synchronisationssignal (HSYNC/) und das vertikale Synchronisationssignal (VSYNC/). Diese Signale werden über die Leitungen 32 am Display angelegt. Andere außerhalb des Speichers verwendete Taktsignale, wie das durch die Zähler nach Fig. 3 verwendete 8MHz Taktsignal und das durch das Plattenmotor-Geschwindigkeitssteuergerät verwendete Taktsignal, werden ebenfalls innerhalb des PALS 23 erzeugt.The PALS 23 has three program field logic chips. These receive the crystal-controlled 16MHz oscillator signal from the oscillator 31. The PALS 23 generates the standard memory signals, such as RAS /, CAS /, and those used by the microprocessor from this signal used known time signals. It also supplies the horizontal synchronization signal (HSYNC /) and the vertical one Synchronization signal (VSYNC /). These signals are applied to the display via lines 32. Others outside clock signals used by the memory, such as the 8 MHz clock signal used by the counters of Figure 3 and that used by the disk motor speed controller The clock signal used are also generated within the PALS 23.

In dem bevorzugten Ausführungsbeispiel der Erfindung werden zwei 32Kx8 ROMs 17 verwendet. Sie liefern Speicherplätze für Diagnostik-, Initiierungs- und andere Funktionen, die für die Erfindung ohne Bedeutung sind. Das Plattensteuergerät 18 bildet eine Schnittstelle für ein Floppy-Disk-Laufwerk.In the preferred embodiment of the invention, two 32Kx8 ROMs 17 are used. They provide storage space for Diagnostic, initiation and other functions which are of no importance for the invention. The disk controller 18 forms an interface for a floppy disk drive.

Der Adapter 15 steht mit einer Tastatur 24 in Verbindung. Eine Maus 25 liefert Cursor-Eingabe- und -Schaltinformationen sowohl zum Steuergerät 14 als auch zum Adapter 15. Ein auf dem Graphikschirm gezeigter Lautstärkesteuerknopf wird durch die Maus gesteuert und liefert auf Leitungen 37 drei Bits von binären Daten. Wie in Verbindung mit Fig. 6 beschrieben werden wird, werden diese drei Bits für eine statische Lautstärkesteuerung des Audio-Signals verwendet.The adapter 15 is connected to a keyboard 24. A mouse 25 provides both cursor input and switch information to the control device 14 as well as to the adapter 15. A volume control button shown on the graphic screen is activated by the Mouse controlled and supplies three bits of binary data on lines 37. As will be described in connection with FIG. 6 these three bits are used for static volume control of the audio signal.

VIDEO ZEITABLAUFVIDEO TIMELINE

Bei dem bevorzugten Ausführungsbeispiel der Erfindung erfolgt die horizontale Abtastung mit 22.256,84398Hz und die vertikale Abtastung mit 60Hz. Jedes (Halb-)Bild besteht aus 370 Abtastzeilen mit 70 4 Pixel oder Bildpunkte pro horizontaler Abtastung. Dies entspricht 44 16-Bit-Wörtern des RAMs 11. Der mit 16MHz angegebene Haupttakt des Oszillators 31 beträgt genauer 15,6672MHz.In the preferred embodiment of the invention, the horizontal scan is performed at 22,256.84398 Hz and the vertical scan Sampling at 60Hz. Each (half) image consists of 370 scan lines with 70 4 pixels or picture elements per horizontal scan. This corresponds to 44 16-bit words of RAM 11. The with 16MHz specified main clock of the oscillator 31 is more precise 15.6672MHz.

Es wird jetzt auf Fig. 2 Bezug genommen. Das Display selbst weist in der horizontalen Richtung 512 "lebende" Pixel und Zeilen auf dem Schirm auf. Die bei jeder horizontalen Abtastung verbleibenden 192 Bits bilden die horizontale Austastperiode, die auch als "Rücklauf-Zeit bezeichnet wird. Während dieser Zeitperiode wird der Strahlstrom in einer Kathodenstrahlröhre abgesenkt und der Strahl von einer Seite des Schirms auf die andere Seite zurückgestellt. In der vertikalen Richtung gibt es zusätzlich zu den 342 Zeilen auf dem Bildschirm 28 zusätzliche Perioden, bei denen die vertikale Austastung abläuft, d.h. der Strahlstrom wird wiederum reduziert und der Strahl von dem unteren Teil des Schirms zum oberen Teil des Schirms zurückgestellt.Reference is now made to FIG. The display itself has 512 "live" pixels and in the horizontal direction Lines on the screen. The 192 bits remaining for each horizontal scan form the horizontal blanking period, which is also known as the "flyback time. During this period of time, the beam current in a cathode ray tube lowered and the beam moved back from one side of the screen to the other side. In the vertical Direction, in addition to the 342 lines on the screen, there are 28 additional periods during which the vertical blanking runs, i.e. the beam current is reduced again and the beam from the lower part of the screen to the upper part Part of the screen reset.

In Fig. 2 ist die von links nach rechts ablaufende Zeit z.B. mit unterbrochenen Linien 39 dargestellt. Nachdem bei der ersten Abtastung 512 Bits dargestellt wurden, wird die durch die Linie 40 dargestellte Zeit erreicht und es erfolgt eine Austastung. Während der Austastung braucht der RAM 11 keine Daten für die Anzeige zu liefern. Vor dem Zeitpunkt 40, siehe Fig. 1, greift der Zählwert des Zählers 22 über den RAM-Adreßmultiplexer 20 auf den RAM 11 zu. Dies erfolgt für jede der Zeilen des Displays. (Der Zähler 22 hält sowohl einen horizontalen als auch einen vertikalen Zählwert.) Die Zähler werdenIn Fig. 2, the time running from left to right is shown with broken lines 39, for example. After the 512 bits are represented in the first sample, the time represented by line 40 is reached and a Blanking. RAM 11 does not need any during blanking To provide data for the display. Before time 40, see FIG. 1, the count value of counter 22 accesses via the RAM address multiplexer 20 towards the RAM 11. This is done for each of the lines in the display. (The counter 22 holds both a horizontal as well as a vertical count.) The counters are

/Ko-/ Ko-

während der horizontalen Austastperiode nicht im normalen Sinne erhöht. Vielmehr werden vier Bits des Videozählers für die Zählung während dieser Periode wiederverwendet. Dadurch werden Adreßlücken für die Tondaten eliminiert. Wenn für jede der Abtastzeilen die Zeit 40 erreicht ist, bewirkt ein Zeitsignal des PALS 23, daß der Multiplexer 20 Adressen des Mikroprozessors 10 annimmt. Während der nächsten 192 Zählwerte des 16MHz-Taktes, ausgenommen für den letzten Zählwert, ist der Mikroprozessor zum Zugriff auf den RAM frei und kann so zum Display nicht in Beziehung stehende Aufgaben durchführen. Wenn der letzte Zählwert in jeder der Abtastzeilen erreicht ist, läßt ein Signal des PALS 23 über den Multiplexer 21 den Zähler 22 direkt auf den Speicher 11 zugreifen. Zu dieser Zeit wird das 16-Bit-Wort des RAMs 11 (Zeit 41 in Fig. 2) aus dem Speicher gelesen, wobei acht Bits zum Plattenmotor-Geschwindigkeitssteuergerät 2 7 und acht Bits zu den Tonzählern 29 übertragen werden (wie zu sehen sein wird, werden nur sechs Bits von dem Plattenmotor-Geschwindigkeitssteuergerät 2 7 verwendet) . Während der in Fig. 2 gezeigten "Schirmzeit" werden die 16-Bit-Worte aus dem Speicher in das Videoschieberegister 28 gegeben und zur Entwicklung des Videosignals verwendet. Wie erwähnt, liefert der PALS 23 auf der Leitung 32 die Horizontal- und Vertikal-Synchronisationssignale, die in Verbindung mit dem Signal des Schieberegisters 28 zur Steuerung des Videodisplays verwendet werden.not increased in the normal sense during the horizontal blanking period. Rather, four bits of the video counter are used for reused the count during this period. This eliminates address gaps for the audio data. If for each of the scanning lines the time 40 is reached, causes a time signal of the PALS 23 that the multiplexer 20 addresses the microprocessor 10 assumes. During the next 192 counts of the 16MHz clock, except for the last count, the Microprocessor free to access the RAM and can thus perform tasks unrelated to the display. if the last count in each of the scanning lines is reached, a signal from the PALS 23 via the multiplexer 21 leaves the counter 22 access the memory 11 directly. At that time will the 16-bit word of RAM 11 (time 41 in Fig. 2) from memory read, eight bits being transmitted to disk motor speed controller 2 7 and eight bits being transmitted to tone counters 29 (as will be seen, only six bits are used by disk motor speed controller 2 7) . During the "screen time" shown in FIG. 2, the 16-bit words are transferred from memory to the video shift register 28 given and used to develop the video signal. As mentioned, the PALS 23 delivers the horizontal and vertical synchronization signals, which are used in conjunction with the signal of the shift register 28 for controlling the video display be used.

Wenn die 342te Abtastzeile (gezeigt als Zeile 43) und die Zeit 40 auf dieser Zeile erreicht ist, ermöglicht der Multiplexer 20 dem Mikroprozessor 10 erneut den Zugriff auf den RAM 11. Am Ende der Zeile 43 und für die restliche Periode der vertikalen Austastung gibt der Multiplexer 21 noch neun Adreßbits zur Zeit 41 in das RAM 11, um zu ermöglichen, daß das 16-Bit-Wort an das Geschwindigkeitssteuergerät 27 und an den Zähler 29 angelegt wird. (Die Leitungen RAO bis RA6 sindt zeitgemulti-When the 342nd scan line (shown as line 43) and time 40 on that line is reached, the multiplexer enables 20 the microprocessor 10 again accesses the RAM 11. At the end of line 43 and for the remaining period of the vertical Blanking the multiplexer 21 gives nine address bits at time 41 in the RAM 11 to enable the 16-bit word is applied to the speed control device 27 and to the counter 29. (The lines RAO to RA6 are multi-timed

plext, um diese Adreßsignale zu liefern.) Während der vertikalen Austastung kann der Mikroprozessor 10 zum RAM 11 zugreifen, ausgenommen beim letzten Zählwert jeder Zeile. Wie noch beschrieben wird, werden während dieser Zeitperiode die im RAM 11 gespeicherten Plattenmotor-Geschwindigkeitssteuerdaten und die Tondaten aktualisiert.plexes to provide these address signals.) During the vertical Blanking, the microprocessor 10 can access the RAM 11, except for the last count of each line. How else is described, during this period of time, the disk motor speed control data and data stored in RAM 11 become updated the sound data.

Der Multiplexer 21 definiert mit seiner 9-Bit-Adresse benachbarte Speicherplätze im Speicher, was dem Prozessor 10 einen leichteren Zugriff und Aktualisierung der Ton- und Motor-Geschwindigkeitsdaten erlaubt. Es sei darauf hingewiesen, daß die Speicherplätze im RAM 11 für die Ton- und Motor-Geschwindigkeitssteuerdaten an einer anderen Stelle als die Schirmdaten sind.The multiplexer 21 defines with its 9-bit address adjacent storage locations in the memory, which the processor 10 a Allow easier access and update of sound and motor speed data. It should be noted that the memory locations in RAM 11 for the tone and motor speed control data is in a different location than the screen data.

Im beschriebenen Beispiel teilen sich während des "Live"-Videos der Mikroprozessor und die Videodisplaysignalübertragungen den Datenbus in abwechselnden Zyklen. Während der horizontalen Austastung (für die Wörter 32 bis 42) hat der Mikroprozessor allein Zugriff auf den Datenbus. Zur Zeit 41 nach Fig. 2 (43stes Wort) teilen sich der Mikroprozessor und die Ton/Geschwindigkeits-Datenübermittlung den Datenbus in abwechselnden Zyklen.In the example described, the microprocessor and video display signal transmissions share during "live" video the data bus in alternating cycles. During the horizontal blanking (for words 32 through 42) the microprocessor only access to the data bus. At time 41 according to FIG. 2 (43rd word) the microprocessor and the tone / speed data transmission share the data bus in alternating cycles.

Für den Mikroprozessor ist es während des Live-Videos möglich, die Tondaten und die Geschwindigkeitssteuerdaten zu aktualisieren. Die Daten werden tatsächlich während der Austastperioden aktualisiert. In der bevorzugten Implementierung, initiiert das vertikale Synchronisationssignal (Rücklaufsignal) die Aktualisierung der Tondaten. Durch Verwendung dieses Signals und durch die Aktualisierung der bereits zugegriffenen Speicherplätze (z.B. beginnend bei dem für Zeile 3 9 verwendeten Speicherplatz, Zeit 41) stört die Aktualisierung nicht das Lesen der Tondaten. Das Softwareprogramm gewährleistet, daßIt is possible for the microprocessor to update the audio data and the speed control data during the live video. The data is actually updated during the blanking periods. In the preferred implementation, initiated the vertical synchronization signal (flyback signal) updates the audio data. Using this signal and by updating the memory locations that have already been accessed (e.g. starting with the storage space used for line 3 9, time 41) the update does not interfere with that Reading the audio data. The software program ensures that

die Aktualisierung vor dem Lesen der Tondaten bleibt. Wenn der Mikroprozessor die Tondaten ohne Synchronisation mit dem Display aktualisiert, können die Daten vor ihrer Verwendung ersetzt werden. Diese Ausführung befreit also die Software von der Notwendigkeit der Zeitsynchronisation mit dem Ton für die Datenaktualisierung.the update before reading the audio data remains. If the microprocessor receives the audio data without synchronization with the display updated, the data can be replaced before it is used. This execution frees the software from the need for time synchronization with the audio for data update.

AUDIOSIGNALERZEUGUNGAUDIO SIGNAL GENERATION

Die das Audio-Signal darstellenden acht Tondatenbits werden, wie in Fig. 3 gezeigt, parallel in zwei 4-Bit-Zähler 46 und 4 geschoben. Diese sind kommerzielle Zähler. Diese Zähler werden durch das 8MHz-Taktsignal auf der Leitung 48 getaktet. In diesen Zählern erfolgen laufende Zählungen bis zu einem Überlauf, der auf der Leitung 49 abgetastet wird. So ist eine längere Zeit bis zum Überlauf erforderlich, wenn alle 0■en in den Zählern gesetzt sind (angenähert 32 usec.), während ein Überlauf in einem Zyklus des 8MHz-Takts erfolgen kann, wenn alles 1'en in die Zähler geladen wurden.The eight audio data bits representing the audio signal are, as shown in FIG. 3, in parallel in two 4-bit counters 46 and 4 pushed. These are commercial counters. These counters are clocked by the 8 MHz clock signal on line 48. In These counters are continuously counted up to an overflow, which is scanned on line 49. So is one longer time required for overflow if all 0 ■ s in the counters are set (approximately 32 usec.), while an overflow can occur in one cycle of the 8MHz clock if all 1's have been loaded into the counters.

Die Audiowellenform wird durch erste erzeugende Impulse entwickelt, deren Breite eine Funktion der Zeit zwischen der Ladung der acht Bits in die Zähler 46 und 47 und dem Überlauf ist. Wie beispielsweise durch Fig. 4 gezeigt, tritt beim Laden der Tondaten in die Zähler die Vorderflanke 52 eines Impulses auf. Wenn alles O'en geladen sind, erfolgt angenähert 32 usec später ein Überlauf, und der Impuls endet an der Rückflanke 54. Während jeden horizontalen Durchlaufs (sweep) wird ein Impuls erzeugt, da während jeden Durchlaufs ein 8-Bit-Tondatenwort in die Zähler geladen wird. Daher werden Impulse mit einer Frequenz von angenähert 22.000Hz (22kHz) erzeugt, was in der Theorie eine Bandbreite von angenähert 11.000Hz (11kHz) ergibt. In Fig. 4 ist ein zweiter Impuls 56 mit wesentlichThe audio waveform is developed by first generating pulses, the width of which is a function of the time between the eight bits being loaded into counters 46 and 47 and the overflow is. For example, as shown by Figure 4, when the tone data is loaded into the counters, the leading edge 52 of a pulse occurs on. If all O'en are loaded, an overflow occurs approximately 32 usecs later and the pulse ends on the trailing edge 54. A pulse is generated during each horizontal sweep, since an 8-bit audio data word is generated during each sweep is loaded into the counters. Therefore, pulses are generated at a frequency of approximately 22,000Hz (22kHz), which in theoretically a bandwidth of approximately 11,000Hz (11kHz) results. In Fig. 4, a second pulse 56 is essential

verringerter Breite gezeigt. Dieser tritt natürlich auf, wenn eine größere Zahl in die Zähler 46 und 47 gegeben wird. Der in dem dritten Durchlauf gezeigte Impuls 57 hat eine Breite, die zwischen der des ersten und zweiten Impulses liegt.shown reduced width. This naturally occurs when a larger number is placed in counters 46 and 47. The in The pulse 57 shown in the third pass has a width between that of the first and second pulses.

Die Impulse werden zur Entwicklung eines analogen Signales unter Verwendung eines üblichen Integrators integriert. Der Integrator 60 nach Fig. 6 empfängt ein Ladesignal und ein Überlaufsignal; die in Fig. 4 gezeigte Wellenform 61 wird im Integrator 60 entwickelt. Die Wellenform 61 stellt die resultierende Integration der Impulse gemäß Fig. 4 dar.The pulses are integrated using a conventional integrator to develop an analog signal. Of the Integrator 60 of Figure 6 receives a load signal and an overflow signal; the waveform 61 shown in Fig. 4 is in Integrator 60 developed. The waveform 61 represents the resulting integration of the pulses according to FIG.

Die drei Informationsbits (Bit 37a, 37b und 37c) des Schnittstellenadapters 5 5 werden verwendet, um einem Benutzer eine statistische Steuerung der Lautstärke zu ermöglichen. Die Verstärker 63, 64 und 6 5 werden geschaltet (ein oder aus), um die Steuerung der Ausgangsamplitude auf der Leitung 68 zu ermöglichen.The three information bits (bit 37a, 37b and 37c) of the interface adapter 5 5 are used to allow a user statistical control of the volume. the Amplifiers 63, 64 and 65 are switched (on or off) to control the output amplitude on line 68 enable.

BERECHNUNG DER TONDATENSIGNALECALCULATION OF THE SOUND DATA SIGNALS

Die Tonwellenform definierende Tondaten des Speichers werden durch den Mikroprozessor 10 berechnet. Genauer gesagt, sie werden innerhalb des Mikroprozessors durch "software" erzeugt. Eine Programmiersprache höherer Ordnung, wie PASCAL, kann benutzt werden, was einem Benutzer die leichtere Implementierung der unten erläuterten Flußdiagramme erlaubt. Im allgemeinen können die Tondaten recht schnell erzeugt werden, da das Verfahren den Vorteil der schnellen Addierfähigkeit des Mikroprozessors 68000 ausnutzt.Tone data of the memory defining the tone waveform is calculated by the microprocessor 10. More precisely, she are generated within the microprocessor by "software". A higher level programming language such as PASCAL can which allows a user to more easily implement the flowcharts discussed below. In general the tone data can be generated quite quickly, since the method has the advantage of the microprocessor's fast adding capability 68000 exploited.

Unter Bezugnahme auf Fig. 5 wird angenommen, daß ein einzelner "reiner" Ton zu erzeugen ist. Zunächst wird eine Nachschlage-Referring to Figure 5, it is assumed that a single "clean" tone is to be generated. First, a lookup

tabelle irn Systemspeicher abgespeichert; in dem bevorzugten Ausführungsbeispiel weist die Nachschlagetabelle 25 6x8 Bits auf. So ergibt sich für jede 8-Bit-Adresse der Tabelle ein 8-Bit-Ausgangssignal. Für einen reinen Ton enthält die Nachschlagetabelle einer Sinuswelle entsprechende Punkte. Dies wird durch die Nachschlagetabelle 70 der Fig. 5 dargestellt. Das Verfahren zur Erzeugung der Adresse für die nachfolgende Wertetabelle besteht in der wiederholten Addition einer vorbestimmten Zahl, die im Block 74 als Δ0η gezeigt ist, zu einer im Register 72 gespeicherten Zahl. Anfangs hat das im Register 72 gespeicherte 32-Bit-Wort einen beliebigen Wert, z.B. alles Nullen. Das Inkrement Δί>0 wird hinzuaddiert. Die resultierende Summe wird in das Register 72 zurückgespeichert. Die am höchsten bewerteten acht Bits der Summe werden, wie durch den Block 76 gezeigt ist, abgetrennt und als Adresse für die Nachschlagetabelle 70 verwendet.table stored in system memory; in the preferred embodiment, look-up table 25 is 6x8 bits. This results in an 8-bit output signal for each 8-bit address in the table. For a pure tone, the look-up table contains points corresponding to a sine wave. This is illustrated by the look-up table 70 of FIG. The method for generating the address for the following table of values consists in the repeated addition of a predetermined number, which is shown in block 74 as Δ0 η , to a number stored in register 72. Initially, the 32-bit word stored in register 72 has any value, for example all zeros. The increment Δί> 0 is added. The resulting sum is stored back in register 72. The most significant eight bits of the sum are separated as shown by block 76 and used as the address for the look-up table 70.

Zum Zwecke der Erläuterung sei angenommen, daß Δ0Ο klein ist. Diese relativ kleine binäre Zahl wird jeweils zu der im Register 72 gespeicherten Zahl addiert, wobei sich die höchst bewertetsten Bits nicht ändern, vielmehr sind zahlreiche Additionen erforderlich, um sie zu ändern. Demgemäß wird jeder der 25 6 Speicherplätze in der Nachschlagetabelle 70 mehrmals adressiert, und die im RAM 11 gespeicherten acht Bits der Daten der Nachschlagetabelle ändern sich langsam. Dies entspricht natürlich einer niedrigen Frequenz. Wenn andererseits das Inkrement A0Q relativ groß ist, werden die Resultate aus der Nachschlagetabelle sich schneller ändern, und so wird z.B. jedes der im RAM 11 gespeicherten aufeinanderfolgenden 8-Bit-Datenwörter der Nachschlagetabelle 70 unterschiedlich sein. Dieses würde einer hohen Frequenz entsprechen. Ein neues 8-Bit-Tondatenwort wird mit jeder durch den Block 74 dargestellten Addition gewonnen. Daher wird durch die Änderung des in jedem Zyklus addierten Inkrementes die Frequenz des TonesFor the purpose of explanation it is assumed that Δ0 Ο is small. This relatively small binary number is added to the number stored in register 72, the most significant bits not changing, rather numerous additions are required to change them. Accordingly, each of the 25 6 locations in the look-up table 70 is addressed multiple times and the eight bits of the look-up table data stored in RAM 11 slowly change. This of course corresponds to a low frequency. On the other hand, if the increment A0 Q is relatively large, the results from the look-up table will change more quickly and so, for example, each of the successive 8-bit data words of the look-up table 70 stored in RAM 11 will be different. This would correspond to a high frequency. A new 8-bit tone data word is obtained with each addition represented by block 74. Therefore, by changing the increment added in each cycle, the frequency of the tone becomes

variiert. Alle während jedes (Halb)Bildes (frame) verwendeten Tondaten können leicht während weniger Abtastzeilenperioden der vertikalen Austastperiode berechnet werden.varies. All of the audio data used during each (half) picture (frame) can easily be used during a few scanning line periods the vertical blanking period.

Um eine Hüllkurvensteuerung oder Amplitudenmodulation zu erhalten, wird ein Satz von Tabellen verwendet. Z.B. weist jede Tabelle des Satzes 0-7 eine Sinuswelle mit einem Maximum-Spit-To get envelope control or amplitude modulation, a set of tables is used. E.g. every table of the record 0-7 has a sine wave with a maximum peak

Satz Nr
ze-Spitze-Wert von 2 * ' auf. Die Hüllkurvensteuerung wird dadurch erreicht, daß der Ablauf einer vorbestimmten Anzahl von Bildintervallen (frame intervals) zugelassen wird, bevor man zwischen den Sätzen umschaltet.
Set no
ze peak value of 2 * '. Envelope control is achieved by allowing a predetermined number of frame intervals to run before switching between sets.

Im folgenden wird auf Fig. 7 Bezug genommen. Bei dem bevorzugten Ausführungsbeispiel können bis zu vier 25 6x8 Nachschlagetabellen innerhalb des Mikroprozessors 10 verwendet werden. Die Inhalte der Nachschlagetabellen können anwenderprogrammiert und unterschiedlich sein. Z.B. ist in Fig. 7 gezeigt, daß die Nachschlagetabelle 80 eine Sinuswelle, die Tabelle 81 eine dreieckige Welle, die Tabelle 82 eine quadratische Welle und die Tabelle 83 eine Rampe enthält. Das in Verbindung mit Fig. 5 beschriebene Verfahren wird wiederum angewendet. Es werden jetzt (bei gleichzeitiger Erzeugung von vier Tönen) 24 Bits anstelle von 32 verwendet. (Dies wird durch den Block 85 in Fig. 7 gezeigt.) Wieder wird ein Inkrement, gezeigt alsReference is made to FIG. 7 below. In the preferred embodiment, there can be up to four 25 6x8 look-up tables within the microprocessor 10 can be used. The contents of the look-up tables can be user-programmed and be different. For example, in Fig. 7, look-up table 80 is shown to be a sine wave, table 81 a triangular wave, table 82 contains a square wave, and table 83 contains a ramp. That in connection with The method described in FIG. 5 is used again. Now (with the simultaneous generation of four tones) 24 Bits used instead of 32. (This is shown by block 85 in Figure 7.) Again, an increment is shown as

Δ01, zu der vorhergehenden Summe addiert (Block 86). Die am höchsten bewerteten Bits werden von der Summe (Block 8 7) abgetrennt und als Adresse für das entsprechende 8-Bit-Wort innerhalb der Tabelle 8 0 verwendet. Das gleiche Verfahren wird für die im Block 87 gezeigte Zahl wiederholt, zu der ein unterschiedliches (oder das gleiche) Inkrement Δ0?, wie in Block 88 gezeigt, addiert wird, wobei wiederum die am höchsten bewerteten Bits der Summe zur Adressierung der Nachschlagetabelle 81 verwendet werden. Ähnlich werden unterschiedliche gespeicherte Werte und Inkremente erzeugt, um in den Tabellen 82Δ0 1 added to the previous sum (block 86). The bits with the highest evaluation are separated from the sum (block 8 7) and used as the address for the corresponding 8-bit word within table 8 0. The same process is repeated for the number shown in block 87 to which a different (or the same) increment Δ0 ? as shown in block 88, again using the most significant bits of the sum to address the look-up table 81. Similarly, different stored values and increments are generated to be shown in tables 82

und 83 nachzuschlagen. Die resultierenden acht Bits jeder Tabelle werden, wie durch die Blöcke 80, 90 und 91 gezeigt, addiert, die am höchsten bewerteten Bits von diesen Summen, wie durch Block 92 gezeigt, abgetrennt und im Speicher 11 abgespeichert. Dieses Verfahren wird für jedes im RAM 11 gespeicherte Tondatenwort wiederholt, wenn vier Töne erzeugt werden. Nochmals, die Grundfrequenz für jeden der vier Töne wird durch das Inkrement bestimmt, das addiert wird (Blöcke 8 und 88), und der harmonische Inhalt wird durch die in der Nachschlagetabelle gespeicherte "Form" bestimmt.and look up 83. The resulting eight bits of each table are, as shown by blocks 80, 90 and 91, added, the most significant bits separated from these sums as shown by block 92, and stored in memory 11 saved. This procedure is carried out for each one stored in the RAM 11 Tone data repeated when four tones are generated. Again, the fundamental frequency for each of the four tones is determined by the increment that is added (blocks 8 and 88) and the harmonic content is determined by the ones in the Look-up table stored "shape" is determined.

Die beigefügte Tabelle 1 ist ein in 68000 Assemblersprache geschriebenes Programm zur Implementierung des Flußdiagrammes der Fig. 7.The attached Table 1 is a program written in 68000 assembly language for implementing the flowchart of FIG. 7.

Mit dem oben beschriebenen Tonerzeugungsgerät wird eine ausgezeichnete Tonsteuerung erreicht, wobei bis zu 24 Bits der "Frequenzsteuerung" (für jeden Ton) innerhalb des 11 kHz-Bandes möglich sind. Dadurch wird die Erzeugung von beinahe 17 Mill, verschiedenen Tönen innerhalb des Bandes möglich, was angenähert gleich (oder besser) dem besten Wahrnehmungsvermögen des menschlichen Ohres ist.The sound generating apparatus described above provides an excellent one Tone control is achieved, taking up to 24 bits of "frequency control" (for each tone) within the 11 kHz band possible are. This makes it possible to generate almost 17 million different tones within the band, which is an approximation equals (or better) the best perception of the human ear.

Die oben beschriebenen Verfahren sind insbesondere zur Erzeugung periodischer Funktionen geeignet, die ihrer Natur nach harmonisch sind und eine Musik o.dgl. darstellende Tonqualität ergeben. Für Töne, wie die Stimme, wird ein "erweiterter" Nachschlage-Puffer zur anfänglichen Abspeicherung einer z.B. die Sprache repräsentierenden Wellenform verwendet. Dies ist mit dem Puffer 93 in Fig. 8 gezeigt. Der Puffer selbst kann und aus praktischen Erwägungen muß innerhalb des RAMs 1 1 vorgesehen werden, wenn eine lange Wellenform abzuspeichern ist. Die 8-Bit-Werte werden wiederum gewonnen durch Addition eines Inkrements A0Q (Block 95) zu einem im Register 96 gespei-The methods described above are particularly suitable for generating periodic functions which are harmonic in nature and a music or the like. performing sound quality. For tones, such as the voice, an "extended" look-up buffer is used for the initial storage of a waveform representing, for example, speech. This is shown with the buffer 93 in FIG. The buffer itself can and must be provided within the RAM 11 for practical reasons when a long waveform is to be stored. The 8-bit values are in turn obtained by adding an increment A0 Q (block 95) to a value stored in register 96.

y 12y 12

cherten 32-Bit-Wort, wobei die am höchsten bewerteten Bits zur Adressierung von Plätzen im Puffer 9 3 herangezogen werden. Die Resultate des Nachschlagens im erweiterten Puffer werden gespeichert und wie im Falle der Figuren 5 und 7 während der horizontalen Austastperiode ausgewählt.cherten 32-bit word, whereby the most significant bits are used to address locations in the buffer 9 3. the Results of the look-up in the expanded buffer are stored and, as in the case of FIGS. 5 and 7, during horizontal blanking period selected.

Die beigefügte Tabelle 2 enthält ein in 68000 Assemblersprache geschriebenes Programm zur Implementierung des Flußdiagrammes der Fig. 8.The attached table 2 contains a program written in 68000 assembly language for the implementation of the flow diagram of FIG. 8.

PLATTENMOTOR-GESCHWINDIGKEITSSTEUERGERATPLATE MOTOR SPEED CONTROL UNIT

Typisch weisen Floppy-Disk-Laufwerke und andere Plattenlaufwerke zum Antrieb der Platte mit einer konstanten, vorgegebenen Drehzahl (Geschwindigkeit) eine geeignete Vorrichtung auf. Nach der Herstellung des Plattenlaufwerks wird die Geschwindigkeitssteuervorrichtung geeicht, um sicherzustellen, daß die Daten mit einer bestimmten Geschwindigkeit aufgezeichnet und wiedergewonnen werden.Typically, floppy disk drives and other disk drives have to drive the disk at a constant, predetermined rate Rotation speed (speed) on a suitable device. After the disk drive is manufactured, the speed control device calibrated to ensure that the data is recorded and at a certain speed to be recovered.

Bei der vorliegende Erfindung wird die Motorgeschwindigkeit durch einen Computer gesteuert, und desweiteren wird die Motorgeschwindigkeit als Funktion der zugegriffenen Spur so variiert, daß sich eine gleichmäßige Flußdichte ergibt. Das bedeutet, daß der Motor bei Zugriff auf die äußeren Spuren (größerer Radius) langsamer und bei Zugriff auf die inneren Spuren (kleinerer Radius) schneller dreht.In the present invention, the engine speed is controlled by a computer, and furthermore, the engine speed is controlled varies as a function of the accessed track so that a uniform flux density results. That means that the motor slows down when accessing the outer tracks (larger radius) and when accessing the inner tracks Tracks (smaller radius) rotates faster.

In Fig. 9 ist der Computer der Fig. 1 als Computer 97 gezeigt. Ebenso ist ein Plattenlaufwerk, z.B. ein Floppy-Disk-Laufwerk und insbesondere ein Plattenantriebsmotor 98 dargestellt. Die Leitung 99 liefert dem Computer 97 die Motorgeschwindigkeit anzeigende Impulse. Beim bevorzugten Ausführungsbeispiel wer-In FIG. 9, the computer of FIG. 1 is shown as computer 97. Likewise is a disk drive, e.g. a floppy disk drive and more particularly, a disk drive motor 98 is shown. Line 99 provides the computer 97 with engine speed indicating pulses. In the preferred embodiment

den die üblichen Index-Impulse des Motors verwendet. Die verwendeten Floppy-Disk-Laufwerke sind mit der Motornabe formschlüssig verbunden, so daß kein Schlupf auftritt. Demgemäß stellen die Index-Impulse selbst die Ist-Geschwindigkeit der Floppy-Disk dar. Wenn ein Schlupf möglich ist, können Markierungen oder Bitströme der Platte selbst zur Gewinnung einer genauen Plattengeschwindigkeitsanzeige verwendet werden. Das Geschwindigkeits-Steuersignal auf der Leitung 100 steuert die Motorgeschwindigkeit. Es wird ein vorbestimmter Signalpegel auf der Leitung 100 verwendet, und die Motorgeschwindigkeit wird auf der Leitung 99 abgetastet. Dies erlaubt dem Computer 97 die Charakteristika des Motors 98 aufzuzeichnen. Dadurch erkennt der Computer für jeden mit ihm verbundenen Motor dessen Drehgeschwindigkeit für ein spezielles Geschwindigkeits- -Steuersignal. Auf diese Weise braucht der Plattenantriebsmotor 98 nach seiner Herstellung nicht geeicht zu werden, und die normalerweise in dem Plattenlaufwerk verwendete Geschwindigkeitssteuervorrichtung ist nicht erforderlich, da die Geschwindigkeit durch den Computer 98 gesteuert wird. Wie aus Fig. 9 hervorgeht, besteht eine geschlossene Arbeitsschleife (geschlossener Regelkreis), da der Motor 97 die Ist-Motorgeschwindigkeit über die Leitung 9 9 abtastet.which uses the usual index impulses of the motor. The used Floppy disk drives are positively connected to the motor hub so that no slippage occurs. Accordingly the index pulses themselves represent the actual speed of the floppy disk. If a slip is possible, markings or bit streams of the disc itself can be used to obtain an accurate indication of the disc speed. That Speed control signal on line 100 controls engine speed. It becomes a predetermined signal level is used on line 100 and the engine speed is sensed on line 99. This allows the computer 97 record the characteristics of the engine 98. Through this the computer recognizes the rotational speed of each motor connected to it for a specific speed Control signal. In this way, the disk drive motor 98 does not need to be calibrated after its manufacture, and the speed control device normally used in the disk drive is not required as the speed is controlled by the computer 98. How out 9, there is a closed working loop (closed control loop), since the motor 97 scans the actual motor speed via the line 9 9.

In der derzeitigen Implementierung, überprüft der Computer die Impulse 99 und bestimmt, bevor Daten geschrieben oder bevor Fehler beim Lesen oder Schreiben auftreten, die Charakteristika des Motors 98, wenn eine neue Platte in das Plattenlaufwerk eingelegt wird. Es können ersichtlich auch andere Anordnungen verwendet werden, z.B. können die Index-Impulse periodisch oder kontinuierlich überprüft werden.In the current implementation, the computer checks the pulses 99 and determines before writing or data before reading or writing errors occur, the characteristics of the motor 98 when a new disk is inserted into the disk drive is inserted. Obviously, other arrangements can be used, for example the index pulses be checked periodically or continuously.

In dem bevorzugten Ausführungsbeispiel läuft der Motor mit einer Geschwindigkeit von 350 U/min, für die äußerste Spur bis zu 700 U/min, für die innere Spur. Ersichtlich ist der gewähl-In the preferred embodiment, the motor runs at a speed of 350 rpm for the outermost lane through to 700 rpm, for the inner track. The selected

te Drehgeschwindigkeitsbereich eine Funktion des Radius der Platte und wird abhängig von den speziellen magnetischen Charakteristika des Systems und der Größe der Platte variiert.The rotational speed range is a function of the radius of the disk and is dependent on the particular magnetic characteristics of the system and the size of the disk varies.

Wie vorher erwähnt, werden während jeder horizontalen Austastperiode acht Datenbits zu den Tonzählern 29 nach Fig. 1 und acht Bits zum Geschwindigkeitssteuergerät 27 geliefert. In der erläuterten Ausführung werden nur sechs der auf dem Bus befindlichen Bits für die Geschwindigkeitssteuerung verwendet. Der Bus ist in Fig. 10 als Bus 109 dargestellt, dessen sechs Leitungen mit sechs Stufen eines Schieberegisters 102 verbunden sind. Die sechs Bits des Bus 108 werden in die sechs Stufen des Schieberegisters 102 geladen, wenn die Tondatensignale in die Tonzähler 29 geladen werden.As previously mentioned, during each horizontal blanking period eight data bits are supplied to the tone counters 29 of FIG. 1 and eight bits to the speed control device 27. In the In the illustrated embodiment, only six of the bits on the bus are used for speed control. The bus is shown in FIG. 10 as bus 109, the six lines of which are connected to six stages of a shift register 102 are. The six bits of bus 108 are loaded into the six stages of shift register 102 when the tone data signals into the tone counters 29 are loaded.

Fig. 10 zeigt einen polynomischen Zähler. Die in die sechs Stufen des Schieberegisters 102 eingegeben Daten werden unter Steuerung eines Taktsignals verschoben. Die effektive Schiebefrequenz beträgt angenähert 1MHz. Wegen der verschiedenen Wartezustände, die auf das Schieberegister einwirken, ist jedoch tatsächlich das 8MHz Taktsignal mit dem Register verbunden. Der Ausgang der letzten Stufe des Registers ist mit einem Eingang eines Exklusiv-ODER-Gatters 104 über die Leitung 103 verbunden. Der Ausgang der ersten Stufe ist mit dem anderen Eingang des Gatters 104 über die Leitung 105 verbunden. Diese Schaltung ist in bekannter Art für die Zählung in dem "polynomischen Generator" vorgesehen. Die Stufen des Schieberegisters 102 sind auch mit einem Zustandsdetektor 106 verbunden. Dieser Detektor bestimmt, wann ein vorbestimmter binärer Zustand innerhalb des Schieberegisters erreicht ist. Wird dieser Zustand erreicht, wird ein Signal über die Leitung zum Stoppen der Schiebefunktionen innerhalb des Schieberegisters 102 angekoppelt; dieses Signal wird in der gleichen Weise wie für das Tonsignal zur Erzeugung des Endes einesFig. 10 shows a polynomial counter. The data input to the six stages of the shift register 102 is shown in Control of a clock signal shifted. The effective shift frequency is approximately 1MHz. Because of the different Waiting states that affect the shift register are actually connected to the register by the 8MHz clock signal. The output of the last stage of the register is connected to an input of an exclusive-OR gate 104 on the line 103 connected. The output of the first stage is connected to the other input of the gate 104 via the line 105. This circuit is provided in a known manner for counting in the "polynomial generator". The stages of the shift register 102 are also connected to a condition detector 106. This detector determines when a predetermined binary State is reached within the shift register. If this state is reached, a signal is sent over the line coupled to stop the shift functions within shift register 102; this signal is in the same Way as for the sound signal to generate the end of a

ZQ>.ZQ>.

Impulses verwendet.Used.

Gemäß Fig. 11 beginnt die Zählung im Schieberegister 102 nach Fig. 10 beim Beginn jeden horizontalen Durchlaufs (sweep) erläutert. Zu diesem Zeitpunkt wird die Vorderflanke eines Impulses, wie die Flanke 115 des in Fig. 12 dargestellten Impulses, erzeugt. Wenn der Zustandsdetektor 106 einen vorbestimmten Zustand erkennt, wird das Ende des Impulses, wie durch die Rückflanke 116 in Fig. 12 gezeigt, erzeugt. Die Impulse werden durch den Integrator 114 integriert und das resultierende Signal auf der Leitung 100 zur Steuerung der Geschwindigkeit des Motors in normaler Art verwendet.According to FIG. 11, the counting in the shift register 102 begins after Fig. 10 at the beginning of each horizontal sweep explained. At this point, the leading edge of a pulse becomes like the edge 115 of that shown in FIG Impulse generated. When the condition detector 106 detects a predetermined condition, the end of the pulse will be such as shown by trailing edge 116 in FIG. The pulses are integrated by the integrator 114 and that resulting signal on line 100 is used to control the speed of the motor in the normal manner.

Die sechs in das Schieberegister 102 gegebenen Bits werden immer den durch den Detektor 106 erkannten Zustand vor dem Ende jedes horizontalen Durchlaufs erreichen. In der Praxis wird der Zustand während der ersten 40 usec. der für jeden horizontalen Durchlauf ungefähr erforderlich 44 usec. erkannt .The six bits put into the shift register 102 will always be the state before the detected by the detector 106 Reach the end of each horizontal pass. In practice, the status is during the first 40 usec. the one for everyone horizontal run required approximately 44 usec. recognized .

Für jede Geschwindigkeits-Steuervorgabe werden zehn horizontale Durchläufe verwendet. Diese Anzahl wurde gewählt, da das bevorzugte Ausführungsbeispiel 370 volle Abtastzeilen verwendet, die gleichmäßig zu zehn verteilt sind. Trotzdem wird für jeden horizontalen Durchlauf (sweep) ein Impuls erzeugt. (Die dem Integrator 114 der Fig. 11 zugeordnete Zeitkonstante ist klein genug, um ein kontinuierliches Signal auf der Leitung 100 zu ergeben.) Die für jeden der zehn Durchläufe erzeugte Impulsbreite, die zur Bestimmung jedes Geschwindigkeitssteuerwertes verwendet wird, wird zur Lieferung genauer Werte "gezittert". Als Beispiel wird angenommen, daß ein 6,5 entsprechender Wert auf der Leitung 100 erforderlich ist. Unter Bezugnahme auf Fig. 12 ist für die zehn verwendeten Durchläufe zur Definition dieses Wertes der erste Wert 6, der zweite WertTen horizontal passes are used for each speed control input. This number was chosen because the The preferred embodiment uses 370 full scan lines evenly divided into ten. Still for a pulse is generated every horizontal sweep. (The time constant associated with integrator 114 of FIG. 11 is small enough to give a continuous signal on line 100.) The one generated for each of the ten sweeps Pulse width used to determine each speed control value is "jittered" to provide accurate values. As an example, assume that a value equivalent to 6.5 is required on line 100. In reference to on FIG. 12, for the ten runs used to define this value, the first value is 6, the second value

7 usw. für die zehn Durchläufe. Das bewirkt, daß die Rückflanke 116 der Impulse zwischen den Werten 6 und 7 variiert. Nach einer Integration wird der Wert auf der Leitung 100 6,5 entsprechen. Durch Verteilung der Werte und Ermöglichung des Impulszitterns während der zehn jede Geschwindigkeitssteuerzahl definierenden Durchlaufe, ergibt sich eine sehr genaue Steuerung. Es wird eine über die sechs in das Schieberegisters geladenen Bits hinausgehende Steuergenauigkeit erzielt. In der erläuterten Ausführungsform werden 400 spezielle Niveaus oder7 etc. for the ten runs. That causes the trailing edge 116 of the impulses varies between the values 6 and 7. To an integration will correspond to the value on line 100 6.5. By distributing the values and enabling the Pulse tremors during the ten passes defining each speed control number results in a very accurate one Steering. Control accuracy beyond the six bits loaded into the shift register is achieved. In the illustrated embodiment, 400 special levels or

(koö> (koö >

(2)(2)

Bits erreicht.Bits reached.

In der beigefügten Tabelle 3 ist das zur Geschwindigkeitssteuerung verwendete Programm in 6800 0 Assemblersprache geschrieben. In the attached table 3 this is for speed control The program used was written in 6800 0 assembly language.

Es wurde ein verbessertes Gerät beschrieben, das sowohl die Erzeugung von Tonen als auch die Geschwindigkeitssteuerung eines Floppy-Disk-Laufwerkes o.dgl. ermöglicht.An improved device has been described which has both tone generation and speed control a floppy disk drive or the like. enables.

TABELLE 1TABLE 1

Dieser Code wird alle 16 Sek. bei der Vertikalen-Rücklauf-Unterbrechung ausgeführt. Er berechnet die 37 0 Werte für den nächsten Durchlauf.This code is sent every 16 seconds when there is a vertical return interruption executed. It calculates the 37 0 values for the next run.

MOVEM.LMOVEM.L

MOVE.L
ADD. W
ihn
MOVE.L
ADD. W.
him

MOVE.L
von D1
MOVE
MOVE
MOVE.L
from D1
MOVE
MOVE

(A6),D2-D7/AO-A5 ;gebe Ton-Parameter in die(A6), D2-D7 / AO-A5; put tone parameters in the

Registerregister

SoundBase, A6 ;weise auf den Puffer #370,A6 ;tatsächlich, weise halbwegs inSoundBase, A6; point to buffer # 370, A6; actually, point halfway in

#$00FF0000,D1# $ 00FF0000, D1

#2,-(SP) #185,-(SP) ;bilde eine Maske im oberen Teil# 2, - (SP) # 185, - (SP); form a mask in the upper part

;initiiere Außenschleifenzähler ;durchlaufe Schleife 185 mal (Hälfte des Puffers); initiate outer loop counter; run through loop 185 times (Half of the buffer)

durchlaufe Schleife einmal für die Hälfte der 370 Werte; summiere die Wellenformwerte für jede Stimmeloop through once for half of the 370 values; sum the waveform values for each voice

Tonschleife CLR.W D1Tone loop CLR.W D1

ADD.L D2,D3ADD.L D2, D3

ADD.L D4,D5ADD.L D4, D5

ADD.L D6,D7ADD.L D6, D7

ADD. L AO, A1ADD. L AO, A1

zeichne Stimme 1 in D1draw part 1 in D1

MOVE.L D5,D0MOVE.L D5, D0

AND.L D1 ,DOAND.L D1, DO

SWAP DOSWAP DO

MOVE.B 0(A3,DO),DOMOVE.B 0 (A3, DO), DO

ADD.W (D0,D1) addiere Stimme 3 in DADD.W (D0, D1) add voice 3 in D

MOVE.L D7,D0MOVE.L D7, D0

AND.L D1,DOAND.L D1, DO

SWAP DOSWAP DO

MOVE.B 0(A4,D0),D0MOVE.B 0 (A4, D0), D0

ADD.W DO,D1 addiere Stimme 4 in D1ADD.W DO, D1 add voice 4 in D1

MOVE.L A1,DOMOVE.L A1, DO

AND.L D1,DOAND.L D1, DO

SWAP DOSWAP DO

MOVE.B 0(A5,DO),D0MOVE.B 0 (A5, DO), D0

ADD.W D0,D1 ;lösche das Summenregister (nicht die Maske)ADD.W D0, D1; clear the sum register (not the mask)

;berechne Stimme 1; calculate voice 1

;berechne Stimme 2; calculate voice 2

;berechne Stimme 3; calculate voice 3

;berechne Stimme 4; calculate voice 4

;decke die hohen Bits ab jverwende Bits 16-23 jschlage nach in Wellenform-Tabelle
;addiere sie ein
; cover the high bits juse bits 16-23 j see waveform table
; add them up

;decke die hohen Bits ab ;verwende Bits 16-2 ;schlage nach in der Wellenform-Tabelle
;addiere sie ein
; cover the high bits; use bits 16-2; refer to the waveform table
; add them up

;decke die hohen Bits ab ;verwende Bits 16-2 ;schlage nach in der Wellenform-Tabelle
;addiere sie ein
; cover the high bits; use bits 16-2; refer to the waveform table
; add them up

aktualisiere den DMA Ton-Puffer mit dem neuen Wertupdate the DMA tone buffer with the new value

LSR.W #2,D1 jdividiere durch 4 (verwende dieLSR.W # 2, D1 divide by 4 (use the

höchst bewerteten Bits)most valued bits)

MOVE.B D1,(A6) ;gebe es in den PufferMOVE.B D1, (A6); put it in the buffer

ADDQ #2,A6 ;bump die Puffer-HinweisadresseADDQ # 2, A6; bump the buffer pointer

Schleife für die Hälfte der WerteLoop for half the values

SUBQ #1,(SP) ;vermindere den ZählerSUBQ # 1, (SP); decrease the counter

BNE.S SoundLoop ;schalte zur Schleife bis sieBNE.S SoundLoop; switch to the loop until it

stehtstands

jetzt verarbeite die zweite Hälfte des Puffersnow process the second half of the buffer

MOVE.L SoundBase, A6 jweise auf den Beginn des PuffersMOVE.L SoundBase, A6 pointing to the beginning of the buffer

MOVE #185,(SP) ;setze den Zähler zurückMOVE # 185, (SP); reset the counter

SUBQ #1,2(SP) !vermindere den zweiten ZählerSUBQ # 1,2 (SP)! Decrease the second counter

BNE.S SoundLoop ;Schleife bis zum EndeBNE.S SoundLoop; loop to the end

OK, alles fertig, aktualisiere die Tontabelle, speichere die Register neu und kehre zum Rufer zurückOK, all done, update the tone table, save the registers again and return to the caller

ADDQ #4,SP ;springe vom Schleifenzähler abADDQ # 4, SP; jump from the loop counter

MOVE.L SoundPtr,A6 ;nimm TabellenadresseMOVE.L SoundPtr, A6; take table address

ADDQ #2,A6ADDQ # 2, A6

MOVEM.L D2-D7/A0-A1,(A6) ;sichere die TonregisterMOVEM.L D2-D7 / A0-A1, (A6); save the tone register

MOVEM.L (SP)+,D0-D7/A0-A6;speichere die Ruferregister neuMOVEM.L (SP) +, D0-D7 / A0-A6; save the caller registers again

TABELLE 2TABLE 2

MOVE.L ADD. W LEAMOVE.L ADD. W LEA

CLR.W MOVECLR.W MOVE

OK, jetzt schleife,OK, now loop

MOVE.B ADDQMOVE.B ADDQ

ADD. L SWAP Gebiet ADD. WADD. L SWAP area ADD. W.

ADD.W. Zahlen CLR.W zurück SWAPADD.W. Pay CLR.W back SWAP

SoundBase, A2 #64,A2 676(A2),A4SoundBase, A2 # 64, A2 676 (A2), A4

-(SP) #33 7,D2 ;nimm die Ton-Basisadresse ;beginne 3 2 Bytes in ;berechne die Endadresse- (SP) # 33 7, D2; take the tone base address; start 3 2 bytes in ; calculate the ending address

;Kennzeichen geht 1 ;338 Bytes in der ersten Hälfte zu bewegen; Tag goes to 1; 338 bytes in the first half move

nachdem wir alles gesetzt haben, beginne die Hauptum den Puffer zu füllenafter we have set everything, start the main to fill the buffer

;lese es in den DMA-Puffer ein ;bump zum nächsten Speicherplatz; read it into the DMA buffer; bump to the next memory location

;bump den kumulativen Index ;nimm den hohen Teil im tiefen; bump the cumulative index; take the high part in the low

;bump zur nächsten Eingabe; bump to the next entry

(vielleicht)
;summiere aufeinander die fertigen
(perhaps)
; add up the finished

;setze den ganzzahligen Teil ;speichere D3 neu; set the integer part; save D3 again

#2,A2# 2, A2

D1 ,D3 D3D1, D3, D3

D3,A1 D3,D0 D3 D3D3, A1 D3, D0 D3 D3

haben wir ausgegeben oder angefordert?have we issued or requested?

CMP.L A1,A3 ;nach dem Ende des Puffers?CMP.L A1, A3; after the end of the buffer?

DBLE D2,Interpolate ;wenn ja, stoppe ihnDBLE D2, Interpolate; if so, stop it

TABELLETABEL

Routine: SetSpeed, SetASpeedRoutine: SetSpeed, SetASpeed

Ausführungen: D6.W(input) -- Spurzahlgeschwindigkeit sollteVersions: D6.W (input) - track number speed should

gesetzt werden fürbe set for

Drive (input) — augenblickliches Plattenlaufwerk TrkSpeedTbl (in)Drive (input) - current disk drive TrkSpeedTbl (in)

Wait (output) —Wait (output) -

Angesprochen (Gerufen) durch:Addressed (called) by:

-- Geschwindigkeits-Codetabelle für augenblickliches Laufwerk 0, oder SpdChgTime, wenn CurSpeed andere Register als A0-A2 änderte, D0-D2 sind geschützt- Speed code table for instantaneous Drive 0, or SpdChgTime if CurSpeed changed registers other than A0-A2, are D0-D2 protected

(SetSpeed): Seek,RWPower (SetASpeed): MakeSpdTbl Funktion: Diese Routine bestimmt den korrekten Geschwindigkeitswert für die Spur und setzt den PWM-Pufferspeicher, um den gewünschten Ausgangswert zu erzeugen. Der Wert von WAIT ist auf SpdChgTime zu setzen, wenn die Geschwindigkeit gewechselt wird; sonst 0. Für das augenblickliche Laufwerk wird die TrkSpeedTbl verwendet. Die Laufwerkaktivierung wird nicht gewechselt, nur der PWM-Puffer im Speicher. (SetSpeed): Seek, RWPower (SetASpeed): MakeSpdTbl Function: This routine determines the correct speed value for the track and sets the PWM buffer to generate the desired output value. The value of WAIT must be set to SpdChgTime when the speed is changed; otherwise 0. The TrkSpeedTbl is used for the current drive. Drive activation is not changed, only the PWM buffer in memory.

SetASpeed ist ein alternierender Eingabepunkt, der einfach den PWM-Puffer entsprechend einem Geschwindigkeitscode in D2 setzt.SetASpeed is an alternating input point that simply sets the PWM buffer according to a speed code in D2.

Set SpeedSet speed

BSR.S GetDrvlBSR.S GetDrvl

MOVE.W D6,D2MOVE.W D6, D2

LSR.W #4,D2LSR.W # 4, D2

LSL.W #3,D2LSL.W # 3, D2

ADD.W D1,D2ADD.W D1, D2

MOVE.W TrkSpeedTbl (A1,D2),D2MOVE.W TrkSpeedTbl (A1, D2), D2

ADD.W. OffSpeed(A1,D1), 2ADD.W. OffSpeed (A1, D1), 2

BSL.S 2BSL.S 2

MOVEQ #0,D2MOVEQ # 0, D2

CMP.W #399,D2 BLE.S 3CMP.W # 399, D2 BLE.S 3

jsetze D1.A1jset D1.A1

;Geschwindigkeitsklasse ist gleich gerader Spurnummer ;geteilt durch 16 ;justiere auf Doppel-Langwort -Wort -Index; Speed class is equal to an even lane number ; divided by 16; adjust to double long word index

;addiere laufwerkspeziellen Offset; add drive-specific offset

;erreiche die erforderliche Geschwindigkeit; reach the required speed

;addiere in eine Justierung; add in an adjustment

(überwache max, min) ;gehe nicht unter 0(monitor max, min); do not go below 0

MOVE.W #399,D2 MOVE.W PWMValue,DOMOVE.W # 399, D2 MOVE.W PWMValue, DO

BPL.S 4BPL.S 4

MOVE.W PwrOnTime(A1)D0 ;gehe nicht unter 399 ;sind wir bei dieser Geschwindigkeit?
;wenn die Geschwindigkeit ungültig ist, warte auf power-on
MOVE.W PwrOnTime (A1) D0; don't go below 399; are we at this speed?
; if the speed is invalid, wait for power-on

BRA. SBRA. S. 66th Dodo SUB.WSUB.W D2,D0D2, D0 BEQ.SBEQ.S GetDrvlGetDrvl BPL.SBPL.S 55 NEG.WNEG.W

LSL.W #5,DO ;wenn so, gebe ausLSL.W # 5, DO; if so, output

;positive Geschwindigkeitsdifferenz ; positive speed difference

;multipliziere mit 32, um GeschindigkeitssetζVorgang zu bekommen; multiply by 32 to get speed set process to get

CMP.W SpdChgTime(Ai),DO jminimale Wartezeit für Geschwindig keitswechsel BGT.S 6
MOVE.W SpdChgTime(Ai),D)
CMP.W SpdChgTime (Ai), DO jminimum waiting time for speed change BGT.S 6
MOVE.W SpdChgTime (Ai), D)

;addiere zur laufenden Wartezeit ; add to the current waiting time

ADD.W Wait(Ai),D0ADD.W Wait (Ai), D0

CMP.W PwrOnTime(A1),DOCMP.W PwrOnTime (A1), DO

BLT.S 7BLT.S 7

MOVE.W Pwr0nTime(A1),DOMOVE.W Pwr0nTime (A1), DO

MOVE.W DO,Wait(A1)MOVE.W DO, Wait (A1)

SetASpeed ist ein alternativer Eingabepunkt, der einfach den Geschwindigkeitscode in D2 setztSetASpeed is an alternative input point that simply sets the speed code in D2

SetASpeedSetASpeed

MOVE.W D2,PWMValue MOVEM.L D3-D6/A2,-(SP)MOVE.W D2, PWMValue MOVEM.L D3-D6 / A2, - (SP)

SUB. WSUB. W. #3# 3 99,D299, D2 NEG.WNEG.W D2D2 EXT.LEXT.L D2D2 DIVUDIVU #1#1 0,D20, D2 MOVEQMOVEQ #1#1 1 ,DO1, DO MOVE.BMOVE.B DODO ,D1, D1 MOVE.BMOVE.B DODO ,D3, D3 LSR.BLSR.B #1#1 , DO, DO EOR. BEOR. B. DODO ,D3, D3 LSR.BLSR.B #1#1 , D3, D3 BCCSBCCS 22 BSETBSET #5# 5 , DO, DO DBRADBRA D2D2 , 1, 1

;vermerke die Geschwindigkeit für zukünftigen Bezug ;schütze A2-A7, D3-D7; note the speed for future reference; protect A2-A7, D3-D7

;kehre es um (für sony); reverse it (for sony)

;bringe es auf ... ;Rest im hohen Wort; bring it up ...; rest in high words

;Hauptgeschwindigkeitswert jschütze Bit 0; Main speed value jprotect bit 0

;neues Bit 5 - cy; new bit 5 - cy

SWAPSWAP

D2D2

;Rest bestimmt "Zittern"; Rest determines "tremors"

MOVE.B DitherTbl(D2),D5 ;benötige 10 Bits fürMOVE.B DitherTbl (D2), D5; need 10 bits for

Zitter-TabelleTremor table

ASL #8.D5ASL # 8.D5

MOVE.B Dithertbl+1(D2),D5;nimm 2 Bits von derMOVE.B Dithertbl + 1 (D2), D5; take 2 bits from the

nächstennext

LoadPWMBufLoadPWMBuf

MOVEQ
LEA
MOVEQ
LEA

#36,D3 PWMBuffer,A0# 36, D3 PWMBuffer, A0

MOVE.L PWMBuf2,A2MOVE.L PWMBuf2, A2

MOVE.Q #9,D2MOVE.Q # 9, D2

MOVE.W D5,D4MOVE.W D5, D4

LSL.W #1,D4LSL.W # 1, D4

BCCSBCCS 33 MOVE.BMOVE.B D0,D6D0, D6 BRA. SBRA. S. 44th MOVE.BMOVE.B D1 ,D6D1, D6 MOVE,BMOVE, B D6,(A2)D6, (A2) ADDQADDQ #2, AO# 2, AO ADDQADDQ #2,A2# 2, A2 DBRADBRA D2, 2D2, 2 DBRADBRA D3, 1D3, 1

MOVEM.L (SP)+,D3-D6/A2MOVEM.L (SP) +, D3-D6 / A2

SetSpdExit
DitherTbl
SetSpdExit
DitherTbl

• Byte
.Byte
• byte
.Byte

BRABRA

GetDrv ;große Schleife läuft 37 mal ;fülle PWM-Puffer aufGetDrv; large loop runs 37 times; fill up PWM buffer

(37x10=370 Bytes) ;im Falle eines alternativen Puffers(37x10 = 370 bytes); in the case of an alternative buffer

;innere Schleife läuft mal
;Zitter-Muster
; inner loop runs times
; Tremor pattern

;Übertrag-Bit = 1 bedeutet, verwende höheren Wert; Carry bit = 1 means use a higher value

;verwende höheren Wert ;verwende Hauptwert; use higher value; use main value

;jedes andere Byte ist ein Tonpolster; every other byte is a pad of sound

;beachte Registersicherheit skonvent ionen; observe registry security conventions

;verwendet, um die Geschwindigkeitswerte ausgeglichen zu dithern; used to balance the speed values to dither

$00,$20,$21,$24,$94$ 00, $ 20, $ 21, $ 24, $ 94

$AA,$B5,$B7,$7B,$FF,$40,$00$ AA, $ B5, $ B7, $ 7B, $ FF, $ 40, $ 00

Claims (20)

PATENTANWÄLTE ZENZ & HELBER · D 43OO ESSEN 1 · AM RUHRSTEIN 1 · TEL.: (Ο2Ο1) 4126 , A QO APPLE COMPUTER, INC. PatentansprüchePATENTANWÄLTE ZENZ & HELBER · D 43OO ESSEN 1 · AM RUHRSTEIN 1 · TEL .: (Ο2Ο1) 4126, A QO APPLE COMPUTER, INC. Claims 1. Gerät zur Erzeugung eines analogen Audio-Signals in einer Computeranlage mit einem Mikroprozessor und einem Direktzugriffsspeicher (RAM), die ein Video-Signal für ein rasterabgetastetes Display erzeugt,1. Device for generating an analog audio signal in a computer system with a microprocessor and a random access memory (RAM), which generates a video signal for a raster-scanned display, gekennzeichnet durchmarked by eine Adressiereinrichtung (20, 21) zum direkten Zugreifen auf vorbestimmte Speicherplätze des RAMs (11), wenn das Videosignal in einer horizontalen Austastperiode ist, und zum Ermöglichen des Einschreibens neuer Daten in diese Speicherplätze durch den Mikroprozessor (10), wenn das Video-Signal in einer Austastperiode ist, wobei die Adressiereinrichtung (20, 21) mit dem RAM (11) gekoppelt ist; undan addressing device (20, 21) for direct access to predetermined memory locations of the RAM (11) when the video signal is in a horizontal blanking period, and to enable new data to be written into these memory locations by the microprocessor (10) when the video signal is in a blanking period, the addressing device (20, 21) is coupled to the RAM (11); and eine Wellenform-Generatoreinrichtung (80 ... 88), die durch die Adressiereinrichtung (20, 21) zugegriffen wird, zur Umwandlung von Daten der Speicherplätze in das analoge Audio- -Signal.waveform generating means (80 ... 88) which is accessed by the addressing device (20, 21) to convert data from the memory locations into the analog audio -Signal. 2. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die Wellenform-Generatoreinrichtung (80 ... 88)2. Apparatus according to claim 1, characterized in that the waveform generator device (80 ... 88) einen Zähler (46, 47), in den die Daten der Speicherplätze des RAMs (11) geladen werden, wobei der Zähler (46, 47) nach dem Laden der Daten mit einer vorbestimmten Frequenz zählt; unda counter (46, 47) into which the data of the memory locations of the RAM (11) are loaded, the counter (46, 47) after loading the data, counts at a predetermined frequency; and eine Impulserzeugungseinrichtung aufweist, die mit dem Zähler (46, 47) verbunden ist, um einen Impuls auszulösen, wenn der Zähler (46, 47) geladen ist, und diesen Impuls zu beenden, wenn der Zähler (46, 47) einen vorbestimmten Zählwert erreicht.having a pulse generating device connected to the counter (46, 47) for triggering a pulse, when the counter (46, 47) is loaded, and to terminate this pulse when the counter (46, 47) reaches a predetermined count achieved. 3. Gerät nach Anspruch 2, dadurch gekennzeichnet, daß das Ende des Impulses bei Erreichen des Überlaufs des Zählers (46, 47) vorgesehen ist.3. Apparatus according to claim 2, characterized in that the end of the pulse on reaching the overflow of the counter (46, 47) is provided. 4. Gerät nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß eine Integrationseinrichtung (60) zum Integrieren der Impulse der Impulserzeugungseinrichtung vorgesehen ist.4. Apparatus according to claim 2 or 3, characterized in that an integration device (60) for integrating the pulses the pulse generating device is provided. 5. Gerät nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die horizontale Austastung (blanking) bei einer Freguenz von angenähert 22.000Hz erfolgt.5. Device according to one of claims 1 to 4, characterized in that that the horizontal blanking takes place at a frequency of approximately 22,000 Hz. 6. Gerät nach Anspruch 5, dadurch gekennzeichnet, daß die vertikale Austastung bei einer Frequenz von angenähert 60Hz erfolgt.6. Apparatus according to claim 5, characterized in that the vertical blanking at a frequency of approximately 60Hz he follows. 7. Gerät nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß eine weitere Wellenform-Generatoreinrichtung (112), die von der Adressiereinrichtung (20) zugegriffen wird, zur Umwandlung der Daten der Speicherplätze in ein Geschwindigkeitssteuersignal für ein Plattenlaufwerk, vorgesehen ist.7. Device according to one of claims 1 to 6, characterized in that that a further waveform generator device (112) which is accessed by the addressing device (20), for converting the data of the storage locations into a speed control signal for a disk drive. 8. Gerät nach einem der Ansprüche 1 bis 7, gekennzeichnet durch8. Device according to one of claims 1 to 7, characterized by einen ersten Zähler (22) zur Erzeugung eines die Videosignal-Zeitgabe für das Display darstellenden digitalen Zählwertes ;a first counter (22) for generating the video signal timing for the digital count representing the display; eine erste Adreß-Multiplexeinrichtung (21) zum Anlegen des digitalen Zählwerts des ersten Zählers (22) als Adresse an den RAM (11), wenigstens während eines Abschnitts der horizontalen Austastperiode des Video-Signals, wobei die erste Adressiereinrichtung (21) mit dem Zahler (22) und dem RAM (11) verbunden ist;a first address multiplexing device (21) for applying the digital count of the first counter (22) as an address to the RAM (11), at least during a portion of the horizontal Blanking period of the video signal, wherein the first addressing device (21) is connected to the counter (22) and the RAM (11); eine zweite Adreß-Multiplexeinrichtung (20) zum Anlegen des digitalen Zählwerts des ersten Zählers (2 2) als Adresse an den RAM (11), während Perioden, in denen das Audio-Signal Informationen zur Darstellung auf dem Display liefert und zur Eingabe von Adreßsignalen des Mikroprozessors (10) in den RAM (11) zumindest während Abschnitten der vertikalen Austastperiode; unda second address multiplexer (20) for applying the digital count of the first counter (2 2) as an address to the RAM (11), during periods in which the audio signal Provides information for representation on the display and for entering address signals from the microprocessor (10) into the RAM (11) at least during portions of the vertical blanking period; and eine Wellenform-Generatoreinrichtung, die während der horizontalen Austastperiode durch den ersten Zähler (22) adressiert wird, zur Umwandlung von Daten des RAMs (11) in das analoge Audio-Signal.a waveform generator means which during the horizontal blanking period is addressed by the first counter (22), for converting data from the RAM (11) into the analog audio signal. 9. Gerät nach Anspruch 8, dadurch gekennzeichnet, daß die Wellenform-Generatoreinrichtung9. Apparatus according to claim 8, characterized in that the waveform generator means einen zweiten Zähler (46, 47), in den Daten des RAMs (11) geladen werden, wobei der Zähler nach dem Laden der Daten mit einer vorgegebenen Frequenz zählt; unda second counter (46, 47) into which data from the RAM (11) are loaded, the counter counting at a predetermined frequency after the data has been loaded; and eine Impulserzeugungseinrichtung aufweist, die mit dem -^has a pulse generating device, which with the - ^ zweiten Zähler verbunden ist, zur Auslösung eines Impulses, wenn der zweite Zähler geladen ist und zur Beendigung dieses Impulses, wenn der zweite Zähler einen vorbestimmten Zählwert erreicht.second counter is connected to trigger a pulse when the second counter is loaded and to terminate this Pulse when the second counter reaches a predetermined count. 10. Gerät nach Anspruch 9, dadurch gekennzeichnet, daß der Impuls beendet wird, wenn der zweite Zähler (46, 4 7) seinen Überlauf erreicht.10. Apparatus according to claim 9, characterized in that the Pulse is terminated when the second counter (46, 4 7) reaches its overflow. 11. Gerät nach Anspruch 10, dadurch gekennzeichnet, daß eine Integriereinrichtung (60) zur Integration der Impulse der Impulserzeugungseinrichtung vorgesehen ist.11. Apparatus according to claim 10, characterized in that an integrating device (60) for integrating the pulses of the Pulse generating device is provided. 12. Gerät nach Anspruch 8, dadurch gekennzeichnet, daß eine zusätzliche Wellenform-Generatoreinrichtung, die während der horizontalen Austastperiode durch den ersten Zähler adressiert ' 12. Apparatus according to claim 8, characterized in that an additional waveform generator device which is addressed by the first counter during the horizontal blanking period ' wird, zur Umwandlung von Daten aus dem RAM (11) in ein Geschwindigkeits-Steuersignal für ein Plattenlaufwerk vorgesehen ist.is used to convert data from the RAM (11) into a speed control signal is intended for a disk drive. 13. Verfahren zur Erzeugung eines analogen Audio-Signals in einer Computeranlage, die einen Mikroprozessor und einen Direktzugriffsspeicher (RAM) aufweist und die ein Video-Signal für ein rasterabgetastetes Display liefert, dadurch gekennzeichnet, 13. Method for generating an analog audio signal in a computer system comprising a microprocessor and a random access memory (RAM) and which supplies a video signal for a raster-scanned display, characterized in that daß der RAM während der horizontalen Austastperioden zugegriffen wird, um Audio-Signale darstellende Datensignale zu gewinnen;that the RAM is accessed during the horizontal blanking periods for data signals representing audio signals to win; daß die Datensignale in das Audio-Signal umgewandelt werden undthat the data signals are converted into the audio signal and daß die die Audio-Signale darstellende Datensignale während vertikaler Austastperioden aktualisiert werden,that the data signals representing the audio signals are updated during vertical blanking periods, wobei das Audio-Signal ohne Beeinflussung des Video-Signals entwickelt wird.taking the audio signal without affecting the video signal is being developed. 14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß die das Audio-Signal darstellenden Datensignale von dem Mikroprozessor dadurch erzeugt werden, daß14. The method according to claim 13, characterized in that the data signals representing the audio signal are generated by the microprocessor in that (a) eine vorbestimmte Zahl zu einer gespeicherten Zahl addiert wird,(a) a predetermined number is added to a stored number, (b) die höchstbewerteten Bits der Summe als ein Speicherplatz in einer Nachschlagetabelle verwendet werden,(b) the most significant bits of the sum are used as a location in a look-up table, (c) die Summe gespeichert und als gespeicherte Zahl gemäß Schritt (a) verwendet wird und(c) the sum is stored and used as the stored number according to step (a) and (d) die Datensignale aus der Nachschlagetabelle in den RAM gegeben werden,(d) the data signals from the look-up table are placed in the RAM, wobei die Grundfrequenz der Audio-Frequenz eine Funktion der vorbestimmten Zahl und der harmonische Inhalt des Audio- -Signals eine Funktion der Inhalte der Nachschlagetabelle ist.where the fundamental frequency of the audio frequency is a function the predetermined number and the harmonic content of the audio signal are a function of the contents of the look-up table is. 15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, daß vorbestimmte Zahlen zu η gespeicherten Zahlen addiert werden und die resultierenden η Summen als Speicherplätze in η Nachschlagetabellen verwendet werden, und daß die am höchsten bewerteten Bits der Datensumme aus den η Nachschlagetabellen das das Audio-Signal darstellende Datensignal bilden.15. The method according to claim 14, characterized in that Predefined numbers are added to η stored numbers and the resulting η sums as storage locations in η look-up tables are used, and that the most significant bits of the data sum from the η look-up tables form the data signal representing the audio signal. 16. Gerät zur Erzeugung eines Geschwindigkeitssteuersignals für ein Plattenlaufwerk in einer Computeranlage mit einem Mikroprozessor und einem Direktzugriffsspeicher (RAM), wobei die Computeranlage ein Video-Signal für ein Rasterabtast-Display erzeugt, gekennzeichnet durch16. Apparatus for generating a speed control signal for a disk drive in a computer system with a microprocessor and a random access memory (RAM), wherein the computer system generates a video signal for a raster scan display, characterized by eine Adressiereinrichtung (20, 21) zum direkten Zugreifen auf vorbestinynte Speicherplätze des RAMs (11), wenn das Video-Signal in einer horizontalen Austastperiode ist und zum Ermöglichen des Einschreibens neuer Daten in diese Speicherplätze, wenn sich das Video-Signal in einer Austast-Periode befindet, wobei die Adressiereinrichtung (20, 21) mit dem RAM (11) verbunden ist, undan addressing device (20, 21) for direct access to predetermined memory locations of the RAM (11), if the Video signal is in a horizontal blanking period and to enable new data to be written into these memory locations, when the video signal is in a blanking period is located, the addressing device (20, 21) being connected to the RAM (11), and eine Wellenform-Generatoreinrichtung zum Umsetzen der von der Adressiereinrichtung (20, 21) aus den Speicherplätzen zugegriffenen Daten in das Geschwindigkeitssteuersignal, wodurch das Geschwindigkeitssteuersignal ohne Beeinflussung des oder durch das Video-Signal entwickelbar ist.waveform generator means for converting the data accessed from the memory locations by the addressing device (20, 21) into the speed control signal, whereby the speed control signal can be developed without affecting or by the video signal. 17. Gerät nach Anspruch 16, dadurch gekennzeichnet, daß die Wellenform-Generatoreinrichtung einen Zähler, in den Daten von den Speicherplätzen des RAM (11) ladbar sind, wobei der Zähler nach dem Laden der Daten bei einer vorgegebenen Frequenz zahlt, und eine Impulserzeugungseinrichtung aufweist, die mit dem Zähler gekoppelt ist und einen Impuls auslöst, wenn der Zähler zu zählen beginnt, und den Impuls beendet, wenn der Zähler einen vorgegebenen Zählwert erreicht.17. Apparatus according to claim 16, characterized in that the Waveform generator means a counter into which data can be loaded from the memory locations of the RAM (11), the counter pays after loading the data at a predetermined frequency, and has a pulse generating device, which with is coupled to the counter and triggers a pulse when the counter starts counting and terminates the pulse when the Counter has reached a predetermined count. 18. Gerät nach Anspruch 16 oder 17, dadurch gekennzeichnet, daß eine Integratoreinrichtung (114) zur Integration der Impulse aus der Impulserzeugungseinrichtung (112) vorgesehen ist.18. Apparatus according to claim 16 or 17, characterized in that that an integrator device (114) for integrating the pulses from the pulse generator (112) is provided. 19. Gerät nach einem der Ansprüche 16 bis 18, dadurch gekennzeichnet, daß die Computeranlage so ausgebildet ist, daß sie die Plattenlaufwerk-Geschwindigkeit abtastet und das Steuersignal als Funktion der Geschwindigkeit ändert, um eine dynamische Eichung zu erzielen.19. Device according to one of claims 16 to 18, characterized in that that the computer system is adapted to sense the disk drive speed and the control signal changes as a function of speed in order to achieve a dynamic calibration. 20. Gerät nach einem der Ansprüche 16 bis 19, dadurch gekennzeichnet, daß das Geschwindigkeitssteuersignal als Funktion der auf einer Platte zugriffenen Spur veränderbar ist.20. Device according to one of claims 16 to 19, characterized in that that the speed control signal is variable as a function of the track accessed on a disk.
DE19853501291 1984-01-20 1985-01-16 SOUND PRODUCTION AND DISK SPEED CONTROL UNIT IN A COMPUTER SYSTEM Withdrawn DE3501291A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US57313284A 1984-01-20 1984-01-20

Publications (1)

Publication Number Publication Date
DE3501291A1 true DE3501291A1 (en) 1985-08-01

Family

ID=24290779

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19853501291 Withdrawn DE3501291A1 (en) 1984-01-20 1985-01-16 SOUND PRODUCTION AND DISK SPEED CONTROL UNIT IN A COMPUTER SYSTEM

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) HK77088A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0590966B1 (en) * 1992-09-30 2000-04-19 Hudson Soft Co., Ltd. Sound data processing

Also Published As

Publication number Publication date
FR2558629A1 (en) 1985-07-26
GB8527978D0 (en) 1985-12-18
GB2166895B (en) 1987-10-14
GB2166895A (en) 1986-05-14
HK77088A (en) 1988-09-30
HK76988A (en) 1988-09-30
AU3631584A (en) 1985-07-25
GB8429501D0 (en) 1985-01-03
FR2558629B1 (en) 1990-02-23
GB2153115B (en) 1987-10-21
GB2153115A (en) 1985-08-14
AR240594A1 (en) 1990-05-31
CA1226961A (en) 1987-09-15
AU574743B2 (en) 1988-07-14
JPS60159896A (en) 1985-08-21

Similar Documents

Publication Publication Date Title
DE2932525C2 (en)
DE3420919C2 (en) Machine vision system
DE2907991A1 (en) METHOD AND DEVICE FOR PROCESSING DIGITAL VIDEO SIGNALS
DE2659189B2 (en) Display device
DE3827808A1 (en) DEVICE AND METHOD FOR THE SOLID STORAGE OF EPISODIC SIGNALS
DE1929167A1 (en) Enlargement trays for cathode ray demonstration systems
DE2261141A1 (en) DEVICE FOR GRAPHIC REPRESENTATION
DE2827105B2 (en) Device for continuously changing the size of objects displayed on a raster screen
DE19545776A1 (en) Graduated display of digitally compressed waveforms
DE3517995A1 (en) WINDOW DISPLAY ARRANGEMENT
DE3300834A1 (en) ULTRASONIC DIAGNOSTIC DEVICE
DE2165893A1 (en) HISTORICAL DATA DISPLAY
DE19543377A1 (en) Method and arrangement for displaying images from an image group
EP0006131A1 (en) Method for transmitting recordings containing miscellaneous representations to a display screen, particularly in telephone systems
DE4232704C2 (en) Method and circuit arrangement for the electronic retouching of images
DE3900489C2 (en) Device for generating control signals for a video mixing device
DE2741161A1 (en) DISPLAY SYSTEM
DE3138930A1 (en) METHOD FOR WRITING DATA IN AN IMAGE REPEAT MEMORY OF A VIEWING DEVICE
DE2249140A1 (en) METHOD AND DEVICE FOR REPRESENTATION OF VARIABLE BY MEANS OF A CATHODE BEAM TUBE
DE3501291A1 (en) SOUND PRODUCTION AND DISK SPEED CONTROL UNIT IN A COMPUTER SYSTEM
DE10106394C2 (en) Process for generating documented medical image information
DE69732797T2 (en) METHOD AND DEVICE FOR STORING TONSES IN CYCLIC LOOPS
DE3046972C2 (en) Control circuit for generating dot pattern data
DE1574726C3 (en) Screen writer for drawing images
DE3332284C2 (en)

Legal Events

Date Code Title Description
8141 Disposal/no request for examination