KM6VV, for all intents Arduino is bent C. They preprocess the C file to generate teh necessary header file without the user needing to do it. Then the main function is predefined to call teh setup and loop functions Kurt mentioned. Arduino is C/C++ just with the above to make it easier for a newbie to get start.
But don't worry. The Sketch files/projects would be seperate from the C/C++ files/projects in Studio. So for those that want pure C they will still have it. In fact Arduino libraries are written in C/C++, not Sketch(researched on their website for that info).
Once the low level Arduino libraries are written many third party libraries would just work. Only ones that access the Atmel hardware directly would have to be rewritten to use Renesas hardware instead.
I've already created a pinout for a Renesas 3687 that provides all the necessary hardware functions of the standard Arduino shield pinout. The only think missing is the onchange interrupts on analog pins 2 to 5. All the other Arduino pins all have either onchange ints, INT ints, or compare match ints(FTIO) which will allow all those pins to emulate the on change ints on all the Atmel pins. I've also matched up every PWM pins(OCP pins) on Atmel with PWM pins on the 3687. Also the timer outputs and the capture inputs are all matched to equivilent hardware on the 3687. I beleive I haev covered every bit of hardware on the 328 Atmel with an equivilent functioning 3687 except for those 4 on change ints on the analog pins. In place of the analog comparator pins the extra 2 analog pins the 3687 has go there. Of course multiple 3687 pins are going to each arduino pin to get all the necessary functions on each pin. And no there is no way a Mega Arduino could be done with a 3687. I used every single pin on the 3687 to provide all the necessary hardware functions.
I also went through all the shield boards on the arduino playground and all the shield boards Sparkfun carries. The vast majority use SPI or the UART to function. Some use PWM pins and of all the ones with buttons, the buttons are all on the digital pins. So basically even with the 4 missing ints on the 4 analog pins every shield I looked at could be made to work on the 3687.
Here is the pin comparisons from the Arduino to the 3687 AtomPro.
Code:
Arduino Pins Atompro Pins
reset reset
3v3 3v3
5v 5v
GND GND
GND GND
Vin Vin
0 PB0/AN0 P30 P55/WKP5 p87 to pin through 10k resistor
1 PB1/AN1 P31 P54/WKP4 p86 to pin through 10k resistor
2 PB2/AN2 P32 p85 to pin through 10k resistor
3 PB3/AN3 P33 p37 to pin through 10k resistor
4 PB4/AN4 P56/SDA P34 p36 to pin through 10k resistor
5 PB5/AN5 P57/SCL P35 p24 to pin through 10k resistor
AREF NC
GND GND
13 PB5(SCK) P70/SCK3_2 P53/WKP3 p23 to pin through 10k resistor
12 PB4(MISO) P71/RXD_2 P12 P52/WKP2
11 PB3(MOSI/OC2A) P61/FTIOD0 P72/TXD_2 P11/PWM
10 PB2(SS/OC1B) P63/FTIOC1 P10/TMOW
9 PB1(OC1A) P64/FTIOC0
8 PB0(CLKO/ICP1) P62/FTIOA1 P76/TMOV
7 PD7(AIN1) PB6/AN6 P51/WKP1
6 PD6(OC0A/AIN0) P66/FTIOB0 PB7/AN7 P74/TMRIV
5 PD5(OC0B/T1) P65/FTIOB1 P60/FTIOA0
4 PD4(XCK/T0) P20/SCK3 P75/TMCIV P50/WKP0
3 PD3(OC2B/INT1) P67/FTIOD1 P15/IRQ1/TMIB1
2 PD2(INT0) P14/IRQ0
1 PD1(TXD) P22/TXD P17/IRQ3/TRGV
0 PD0(RXD) P21/RXD P16/IRQ2
Unused AtomPro pins
NONE