Sim6502
A 6502 Simulation edutainment game product.
Developed Using: Lazarus
Project not currently Active or being Developed
This is my first proper attempt at making a truly sellable desktop application. I worked really hard to polish the overall interface to make it as clean as possible, at least for such a technical program such as this.
The main inspiration of building this is the 90s era of Maxis, where they developed various Edutainment games. Games which were suppose to teach something about the real world to various people, usually teens, which is when I first got into this genre. Since Maxis went away, I haven't heard of any edutainment games in the market, but I'm also much older now, and I'm no longer the target audience.
However, with this program, Sim6502, it is geared towards all ages, for anyone who is really curious about how a computer really works, this program was going to be that sort of edutainment product. As you can see from the included screenshot, showing it's cross-platform compatibility, in that it will run on Linux, macOS, and Windows natively, that there are essentially two main panes in the main window. The left pain is your output, in this example, it is running a version of EhBASIC, which was going to be included after a proper discussion with Lee Davison about it's usage in a potential commercial product. I even created an example scenario which shows some of the basics of integrating EhBASIC with 6502 machine code calls.
The program itself runs a full MOS 6502 emulator under the hood, and the raw memory can be viewed in the right pane, in it's full 64kb entirety, as any program is actively running, this memory viewer will also update to reflect any changes. The user interface allows for the selection of various common memory locations to easily jump to, such as the C stack, the zero page, or the 6502 stack. This allows anyone learning about how a computer stores programs and data while it's running to effortless see each of these very important segments of memory.
Key Features
- Terminal-based output window
- Live 6502 memory viewer
- Live 6502 register viewer
- Ability to write in both assembly and C using the provided C library and a copy of cc65 compiler.
- Included help documents accessible from the help menu for 6502 assembly, and EhBASIC, no Internet required.
- A very sharable "Memory Card" system, where users of the program can effortlessly share a small memory card with what they've created with their peers or in online communities.
- Full built-in scenario system, which can insert programs into memory and execute them, as well as guide the player through a scenario of sorts. Players are also able to compile and share their own unique scenarios.
- Full CFFA1 device support, which allows saving data to a memory card, which also works in EhBASIC.
- A built-in controllable segmented display, other virtual hardware was planned.
Best part of all, is that even in the current beta builds that I have, all of these listed features are already there! It is a very capable program at this stage.
What Happened?
Well, at the time, I wasn't exactly sure how to market this, or how to garner interest. I did have it on my website for awhile where people could download the Windows beta to try out. I will be linking all of the Windows beta versions here for anyone curious. If people seem interested in such a product again, I'd definitely be willing to pick it back up again and continue work on it. As it is really far along, and works incredibly well for what it is.
Plone's DoS protection prevents large file uploads, so the download is here: Sim6502-beta1a.zip
