% � "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:";L 6™ " TYPING 'GOSUB 3000' PROVIDE";n 8™ "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:":™ " ££££££££££££££££££££££££T U™ " PROMPT = 'WORD #X'":™:s Z™ " 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 ² 1OB‹ SP$ ² "SAY ALL" § X ² 1tE‹ 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)ª1k� I ² 1 ¤ S%(0)0mA%(J) ² S%(I):J²Jª18o‚ INqA%(0)²A%(0)ªS%(0)TrŽ{Œ� 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 TIMEÌ� 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 Ž