%  "TALK" - DICTIONARY DEMO PROG>  900: CLEAR SCREEN^™ " T A L K "}™ " £££££££"¤™ "THIS PROGRAM ALLOWS INPUT OF ";Ë™ "STRINGS OF PHONEMES (WORDS";ñ™ ") REPRESENTED BY 64 ASCII ";™ "CHARACTERS. THE FOUR LEVELS ";>™ "OF INFLECTION CONTROL (NUM";d™ "BERS 0-3) MAY BE HANDLED BY ";†™ "EITHER OF TWO METHODS:":™:¬ ™ "(1) NUMBERS INSERTED BE" ;Ò"™ "TWEEN PHONEMES OR" :ø$™ "(2) ÿ0,ÿ1,ÿ2 OR ÿ3 INSERTED ";&™ "AT THE BE- GINNING OF " ;D(™ "WORDS AND BETWEEN PHONEMES ";k*™ " TO DENOTE A CHANGE IN INFLEC";,™ "TION.": ™:¯.™ "FOR EXAMPLE:": ™:×0™ "'BE' = '3B1E1E' OR 'ÿ3Bÿ1EE'":™:þ2™ "SEE REFERENCE MANUAL APPENDIX";%4™ " II FOR DICTIONARY. NOTE:";L6™ " TYPING 'GOSUB 3000' PROVIDE";n8™ "S A SUBROUTINE MAP.": ™:~< J ² 1 ¤ 1š>™ "TYPE C TO CONTINUE";£@… J$¿B‹ J$ ³± "C" § J ² J « 1ÇD‚ JäF 900: CLEAR THE SCREEN-P™ " I N S T R U C T I O N S:":™ " ££££££££££££££££££££££££TU™ " PROMPT = 'WORD #X'":™:sZ™ " RESPONSE ";„_™ " RESULT":‹d™:©i™ "'PHONEME STRING' ";Án™ "4010 SAYS WORD":ßs™ "'OK' ";óx™ "SAVES WORD": }™ "'R' ";. ‚™ "4010 REPEATS LAST OUTPUT":C ‡™ "'SAY ALL' ";h Œ™ "4010 REPEATS ALL SAVED WORDS"„ ‘™ "'STOP' ";Ÿ –™ "TERMINATES PROGRAM"¨ ›™:™:¸   J ² 1 ¤ 1Ô ¥™ "TYPE C TO CONTINUE";Ý ª… J$ø ¯‹ J$ ³± "C"§ J ² J « 1 ´‚ J ¹œ : 900: CLEAR PAGEE ¾† S%(200):† A%(200): DIM ORAL STRINGS^ Ï SET 4010 ADDRESSES‡ ÈDP ² 59471: DATA PORT ADDRESS $E84F² ÍCP ² 59468: CONTROL PORT ADDRESS$E84CÛ ÒRY ² 59469: READY SIGNAL PORT $E84D ×PA ² 59457: CLEAR READY SIGNAL $E841) ÜDD ² 59459: DATA DIR REG $E843? ፠700: INIT 4010E &X ' MAIN ROUTINEx ( READS INPUT; CALLS OUTPUTŠ ) SUBROUTINES *À ,S%(0)²3:S%(1)²255:S%(2)²49:S%(3)²45:A%(0)²0Ò . G ² 1 ¤ 200Ü 1X ² 0ô 6™ "WORD #";G;:… SP$ ;‹ SP$ ² "OK" §  360: X² 21 @‹ SP$² "R" §  1000:X ² 1O B‹ SP$ ² "SAY ALL" § X ² 1t E‹ SP$² "SAY ALL" ¯ G ±1 §  2000 J‹ SP$ ² "STOP" § X ² 3« O‹ X ² 0 §  2100: X ² 1 T‹ X ² 1 § G² G « 1î Y‹ X ³± 3 § ‚ Gô ^€ hJ ² A%(0)ª1 k I ² 1 ¤ S%(0)0 mA%(J) ² S%(I):J²Jª18 o‚ IN qA%(0)²A%(0)ªS%(0)T rŽ{ Œ ANNOTATED PHOMENE OUTPUT ROUTINE¤  PH: PHOMENE CHARACTER VALUE (0-63)Ê Ž IN: IS INFLECTION VALUE(0-3)*64ñ  ZZ = PEEK(PA) CLEAR READY SIGNAL(š POKE DP,(PH AND 63) + IN WRITE DATA BYTE TO 4010h¤ ZZ= PEEK(CP) READ CONTROL PORT TO SEND DATA READY TO 4010® POKE CP,ZZ AND 223 CLEAR BIT 5®¸ POKE CP,ZZ OR 32 SET BIT 5ԏ ZZ = TI + 300 SET MAX WAIT TIMȄ IF ZZ‹ PH ² 255 §  2140:‰ 2123H 2200KS%(0) ² K « 17M 1000: OUTPUT PHOMENE STRING=RŽN\ I ² 1 ¤ LEefPH ² Æ(Ê(SP$,I,1))wkS%(I)²PH ¯ 63¹p‹ PH ² 255§ S%(I)²PH:I²Iª1:IN$²Ê(SP$,I,1): 2190:S%(I)²Æ(IN$)Áz‚ IËK ² IÑ„Ž Ž‹ IN$ ±"3" ° IN$ ³"0"§ ™ "INFLECTION CONTROL <> 0-3":Ž“Ž!˜FL ²«1:K²18¢ I ² 0 ¤ LE«2 © 2O¬IN$ ² Ê(SP$,Iª1,1)_±IN ² Æ(IN$)•¶‹ IN ³± FL § S%(K) ²255: S%(Kª1)²IN: FL ²IN:K²Kª2 À 2190¹ÔPH ² Æ(Ê(SP$,Iª2,1))ÎÞS%(K) ² PH:K²Kª1Öü‚ IÜ Žõ¸  900: CLEAR SCREEN½ ™ " PROGRAM MAP":™:1 ™ "LINE #'S FUNCTIONS8Ç ™:aÌ ™ "10-180 PROGRAM DESCRIPTIONŠÖ ™ "185-220 SET 4010 ADDRESSES"­à ™ "294-350 MAIN ROUTINE"Îï ™ "396-470 ANNOTATION"ðñ ™ "580-4000 SUBROUTINES"÷ô ™:þ ™ "SUBROUTINE DESCRIPTIONS" ™:B ™ "ENTRY LINE #'S FUNCTIONS"j& ™ "600 580-650 WRITE PHOMENE"0 ™ "700 695-730 START 4010"³: ™ "800 794-810 STOP 4010"ÚD ™ "900 895-910 CLEAR SCREEN"N ™ "1000 994-1080 OUTPUT STRING"$X ™ "2000 1995-2040 SAY ALL"Jb ™ "2100 2096-2320 TRANSLATION"sl ™ "3000 3000-4000 SUBROUTINE MAP"y Ž