Whole-System Emulator
- Wii Virtual Console
- VirtualBox
- Parallels
Transparent Emulator
- HyperV
- WSL2/Docker
- qemu on Linux
- Rosetta on Mac
Debugger/Emulator
- FCEUX (Nintendo Entertainment System)
- Dolphin (Wii / Gamecube)
Renode Is All of These
- Console: Able to present an interactive environment
- Transparent: Can run in CI via Robot commands
- Debugger: Has a GDB server built in
Example of Weird Hardware
- NRF52840
- LM74 Temperature Sensor
Example of Weird Hardware
- NRF52833
- LM74 Temperature Sensor
Example of Weird Hardware
- BlueNRG1
- LM74 Temperature Sensor
Example of Weird Hardware
- RISC-V
- FPGA-based framebuffer
- Initial graphical demo in 1 hour
What makes hardware "Weird"?
- Unusual CPU architecture
- Different model of chip than commonly found
- Additional hardware
- More CPUs per board
Unusual CPU architecture
Sorry, can't help
Different model CPU
- Maybe it's just a variant
- Perhaps memory regions were shuffled
- Does it use the same hardware block as someone else?
New hardware version
- Do you use the new, specialized features?
- Lots of UARTs support Infrared. Do you need that?
How does this interact with $VENDOR_TOOL?
What about missing registers?
- Very few projects use built-in blocks