Absender: Timo Sandmann
Datum: Di, 30.11.2010 22:38:15
In-reply-to:
<0CC6D8D8009447F2A897067AE737CD18@FrankPC>
References:
<C68B8CC6-CDDF-43E3-B4CB-81AB7EE7FB3D@xxxxxxxxxxxxxxx> <0CC6D8D8009447F2A897067AE737CD18@FrankPC>
Hallo Frank, ich denke, die Änderungen für das Speichermedium betreffen unser uBasic-Verhalten nicht wirklich. Ich hatte den uBasic Code so angepasst (und mit "/** ct-Bot Anpassung */" markiert), dass man eine Funktion registrieren kann, die aufgerufen wird, sobald eine neue Zeile gebraucht wird: http://www.heise.de/ct/projekte/machmit/ctbot/browser/devel/ct-Bot/bot-logic/ubasic_tokenizer.c#L310 Das uBasic-Verhalten lädt dann über http://www.heise.de/ct/projekte/machmit/ctbot/browser/devel/ct-Bot/bot-logic/behaviour_ubasic.c#L84 die entsprechende Programmzeile von der MMC in den uBasic-Programm-Puffer. Die neuen Möglichkeiten PROGMEM und PC-Datei bringen beim ct-Bot ja nichts. Von daher brauchen wir da wohl nichts updaten, zumindest soweit ich das jetzt überschaue. Grüße, Timo Am 30.11.2010 um 20:07 schrieb Frank Menzel: > Hallo Timo, > bin leider noch nicht dazu gekommen, die recht umfangreichen Änderungen auszuprobieren:-( Hoffe dies in der nächsten Zeit nachholen zu können. > Wollte bloß mitteilen, dass der UBasic-Interpreter überarbeitet wurde, hier der Text dazu: > > ...habe gerade eine neue Version des Basic-Interpreters auf > mikrocontroller.net veröffentlicht: > http://www.mikrocontroller.net/svnbrowser/avr-basic/ > > U.a. ist jetzt auch alles drin, um Zugriffsroutinen auf ein beliebiges > Speichermedium für den Basic-Quelltext zu implementieren. Dazu sind die > Dateien tokenizer_access.* entsprechend anzupassen. Im Archiv sind 3 > Beispiele unterschiedlicher Medien zu finden (herkömmliches Array; > Basic-Programm direkt aus PROGMEM lesen; Basic-Programm direkt via > fread()/fseek()/fgetc() aus einer Datei lesen). Die letzten beiden > Methoden kommen dann natürlich ohne das statische Array aus! > > Ich habe die Geschichte so gut es geht in der Dokumentation beschrieben. > > > > Gruß, Frank