10 REM BUFFLOG 0.03 F.T.Gowen 26/10/1995 12 REM ^Z = Close Log and exit terminal 14 REM ^S = Close Current Log 16 REM ^Q = Open New Log 20 CLS : DIM M% &11A5 : PROCassemble 30 mark=end AND &FF00 : mark=mark+&100 40 reserve=mark-start+&1000 50 PRINT ~start,~end,~mark,~reserve 60 PRINT "Do you wish to connect (y/n)?"; 70 k$=CHR$(GET AND &5F) 80 IF k$<>"Y" STOP ELSE PRINT k$ 200 CALL openlog : port=OPENUP("COM:") 210 N%=USR(connect)/&10000 : PRINT ~N% 220 CLOSE#port : CALL closelog 998 STOP 999 END 1000 DEF PROCassemble 1010 kmreadkbd =&B806 1020 txtoutput =&B833 1030 padinserial =&B85D 1040 padoutserial =&B863 1050 padreadyserial =&B869 1060 padserialwaiting=&B86F 1070 fclose =&B890 1080 ferase =&B893 1090 fopenout =&B8A5 1100 foutchar =&B8AE 1110 fsizehandle =&B8BA 1120 FOR pass=0 TO 3 STEP 3 1130 P% = M% 1140 [ 1150 OPT pass 1160 .start 1170 .filename 1180 DEFM "AAAAAAAA.LOG" 1190 DEFB 0 1200 .handle 1210 DEFW 0 1220 .openlog 1230 LD HL,filename 1240 CALL ferase 1250 LD HL,filename 1260 CALL fopenout 1270 JR C,ok1 1280 LD DE,&0000 1290 .ok1 1300 LD HL,handle 1310 LD (HL),E 1320 INC HL 1330 LD (HL),D 1340 RET 1350 .closelog 1360 LD HL,handle 1370 LD E,(HL) 1380 INC HL 1390 LD D,(HL) 1400 CALL fclose 1410 RET 1420 .connect 1430 LD HL,handle 1440 LD E,(HL) 1450 INC HL 1460 LD D,(HL) 1470 LD HL,end 1480 XOR A 1490 INC H 1500 LD B,H 1510 LD L,A 1520 LD C,A 1530 .query_key 1550 CALL padreadyserial 1560 CALL C,padoutserial 1570 JR NC,query_serial 1580 CALL padserialwaiting 1590 .get_echo 1600 CALL C,padinserial 1610 CALL C,txtoutput 1620 JR NC,query_serial 1630 .put_buffer 1640 LD (HL),A 1650 INC L 1660 .query_serial 1760 CALL padserialwaiting 1770 JR C,get_echo 1780 XOR A 1790 CP L 1800 JR NC,no_reset 1810 .get_buffer 1820 LD A,(BC) 1830 INC C 1840 CALL q_foutchar 1850 LD A,L 1860 CP C 1870 JR NZ,no_reset 1880 LD L,0 1890 LD C,L 1900 .no_reset 1910 CALL padserialwaiting 1920 JR C,get_echo 1930 PUSH BC 1940 CALL kmreadkbd 1950 LD A,C 1960 POP BC 1970 JR NC,query_serial 1980 CP &11 1990 JR Z,cont_log 2000 CP &13 2010 JR Z,stop_log 2020 CP &1A 2030 RET Z 2040 JR query_key 2700 .cont_log 2710 PUSH HL 2720 CALL openlog 2730 LD HL,flags 2740 SET 0,(HL) 2750 POP HL 2760 JP query_serial 2770 .stop_log 2780 CALL fclose 2790 PUSH HL 2800 CALL next_file 2810 LD HL,flags 2820 RES 0,(HL) 2830 POP HL 2840 JP query_serial 3000 .q_foutchar 3010 PUSH HL 3020 PUSH AF 3030 LD HL,flags 3040 BIT 0,(HL) 3050 CALL NZ,foutchar 3060 POP AF 3070 POP HL 3080 RET 3090 .next_file 3100 LD HL,filename 3110 .loop1 3120 LD A,(HL) 3130 CP &2E 3140 JR Z,eq_dot 3150 INC HL 3160 JR loop1 3170 .eq_dot 3180 DEC HL 3190 INC (HL) 3200 LD A,&5B 3210 CP (HL) 3220 RET NZ 3230 LD (HL),&41 3240 JR eq_dot 3940 .flags 3950 DEFB &01 3960 .end 3970 ] 3980 NEXT 3990 ENDPROC