TED

Aus C64-Wiki
Zur Navigation springenZur Suche springen
TED-Chip 8360 Revision 2, Produktionsdatum KW40/1984

Die Kurzbezeichnung TED bedeutet "TExt Display Chip" [1] oder auch scherzhaft "Tramiels Text Device".
Der TED 7360/8360 ist ein 48-poliger Chip, der in den Commodore-Computern C16, C116 und Plus/4 eingesetzt wurde.

Er ist nicht nur zuständig für die Grafik und Sound, sondern auch für das Speichermanagement. In Kombination mit dem SPI 6529 übernimmt er auch Tastatur- und Joystickabfragen. Durch diese hohe Funktionsvielfalt ist der TED sozusagen das Herzstück der Commodore-264-Serie‎.

Hinsichtlich Grafikfähigkeiten bieten sich auch komplexere Techniken wie FLI[2] in Varianten FLI, DFLI, Quad FLI bzw. ZOOM4 an.


Technische Daten[Bearbeiten | Quelltext bearbeiten]

Video-Spezifikation[Bearbeiten | Quelltext bearbeiten]

Audio-Spezifikation[Bearbeiten | Quelltext bearbeiten]

  • 2 Kanal Tongenerator
    • Kanal 1: Rechteckgenerator
    • Kanal 2: Rechteck- oder Rauschgenerator (weisses Rauschen)

7360 versus 8360[Bearbeiten | Quelltext bearbeiten]

Der 8360 ist funktional identisch mit dem 7360, jedoch haben sie eine unterschiedliche Herstellungstechnologie. Die meisten Geräte besitzen einen 8360.

  • 7360 HMOS-1
  • 8360 HMOS-2

Anschlussbelegung[Bearbeiten | Quelltext bearbeiten]

Pin Signal Signal-
richtung
Beschreibung Pin Signal Signal-
richtung
Beschreibung
1 A2 E/A Adressbus Bit 2 7360 pinout.png 48 A3 E/A Adressbus Bit 3
2 A1 E/A Adressbus Bit 1 47 A4 E/A Adressbus Bit 4
3 A0 E/A Adressbus Bit 0 46 A5 E/A Adressbus Bit 5
4 VDD E +5 V Gleichspannungsversorgung 45 A6 E/A Adressbus Bit 6
5 CS0 A Chip Select - unteres ROM $8000-$BFFF 44 A7 E/A Adressbus Bit 7
6 CS1 A Chip Select - oberes ROM $C000-$FFFF 43 A8 E/A Adressbus Bit 8
7 R/W E/A Read/Write 42 A9 E/A Adressbus Bit 9
8 IRQ A Interrupt 41 A10 E/A Adressbus Bit 10
9 MUX A Adressmultiplexer 40 A11 E/A Adressbus Bit 11
10 RAS A RAM Zeilenadressimpuls 39 A12 E/A Adressbus Bit 12
11 CAS A RAM Spaltenadressimpuls 38 A13 E/A Adressbus Bit 13
12 Φout A Systemtakt CPU
894,9 kHz (NTSC) ; 886,7 kHz (PAL)
Bei erhöhtem Prozessorbedarf wird die Frequenz verdoppelt.
37 A14 E/A Adressbus Bit 14
13 COLOR A Chrominanz, Video C-Signal, Farbe 36 A15 E/A Adressbus Bit 15
14 Φin E Takteingang
14,31818 MHz (NTSC)
17,734475 MHz (PAL)
35 AEC A Address Enable Control
15 K0 E Tastatur Latch 0 34 BA A Bus Available
16 K1 E Tastatur Latch 1 33 SND A Sound
17 K2 E Tastatur Latch 2 32 DB7 E/A Datenbus Bit 7
18 K3 E Tastatur Latch 3 31 DB6 E/A Datenbus Bit 6
19 K4 E Tastatur Latch 4 30 DB5 E/A Datenbus Bit 5
20 K5 E Tastatur Latch 5 29 DB4 E/A Datenbus Bit 4
21 K6 E Tastatur Latch 6 28 DB3 E/A Datenbus Bit 3
22 K7 E Tastatur Latch 7 27 DB2 E/A Datenbus Bit 2
23 LUM A Luminanz, Video Y-Signal, Helligkeit 26 DB1 E/A Datenbus Bit 1
24 VSS E 0 V Gleichspannungsversorgung 25 DB0 E/A Datenbus Bit 0

Registerbelegung[Bearbeiten | Quelltext bearbeiten]

Die 34 Steuerregister des TEDs liegen im Speicherbereich $FF00-$FF3F (65280-65343).

Adresse
Hex
Adresse
Dez
Register Funktion Bemerkung
$FF00 65280 0 Rückwärtszähler 1 - Low-Byte Schreiben: Startwert setzten
Lesen: aktueller Zählwert
Anmerkung: Der nächste Zählwert nach 0 ist der letzte geschriebene Zählwert.
$FF01 65281 1 Rückwärtszähler 1 - High-Byte
$FF02 65282 2 Rückwärtszähler 2 - Low-Byte Schreiben: Startwert setzten
Lesen: aktueller Zählwert
Anmerkung: Der nächste Zählwert nach 0 ist immer 65535 ($FFFF).
$FF03 65283 3 Rückwärtszähler 2 - High-Byte
$FF04 65284 4 Rückwärtszähler 3 - Low-Byte Schreiben: Startwert setzten
Lesen: aktueller Zählwert
Anmerkung: Der nächste Zählwert nach 0 ist immer 65535 ($FFFF).
$FF05 65285 5 Rückwärtszähler 3 - High-Byte
$FF06 65286 6 Grafiksteuerregister 1

Bit0-2: Y-Scrollposition: 0-7
Bit3: Textzeilenanzahl: 0=24 Zeilen, 1=25 Zeilen
Bit4: Bildschirmanzeige: 0=aus (doppelte Taktfrequenz), 1=ein
Bit5: Bitmap-Modus: 0=aus, 1=ein
Bit6: Extended Color Mode: 0=aus, 1=ein
Bit7: internes Test-Bit (=0)

$FF07 65287 7 Grafiksteuerregister 2

Bit0-2: X-Scrollposition: 0-7
Bit3: Textspaltenanzahl: 0=38 Spalten, 1=40 Spalten
Bit4: Multicolormodus: 0=aus, 1=ein
Bit5: Zähler und Bildschirmanzeige anhalten: 0=normal, 1=anhalten
Bit6: PAL/NTSC: 0=PAL, 1=NTSC
Bit7: Inversmodus: 0=aus, 1=ein

$FF08 65288 8 Tastatur-Latch

Schreiben: Der aktuelle Zustand der Tastaturmatrix (Spalten) wird zwischengespeichert.
Lesen: der zwischengespeicherte Wert der Tastaturmatrix wird eingelesen.
Anmerkung: Das zugehörige Zeilenregister der Tastaturmatrix liegt auf $FD30 (SPI 6529B).

$FF09 65289 9 Interrupt-Statusregister

Bit0: unbenutzt
Bit1: Interrupt durch Rasterzeile ist erfolgt (1) / nicht erfolgt (0)
Bit2: unbenutzt
Bit3: Interrupt durch Rückwärtszähler 1 ist erfolgt (1) / nicht erfolgt (0)
Bit4: Interrupt durch Rückwärtszähler 2 ist erfolgt (1) / nicht erfolgt (0)
Bit5: unbenutzt
Bit6: Interrupt durch Rückwärtszähler 3 ist erfolgt (1) / nicht erfolgt (0)
Bit7: Interrupt ist erfolgt (1) / (0) nicht erfolgt

$FF0A 65290 10 Interrupt-Maskenregister

Bit0: Bit8 vom Rasterzeilenregister (Rasterzeile über 255)
Bit1: Interrupt durch Rasterzeile erlauben (1) / nicht erlauben (0)
Bit2: unbenutzt
Bit3: Interrupt durch Rückwärtszähler 1 erlauben (1) / nicht erlauben (0)
Bit4: Interrupt durch Rückwärtszähler 2 erlauben (1) / nicht erlauben (0)
Bit5: unbenutzt
Bit6: Interrupt durch Rückwärtszähler 3 erlauben (1) / nicht erlauben (0)
Bit7: unbenutzt

$FF0B 65291 11 Rasterzeilen-Interrupt Rasterzeile für Rasterzeilen-Interrupt
$FF0C 65292 12 Hardware-Cursor

Bit0-1: Position des Hardware-Cursors (Bit 0 entspricht Bit 8, Bit 1 entspricht Bit 9) Bit2-7: unbenutzt

$FF0D 65293 13 Hardware-Cursor Position des Hardware-Cursors (Bit 0-7)
$FF0E 65294 14 Frequenz Stimme #1 Bit0-7: Frequenzbits 0-7 aus Stimme #1
$FF0F 65295 15 Frequenz Stimme #2 Bit0-7: Frequenzbits 0-7 aus Stimme #2
$FF10 65296 16 Frequenz Stimme #2 Bit0: Frequenzbit 8 aus Stimme #2
Bit1: Frequenzbit 9 aus Stimme #2
Bit2-7: unbenutzt
$FF11 65297 17 Sound-Steuerregister Bit0-3: Lautstärke, max. Wert=8
Bit4: Stimme #1 ein/aus
Bit5: Stimme #2 ein/aus
Bit6: Stimme #2 Wellenform=Rauschen
Bit7:D/A-Modus
$FF12 65298 18 Allgemeinregister 1

Bit0: Frequenzbit 8 aus Stimme #1
Bit1: Frequenzbit 9 aus Stimme #1
Bit2: Zeichensatzspeicher im RAM (0) oder ROM (1)
Bit3-5: Bitmap Speicherposition. Schrittweite = 8 kByte ($2000)
Bit6-7: unbenutzt

$FF13 65299 19 Allgemeinregister 2

Bit0: Speicherbereich ab $8000 ist ROM (1), ist RAM (0). Dieses Bit kann nur gelesen werden.
Bit1: langsamen Taktmodus erzwingen (1); Taktwechsel möglich 0,885 MHz/1,773 MHz (0)
Bit2-7: Lage des Zeichensatzspeichers; Schrittweite = 1 kByte ($0400)

$FF14 65300 20 Video-RAM

Bit0-2: unbenutzt
Bit3-7: Lage Video-RAM (Farbspeicher/Bildschirmspeicher); Schrittweite = 2kB ($0800)

$FF15 65301 21 Hintergrundfarbe Bit0-3: Farbe 0-15
Bit4-6: Helligkeit
Bit7: unbenutzt
$FF16 65302 22 Farbe 1 Bit0-3: Farbe 0-15
Bit4-6: Helligkeit
Bit7: unbenutzt
$FF17 65303 23 Farbe 2 Bit0-3: Farbe 0-15
Bit4-6: Helligkeit
Bit7: unbenutzt
$FF18 65304 24 Farbe 3 Bit0-3: Farbe 0-15
Bit4-6: Helligkeit
Bit7: unbenutzt
$FF19 65305 25 Rahmenfarbe Bit0-3: Farbe 0-15
Bit4-6: Helligkeit
Bit7: unbenutzt
$FF1A 65306 26 Zeichenposition Bi7 8-9 Bit0-1: Die oberen beiden Bits der Zeichenposition
Bit2-7: unbenutzt
$FF1B 65307 27 Zeichenposition Bit 0-7 Bit0-7: Low-Byte der Zeichenposition
$FF1C 65308 28 Rasterzeile Bit 8 Bit0: Aktuelle Rasterzeile des Elektronenstrahls Bit 8
Bit1-7: unbenutzt
$FF1D 65309 29 Rasterzeile Bit 0-7 Aktuelle Rasterzeile des Elektronenstrahls Bit 0-7
$FF1E 65310 30 Rasterspalte zeigt die aktuelle X-Position (geteilt durch 2) des Rasterstahls
Beispiel: Bei aktueller Rasterspalte 300, zeigt dieses Register 150
$FF1F 65311 31 Vertikaladresse Bit0-2: Rasterposition eines Zeichens
Bit3-6: Blinkzähler
Bit7: unbenutzt
$FF3E 65342 62 ROM einschalten blendet das ROM ab $8000-$FFFF ein (bei Schreibzyklus)
$FF3F 65343 63 RAM einschalten blendet das ROM ab $8000-$FFFF aus (bei Schreibzyklus)

Weblinks[Bearbeiten | Quelltext bearbeiten]

WP-W11.png Wikipedia: MOS_Technology_TED

Quellen[Bearbeiten | Quelltext bearbeiten]