I'm working on a successor to my virtual computer.
http://smilebasicsource.com/page?pid=1159
I'm not satisfied with the stack architecture. Although it does manage an amazing amount of versatility with very little complexity, it's unrealistic and doesn't work the way that a real CPU works.
For the next virtual computer, I would like to make the CPU a little bit more realistic. It will still only be able to address 64k words and it will still be a purely 16-bit machine, but other than that, I have no idea what it will be like. I need to also develop a compiler for the assembly language used which is a factor in deciding how the computer will operate because more complex assembly languages are more difficult to implement a compiler for. For this reason, I'm likely to use a Load/Store architecture with few addressing modes.
I would love to hear what the community wants in a second virtual computer. Please download and try programming for the first if this interests you. I am aware that my code for the first virtual computer was extremely messy and inefficient, something that I will be working on for VC2. I am also aware of the crashing problem. The code of VC2 will be much more modular and efficient and hopefully, any action performed by the virtual computer itself will not crash the program.
Debug mode is also a consideration when designing the architecture. I wouldn't want more than 116 registers as I would run out of space to put them on the screen. Input from the circle pad and c-stick is required for debugging features as the touchscreen and buttons are both reserved for use by the virtual computer.
My goal is to eventually make an "advanced virtual computer" or AVC for short with graphics, colour, file manipulation, more RAM and a multitasking OS with GUI but my programming skill isn't there yet. The architecture for this computer will likely be memory-to-memory as it will need to run as fast as possible in an interpreted environment.
Virtual computer 2 feature requests.
Root / Talk About Programs / [.]
bluekrillCreated:
oh well thats cool. something like a calculator would be nice and maybe a way to write your own programs to be run inside vc2 itself, somthing that couldnt be done with oyota. i just want to be able to create personal programs inside it at leas, but it is just a recomendationThanks! The calculator is a good request. I had the idea to write an assembly code editor inside VC1 but never got around to it. It would offer no advantages over SmileBASIC's built-in text editor which I use for writing VC1 assembly. Virtual computer does not work like otya window system. When started, it loads a program from a file and I made sure that it's very easy to write and rapidly test programs by loading from Slot 1 where the assembly program is read from. VC1 doesn't have an operating system, programs run on the metaphorical bare metal. VC2 is unlikely to have an OS, so a code editor that runs inside it will not be necessary.