I was keeping a small log of my project updates while I was working on the more internal aspects of the project, for the design and UI, I kept compiling to android to test and make sure the dimensions and anchors were set properly.
10-3-2022
Started to create a small VM inside the RX-500 Game Project
I wanted to add the ability to both program for the virtual machine and learn to explore existing software and create exploits or discover vulnerabilities that would actually progress the story of the game.
A, B, C, X, Y and SP Registers, Stack and Memory which the program code is loaded into.
10-5-2022
VM can run simple integer based array and would preform certain actions against registers and the stack, loading values into the basic registers of the virtual machine as well as the basic halt instruction that stops the virtual machine.
It can place an array of bytes into the memory of the virtual machine by copying them “bit for bit”
Started to work on the RX-500 instruction manual that would double as an actual instruction manual for using the device as well as hints as to how to exploit it and even write software for it.( Inspired by Shenzhen I/O’s manual )
10-8-2022
VM can now read assembler source files and parse them into integer arrays
Also the source files have the ability to define both byte strings and directly write bytes to the source file.
VM can also compare registers and jump according to if an equal flag was set.
Added some email correspondences and company forms for the company that designed the RX-500 (Mouseteck)
10-10-2022
VM can write to the display and recognizes jumps and labels
Implemented basic system calls
Print String, which reads a location in memory until a 0 is reached which is the end of a string
Print Char which prints the given value as a character
Flushed out the basic instruction set for the Rx-500 manual.
10-14-2022
Modified the RX-500 project to run live parsed assembler code, subroutines, call and return instructions implemented
:sub-001
loada 41
loadb 70
sys
ret
call sub-001
10-15-2022
Added save and restore instructions to save the state of the registers when entering a subroutine.
:sub-001
save
loada 55
loadx printchar
sys
restore
ret
10-16-2022
Started to write a graphics driver that would modify the pixel data of the screen directly.
Also added a readkey system call
Top comments (0)