c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re: [ct-bot] Updates

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