D90

=Hardware= Much of this is gleamed from the Service Manual. Diagrams are checked into the source repository in the arch/ dir. They require https://sourceforge.net/p/gablock/code/ to create.

CM Board - uC #1
FR80 - Fujitsu FR MB91F637 / 1010 M90 / E1

Is this the "B" Proc?

Features
"For home electric equipment, camera, AV products, etc." (from product guide and wikipedia fr80 entry)


 * MB91635 Series Product
 * Scalar processor, 5-stage pipeline
 * DMAC (8 ch.)
 * 10-bit A/D converter(31 ch. × 2 unit)
 * 8-bit D/A converter(3 ch.)
 * Multi function serial interface (UART/SIO/I2C): 12 ch
 * Reload timer (16 bit × 3 ch.)
 * U/D counter(16 bit × 4 ch.)
 * Base timer (16 bit × 16 ch.)
 * External interrupt input (32 ch. + NMI)
 * Input capture(32 bit × 8 ch.)
 * Output compare(32 bit × 8 ch.)
 * free-run timer(32 bit × 2 ch.)
 * Watch timer
 * Maximum operating frequency: 60 MHz
 * External bus mode
 * RAM: 48 KB
 * Flash: 512 KB
 * 144-pin LQFP (0.5mm)
 * VDD: 2.7-3.6V

Memory Architecture
From [] Managing the memory space in bytes Order to improve efficiency, space allocated to a predetermined area and direct address space vector table

Direct address space

 * Direct address to the address space of the lower address space. To gain access to this area only in the instruction operand information without using a general-purpose registers.

vector table area

 * Table Base Register (TBR) 1K bytes from the address shown in the area of ​​the contents of the vector address area to store EIT.
 * TBR In the reset is to 0x000FFC00, from the vector table area will 0x000FFFFF 0x000FFC00.

General Purpose Registers

 * R0-R12 General-purpose register
 * R13: Accumulator (AC), base address registers in a load / store instruction
 * R14: frame pointer (FP), in the index register load / store instruction
 * R15: USP or SSP, in the index register load / store instruction

Dedicated register

 * PC: Program Counter (PC)
 * PS: program status (PS)
 * TBR: table base register (TBR)
 * RP: return pointer (RP)
 * SSP: System stack pointer (SSP)
 * USP: User Stack Pointer (USP)
 * MD: multiply and divide register (MD)

Table Base Register (TBR) 1K bytes from the address shown in the area of ​​the contents of the vector address area to store EIT. TBR In the reset is to 0x000FFC00, from the vector table area will 0x000FFFFF 0x000FFC00.

CM Board - uP #2
Nikon ??? MFQP45

DG Board - uP #1
Nikon ExPeed EI-149(?)

DG Board - IC #2
Nikon EL-148?

DG Board - Memory ICs
Samsung