HT36M4 Holtek Semiconductor Inc., HT36M4 Datasheet - Page 7

no-image

HT36M4

Manufacturer Part Number
HT36M4
Description
Ht36m4 -- Music Synthesizer 8-bit Mcu
Manufacturer
Holtek Semiconductor Inc.
Datasheet
The ST11~ST0 are used to defined the start address of
each sample on the wavetable and read the waveform
data from the location. HT36M4 provides 17 output ad-
dress lines from WA16~WA0, the ST11~ST0 are used
to locate the major 12 bits i.e. WA16~WA5 and the un-
defined data from WA4~WA0 are always set to 00000b.
So the start address of each sample have to be located
at a multiple of 32 bytes. Otherwise, the sample will not
be read out correctly because it has a wrong starting
code.
Stack Register - Stack
This is a special part of the memory which is used to
save the contents of the program counter only. The
stack is organized into 8 levels and is neither part of the
data nor part of the program space, and is neither read-
able nor writeable. The activated level is indexed by the
stack pointer (SP) and is neither readable nor writeable.
At a subroutine call or interrupt acknowledgment, the
contents of the program counter are pushed onto the
stack. At the end of a subroutine or an interrupt routine,
signaled by a return instruction (RET or RETI), the pro-
gram counter is restored to its previous value from the
stack. After a chip reset, the Stack Pointer will point to
the top of the stack.
If the stack is full and a non-masked interrupt takes
place, the interrupt request flag will be recorded but the
acknowledgment will be inhibited. When the stack
pointer is decremented (by RET or RETI), the interrupt
will be serviced. This feature prevents stack overflow al-
lowing the programmer to use the structure more easily.
In a similar case, if the stack is full and a CALL is subse-
quently executed, a stack overflow occurs and the first
entry will be lost (only the most recent eight return ad-
dress are stored).
Rev. 1.10
Wavetable ROM
Bank pointer
The program memory is organized into 8 banks and
each bank into 8192 16 of bits program ROM. PF2~
PF0 is used as the bank pointer. After an instruction
has been executed to write data to the PF register to
select a different bank, note that the new bank will not
be selected immediately. The new bank is only se-
lected after an instruction cycle is executed. When the
PF register is used to select the bank, the PF register
is write only. It is not until the following instruction has
completed execution that the bank will be actually se-
lected. It should be note that the PF register is write
only.
7
Data Memory - RAM
The data memory is designed with 2 256 8 bits. The
data memory is divided into three functional groups:
special function registers, wavetable function register,
and general purpose data memory (2 192 8). Most of
them are read/write, but some are read only.
RAM Mapping
March 14, 2007
HT36M4

Related parts for HT36M4