diff options
Diffstat (limited to 'Readme.md')
-rw-r--r-- | Readme.md | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..9f2c932 --- /dev/null +++ b/Readme.md @@ -0,0 +1,32 @@ +# MCS51 emulator + +## TODO for MVP of MCS51 emulator + +- Fully implements ISA of Atmel 8051. +- Seek to implement compatibility with AT89S52. +- Internal Flash ROM (8K to 64K). +- Internal RAM (256 byte). +- External ROM (up to 64K). +- Interrupts support. +- Peripherals: + - At least one I/O Port (P0) + - Timer (with interrupts) + - Serial UART (with interrupts) +- Cycle accurate emulation of program execution with synchronization of all the + peripherals. +- Can bind execution speed to real host machine time with speed multiplier (e.g. + 1 instruction per second, 1000 cycles per second). +- Every peripheral produces event with information of it's state if it changes. + CPU produces events on each step while in single step mode or when pause + occurs. +- Emulator consumes control events for changing peripherals state, controlling + execution speed or stepping CPU. +- CLI controller. + +## TODO Beyond MVP + +- Full compatibility with AT89S52. +- CPU step back command and reverse execution for some amount of steps (from few + to billions). +- TUI controller. +- Comprehensive GUI in web-browser. |