Projekt Project Hardware Hardware Bedienung Operation BASIC (1) BASIC (1) BASIC (2) BASIC (2) BASIC (3) BASIC (3) Interna Internals Beispiele Examples Erweiterungen Extensions Bibliotheken Libraries Treiber Driver Programme Programs Bezugsquellen: Where to buy: Bausatz Kit Leerplatine Empty board | AVR-ChipBasic2: Ein BASIC-programmierbarer Einchip-Computer mit dem ATMega644 AVR ChipBasic2: A BASIC-programmable single-chip computer with the ATmega644 V1.45 (c) 2006-2012 Jörg Wolfram V1.45 (c) 2006-2012 Jörg Wolfram # 1 Rechtliches 1 Disclaimer Alle Programme unterliegen der GPL (GNU General Public Licence) Version 3 oder höher, jede Nutzung der Software/Informationen nonkonform zur GPL oder ausserhalb des Geltungsbereiches der GPL ist untersagt! All programs are subject to the GPL (GNU General Public License) version 3 or later, any use of the software / information nonconformist to the GPL or outside the scope of the GPL is prohibited! Die Veröffentlichung dieses Projekts erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, auch ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. The publication of this project is done in the hope that it will be useful, but WITHOUT ANY WARRANTY. Without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE Alle im Text genannten Marken sind Eigentum des entsprechenden Inhabers. All in the text above are trademarks of the respective owners. # 2 WICHTIGER HINWEIS 2 IMPORTANT NOTICE Binärprogramme, Bibliotheken und Treiber müssen das aktuelle API verwenden und im Header die neu Flagstruktur beinhalten, andernfalls kann es bis zur Beeinträchtigung des Systems kommen, so dass dieses uU neu geflasht werden muss! Binaries, libraries, and drivers must use the current API and in the header include the newly Flagstruktur, otherwise it may cause harm to the system, so this may need to be flashed again! # 3 Geschichte 3 History Angefangen hat es mit der Idee, ein TV-Gerät zum Testen und Debuggen eines Formelparsers zu nutzen, da so mehrere Werte übersichtlich und gleichzeitig darstellbar waren. It started with the idea to use a TV set to test and debug a Formelparsers, since so several values ​​were clear and displayed simultaneously. Irgendwann im August 2006 kan dann die Idee, einen BASIC-Interpreter mit TV-Ausgabe in den Chip zu integrieren. Sometime in August 2006, then kan the idea of ​​integrating a BASIC interpreter with TV output to the chip. Um das Ganze einfach zu halten, habe ich mich auf einen TINY-BASIC ähnlichen Dialekt beschränkt. To keep things simple, I have confined myself to a TINY BASIC-like dialect. Und so kamen dann nacheinander Farbausgabe, ein Menü, ein integrierter Editor und weitere Funktionen dazu. And so then came successively color output, a menu, a built-in editor and other functions to do so. Anfänglich konnte nur ein Programm im EEPROM-Speicher des ATMega16 Platz finden, beim Mega32 wurde dann schon der Flash benutzt. Initially, only one program could be found in the EEPROM memory of ATmega16 place at Mega32 was then already the flash used. Nach den Versionen für die ATMega16 und ATMega32 Mikrocontroller stellt die Version für den ATMega644 die logische Weiterentwicklung bei gleicher Hardwarebasis dar. Selbst dieses Programm ist noch einem zeitlichen Wandel unterlegen und so kann sich mit späteren Versionen noch das eine oder andere Feature ändern, wobei wenn möglich die Kompatibilität zu bestehenden Programmen gewahrt werden wird. According to the versions of the ATmega16 and ATMega32 microcontroller version provides for the ATmega644, the logical progression for the same hardware base represents Even this program is still inferior to change over time and may change with future versions of the one or the other feature, where possibly compatibility will be maintained to existing programs. # 4 Features 4 Features Als Eingabegerät dient eine normale PS2-Computertastatur, als Ausgabegerät ein Fernsehgerät mit Scart-Eingang (Farbe) oder BAS-Eingang (Graustufen) oder auch verschiedene PAL-/NTSC-taugliche TFT-Displays mit RGB Ansteuerung. As an input device is a standard PS2 keyboard, as the output device a TV with SCART input (color) or composite video input (grayscale) or various PAL-/NTSC-taugliche TFT displays with RGB control. ## 4.1 Hardware 4.1 Hardware 30x23 Zeichen mit maximal 16 Vorder- und Hintergrundfarben und Pseudografik im Standardmodus 30x23 characters with a maximum of 16 front and background colors and pseudo graphics in standard mode PAL/NTSC und Synchronsignale über Jumper einstellbar PAL / NTSC, and sync signals via jumper 8 Videomodi, davon 4 mit Vollgrafik, 2 mit benutzerdefinierten Zeichen und ein User-Modus 8 Modes, 4 with full graphics, 2 with custom characters and a user-mode PS2-Tastatur zur Eingabe, ladbares Tastaturlayout PS2 keyboard for input, loadable keyboard layout 1-Kanalige Audioausgabe (Noten in 2 Klangfarben, Rauschen) mit Hüllkurve und Lautstärkeeinstellung 1-channel audio output (scores in 2 tones, noise) with envelope and volume setting I2C-Anschluss für optionales Daten-EEPROM, bis zu 8 LM75 Temperatursensoren oder andere I2C Devices I2C connector for optional data EEPROM, up to 8 LM75 temperature sensors or other I2C devices Serielle RS232-Schnittstelle mit 1200/2400 Baud und Ladungspumpe RS232 serial interface with 1200/2400 baud and charge pump Zweite serielle Schnittstelle des ATMega644P nutzbar Second serial port available ATmega644P Parallele Druckerschnittstelle, auch als I/O und Analogeingänge nutzbar Parallel printer interface, can be used as I / O and analog inputs Am Parallelport können Speichererweiterungen angeschlossen werden The parallel port can be connected Memory ## 4.2 BASIC BASIC 4.2 Tiny-Basic-Programmiersprache mit Erweiterungen Tiny Basic programming language with extensions Eigene Fehlerbehandlung mit ONERR, periodischer Unterprogrammaufruf mit ONSYNC... Own error handling with ONERR, periodic subroutine call with ONSYNC ... 95 Programmzeilen mit maximal 32 nutzbaren Zeichen, Fullscreen-Editor, 8 Programme im internen Flash 95 lines of code with a maximum of 32 usable characters, fullscreen editor, 8 programs in the internal flash Sprites im Textmodus, Anzahl ist nur duch Array limitiert Sprites in text mode number is limited only duch array Schneller Bitblock-Transfer im Grafikmodus Fast bit block transfer in graphics mode Einfacher, im Hintergrund laufender Sequenzer Easier running in the background sequencer Up/Download von Programmen über die serielle Schnittstelle Up / downloading programs via the serial interface Listingdruck über die Druckerschnittstelle Listing pressure on the printer interface Tastenkombinationen für Abbruch, Neustart, Screenshot Keyboard shortcuts for abort, restart, Screenshot Monitor mit Variablen- und Stack- und Array-Anzeige, Einzelschrittbetrieb Monitor variables and stack and array indicator, single-step mode Universelle I2C-Ansteuerung Universal I2C control GOSUB mit Parameterübergabe, RETURN mit Rückgabewert GOSUB with parameter passing, RETURN to return value Programmübergreifender Aufruf von Unterprogrammen möglich Cross-program calling subroutines possible Zusätzliche BASIC-Befehle einbindbar Additional BASIC commands in integration ## 4.3 SYSTEM 4.3 SYSTEM Eigenes Dateisystem auf ATMEL Dataflash Own file system on ATMEL DataFlash Lader-Programm für Fernsteuerung über die serielle Schnittstelle Loader program for remote control via the serial interface X-Modem Dateitransfer für Binärprogramme X-Modem file transfer for binaries Automatischer Start des Programmes nach Einschalten (über Tastendruck deaktivierbar), Programm wählbar Automatic start of the program after switching (deactivated by pressing a button), program selectable Umfangreiches API für die Entwicklung von Binärprogrammen und -bibliotheken Extensive API for the development of binaries and libraries Zusätzliche Videotreiber einbindbar Additional video driver in integration # 5 Hard- und Softwarekonzept 5 hardware and software concept Kernstück des Ganzen ist ein ATmega644, die restliche Hardware besteht im Wesentlichen aus passiven Bauelementen und Steckverbindern. Core of it all is an ATmega644, the rest of the hardware basically consists of passive components and connectors. Timer 1 ist für das Videotiming zuständig. Timer 1 is responsible for the video timing. Kanal A arbeitet als PWM und erzeugt den Zeilen-Synchronimpuls. Channel A operates as PWM, and generates the line synchronizing pulse. Im CSYNC-Mode wird während des vertikalen Synchronimpulses die PWM so umkonfiguriert, dass der Ausgang invertiert wird. CSYNC in mode is during the vertical sync pulse, the PWM reconfigured so that the output is inverted. Kanal B von Timer 1 erzeugt den (Horizontal-) Videointerrupt. Channel B of timer 1 generates the (horizontal) Videointerrupt. Dieser enthält eine Synchronisation auf den Timer, dadurch erzeugen auch EEPROM-Lesezugriffe mit 5 Takten CPU-Stop keine Bildstörungen. This includes a synchronization to the timer, thereby generating even EEPROM read requests with 5 clocks CPU stop no image distortion. Timer 2 erzeugt PWM mit dem Audiosignal. Timer 2 PWM generated by the audio signal. Dieses wird entweder mit dem (Pseudo-)Zufallsgenerator oder per DDS mit Wavetable und Hüllkurve erzeugt. It is generated with either the (pseudo-) random number generator or by DDS with wavetable and envelope. Entgegen den meisten anderen Lösungen ist die PS2-Tastatur and den USART des ATMega angeschlossen. Unlike most other solutions the PS2 keyboard and the USART of the ATMega is connected. Eine Nutzung externer Interrupts verbietet sich schon wegen des Videotimings, man kann zwar das Clock-Signal während der Bilddarstellung auf LOW ziehen und damit die Tastatur zum Warten verdonnern, aber nicht jede Tastatur schafft es, ein Datenpaket während der Austastlücke zu senden und bei NTSC klappt das Ganze dann aber gar nicht mehr, weil dort die Austastlücke noch kürzer ist. The use of external interrupts alone rule because of the video timings, you can indeed pull the clock signal during imaging to LOW and thus condemn the keyboard to wait, but not create any keyboard is to send a data packet during the blanking interval and works for NTSC the whole thing but no more, because there the blanking interval is even shorter. Die zweite Möglichkeit wäre die SPI-Schnittstelle, aber die ist dann auch belegt. The second is the SPI interface, but is then assigned. Und gerade während der Entwicklungsphase ist es lästig, wenn man ständig die Tastatur abziehen und anstecken muss. And especially during the development phase, it is annoying if you constantly remove the keyboard and plug it needs. Die Nutzung des USART hat hingegen den grossen Vorteil, dass alles automatisch geht und man nur noch das fertige Zeichen abholen muss. The use of the USART, however, has the great advantage that it is all automatic and you only have to pick up the finished character. Wobei sich natürlich dann die Frage stellt "und was ist mit seriell?" Which of course then the question "and what about serial?" Mit reduzierter Bitrate (1200/2400Bps) lässt sich die serielle Schnittstelle im Horizontal-Interrupt mit zwei Portpins realisieren. With a reduced bit rate (1200/2400Bps) enables the serial interface in the horizontal interrupt realize two port pins. Timerausgang von Timer 0 treibt eine Ladungspumpe, die ca. -4V für die serielle Schnittstelle bereitstellt, dadurch sind keine Spezialbausteine (MAX232 etc.) notwendig. Timer output of Timer 0 drives a charge pump that provides ca-4V for the serial interface, thus avoiding any special blocks (MAX232, etc.) required. Um Strom zu sparen, lässt sich diese Funktion auch per Software abschalten, ebenso kann auch auf "Standardpegel" umgeschaltet werden, um zB USB zu RX/TX Wandler nutzen zu können. To save power, can also disable this feature via software, also can be switched to "standard level" to use as USB RX / TX converter can. Mit der Version 1.27 hat auch Unterstützung für die zweite serielle Schnittstelle des ATMega644P Einzug gehalten. With Version 1.27 includes support for the second serial port has kept the ATmega644P collection. Hier sind standardmäßig 8 verschiedene Bitraten einstellbar. Here default 8 different bit rates are adjustable. Die parallele Schnittstelle wird über Port A realisiert (+2 Steuerleitungen aus Port B). The parallel interface is implemented via Port A (+2 control lines from Port B). Wenn keine Druckerschnittstelle benötigt wird, können die 8 Pins als Ein-/ oder Ausgang konfiguriert oder auch als Analogeingang genutzt werden. If no printer interface is needed, the 8 pins are configured as input / or output or used as an analog input. Desweiteren können auch Treiberprogramme die parallele Schnittstelle nutzen, um zB LCDs anzusteuern. Furthermore also driver programs use the parallel interface, for example to drive LCDs. In diesen Fällen sind die "normalen" Ausgabefunktionen der parallelen Schnittstelle deaktiviert. In these cases, the "normal" output functions of the parallel port are disabled. ## 5.1 Systemvoraussetzung Host für das Assemblieren 5.1 System Host prerequisite for assembling Da fast alle I/O-Funktionen von verschiedenen Bibliotheken bereitgestellt werden, sind zum Assemblieren avr_libmake (läuft nur unter Linux und organisiert die Makros für die Bibliotheksfunktionen, es geht aber auch ohne) und der AVRA-Assembler notwendig. Since almost all the I / O functions from different libraries are provided, are to assemble avr_libmake (only works under Linux and organized the macros for the library functions, but it also works without) and the necessary AVRA assembler. Das Hex-File sollte sich auch unter anderen Betriebssystemen brennen lassen. The hex file should be able to burn on other operating systems. ## 5.2 Programm-Typen 5.2 Program Types Neben den BASIC-Programmen gibt es noch weitere Typen. In addition to the BASIC programs, there are other types. Da sind zum einen native AVR-Programme, die im Binärformat vorliegen. As to be a native AVR programs that exist in binary format. Erkannt werden sie daran, dass als 13.Byte ein "N" für native steht. They are detected because as 13.Byte an "N" stands for native. Dieses "Flag" lässt sich sinnvollerweise auch nicht ändern. This "flag" can be meaningfully change it. Die zweite Eigenheit haben Programme, deren Name mit einem Unterstrich beginnt. The second peculiarity have programs whose name starts with an underscore. Diese werden nämlich beim Speichern nicht tokenisiert und lassen sich deswegen auch nicht starten. These are namely not tokenized when saving and therefore can not start. Hintergrund dafür ist, eine Möglichkeit zu haben, reine Textdateien zu erzeugen. Background This is a way to have to create plain text files. Allerdings bestehen diese immer aus 95 Zeilen a 32 Zeichen, immer mit Leerzeichen aufgefüllt. However, these are always composed of 95 lines of 32 characters, always filled with blanks. Bei den Binärprogrammen wird dann noch zwischen einfachen Programmen, Bibliotheken und Treibern unterschieden. When the binaries will be made a distinction between simple programs, libraries and drivers. Die letzte Gruppe bildet der serielle Loader, der als 13.Byte ein "L" hat. The last group is the serial loader that has 13.Byte as an "L". # 6 Changelog 6 Changelog 3.1.2013 Version 1.45 01/03/2013 Version 1.45 Bugfix: Multiselect-Erweiterung konnte DataFlash-Dateisysteme beschädigen Bugfix: Multiselect expansion could damage data flash file systems Bugfix: Source-Dateien waren teilweise unvollständig, Treiber hatten falsche Version Bugfix: source files were partially incomplete, driver had the wrong version Umbau des Verzeichnisbaumes, /usr/local/include/chipbasic2 ist nicht mehr erforderlich Conversion of the directory tree / usr/local/include/chipbasic2 is no longer necessary 13.11.2012 Version 1.44 13/11/2012 Version 1.44 Multiselect-Erweiterung und anderes Verhalten von SPISEL MultiSelect expansion and other behavior of SPISEL 27.4.2012 Version 1.43 27/04/2012 Version 1.43 Bugfix: DIR brachte immer einen Syntax Error Bugfix: DIR always brought a parser error Bugfix: Parallelport wird beim Neustart jetzt auf Eingang mit PullUp gesetzt Bugfix: parallel port when you restart now set to input with pullup 7.3.2012 Version 1.42 03/07/2012 Version 1.42 Bugfix: Binärprogramme und Bibliotheken führten zum Absturz (falsche API version) Bugfix: binaries and libraries led to the downfall (wrong API version) Bugfix: Videomode 1 funktionierte nicht mehr wegen Fehler in Sprungtabelle Fix: Video Mode 1 no longer worked because of errors in jump table Bugfix: Der Startpunkt bei PIE wurde an den Ursprung links oben gesetzt Bugfix: The starting point in PIE was set at the top left of the origin Bugfix: Das Testprogramm für den Tilemode war fehlerhaft (falsche Bibliotheksaufrufe) Bugfix: The test program for the TILEMODE was incorrect (wrong library views) TOOLS Ordner in Binary-Paket hinzugefügt TOOLS folder added in binary package Ein paar Fehler in der Dokumentation beseitigt A few errors in the documentation eliminated 8.10.2011 Version 1.39 08/10/2011 Version 1.39 Bootloader aus Speicherplatzgründen entfernt Bootloader removed from storage space, Trennung von Video- und Memory-Treibern Separation of video and memory drivers Änderung des Bibliotheks- und Treiber-Konzeptes (2. Flagbyte) Change the library and driver concept (2nd flag byte) Treiber können jetzt auf beliebigen Programmplätzen liegen Drivers can now lie on the program position Es können externe Dateisystemtreiber eingebunden werden It can be integrated external file system driver Überarbeitete LCD-Treiber unterstützen jetzt zusätzliche Tasten Revised LCD drivers now support additional keys Neue Bibliotheken und Programme (8080-Emulator) New libraries and programs (8080 emulator) Neues Beispiel-Programm: Komponententester New example program: Component Tester Erweitertes API Extended API Bugfix: Bei gelöschtem EEPROM wird jetzt beim ersten Start eine Standardkonfiguration geschrieben Bugfix: When slaked EEPROM now written on the first start, a standard configuration Bugfix: Loader prüft jetzt die Systemversion vor Start Bugfix: Loader checks your version of the system before starting Bugfix: Tokenizer konnte bei langen Zeilen "abstürzen" Bugfix: tokenizer could "crash" of long lines 15.1.2011 Version 1.36 01/15/2011 Version 1.36 Suchfunktion im Editor Search function in the editor Die Shift-Befehle teilweise durch Shift-Operatoren (<<, >>) ersetzt Shift commands partially replaced by shift operators (<<, >>) XOR-Operator ^ XOR operator ^ Unterstützung von bis zu 64 KBytes externen Speicher am Parallelport Support of up to 64 Kbytes external memory on the parallel port Änderung des Bibliotheks- und Treiber-Konzeptes (Kodierung über Flagbyte) Change the library and driver concept (flag byte coding on) bei den PWM-Treibern lassen sich BUSY und STROBE als I/O nutzen wherein the PWM drivers can use BUSY and STROBE as I / O neue Videotreiber new video driver Monitor aus allen Videomodi heraus aufrufbar, allerdings mit eingeschränkter Funktionalität Monitor called out from all video modes, but with limited functionality Erweiterbarkeit des BASIC um zusätzliche Befehle Extensibility of the BASIC commands to additional erweitertes ADC-Setting über den Parameterbereich 0x100 ...0x1ff extended ADC setting the parameter range 0x100 0x1ff ... erweitertes Bitraten-Setting für die zweite serielle Schnittstelle extended bit rate setting for the second serial interface BIN -Programme werden jetzt als AVR angezeigt BIN programs are now shown as AVR Korrekturen und Erweiterungen in der Dokumentation Corrections and additions to the documentation Beispiel-Programme überarbeitet Example programs revised erweitertes API extended API Neue Binärprogramme (Chip8-Emulator) New binaries (Chip8 emulator) Bugfix: Alertbox beim Programm-Löschen überdeckte Programmsymbole Bugfix: Alertbox covered with program delete program icons Bugfix: Baudraten für zweite serielle Schnittstelle waren um Faktor 2 zu niedrig Bugfix: baud rates for other interface were a factor of 2 too low Bugfix: teilweise wurde bei Ausgabeumlenkung die Kanalnummer statt Variablenwert ausgegeben Bugfix: some was spent on the channel number instead of output redirection variable value 11.4.2010 Version 1.28 11/04/2010 Version 1.28 Bugfix: SPI() und Clone funktionierten nicht richtig wegen Problemen mit Include-Datei Fix: (SPI) and clone were not working because of problems with include file Bugfix: Dokumentation enthielt ein paar falsche Bilder Bugfix: documentation contained some incorrect images 7.4.2010 Version 1.27 07/04/2010 Version 1.27 Hardware-Änderung: zusätzlich 5V auf der Parallelschnittstelle Hardware changes: in addition to the 5V parallel interface Umgestaltung des Hauptmenüs Remodeling of the main menu zusätzliche Tastenkombinationen im Editor additional shortcuts in the editor Cursorpositionen werden beim Verlassen des Editors im EEPROM gespeichert Cursor positions are saved when you exit the editor in EEPROM nur noch eine Tastaturlayouttabelle, dafür änderbar only a keymap, but changed kleine Änderungen im Zeichensatz small changes in the character set Neue Shift-Befehle (LSHIFT,ASHIFT) New shift commands (LSHIFT, ASHIFT) Baudrateneinstellung (BAUD) Baud Rate (BAUD) Bildschirm-Einstellung (WRAP) Screen setting (WRAP) Unterstützung der zweiten seriellen Schnittstelle des ATMega644P (EBAUD, ESPUT, ESGET) Support the second serial port of the ATmega644P (EBAUD, ESPUT, ESGET) CALL kann durch CA abgekürzt werden CALL can be abbreviated by CA CALL alternativ mit Zeichenkette als 2.Parameter CALL alternatively with string as 2.Parameter LFIND zum finden von Binärbibliotheken Lfind of binary libraries to find Binärprogramme mit eigenen Symbolen Binaries with custom icons API erweitert (Auslesen des Keyboard-Status, Textparser, Treiberfunktionen) Extended API (reading the keyboard status, text parser, driver functions) Videomode 7 entfernt, eigener Treiber kann auf Programmplatz 8 geladen werden Video Mode 7 away, its driver can be charged to channel 8 Laderprogramm für Remote-Steuerung, unabhängig vom Autostart Loader program for remote control regardless of the startup Bugfix: In manchen Fällen wurde bei Fehlern die falsche Zeile angezeigt Bug fix: In some cases, errors in the wrong line was displayed Bugfix: ACOPY kann sich in einer Endlosschleife festhängen Bugfix: ACOPY can get stuck in an infinite loop Bugfix: Bootloader funktionierte nicht in der seriellen Einstellung "standard" Bugfix: Bootloader not working in the serial setting "standard" 5.9.2009 Version 1.10 09/05/2009 Version 1.10 Aus GOSUB mit zwei Paramtern wird CALL, wegen flexibler Paramterlisten GOSUB from two Paramtern is CALL, because flexible Paramterlisten GOSUB und CALL können bis zu 5 Parameter haben GOSUB and CALL can have up to 5 parameters RETURN kann einen Rückgabewert enthalten RETURN can contain a return value API überarbeitet und erweitert API revised and expanded Bugfix: Tilde-Zeichen für US-Tastaturen hat gefehlt Bugfix: tilde for U.S. keyboards lacked 27.7.2009 Version 1.03 27/07/2009 Version 1.03 zwei weitere API-Funktionen zum kopieren von Zeichen in den User-Zeichensatz hinzugefügt Two other API functions to add copy of characters in the user font API-Funktionen zur Nutzung von BASIC-Routinen API functions to use BASIC routines Bugfix in der api_dataptr Funktion Bugfix at api_dataptr function Programme können auch untokenisiert gespeichert werden (Programmname beginnt mit Unterstrich) Programs can also be saved untokenisiert (program name starts with an underscore) 16.7.2009 Version 1.02 07/16/2009 Version 1.02 neue Config-Page new Config Page neuer Befehl SCALE um Messwerte umzurechnen new SCALE command to convert measurements API überarbeitet und erweitert, Dokumentation ist jetzt komplett Revised and extended API, documentation is now complete PLAY hat jetzt vierten Parameter um Anzahl der Sequenzerzyklen zu steuern PLAY has control now fourth parameter to the number of Sequenzerzyklen 2 Bugfixes im Bereich, der nicht durch den Bootlaoder aktualisiert werden kann 2 bug fixes in the area that can not be updated by the Bootlaoder Bugfix: GOSUB in FOR/NEXT Schleife erzeugte Fehlermeldung beim RETURN Bugfix: GOSUB generated in FOR / NEXT loop error when RETURN 26.6.2009 Version 1.00 06/26/2009 Version 1.00 3 neue Videomodi, Modus 1 wurde erweitert 3 new video modes, Mode 1 has been extended Umbaumöglichkeit auf 16 anstelle 8 Farben Convertible to 16 instead of 8 colors Mehr Möglichkeiten in der Sound-Ausgabe More possibilities in sound output ONSYNC zum zeitgesteuerten Aufrufen von Unterprogrammen ONSYNC for timed calls to subroutines Support für native AVR-Anwendungen, API ist implemtiert Support for native AVR applications, API's historical implementation Zeichenfunktionen für Kreis- und Ellipsensegmente Drawing functions for circular and elliptical segments Ein paar neue Funktionen A few new features Zeilenenden (seriell senden) sind konfigurierbar Line endings (serial send) are configurable Serielle Schnittstelle ist umschaltbar auf "Standardpegel" Serial port can be switched to "default level" Autostartfunktion jetzt konfigurierbar, Autorun-Jumper entfällt Deleted autorun now configurable Autorun jumper freie Stellen im Zeichensatz aufgefüllt vacancies filled in the character set Tastaturtest beim Einschalten Keyboard test on power Überarbeitete Dokumentation Revised documentation REPEAT-UNTIL Schleifen REPEAT-UNTIL loops 8.1.2009 Version 0.89 01/08/2009 Version 0.89 Jede Menge Bugfixes (Vielen Dank an Wolfgang Günther fürs Testen) Lots of bug fixes (Thanks to Wolfgang Günther for testing) Array-Ansicht im Debugger Array view in the debugger Clone-Funktion sollte auch mit Mega644P funktionieren Clone function should also work with Mega644P Problembeseitigung im Zusammenspiel mit Tastaturen (US Layout) Problem solving in conjunction with keyboards (U.S. layout) Bugfix "IO DISABLED" beim Zugriff auf IO-Port Bug fix "IO DISABLED" when accessing IO port Konvertierungsprogramm für im Textmode empfangene Screenshots Conversion utility for text mode received Screenshots 21.12.2008 Version 0.87 12/21/2008 Version 0.87 Bugfixes, Redundanzen entfernt Bugfixes, removed redundancies verbesserter Tokenizer, höhere Geschwindigkeit zur Laufzeit improved tokenizer, higher speed at runtime Daten-EEPROM Adresse kann eingestellt werden Data EEPROM address may be set Seriell 1200 und 2400Bps einstellbar Serial 1200 and 2400 bps adjustable Konfiguration von I2C und SPI-Geschwindigkeit Configuration of I2C and SPI speed Datenübertragung auf Binärebene via X-Modem At the binary data transfer via X-modem Bootloader für kommende Updates Bootloader for future updates Native (Binär) Programme sind vorbereitet, API fehlt noch Native (binary) programs are prepared, API is still missing MENU-Funktion für eigene Menüs am unteren Bildschirmrand MENU function for custom menus at the bottom Array-Schreibzugriffe sind nur noch über DATA möglich Array writes are only possible via DATA EMIT und YEMIT sind entfallen (kann über PRINT realisiert werden) EMIT and YEMIT are now obsolete (can be realized via PRINT) RREAD/RWRITE für direkten Zugriff auf das Dataflash RREAD / RWRITE for direct access to the DataFlash überarbeitete Dokumentation revised documentation Neuer Videomoddus (128x64 monochrom) kompatibel zum AVR Handheld Computer New Videomoddus (128x64 monochrome) compatible with the AVR Handheld Computers Zweiter Font (6x4) in den Grafikmodi Second font (6x4) in the Modes 28.04.2008 Bugfix-Version (0.75) 28.04.2008 bugfix version (0.75) Überarbeitung der Dateistruktur im Projektverzeichnis Revision of the file in the project directory structure ein paar Anpassungen an den AVRASM32 a few adjustments to the AVRASM32 bei 16Bit-Schreibzugriffen auf das Array wurde 2x das LOW-Byte geschrieben in 16-bit writes to the array 2x was the LOW byte written Dataflash-Delete zeigte keine Auswahlbox mehr an DataFlash Delete indicated no selection more EEPROM-Schreibzugriffe schlugen manchmal fehl EEPROM write requests failed sometimes Palette wurde teilweise falsch gesetzt Range was set partly wrong RND(n) erzeugte nur Zufallszahlen zwischen 0 und n/2 RND (n) generated only random numbers between 0 and n / 2 geändertes Videotiming, dadurch ruhigeres Bild modified signal timing, thus smoother image Intro-Screen Intro Screen Statt LPIX und LCHAR gibt es jetzt SCROLL im Textmodus Instead LPIX LCHAR and there are now SCROLL in text mode Zugriff auf die SPI-Schnittstelle auch vom BASIC aus Access to the SPI interface and the BASIC from überarbeitete Dokumentation revised documentation Ein paar neue Beispielprogramme A few new sample programs 16.02.2008 Dritte öffentliche Mega644-Version (0.72) 16.02.2008 Third public Mega644 version (0.72) ein paar Bugfixes some bugfixes Clear und Copy für Programme Clear and copy for programs SIN() und COS() arbeiten jetzt nur noch mit ganzen Graden als Argumente SIN () and COS () now work only with whole degrees as arguments überarbeitete Doku und Webseite revised documentation and website Ein paar Beispielprogramme A few sample programs 31.01.2008 Zweite öffentliche Mega644-Version (0.69) 31.01.2008 Second public Mega644 version (0.69) ein paar Bugfixes some bugfixes Neue Sprite-Routinen New Sprite routines im Hintergrund arbeitender Noten-Sequenzer Background working notes sequencer 14.01.2008 Erste öffentliche Mega644-Version (0.65) 14.01.2008 First public Mega644 version (0.65) ein paar Funktionen sind noch nicht vollständig getestet some features are not yet fully tested Beispielprogramme fehlen noch Example programs are still missing created with latex2web.pl v0.62 © 2006-2011 Joerg Wolfram Created with latex2web.pl v0.62 © 2006-2011 Joerg tungsten

Πρωτότυπο κείμενο στα Γερμανικά
Projekt
Προτείνετε μια καλύτερη μετάφραση