1201

 

Home
Nach oben
Letzte Änderung am: 28.05.00

eMail

 

Firmware 1201 vom 10.11.1999

Inhalt:

Neue Features
Bugfixes
Status
Grundsätzliches
Die neuen EEPROM Adressen und ihre Funktion
Die Tastenmatrix

Neue Features

Es werden nun direkt verschieden Displaygrößen Unterstützt un das bis 4x40!
Die neuen Features sind so implementiert, daß sie nicht direkt in Erscheinung treten und daher ist ein eher problemloses Update möglich.
Neuer Modus, der anstelle von Drehgeber Events einfach Tastendrücke erzeugt.

Bugfixes:

Fehler in der Drehknopfauswertung beseitigt,
Fehler ergab falsche Auswertung des Drehknopfes in Abhängigkeit vom Register Status, da die Operation in falscher Reihenfolge ausgeführt wurden. War in Status ein Bit gesetzt, ergab es falsche Werte für den Drehknopf

Status

Ich habe diese Firmware auf ihre Kompatibilität zu den gängigen Player getestet, und eigendlich nur beim PUMPi Probleme. Der startet nicht. ZPUMP und HardAMP funktionieren. Wenn es Probleme gibt, dann bitte die beiliegenden EXE Files mal ausprobieren.

Zusätzlich habe ich die MP3INIT2 etwas abgeändert, damit diese das System-CFG Byte korrekt für bestehende Player konfiguriert, also ohne die Extras.

Nun gibt es mit PUMPi, wie ich befürchtete doch ein Inkompatibilität. Leider kann ich den Entwickler der des Players in der Newsgroup nicht mehr finden, wie so viele von uns. Daher werde ich mich mal auf die Suche nach ihm machen.

Grundsätzliches:

Die Firmware meldet sich mit Version 11h

Die Änderungen sind so eingebaut, daß alle besonderen Betriebsmodi in einem normalen bislang mit älteren Versionen genutzten ATMEL deaktiviert sind. Alle Bytes im EEPROM des ATMEL sind ab Werk mit FFh gelöscht. Da alle neuen Betriebsarten mit einem Bit = 0 eingeschaltet werden, sind diese also abgeschaltet. Wer also jetzt auf diese Version updated kann davon ausgehen, daß sich sein PUMP zuersteinmal verhält wie vorher.

Sollte sich da jemand nicht so sicher sein, so kann er sich natürlich den Konfigurator herunterladen und ihn ohne jeglichen Parameter aufrufen. Dann sieht er sofort, wie das SystemCFG Byte und die anderen Bytes eingestellt sind.

Die neuen EEPROM Adressen und ihre Funktion

1FCh: SystemCFG
Bit 7 0: 4x40 LCD 1: Standard LCD
Bit 6 not used  
Bit 5 not used  
Bit 4 not used  
Bit 3 not used  
Bit 2 reserviert  
Bit 1 0: Encoder erzeugt Tastendruck 1: Encoder erzeugt Drehevents
Bit 0 0: Matrixbetrieb 4x4 oder 4x3 1: 8-Tastenbetrieb
1FFh: Displayinitialisierung
FFh nur Initialisieren
00h initialisiere LCD nicht
01h Init & Logo 2x16
02h Init & Logo 2x20
03h Init & Logo 4x16
04h Init & Logo 4x20
FEh Init & Logo Auto

Über ein Write Register 1 mit folgenden Bitwerten 01XXXXXD kann bei der Verwendung eines 4x40 LCDs selektiert werden, welche Hälfte des Displays man ansprechen möchte:
D=0 Display 0 aktiv
D=1 Display 1 aktiv

Letzteres läßt vermuten, daß man auch einfach zwei LCDs anschließen kann und diese dann über die beiden E-Leitungen selektiert. Das ist richtig und kann natürlich genutzt werden.

Andererseits kann man darüber auch einen allgemeinen I/O-Port realisieren. Über einen 74HC373 oder 74HC573, den man per E2 Leitung selektiert, kann man dann einen 8_Bit Ausgang erzeugen. Mit etwas Logik drumherum könnte man dann auch noch einen Eingang zur Verfügung stellen, man muß dann mit E2 die Bausteine selektieren und mit R/W zwischen dem EIngang und dem Zwischenspeicher umschalten.

Die Tastenmatrix

Die Tastenmatrix ist wie folgt realisiert:

Bislang wurden 8 Tasten direkt an 8 Portleitungen des PUMP betrieben. Diese wurden nun aufgesplittet und die Ports TA0...3 als Eingänge und die Ports TA4...7 als Ausgänge für eine Zeilen/Spalten Matrix genutzt.

Ist ein 4x40 LCD angeschlossen, so wird dafür TA7 als 2. Select Leitung verwendet. In diesem Fall können also noch 4x3=12 Tasten verwendet werden.

Einige weitere Dinge sind in einer kleinen Textdatei im ZIP der Firmware beschrieben.

1