---
# System prepended metadata

title: condret v850

---

# condret v850

## Stage 1: Finish and review ESIL

Based on 3 PDFs from MEGA (612 pages the main one), they have to be for the V850E2 CA2 Jupiter, specially the μPD703128 variant described there.

https://www.renesas.com/us/en/document/mah/preliminary-users-manual-v850eca2-jupiter-32-16-bit-romless-microcontroller-hardware

Appendix A on page 589 contains all the instructions needed to be supported by r2's ESIL.

If it reaches the same point of emulation than GhidraEmu does:

https://github.com/Nalen98/GhidraEmu/issues/6#issuecomment-1364721305

That'll be a win, because it'd be a good moment to start thinking about interrupt control and Stage 2 in general.

## Stage 2: Implement devices support

* [ ] System-related registers
    * [ ] Those present in CMSIS-SVD definition extracted from the PDF above: 
        * [ ] https://github.com/brainstorm/datasheet2svd/blob/master/v850.svd
        * [ ] Those that are critical for successful emulation.
    * [ ] DMA, Interrupt/Exception control.
    * [ ] Timers
    * [ ] System regs such as PSW, PRCMD, PRC, BCU, CSC, BPC, BSEL, etc...
* [ ] Which devices
    * [ ] GPIO (Ports 1-9 and AH, CS/CT/CM)
    * [ ] CSI/UART
    * [ ] (F)CAN
* [ ] Probably NOT needed to implement for good emulation but who knows
    * [ ] ADC
    * [ ] Clock generation and control
    * [ ] Reset control
    * [ ] Watch timer
    * [ ] Watchdog timer
    * [ ] Power saving
    * [ ] Caching
* [ ] How to interact with devices
    * [ ] imho the devices should be implemented as an io plugin that send messages to somewhere else, so we can have a separate program that collects the reads and writes of each device and responds/acts accordingly
    * [ ] this works because those are memory mapped devices. but there are IO devices on other archs