DISCLAIMER: These notes are from the defunct k8 project which precedes SquirrelJME. The notes for SquirrelJME start on 2016/02/26! The k8 project was effectively a Java SE 8 operating system and as such all of the notes are in the context of that scope. That project is no longer my goal as SquirrelJME is the spiritual successor to it.
Now registers can have multiple storage types, this is so CPUs such as MMIX can be handled where integers and floats share the same registers. It could also be used in software floating point spaces too.
Software floating point can be handled by an SSA pass which turns all operations that require floats into integer operations. That would be at least a portable way to handle such things.
I believe for simplicity I am going to have fixed areas of registers that do not move much.
I do not believe ABI is needed and that it complicates things a bit.
I have this idea for a game, an RPG hack and slash of sorts. However since I am really bad at graphics it will be 8-bit like.