Compucolor.org – Virtual Media

Listing of file='12P9.BAS;01' on disk='vmedia/color_graphics_1_suits-sector.ccvf'

0 GOTO 63000:REM  POKE IN THE NO-ECHO PATCH
5 REM  PROGRAM 12.9
6 REM  EXTRA LARGE CHARACTERS
8
9 REM  GIVE INSTRUCTIONS
10 GOSUB 300
18
19 REM  GET THE DATA
20 GOSUB 500
28
29 REM  NO ECHO
30 POKE KF,31
38
39 REM  DRAW ----- MAIN ROUTINE
40 POKE KB,0
50 A= PEEK (KB):IF A= 0THEN 50
60 IF A< 8OR A> 95THEN 40:REM  ILLEAGAL INPUT
68
69 REM  IF [ESC] IS PRESSED, END THE PROGRAM
70 IF A= 27THEN 9000
79 REM  CHECK FOR CONTROL CHARACTER
80 A= A- 7:REM  "HOME" IS SMALLEST ASCII VALUE PERMITTED, NOW=1
90 IF A< 25THEN GOSUB 200:GOTO 150
93
94 REM  IGNORE UNUSED KEYS SUCH AS TAB
95 IF C(A,1)= 0THEN 40
98
99 REM  NON-CONTROL KEYS
100 PLOT 28:REM  EACH CHARACTER BEGINS AT TOP LEFT OF 2X2 ARRAY
109
110 FOR J= 1TO 4:REM  FOR EACH OF THE 4 SPECIAL CHARACTERS...
118
119   REM  READY FOR 2ND ROW?
120   IF  J= 3THEN PLOT 32,26,26,26,10
129
130   PLOT 29* - (C(A,J)< 0)+ 30* - (C(A,J)> 0),ABS (C(A,J))
140 NEXT :PLOT 32
146
147 REM  IF RIGHT OF SCREEN IS REACHED, THEN DO CR/LF
148 REM  (THE COMPUCOLOR KEEPS TRACK OF THE X CO-ORDINATE
149 REM   OF THE CURSOR IN LOCATION 33227)
150 IF PEEK (33227)> 60THEN PLOT 13,10,10,10
158
159 REM  BACK FOR MORE
160 GOTO 40
196
197 REM  **********  SUBROUTINES  **********
198
199 REM  ----- CONTROL KEYS
200 FOR J= 1TO 4
210   PLOT C(A,J)
220 NEXT
228
229 REM  IF [ERASE LINE], THEN 1 MORE "PLOT 10"IS REQUIRED
230 IF A= 4THEN PLOT 10:REM  REMEMBER, A=A-7 BY LINE 80
239
240 RETURN
298
299 REM  ----- INSTRUCTIONS
300 PLOT 14
310 PLOT 6,6,29,12:REM  SET UP
320 PRINT TAB( 22)"EXTRA LARGE CHARACTERS"
330 PRINT :PLOT 15,18
340 PRINT TAB( 2)"THIS PROGRAM ALLOWS YOU TO TYPE DOUBLE WIDTH, DOUBLE HEIGHT"
350 PRINT
360 PRINT TAB( 2)"CHARACTERS (WITH A7 OFF), OR DOUBLE WIDTH, QUADRUPLE HEIGHT"
370 PRINT
380 PRINT TAB( 2)"CHARACTERS (WITH A7 OFF)."
390 PRINT
400 PRINT
410 PRINT TAB( 2)"CURSOR AND COLOR KEYS MAY ALSO BE USED, EXCEPT THAT 'FG ON'"
420 PRINT
430 PRINT TAB( 2)"OR 'BG ON' MUST ALWAYS BE PRESSED BEFORE A COLOR CHANGE."
440 PRINT
450 PRINT
460 PRINT TAB( 2)"PRESS [ESC] TO END THE PROGRAM."
470 PRINT :PRINT :PRINT
480 PLOT 17:PRINT TAB( 25)"PLEASE STAND BY"
490 RETURN
498
499 REM  ----- GET THE DATA
500 DIM C(88,4):REM  4 DATA FOR EACH OF THE 88 CHARACTERS OR CONTROLS
510 KB= 33278:REM  LOCATION OF KEYBOARD CHARACTER
520 KF= 33247:REM  LOCATION OF KEYBOARD CHARACTER FLAG
529
530 RESTORE 600
539
540 FOR A= 1TO 88
550   FOR B= 1TO 4:READ C(A,B):NEXT
560 NEXT
569
570 PLOT 19,28,11
580 INPUT "PRESS RETURN TO BEGIN...";A$
590 PLOT 12,10:RETURN
596
597 REM  ----- DATA FOR EACH OF THE 88 KEYS
598
599 REM  HOME
600 DATA 8,0,0,0
601 REM  TAB (NOT USED)
602 DATA 0,0,0,0
603 REM  CURSOR DOWN
604 DATA 10,10,10,0
605 REM  ERASE LINE
606 DATA 13,11,28,11
607 REM  ERASE PAGE
608 DATA 12,10,0,0
609 REM  CR/LF
610 DATA 13,10,10,10
611 REM  A7 ON
612 DATA 14,0,0,0
613 REM  BLINK/A7 OFF
614 DATA 15,0,0,0
615 REM  BLACK
616 DATA 16,0,0,0
617 REM  RED
618 DATA 17,0,0,0
619 REM  GREEN
620 DATA 18,0,0,0
621 REM  YELLOW
622 DATA 19,0,0,0
623 REM  BLUE
624 DATA 20,0,0,0
625 REM  MAGENTA
626 DATA 21,0,0,0
627 REM  CYAN
628 DATA 22,0,0,0
629 REM  WHITE
630 DATA 23,0,0,0
631 REM  XMIT (NOT USED)
632 DATA 0,0,0,0
633 REM  CURSOR RIGHT
634 DATA 25,25,25,0
635 REM  CURSOR LEFT
636 DATA 26,26,26,0
637 REM  ESCAPE (NOT NEEDED)
638 DATA 0,0,0,0
639 REM  CURSOR UP
640 DATA 28,28,28,0
641 REM  FG ON/FLAG OFF
642 DATA 29,0,0,0
643 REM  BG OFF/FLAG ON
644 DATA 30,0,0,0
645 REM  BLIMK ON
646 DATA 31,0,0,0
647 REM  SPACE
648 DATA 32,32,32,32
649 REM  !
650 DATA 32,-110,32,33
651 REM  "
652 DATA 39,39,32,32
653 REM  #
654 DATA 43,43,43,43
655 REM  $
656 DATA 99,110,109,100
657 REM  %
658 DATA 79,126,126,79
659 REM  &
660 DATA 99,100,99,120
661 REM  '
662 DATA 32,39,32,32
663 REM  (
664 DATA 116,32,118,32
665 REM  )
666 DATA 32,117,32,119
667 REM  *
668 DATA 32,42,32,32
669 REM  +
670 DATA 109,108,111,110
671 REM  ,
672 DATA 32,32,32,44
673 REM  -
674 DATA 32,127,32,32
675 REM  .
676 DATA 32,32,32,46
677 REM  /
678 DATA 32,126,126,32
679 REM  0
680 DATA 96,117,118,120
681 REM  1
682 DATA 39,97,32,97
683 REM  2
684 DATA 104,100,121,127
685 REM  3
686 DATA 101,122,103,100
687 REM  4
688 DATA 126,97,101,110
689 REM  5
690 DATA 123,101,103,100
691 REM  6
692 DATA 116,102,-123,100
693 REM  7
694 DATA 101,122,-122,32
695 REM  8
696 DATA 99,100,99,100
697 REM  9
698 DATA 99,-125,103,119
699 REM  :
700 DATA 32,46,32,46
701 REM  ;
702 DATA 32,46,32,44
703 REM  <
704 DATA 32,126,32,124
705 REM  =
706 DATA -95,-95,-101,-101
707 REM  >
708 DATA 124,32,126,32
709 REM  ?
710 DATA 39,100,32,97
711 REM  @ (NOT PROVIDED)
712 DATA 0,0,0,0
713 REM  A
714 DATA 116,117,110,111
715 REM  B
716 DATA 123,100,123,100
717 REM  C
718 DATA 116,102,118,105
719 REM  D
720 DATA 110,117,108,119
721 REM  E
722 DATA 123,101,108,127
723 REM  F
724 DATA 123,101,97,32
725 REM  G
726 DATA 116,102,118,125
727 REM  H
728 DATA 97,98,110,111
729 REM  I
730 DATA 101,110,127,108
731 REM  J
732 DATA 32,98,103,119
733 REM  K
734 DATA -98,104,97,124
735 REM  L
736 DATA 97,32,108,127
737 REM  M
738 DATA 112,113,97,98
739 REM  N
740 DATA 112,98,97,115
741 REM  O
742 DATA 116,117,118,119
743 REM  P
744 DATA 123,100,97,32
745 REM  Q
746 DATA 116,117,118,120
747 REM  R
748 DATA 123,100,97,124
749 REM  S
750 DATA 99,102,103,100
751 REM  T
752 DATA 101,110,32,97
753 REM  U
754 DATA 97,98,118,119
755 REM  V
756 DATA 97,98,124,126
757 REM  W
758 DATA 97,98,114,115
759 REM  X
760 DATA 124,126,126,124
761 REM  Y
762 DATA 124,126,98,32
763 REM  Z
764 DATA 101,122,121,127
765 REM  [
766 DATA 110,32,108,32
767 REM  \
768 DATA 124,32,32,124
769 REM  ]
770 DATA 32,111,32,109
771 REM  ^
772 DATA 126,124,32,32
773 REM  _
774 DATA 32,32,95,95
8998
8999 REM  ----- PUT TOP OF MEMORY BACK WHERE IT WAS
9000 TM= 256* PEEK (32941)+ PEEK (32940)+ 7
9010 POKE 32941,INT (TM/ 256):POKE 32940,TM- 256* INT (TM/ 256)
9018
9019 REM  RESET COLORS, ETC.
9020 PLOT 15,6,2,29
9029
9030 END
9031
62998
62999 REM  ----- BEN BARLOW'S NO-ECHO PATCH
63000 RESTORE 63000:DATA 245,175,50,255,129,241,201
63010 TM= 256* PEEK (32941)+ PEEK (32940)- 7
63020 FOR X= 1TO 7:READ D:POKE TM+ X,D:NEXT
63030 BR= INT (TM/ 256):POKE 33221,195:POKE 33222,TM- BR* 256+ 1
63040 POKE 33223,BR:POKE 32941,BR:POKE 32940,TM- BR* 256
63050 CLEAR 50:GOTO 10
63051
63052 REM  FOR NO-ECHO, POKE 33247,31.
63053 REM  TO RETURN TO ECHO, POKE 33247,12.
63054 REM  (AN INPUT STATEMENT OR THE END
63055 REM  OF THE PROGRAM WILL ALSO DO IT.)