MOS 6502 Simulator -
MOS 6502 Simulator -
MOS 6502 Simulator is sort of an emulator for a 6502 chip. There's virtually nothing apart from the CPU (minus BCD operations). It also bears no heed to instruction timings.
Whilst (apart from those two things) it successfully simulates the CPU there were a few design flaws, which led me not to continue with it:
- I wrote it in C++.
As the 6502 had no dedicated IO bus, everything was done via memory. I had the idea of having a pure virtual class which provided a generic interface, then as I wrote devices to sit in the memory space, they could just override portions of it, or trap on writes or something.
Whilst writing this, I kept getting the feeling I should have written it in asm instead Especially for manipulating flags and rotates and stuff. (as I could have just rotated AL, for example, rather than the mess I have in the C++ code.
- Sloppy instruction decoding.
I originally set out to decode the instructions properly, but there were lots of exceptions to the system used (esp. if I intended to support the 65C02 for example). This decended into a massive switch statement. I almost considered splitting it up to smaller files, and just #include them in the middle, just to make it more managable.
Also, as they are not in numerical order (grouped according to type, or addressing mode, can't remember atm) it wouldn't compile to a jump table. Does with optimisation on though.
The main thing that prompted me to write this was I found my BBC-B in the loft, and felt a pang of nostalgia for the hours wasted hunched over it in the lowest resolution text mode (IIRC mode 7 to save ram). I had the idea of writing a NES or BBC emulator, however it didn't get that far.
It has a pretty simple image format. The file must be >= 65536 bytes (64k) and that is simply the memory image for the system (16-bit address bus). There is a strange sort of ASCII text display at 0x200, which is ok enough for spewing a string to. As it was just thrown together in the space of 6 hours or so (took a long time to do the switch statement) it's not very thouroughly documented, but hey.
Download and use it now: MOS 6502 Simulator - free download
Related programsOur Recommendations
The intent is to add Drop and Drag functionality to the Tk::Listbox widget. You can drag itemsDownload
spell-karamba is a desktop applet for SuperKaramba that spells the typed words - letter byDownload
Aymuze Me is an add-on version of www.Aymuze.Me which brings together the popular websites aimed toDownload
wmappl is a simple scrolling application launcher for the WindowMaker dock. It is loosely based offDownload
An Open Source tool that allows Java applications to be executed as UNIX daemonsDownload
Games::PMM is the base distribution of the Paper MachÃ© Monsters Game.Paper Maché MonstersDownload
Screensavers for Xandros 4.x contains twelve different screensavers you can try out for Xandros.Download
Beethoven and the Lost Symphony is a very short but humorous adventure game.The StoryOne morningDownload
JuKis part of the KDE Multimedia package. JuK packages are distributed with basically all currentDownload