Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 5 CLS
- 7 PRINT TAB 5;"\{vi}**VOICE RECOGNITION**\{vn}",,,,,
- 10 PRINT TAB 3;"HOW MANY WORDS?"
- 20 INPUT w
- 30 IF w>15 THEN RUN
- 40 POKE 36508,w
- 50 CLEAR
- 60 DIM z$(768+128*PEEK 36508)
- 70 LET w=PEEK 36508
- 80 CLS
- 90 DIM w$(w,10)
- 100 FOR n=1 TO w
- 110 PRINT "ENTER WORD ";n
- 120 INPUT w$(n)
- 130 GO SUB 2000
- 140 NEXT n
- 1000 CLS
- 1010 PRINT TAB 6;"< TESTING ROUTINE >"
- 1020 RANDOMIZE USR 36863
- 1030 PRINT AT 6,3;"\{vi}SPEAK WHEN YOU ARE READY.\{vn}"
- 1040 LET l=USR 36700
- 1050 PRINT "THE WORD WAS: ";w$(l)
- 1060 PRINT ,,,,"CONFORMITY= ";PEEK 36417
- 1100 PRINT ,,,,TAB 4;"\{vi}MAKE A NOISE TO CONT.\{vn}"
- 1110 RANDOMIZE USR 36863+USR 36532
- 1160 CLS
- 1170 PRINT TAB 7;"\{vi} \{vn}** CONTINUE"
- 1180 PRINT TAB 7;"\{vi} \{vn}** CHANGE"
- 1190 PRINT TAB 7;"\{vi} \{vn}** RE-RUN"
- 1200 PRINT TAB 7;"\{vivi}G\{vn}?? LAST VOICE"
- 1210 FOR t=1 TO w
- 1220 PRINT TAB 7;"\{vi}G\{vn}";(" " AND t<10);t;" ";w$(t)
- 1230 NEXT t
- 1250 FOR t=0 TO 3+w
- 1260 PRINT AT t,10;"\{vi}>\{vn}"
- 1270 FOR a=1 TO 15
- 1280 IF USR 36922=1 THEN GO TO 1330
- 1290 NEXT a
- 1300 PRINT AT t,10;" "
- 1310 NEXT t
- 1320 GO TO 1250
- 1330 IF t<3 THEN GO TO (1000 AND t=0)+(1500 AND t=1)+(5 AND t=2)
- 1340 LET t=t-3
- 1350 LET e$=(" LAST VOICE" AND t=0)+(": "+w$(t+(t=0)) AND t>0)
- 1360 POKE 36417,t
- 1370 RANDOMIZE USR 36779
- 1380 PRINT "GRAPH OF";e$
- 1390 GO TO 1100
- 1500 PRINT AT USR 36940,5;"WHICH SOUND ? --"
- 1510 FOR t=4 TO 3+w
- 1520 PRINT AT t,10;"\{vi}>\{vn}"
- 1530 FOR a=1 TO 15
- 1540 IF USR 36922=1 THEN GO TO 1590
- 1550 NEXT a
- 1560 PRINT AT t,10;" "
- 1570 NEXT t
- 1580 GO TO 1510
- 1590 LET n=t-3
- 1600 GO SUB 2000
- 1610 GO TO 1150
- 2000 CLS
- 2010 PRINT AT 6,3;"\{vi}SPEAK WHEN YOU ARE READY\{vn}"
- 2020 POKE 36417,n
- 2030 RANDOMIZE USR 36586
- 2040 RETURN
- PREEHLED ADRES:
- 8E9C 36508 poceet zvuku
- 8E9B counter pri initu
- 8E41 36417 cislo pri nahravani, take conformity
- 8EEA 36586 call pro nahravani
- 8FFF 36863 call init ?
- 8F5C 36700 call detekce (ret. BC=cislo zvuku), conformity
- 8EB4 36532 make noise to cont.
- 903A 36922 call, vraci 1 kdyz... (15x)
- 8FAB 36779 call (36417 ktery) - graf?
- 904C 36940 call
- ;
- ORG #8EA2
- ;
- L_8EA2 LD HL,#8E9B
- LD A,#00
- LD (HL),A
- LD B,#FF
- L_8EAA IN A,(#FE) ;zde je cteni z magnetofonu
- CP #FF
- JR NZ,L_8EB1
- INC (HL)
- L_8EB1 DJNZ L_8EAA
- RET
- ;
- L_8EB4 CALL #0F2B ; make noise to cont... volani RET v ROM pri initu
- L_8EB7 CALL L_8EA2
- LD A,(#8E9B)
- CP #30
- L_8EBE EQU $-1 ;instrukce se prepisuje pri initu
- L_8EBF JR C,L_8EB7
- RET ; cela tahle vec cte mgf vstup, dokud nenacte mene nez 30h(48) krat FF pri 256 ctenich (ze by detekce sumu na vstupu?)
- ; RET se pak preskakuje pomoci ld a,(NN) misto jr a ret, ale ne v initu
- L_8EC2 LD HL,(#8E30)
- LD BC,#0006
- ADD HL,BC
- PUSH HL
- CALL L_8EB4
- CALL #0F23 ;skok do ROM... ZX Printer?
- POP HL
- LD C,#80
- L_8ED3 PUSH HL
- CALL L_8EA2
- POP HL
- LD A,(#8E9B)
- LD (HL),A
- INC HL
- LD D,#03
- L_8EDF XOR A
- L_8EE0 DEC A
- JR NZ,L_8EE0
- DEC D
- JR NZ,L_8EDF
- DEC C
- JR NZ,L_8ED3
- RET
- ;
- L_8EEA LD BC,(#8E30) ; sem skace na nahravani zvuku
- HL,#0086
- ADD HL,BC
- LD D,H
- LD E,L
- LD HL,#0006
- ADD HL,BC
- LD B,#05
- L_8EFA PUSH HL
- PUSH BC
- PUSH DE
- PUSH HL
- CALL L_8EC2
- POP HL
- POP DE
- LD BC,#0080
- LDIR
- POP BC
- POP HL
- DJNZ L_8EFA
- LD HL,(#8E30)
- PUSH HL
- LD DE,#0286
- ADD HL,DE
- LD A,(#8E41) ;zjisti cislo zvuku pro nahrani
- LD B,A
- LD DE,#0080
- L_8F1B ADD HL,DE
- DJNZ L_8F1B
- EX (SP),HL
- LD DE,#0086
- ADD HL,DE
- POP DE
- LD C,#80
- L_8F26 LD IY,#0000
- PUSH HL
- LD B,#05
- L_8F2D PUSH BC
- LD B,#00
- LD C,(HL)
- ADD IY,BC
- LD BC,#0080
- ADD HL,BC
- POP BC
- DJNZ L_8F2D
- PUSH BC
- LD BC,#0005
- PUSH IY
- POP HL
- LD A,#FF
- L_8F43 INC A
- AND A
- SBC HL,BC
- JR NC,L_8F43
- LD (DE),A
- INC DE
- POP BC
- POP HL
- INC HL
- DEC C
- JR NZ,L_8F26
- LD IY,#8E20
- CALL #0A2A ;zase skok do ROM... kurzor doleva?
- CALL #0F2B ;zase skok na RET ?
- RET
- ;
- L_8F5C (?) CALL L_900D ;detekce zvuku
- LD DE,(#8E30)
- LD HL,#0006
- ADD HL,DE
- PUSH HL
- LD HL,#0306
- ADD HL,DE
- POP DE
- LD A,(#8E9C) ;adresa pro pocet zvuku
- LD B,A
- LD A,#00 ;XOR A by bylo o bajt kratsi...
- LD (#8E41),A ;vynuluje conformity
- LD C,#00
- L_8F78 PUSH BC
- LD B,#80
- LD C,#00
- PUSH DE
- L_8F7E LD A,(DE)
- SUB (HL)
- JR NC,L_8F84
- NEG
- L_8F84 CP #16
- JR NC,L_8F89
- INC C
- L_8F89 INC DE
- INC HL
- DJNZ L_8F7E
- POP DE
- LD A,(#8E41) ; conformity
- CP C
- LD A,C
- POP BC
- JR NC,L_8F9A
- LD C,B
- LD (#8E41),A ;uloz conformity
- L_8F9A DJNZ L_8F78
- LD A,(#8E9C) ;adresa pro pocet zvuku
- INC A
- SUB C
- LD C,A ;ted se v BC objevilo cislo detekovaneho zvuku
- PUSH BC
- CALL #0A2A ;ROM
- CALL #0F2B ;ROM
- POP BC
- RET ;navrat - zvukove ovladani detekovalo prikaz
- ;
- L_8FAB (?) CALL #0F23 ;zase nesmysly s ROM
- CALL #0A2A ;a zase
- LD HL,(#8E50)
- PUSH HL
- LD A,#98
- LD (#8E50),A
- LD HL,(#8E30)
- LD DE,#0006
- ADD HL,DE
- LD A,(#8E41)
- CP #00
- JR Z,L_8FD1
- LD DE,#0080
- ADD A,#05
- LD B,A
- L_8FCE ADD HL,DE
- DJNZ L_8FCE
- L_8FD1 LD B,#40
- LD C,#00
- L_8FD5 PUSH BC
- LD E,(HL)
- LD A,E
- INC HL
- ADD A,(HL)
- INC HL
- PUSH HL
- RRA
- LD B,#00
- L_8FDF INC B
- SUB #04
- JR NC,L_8FDF
- L_8FE4 PUSH BC
- DEC B
- CALL #0BB5
- POP BC
- DJNZ L_8FE4
- POP HL
- POP BC
- INC C
- DJNZ L_8FD5
- POP HL
- LD (#8E50),HL
- CALL #0F2B
- LD BC,#0000
- CALL #08F5
- RET
- ;
- L_8FFFF LD A,#30 ;zde je init
- LD (L_8EBF),A
- CALL L_8EB4
- LD A,#38
- LD (L_8EBF),A ; přepisuje instrukci jr c,N na ld (NN),a
- RET
- ;
- L_900D CALL L_8EC2
- LD IY,(#8E30)
- LD DE,#0007
- ADD IY,DE
- LD B,#7D
- L_901B LD A,(IY+#01)
- ADD A,(IY-#01)
- RRA
- LD C,A
- SUB (IY+#00)
- JR NC,L_902A
- NEG
- L_902A CP #0A
- JR C,L_9031
- LD (IY+#00),C
- L_9031 INC IY
- DJNZ L_901B
- LD IY,#8E20
- RET
- ;
- CALL L_8EA2
- LD BC,#0000
- LD A,(L_8EBE)
- LD D,A
- LD A,(#8E9B)
- CP D
- JR C,L_904B
- INC C
- L_904B RET
- ;
- LD BC,#0000
- CALL #08F5
- LD B,#80
- L_9054 LD A,#00
- PUSH BC
- RST #10
- POP BC
- DJNZ L_9054
- RET
- ;
- ;#905C
- ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement