[Coco] CoCo/6809 Virtual Machine

James Ross jrosslist at outlook.com
Sat Aug 8 23:23:41 EDT 2015


I thought I would post this on the list as well as on the FB post that has seen quite a bit of activity and interesting conversation. 

https://www.facebook.com/groups/2359462640/permalink/10153511353737641/

I had a thought recently that would interest me and would be a fun project / challenge. Plus it would be useful on any modern machine as well. But still be connected to our beloved CoCo’s and their 6809 CPU. 

Create a Virtual Machine (VM) of the kind JVM / .NET CLR (not the VirtualBox/VMware kind) from scratch. Base the new VM on the 6809 register model / instruction set and create an Ahead of Time (AOT) compiler for multiple CPU (6809/6309/68k/x86/ARM/etc…) targets.

There are several interesting possibilities that could be pursued w/ the VM -- for example we could add more bits / registers / instructions / address space.  But the key would be in the AOT Compiler (and keeping the runtime for the VM as compact as possible). You would not want to JIT on the CoCo! And the size of the runtime could vary by excluding / including functionality. To keep things tight, the AOT Compiler would compile real instructions for things that might otherwise be abstracted in the runtime (I/O etc).

I do not suggest this would be a replacement for a “CoCo 4”, neither would it take the place of CoCo emulators. It could however, be an interesting project that could be useful not just on the CoCo but any other machine, like Java is now. 

This would be quite an ambitious project, but I think it would be fun. Possible name/acronym CCVM/VM9. I would start on it if I had the time but I currently do not. Perhaps at a later date. I am thinking open source based on the MIT or BSD license. 

James

 		 	   		  


More information about the Coco mailing list