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.
Took a break playing some Doom 3.
Had a nightmare but nothing related to Doom 3. I got hacked.
One thing I can do is allow the stack offsets and such to use long instead of int, in case for those really gigantic methods.
Compiled MMIX and MMIXX (a very basic display of running programs that write to memory addresses but still print to the console). The MMIX instruction set is rather interesting with 256 registers. However, the simulator is for userland processes only. This means that there are more limitations has to how programs are run. There is GIMMIX which does have a kernel mode and some basic devices, will need to investigate that. It is reported that:
By now, the simulator is finished and provides basic devices necessary for an operating system. These have been ported from the ECO32 project and include a disk, terminals, a timer, a ROM, a display and keyboard and an output device for debugging.
So using GIMMIX might be a better choice, if I manage to get it running. The code is from 2011, I just hope it works on Big Endian systems such as my PowerPC. Compiling it now it assumes that I am running x86 and passes the command line argument to say to use a 387 FPU. And it appears it might just not work at all. I could always compile it on a 386 and just use QEMU to emulate it on this system.
There is also something called ECO32.
Want to add the operations for SPARC, however there is currently no easy to parse table format (other than typing it manually). I e-mailed SPARC International to see if they have something that is easy to parse. If I do not get a response or they do not have such table, I will have to write a script (in Java) that calls the SPARC disassembler much for many operations. Would be slower as it is essentially just a brute force. I can probably run the code on a fast system or multiple systems at once as needed.
Apart from that, the disparity between 32-bit and 64-bit when it comes to Java can get slightly confusing.
I should probably get PowerPC working before I start doing other architectures however.
I can most likely use the standard RISC generator for x86 although it would be quite horrible due to the very limited nature of x86. You have the following:
Depends on if x86 supports instruction relative store/load as every other RISC does.
Thinking about that, that would be very horrible. I would need to make a CISC based version which can handle the very small amount of registers.
They are making a new Star Trek TV Series. One thing I would hope for that it is the classic universe and not the rebooted movie stuff. The writers of the new series made both of the new movies however. So there is a possibility that it is the new universe.
Star Trek Continues is rather nice though. Watching Episode 5 I see that technology has regressed a bit, the Enterprise computers have PCI and ISA slots in the motherboards for their systems.