Advertisement
Guest User

dex

a guest
Jun 7th, 2008
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 5 CLS
  2.    7 PRINT TAB 5;"\{vi}**VOICE RECOGNITION**\{vn}",,,,,
  3.   10 PRINT TAB 3;"HOW MANY WORDS?"
  4.   20 INPUT w
  5.   30 IF w>15 THEN RUN
  6.   40 POKE 36508,w
  7.   50 CLEAR
  8.   60 DIM z$(768+128*PEEK 36508)
  9.   70 LET w=PEEK 36508
  10.   80 CLS
  11.   90 DIM w$(w,10)
  12.  100 FOR n=1 TO w
  13.  110 PRINT "ENTER WORD ";n
  14.  120 INPUT w$(n)
  15.  130 GO SUB 2000
  16.  140 NEXT n
  17. 1000 CLS
  18. 1010 PRINT TAB 6;"< TESTING ROUTINE >"
  19. 1020 RANDOMIZE USR 36863
  20. 1030 PRINT AT 6,3;"\{vi}SPEAK WHEN YOU ARE READY.\{vn}"
  21. 1040 LET l=USR 36700
  22. 1050 PRINT "THE WORD WAS: ";w$(l)
  23. 1060 PRINT ,,,,"CONFORMITY= ";PEEK 36417
  24. 1100 PRINT ,,,,TAB 4;"\{vi}MAKE A NOISE TO CONT.\{vn}"
  25. 1110 RANDOMIZE USR 36863+USR 36532
  26. 1160 CLS
  27. 1170 PRINT TAB 7;"\{vi} \{vn}** CONTINUE"
  28. 1180 PRINT TAB 7;"\{vi} \{vn}** CHANGE"
  29. 1190 PRINT TAB 7;"\{vi} \{vn}** RE-RUN"
  30. 1200 PRINT TAB 7;"\{vivi}G\{vn}?? LAST VOICE"
  31. 1210 FOR t=1 TO w
  32. 1220 PRINT TAB 7;"\{vi}G\{vn}";(" " AND t<10);t;" ";w$(t)
  33. 1230 NEXT t
  34. 1250 FOR t=0 TO 3+w
  35. 1260 PRINT AT t,10;"\{vi}>\{vn}"
  36. 1270 FOR a=1 TO 15
  37. 1280 IF USR 36922=1 THEN GO TO 1330
  38. 1290 NEXT a
  39. 1300 PRINT AT t,10;" "
  40. 1310 NEXT t
  41. 1320 GO TO 1250
  42. 1330 IF t<3 THEN GO TO (1000 AND t=0)+(1500 AND t=1)+(5 AND t=2)
  43. 1340 LET t=t-3
  44. 1350 LET e$=(" LAST VOICE" AND t=0)+(": "+w$(t+(t=0)) AND t>0)
  45. 1360 POKE 36417,t
  46. 1370 RANDOMIZE USR 36779
  47. 1380 PRINT "GRAPH OF";e$
  48. 1390 GO TO 1100
  49. 1500 PRINT AT USR 36940,5;"WHICH SOUND ? --"
  50. 1510 FOR t=4 TO 3+w
  51. 1520 PRINT AT t,10;"\{vi}>\{vn}"
  52. 1530 FOR a=1 TO 15
  53. 1540 IF USR 36922=1 THEN GO TO 1590
  54. 1550 NEXT a
  55. 1560 PRINT AT t,10;" "
  56. 1570 NEXT t
  57. 1580 GO TO 1510
  58. 1590 LET n=t-3
  59. 1600 GO SUB 2000
  60. 1610 GO TO 1150
  61. 2000 CLS
  62. 2010 PRINT AT 6,3;"\{vi}SPEAK WHEN YOU ARE READY\{vn}"
  63. 2020 POKE 36417,n
  64. 2030 RANDOMIZE USR 36586
  65. 2040 RETURN
  66.  
  67. PREEHLED ADRES:
  68.  
  69. 8E9C 36508  poceet zvuku
  70. 8E9B counter pri initu
  71.  
  72. 8E41 36417  cislo pri nahravani, take conformity
  73. 8EEA 36586  call pro nahravani
  74.  
  75. 8FFF 36863  call init ?
  76.  
  77. 8F5C 36700  call detekce (ret. BC=cislo zvuku), conformity
  78.  
  79. 8EB4 36532  make noise to cont.
  80.  
  81. 903A 36922  call, vraci 1 kdyz... (15x)
  82.  
  83. 8FAB 36779  call (36417 ktery) - graf?
  84.  
  85. 904C 36940  call
  86.  
  87. ;
  88.     ORG #8EA2
  89. ;
  90. L_8EA2  LD  HL,#8E9B
  91.     LD  A,#00
  92.     LD  (HL),A
  93.     LD  B,#FF
  94. L_8EAA  IN  A,(#FE)      ;zde je cteni z magnetofonu
  95.     CP  #FF
  96.     JR  NZ,L_8EB1
  97.     INC (HL)
  98. L_8EB1  DJNZ    L_8EAA
  99.     RET
  100. ;
  101. L_8EB4  CALL    #0F2B ; make noise to cont...              volani RET v ROM pri initu
  102. L_8EB7  CALL    L_8EA2
  103.     LD  A,(#8E9B)
  104.     CP  #30
  105. L_8EBE  EQU $-1  ;instrukce se prepisuje pri initu
  106. L_8EBF  JR  C,L_8EB7
  107.     RET         ; cela tahle vec cte mgf vstup, dokud nenacte mene nez 30h(48) krat FF pri 256 ctenich (ze by detekce sumu na vstupu?)
  108. ;                        RET se pak preskakuje pomoci ld a,(NN) misto jr a ret, ale ne v initu
  109. L_8EC2  LD  HL,(#8E30)
  110.     LD  BC,#0006
  111.     ADD HL,BC
  112.     PUSH    HL
  113.     CALL    L_8EB4
  114.     CALL    #0F23     ;skok do ROM... ZX Printer?
  115.     POP HL
  116.     LD  C,#80
  117. L_8ED3  PUSH    HL
  118.     CALL    L_8EA2
  119.     POP HL
  120.     LD  A,(#8E9B)
  121.     LD  (HL),A
  122.     INC HL
  123.     LD  D,#03
  124. L_8EDF  XOR A
  125. L_8EE0  DEC A
  126.     JR  NZ,L_8EE0
  127.     DEC D
  128.     JR  NZ,L_8EDF
  129.     DEC C
  130.     JR  NZ,L_8ED3
  131.     RET
  132. ;
  133. L_8EEA  LD  BC,(#8E30)    ; sem skace na nahravani zvuku
  134.     HL,#0086
  135.     ADD HL,BC
  136.     LD  D,H
  137.     LD  E,L
  138.     LD  HL,#0006
  139.     ADD HL,BC
  140.     LD  B,#05
  141. L_8EFA  PUSH    HL
  142.     PUSH    BC
  143.     PUSH    DE
  144.     PUSH    HL
  145.     CALL    L_8EC2
  146.     POP HL
  147.     POP DE
  148.     LD  BC,#0080
  149.     LDIR
  150.     POP BC
  151.     POP HL
  152.     DJNZ    L_8EFA
  153.     LD  HL,(#8E30)
  154.     PUSH    HL
  155.     LD  DE,#0286
  156.     ADD HL,DE
  157.     LD  A,(#8E41) ;zjisti cislo zvuku pro nahrani
  158.     LD  B,A
  159.     LD  DE,#0080
  160. L_8F1B  ADD HL,DE
  161.     DJNZ    L_8F1B
  162.     EX  (SP),HL
  163.     LD  DE,#0086
  164.     ADD HL,DE
  165.     POP DE
  166.     LD  C,#80
  167. L_8F26  LD  IY,#0000
  168.     PUSH    HL
  169.     LD  B,#05
  170. L_8F2D  PUSH    BC
  171.     LD  B,#00
  172.     LD  C,(HL)
  173.     ADD IY,BC
  174.     LD  BC,#0080
  175.     ADD HL,BC
  176.     POP BC
  177.     DJNZ    L_8F2D
  178.     PUSH    BC
  179.     LD  BC,#0005
  180.     PUSH    IY
  181.     POP HL
  182.     LD  A,#FF
  183. L_8F43  INC A
  184.     AND A
  185.     SBC HL,BC
  186.     JR  NC,L_8F43
  187.     LD  (DE),A
  188.     INC DE
  189.     POP BC
  190.     POP HL
  191.     INC HL
  192.     DEC C
  193.     JR  NZ,L_8F26
  194.     LD  IY,#8E20
  195.     CALL    #0A2A       ;zase skok do ROM... kurzor doleva?
  196.     CALL    #0F2B        ;zase skok na RET ?
  197.     RET
  198. ;
  199. L_8F5C (?)  CALL    L_900D     ;detekce zvuku
  200.     LD  DE,(#8E30)      
  201.     LD  HL,#0006
  202.     ADD HL,DE
  203.     PUSH    HL
  204.     LD  HL,#0306
  205.     ADD HL,DE
  206.     POP DE
  207.     LD  A,(#8E9C)   ;adresa pro pocet zvuku
  208.     LD  B,A
  209.     LD  A,#00         ;XOR A by bylo o bajt kratsi...
  210.     LD  (#8E41),A   ;vynuluje conformity
  211.     LD  C,#00
  212. L_8F78  PUSH    BC
  213.     LD  B,#80
  214.     LD  C,#00
  215.     PUSH    DE
  216. L_8F7E  LD  A,(DE)
  217.     SUB (HL)
  218.     JR  NC,L_8F84
  219.     NEG
  220. L_8F84  CP  #16
  221.     JR  NC,L_8F89
  222.     INC C
  223. L_8F89  INC DE
  224.     INC HL
  225.     DJNZ    L_8F7E
  226.  
  227.     POP DE
  228.     LD  A,(#8E41)  ; conformity
  229.     CP  C
  230.     LD  A,C
  231.     POP BC
  232.     JR  NC,L_8F9A
  233.     LD  C,B
  234.     LD  (#8E41),A      ;uloz conformity
  235. L_8F9A  DJNZ    L_8F78
  236.     LD  A,(#8E9C) ;adresa pro pocet zvuku
  237.     INC A
  238.     SUB C
  239.     LD  C,A     ;ted se v BC objevilo cislo detekovaneho zvuku
  240.     PUSH    BC
  241.     CALL    #0A2A      ;ROM
  242.     CALL    #0F2B       ;ROM
  243.     POP BC
  244.     RET               ;navrat - zvukove ovladani detekovalo prikaz
  245. ;
  246. L_8FAB (?)  CALL    #0F23   ;zase nesmysly s ROM
  247.     CALL    #0A2A            ;a zase
  248.     LD  HL,(#8E50)
  249.     PUSH    HL
  250.     LD  A,#98
  251.     LD  (#8E50),A
  252.     LD  HL,(#8E30)
  253.     LD  DE,#0006
  254.     ADD HL,DE
  255.     LD  A,(#8E41)
  256.     CP  #00
  257.     JR  Z,L_8FD1
  258.     LD  DE,#0080
  259.     ADD A,#05
  260.     LD  B,A
  261. L_8FCE  ADD HL,DE
  262.     DJNZ    L_8FCE
  263. L_8FD1  LD  B,#40
  264.     LD  C,#00
  265. L_8FD5  PUSH    BC
  266.     LD  E,(HL)
  267.     LD  A,E
  268.     INC HL
  269.     ADD A,(HL)
  270.     INC HL
  271.     PUSH    HL
  272.     RRA
  273.     LD  B,#00
  274. L_8FDF  INC B
  275.     SUB #04
  276.     JR  NC,L_8FDF
  277. L_8FE4  PUSH    BC
  278.     DEC B
  279.     CALL    #0BB5
  280.     POP BC
  281.     DJNZ    L_8FE4
  282.     POP HL
  283.     POP BC
  284.     INC C
  285.     DJNZ    L_8FD5
  286.     POP HL
  287.     LD  (#8E50),HL
  288.     CALL    #0F2B
  289.     LD  BC,#0000
  290.     CALL    #08F5
  291.     RET
  292. ;
  293. L_8FFFF LD  A,#30    ;zde je init
  294.     LD  (L_8EBF),A
  295.     CALL    L_8EB4
  296.     LD  A,#38
  297.     LD  (L_8EBF),A ; p&#345;episuje instrukci jr c,N na ld (NN),a
  298.     RET
  299. ;
  300. L_900D  CALL    L_8EC2
  301.     LD  IY,(#8E30)
  302.     LD  DE,#0007
  303.     ADD IY,DE
  304.     LD  B,#7D
  305. L_901B  LD  A,(IY+#01)
  306.     ADD A,(IY-#01)
  307.     RRA
  308.     LD  C,A
  309.     SUB (IY+#00)
  310.     JR  NC,L_902A
  311.     NEG
  312. L_902A  CP  #0A
  313.     JR  C,L_9031
  314.     LD  (IY+#00),C
  315. L_9031  INC IY
  316.     DJNZ    L_901B
  317.     LD  IY,#8E20
  318.     RET
  319. ;
  320.     CALL    L_8EA2
  321.     LD  BC,#0000
  322.     LD  A,(L_8EBE)
  323.     LD  D,A
  324.     LD  A,(#8E9B)
  325.     CP  D
  326.     JR  C,L_904B
  327.     INC C
  328. L_904B  RET
  329. ;
  330.     LD  BC,#0000
  331.     CALL    #08F5
  332.     LD  B,#80
  333. L_9054  LD  A,#00
  334.     PUSH    BC
  335.     RST #10
  336.     POP BC
  337.     DJNZ    L_9054
  338.     RET
  339. ;
  340. ;#905C
  341. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement