% "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 § 2000J‹ 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 Ž