PDA

View Full Version : Spin bytecode



ImageCraft
04-01-2009, 03:08 AM
I know there are some listing and some description scattered here and there, but if someone were to document the Spin bytecode in a more digestible form, I bet it goes a long way toward allowing ImageCraft Propeller C or other compilers to consider using it as the VM of choice.

Any takers?

// richard

Kye
04-01-2009, 03:16 AM
I have a copy of the interpreter, its not really readable however for what you would like.

That would be awsome however having the ability to compile C stuff into spin byte code. Then all the rest of the spin objects would be easy for use and you could have more code space.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,

ImageCraft
04-01-2009, 03:29 AM
Exactly, if someone can list all the bytecode available, it will be a first stab. Writing a spin bytecode assembler and linker is fairly easy. We have 3 assembler source base to choose from http://forums.parallax.com/images/smilies/smile.gif

Kye
04-01-2009, 03:32 AM
Do you want the interpreter to start with? (its pretty brutal)

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,

Harrison.
04-01-2009, 03:37 AM
Have you looked at the bytecode documentation on the wiki? The wiki page along with the interpreter source code should give you a good starting point.

Wiki Page: propeller.wikispaces.com/Spin+Byte+Code (http://propeller.wikispaces.com/Spin+Byte+Code)
Official Interpreter source code: http://forums.parallax.com/showthread.php?p=711064

jazzed
04-01-2009, 04:02 AM
Look for Cluso99·SpinBytecodeDocs summary in http://forums.parallax.com/showthread.php?p=731577. You'll have to read it with Propeller tool since it's encoded with the Parallax font. The Wiki provides·a good overview.

Hippy's disassembler will also prove very helpful http://forums.parallax.com/showthread.php?p=665019·.

Chip's "Pnut" interpreter is posted somewhere.


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve


Propalyzer: Propeller PC Logic Analyzer (http://www.brouhaha.com/~sdenson/Propalyzer)
http://forums.parallax.com/showthread.php?p=788230 (http://forums.parallax.com/showthread.php?p=788230)

heater
04-01-2009, 05:10 AM
Perhaps one could get a good insight into the byte code by looking at the listing output of BradC's BST SPIN compiler for a variety of sample SPIN code.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.

Cluso99
04-01-2009, 07:57 AM
Richard, I can answer any questions and dig out the docs. Most are in my version of the interpreter (faster). I had to compile all the docs from around the place and when I was writing my version I discovered some incorrect details. The first place to start is my version of the interpreter because it has all the docs contained within it. PM me your email and I'll email you my latest buggy code with docs.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:

· Home of the MultiBladeProps: TriBladeProp (http://forums.parallax.com/showthread.php?p=786418), SixBladeProp (http://forums.parallax.com/showthread.php?p=780033), website (Multiple propeller pcbs) (http://bluemagic.biz/cluso.htm)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator) (http://forums.parallax.com/showthread.php?p=790917)
· Prop Tools under Development or Completed (Index) (http://forums.parallax.com/showthread.php?p=753439)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index (http://forums.parallax.com/showthread.php?p=778427))
· Search the Propeller forums (via Google) (http://search.parallax.com/search?site=parallax&client=parallax&output=xml_no_dtd&proxystylesheet=parallax&proxycustom=<HOME/>&ie=&oe=&lr=)
My cruising website is: ·www.bluemagic.biz (http://www.bluemagic.biz)·· MultiBladeProp is: www.bluemagic.biz/cluso.htm (http://www.bluemagic.biz/cluso.htm)

ImageCraft
04-01-2009, 09:13 AM
I could dig into all these docs, but I don't have time to do it right now. I am not saying my time is more valuable than anyone else, it's just a matter of resource management. Ray or anyone else, feel free to email me any doc to richard @ imagecraft.com

Thanks

ImageCraft
04-01-2009, 03:31 PM
Here's another reason for compact VM: Steve got his XMM prototype working reasonably well. We think we can push ~1 MLIPS (million, give ir take, LMM instructions per second). A more compact VM kernel may take more times to decode, but as long as it's not 10x slower, we may be ahead...

Cluso99
04-01-2009, 09:50 PM
Here is my latest document on the Spin Bytecode. It uses the propeller font so open it in PropTool.


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:

· Home of the MultiBladeProps: TriBladeProp (http://forums.parallax.com/showthread.php?p=786418), SixBladeProp (http://forums.parallax.com/showthread.php?p=780033), website (Multiple propeller pcbs) (http://bluemagic.biz/cluso.htm)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator) (http://forums.parallax.com/showthread.php?p=790917)
· Prop Tools under Development or Completed (Index) (http://forums.parallax.com/showthread.php?p=753439)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index (http://forums.parallax.com/showthread.php?p=778427))
· Search the Propeller forums (via Google) (http://search.parallax.com/search?site=parallax&client=parallax&output=xml_no_dtd&proxystylesheet=parallax&proxycustom=<HOME/>&ie=&oe=&lr=)
My cruising website is: ·www.bluemagic.biz (http://www.bluemagic.biz)·· MultiBladeProp is: www.bluemagic.biz/cluso.htm (http://www.bluemagic.biz/cluso.htm)