stands for My Own 65 eXpandable emulator written in Rust programming language. The project has educational motivation and is a genuine project based on technical specifications of 6502/6510 family microprocessors. See the screenshot of assembler mode running slightly modified program "demoscene.asm" from http://www.6502asm.com
Project is based on original version written in C++, available here https://github.com/rjaremczak/mo65x. This version is a terminal application with extra window for showing frame-buffer's content. Functionality is almost identical with the original version. Several functions like assembler or disassembler have been implemented in command line interface. Please launch the app with --help to see what are the options.
When started in console mode (interactive mode) all options available through GUI in original version are now implemented in command line. In short these are:
l <address> <file-path>
- load binary file at given addressd <address>
- set starting address of disassembly viewm <address>
- set starting address of memody dump viewreset
- trigger hardware resetnmi
- trigger NMI requestirq
- trigger IRQ requestsb <address> <byte-value>
- set byte at address to given byte valuesw <address> <word-value>
- set word at address to given 16-bit valuepc=<word-value>
- set PC register to given 16-bit valuesp=<byte-value>
- set LSB of SP register to given 8-bit valuea=<byte-value>
- set Accumulator to given 8-bit valuex=<byte-value>
- set X register to given 8-bit valuey=<byte-value>
- set Y register to given 8-bit valuen=<bit-value>
- set Negative flagv=<bit-value>
- set Overflog flagd=<bit-value>
- set Decimal Mode flagi=<bit-value>
- set Interrupt flagz=<bit-value>
- set Zero flagc=<bit-value>
- set Carry flag
All expected and displayed values are hexadecimal, except the binary values of the flags.
Press ESC
to quit the emulator.
All design and code so far is written entirely by Robert Jaremczak ([email protected]) and is licensed as GPL.
GPL in short means this: feel free to use as long as sources of your own work remain public. Don't forget to mention me, as an author of this code :-)