English
Language : 

UPD784938 Datasheet, PDF (663/733 Pages) NEC – 16-Bit Single-Chip Microcontrollers
CHAPTER 27 ROM CORRECTION
27.1 ROM Correction Functions
µPD784938 converts part of the program within the mask ROM into the program within the internal expansion ROM.
The use of ROM correction enables command bugs discovered in the mask ROM to be repaired, and change the flow
of the program.
ROM correction can be used in a maximum of four locations within the internal ROM (program).
Caution Note that ROM correction cannot perform emulation in the in-circuit emulator (IE-784000-R, IE-784000-
R-EM).
In more detail, the command addresses that require repair from the inactive memory connected to an external
microcontroller by a user program and the repair command codes are loaded into the peripheral RAM.
The above addresses and the internal ROM access addresses are compared by the comparator built into the
microcontroller during execution of internal ROM programs (during command fetch), and internal ROM’s output data is then
converted to call command (CALLT) codes and output when a match is determined.
When the CALLT command codes are changed to valid commands by the CPU and executed, the CALLT table is
referenced, and the process routine and other peripheral RAM are branched. At this point, a CALLT table is prepared for
each repair address for referencing purposes. Four repair address can be set for the µPD784938.
Matches with address pointer 0:
Matches with address pointer 1:
Matches with address pointer 2:
Matches with address pointer 3:
CALLT table (0078H)
Conversion command code: FCH
CALLT table (007AH)
Conversion command code: FDH
CALLT table (007CH)
Conversion command code: FEH
CALLT table (007EH)
Conversion command code: FFH
Cautions 1. As it is necessary to reserve four locations for the CALLT tables when the ROM correction function
is used (0078H, 007AH, 007CH, 007EH), ensure that these are not used for other applications.
However, the CALLT tables can be used if the ROM correction function is not being used.
2. If there are two or more channels for which the correction operation is enabled, do not set the same
correction address.
3. Be sure to set the address where the start command code is stored as the correction address.
The differences between 78K/IV ROM correction and 78K/0 ROM correction are shown in Table 27-1.
Preliminary User’s Manual U13987EJ1V0UM00
663