============
# CHIP-CAT #
============

Chip-Cat wurde speziell fuer die Programmierung von Smartcards mit passiven
Programmiergeraeten entwickelt. In der vorliegenden Version koennen 
folgende Karten programmiert werden:

Wafercard mit PIC 16F84 und EEPROM 24C16 (Twostone-Wafercard)
AVR-Yupiter-Card mit AT90S2323 und EEPROM 24C16 (Twostone AVR)
AVR-Yupiter-Card mit AT90S2343 und EEPROM 24C16
Funcard mit AT90S8515 und EEPROM 24C64 (Twostone-Funcard)
Jupiter 2 Card mit AT90S8535 und EEPROM 24C64 

Chip-Cat arbeitet mit vielen passiven Programmern zusammen. Voraussetzung
ist allen passiven Programmern, die einen AVR- und PIC-Modus haben. 
Zustzlich mu noch eine 3.5 oder 6.0 Mhz Mouse vorhanden sein. Beides
kann sich in einem Gert befinden oder an getrennten COM-Schnittstellen
angeschlossen sein.

Getestet wurden: AVR-Mouse, Multiprog Quadro, 2001, 2001XL, Card-Maestro.

Natuerlich funktionieren auch eine Reihe anderer Programmer, ich habe sie 
jedoch nicht getestet und kann deshalb auch keine Funktionsgarantie dafuer 
geben.

Mit Chip-Cat geht das Beschreiben des EEPROMs auf den Smartcards sehr
einfach. Einfach Datei fr den Controller [1] und das EEPROM [2] auswhlen,
und programmieren. Welcher Modus beim Programmer eingestellt werden mu,
wird von Chip-Cat angezeigt. Auch ein Auslesen des EEPROM ist mglich,
hierbei wird jedoch der ursprngliche Inhalt des Controllers berschrieben.

Chip-Cat hat fr jeden untersttzten Smartcard-Typ einen passenden Loader
fest eingebaut. Es ist also kein externer Loader notwendig.

Chip-Cat kann fr das EEPROM .hex, .bin und .crd-Dateien einladen. 
Leider gibt es bei .crd-Dateien kein einheitliches Format, so da Chip-Cat
selbstndig versucht, das passende Format zu ermitteln. Sollte das Format 
der Datei nicht eindeutig zu erkennen sein, kann die Datei nicht geladen 
werden. Beschwert Euch beim Ersteller dieser Datei... nicht bei mir.

Ich will hier keine Anleitung fr "Dummies" geben, wie man schnell mal 
eine Karte programmiert. Ich denke, jeder sollte durch experimentieren
selber herausfinden, wie es funktioniert. Nur so kann man aus eigenen 
Fehlern lernen.

Hier nur noch ein paar Tipps zur Konfiguration.
 
Der Schieberegler "Speed" bestimmt das Timing bei der Programmierung von
AVR- und PIC-Controllern. Die beste Einstellung probiert man am besten
aus, indem man mit Verify einen Controller programmiert. Tritt whrend
der Programmierung oder beim Verify ein Fehler auf, mu der Regler weiter
nach rechts geschoben werden.

Der COM-Port fr die Controller-Programmierung (AVR-/PIC-Mode) und EEPROM-
Programmierung (Mouse-Mode) knnen getrennt eingestellt werden, damit auch
zwei verschiedene Programmer an getrennten Ports benutzt werden knnen.

Verify after programming:
Der Inhalt des Controllers wird nacht erfolgter Programmierung berprft.
*!* Beim Programmieren des EEPROMs im Mouse-Modus wird automatisch immer 
ein Verify durchgefhrt, der jedoch Loader-Intern ausgefhrt und nicht
angezeigt wird.

Prompt before write and erase:
Wenn eine Smartcard gelscht oder beschrieben werden soll, erscheint ein
Hinweis.

Enable Warnings:
Eine Warnmeldung erscheint, wenn der Controller-Inhalt durch den Loader
berschrieben werden soll.

Auto file reload on startup and device change:
Die letzen benutzten Dateien werden automatisch eingeladen, wenn 
Chip-Cat gestartet oder der Smartcardtyp gewechselt wird.

Clear all memory before loading:
Der komplette Speicherinhalt wird auf $FF gesetzt, bevor eine neue Datei
eingeladen wird. In der Regel kann diese Option aktiviert bleiben. 
Vor dem Laden von .crd-Dateien kann diese Funktion jedoch ausgeschaltet
werden um zum Beispiel nur einen Teil der EEPROM-Daten durch die .crd-
Datei zu ndern.

Don't write EEPROM if all adresses are $FF:
Wenn der gesamte EEPROM-Speicherbereich leer ist, mu das EEPROM auch 
nicht beschrieben werden. Hierdurch kann zum Beispiel erzwungen werden,
da nur der Controller neu geschrieben wird. 

PS. Das Lschen eines Speicherbereiches erfolgt durch Drcken der rechten
Maustaste. In dem erscheinenden POP-Up-Men kann gewhlt werden, ob der
Speicherbereich auf $FF oder $00 gesetzt werden soll.

Und als letztes... Chip-Cat funktioniert nicht mit Multiprog 2000.
============================================================================
History:

Version 2.3
* Bei der Jupiter 2 Einstellung wurde der falsche Loader auf die Karte
  geschrieben. "Loader doesn't work" sollte jetzt nicht mehr vorkommen.

Version 2.2
* Datenbereich des AT90S8515 und 8535 wurde falsch geschrieben. Hatte
  bei den Controllern das Hi-Adress-Byte vergessen :-(
+ CHIP-CAT sollte nun auch problemlos unter Windows 2000 laufen, bei mir
  funktioniert das jedenfalls einwandfrei. Wie es sich unter WINNT verhlt
  kann ich jedoch nicht sagen.
  
Version 2.1
+ Jupiter 2-Card eingebaut. Bitte um Rckmeldung im Forum, ob es funktioniert,
  da ich keine Karte zum testen habe.
+ Das interne EEPROM bei AVR-Controllern kann auch aus einer getrennten
  Datei geladen werden. Dabei mu die Hexdatei den den gleichen Namen wie
  die Programmdatei und den Extender ".eep" haben.
  Beispiel: 
    Programm TEST.HEX  
    Data     TEST.EEP
# AVR-Init-Routinen modifiziert, sollte jetzt auch mit bereits programmierten
  Controllern besser klarkommen.

Version 2.0
Erste offizielle Version von Chip-Cat.

(+) Funktion hinzugefgt
(-) Funktion entfernt
(#) Funktion gendert
(*) Bug beseitigt
============================================================================
In eigener Sache:

Ich entwickle Programmer und Software, weil mich die Technik interessiert 
und weil ich Spa daran habe, die Programmer immer weiter zu verbessern. 
Ich distanziere mich von jeglicher illegaler Software, die mit meinen 
Programmern in die Smartcards programmiert wird. Ich werde deshalb auch 
nie irgendwelche Routinen in das Bios der Programmer einbauen, die zur 
Manipulation von Copyright-geschtzten Smartcards dienen, wie es bei
einigen Konkurrenzprodukten ueblich ist.

Fragen zu diesem Programm bitte im Online-Forum bei www.powerforen.de 
stellen. Mir fehlt die Zeit alle E-Mails zu beantworten.

* twostone *
============================================================================
