Радио-86РК/Радио 07-88/Компьютер помогает настроить телевизор: различия между версиями

Материал из Emuverse
(http://retro.h1.ru/RK86/TV/TestTV.html)
 
мНет описания правки
 
Строка 7: Строка 7:
<pre>
<pre>
10 CLS:CLEAR500
10 CLS:CLEAR500
20 CUR20,20; «УПРАВЛЯЮЩИЕ КЛАВИШИ»:РРINТ
20 CUR20,20; "УПРАВЛЯЮЩИЕ КЛАВИШИ":РРINТ  
30 PRINT TAB(15) «НАЖМИТЕ УПРАВЛЯЮЩУЮ КЛАВИШУ»:РРINТ
30 PRINT TAB(15) "НАЖМИТЕ УПРАВЛЯЮЩУЮ КЛАВИШУ":РРINТ  
40 РRINТ ТАВ(17)"ДЛЯ УВЕЛИЧЕНИЯ МАСШТАБА «;:Q(1)=USR(-2045)
40 РRINТ ТАВ(17)"ДЛЯ УВЕЛИЧЕНИЯ МАСШТАБА ";:Q(1)=USR(-2045)  
50 PRINT CHR$(Q(1)):PRINT
50 PRINT CHR$(Q(1)):PRINT
60 РRINТ ТАВ(13)»ДЛЯ ВОЗВРАТА В НАЧАЛЬНЫЙ МАСШТАБ «;
60 РRINТ ТАВ(13)"ДЛЯ ВОЗВРАТА В НАЧАЛЬНЫЙ МАСШТАБ ";  
70 Q(2)=USR(-2045);PRINT CHR$(Q(2)):PRINT
70 Q(2)=USR(-2045);PRINT CHR$(Q(2)):PRINT  
80 РRINТ ТАВ(10)»ДЛЯ ИЗМЕНЕНИЯ НАСТРАИВАЮЩЕЙ ТАВЛИЦЫ «;
80 РRINТ ТАВ(10)"ДЛЯ ИЗМЕНЕНИЯ НАСТРАИВАЮЩЕЙ ТАВЛИЦЫ ";  
90 Q(3)=USR(-2045):PRINT CHR$(Q(3))
90 Q(3)=USR(-2045):PRINT CHR$(Q(3))  
100 BS=16209: REM ДЛЯ 32 К — 3259:?
100 BS=16209: REM ДЛЯ 32 К - 3259:?
110 REM *** ФОРМИРОВАНИЕ ШАХМАТНОГО ПОЛЯ В МАСШТАБЕ ***
110 REM *** ФОРМИРОВАНИЕ ШАХМАТНОГО ПОЛЯ В МАСШТАБЕ ***  
120 W$="":В$=""
120 W$="":В$=""  
130 FOR I=1 ТО 64
130 FOR I=1 ТО 64  
140 B$=B$+» «:W$=W$+»B"
140 B$=B$+" ":W$=W$+"B"  
150 NEXT I
150 NEXT I
160 R=l:Z=0:BL$="":WT$="":J=0
160 R=l:Z=0:BL$="":WT$="":J=0  
170 REM *** ЦИКЛ ИЗМЕНЕНИЯ МАСШТАБА ***
170 REM *** ЦИКЛ ИЗМЕНЕНИЯ МАСШТАБА ***  
180 IF I=16 THEN I=64:J=25:GOTO 210
180 IF I=16 THEN I=64:J=25:GOTO 210  
190 IF I=64 THEN l=0:R=1
190 IF I=64 THEN l=0:R=1  
200 J=J+1:I=INT(J*1.6)
200 J=J+1:I=INT(J*1.6)  
210 AY=INT(25/J)
210 AY=INT(25/J)
220 REH **** ЦИКЛ ФОРМИРОВАНИЯ СИМВОЛЬНЫХ ПЕРЕМЕННЫХ ****
220 REH **** ЦИКЛ ФОРМИРОВАНИЯ СИМВОЛЬНЫХ ПЕРЕМЕННЫХ ****  
230 FOR А=0 ТО 64
230 FOR А=0 ТО 64
240 IF Z=0 THEN BL$=BL$+MID$(B$,1,l):WT$=WT$+MID$(W$,1,l)
240 IF Z=0 THEN BL$=BL$+MID$(B$,1,l):WT$=WT$+MID$(W$,1,l)  
250 IF Z=1 THEN BL$=BL$+MID$(W$,1,I):WT$=WT$+MID$(B$,1,l)
250 IF Z=1 THEN BL$=BL$+MID$(W$,1,I):WT$=WT$+MID$(B$,1,l)  
260 IF LEN(BL$=>64 THEN BL$=MID$(BL$,1,64):WT$=MID$(WT$,1,64)
260 IF LEN(BL$=>64 THEN BL$=MID$(BL$,1,64):WT$=MID$(WT$,1,64)  
270 IF LEN(BL$=>64 THEN 300
270 IF LEN(BL$=>64 THEN 300  
280 Z=Z+1:lF Z=2 THEN Z=0
280 Z=Z+1:lF Z=2 THEN Z=0  
290 NEXT A
290 NEXT A  
300 CLS
300 CLS
310 REM **** ЦИКЛЫ ОТОБРАЖЕНИЯ ШАХМАТНОГО ПОЛЯ ****
310 REM **** ЦИКЛЫ ОТОБРАЖЕНИЯ ШАХМАТНОГО ПОЛЯ ****  
320 FOR Y=0 TO AY
320 FOR Y=0 TO AY  
330 FOR T=0 TO J-1
330 FOR T=0 TO J-1  
340 KY=Y*J+T: IF KY>24 THEN 440
340 KY=Y*J+T: IF KY>24 THEN 440  
350 IF Z=0 THEN SH$=WT$
350 IF Z=0 THEN SH$=WT$  
360 IF Z=1 THEN SH$=BL$
360 IF Z=1 THEN SH$=BL$  
370 REM ***** ЗАПОЛНЕНИЕ НИЖНЕЙ СТРОКИ *****
370 REM ***** ЗАПОЛНЕНИЕ НИЖНЕЙ СТРОКИ *****  
380 IF KY=0 THEN CUR0,0:PRINT MID$(SH*,1,63);:POKE BS,ASC(MID$(SH$,64,1)
380 IF KY=0 THEN CUR0,0:PRINT MID$(SH*,1,63);:POKE BS,ASC(MID$(SH$,64,1)  
390 IF KY<>0 THEN CUR0,KY:PRINT SH$;
390 IF KY<>0 THEN CUR0,KY:PRINT SH$;  
400 NEXT T
400 NEXT T
410 REM ***** ИЗМЕНЕНИЕ ПЕРЕМЕННОЙ ЦВЕТА *****
410 REM ***** ИЗМЕНЕНИЕ ПЕРЕМЕННОЙ ЦВЕТА *****  
420 Z=Z+1:lF Z=2 THEN Z=0
420 Z=Z+1:lF Z=2 THEN Z=0  
430 NEXT Y
430 NEXT Y  
440 BL$="":WT$="'
440 BL$="":WT$="'
450 REM **** УПРАВЛЕНИЕ ШАХМАТНЫМ ПОЛЕМ ***
450 REM **** УПРАВЛЕНИЕ ШАХМАТНЫМ ПОЛЕМ ***  
460 U=USR (-2045)
460 U=USR (-2045)  
470 IF U=Q(1) THEN 180
470 IF U=Q(1) THEN 180  
480 IF U=Q(2) THEN 120
480 IF U=Q(2) THEN 120  
490 IF U=Q(3) THEN 510
490 IF U=Q(3) THEN 510  
500 GOTO 460
500 GOTO 460  
510 CLS
510 CLS
520 REM **** ФОРМИРОВАНИЕ РАМОЧНОГО ПОЛЯ ****
520 REM **** ФОРМИРОВАНИЕ РАМОЧНОГО ПОЛЯ ****  
530 REM **** ЦИКЛ МАСШТАБА ****
530 REM **** ЦИКЛ МАСШТАБА ****  
540 FOR Z=6 TO 16 STEP 4
540 FOR Z=6 TO 16 STEP 4
550 REM **** ЦИКЛ ОТОБРАЖЕНИЯ РАМОЧНОГО ПОЛЯ ****
550 REM **** ЦИКЛ ОТОБРАЖЕНИЯ РАМОЧНОГО ПОЛЯ ****  
560 FOR Х=0 ТО 40 STEP Z
560 FOR Х=0 ТО 40 STEP Z  
570 Y=INT(X/2.6)
570 Y=INT(X/2.6)
580 PLOT X,Y,1:LINE X,49-Y:LINE127-X,49-Y:LINE127-X,Y:LINEX,Y
580 PLOT X,Y,1:LINE X,49-Y:LINE127-X,49-Y:LINE127-X,Y:LINEX,Y  
570 NEXT X
570 NEXT X
600 REM ****** УПРАВЛЕНИЕ РАМОЧНЫМ ПОЛЕМ ******
600 REM ****** УПРАВЛЕНИЕ РАМОЧНЫМ ПОЛЕМ ******  
610 U=USR (-2045)
610 U=USR (-2045)
620 IF U=Q(1) THEN CLS:NEXT Z:GOTO540
620 IF U=Q(1) THEN CLS:NEXT Z:GOTO540  
630 IF U=Q(2) THEN CLS: GOTO 540
630 IF U=Q(2) THEN CLS: GOTO 540  
640 IF U=Q(3) THEN 670
640 IF U=Q(3) THEN 670  
650 GOTO 610
650 GOTO 610
660 REM **** ФОРМИРОВАНИЕ СИМВОЛЬНОГО ПОЛЯ *****
660 REM **** ФОРМИРОВАНИЕ СИМВОЛЬНОГО ПОЛЯ *****  
670 CLS
670 CLS
680 REM ***** ЗАПИСЬ СИМВОЛОВ В МАССИВ *****
680 REM ***** ЗАПИСЬ СИМВОЛОВ В МАССИВ *****  
690 A$(1)="!":A$(2)=".":A$(3)="-":X=0
690 A$(1)="!":A$(2)=".":A$(3)="-":X=0  
700 S$="":X=X+1
700 S$="":X=X+1  
710 IF X=4 THEN X=1
710 IF X=4 THEN X=1
720 FOR J=1 TO 64:S$=S$+A$(X):NEXT J
720 FOR J=1 TO 64:S$=S$+A$(X):NEXT J  
730 REM **** ПЕЧАТЬ НИЖНЕЙ СТРОКИ ****
730 REM **** ПЕЧАТЬ НИЖНЕЙ СТРОКИ ****  
740 CUR0,0:PRINT MID$(S$,1,63);:POKE BS,ASC(A$(X))
740 CUR0,0:PRINT MID$(S$,1,63);:POKE BS,ASC(A$(X))  
750 REM ***** ЦИКЛ ПЕЧАТИ *****
750 REM ***** ЦИКЛ ПЕЧАТИ *****  
760 FOR I=1 TO 24
760 FOR I=1 TO 24  
770 CUR 0,1I:PRINTS$;
770 CUR 0,1I:PRINTS$;  
780 NEXT I
780 NEXT I
790 REM ***** УПРАВЛЕНИЕ СИМВОЛЬНЫМ ПОЛЕМ *****
790 REM ***** УПРАВЛЕНИЕ СИМВОЛЬНЫМ ПОЛЕМ *****  
800 U=USR (-2045)
800 U=USR (-2045)  
810 IF U=Q(1) THEN 700
810 IF U=Q(1) THEN 700  
820 IF U=Q(2) THEN 670
820 IF U=Q(2) THEN 670  
830 IF U=O(3) THEN 850
830 IF U=O(3) THEN 850  
840 GOTO 800
840 GOTO 800
850 REM *** ФОРМИРОВАНИЕ ЦЕНТРАЛЬНОГО КРЕСТА И ДИАГОНАЛИ *****
850 REM *** ФОРМИРОВАНИЕ ЦЕНТРАЛЬНОГО КРЕСТА И ДИАГОНАЛИ *****  
860 CLS
860 CLS
870 FOR l=0 TO 63:CURI,13:PRINT"-"; :NEXT I
870 FOR l=0 TO 63:CURI,13:PRINT"-"; :NEXT I  
880 FOR I=0 TO 24: CUR 32,I:PRINT"l";:NEXT I
880 FOR I=0 TO 24: CUR 32,I:PRINT"l";:NEXT I  
890 U=USR (-2045)
890 U=USR (-2045)  
900 CLS
900 CLS
910 FOR I=0 TO 49
910 FOR I=0 TO 49  
920 PLOT l,0,1:LINE 127,49-I
920 PLOT l,0,1:LINE 127,49-I  
930 NEXT I
930 NEXT I  
940 U=USR (-2045)
940 U=USR (-2045)  
950 CLS
950 CLS
960 FOR I=0 TO 49
960 FOR I=0 TO 49  
970 PLOT 0,l,1: LINE 127,49
970 PLOT 0,l,1: LINE 127,49  
980 NEXT I
980 NEXT I
990 U=USR(-2045):GOTO 160
990 U=USR(-2045):GOTO 160

Текущая версия от 15:43, 27 ноября 2008

Данный материал защищён авторскими правами!

Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей.

Автор: А. СОРОКИН

Источник: http://retro.h1.ru/RK86/TV/TestTV.html

Для настройки телевизоров черно-белого цветного изображения радиолюбители обычно используют как самодельные, так и промышленные генераторы телевизионных испытательных сигналов. Эти приборы значительно облегчают и ускоряют регулировку телевизионных приемников. Однако, если в распоряжении радиолюбителя имеется персональный компьютер «Радио-86РК», то настройку можно провести и без генератора телевизионных сигналов.

В этом вам поможет программа «Сигнал»(см. табл.), формирующая семь испытательных изображений: шахматного, рамочного и точечного полей, вертикальных и горизонтальных полос, центрального креста и диагональной ступеньки. Формируемые компьютером сигналы через видеомодулятор подают на вход телевизора или непосредственно на вход «видео».

10 CLS:CLEAR500
20 CUR20,20; "УПРАВЛЯЮЩИЕ КЛАВИШИ":РРINТ 
30 PRINT TAB(15) "НАЖМИТЕ УПРАВЛЯЮЩУЮ КЛАВИШУ":РРINТ 
40 РRINТ ТАВ(17)"ДЛЯ УВЕЛИЧЕНИЯ МАСШТАБА ";:Q(1)=USR(-2045) 
50 PRINT CHR$(Q(1)):PRINT
60 РRINТ ТАВ(13)"ДЛЯ ВОЗВРАТА В НАЧАЛЬНЫЙ МАСШТАБ "; 
70 Q(2)=USR(-2045);PRINT CHR$(Q(2)):PRINT 
80 РRINТ ТАВ(10)"ДЛЯ ИЗМЕНЕНИЯ НАСТРАИВАЮЩЕЙ ТАВЛИЦЫ "; 
90 Q(3)=USR(-2045):PRINT CHR$(Q(3)) 
100 BS=16209: REM ДЛЯ 32 К - 3259:?
110 REM *** ФОРМИРОВАНИЕ ШАХМАТНОГО ПОЛЯ В МАСШТАБЕ *** 
120 W$="":В$="" 
130 FOR I=1 ТО 64 
140 B$=B$+" ":W$=W$+"B" 
150 NEXT I
160 R=l:Z=0:BL$="":WT$="":J=0 
170 REM *** ЦИКЛ ИЗМЕНЕНИЯ МАСШТАБА *** 
180 IF I=16 THEN I=64:J=25:GOTO 210 
190 IF I=64 THEN l=0:R=1 
200 J=J+1:I=INT(J*1.6) 
210 AY=INT(25/J)
220 REH ****  ЦИКЛ ФОРМИРОВАНИЯ СИМВОЛЬНЫХ ПЕРЕМЕННЫХ **** 
230 FOR А=0 ТО 64
240 IF Z=0 THEN BL$=BL$+MID$(B$,1,l):WT$=WT$+MID$(W$,1,l) 
250 IF Z=1 THEN BL$=BL$+MID$(W$,1,I):WT$=WT$+MID$(B$,1,l) 
260 IF LEN(BL$=>64 THEN BL$=MID$(BL$,1,64):WT$=MID$(WT$,1,64) 
270 IF LEN(BL$=>64 THEN 300 
280 Z=Z+1:lF Z=2 THEN Z=0 
290 NEXT A 
300 CLS
310 REM **** ЦИКЛЫ ОТОБРАЖЕНИЯ ШАХМАТНОГО ПОЛЯ **** 
320 FOR Y=0 TO AY 
330 FOR T=0 TO J-1 
340 KY=Y*J+T: IF KY>24 THEN 440 
350 IF Z=0 THEN SH$=WT$ 
360 IF Z=1 THEN SH$=BL$ 
370 REM ***** ЗАПОЛНЕНИЕ НИЖНЕЙ СТРОКИ ***** 
380 IF KY=0 THEN CUR0,0:PRINT MID$(SH*,1,63);:POKE BS,ASC(MID$(SH$,64,1) 
390 IF KY<>0 THEN CUR0,KY:PRINT SH$; 
400 NEXT T
410 REM ***** ИЗМЕНЕНИЕ ПЕРЕМЕННОЙ ЦВЕТА ***** 
420 Z=Z+1:lF Z=2 THEN Z=0 
430 NEXT Y 
440 BL$="":WT$="'
450 REM **** УПРАВЛЕНИЕ ШАХМАТНЫМ ПОЛЕМ *** 
460 U=USR (-2045) 
470 IF U=Q(1) THEN 180 
480 IF U=Q(2) THEN 120 
490 IF U=Q(3) THEN 510 
500 GOTO 460 
510 CLS
520 REM **** ФОРМИРОВАНИЕ РАМОЧНОГО ПОЛЯ **** 
530 REM **** ЦИКЛ МАСШТАБА **** 
540 FOR Z=6 TO 16 STEP 4
550 REM **** ЦИКЛ ОТОБРАЖЕНИЯ РАМОЧНОГО ПОЛЯ **** 
560 FOR Х=0 ТО 40 STEP Z 
570 Y=INT(X/2.6)
580 PLOT X,Y,1:LINE X,49-Y:LINE127-X,49-Y:LINE127-X,Y:LINEX,Y 
570 NEXT X
600 REM ****** УПРАВЛЕНИЕ РАМОЧНЫМ ПОЛЕМ ****** 
610 U=USR (-2045)
620 IF U=Q(1) THEN CLS:NEXT Z:GOTO540 
630 IF U=Q(2) THEN CLS: GOTO 540 
640 IF U=Q(3) THEN 670 
650 GOTO 610
660 REM **** ФОРМИРОВАНИЕ СИМВОЛЬНОГО ПОЛЯ ***** 
670 CLS
680 REM ***** ЗАПИСЬ СИМВОЛОВ В МАССИВ ***** 
690 A$(1)="!":A$(2)=".":A$(3)="-":X=0 
700 S$="":X=X+1 
710 IF X=4 THEN X=1
720 FOR J=1 TO 64:S$=S$+A$(X):NEXT J 
730 REM **** ПЕЧАТЬ НИЖНЕЙ СТРОКИ **** 
740 CUR0,0:PRINT MID$(S$,1,63);:POKE BS,ASC(A$(X)) 
750 REM ***** ЦИКЛ ПЕЧАТИ ***** 
760 FOR I=1 TO 24 
770 CUR 0,1I:PRINTS$; 
780 NEXT I
790 REM ***** УПРАВЛЕНИЕ СИМВОЛЬНЫМ ПОЛЕМ ***** 
800 U=USR (-2045) 
810 IF U=Q(1) THEN 700 
820 IF U=Q(2) THEN 670 
830 IF U=O(3) THEN 850 
840 GOTO 800
850 REM *** ФОРМИРОВАНИЕ ЦЕНТРАЛЬНОГО КРЕСТА И ДИАГОНАЛИ ***** 
860 CLS
870 FOR l=0 TO 63:CURI,13:PRINT"-"; :NEXT I 
880 FOR I=0 TO 24: CUR 32,I:PRINT"l";:NEXT I 
890 U=USR (-2045) 
900 CLS
910 FOR I=0 TO 49 
920 PLOT l,0,1:LINE 127,49-I 
930 NEXT I 
940 U=USR (-2045) 
950 CLS
960 FOR I=0 TO 49 
970 PLOT 0,l,1: LINE 127,49 
980 NEXT I
990 U=USR(-2045):GOTO 160

Программа «Сигнал» состоит из четырех частей. Каждая из них ответственна за вывод определенной настроечной таблицы.

Расположенная в строках со 110 до 500 первая часть, формирует шахматное поле, изменяемое в масштабе.

Во второй части программы, занимающей место со строки 510 до 650, генерируется рамочное поле, также изменяемое в масштабе.

Третья часть, находящаяся с 660 до 840 строки, выводит три различных изображения: точечное поле, вертикальные или горизонтальные полосы. Эти изображения не изменяются в масштабе.

Последняя часть — строки 850—990 —формирует три оставшиеся изображения.

Управляют программой тремя любыми клавишами, коды которых в ответ на запрос компьютера при пуске программы будут запомнены ею. Первая управляющая клавиша изменяет масштаб, вторая устанавливает первоначальный масштаб изображения, а третья позволяет переходить от одного настроечного изображения к другому (в последней части программы изображение сменяется при нажатии на любую клавишу).

А. СОРОКИН, г. Москва