blob: 6b8af9ec5aaadb11eb127da7a3a95f712114d1bf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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 and synchronization with all
peripherals.
- Locking 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.
|