Hey, Would you be willing to post the code for your interpreter? I've written a simple interpreter that I was able to get working fairly well (very simple assembly-type instructions), just reading from an i2c eeprom, but I'm always interested in how other people have done it.
I plan to post it when i'm finished prototyping. It's sounds mad....running an interpreter on an interpreter, you may think it's slow and what the point lolol but there is a point....
It allows you to code your picaxe with the same ease as you would program a vb.net applicaion and it's multi-threaded.
You copy and paste picaxe .bas code into the editor area of my compiler made in vb.net. It converts to .bas code to my instrustion set then downloads it to a 256Kbit eeprom. Numerous modules/chunks of code can be stored.
All the code modules stored on the 256k are kept track of in a simple file table/memory map. The code manager system catagorises code in four ways: exe,dll,cfg,txt.
when writing code...You can import an exsisting bas dll then call upon it's functions. This makes it easy to perform very complex opperations such as string operations. For example, one dll in my core system allows you to declair strings, mid(string,offset,count) it etc.
There is what i call a sub-processor bus or a threadbus. I'm using the 40x1 as a sub-processor. There can be as many 40x1's on the bus as you want the main processor is connected to a math co-processor. All are connected to a messeage queue sytem(what i call the main data bus) and an input/ouput system. Each one is strapped with my firmware and given an id.
Programs can be assigned a threadID and will run on a given processer allowing you to perform multiple tasks at once in the same process/program.
The draw back is, if things go wrong it's very hard to debug but i'm working on it.
Here's some plans i got for the system......
read CD-Rom/dvd-rom's
store data onto a harddrive
load programs onto a 512mb pc ram module.