То ли я уже забыл всё что помнил, то ли была какая-то особенность.
В общем, в Бейсике на УКНЦ не получается рисовать графику.
Допустим оператор
PSET (100,100)
даёт ошибку.
CIRCLE (100,100),100
тоже.
Что я не так делаю?
Вид для печати
То ли я уже забыл всё что помнил, то ли была какая-то особенность.
В общем, в Бейсике на УКНЦ не получается рисовать графику.
Допустим оператор
PSET (100,100)
даёт ошибку.
CIRCLE (100,100),100
тоже.
Что я не так делаю?
на БК было (Бейсик ВИЛЬНЮС)
http://boulder-dash.narod.ru/bk_emul...ogramming.html
CIRCLE (X,Y),R,C,F1,F2
или
CIRCLE (X,Y),R,C
PSET (X,Y),C
PSET [@ / STEP](<АРГ1>, <АРГ2>)[,<АРГ3>]
АРГ1 - X - 0..639
АРГ2 - Y - 0..263
АРГ3 - цвет - 0..8
STEP (@) - координаты отсчитываются относительно последней точки
пример:
Код:10 FOR Y=1 TO 120
20 PSET (SQR(Y),Y)
30 NEXT
CIRCLE [@ / STEP](<АРГ1>, <АРГ2>)[,<АРГ3>][,<АРГ4>][,<АРГ5>][,<АРГ6>][,<АРГ7>]
АРГ1 - X центра окружности
АРГ2 - У центра окружности
АРГ3 - радиус
АРГ4 - цвет
АРГ5 - положение начальной точки дуги в радианах
АРГ6 - положение конечной точки дуги в радианах
АРГ7 - коэффециент сжатия элипса
STEP (@) - рисовать относительно последней точки
пример:
Код:10 COLOR 3
20 CIRCLE (100,100),75,,-1,-.001,1.2
30 CIRCLE (10, -5), 75,,-.001,-1,1.2
2 nzeemin : На харде который вы с Арсением перегнали в образ полно графических исходников для примера и куча разных бейсиков, вот шедевр с того диска (две версии) - красивая вещь получается )))
Побалуйся разными параметрами(коэффициентам ) для функций !!!Код:10 SCREEN 2 ' ПРОГРАММА 005B.ASC, НИИ НЦ 1988
20 COLOR 1,1,1
30 CLS
40 XC=320
50 YC=130
60 ABC=RND(1)*3+.7
70 PSET (XC,YC),8
80 FOR R=0 TO 160
90 A$=INKEY$
100 IF A$<>"" GOTO 190
110 A=R*ABC ' ЧИСЛО ВИТКОВ СПИРАЛИ
120 X=XC+R*COS(A)*1.6
130 Y=YC+R*SIN(A)
140 LINE -(X,Y),8
150 NEXT R
160 FOR I=1 TO 6000
170 NEXT I
180 GOTO 30
190 SCREEN 1
200 ?
210 ? " ПОСМОТРЕЛИ И ХВАТИТ "
220 COLOR 8,1,1
Код:10 SCREEN 2 ' ПРОГРАММА 005B.ASC, НИИ НЦ 1988
20 COLOR 1,1,1
30 CLS
40 XC=320
50 YC=130
60 ABC=RND(1)*3+.7
70 PSET (XC,YC),8
80 FOR R=0 TO 160
90 A$=INKEY$
100 IF A$<>"" GOTO 190
110 A=R*ABC ' ЧИСЛО ВИТКОВ СПИРАЛИ
120 X=XC+R*COS(A)*1
130 Y=YC+R*SIN(A)*0.5
140 LINE -(X,Y),7
150 NEXT R
160 FOR I=1 TO 6000
170 NEXT I
180 GOTO 30
190 SCREEN 1
200 COLOR 8,1,1
210 ?
220 ? " ПОСМОТРЕЛИ И ХВАТИТ "
Вот этот дисковый бейсик - самый что называется классический )))
Поставлялся вместе с УК-НЦ бытовой (не школьной!). Ну и в школах
он же был конечно )))
http://www.felixl.com/Uknc_Basic_Manual
http://www.felixl.com/Uknc_Basic_PgmMan
http://www.felixl.com/Uknc_Basic_OprMan
Спасибо всем!
В общем вся загвоздка была в SCREEN 2 -- совсем забыл про него.
---------- Post added 04.11.2012 at 00:16 ---------- Previous post was 03.11.2012 at 23:46 ----------
Собственно графику поднял ради того чтобы повторить на УКНЦ тест генератора случайных чисел от Брухиса, который он делал для БК.
Тест приведён тут: http://www.mailcom.com/bk0010/
На БК:
http://www.mailcom.com/bk0010/pseudorandom.gif
На УКНЦ:
http://ukncbtl.googlecode.com/svn/tr...est02_rnd2.bmp
Ха! Так это не остановленное вовремя "звёздное небо" ) Мы в школе это называли "макароны" ) Я и понятия не имел ни о каком Брухисе, а об особенности RND функции зарисовать весь экран таким "спагетти" по моему знали все ребята ) - могу и ошибаться. Если конечно ей это позволить, если на ранней стадии тормознуть - получается замечательное "звёздное небо".
только сегодня про это вспоминал ;)
http://ru.wikipedia.org/wiki/Бейсик_Вильнюс
Цитата:
В Бейсик Вильнюс использовался популярный в то время алгоритм генерации случайных чисел RANDU, и пользователями БК был замечен существенный недостаток алгоритма[1] — например, при отрисовке большого количества точек, координаты которых получены функцией RND(), было хорошо видно разделение точек по диагональным плоскостям.
А чего тогда не в пользу меня? Я то же (когда получил задание) нарисовать на экране звёздное небо ввёл эту же прогу. НЕЗАВИСИМО ни от кого . Т.е сам придумал в голове.
Кстати бейсики есть СОВМЕЩЁННЫЕ и НЕСОВМЕЩЁННЫЕ . Первый при скрин2 символы выводить не может, а второй - может.
Проверил бейсик дисковый который тут выложил - он и есть совмещённый. То есть вот
Код:10 WIDTH 80%
20 SCREEN 2
30 PAINT (0,0),1
40 COLOR 7,1,1
50 ? AT(20,2)"ПРОВЕРКА НА СОВМЕЩЕННОСТЬ ДАННОЙ ВЕРСИИ"
60 FOR I=1 TO 200
70 LINE (0,0)-(I,I),3,B
80 LINE (640,0)-(640-I,I),3,B
90 NEXT I
100 GOTO 100
Из серии дурацких программ.
Просто если уж включил бейсик на УК-НЦ - уже не смог не накатать что
то такое :smile:
Код:10 COLOR 7%,1%,1%
20 WIDTH 80%
30 SCREEN 2%
40 PAINT (0,0),1
50 FOR I%=1 TO 200
60 PSET (RND(1)*640,RND(1)*264),RND(1)*8
70 NEXT I%
80 X%=315
90 Y%=125
100 LINE (X%,Y%)-(X%+10,Y%),7
110 LINE (X%+5,Y%-5)-(X%+5,Y%+5),7
120 K$=INKEY$
130 IF K$="" THEN GOTO 120
140 LINE (X%,Y%)-(X%+10,Y%),1
150 LINE (X%+5,Y%-5)-(X%+5,Y%+5),1
160 IF K$="A" THEN Y%=Y%+10
170 IF K$="B" THEN Y%=Y%-10
180 IF K$="C" THEN X%=X%+10
190 IF K$="D" THEN X%=X%-10
200 IF K$=" " THEN GOSUB 220
210 GOTO 100
220 LINE (0,0)-(X%+5,Y%),8
230 LINE (0,0)-(X%+5,Y%),3
240 LINE (0,0)-(X%+5,Y%),1
250 LINE (640, 0)-(X%+5,Y%),8
260 LINE (640, 0)-(X%+5,Y%),3
270 LINE (640, 0)-(X%+5,Y%),1
280 FOR I%=1 TO 3%
290 CIRCLE (X%+5,Y%),I%,8
300 NEXT I%
310 FOR I%=1 TO 3%
320 CIRCLE (X%+5,Y%),4-I%,1
330 NEXT I%
340 GOTO 100
350 GOTO 100
360 RETURN
Вообще, интересно чем была продиктована потребность делать Бейсик-Вильнюс с фичей "несовмещённых" текстового и графического экранов. На БК и УКНЦ это в принципе не нужно, но по исходникам известно что этот Бейсик предназначался также для компьютеров ДВК и Немига -- возможно для них это было важно?
Вот для ДВК точно важно, там ведь такой "отдельно взятый бардак" с графикой.
А вообще могут быть разные причины, вот бейсик который по сетке в школах у нас ученикам загружали, точно был "не совмещённый". Совмещённый я первый раз увидел на бытовой(производственной) УК-НЦшке у знакомого, кстати говоря я ошибочную информацию там написал, сейчас уточнил на дискетах от СЭМЗ, не совмещённая версия и весит 60 блоков, такие дела.
И конечно дата (версия) в стартовой надписи совсем другая:
59 блоков DBAS.SAV совмещённый > 1988.09.28
60 блоков DBAS.SAV не совмещённый > 1987.11.26
Это, что касается дисковой версии и есть ведь ещё несколько вариантов именно "сетевого" бейсика, который на РМП не запускается в принципе.
Что то заставило оптимизировать "БЕЙСИК-ВИЛЬНЮС" УК-НЦшный вариант
спустя примерно год. Наверное решили, что статистика в виде графики и текста одновременно - гораздо информативнее (к примеру).
На БК всё сделано было сразу, что называется "под платформу" )
Все было ИМХО так:
Сначала запилили Бейсик Вильнюс 1986 для БК0010-01.
Потом, чтобы в КУВТ-86 преподы могли просматривать и печатать тексты учеников на ДВК не подходя к БК - отрезали от него графику и сделали SAV для RT-11.
Ну а потом не парясь - перетащили SAV на УК-НЦ и привинтили графику отдельным режимом.
Потом запарились и сделали как на БК.
Разумеется. Любая строчка из видео-ОЗУ может быть в любом месте экрана, как расписано в списке отображения.
---------- Post added at 02:00 ---------- Previous post was at 01:57 ----------
Интересная у меня была история первого знакомства с бейсиком на УКНЦ. Когда к нам в школу поставили класс УКНЦ, я считал, что это супермощные компьютеры. У меня тогда был Радио-86РК, а в радиокружке Специалист. Я почему-то решил для себя, что на таком мощном компьютере, как УКНЦ, графика на бейсике должна просто летать. И первым делом, дорвавшись до УКНЦ написал на бейсике программку, рисующую векторами гоночную машину, вид сверху, которую можно клавишами управления смещать вправо-влево. Каково же было мое разочарование, когда я увидел, как эта машинка перерисовывается медленно-медленно. Ну, может кадр в секунду. Вот так разбиваются детские мечты)
Что такое список отображения?
По умолчанию наверное сверху вниз
http://images.netbynet.ru/direct/481...d49e537dae.gifКод:...
SCRA ORIGIN 176640B: INTEGER; - регистр адреса
SCRD ORIGIN 176642B: INTEGER; - регистр данных
...
PROCEDURE CLS;
BEGIN
WRITE(CHR(15),CHR(12));
FOR SCRA:=100000B TO 151177B DO SCRD:=0;
END;
...
Был вирус, который зеркально перевёртывал экран (и под DOS уже потом
был такой-же).
Кстати говоря - было бы классно если бы какие-то графические поделки в этой теме
появляться начали ! И в теме по редактору PCX - я, если честно, заводя её рассчитывал на что-то подобное ( в смысле появления авторских работ - современных конечно, а не древних!).
---------- Post added at 02:13 ---------- Previous post was at 02:10 ----------
Я помню в спрайтов движке от Зеленоградцев была процедура SPRINI которая
"гарантировала, что левый верхний угол экрана будет 0!" - видимо она этот самый
список из себя и представляла, расставляя строки так как надо?
Да и графический 0,0 был внизу слева только в бейсике.
---------- Post added at 02:28 ---------- Previous post was at 02:19 ----------
Наверное так специально сделалось для учеников, что бы с привычной Декартовой сеткой (сист.коорд.) сочеталось лучше )))
Легко видеть, что направленность т.н. "макарон" зависит от системы координат, а точнее от положения графической точки 0,0 (см.картинки).Код:10 COLOR 7,1,1
20 WIDTH 80%
30 SCREEN 2
40 FOR I=1 TO 13000
50 PRESET (RND(1)*640,RND(1)*264),RND(1)*8+1
60 NEXT I
70 ? AT(0,23)"ТЕСТ АРСЕНИЯ-ПРОФ-БРУХИСА-ХОБОТА (UKNCBTL 09.11.2012)";
80 GOTO 80
Вряд ли это было так. Начиналось конечно это с бейсика под БК и/или ДВК, потом была прикручена реализация для УКНЦ. НО, в исходниках видно что платформа включается простым define константы, т.е. это не набор бейсиков для разных платформ, а один исходник бейсика с блоками адаптированными под разные платформы.
Хе-хе. А я понял откуда взялся SCREEN -- это тоже наследие MSX BASIC. Для каких-то машин его додумались отключить, а для других решили оставить.
Похоже получилось с оператором CALL -- вызов программы из картриджа -- его честно сделали, без оглядки на то будут ли подобные картриджи вообще.
http://www.konamiman.com/msx/msx2th/th-2.txt
Кстати, ещё одно.
Есть вполне разумное объяснение тому что Бейсик для БК (а затем и УКНЦ) был основан именно на BASIC MSX: внедрение КУВТ "Ямаха" было весьма и весьма удачным. Но эти компьютеры покупались за валюту и закупить их для всех школ страна себе позволить не могла.
Школьная информатика в России – техническая база начального периода
http://www.computer-museum.ru/histso...rucom_2011.htm
Вот ещё бейсик - от уже выложенного в этой теме версии 59блоков отличалась только названием SAV файла и стартовым заголовком. Текст в режиме SCREEN2 можно
использовать.
На дискетах Titusa очень много всяких забавностей.
По Бэйсику красивая демка на образе disk19.dsk.
Впрочем не обошлось без "но". НО(!) :
1. Местный бейсик рисует такую шапку
http://savepic.ru/4255563.png
С этой версией бейсика у меня что-то не сложилось,
для того что-бы программа заработала - надо SCREEN 2 вернуть в самое начало программы.
Оригинал программы LINES.COD я прилепил к сообщению.
Напомню (на всякий случай) для программ с таким расширением
команда загрузки CLOAD"Lines <enter>
Смотреть лучше в динамике и если кто-нибудь сделает видео будет замечательно.
(Осторожно! Скрины)
Скрытый текст
Вроде простенько, но смотрится и оформлено непрерывным циклом (пока стоп не нажмёте).
Выжившая после всех преобразований игрушка на Бейсике с образа Raduga.DSK - OHOTA.asc. Шедевр ! Action-RPG > триллер и немного хоррора)
Но в самом начале всё красиво и даже празднично )
http://savepic.org/3055504.png
Инструкция то же довольно красочная (забыл включить Ч\Б режим!)
http://savepic.org/3040144.png
Но вот и серьёзная часть начинается, управление помним?
http://savepic.org/3046288.png
Стрелки курсора для перемещения (A.B.C.D) и пробел для выстрела!
http://savepic.org/3032976.png
Спасибо моей виртуальной собаке - по мимо запаха, она ещё
и шепчет (см. картинку) сколько шагов до берлоги, но когда
Миша выскочил я не удержался и начал палить ) Пробел, пробел
ещё пробел ! )
http://savepic.org/3024784.png
Попробуйте сами! Очень молодцы - авторы игры !
Кстати говоря образ конечно не для какой ни для ДВК, а
для УК-НЦ. Ибо и драйвер там MZ и много других вещей.
Дискета явно школьная, много исходников на фаст-паскале и
бейсике, есть местный какой-то монитор - чем удобен вместо
унылой . сообщение выдает вида MZ0> но заголовок имеет
странный как и само название системного файла. К сожалению
очень много текстовых файлов с явно порченным содержанием?
И куча <Unused> - как на всех школьных дискетах. У меня впечатление
такое что они боялись (в школах) лишний раз sq/noq выполнять (смайл).
Если аварийно завершить ГРАФ-ДЕМО в "улучшенном бейсике" и принудительно
через "УСТ" вернуть стандартный режим экрана, можно поглядеть как сидящий
в ОЗУ ПП драйвер зеркалит всё на обе странички экрана (вторую конечно не видно
в случае если режим экрана выставить с 80 на 40 символов в строке).
http://pic.pdp-11.ru/images/20150208213757281.png
сначало необходимо запустить TGRAPH.SAV - загрузка некоего "драйвера" в ПП.
потом местный "BASIC.SAV"
- кстати говоря, что радует TGRAPH - вроде бы не гадит работу WD драйвера! ;-)
Специально для Титуса!!!
UK_TURBOBAS_v3.1_IMG_.DSK из архива Хранительницы.
[свернуть]
набил и запустил исходник из статьи
М.Е. Штарев
О РАБОТЕ С ПЕРИФЕРИЙНЫМ ПРОЦЕССОРОМ УКНЦ
(«Информатика и образование» №3 1993 год)
(в целом ПП УК-НЦ надо по хорошему отдельную тему - поскольку
вся специфика и "скрытое очарование" в нём и заключено по сути)
Ну да ладно. Учу мат часть. Привет тебе ПП!)
исходник и картинка.
http://pic.pdp-11.ru/images/20150320171956468.pngКод:10 COLOR 8,1,1
20 SCREEN 2 ' *** ПЕРЕКЛЮЧЕНИЕ В ГР.РЕЖИМ
30 FOR I%=2 TO 8
40 LINE (100+I%*40,160)-(100+I%*40+39,100),I%,BF
50 NEXT
60 DIM D%(11) ' *** НАЧИНАЕМ МЕНЯТЬ ЦВЕТА
70 D%(3)=&O2470 ' АДРЕС В ОЗУ ПП
80 FOR I%=1 TO 7
90 READ D%(7) ' ЦВЕТА 8-5
100 READ D%(6) ' ЦВЕТА 4-1
110 GOSUB 160
120 FOR J%=1 TO 2000 ' ЗАДЕРЖКА?
130 NEXT J%,I%
140 RESTORE 340
150 GOTO 80
160 ' *** ПОДПРОГРАММА ЗАПИСИ В ОЗУ ПП
170 ' ВХОДНЫЕ ПАРАМЕТРЫ: D% (3) - АДРЕС В ОЗУ ПП
180 ' D%(6), D%(7) - ПЕРЕСЫЛАЕМЫЕ СЛОВА
190 D%(1)=&O10000 ' КОМАНДА "ЗАПИСЬ"
200 D%(2)=&O32 ' УСТРОЙСТВО - ПП
210 D%(4)=VARPTR(D%(6)) ' АДРЕС В ОЗУ ПП
220 D%(5)=2 ' ПРЕСЫЛАЕМ ДВА СЛОВА
230 AD%=VARPTR(D%(1)) ' АДРЕС МП
240 D%(8)=AD% AND &O377 ' МЛАДШИЙ БАЙТ АДРЕСА МП
250 D%(9)=INT(AD%/256) ' СТАРШИЙ БАЙТ АДРЕСА МП
260 D%(10)=1 ' СТОПОВЫЙ БАЙТ
270 D%(11)=1 ' СТОПОВЫЙ БАЙТ
280 FOR K%=8 TO 11
290 IF INP(&O176674,128)=0 THEN 290 ' ПП ГОТОВ?
300 POKE &O176676,D%(K%)
310 NEXT
320 RETURN
330 ' МАССИВ ДАННЫХ ДЛЯ УСТАНОВКИ ЦВЕТОВ
340 DATA &O177334,&O135230,&O117755,&O145650,&O124776,&O156270,&O135237,&O166710,&O145651,&O177330,&O156272,&O117750,&O166613,&O124770
- цвета смещаются справа на лево. правда нестандартных оттенков не замечено ) редактируем массив? )
[свернуть]
а есть инфо в электронном виде ?
http://uknc.narod.ru/Doc/index.htm (только статьи по УКНЦ).
Кстати, а общество в курсе, что для ДВК тоже есть вильнюсский Бейсик, с графикой на КГД ?