 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 |