Projekt Hardware Bedienung BASIC (1) BASIC (2) BASIC (3) Interna Beispiele Erweiterungen Bibliotheken Treiber Programme Bezugsquellen: Bausatz Leerplatine |
AVR-ChipBasic2 - Programme
V1.50 (c) 2006-2015 Jörg Wolfram 1 ProgrammübersichtIn der aktuellen Version werden die folgenden Programme mit dem System mitgeliefert:
2 Keyboard KonfigurationMittels dieser Programme ist es möglich, alternative Keyboard-Belegungen zu installieren. Das aktuell eingestellte Layout wird im unteren Bereich des Hauptmenüs angezeigt. Nach dem Start des entsprechenden Programmes ändert sich die Anzeige im Hauptmenü und die neue Tastaturbelegung ist sofort wirksam.2.1 SETKBD -DE-Setzt die Tastaturbelegung auf deutsches Layout. Diese Belegung ist auch nach dem Flashen einer neuen version eingestellt.2.2 SETKBD -US-Setzt die Tastaturbelegung auf US-amerikanisches Layout.3 Der serielle LaderÜber den seriellen Lader ist es möglich, das System in gewissem Maße fernzusteuern. Damit lassen sich auch Anwendungsfälle ohne Bildschirmausgabe realisieren. Das ist zum Beispiel der Fall, wenn "nur" ein LCD angesteuert werden soll. Im Weiteren beschriebene Ausgaben und Tastendrücke beziehen sich auf den Computer, der mit dem ChipBasic2 Sytem über die serielle Systemschnittstellle verbunden ist und auf dem ein Terminalprogramm läuft.Der Lader nimmt innerhalb der Programme eine gewisse Sonderstellung ein. Durch eine spezielle Signatur ("L" als 13.Byte) lässt er sich weder starten noch editieren. Beim Systemstart wird nach einem Lader gesucht und der erste gefundene gestartet. Dies ist unabhängig von einer eingestellten Autostart-Funktion. Es sind sowohl der Programm-Upload (ASCII und X-Modem) als auch die Konfiguration des Systems möglich. Nach dem Start des Systems meldet sich der serielle Lader über die serielle System-Schnittstelle mit folgender Meldung:
Gestartet wird der Loader mittels der Leertaste, dies muß innerhalb von ca. 2 Sekunden erfolgen. Zentraler Punkt im Loader ist das Hauptmenü, zu welchem von fast jeder Stelle mittels Leertaste zurückgekehrt werden kann.
3.1 Show StatusMit der Taste S kann eine Liste der intern gespeicherten Programme angezeigt werden. Nach der Programm-Nummer stehen der Programmname, der Programmtyp und die Markierung für einen aktiven Autostart.Mit der Leertaste (und auch allen anderen Buchstaben-, Ziffern- und Zeichentasten) gelangt man wieder zurück ins Hauptmenü
3.2 Upload (XMODEM)Mit der Taste U wird zum Upload Menü gewechselt.
Der eigentliche Upload beginnt erst nach 10 Sekunden, damit genügend Zeit am Terminalprogramm ist, um auch dort den Upload zu starten. Sind alle Daten übertragen, wird wieder das Upload-Menü angezeigt. Lediglich wenn der Lader überschrieben wurde wird das System neu gestartet. 3.3 Text UploadMit der Taste T wird zum Text-Upload Menü gewechselt. Hiermit können BASIC-Quellprogramme übertragen werden. Diee werden im Anschluß der Übertragung in das Binärformt übersetzt, falls das erste Zeichen des Dateinamens kein Unterstrich _ ist.
Da der Bildspeicher als Textpuffer benutzt wird, erscheint auf dem Bildschirm (falls angeschlossen) des ChipBasic2 Systems ein buntes "Buchstabendurcheinander". Dies ist aber normal. 3.4 AutostartMit der Taste A kann die Autostart-Funktion eingestellt werden. Einstellbar ist Autostart für die Programme 1 bis 7, abgestellt werden kann sie nicht. Die Autostart-Funktion lässt sich nicht auf einen Lader einstellen.
3.5 Config HardwareMit der Taste C lässt sich die Hardware des Zielsystems konfigurieren. Die Einstellungen entsprechen der "normalen" Konfigurationsseite. Mit der Taste 8 werden die getätigten Einstellungen gespeichert und das System neu gestartet, wird das Menü mittels Leertaste verlassen, gehen die getätigten Einstellungen verloren.
3.6 QuitMit der Taste Q wird der Lader beendet und die Autostart-Funktion ausgeführt.
4 Das Kommunikationsprogramm CBTerm miniCBTerm mini ist ein minimales Kommunikationsprogramm, mit dem zwei ChipBasic2 Computer untereinander oder auch mit einem PC kommunizieren können. Es gibt zwei Modi, zusätzlich können auch Programme per XModem Protokoll übertragen werden.4.1 Die Belegung der FunktionstastenIn der untersten Zeile stehen die möglichen Kommandos, die Farben entsprechen den Tasten ESC und F1...F4 und haben folgende Funktionen:
4.1.1 Exit (ESC)Nach einer Abfrage, ob das Programm verlassen werden soll, wird zum Hauptmenü zurückgekehrt.4.1.2 Mode (F1)Mit jedem Tastendruck ändert sich die aktuell ausgewählte Einstellung. Diese wird links oben angezeigt. Bei jedem Wechsel wird das Textfenster gelöscht. Es gibt zwei Modi, normal und dialog. Im Normalmodus werden nur die empfangenen Zeichen angezeigt:4.1.3 Send (F2)Mit dieser Funktionen können Programme mittels des XModen Protokolls gesendet werden. Zunächst erscheint eine Auswahlbox, in der zu sendende Programm gewählt werden kann.4.1.4 Receive (F3)Mit dieser Funktionen können Programme mittels des XModen Protokolls empfangen werden. Zunächst erscheint eine Auswahlbox, in der zu überschreibende Programm gewählt werden kann. Dabei lässt sich das Teminalprogramm selbst nicht überschreiben. Wird dies versucht, wird der Vorgang mit einer Alertbox abgebrochen.4.1.5 Clear (F4)Mit dieser Taste wird das Textfenster gelöscht und der Cursor an den Anfang desselben gesetzt.4.1.6 Übertragene ZeichenEinige Tasten und übertragene Codes haben spezielle Funktionen, die in untenstehender Tabelle aufgeführt sind. Für die Zeilenenden haben die auf der Konfigurationsseite eingestellten Gültigkeit.
5 System Clonen (Mega644/P)Vom Aufbau her ähnelt des Clone Programm der Konfigurationsseite wobei die aktuelle Konfiguration als Voreinstellung genommen wird.5.1 Die Belegung der FunktionstastenDie gerade aktive Funktion ist invertiert dargestellt, die Auswahl erfolgt über die Cursor-Hoch und Cursor-Runter Tasten. In der untersten Zeile stehen die möglichen Kommandos, die Farben entsprechen wieder den Tasten ESC und F1...F4 und haben folgende Funktionen:
5.1.1 Exit (ESC)Nach einer Abfrage, ob das Programm verlassen werden soll, wird zum Hauptmenü zurückgekehrt.5.1.2 Change (F1)Mit jedem Tastendruck ändert sich die aktuell ausgewählte Einstellung.5.1.3 Serielle GeschwindigkeitAn dieser Stelle kann die Geschwindigkeit der seriellen Schnittstelle zwischen 1200 und 2400 Bps umgeschaltet werden. Mit dem BASIC-Befehl BAUD kann die Geschwindigkeit im Programm temporär verstellt werden, nach Ende des Programmes wird wieder auf den hier eingestellten Wert zurückgestellt.5.1.4 I2C-GeschwindigkeitHier kann die Geschwindigkeit der I2C-Schnittstelle zwischen 100 und 400 kHz umgeschaltet werden. Die meisten I2C-Bausteine kommen mit 400kHz zurecht, aus Kompatibilitätsgründen kann auch die langsame Geschwindigkeit genutzt werden.5.1.5 SPI-GeschwindigkeitHier kann die Geschwindigkeit der SPI-Schnittstelle zwischen 156 kHz und 5 MHz umgeschaltet werden.5.1.6 EEPROM AdresseHiermit lässt sich die EEPROM-Adresse für das Daten-EEPROM einstellen (XPOKE/XPEEK).5.1.7 ZeilenendeMit dieser Taste kann die Art des Zeilenendes für die serielle und parallele Schnittstelle festgelegt werden. Möglich sind LF only (Unix/Linux), CR only (Mac) und CR+LF (Windows).5.1.8 Serielles Interface - TypMöchte man z.B. einen anderen RS232 Pegelwandler als die vorhandene Schaltung verwenden, kann dies hier umgeschaltet werden. Simple ist die original-Schaltung, mit Standard funktionieren RX und TX wie bei jedem anderen UART.5.1.9 Serielles Interface - EingangspinDa die ursprüngliche Beschaltung der seriellen Schnittstelle schon den TX1-Pin (PD3) des ATMega644P belegt, gibt es hier die Möglichkeit, den Eingangspin der seriellen System-Schnittstelle zwischen PD1 (notwendig für ATMega644P) und PD3 (Kompatibilitätsmodus) umzuschalten. Die Umschaltung ist für beide Typen möglich, allerdings lässt sich die zweite serielle Schnittstelle des 644P im Kompatibilitätsmodus nicht benutzen.5.1.10 AutostartWenn im Intro-Screen keine Taste gedrückt wird, kann ein Programm automatisch gestartet werden. Der in früheren Versionen vorhandene Autostart-Jumper wird nicht mehr abgefragt und sollte unbedingt offengelassen werden. Wählbar sind die Programme 1...7 sowie eine Dekativierung der Autostart-Funktion.5.1.11 System clonen (F4)Mit dieser Taste wird das Clonen gestartet. Der Target-Mikrocontroller muss auch ein Mega644 sein und einen Quarz oder externen Oszillator angeschlossen haben. Denn neben dem Flash werden auch die Fusebits programmiert. Eventuell vorhandene BASIC-Programme werden natürlich auch mit übertragen. Damit ist es möglich, einen weiteren Computer aufzubauen ohne einen PC zur Verfügung zu haben / zu benutzen.Nach Anwahl der Funktion folgt noch eine Sicherheitsabfrage, danach wird der Kopiervorgang gestartet. Um das System zu clonen ist ein Kabel mit einer speziellen Belegung notwendig, mit welchem dann die SPI/ISP-Schnittstellen beider Systeme verbunden werden.
6 System-BenchmarkMit Benchmark lässt sich die effektive Taktfrequenz in MHz für alle 8 Videomodi bestimmen. Effektive Taktfrequenz bedeutet dabei, bei welcher Taktfrequenz der Mikrocontroller genauso schnell wäre wenn er keine Videoausgabe etc. erledigen muss. Wenn die Anzeige erscheint, kann das Programm mit einem beliebigen Tastendruck beendet werden.7 Der Chip8-InterpreterChip8 ist ein Interpreter, mit dem Chip8 oder S-Chip Programme im Videomode 5 oder im Videomode 7 (nur Drivercode 0xA8) laufen können.7.1 Die Belegung der FunktionstastenIn der untersten Zeile stehen die möglichen Kommandos, die Farben entsprechen wieder den Tasten ESC und F1...F4 und haben folgende Funktionen:
7.1.1 Exit (ESC)Nach einer Abfrage, ob das Programm verlassen werden soll, wird zum Hauptmenü zurückgekehrt.7.1.2 Recv (F1)Es kann ein Chip8-Programm via XMODEM übertragen werden. Das Programm muss allerdings entsprechend aufbereitet werden (s.u.). Beim iram2 Treiber werden die oberen 2K ignoriert.7.1.3 Save (F2)Es kann ein Chip8-Programm auf das DataFlash Modul gespeichert werden. Es können nur leere Speicherplätze oder bestehende Chip8-Programme überschrieben werden. Die Dateiauswahl geschieht über die Fileselektorbox, der Dateiname entspricht dem Programmnamen und der Typ wird automatisch auf CH8 gesetzt.7.1.4 Load (F3)Es kann ein Chip8-Programm vom DataFlash Modul geladen werden. Die Dateiauswahl geschieht dabei über die Fileselektorbox, es können nur CH8 Dateien geladen werden.7.1.5 Run (F4)Das geladene Programm wird gestartet. Mit CTRL-C kann die Programmausführung abgebrochen werden. Wenn sich ein Programm in einer Endlosschleife befindet (z.B. am Spielende) kann es mit der Taste F10 neu gestartet werden.
Da der Chip8-Interpreter wesentlich schneller als das Original ist, kann ein Delay eingestellt werden. Es entspricht der Anzahl der Bildzeilen, die vor jedem Befehl gewartet werden und wird mit dem Programm gespeichert. Sinnvoll sind Werte zwischen 6 und 20. 7.2 "Aufbereitung" von Chip8-ProgrammenDer Chip8-Interpreter braucht die Daten in einem bestimmten Format, und zwar einem 4 KBytes großem Speicherabbild. Zusätzlich sind Delay und die Tastenbelegung hinterlegt.Dazu müssen die Programme aus dem Internet heruntergeladen werden und mittels der Programme im TOOL-Ordner konvertiert werden. 8 Der 8080-EmulatorDer 8080-Emulator befindet sich noch in einem frühen Entwicklungsstadium. Er unterstützt derzeit nur das XRAM64 Modul und kann als Vorlage für eigene Anwendungen dienen.created with latex2web.pl v0.63 © 2006-2013 Joerg Wolfram |