unwiredben

I was thinking earlier today about making a small BASIC interpreter for the Arduino. There's plenty of ROM space on a 328 to make something comparable to the old Microsoft BASIC that ran on the Altairs.

RAM may be more of an issue. Traditionally, the old micros would keep the program in a slightly compressed form in RAM and run from there. I'd could see an Arduino BASIC starting with that approach, but it would be really interesting to try to actually store the program in the ATMega's Flash memory. Alas, you can only write to Flash a page at a time, so maybe a byte-writable SPI Flash would be a better medium to modify. You could write line-numbered statements out to Flash in a log-fashion, with an in-RAM line number table pointing to the data. At startup, you'd just read lines, altering the table until you get to the end of the log. The "NEW" command would just reset the log and erase the flash, and you could garbage collect by LISTing the program to the terminal, doing a NEW, then resending the program.

The nice thing about a BASIC on the Arduino would be the immediate feedback. It could have extended commands for the various reads and writes.

unwiredben

That's OK, but I think the real advantage of BASIC on the device is that you can run commands directly from the terminal. You can play around with a few things without even going through the process of making a sketch and downloading. Given that constraint, maybe only storing statements in EEPROM or RAM is OK... once you've scratched your itch, then you can do a proper sketch.

Then there's "Breakfast" and it's associated EggShell on the PC: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1225355039 and http://inhocsignovinces.net/ (this may have been the one you meant westfw).