I thought it would be time to announce the project I’ve been working on since April 2015. It is currently called the ClassicVCom HD, which will be a virtual computer/machine utilizing SDL 2.0 for various features such as rendering, audio, etc.
The whole purpose of this project is to introduce retro-styled gaming (from the 80s) into a modern world of HD resolution. You will be able to make games or even other programs for it that can run from resolutions of 320x240 (One of MS-DOS’s Nostalgic resolutions) to 1920x1080 (Full-HD resolution of 1080p). Idea came about when I was thinking about an idea involving making a 1-bit (monochrome) or 2-bit (basic grayscale) game on a very high resolution. That hit me with an idea of making a virtual computer that would enable making games with fewer bits of graphics support. Initially, my plan to was to enable up to 4 bits (You can use any color from the 24-bit to 32-bit library of colors.). I eventually extended it to 6-bit for 64 color support.
Early on when the project was first started, I was using a console application for handling ClassicVDOS (which is it’s own DOS environment). My initial plan for that was to transfer to a GUI application when you run programs through it. However, I came up with a better idea of making it more full-fledged by actually turning the whole into a GUI or graphical interface. Basically, it comes with it’s very own environment. That made it actually possible to port to other platforms due to far less dependence on any console window.
Here is even a screenshot of what currently works:
[Image: http://img.photobucket.com/albums/v458/Bandock/Screenshots/ClassicVComHD3_zpswzfwvzxj.png ] (http://smg.photobucket.com/user/Bandock/media/Screenshots/ClassicVComHD3_zpswzfwvzxj.png.html)
There are few commands for the DOS environment at the moment. They are Cd (Changes directories), Clear (mainly used to clear the screen), Del (Deletes files. This delete allows you to specify a type of file to delete in the event there are executable programs or regular files.), Dir (Views the current directory), Format (Actually doesn’t work yet, but will display a message.), Mem (Views the amount of RAM available.), Mkdir (Creates directories.), Rmdir (Removes existing directories.), Run (Allows you to run programs. This will work soon as I’m beginning to work on executing instructions.), and Shutdown (Shuts down the virtual system.)
There is no audio support yet, but I have plenty of plans for this. It will utilize 8-bit audio, but have support for up to 5.1 channel audio. I thought it would be cool to utilize chip-tuned audio through multiple channels if desired. Heck, I actually came up with possible new plans in reference to audio support. I have no idea on how to do it yet since audio handling isn’t in yet (probably will be handled through a nice virtual Audio Chip). As for frequency support, I’m thinking from a selection of 11025 Hz, 22050 Hz, 44100 Hz, and 48000 Hz in the event one wants to utilize higher fidelity audio.
In terms of a virtual hard drive, it will create a 256MB hard drive at present if it’s your first time using it. Mounting features are currently under planning so one can bring programs made by others into their own virtual hard drive. CPU wise, it will be 32-bit (so it can utilize 16MB of RAM effectively and it can utilize 32-bit registers). For input, it will support keyboard and two game controllers/joysticks. However, I might add mouse support in the near future to make it niftier if need to be. Network support is currently being planned, which may enable online support for retro-styled modern games.
When the time is right, I may make it open-source or even come up with a special plan in that regard. One nifty perk I have for this project is you can eventually release programs or games for the virtual computer/machine for free or commercially. There are no conditions in that regard. No need to pay royalties since whatever programs you make it for it since they’re your own work.
For anyone who wants to test it out, I have binary version floating around: https://dl.dropboxusercontent.com/u/24250760/Test%20Releases/ClassicVCom%20HD.zip
And here is also an Emscripten-produced Test Version (This version is slightly outdated compared to the binary version as I haven’t added support for some of the changes yet on it): https://dl.dropboxusercontent.com/u/24250760/Test%20Releases/ClassicVCom_HD/ClassicVCom_HD.html
Also for the curious, I actually have a partially working assembler for it at the moment. However, that won’t be released till it can run programs. In fact, one of my first goals is to make a ROM version of ClassicVDOS to see if it works. When the time is right, I might start inviting anyone of y’all to contribute. Right now, I’ve been doing this on my own time to make sure it works up to quality.