Code Monkey home page Code Monkey logo

speakandspellti's Introduction

EN

This repo is a documented copy of the Speak & Spell TMS1000 source code as seen in US patent #4189779. Most of the original comments were copied and many more were added with clarifications.

Also provided are maps for ROM (cartridges), RAM and I/Os.

FR

Ce repo est une copie documentée du code source TMS1000 du brevet US #4189779 sur la Dictée Magique de Texas Instruments. La plupart des commentaires d'origine ont ete recopiés et de nombreux autres ont ete ajoutés.

Une carte de la ROM (cartouches), de la RAM et des E/Ss est aussi fournie.

Labels map

Label Page # Description
OFF Page 0 Turns power off by suicide
ADDCARRY Page 0 Add A to RAM with carry propagation
CLEAR Page 1 Clear display buffer and set cursor at position 0
CURLEVL Page 5 Init ROM address in RAM to 0
NOTFULL Page 1 Puts keycode in 0,14/0,15 in display buffer, increments cursor pos and BL to NO$TRANS
MEMADDR Page 10 Address ROM
OUTADDR2 Page 7 Get 4 bits from ROM in A
F-SCORE Page 1 Called with A=number of words tried ?
START Page 15 Entry point
DIFFSLY Page 4 Displays SPELL IT/SAY IT and difficulty level
MEMDRED Page 10 Dummy ROM read
TONES Page 11 Plays 4 tones (4 random sequences possible)
ADDCTR6 Page 4 BL from TONES, reads pointer and starts speaking
ADDWDS2 Page 14 Address ROM and starts speaking...
SPKREG Page 14
SPKREG+1 Page 14 Read synth statys, branch to BITSET0 when synth is talking (talk status = 1)
BITSET0 Page 14 Goes directly to DISP/KB
DISP/KB Page 15 Reset timeout counter 2 MSBs, reset debounce counter, goes into DSP1......

To do...

DSP1 Page 15 Reset R-line counter, goes into DSP2... | DSP2 Page 15 Load output PLA for character display Y, turn on corresponding R line, BL to TIMEUP | TIMEUP Page 0 Check for key press, if yes CAR2, if not continue to... | TIMEUP1 Page 0 inc timeout counter (3,8), RETN if called, turns off if counter > 3FFFF else CAR1 (X=0 and BL to DISP/KB1) | DISP/KB1 Page 15 Increment R-line counter, turn off last one, check if 8 characters done. No : BL to DSP2, Yes : turn off filament, | call to TIMEUP1 | Increment debounce counter, limit to F | If disp loop counter < 10, go to DSP1 | Test talk flag in (3,15), SPKREG+1 if speaking | DISPL+1 if bit 0 of (3,14) = 1 | Else DSP1 | DISPL+1 Page 8 KEYSEVL Page 15 Process key press A=keycode LSB, branches to... KEY1 Page 13 Handle keycode 1,xx KEY00 Page 13 Handle keycode 0,xx ROM Page 7 Module switch ? Adds 8 to (8,6) REPEAT Page 10 Copy DAM ROM address to page 1 ROM address and speak FILSLOOP Page 15 Fills RAM with A (dec Y) RANDOM Page 5 RCOMX8 Y=(8,0) COMX8 Y=(8,Y) SETBIT1 Page 10 Sets (8,2).1=1 ADDCTR6 Page 4 MEMADDR + LOADRESS + Speak it

speakandspellti's People

Contributors

furrtek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.