home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
mbug
/
mbug162.arc
/
CC.LBR
/
-README.1ST
next >
Wrap
Text File
|
1979-12-31
|
6KB
|
138 lines
CURSO╥ CONTRO╠ (CC⌐ v2¼ wa≤ developeΣ fo≥ wheε ß screeε haΣ t∩ ì
dumped« Bu⌠ yo⌡ woulΣ havσ certaiε importan⌠ part≤ oµ thσ ì
screeε eraseΣ b∙ character≤ formeΣ b∙ commands« S∩ thi≤ prograφ ì
ove≥ come≤ thesσ problems.
Devolped 18th of March 1991 AD.
Written by C. Holz for Public Domain.
----------------------------------------------------------------
CURSOR CONTROL v2 COMMANDS
CURSOR KEYS movement.
LINEFEED copy character.
RETURN paste character.
ESCAPE return cursor to normal.
BACKSPACE erase character & move back one space.
DELETE erase character.
SPACE erase character & move forward on space.
^W wipe screen clean.
^Q quit Program or to System.
^≡ prin⌠ screeε t∩ Disδ o⌠ t∩ Printe≥ iε Widσ o≥
Narro≈ format.
^G generate ASCII character (0-999).
ASCII KEYS 33-126 generate that character.
----------------------------------------------------------------
FACTS ABOUT CC
The cursor is restricted to lines 1-16.
The commands appear on line 17.
Iε linσ 00100¼ ╨ i≤ thσ inita∞ positioε oµ thσ cusor¼ ┬ i≤ thσ
cursor'≤ asciΘ sigε (NOTE║ yo⌡ canno⌠ cop∙ thσ cursor'≤
character¼ yo⌡ caε onl∙ generatσ it!).
┬ shoulΣ bσ ░ t∩ 3▒ o≥ 128¼ becausσ 3▓ t∩ 12╖ arσ commoε
charter≤ anΣ 12╕ t∩ 25╡ arσ useΣ fo≥ PCG¼ HIRE╙ ª LORE╙
graphics¼ s∩ the∙ shoulΣ bσ avoided.
----------------------------------------------------------------
HERE IS THE PROGRAM
0010░ P=-4096:B=15:V=B:DIMA(4⌐ :IN#0OFF:OUT12,6:OUT13,17:IN#0║ ì
GOSUB410:CURS0
00110 O=PEEK(P):POKEP,V
00120 Z0$=KEY:IFZ0$=""THEN120
00130 IFZ0$=CHR(5):W=64:GOTO290
00140 IFZ0$=CHR(24):W=-64:GOTO290
00150 IFZ0$=CHR(19):W=1:GOTO290
00160 IFZ0$=CHR(4):W=-1:GOTO290
00170 IFZ0$=CHR(127):O=32:W=0:GOTO290
00180 IFZ0$=CHR(8):O=32:W=1:GOTO290
00190 IFZ0$=CHR(10):V=O:W=0:GOTO290
00200 IFZ0$=CHR(27):V=B:W=0:GOTO290
00210 IFZ0$=CHR(13)ANDV<>B:O=V:W=0:GOTO290
00220 IFZ0$=CHR(23):V=B:W=0:O=32:CLS:GOTO290
00230 IFZ0$=CHR(7):W=0: GOSUB420:O=X:GOTO290
00240 IFZ0$=CHR(16)THEN320
00250 IFZ0$=CHR(17)THEN430
00260 IF ASC(Z0$)>31ANDASC(Z0$)<127 THEN280
00270 GOTO120
00280 O=ASC(Z0$):W=-1
00290 IFP-W>-3073 ORP-W< -4096 THEN120
00300 POKE P,O:P=P-W:GOTO 110
00310END:REM****************************************************ìè ***********************************************************
00320 POKE P,O:GOSUB["to Disk or Printer"]470
00330 Z0$=KEY:IFZ0$=""THEN330
0034░áIFZ0$="d"ORZ0$="D"THEN35░á ELSEIFZ0$="p"ORZ0$="P"THEN37░
ELSEGOSUB410:W=0:GOTO290
0035░ GOSUB410:GOSUB["Unde≥ wha⌠ name:"]470:A(0)=-3055:A(1)=1│ :
Z6$=":« ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxy
z":GOSU┬ 500:CLOSE6║ OPEN"o",6,Z7$:GRSAVE6:CLOSE6
00360 GOSUB410:CLS:PRINT"SAVED under: ''"Z7$"''":NEW
00370 GOSUB410:GOSUB["Wide or Narrow:"]470
00380 Z0$=KEY:IFZ0$=""THEN380
0039░ IFZ0$="w"ORZ0$="W"ORZ0$="N"ORZ0$"n"THEN40░
ELSEGOSUB410:W=0:GOTO290
00400 GOSUB410:GOSUB["PRINTING"]470:GOSUB610:RUN
00410 FORI=62464TO 62464+63:POKE I,32:NEXTI:RETURN
0042░ GOSUB410:GOSUB["ASCI╔ CHA╥ #:"]47░ :A(0)=-3058:A(1)=2║
Z6$="1234567890":GOSU┬ 500:X=INT(VAL(Z7$)):GOSUB410:RETURN
00430 GOSUB410:GOSUB["quit Program or System?"]470
00440 Z0$=KEY:IFZ0$=""THEN440
00450 IFZ0$="s"ORZ0$="S"THENSYSTEM
00460 IFZ0$="p"ORZ0$="P"THENGOSUB410:NEW ELSEGOSUB410:GOTO120
0047░ VAR(Z0$):FORI=1TOLEN(Z0$):POK┼ -3072+I-
1,ASC(Z0$(;I,I)):NEXTI:RETURN
00480END:REM****************************************************
***********************************************************
0049░ A(0)=-3058:A(1)=8:A(2)=46║
Z6$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"║
Z7$="":A(3)=1
00500 A(2)= 95:Z7$="":A(3)=1
0051░ FORI=0TOA(1):POKEA(0)+I,A(2):NEXTI║ POKEA(0)+A(3)-
1,(PEEK(A(0)))+128
00520 Z0$=KEY:IFZ0$=""THEN520
0053░ IFZ0$=CHR(13)ANDLEN(Z7$)>0║ POKEA(0)+A(3)-
1,PEEK(A(0)+A(3)-1)-12╕ :RETURN
00540 IFZ0$=CHR(8)ANDLEN(Z7$)=0THEN580
0055░ IFZ0$=CHR(8):POK┼ (A(0)+A(3)-1),PEEK(A(0)+A(3)-1)+128║
Z0$=Z7$:Z7$=Z0$(;1,LEN(Z0$)-1):A(3)=A(3)-1║ POK┼ (A(0)+A(3)-
1),(A(2)+128):GOTO520
00560 IFLEN(Z7$)=A(1)+1 THEN580
0057░ IFSEARCH(Z6$,Z0$)<>0:Z7$=Z7$+Z0$║ POKE(A(0)+A(3)-
1),ASC(Z0$⌐ :A(4)=1:GOTO590
00580 PLAY23:GOTO520
0059░ (3)=A(3)+A(4):POKEA(0)+A(3)-1,(PEEK(A(0)+A(3)-ì
1))+128:GOTO520
00600END:REM****************************************************ì
***********************************************************
0061░ OUTL#1:DIMP(3):I╞ Z0$="N"ORZ0$="n":P6$="Ló ì
ELSEIFZ0$="w"ORZ0$="W":P6$="Kó ELS┼ LETW=0:GOTO290
00620 DATA 62,01,211,11
00630 DATA 96,105,14,128,229,6,8,203,34,126,161
00640 DATA 40,2,203,194,35,16,245,122,205,69,128
00650 DATA 225,203,57,48,233
00660 DATA 62,0,211,11
00670 DATA 201,-1
00680 X=336 : RESTORE 620
00690 READ Y : IF Y=-1 THEN 710
00700 POKE X,Y : X=X+1 : GOTO 690
00710 LPRINT CHR(27);"A";CHR(8);
00720 FOR Y=0 TO 15
00730 FOR U=0 TO 8 STEP 8
00740 LPRINT CHR(27);P6$;CHR(0);CHR(2);
0075░ FO╥ X=░ T╧ 6│ ║ C=USR(336,61440+U+16*PEEK(61440+Y*64+X)⌐ ║ ì
NEX╘ X
00760 LPRINT CHR(10);è00770 NEXT U
00780 NEXT Y
00790 LPRINT CHR(27);"2";CHR(7)
00800 RETURN
00810END:REM***************************************************ì
**********************************************************
00820REM*********¬ Curso≥ Contro∞ Screeε Dumpe≥ v2.░ ********
*******************¬ b∙ C« Hol· 18-04-199▒ *************
00830REM*******************************************************ì
**********************************************************
----------------------------------------------------------------