1000 ; よみあげくん 1010 ; programmed by akky 1020 ORG 0A000H 1030 ; 1040 LD HL,8001H 1050 MAIN: LD A,(HL) 1060 LD B,A 1070 INC HL 1080 LD A,(HL) 1090 ADD A,B 1100 OR A 1110 RET Z 1120 INC HL 1130 ; 1140 PUSH HL 1150 LD A,(HL) 1160 LD E,A 1170 INC HL 1180 LD A,(HL) 1190 LD D,A 1200 EX DE,HL 1210 LD (LINENO),HL 1220 CALL BCHANGE 1230 LD HL,0FC30H 1240 LD B,5 1250 LOOP3: LD A,(HL) 1260 PUSH AF 1270 CP "0" ;ヨミトハ゛ス 1280 JR Z,GOTO1 1290 LD A,01H 1300 LD (ZEROS),A 1310 GOTO2: POP AF 1320 PUSH HL 1330 PUSH BC 1340 CALL TALK1 1350 POP BC 1360 POP HL 1370 GOTO3: INC HL 1380 DJNZ LOOP3 1390 JR GOTO4 1400 GOTO1: LD A,(ZEROS) 1410 OR A 1420 JR NZ,GOTO2 1430 POP AF 1440 JR GOTO3 1450 GOTO4: POP HL 1460 INC HL 1470 INC HL 1480 XOR A 1490 LD (ZEROS),A 1500 ; 1510 RR1: LD A,(HL) 1520 CP 80H 1530 JP C,RR3 ;80H OVER=チュウカンケ゛ンコ゛ 1540 CP 83H ;「DATA」? 1550 JR Z,SUB1 1560 CP 8EH ;「REM」? 1570 JR Z,SUB2 1580 PUSH AF 1590 LD A,(ASCFLAG) 1600 OR A 1610 JR NZ,SUB5 1620 LD A,(DATFLAG) 1630 OR A 1640 JR NZ,SUB5 1650 LD A,(REMFLAG) 1660 OR A 1670 JR NZ,SUB5 1680 POP AF 1690 ; 1700 RR2: PUSH HL 1710 PUSH BC 1720 CALL TALK2 1730 POP BC 1740 POP HL 1750 RR7: INC HL 1760 LD A,(0FA18H) 1770 CP 03H ;STOP KEY? 1780 JR Z,STOPR 1790 CP 1BH ;ESCAPE KEY? 1800 CALL Z,ESCR 1810 ; 1820 LD A,(HL) 1830 OR A 1840 JR Z,SUB3 1850 CP ":" 1860 JR NZ,RR1 1870 LD A,(DATFLAG) 1880 OR A 1890 JR Z,RR1 1900 XOR A 1910 LD (DATFLAG),A 1920 JR RR1 1930 ; 1940 ESCR: CALL 274DH 1950 ; 1960 OR A 1970 RET Z ;ANOTHER KEY TO CONTINUE 1980 JR ESCR 1990 ; 2000 SUB1: PUSH AF 2010 LD A,01H 2020 LD (DATFLAG),A 2030 POP AF 2040 JR RR2 2050 ; 2060 SUB2: PUSH AF 2070 LD A,01H 2080 LD (REMFLAG),A 2090 POP AF 2100 JR RR2 2110 ; 2120 SUB3: PUSH HL 2130 LD HL,DATA4 2140 CALL R9 2150 POP HL 2160 XOR A 2170 LD (ASCFLAG),A 2180 LD (DATFLAG),A 2190 LD (REMFLAG),A 2200 INC HL 2210 JP MAIN 2220 SUB5: POP AF 2230 PUSH HL 2240 PUSH BC 2250 CALL TALK1 2260 POP BC 2270 POP HL 2280 JR RR7 2290 ; 2300 STOPR: XOR A 2310 LD (ASCFLAG),A 2320 LD (DATFLAG),A 2330 LD (REMFLAG),A 2340 LD HL,0395H ;'Break'+00H MESSEGE DATA 2350 CALL 30CFH 2360 LD HL,(LINENO) 2370 JP 3A99H ;ギョウNO PRINT AND RETURN 2380 RR3: CP 22H 2390 JR NZ,RR4 2400 PUSH AF 2410 LD A,(ASCFLAG) 2420 OR A 2430 JR NZ,SUB4 2440 LD A,01H 2450 LD (ASCFLAG),A 2460 JR SUB5 2470 ; 2480 SUB4: XOR A 2490 LD (ASCFLAG),A 2500 JR SUB5 2510 ; 2520 RR4: CP 14H 2530 JR NZ,RR5 2540 PUSH AF 2550 LD A,(GRPFLAG) 2560 OR A 2570 JR NZ,RR6 2580 LD A,01H 2590 LD (GRPFLAG),A 2600 POP AF 2610 JP RR7 2620 ; 2630 RR5: PUSH AF 2640 LD A,(GRPFLAG) 2650 OR A 2660 JR Z,SUB5 2670 RR6: POP AF 2680 PUSH HL 2690 PUSH BC 2700 CALL TALK3 2710 POP BC 2720 POP HL 2730 XOR A 2740 LD (GRPFLAG),A 2750 JP RR7 2760 ; LD A,21H 2770 TALK1: LD HL,DATA1 2780 SUB 20H 2790 JR S1 2800 TALK2: LD HL,DATA2 2810 SUB 80H 2820 JR S1 2830 TALK3: LD HL,DATA3 2840 SUB 30H 2850 S1: INC A 2860 LD B,A 2870 LOOP1: LD A,(HL) 2880 INC HL 2890 OR A 2900 JR Z,R1 2910 JR LOOP1 2920 ; 2930 R1: DEC B 2940 JR NZ,LOOP1 2950 ; 2960 R9: LD DE,VWORK 2970 LD A,(SEX) 2980 LD (DE),A 2990 INC DE 3000 LD A,02H ;(VSPEED) 3010 ADD A,30H 3020 LD (DE),A 3030 INC DE 3040 LD A," " 3050 LD (DE),A 3060 INC DE 3070 LD B,00H 3080 LOOP2: LD A,(HL) 3090 OR A 3100 JR Z,R2 3110 INC B 3120 LD (DE),A 3130 INC HL 3140 INC DE 3150 JR LOOP2 3160 R2: INC B 3170 INC B 3180 INC B 3190 LD A,B 3200 LD E,B 3210 LD (0DFFFH),A 3220 LD HL,VWORK 3230 CALL 757AH 3240 CALL 4000H ;TALK 3250 PUSH AF 3260 LD A,11H ;BANK CHANGE 3270 CALL 2698H 3280 POP AF 3290 RET 3300 ENDING: LD (0E100H),A 3310 LD (0E101H),HL 3320 RET 3330 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3340 BCHANGE:PUSH HL 3350 LD HL,0FC30H ;FC30Hカラ 0fillシナイト 00ノトキ コマル 3360 LD A,"0" 3370 LD B,6 3380 LOOPS: LD (HL),A 3390 INC HL 3400 DJNZ LOOPS 3410 POP HL 3420 LD B,0 ;HL---> 5BITE 10シンスウ ニ ヘンカン スル 3430 RRR1: LD DE,2710H ;2710H=10000 3440 OR A ;RESET CY FLAG 3450 SBC HL,DE 3460 JR NC,G1 3470 ADD HL,DE 3480 LD B,0 3490 RRR2: LD DE,03E8H ;03E8H=1000 3500 OR A ;RESET CY FLAG 3510 SBC HL,DE 3520 JR NC,G2 3530 ADD HL,DE 3540 LD B,0 3550 RRR3: LD DE,0064H ;0064H=100 3560 OR A ;RESET CY FLAG 3570 SBC HL,DE 3580 JR NC,G3 3590 ADD HL,DE 3600 LD B,0 3610 RRR4: LD DE,000AH ;000AH=10 3620 OR A ;RESET CY FLAG 3630 SBC HL,DE 3640 JR NC,G4 3650 ADD HL,DE 3660 LD A,L 3670 ADD A,30H 3680 LD (0FC34H),A 3690 RET 3700 ; 3710 G1: INC B 3720 LD A,B 3730 ADD A,30H 3740 LD (0FC30H),A 3750 JR RRR1 3760 G2: INC B 3770 LD A,B 3780 ADD A,30H 3790 LD (0FC31H),A 3800 JR RRR2 3810 G3: INC B 3820 LD A,B 3830 ADD A,30H 3840 LD (0FC32H),A 3850 JR RRR3 3860 G4: INC B 3870 LD A,B 3880 ADD A,30H 3890 LD (0FC33H),A 3900 JR RRR4 3910 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3920 DATA1: DB 00H,"/.",00H,"biqkuri.",00H,"textex." 3930 DB 00H,"SYA-PU.",00H,"DARA-.",00H,"PA-SEXTO.",00H,"AXDO." 3940 DB 00,"TEX.",00,"KAQKO.",00,"KAQKO.",00,"KAKERU.",00,"PURASU." 3950 DB 00H,"KOXMA.",00H,"MAINASU.",00H,"PIRIODO.",00H,"SURAQSYU." 3960 DB 00H,"ZERO.",00H,"ICI.",00H,"NI-.",00H,"SAX.",00H,"YOX." 3970 DB 00H,"GO-.",00H,"ROKU.",00H,"NANA.",00H,"HACI.",00H,"KYU-." 3980 DB 00H,"KOROX.",00H,"SEMIKOROX.",00H,"DAINARI.",00H,"IKO-RU." 3990 DB 00H,"SYO-NARI.",00H,"KUEQSYOXMA-KU.",00H,"AQTOMA-KU." 4000 DB 00H,"E-.",00H,"BI-.",00H,"SI-.",00H,"DE-.",00H,"I-." 4010 DB 00H,"EFU.",00H,"ZI-.",00H,"EICI.",00H,"AI.",00H,"ZYEI." 4020 DB 00H,"KE-.",00H,"ERU.",00H,"EMU.",00H,"ENU.",00H,"O-" 4030 DB 00H,"PI-.",00H,"KYU-.",00H,"A-RU.",00H,"ESU.",00H,"TI-" 4040 DB 00H,"YU-.",00H,"BUI.",00H,"DABURYU-.",00H,"EQKUSU." 4050 DB 00H,"WAI.",00H,"ZEQTO.",00H,"DAIKAQKO.",00H,"NEDAX." 4060 DB 00H,"DAIKAQKO.",00H,"AQPURO-.",00H,"BA-.",00H,"/." 4070 DB 00H,"E-.",00H,"BI-.",00H,"SI-.",00H,"DE-.",00H,"I-." 4080 DB 00H,"EFU.",00H,"ZI-.",00H,"EICI.",00H,"AI.",00H,"ZYEI." 4090 DB 00H,"KEI.",00H,"ERU.",00H,"EMU.",00H,"ENU.",00H,"O-" 4100 DB 00H,"PI-.",00H,"KYU-.",00H,"A-RU.",00H,"ESU.",00H,"TI-" 4110 DB 00H,"YU-.",00H,"BUI.",00H,"DABURYU-.",00H,"EQKUSU." 4120 DB 00H,"WAI.",00H,"ZEQTO.",00H,"CYU-KAQKO.",00H,"KIGOO." 4130 DB 00H,"CYU-KAQKO.",00H,"NAMI.",00H,"/.",00H,"SUPE-DO." 4140 DB 00H,"HA-TO.",00H,"KURABU.",00H,"DAIYA.",00H,"SIRONUKIMARU." 4150 DB 00H,"KURONURIMARU.",00H,"O.",00H,"A.",00H,"I.",00H,"U." 4160 DB 00H,"E.",00H,"O.",00H,"YA.",00H,"YU.",00H,"YO.",00H,"CU." 4170 DB 00H,"/.",00H,"A.",00H,"I.",00H,"U.",00H,"E.",00H,"O." 4180 DB 00H,"KA.",00H,"KI.",00H,"KU.",00H,"KE.",00H,"KO." 4190 DB 00H,"SA.",00H,"SI.",00H,"SU.",00H,"SE.",00H,"SO." 4200 DB 00H,"/.",00H,"KUTO-TEX.",00H,"KAGIKAQKO",00H,"KAGIKAQKO" 4210 DB 00H,"KUTO-TEX" 4220 DB 00H,"TEX.",00H,"O.",00H,"A.",00H,"I.",00H,"U." 4230 DB 00H,"E.",00H,"O.",00H,"YA.",00H,"YU.",00H,"YO.",00H,"CU." 4240 DB 00H,"SEX.",00H,"A.",00H,"I.",00H,"U.",00H,"E.",00H,"O." 4250 DB 00H,"KA.",00H,"KI.",00H,"KU.",00H,"KE.",00H,"KO." 4260 DB 00H,"SA.",00H,"SI.",00H,"SU.",00H,"SE.",00H,"SO." 4270 DB 00H,"TA.",00H,"CI.",00H,"CU.",00H,"TE.",00H,"TO." 4280 DB 00H,"NA.",00H,"NI.",00H,"NU.",00H,"NE.",00H,"NO." 4290 DB 00H,"HA.",00H,"HI.",00H,"HU.",00H,"HE.",00H,"HO." 4300 DB 00H,"MA.",00H,"MI.",00H,"MU.",00H,"ME.",00H,"MO." 4310 DB 00H,"YA.",00H,"YU.",00H,"YO." 4320 DB 00H,"RA.",00H,"RI.",00H,"RU.",00H,"RE.",00H,"RO." 4330 DB 00H,"WA.",00H,"UX.",00H,"DAKUTEX.",00H,"HAXDAKUTEX." 4340 DB 00H,"TA.",00H,"CI.",00H,"CU.",00H,"TE.",00H,"TO." 4350 DB 00H,"NA.",00H,"NI.",00H,"NU.",00H,"NE.",00H,"NO." 4360 DB 00H,"HA.",00H,"HI.",00H,"HU.",00H,"HE.",00H,"HO." 4370 DB 00H,"MA.",00H,"MI.",00H,"MU.",00H,"ME.",00H,"MO." 4380 DB 00H,"YA.",00H,"YU.",00H,"YO." 4390 DB 00H,"RA.",00H,"RI.",00H,"RU.",00H,"RE.",00H,"RO." 4400 DB 00H,"WA.",00H,"UX.",00H,"/.",00H,"/.",00H 4410 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4420 DATA2: DB 00H,"EXDO.",00H,"FO-.",00H,"NEKUSUTO.",00H,"DE-DA-." 4430 DB 00H,"IXPUQTO.",00H,"DIMEXZYOX.",00H,"RI-DO.",00H,"REQTO." 4440 DB 00H,"GO-TU-.",00H,"RAX.",00H,"IFU.",00H,"RISUTOA." 4450 DB 00H,"GO-SABU.",00H,"RITA-X.",00H,"RIMA-KU.",00H,"SUTOQPU." 4460 DB 00H,"AUTO.",00H,"OX.",00H,"ERUPURIXTO.",00H,"DIFAIX." 4470 DB 00H,"PO-KU.",00H,"PURIXTO.",00H,"COXTINYU-.",00H,"RISUTO." 4480 DB 00H,"ERURISUTO.",00H,"KURIA-.",00H,"KARA-." 4490 DB 00H,"POIXTOSEQTO.",00H,"POIXTORISEQTO.",00H,"LAIX" 4500 DB 00H,"PEIXTO.",00H,"SUKURI-X.",00H,"SI-ERUESU." 4510 DB 00H,"ROKE-TO.",00H,"KOXSO-RU.",00H,"SI-RO-DO." 4520 DB 00H,"SI-SE-BU.",00H,"EGUZEKYU-TO.",00H,"SAUXDO." 4530 DB 00H,"PUREI.",00H,"KI-.",00H,"ERUKOPI-.",00H,"NYU-." 4540 DB 00H,"RINAXBA-.",00H,"SA-KURU.",00H,"GEQTO.",00H,"PUQTO." 4550 DB 00H,"BI-RO-DO.",00H,"BI-SE-BU.",00H,"FAIRUZU." 4560 DB 00H,"ERUFAIRUZU.",00H,"RO-DO.",00H,"MA-ZI.",00H,"NE-MU." 4570 DB 00H,"SE-BU." 4580 DB 00H,"FI-RUDO.",00H,"ERUSEQTO.",00H,"A-RUSEQTO.",00H,"O-PUX." 4590 DB 00H,"KURO-ZU.",00H,"DISUKUO-DARA-.",00H,"KIRU.",00H,"TO-KU." 4600 DB 00H,"MONITA-.",00H,"KAXZI.",00H,"DERI-TO.",00H,"TABUKAQKO." 4610 DB 0H,"TU-.",00H,"EHUENU.",0H,"SUPE-SUKAQKO.",00H,"IXKI-DARA-." 4620 DB 00H,"ZEX.",00H,"NOQTO.",00H,"SUTEQPU.",00H,"PURASU." 4630 DB 00H,"MAINASU.",00H,"KAKERU.",00H,"WARU.",00H,"AQPURO-." 4640 DB 00H,"AXDO.",00H,"OA.",00H,"SYO-NARI.",00H,"IKO-RU." 4650 DB 00H,"DAINARI.",00H,"SAIX.",00H,"IXTEZYA-.",00H,"E-BI-ESU." 4660 DB 00H,"YU-ZA-.",00H,"FURI-.",00H,"AIENUPI-." 4670 DB 00H,"ERUPOZISYOX.",00H,"POZISYOX.",00H,"ESUKYU-A-RU." 4680 DB 00H,"RAXDAMU.",00H,"ROGU.",00H,"I-EQKUSUPI-.",00H,"KOSAIX." 4690 DB 00H,"SAIX.",00H,"TAXZYEXTO.",00H,"PI-KU.",00H,"REXGUSU." 4700 DB 00H,"HEKISADARA-.",00H,"ESUTI-A-RUDARA-.",00H,"BARYU-." 4710 DB 00H,"ASUKI-.",00H,"KYARAKUTA-DARA-.",00H,"REHURODARA-." 4720 DB 00H,"RAITODARA-.",00H,"MIQDODARA-.",00H,"POIXTO." 4730 DB 00H,"KA-SO-RURAIX.",00H,"SUTIQKU.",00H,"ESUTORIGA-." 4740 DB 00H,"TAIMU.",00H,"PAQDO.",00H,"DISUKUAIDARA-." 4750 DB 00H,"ERUO-EFU.",00H,"ERUO-SI-.",00H,"I-O-EFU." 4760 DB 00H,"DISUKUFAIRU.",00H,"SI-BUIESU.",00H,"EMUKE-ESUDARA-." 4770 DB 00H 4780 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4790 DATA3: DB 00H,"/.",00H,"CUKI.",00H,"HI.",00H,"MIZU.",00H,"KI." 4800 DB 00H,"KANE.",00H,"CUCI",00H,"NICI.",00H,"NEX.",00H,"EX." 4810 DB 00H,"TOKI." 4820 DB 00H,"HUX",00H,"BYO-.",00H,"HYAKU.",00H,"SEX.",00H,"MAX." 4830 DB 00H,"PAI.",00H,"KEISEX.",00H,"KEISEX.",00H,"KEISEX." 4840 DB 00H,"KEISEX.",00H,"KEISEX.",00H,"TATEBO-.",00H,"YOKOBO-." 4850 DB 00H,"KEISEX.",00H,"KEISEX.",00H,"KEISEX.",00H,"KEISEX" 4860 DB 00H,"BACU.",00H,"DAI.",00H,"CYU-.",00H,"SYO-.",00H 4870 DATA4: DB "KAIGYO-.",00H 4880 ASCFLAG:DB 00H 4890 DATFLAG:DB 00H 4900 GRPFLAG:DB 00H 4910 REMFLAG:DB 00H 4920 LINENO: DB 00H,00H 4930 ZEROS: DB 00H 4940 SEX: DB "F" 4950 VSPEED: DS 02H 4960 VWORK: EQU 0FBF9H