Votrax Type N' Talk Memory Map ============================== Overview -------- Address decoding in 8K blocks, $8000-$FFFF is a mirror of $0000-$7FFF. +-------------+-------------+---------+--------+ | RANGE | MIRROR | SIZE | DEVICE | +-------------+-------------+---------+--------+ | $0000-$1FFF | $8000-$9FFF | 1K | RAM | +-------------+-------------+---------+--------+ | $2000-$3FFF | $A000-$BFFF | 2 bytes | ACIA | +-------------+-------------+---------+--------+ | $4000-$5FFF | $C000-$DFFF | 1 byte | SC-01 | +-------------+-------------+---------+--------+ | $6000-$7FFF | $E000-$FFFF | 4K | ROM | +-------------+-------------+---------+--------+ RAM Map ------- +-------------+-----------+-------+------------------------------------+ | ADDRESS | NAME | INIT | DESCRIPTION | +-------------+-----------+-------+------------------------------------+ | $0000-$001F | graBuf | | grapheme buffer | +-------------+-----------+-------+------------------------------------+ | $0020-$0021 | copyEnd | | copy of text buffer end pointer | +-------------+-----------+-------+------------------------------------+ | $0022-$0023 | textPtr | | input text pointer | +-------------+-----------+-------+------------------------------------+ | $0024-$0025 | rulePtr | | rule pointer | +-------------+-----------+-------+------------------------------------+ | $0026-$0027 |rghtRulePtr| | right context rule pointer | +-------------+-----------+-------+------------------------------------+ | $0028-$0029 | graPtr | | grapheme pointer | +-------------+-----------+-------+------------------------------------+ | $002A-$002B | NxRGraPtr | | next right context grapheme pointer| +-------------+-----------+-------+------------------------------------+ | $002C-$002D | rghtGraPtr| | right context grapheme pointer | +-------------+-----------+-------+------------------------------------+ | $002E-$002F | stackSav | | saved stack pointer | +-------------+-----------+-------+------------------------------------+ | $0032-$0033 | phoQStart | $0080 | phoneme queue start pointer | +-------------+-----------+-------+------------------------------------+ | $0034-$0035 | phoQEnd | $0080 | phoneme queue end pointer | +-------------+-----------+-------+------------------------------------+ | $0038-$0039 |graMatchPtr| | grapheme to match pointer | +-------------+-----------+-------+------------------------------------+ | $003C-$003D | textEnd | $0100 | text buffer end pointer | +-------------+-----------+-------+------------------------------------+ | $003E | wordLeft | | remaining space in word buffer | +-------------+-----------+-------+------------------------------------+ | $003F | initSpace | | initial space flag | +-------------+-----------+-------+------------------------------------+ | $0040 | vowelCnt | | vowel count | +-------------+-----------+-------+------------------------------------+ | $0041 | graLen | | grapheme length | +-------------+-----------+-------+------------------------------------+ | $0042 | consCnt | | consonant count | +-------------+-----------+-------+------------------------------------+ | $0043 | context | | rule context, $00 = left | +-------------+-----------+-------+------------------------------------+ | $0044-$0045 | tablePtr | | t2g / g2p pointer | +-------------+-----------+-------+------------------------------------+ | $0046 | modeEcho | $00 | echo mode, $00 = on | +-------------+-----------+-------+------------------------------------+ | $0047 | modePsend | $00 | psend mode, $00 = off | +-------------+-----------+-------+------------------------------------+ | $0048 | modeCaps | $00 | caps mode, $00 = off | +-------------+-----------+-------+------------------------------------+ | $0049 | unitSel | $00 | unit selected, $00 = unit selected | +-------------+-----------+-------+------------------------------------+ | $004A | letByLet | $00 | letter by letter, $00 = off | +-------------+-----------+-------+------------------------------------+ | $004B | unitNum | $00 | unit number | +-------------+-----------+-------+------------------------------------+ | $004C | modeTimer | $00 | timer mode, $00 = timer on | +-------------+-----------+-------+------------------------------------+ | $004D | copyACtrl | | copy of ACIA control register | +-------------+-----------+-------+------------------------------------+ | $004E-$007F | | | stack | +-------------+-----------+-------+------------------------------------+ | $0080-$00FF | | | phoneme queue | +-------------+-----------+-------+------------------------------------+ | $0100-$03FF | textBuf | | input text buffer | +-------------+-----------+-------+------------------------------------+ ROM Map ------- +-------------+-------------+-------------------------------------+ | ADDRESS | NAME | DESCRIPTION | +-------------+-------------+-------------------------------------+ | $6000-$6032 | ruleSetAddr | grapheme rule set table addresses | +-------------+-------------+-------------------------------------+ | $6037-$6164 | ruleSetA | grapheme rule set table - 'A' | +-------------+-------------+-------------------------------------+ | $6165-$61C3 | ruleSetB | grapheme rule set table - 'B' | +-------------+-------------+-------------------------------------+ | $61C4-$620D | ruleSetC | grapheme rule set table - 'C' | +-------------+-------------+-------------------------------------+ | $620E-$6279 | ruleSetD | grapheme rule set table - 'D' | +-------------+-------------+-------------------------------------+ | $627A-$6330 | ruleSetE | grapheme rule set table - 'E' | +-------------+-------------+-------------------------------------+ | $6331-$635B | ruleSetF | grapheme rule set table - 'F' | +-------------+-------------+-------------------------------------+ | $635C-$639F | ruleSetG | grapheme rule set table - 'G' | +-------------+-------------+-------------------------------------+ | $63A0-$63F4 | ruleSetH | grapheme rule set table - 'H' | +-------------+-------------+-------------------------------------+ | $63F5-$64B4 | ruleSetI | grapheme rule set table - 'I' | +-------------+-------------+-------------------------------------+ | $64B5-$64C0 | ruleSetJ | grapheme rule set table - 'J' | +-------------+-------------+-------------------------------------+ | $64C1-$64CE | ruleSetK | grapheme rule set table - 'K' | +-------------+-------------+-------------------------------------+ | $64CF-$64F8 | ruleSetL | grapheme rule set table - 'L' | +-------------+-------------+-------------------------------------+ | $64F9-$6509 | ruleSetM | grapheme rule set table - 'M' | +-------------+-------------+-------------------------------------+ | $650A-$6547 | ruleSetN | grapheme rule set table - 'N' | +-------------+-------------+-------------------------------------+ | $6548-$6680 | ruleSetO | grapheme rule set table - 'O' | +-------------+-------------+-------------------------------------+ | $6681-$66A2 | ruleSetP | grapheme rule set table - 'P' | +-------------+-------------+-------------------------------------+ | $66A3-$66BF | ruleSetQ | grapheme rule set table - 'Q' | +-------------+-------------+-------------------------------------+ | $66C0-$66D0 | ruleSetR | grapheme rule set table - 'R' | +-------------+-------------+-------------------------------------+ | $66D1-$676A | ruleSetS | grapheme rule set table - 'S' | +-------------+-------------+-------------------------------------+ | $676B-$6826 | ruleSetT | grapheme rule set table - 'T' | +-------------+-------------+-------------------------------------+ | $6827-$68A1 | ruleSetU | grapheme rule set table - 'U' | +-------------+-------------+-------------------------------------+ | $68A2-$68B8 | ruleSetV | grapheme rule set table - 'V' | +-------------+-------------+-------------------------------------+ | $68B9-$691E | ruleSetW | grapheme rule set table - 'W' | +-------------+-------------+-------------------------------------+ | $691F-$692A | ruleSetX | grapheme rule set table - 'X' | +-------------+-------------+-------------------------------------+ | $692B-$6980 | ruleSetY | grapheme rule set table - 'Y' | +-------------+-------------+-------------------------------------+ | $6981-$6989 | ruleSetZ | grapheme rule set table - 'Z' | +-------------+-------------+-------------------------------------+ | $698A-$69FD | ruleSetSym | grapheme rule set table - non-letter| +-------------+-------------+-------------------------------------+ | $6A00-$6A1A | txt2grTable | text to grapheme table | +-------------+-------------+-------------------------------------+ ACIA Registers -------------- +-------+-------+-------------+ |ADDRESS| DIR. | DESCRIPTION | +-------+-------+-------------+ | | read | status | | $2002 +-------+-------------+ | | write | control | +-------+-------+-------------+ | | read | receive | | $2003 +-------+-------------+ | | write | transmit | +-------+-------+-------------+