I will attempt to update this thread with information as it becomes available. Consider this a Work in Progress.
Entry Points
In order to dissasemble a ROM you must find an "entry point." An entry point is a portion of code that is generally followed by Program Execution Code. Knowing these locations allows the Interactive Dissasembler to derive logic and references for you. It's something that can be simple to understand, however is not for the general user.
Processor Notes
Subaru HC16 - MY01-MY05 192k using Motorola HC16
0000: 0220 -> unused/ZK/SK/PK initial values
0002: 0220 -> reset vector (PC, PK+PC)
0004: 08F6 -> stack pointer (SP, SK+SP)
0006: 0000 -> page pointer (IZ, ZK+IZ)
0000: xx ZK SK PK
0002: PC PC PC PC
0004: SP SP SP SP
0006: IZ IZ IZ IZ
Subaru SH7058 - MY04 STi 512k using Hitachi SH4B
Power-on reset
PC 0 H'00000000–H'00000003
SP 1 H'00000004–H'00000007
Manual reset
PC 2 H'00000008–H'0000000B
SP 3 H'0000000C–H'0000000F
Code:
PC 0 0000 08DC
SP 1 FFFF DFA0
PC 2 0000 08DC
SP 3 FFFF DFA0
So from here I've gathered entry points of 0xF554, 0xF8A4, 0xFBD0, 0x10000, 0x103D4, 0x10AF4, 0x11060 by locating the byte sequences below:
D26E 420B 0009 D36E 430B 0009 D26D 420B
Known Entry Points
Subaru HC16 - 0x220, 0x8F6, 0x240, 0x252, 0x264
Subaru SH7058 (512k) - 0xF554, 0xF8A4, 0xFBD0, 0x10000, 0x103D4, 0x10AF4, 0x11060.