PDA

Просмотр полной версии : Дискуссии вокруг УКНЦ и прочее.



Страницы : 1 [2]

Alex
01.07.2023, 11:25
Назначение систем совсем разное...
А так вполне можно сказать, что у ВАЗ 2106 - есть преимущества перед ж/д составом ;)
Многопользовательские системы под 8080 не получили распространения, так как сам 8080 сделан для встраиваемых применений.
Нет аппаратной защиты кода. То же касается и многих других процессоров(в том числе и 6502)
так накосячил программер - код в ПЗУ не изменится... :)
И ещё, архитектура PDP-11 - старше. Операционные системы для PDP-11 существовали тогда, когда не было ни 8080, ни 6502
И ОС на многие микропроцессоры писался с оглядкой на то, что было на PDP-11

Hunta
01.07.2023, 12:01
Многопользовательские системы

Нет аппаратной защиты кода

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

Пример многопользовательской многозадачной системы реального времени без защиты




DEVICE TT001: NOT IN CONFIGURATION

RSX-11M V4.8 BL70 28.K
>RED HD:=SY:
>RED HD:=LB:
>MOU HD:RSX11MBL70
>@HD:[1,2]STARTUP
>* Please enter time and date (DD-MMM-YYYY HH:MM) [S]: 17-JUN-2023 12:17
>@ <EOF>
>PAR
LDR 045164 045050 000000 MAIN TASK
PAR14K 055710 056000 070000 MAIN TASK
GEN 055654 056000 040000 SUB TASK
SYSPAR 055744 146000 012000 MAIN TASK
>

Radon17
01.07.2023, 12:40
А была многопользовательская RT-11? Или что-то на её основе?
Именно многопользовательская, не многозадачная.

Hunta
01.07.2023, 12:48
А была многопользовательская RT-11? Или что-то на её основе?
Именно RT-11 от DEC - нет, насколько я знаю.

- - - Добавлено - - -

Ну и действительно многопользовательская - по хорошему - должна предполагать наличие какого-то механизма разграничения - кто из пользователей куда может лезть, хотя бы в ФС. А ФС у RT-11 уж ОЧЕНЬ ПРОСТАЯ :)

vva
01.07.2023, 21:54
Многопользовательские системы на базе RT-11 -- TSX, NTS (ее тов. Hunta недавно выложил).
По вопросу разграничений это к Form - он, как пример, демонстрировал разграничения доступа к файловой системе.

litwr
02.07.2023, 11:03
Назначение систем совсем разное...
А так вполне можно сказать, что у ВАЗ 2106 - есть преимущества перед ж/д составом ;)
Многопользовательские системы под 8080 не получили распространения, так как сам 8080 сделан для встраиваемых применений.
Нет аппаратной защиты кода. То же касается и многих других процессоров(в том числе и 6502)
так накосячил программер - код в ПЗУ не изменится... :)
И ещё, архитектура PDP-11 - старше. Операционные системы для PDP-11 существовали тогда, когда не было ни 8080, ни 6502
И ОС на многие микропроцессоры писался с оглядкой на то, что было на PDP-11

PDP-11 особенно с 80-х больше использовали как контроллеры. Вот, например, джентельмен гордо показывает свою красавицу PDP-11/73 (http://82.2.205.152/pdp11_pages/pdp11_73.html) - контроллер плавного движения двери в подъезде. И причем тут аппаратная защита кода и преимущества перед ж/д составом?

Вообще RT-11 в мире сильно уступала по используемости как универсальная ОС RSX-11, Unix и RSTS/E. Эта какая-то особенность ситуации с ИТ в СССР, что RT-11 стала самой популярной в совершенно не свойственной ей роли. Например, базовая ОС школьного компьютера УКНЦ или даже основа для графической оболочки в Союз-Неоне! Более того некоторые тут даже начинают в качестве достоинства УКНЦ учитывать его элементы соответствия назначению RT-11 как системе управления аппаратурой! И при этом RSTS/E осталась здесь практически неизвестной, возможно всё это из-за маломощности железа.
Хотя были и более чудноватые совок-компьютеры, например, Истра-4816 - туда три процессора поставили!

BlaireCas
02.07.2023, 19:57
возможно всё это из-за маломощности железа
Ну маломощность процессор(ов) оно не шиной случайно обеспечивается? Зато 16 бит и куча софта нахаляву от DEC. (прямо вот бери компилируй и запускай). А с другими процессорами это-ж все надо как-то и писать и адаптировать. И кто это делать будет

Alex_K
02.07.2023, 20:48
И при этом RSTS/E осталась здесь практически неизвестной, возможно всё это из-за маломощности железа.
Ну-ну!! И вы хотите RSTS/E на УКНЦ запустить?

- - - Добавлено - - -


Вообще RT-11 в мире сильно уступала по используемости как универсальная ОС RSX-11, Unix и RSTS/E. Эта какая-то особенность ситуации с ИТ в СССР, что RT-11 стала самой популярной в совершенно не свойственной ей роли. Например, базовая ОС школьного компьютера УКНЦ или даже основа для графической оболочки в Союз-Неоне!
Ну положим на УКНЦ можно со скрипом запустить RSX-11 и даже Unix. Ну а дальше-то что? И где это вы взяли, что RT-11 была везде? На СМ-4, Электронике-79, Электронике-100 активно эксплуатировалась ОС РВ, которая является советской копией RSX-11. А RT-11 активно использовалась на Электронике-60, ДВК, ну нету у них менеджера памяти. Появились потом 1801ВМ3, но это уже было на излёте СССР.

Hunta
02.07.2023, 21:08
И где это вы взяли, что RT-11 была везде?
Высосано. Как обычно.

Как только появлялся (в аналоге) ДП, так сразу народ переходил на что-то типа RSX. Ибо мини-компов мало (а то и вообще один), а народу много.

Возможно, что и на что-то а-ля Unix, но даже в бытность в Москве (84-87 года) - не слышал вообще про него ничего. Хотя вроде как в районе 83-его ДЕМОС склепали? Ну и когда вернулся в Саратов (87- примерно 91, когда начали персоналки всё занимать) - тоже - Н И Ч Е Г О. ОСРВ - да (но лично я её сразу менял на RSX-11M или RSX-11M-Plus - если заказчик соглашался), RSX - много. Даже RT-11 попадалась, а вот Unix-подобного - увы.

BlaireCas
02.07.2023, 21:18
На самом деле так-то можно выкатить претензии к УКНЦ как именно к школьному компьютеру.

Ну то-есть:
1) Как-то дорого и навороченно сделали для школы. (почему дорого - второй процессор обслуживающий дисковод и экран - это перебор, учитывая что в школьных классах стоял один дисковод на всех)
2) Зачем школе 8/16 цветов? (с БК все было нормально и с 4-ю цветами)
3) Почему нет бейсика в ПЗУ? (я знаю что была кассета пзу с ним, но кто-нибудь ее живой видел разве?)

Вот в таком ключе претензии вполне даже логичны.

Пожертвовать часть ОЗУ на обработку сетевого адаптера, шрифт, вывод экрана, сделать переключаемое ПЗУ -> ОЗУ на бейсик (микропереключателями какими-нибудь). 4 цвета, а то и два для 80х24 пойдет. Конечно получилась-бы некая очередная БК-0010-0X возможно.

Alex_K
02.07.2023, 21:42
1) Как-то дорого и навороченно сделали для школы. (почему дорого - второй процессор обслуживающий дисковод и экран - это перебор, учитывая что в школьных классах стоял один дисковод на всех)
И при чём тут дисковод? ПП обслуживал всю периферию - клавиатуру, экран, магнитофон, кассету ПЗУ.

3) Почему нет бейсика в ПЗУ? (я знаю что была кассета пзу с ним, но кто-нибудь ее живой видел разве?)
Ну и что, каждый ученик был обязан таскаться со своим магнитофоном, чтобы записать программу? А в случае сетевого Бейсика всё записывалось на дисковод РМП, оттуда же можно было и загрузить. Собственно сам занимался этим, знаю.

BlaireCas
02.07.2023, 21:57
магнитофон
Э.. давайте не будем про магнитофон для УКНЦ, он там для галочки сделан, вряд-ли кто его вообще хоть раз использовал в те времена (речь про школу, ага в школу со своими кассетами даааа).



клавиатуру, экран
БКшка справлялась как-то и без ПП вполне, синклер тоже и т.д.


А в случае сетевого Бейсика всё записывалось на дисковод РМП
Я и не против сетевого адаптера, отжует конечно некое количество ОЗУ, подумаешь. Он и так отжевывает, он-же на шине ЦП висит.

Это конечно мое ИМХО - но УКНЦ могло-бы иметь вид эдакой "мини-двк" без КЦГД. Без дисковода (сетевой адаптер и только у одной машины учителя был-бы дисковод, но там соответственно ничего запустить больше пусть будет нельзя, все ресурсы идут на дисковод и сетку).
Второй момент это бейсик который отожрет сразу 22-32кб допустим. Ну что-ж, для программ бейсика что-нибудь да останется.

Еще раз - это чисто для школьной машинки где дети в 87-м году не видели ничего кроме программируемого калькулятора возможно (и то не все). Им-бы вполне пошло.

И вот эти все цвета коих там больше 8-ми! УКНЦ в классах стояли с ч/б мониторами. На цвета вообще было ну как-бы если проще сказать "всем пофиг". Белый-черный-серый и хорош.

Alex_K
02.07.2023, 22:14
Э.. давайте не будем про магнитофон для УКНЦ, он там для галочки сделан, вряд-ли кто его вообще хоть раз использовал в те времена (речь про школу, ага в школу со своими кассетами даааа).
Бейсик в кассете ПЗУ писал на магнитофон. А кто использовал? Я например. Купил себе УКНЦ в самом начале 1990-х с контроллером дисковода. Пока копил на дисководы и блок питания к ним, написал программу TAPE. В классе УКНЦ записывал игры на магнитофон, дома играл.
И да, не надо голословно утверждать, что он сделан для галочки. Какой нибудь пруф есть?

БКшка справлялась как-то и без ПП вполне, синклер тоже и т.д.
Уже 100500 раз говорилось, что БК не соответствует архитектуре PDP-11. А УКНЦ универсален и для РМУ и для РМП. Сдох у препода УКНЦ, взяли ученический, переключили адрес сетевого адаптера и дальше работаем.

Я и не против сетевого адаптера, отжует конечно некое количество ОЗУ, подумаешь. Он и так отжевывает, он-же на шине ЦП висит.
На РМУ не было ОС, только Бейсик, так что много не терялось. А на РМП в это время запущена программа связи.

litwr
02.07.2023, 22:34
Многопользовательские системы под 8080 не получили распространения, так как сам 8080 сделан для встраиваемых применений.
Нет аппаратной защиты кода. То же касается и многих других процессоров(в том числе и 6502)

Это и про ВМ1, ВМ2, Т11, ...

- - - Добавлено - - -


Уже 100500 раз говорилось, что БК не соответствует архитектуре PDP-11.
Это лозунг какой-то, а практически все фирменные программы для RT11SJ отлично идут под ОС БК11.

Alex_K
02.07.2023, 22:38
Это лозунг какой-то, а практически все фирменные программы для RT11SJ отлично идут под ОС БК11.
Это не лозунг, это факт. ОС БК11 - это сильно переделанная RT-11. Оригинальная RT-11 на БК не пойдёт как раз из-за несоответствия БК, архитектуре PDP-11.

BlaireCas
02.07.2023, 22:44
Купил себе УКНЦ в самом начале 1990-х с контроллером дисковода.
Я специально жирным выделил для школьной машины. Школа мол, где там какой магнитофон-то?


Сдох у препода УКНЦ, взяли ученический
Давайте преподу поставим более надежный ДВК (и кстати ведь так вполне делалось). Либо сделать более навороченный контроллер дисковода лично "для препода". А остальные обойдутся СА.

Мне видится только пока-что одно - видео ОЗУ разумеется нужно будет держать там-же где и сейчас по адресам 200000 и выше. Доступ точно также по РА РД. Оно конечно будет тормозить (как и сейчас). И придется отожрать сколько-то там адресного пространства ЦП на обработку вывода символов. Уж вот много там или мало по скорости оно отожрет я точно сказать не могу.

И да Alex_K - уж поверьте, я люблю УКНЦ, это был мой фактически первый компьютер где я не только стал играть в игрушки, а еще что-то программировать начал и мне он очень нравится да! Но надо признать ведь факты что для школьного он сильно навернут был, перебор ну реально-же

litwr
02.07.2023, 22:48
Это не лозунг, это факт. ОС БК11 - это сильно переделанная RT-11. Оригинальная RT-11 на БК не пойдёт как раз из-за несоответствия БК, архитектуре PDP-11.
Прикладные программы-то переделывать не надо, а это главное и особенно для школьного компьютера.

Alex_K
02.07.2023, 22:56
Прикладные программы-то переделывать не надо, а это главное и особенно для школьного компьютера.
Ну не всё может запускаться. Что-то патчили. Системные утилиты для RT-11 должны запустится, написаны они так, что не лезут куда надо, используют сервисы RT-11. Но всё равно не все программы, сторонние могут и не пойти.

Hunta
02.07.2023, 22:57
Давайте преподу поставим более надежный ДВК
И вот он сдох. Дальше чё бум делать? В отличии от ситуации - взяли комп ученический и поставили вместо.

ибо сделать более навороченный контроллер дисковода лично "для препода".
Чего не хватает в штатном?

Alex_K
02.07.2023, 22:58
Давайте преподу поставим более надежный ДВК (и кстати ведь так вполне делалось).
И увеличим стоимость класса.

BlaireCas
02.07.2023, 22:59
Прикладные программы-то переделывать не надо
Надо было, в БК адреса ячеек какие-то другие, просто так там не заработает тот-же код с ДВК например который легко работает на УКНЦ. Своеобразная она хотя и вида RT-11.

Hunta
02.07.2023, 23:00
Надо было, в БК адреса ячеек какие-то другие
А некоторых вообще нет

Alex_K
02.07.2023, 23:00
Либо сделать более навороченный контроллер дисковода лично "для препода".
Так же в случае одного процессора увеличим стоимость. В качестве примера КМД ДВК, который MY. Можно такой же контроллер поместить на ЦП, сразу вопрос - вы с контроллером КНГМД ДВК, который MX, знакомы?

BlaireCas
02.07.2023, 23:04
Чего не хватает в штатном?
Дешевизны суммарной в классе нехватает. Зачем держать периферийный процессор когда есть сетевой адаптер? И это на 20-30 машинах где лишь одна из них преподавательская и имеет дисковод. (есть конечно подозрения что 20 оно не осилит, а в реальности было 10 учеников и один "преподаватель")
Зачем делать 192к ОЗУ из которой половина ушла на отображение 8-ми цветов обоими процессорами когда де-факто машинки стояли с ч/б мониторами? Грейскейл наблюдать? А кому он нужен был-то в школе. Белый-черный и нормас. (в 320х288 пусть будет уже 4 цвета окей)
Зачем делать разъем магнитофона.
Зачем делать разъем принтера (сувануть принтер если есть у кого в разъемы шины мпи коих можно было понаделать лишних)
И прочих этих "зачем" вполне много для опять-же, еще раз "школьной машинки".

Alex_K
02.07.2023, 23:04
И придется отожрать сколько-то там адресного пространства ЦП на обработку вывода символов. Уж вот много там или мало по скорости оно отожрет я точно сказать не могу.
А я могу сказать - по скорости прилично отожрёт. Ну и далее один процессор - отожрали памяти для ПЗУ для вывода символов, также для обработки клавиатуры надо. Контроллер дисковода повесим на ЦП, пущай занимается.
BlaireCas, а вы знакомы, какой объём программы, которая обслуживает 1801ВП1-128. Думаю, нет. И что у нас в итоге останется?

Radon17
02.07.2023, 23:07
Подтверждаю, УКНЦ переставляли с РМУ на РМП, пока нерабочие машинки чинились. Рассказывала учительница информатики.
И кстати от идеи различий между РМУ и РМП специально отказались на стадии доработки.
См. тему "первый вариант УКНЦ", там ранняя машина, у которой ВП1-128 распаивалась на материнской плате у РМП и не распаивалась у РМУ.
Он же (ранний УКНЦ) описан в восьмитомнике "микроЭВМ", в томе про учебные машины.
Помрёт учительская машина и сушим вёсла.

Кстати идею эту взяли с Ямаха КУВТ, в котором в классе все машины были одинаковые и кнгмд в картридже.
Непонятно почему от этого отказались в КУВТ2, где учительская машина была куда круче ученических.

Hunta
02.07.2023, 23:12
Дешевизны суммарной в классе нехватает.
О да, ДВК её добавит

BlaireCas
02.07.2023, 23:13
В качестве примера КМД ДВК, который MY. Можно такой же контроллер поместить на ЦП, сразу вопрос - вы с контроллером КНГМД ДВК, который MX, знакомы?
Да мне уже Hunta (кстати спасибо ему) пояснил чем отличаются MX MY и MZ :) Но смотрите - этих ученических машинок 10-20, а преподавательская лишь одна.

Radon17
02.07.2023, 23:15
Но смотрите - этих ученических машинок 10-20, а преподавательская лишь одна.
Вы учитель информатики. Сдыхает учительская машина. Ваши действия?
Ждать неизвестно долго пока заберут, отвезут, починят?
А учебные планы? "-Дети, урока не будет"? Или сидим пишем код в тетрадках?

litwr
02.07.2023, 23:17
Надо было, в БК адреса ячеек какие-то другие, просто так там не заработает тот-же код с ДВК например который легко работает на УКНЦ. Своеобразная она хотя и вида RT-11.
Это вы про порт терминала, фирменные программы к нему никогда не обращаются, они используют системные вызовы. В эти порты лезли творцы первых динамических игр и часто это было совершенно бесполезно, делали несовместимость и ничего не получали взамен. Хороший пример - это Тетрис Пажитного, он там лез в эти порты, но похоже документация у них в конторе была кривая и от этого лазанья никакого проку не было.
У БК главная проблемa 48 КБ памяти вместо штатных 56 - некоторые программы требуют все.

BlaireCas
02.07.2023, 23:17
Ваши действия?
Дети, сегодня отдыхаем! - Урааа!

litwr
02.07.2023, 23:19
Непонятно почему от этого отказались в КУВТ2, где учительская машина была куда круче ученических.
Вроде в 90-е типично было, когда преподавательская машина была IBM PC compatible.

Radon17
02.07.2023, 23:19
Дети, сегодня отдыхаем! - Урааа!
Учебный план сдвинут на N уроков, которые необходимо либо пропустить, либо нагнать за другие уроки.
И таких ситуаций за учебный год может быть несколько.

Надёжный план :D

BlaireCas
02.07.2023, 23:21
Или сидим пишем код в тетрадках?
На доске еще можно если у кого в классе информатики была доска. Ну там нарисовать алгоритм мол if then else

- - - Добавлено - - -


Надёжный план
Ну так в учительский УКНЦ вставляется починенный или заранее запасенный контроллер дисковода ибо он будет не один (пусть он будет недешевым ну и что? а сам дисковод что дешевым был? если сдохнут оба дисковода - класс точно также будет ждать замены)

Alex_K
02.07.2023, 23:22
Хороший пример - это Тетрис Пажитного, он там лез в эти порты, но похоже документация у них в конторе была кривая и от этого лазанья никакого проку не было.
Он там лез не для вывода, а для реализации задержки. Вывод там сделан через операторы WRITE/WRITELN, а библиотека Паскаля использует стандартные функции системы для вывода.

Radon17
02.07.2023, 23:23
в учительский УКНЦ вставляется
...плата размером с КМД MY :D

BlaireCas
02.07.2023, 23:23
Вроде в 90-е типично было, когда преподавательская машина была IBM PC compatible.
Для УКНЦ - нет. Хотя такое было если читать те старые журналы, но это уже было а-ля в 94 году когда собственно сами IBM расплодились настолько что уже их девать стало некуда.

Alex_K
02.07.2023, 23:24
Да мне уже Hunta (кстати спасибо ему) пояснил чем отличаются MX MY и MZ
Я немного в другом плане. Вы ратовали за один процессор. Вы знакомы с программированием чипа 1801ВП1-128?

BlaireCas
02.07.2023, 23:24
...плата размером с КМД MY
Ничего страшного, учитель не дети и шатать ее не станет
(и к тому-же вставляется разумеется не плата, а лишь коннектор)

Alex_K
02.07.2023, 23:25
Дети, сегодня отдыхаем! - Урааа!
И что Марь Ивановна, значит в конце урока, если мы всё быстро выполним, не поиграем?

BlaireCas
02.07.2023, 23:27
Вы знакомы с программированием чипа 1801ВП1-128?
Неа. А что это меняет? То что в том-же спектруме дисководы как-то умудрялись подключать для одного процессора и второй им не был нужен? Ну а что для УКНЦ такое сделать нельзя чтоли было? Повторяю - лишь для одной машинки учительской. Экономия на всем остальном во всех 10-ти штуках УКНЦ у которых "выкусываем ПП и лишнюю память и еще там ХМ БМК лишние"

Radon17
02.07.2023, 23:30
если у кого в классе информатики была доска
У нас была классная стеклянная, во всю стену :)
Кстати вы говорили, что тоже бывали в этой школе (не знаю, учились ли там же?), так что может быть её видели.
Года 4 назад сняли и выкинули на помойку, мол меловая пыль вентиляторы засоряет. Поставили мелкую маркерную.

ну да это оффтоп )

Alex_K
02.07.2023, 23:33
Неа. А что это меняет? То что в том-же спектруме дисководы как-то умудрялись подключать для одного процессора и второй им не был нужен? Ну а что для УКНЦ такое сделать нельзя чтоли было? Повторяю - лишь для одной машинки учительской. Экономия на всем остальном во всех 10-ти штуках УКНЦ у которых "выкусываем ПП и лишнюю память и еще там ХМ БМК лишние"
Специалисты, блин. Вот прежде чем всё так хаять и говорить, что надо было не так, а так. Представьте ТО на свою машину с подробным описанием архитектуры, какие микросхемы вы будете использовать, как у вас там всё будет взаимодействовать.

А спустя уже почти 40 лет хорошо говорить. А окажись вы в то время там, с теми знаниями, с теми ресурсами, интересно посмотреть на ваш результат.

BlaireCas
02.07.2023, 23:37
Кстати вы говорили, что тоже бывали в этой школе
Я учился в другой школе через дорогу почти, но рядом на лизюкова. В эту ходил потом ходил в пристройку где стояла куча техники ДВК УКНЦ и даже винчестеры с блинами куда один человек стряхивал пепел и на мой удивленный взгляд говорит что "а там вытяжка" :)

(зачем ходил - ну я так в ВГУ поступил тогда через эту школу через как сейчас скажут олимпиаду по информатике, а паскаль тогда был вполне на двк и я его изучал, кстати код писать приходилось в одном из тестов именно по-памяти на бумажке)

Alex_K
02.07.2023, 23:40
То что в том-же спектруме дисководы как-то умудрялись подключать для одного процессора и второй им не был нужен?
В наших клонах Спектрума использовали ВГ93. Фактически это микроконтроллер со своим ядром и ПЛМ. Он воспринимает команды более высокого уровня. Покруче будет i8072. В 1801ВП1-128 ничего такого нет, вы сами управляете дисководом, читаете, пишете. А дисковод это самое настоящее устройство реального времени, тут нельзя опоздать, особенно во время чтения/записи. Поизучайте исходники в ПЗУ, полезно будет.

BlaireCas
02.07.2023, 23:45
Представьте ТО на свою машину с подробным описанием архитектуры, какие микросхемы вы будете использовать
БК-0010 без ТО писался? Дисковод там был или нет? Туда надо было ставить какие-то крутые микросхемы для этого?
Тут про микросхемы я не знаю я в этом нубас конечно, железо для меня темный лес. Но просто вижу примеры что есть компьютеры которым вовсе не был нужен второй процессор для дисковода. Причем вот еще раз - для 10ти ученических машин он не нужен будет никогда

Hunta
02.07.2023, 23:48
Причем вот еще раз - для 10ти ученических машин он нужен не будет никогда
Вывод на экран (он графический, если что) и ввод с клавиатуры (которая ни разу не PS/2) - ок, давайте повесим это на ЦП - и упс.. Занято не только процессорное время, но и память, а ещё - кривая совместимость со стандартными ОС - и как и на БК-0010 - допиливать надо

Radon17
02.07.2023, 23:49
Официального дисковода под БК-0010 никогда не было.
Был он только начиная с 0011.

Alex_K
02.07.2023, 23:51
Тут про микросхемы я не знаю я в этом нубас конечно, железо для меня темный лес.
Собственно дальше дискуссия не имеет смысла. Чтобы её вести необходимо, чтобы оба собеседника понимали суть вопроса. А просто слова, что я видел здесь, а здесь не так сделано без конкретной аргументации.
В БК-0010 официально дисковода не было. Его потом уже любители сами привешивали. И RT-11 на БК-0010 нет. Управляется дисковод отдельным ПЗУ на контроллере.

BlaireCas
02.07.2023, 23:54
кривая совместимость со стандартными ОС
Издержки того что класс полагается все-же школьным. И всякие крутые вещи (кроме бейсика возможно) там запускать не требуется. Отчасти РТ-11 пойдет и с немного покоцанной памятью, подумаешь будет не 40-50кб свободно, а 20-30. Ничего страшного, макро-11 даже наверняка заработает.

Radon17
02.07.2023, 23:54
Второй процессор был встроен уже в саму ИС контроллера, по сути контроллер он на то и называется контроллером.
Влез бы такой страх непонятно какой системы команд на типовой кристалл К1801ВП1-ххх - очень сомнительно.
Плодить ещё одну ИС контроллера, учитывая, что для ДВК уже разработана -097, а позже -128?
Это точно дешевле, проще и быстрее, чем поставить нормальный уже давно разработанный процессор внутрь каждой машины?

BlaireCas
02.07.2023, 23:59
Его потом уже любители сами привешивали. И RT-11 на БК-0010 нет.
Тем не менее дисковод был? Это заняло какую-то крутую схемотехнику там чтоли? Пусть и стоит как сам БК и что? А то что у нас удешевело 10 школьных машин это разве не аргумент?

- - - Добавлено - - -


Это точно дешевле, проще и быстрее, чем поставить нормальный уже давно разработанный процессор внутрь каждой машины?
Если надо поставить лишь один контроллер пусть и навернутый очень на 1 из 10 машин, а остальные лишить второго ВМ2 процессора и излишних (это МОЕ имхо парни) 64кб ОЗУ - то игра вполне стоит свеч

Hunta
03.07.2023, 00:01
И всякие крутые вещи (кроме бейсика возможно) там запускать не требуется.
Давайте поставим в школы ГОВНО - и потом будем удивляться, что нихрена у нас не делается, всё за границей надо покупать. Вот только я предпочту отправить своих детей (собственно, уже) в школу, которая обеспечена от и до. И будут мои дети много уметь и знать. Вот, в пятницу отправили дочь в Сириус - ребенок САМ захотел и САМ этого добился. А если бы до сих пор ходил в ту же школу, что и в первом классе... Не было бы двух Артеков, не было бы двух Орлёнков, не знали бы нас космонавты и не ждали бы с нетерпением в универ - в котором её даже РЕКТОР знает.


а 20-30
Ради интереса - сделай на simh так, что бы с запущенной RT свободной памяти было 20 кб - и попробуй поучиться программированию на ней. Или игрушки писать

Radon17
03.07.2023, 00:02
Издержки того что класс полагается все-же школьным. И всякие крутые вещи (кроме бейсика возможно) там запускать не требуется.
А ничего, что на уроках прямо изучали ОС RT-11, как с ней работать? И если человек хотел, он и на макро мог научиться писать?
Потому что (сюрприз!) на момент разработки УКНЦ основной серьёзной архитектурой в стране была PDP-11.
Если бы человек пошёл бы работать в хоть что-то связанное с автоматизацией, обработкой информации, он 99% столкнулся бы с PDP-11!
Да и не только, автоматизация уже активно шла и на прочих рабочих местах.

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

Hunta
03.07.2023, 00:03
излишних (это МОЕ имхо парни) 64кб ОЗУ - то игра вполне стоит свеч
НИХРЕНА

- - - Добавлено - - -

Честно говоря - уже неинтересно ни спорить ни общаться. Адью.

BlaireCas
03.07.2023, 00:06
Вы меня прижали к стене своими "нет так нельзя потому-что нельзя".
Ну окей окей, без обид. Хунта не бугурть там :) Ты последний из могикан кто пишет под РТ-11 и я понимаю обиду.

(а то придет админ и тред закроет напрочь, хоть тут можно было пообщаться мнения выяснить разные)

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

Alex_K
03.07.2023, 00:07
Честно говоря - уже неинтересно ни спорить ни общаться. Адью.
Абсолютно согласен. Я уже выше написал, что если собеседник в этом мало смыслит, то доказать ему что-то практически не реально.

BlaireCas
03.07.2023, 00:17
доказать ему что-то практически не реально
Не спорьте, не читайте тему, она для флейма. Оставьте тут нас с litwr и все будет хорошо.

https://www.youtube.com/watch?v=js0WRQphcz0
(вдруг кто не видел)

Alex_K
03.07.2023, 00:27
Не спорьте, не читайте тему, она для флейма. Оставьте тут нас с litwr и все будет хорошо.
Не оставлю и не надейтесь. Для флейма есть другой раздел.

Radon17
03.07.2023, 00:40
Про БКшку кстати и про УКНЦ конечно там тоже есть

(вдруг кто не видел)

Манве такой же ыксперт по истории и архитектуре вычтехники как и litwr, вот в этой теме начиная где-то отсюда и дальше "уровень" в принципе видно.
https://zx-pk.ru/threads/34009-bk-bystree-vsekh.html?p=1140759&viewfull=1#post1140759

BlaireCas
03.07.2023, 01:42
Не оставлю и не надейтесь.
Иначе опять начнется "зачем сделали монстрового монстра двухпроцессорного от которого люди бугуртят до сих-пор". А Manwe (отчасти верно) говорит что УКНЦ это учебный компьютер наверное цветной. Ну ладно я-ж сказал что он мне нравится как-бы оно не было. Единственно надо как-то приспособиться писать под два процессора с .asect и .=0 (в обеих!) Технически я к этому приспособился уже собственным линкером, но нужно чет усовершенствовать ибо не macro-11 way получается.

- - - Добавлено - - -


Манве такой же ыксперт по истории и архитектуре вычтехники как и litwr
Ну ссылка вообще флеймовая, но он уважаемый человек в БК демосах. Знает БКшки и что-то пишет до-сих пор. Демку вон какую-т сделал (у меня нет БКшки и посмотреть не могу).
Но на деле вот одна из его демок просто ЗАЧЕТНАЯ-Ж (только он портировал touhou project demo (bad apple) на бк под даже ковокс, я представляю как он с таймингами пострадал)

На УКНЦ кст кто сподобится? Код с бкшки ведь перенести и вся недолга да? Нет желающих? Или КНМЖД на УКНЦ ни у кого нету?

(а на УКНЦ у нас есть клевое видео)

https://www.youtube.com/watch?v=1dTXn5XU5Yo

- - - Добавлено - - -


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

Sandro
03.07.2023, 09:21
А я могу сказать - по скорости прилично отожрёт. Ну и далее один процессор - отожрали памяти для ПЗУ для вывода символов, также для обработки клавиатуры надо.

Пока программа грузится с дисковода, пользователь всё равно ждёт. Разница в том, что в УКНЦ и ДВК в это время процессор простаивает, а в БК -- обслуживает дисковод.


Контроллер дисковода повесим на ЦП, пущай занимается.
BlaireCas, а вы знакомы, какой объём программы, которая обслуживает 1801ВП1-128. Думаю, нет. И что у нас в итоге останется?

Около 2К. И что?

PS: Алекс, ты реально надоел со своей мифологией про то, что "БК -- это неправильная PDP-11, она слишком дешёвая, настоящая должна быть размером с шкаф и стоить, как автомобиль Волга, а лучше -- как две!"

- - - Добавлено - - -



В БК-0010 официально дисковода не было.

Ну и что?
Контроллер с 326 прошивкой прекрасно работает на БК-0010. С 253 есть проблема с начальной загрузкой -- там загрузчик зачем-то пытается инициализировать БОС 11 машины, хотя это нахрен не надо. Обходится разными способами.

Давайте вы не будете писать о вещах, в которых не разбираетесь? (Да, это касается и УКНЦ, и Союз-Неона)

Hunta
03.07.2023, 09:28
с .asect и .=0 (в обеих!) Технически я к этому приспособился уже собственным линкером
.ASECT и .=0 необязательны, и штатный линкер отлично со всем справляется


Разница в том, что в УКНЦ и ДВК в это время процессор простаивает
Не обязательно


Около 2К. И что?
И если отказываться от второго процессор - приплюсовать сюда код вывода на монитор и код ввода с клавиатуры (который вроде как, но не буду это утверждать) работает не по прерываниям) - получаем необходимость доработки RT-11, что бы на всём этом взлететь. Образец того, что получится, можно посмотреть на Э85, вот только там ещё нехилая такая поддержка со стороны "БИОС"а и железе, а что у нас будет в случае УК-НЦ? БК на стероидах? Спасибо, не надо - я с ним наигрался в своё время.

- - - Добавлено - - -


Обходится разными способами.
Может, будет проще жить, когда не надо "обходить разными способами"?

Sandro
03.07.2023, 09:55
Не обязательно


Как минимум, в 99,99% случаев основной процессор простаивает. Так зачем нужно 2 проца, если они работают по очереди? Одного хватит.


а что у нас будет в случае УК-НЦ? БК на стероидах? Спасибо, не надо - я с ним наигрался в своё время.


А школьный компьютер и должен быть "БК на стероидах". Которая в 20 раз дешевле, чем ДВК. УКНЦ неоправданно сложна. Зачем всё это железо, если оно основную часть времени ничего не делает?

PS: У БК, кстати, контроллер клавиатуры работает по прерываниям. Ну это я так, к слову.

Hunta
03.07.2023, 10:07
А школьный компьютер и должен быть "БК на стероидах".
Я уже писал - если кого-то устраивает, что их дети будут обучаться на говне, их проблемы. Я предпочитаю нормальные школы.


Как минимум, в 99,99% случаев основной процессор простаивает.
Ну так пусть те, кто умеет писать только ТАКИЕ программы - почитает про возможности процессора и операционки, что бы проц не простаивал.


Одного хватит.
Можешь из своей УК-НЦ один выдернуть

- - - Добавлено - - -


УКНЦ неоправданно сложна
Аха, конечно.

Sandro
03.07.2023, 10:43
БК не "*****", а вполне нормальная машина. С недочётами, да. Если верить ММ -- даже с умышленными. Но УКНЦ ещё страшнее, если на то пошло.

И, кстати, я могу увидеть хоть одну программу, использующую возможности УКНЦ на 100%? Чтобы оба процесоора одновременно выполняли полезную работу?

BlaireCas
03.07.2023, 10:45
.ASECT и .=0 необязательны, и штатный линкер отлично со всем справляется
В УКНЦ есть такая проблема что код для обоих процессоров скажем находится в одной .sav-ке. Часть этого кода для ПП надо переслать в ПП. Ну как-бы ну и замечательно вроде, пересылаем. Только вот он начнет исполняться вовсе не с адреса допустим 1000, а с неизвестно какого. Ну и местами это неудобно. Приходится использовать конструкции навроде

mov PC, R0
add #ADDR-., R0
чтобы получить реальный адрес блока допустим с данными

Hunta
03.07.2023, 11:00
Только вот он начнет исполняться вовсе не с адреса допустим 1000, а с неизвестно какого.
И как это связано с .ASECT и .=0?

BlaireCas
03.07.2023, 11:00
И, кстати, я могу увидеть хоть одну программу, использующую возможности УКНЦ на 100%? Чтобы оба процесоора одновременно выполняли полезную работу?
Если брать прикладные программки и допустим новодел - то конечно есть. Собственно я сам демку игрушки делал, randomizer также в chibiakumas наверняка второй процессор использовал. Ведь только он может рисовать "синим" цветом, дергать бипер для звуков и работать с клавиатурой. Это конечно вынужденная мера, но куда деваться-то.


https://i.imgur.com/os30NcU.mp4 (на реале сильно лучше выглядит чем в гифке)
https://github.com/blairecas/descent/tree/master/release
звуки, синий цвет и т.д. - всё это второй процессор разумеется

Hunta
03.07.2023, 11:05
БК не "*****", а вполне нормальная машина.
Тем, кого она устраивает как комп для школьников - флаг в руки и якорь туда же.


Если верить ММ -- даже с умышленными.
Если верить


Но УКНЦ ещё страшнее, если на то пошло.
Поэтому я сразу на неё пересел, как только она попала мне в руки и сделал много чего (в том числе всякое, когда в универе учился). И как-то не испугался.


И, кстати, я могу увидеть хоть одну программу, использующую возможности УКНЦ на 100%?
Игры этим пользуются. Конечно, если у автора руки из правильного места.

- - - Добавлено - - -


Это конечно вынужденная мера, но куда деваться-то.
Это нормальное распаралеливание программы, когда есть такая возможность. А то так договоритесь, что современные многопроцессорные и многоядерные системы нахер не нужны. Только это разрабам игрушек не говорите. Не поймутс.
Ну а если у кого-то не получается то или учится или бросать программирование - не их это область.

BlaireCas
03.07.2023, 11:06
И как это связано с .ASECT и .=0?
Хочется получить некий простой способ написания кода для ПП в абсолютных адресах и чтобы оно лежало в одной .sav, а не в чем-то типа "тут у нас основная программка, а вот тут допустим ppu.bin код для ПП который надо неким лоадером туда загрузить". Фактически это означает "приклеить" этот bin в конец .sav-ки которая для ЦП и собственно его по нужному адресу потом положить в ПП.
Ладно.. чего-то я муторно слишком объясняю. Забей :)

Hunta
03.07.2023, 11:12
по нужному адресу потом положить в ПП
Насколько мне помнится (но тут могу ошибаться), там вроде по правилам сначала надо получить блок памяти, а потом уже грузить туда, нет?

- - - Добавлено - - -


Хочется получить некий простой способ написания кода для ПП в абсолютных адресах
И проблема то как раз в этих абсолютных адресах - если бы у PDP-11 был бы абсолютно перемещаемый код - вообще было бы фиолетово - с какого адреса грузить.

Ну а что бы не писать стопитсот раз конструкции типа приведённой выше - есть макросы, в том числе стандартные. Уж в RT-11, учитывая её перемещаемость при загрузке и начальной и последующей - все это DEC сделала

BlaireCas
03.07.2023, 11:30
если бы у PDP-11 был бы абсолютно перемещаемый код
Вот в этом-то и неудобство написания для ПП если не делать какие-то кастомные загрузчики. Да банально что-то навроде MOV ADDR(R0), R0 (если вот прям так просто написать для ЦП и попытаться закинуть это в ПП) уже там не пройдет и приходится выкручиваться. Ну и просто неудобно так-то уж. Поэтому возможно не так много творений было которые используют периферийный процессор на всю его катушку.

(я понимаю что это звучит как нытье, но собственно не я первый кто "обнаружил" что в УКНЦ есть второй проц и нормально с ним поработать так и не смог, сложнаааа неудобнааа..)

.. на закуску кусок кода в ПП от Alex_K за что ему спасибо, останавливает моторчик дисковода:

clr R0
call @7132(R0) ; stop FD motor
Зачем такие сложности? А черт его знает :) Это-ж УКНЦ

Hunta
03.07.2023, 11:44
Да банально что-то навроде MOV ADDR(R0), R0 (если вот прям так просто написать для ЦП и попытаться закинуть это в ПП) уже там не пройдет и приходится выкручиваться.
Мне много приходилось (да и сейчас с хобби приходится) писать перемещаемый код, так что просто привык.


Ну и просто неудобно так-то уж
От этого никуда не деться - принять как данность. Ну и что бы не ошибаться - макросы. Один вариант макросов - когда код пишется полностью перемещаемым (больше команд), второй вариант - когда как результат трансляции строится таблица, а потом по этой таблице небольшая (она действительно будет небольшой) процедура патчит код - подстраивая его под адрес загрузки


нормально с ним поработать так и не смог, сложнаааа неудобнааа..
Когда я мучал во времена оные свой УК-НЦ - ничего сложного и особо неудобного в нём не увидел. Да, некоторые архитектурные его решения выглядят.. странноватенько, но, как показывает практика - если нечто создавала более менее нормальная команда - то обоснования всегда есть. Просто как правило(!) их (описанных обоснований) нет у нас. Кто-то ноет, кто-то принимает как данность.

Таже байтовость в ПП возможно(!) последствия трёх (байтовых) планов графики. Сделали бы четыре - возможно(!) и ПП был бы словный. Но - 4 плана - это ещё 8 РУ5 то есть плюс ещё к цене (и место найти на плате) - а у нас тут и так есть народ, поющий - ЛИШИТЬ ДЕМОНА ВТОРОГО ПРОЦЕССОРА ИБО НАХ НЕ НУЖЕН (и цена упадёт в разы)

Учитывая современные возможности - почему бы этим товарищам, что бы уесть полностью Аппонентов - не сделать УК-НЦ своей "мЯчты" - вот и поглядели бы - нужен али нет. Но пока они только предъявы кидать умееют

randomizer
03.07.2023, 13:08
Зачем такие сложности? А черт его знает Это-ж УКНЦ
Нужно вызвать п/п, адрес которой находится по адресу 7132.
После сброса, там адрес п/п заглушки. А после обращения к дисководу, адрес п/п останавливающей двигатель.

Все сложности, чтобы сделать подобный вызов работающим с любого адреса, всё тот же перемещаемый код.

Hunta
03.07.2023, 13:21
на закуску кусок кода в ПП от Alex_K
Я бы написал так


MOV @#7132, R0
call (R0)

gid
03.07.2023, 13:24
Нужно вызвать п/п, адрес которой находится по адресу 7132.
А почему не делают так?

mov @#7132, -(SP)
call @(SP)+
Потому что так медленнее? Или ещё более непонятно?

Hunta
03.07.2023, 13:29
Потому что так медленнее?
Будет два лишних обращения к памяти. Но - если надо сохранить регистры не тронутые - пуркуа бы и не па?


Или ещё более непонятно?
У меня впечатление, что бОльшая часть современного поколения (ну и определённая часть более старших) в принципе не любит включать мозги и всё делает по принципу - из говна и палок, причём и ***** и палки - тоже не их

BlaireCas
03.07.2023, 14:12
всё тот же перемещаемый код
А почему нельзя call @#7132? Как-бы не пофиг оно?

(но для этого надо будет кусок кода для ПП писать с .=0 ведь так? а чтобы его загрузить нужен будет свой загрузчик уже собственный который разложит код по нужным адресам итого получаем лишние извращения, собственно Хунта и написал мол привыкайте к перемещаемому коду, ничего не поделать)

Hunta
03.07.2023, 14:33
А почему нельзя call @#7132? Как-бы не пофиг оно?
Потому что это вызов процедуры с адреса 7132, а не процедуры, адрес которой находится В 7132. Полный аналог того кода - CALL @7132, но он не перемещаемый, в отличии от обращения @#7132, которое перемещаемое (при условии, что ячейка с адресом 7132 не входит в твой код

- - - Добавлено - - -


но для этого надо будет кусок кода для ПП писать с .=0 ведь так?
Нет.

Правило перемещаемого кода - если обращаешься к чему то в своём блоке (код и/или данные), ссылки должны быть относительные (7132 или @7132, например), а не абсолютные (#7132 или @#7132), если к чему то не своем блоке - то абсолютные (#7132 или @#7132, но не 7132 или @7132)

В данном случае ячейка НЕ у тебя - значит #7132 или @#7132

BlaireCas
03.07.2023, 17:44
Кстати раз уж тут пошел всякий флейм - может кто-то поделится знаниями что находится в первом блоке в .sav?
Там есть какие-то цифры размера всего файла или там просто банально то что загрузится по адресу 0?

Hunta
03.07.2023, 17:56
может кто-то поделится знаниями что находится в первом блоке в .sav?
www.bitsavers.org содержит много чего интересного :)

http://www.bitsavers.org/pdf/dec/pdp11/rt11/v5.6_Aug91/AA-PD6PA-TC_RT-11_Volume_and_File_Formats_Manual_Aug91.pdf

BlaireCas
06.07.2023, 19:00
Давайте с игрушкой от S_V_B перейдем лучше во флеймовую тему (где можно разное писать, но без всякой жути). Там-то автор поправит немного и заработает.
А вот меня беспокоит вопрос - как из рандома (LFSR) 0-0xFFFF получить число 1..5? Конечно знаю что на УКНЦ есть div только кажется он немного "жрущий" процессорное время.

Hunta
06.07.2023, 22:25
как из рандома (LFSR) 0-0xFFFF получить число 1..5?
Вычитать 13107 и считать, сколько раз вычли, пока не взвёлся бит C

litwr
08.07.2023, 10:06
Он там лез не для вывода, а для реализации задержки. Вывод там сделан через операторы WRITE/WRITELN, а библиотека Паскаля использует стандартные функции системы для вывода.
А у вас есть исходники? Задержка там в другом месте, могу даже адрес сообщить ячейки, где задержка лежит. А o почти полной бесполезности обращения к портам мне сообщал form, он патчил Тетрис для RTEM.

- - - Добавлено - - -


Для УКНЦ - нет. Хотя такое было если читать те старые журналы, но это уже было а-ля в 94 году когда собственно сами IBM расплодились настолько что уже их девать стало некуда.
Именно для УКНЦ и действительно примерно с 1994, но именно с тех времен про УКНЦ стали писать-вспоминать как про нормальный компик, с которым можно работать.


Помню в конце 80-х и начале 90-х все вокруг использовали именно ДЕМОС на ДВК и даже в нулевые люди вспоминали как тупили си под Юникс, не зная, что работают в самой перспективной системе и с самым перспективным языком. Там только был фокус, не было форматера дискет и форматировали вроде через RT-11, делая запросы в смежные организации. Но тут почему-то Юникс явно не в фаворе.

- - - Добавлено - - -

Интересно, что в Википедии написано, что советские клоны PDP-11 были бинарно несовместимы с настоящими PDP-11! О чем это могло быть? Цитата "As happened with ES EVM mainframes based on the System/360 architecture, the Russians and their allies sometimes significantly modified Western designs, and therefore many SM EVM machines were binary-incompatible with DEC offerings at the time".

Alex_K
08.07.2023, 10:31
Задержка там в другом месте, могу даже адрес сообщить ячейки, где задержка лежит. А o почти полной бесполезности обращения к портам мне сообщал @form, он патчил Тетрис для RTEM.

003044 024646 CMP -(SP), -(SP)
003046 012701 177564 MOV #177564, R1
003052 032711 000100 BIT #000100, (R1)
003056 001375 BNE 003052
003060 017603 000006 MOV @000006(SP), R3
003064 017600 000010 MOV @000010(SP), R0
003070 005711 TST (R1)
003072 100000 BPL 003074
003074 077003 SOB R0, 003070
003076 077306 SOB R3, 003064
003100 016666 000004 000010 MOV 000004(SP), 000010(SP)
003106 062706 000010 ADD #000010, SP
003112 000207 RETURN
По адресам 3046-3056 ожидается сброс бита разрешения прерывания в регистре 177564. При начале вывода RT-11 его устанавливает, как только вывод окончился - сбрасывает. Это значит, что RT-11 закончила вывод на терминал. А вот в адресах 3060-3076 уже сделаны два цикла задержки. В качестве команды исполнения используется TST (R1), при R1=177564, и BPL 003074. Т.е. также тестируется регистр терминала. Смысла в этом особого нет, только команда вносит задержку. Осуществлять можно тест и ячейки памяти, разное может быть только время исполнения команды.

litwr
08.07.2023, 10:45
Интересно, почему не смогли достать ВМ2 для Немиги даже в 1989? Похоже связи в ИТ отрасли были совсем плохими в позднем СССР. В Москве ставили фактически лишний процессор в сверхмассовую тяп-ляповую УКНЦ, а в Минске не могли найти небольшой партии ВМ2 для добротно спроектированной Немиги. :( Или ВМ2 почему-то не подходил?

- - - Добавлено - - -

Большая просьба прогнать пи-затвор на реальной Немиге для 100, 1000 и 3000 знаков и опубликовать тайминги. Прикрепляю архив с двуми программами для прогона.
79143

litwr
08.07.2023, 10:51
003044 024646 CMP -(SP), -(SP)
003046 012701 177564 MOV #177564, R1
003052 032711 000100 BIT #000100, (R1)
003056 001375 BNE 003052
003060 017603 000006 MOV @000006(SP), R3
003064 017600 000010 MOV @000010(SP), R0
003070 005711 TST (R1)
003072 100000 BPL 003074
003074 077003 SOB R0, 003070
003076 077306 SOB R3, 003064
003100 016666 000004 000010 MOV 000004(SP), 000010(SP)
003106 062706 000010 ADD #000010, SP
003112 000207 RETURN
По адресам 3046-3056 ожидается сброс бита разрешения прерывания в регистре 177564. При начале вывода RT-11 его устанавливает, как только вывод окончился - сбрасывает. Это значит, что RT-11 закончила вывод на терминал. А вот в адресах 3060-3076 уже сделаны два цикла задержки. В качестве команды исполнения используется TST (R1), при R1=177564, и BPL 003074. Т.е. также тестируется регистр терминала. Смысла в этом особого нет, только команда вносит задержку. Осуществлять можно тест и ячейки памяти, разное может быть только время исполнения команды.
Это Вам к form, но вроде вы и сами подтвердили, что смысла особого нет. Знаю только, что народ меняет константу по адресу 016642 и это регулирует задержку. И, главное, исходники есть?

Alex
08.07.2023, 10:59
В конце 80-х и начале 90-х ДЕМОС на ДВК видел только на заводе "КВАНТ"...
Ещё ДЕМОС на СМ-1420 был в МИРА... Да и всё.
Все остальные либо RT-11, либо RSX-11, TSX-11 или их клоны...
DOS-11 при мне ровно один раз грузили на СМ-4(АРМ), так как там была необходимая тогда программа.
RSTS/E - не видел ни разу и даже не слышал, чтобы у кого-то была.

"бинарно несовместимы " - скорее всего имелось ввиду серия 1801, так как там были добавлены свои команды для реализации пульта...
у DEC - пульт был сделан микропрограммно
Ещё говорили про Электронику-100/25, в которой что-то не допилили до оригинала... Но вот что именно не ведаю :(
Хотя операционки везде работали.
Воронежские - это полные клоны DEC.
СМ - тоже клоны.
И ещё, СМ были не только совместимыми с PDP-11. , были СМ и с другими системами команд.(СМ-2, СМ-1700, СМ-1800, СМ-1810 м прочая возможно)

Alex_K
08.07.2023, 11:10
Это Вам к form, но вроде вы и сами подтвердили, что смысла особого нет. Знаю только, что народ меняет константу по адресу 016642 и это регулирует задержку.
Вот собственно и команда по этому адресу:

016640 012765 000160 001256 MOV #000160, 001256(R5)
Задержка может быть разной, в зависимости от быстродействия. В оригинале она была поменьше.
А вот и вызов п/п задержки:

016722 010500 MOV R5, R0
016724 062700 001256 ADD #001256, R0
016730 010046 MOV R0, -(SP)
016732 010500 MOV R5, R0
016734 062700 001240 ADD #001240, R0
016740 010046 MOV R0, -(SP)
016742 004767 164076 CALL 003044
Этой п/п передаются два параметра по ссылке. Т.е. п/п задежки при описании на Паскале будет как procedure L03044(var DEL1,DEL2:integer);.

А по поводу смысла. В первых командах ожидается, что RT-11 освободила свои внутренние буферы при выводе на экран. Ввод идёт по прерываниям, скорость 9600 бод. И чтобы узнать, что вывод закончился, пользовались вот таким методом.

Hunta
08.07.2023, 11:12
"бинарно несовместимы " - скорее всего ляп как с неработоспособностью RSX на ВМ3. Кто-то что-то слышал, вот и написал.


у DEC - пульт был сделан микропрограммно
кроме T11


DOS-11
Я на ней на СМ-3 (ферритовая память) FORTRAN начинал учить (второй семестр первого курса), но уже летом её заменили на СМ-4

Alex
08.07.2023, 11:34
К 1801ВМ2 - в комплект надо брать дополнительные прошивки и прочая. Одного процессора мало.
А тут прямо на месте почти всё есть. Вот и слепили из того, что было ...

nzeemin
08.07.2023, 12:00
Интересно, почему не смогли достать ВМ2 для Немиги даже в 1989? Похоже связи в ИТ отрасли были совсем плохими в позднем СССР. В Москве ставили фактически лишний процессор в сверхмассовую тяп-ляповую УКНЦ, а в Минске не могли найти небольшой партии ВМ2 для добротно спроектированной Немиги. :( Или ВМ2 почему-то не подходил?

Потому что никому и не нужен там был ВМ2. На момент создания Немиги уже был готовый компьютер в виде анализатора спектра. Оставалось его приспособить для школьных нужд (видимо, добавили плату локальной сети) -- по их словам, на это ушло две недели. Микропроцессорный комплект 588 изготавливался здесь же в Минске на Интеграле. И кстати, производительность Немиги по тесту SPEED -- выше чем УКНЦ.

Вот тут фото разработчиков, слева анализатор спектра, справа Немига:
https://upload.wikimedia.org/wikipedia/commons/0/06/%D0%9F%D0%B5%D1%82%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D 0%B8%D0%B9-%D0%9A%D0%BB%D1%8E%D1%81-%D0%A1%D0%B8%D0%B4%D0%BE%D1%80%D0%B5%D0%BD%D0%BA%D 0%BE-%D0%9A%D0%B0%D0%BB%D0%B8%D0%B1%D1%80-%D1%87%D0%B1.jpg

litwr
08.07.2023, 12:34
Потому что никому и не нужен там был ВМ2. На момент создания Немиги уже был готовый компьютер в виде анализатора спектра. Оставалось его приспособить для школьных нужд (видимо, добавили плату локальной сети) -- по их словам, на это ушло две недели. Микропроцессорный комплект 588 изготавливался здесь же в Минске на Интеграле. И кстати, производительность Немиги по тесту SPEED -- выше чем УКНЦ.

Вот тут фото разработчиков, слева анализатор спектра, справа Немига:
https://upload.wikimedia.org/wikipedia/commons/0/06/%D0%9F%D0%B5%D1%82%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D 0%B8%D0%B9-%D0%9A%D0%BB%D1%8E%D1%81-%D0%A1%D0%B8%D0%B4%D0%BE%D1%80%D0%B5%D0%BD%D0%BA%D 0%BE-%D0%9A%D0%B0%D0%BB%D0%B8%D0%B1%D1%80-%D1%87%D0%B1.jpg

Это понятно, но с ВМ2 получилось бы наверное дешевле и более массово. Возможно, могли бы в году 90-м сделать апгрейд. Это же тренд был, DEC c PDP-11 после 1975 ничем кроме удешевления фактически не занималась.

litwr
08.07.2023, 12:59
Что-то нигде не встречал, чтобы RSX-11M называли многозадачной. Это многопользовательская система как и, например, MP/M. Многозадачность без диспетчера памяти - это очень странная вещь, на практике этого почти не встречалось. На Амиге сделали такое, но получилось скорее почти бесполезная демка про многозадачность. А вот Юникс - это реально многозадачная и многопользовательская ОС, но только при наличие ДП. Кстати, MP/M для 8080 использовала примитивный ДП.
Возможно если бы создатели УКНЦ лучше ориентировались в ИТ технологиях тех лет, то вместо второго процессора лучше бы прикрутили отдельный простой ДП и пошел бы в школы настоящий Юникс, а не бесперспективная RT-11.


В конце 80-х и начале 90-х ДЕМОС на ДВК видел только на заводе "КВАНТ"...
Ещё ДЕМОС на СМ-1420 был в МИРА... Да и всё.

Похоже Демос использовали больше в КБ, в бухгалтериях. К сожалению, тогда мало интересовался деталями. Сейчас знаю только одного человека, который тогда работал в КБ в Запорожье с Демосом.

- - - Добавлено - - -



А по поводу смысла. В первых командах ожидается, что RT-11 освободила свои внутренние буферы при выводе на экран. Ввод идёт по прерываниям, скорость 9600 бод. И чтобы узнать, что вывод закончился, пользовались вот таким методом.
Но что это даёт? Забиваем это всё в NOP - и все работает.

Alex_K
08.07.2023, 13:12
Но что это даёт?
Первые команды обеспечивают синхронизацию с выводом на терминал, это тоже задержка, зная скорость обмена 9600 бод. Вот если бы тетрис прямо делал вывод в 177566 в режиме опроса, то этого и не надо было. А так отдают ОС строку для вывода, она устанавливает бит разрешения прерывания и жди пока там её выведет. А вот второй блок для более большой задержки можно было бы заменить и командой, например TST #1.

Radon17
08.07.2023, 13:12
А можно litwr не будет лезть в каждую тему со своим невероятно важным мнением?

Hunta
08.07.2023, 13:40
Что-то нигде не встречал, чтобы RSX-11M называли многозадачной.
Пипец "эксперт".
Даже RSX-11S многозадачная.


Многозадачность без диспетчера памяти - это очень странная вещь, на практике этого почти не встречалось.
Ну как обычно - в голове каша. ДП обечпечивает зашиту памяти - и всё. Многозадачность - это планировщик - и тоже всё.

- - - Добавлено - - -


А вот Юникс - это реально многозадачная и многопользовательская ОС, но только при наличие ДП.
А RSX для этого ДП не требуется.

- - - Добавлено - - -


Возможно если бы создатели УКНЦ лучше ориентировались в ИТ технологиях тех лет
и спросили бы мнение "эксперта" - то загубили бы всё на корню.

- - - Добавлено - - -


пошел бы в школы настоящий Юникс
Барахло - оно и в Африке барахло. Слава богу - мнение "эксперта" тогда никто не спрашивал

- - - Добавлено - - -


Что-то нигде не встречал, чтобы RSX-11M называли многозадачной.
Открываем документацию от DEC, а не мнение "экспертов" и читаем (http://www.KpXX.Ru/Pics/rsx.jpg) - может быть использована как мультипрограммная (для "экспертов" - многозадачная), так и как система реального времени - то есть с гарантированным временем отклика на внешнее событие.

Hunta
08.07.2023, 13:48
А можно litwr не будет лезть
Это фантастика.

- - - Добавлено - - -

Интересно, а чего в Электронике-85 не заменили процессор на 1801ВМ3 - получилосб бы наверное дешевле и более массово. Могли бы и апгрейд сделать. И повода "экспертам" не дали бы.

BlaireCas
08.07.2023, 14:53
На Амиге сделали такое, но получилось скорее почти бесполезная демка про многозадачность.
Это про те демки с 85 года? Ну там все-же многозадачность была. Другое дело что она никому не нужна (в бытовом! применении) видимо в те годы была. Запустил программу и сидишь в ней чего-то делаешь.
Эта вся многозадачность видимо откуда-то в бытовые компьютеры пошла со времен виндовсов всяких. (ну именно та "многозадачность" к которой мы привыкли, мол редактируешь текст в ворде, переключился в эксель, а в фоне винамп играет и т.д.).

https://www.youtube.com/watch?v=Tl6092fMkZY

dk_spb
08.07.2023, 19:58
Потому что никому и не нужен там был ВМ2.
Кормите тролля?

litwr
09.07.2023, 08:07
Массовый выпуск ВМ3 вроде наладили только к 90-му, поздновато. Вполне можно представить машинку с ВМ3 и графикой Электроники-85, получили бы дармой фирменный софт для работы с графикой - так тогда считалось большим плюсом. Но Э85 делалась по принципу "копировать до винтика" - там трудно было бы внести новую повестку. Немига - совсем другое дело, инженеры просто сделали компьютер из известных им компонент. Им было бы естественно дать задачу удешевить и в мелочах улучшить.

Alex
09.07.2023, 08:43
графику Электроники-85 к 1801ВМ3 - дело не такое уж и сложное, но софт пришлось бы писать заново...
копировать архитектуру Электроники-85 на 1801ВМ3 - вот это сложнее. По факту геморрой был бы изрядный. :(
И ещё - видеоадаптер на Электронике-85 - штука непростая по тем временам.
Это на наши деньги примитивный, но видеоускоритель ... Там есть аппаратная отрисовка векторов.
Сделали КЦГД, но выпускали его вообще без графики :( чисто как VT-100. Сделали бы его сразу до уровня хотя бы VT-105... но фиг вам :(
Нужна графика - иди в кооператив при заводе... Причём кооператив появился не сразу.
Или пиши сам, что и было...
Так что с видеоадаптером от Электроники-85 для 1801ВМ3 были бы те же проблемы :(

litwr
09.07.2023, 09:07
Посмотрел выложенные тут документы по Немиге. Хорошие рекламные проспектики, у УКНЦ не было такого вообще. Интересно, а какая была на Немигу цена? Осмелюсь предположить, что на системный блок с клавиатурой, без дисководов и монитора, не менее тыщ 3-х.
Ещё интересно, что за Турбо-Паскаль? Неужели в Минске осилили сделать функциональный аналог очень популярного тогда продукта Борланд? Запускали ли его на ДВК, других отечественных и не очень PDP-11?

графику Электроники-85 к 1801ВМ3 - дело не такое уж и сложное, но софт пришлось бы писать заново...

А почему софт пришлось бы писать заново, если все компоненты были бы совместимы?

litwr
09.07.2023, 10:07
Первые команды обеспечивают синхронизацию с выводом на терминал, это тоже задержка, зная скорость обмена 9600 бод. Вот если бы тетрис прямо делал вывод в 177566 в режиме опроса, то этого и не надо было. А так отдают ОС строку для вывода, она устанавливает бит разрешения прерывания и жди пока там её выведет. А вот второй блок для более большой задержки можно было бы заменить и командой, например TST #1.
Получается, что обращение к порту - это только элемент кода задержки. Причем само обращение лишь ждет окончание операций вывода, логика туманная, скорее взята из чего-то совсем другого. Могу предположить, что Пажитнову этот код просто предложил кто-то из старших товарищей, который взял его из какой-то игры просто как нужную "магию". Реально хорошую задержку можно было бы сделать через таймер, а не мудрить комбинированием константы задержки и странным обращением к порту.

- - - Добавлено - - -


Это про те демки с 85 года? Ну там все-же многозадачность была. Другое дело что она никому не нужна (в бытовом! применении) видимо в те годы была. Запустил программу и сидишь в ней чего-то делаешь.
Эта вся многозадачность видимо откуда-то в бытовые компьютеры пошла со времен виндовсов всяких. (ну именно та "многозадачность" к которой мы привыкли, мол редактируешь текст в ворде, переключился в эксель, а в фоне винамп играет и т.д.).

https://www.youtube.com/watch?v=Tl6092fMkZY

Это не про конкретные демки. Просто такого рода многзадачность была хороша скорее только как демка для рекламы.

Многозадачность в примитивном виде присутствует даже в самых простых ОС. У любой микроши с таймерным прерыванием мы можем наплодить множество "задач". Встречал "ОС" в таком роде почти для каждой микроши. В Микрософт ДОС есть даже фича, TSR-программы, через которые естественно реализуется такая "микрошная многозадачность".
Настоящая многозадачность подрозумевает механизмы управления памятью, защиту её, стандартные механизмы взаимодействия между процессами и возможность запустить ЛЮБУЮ программу в параллельном режиме исполнения.
Похоже, что в RSX-11M (без ДП) многозадочность скорее микрошного типа. Ничего из перечисленного выше там нет, кроме как очень примитивных форм взаимодействия и с большими ограничениями запуска нескольких программ одновременно. Таким образом, по сути никакой реальной многозадочности практически там нет.
Что касается Амиги, то там ситуация похожая. Но всё ещё усугблялось гораздо большими размерами оси и меньшим временем на её разработку и тестирование и соответственно большим числом багов. Крах системы на Амиге до 90-х был штукой почти обычной. Вспомним ДОС, особенно если пишем свой код, то поломка системы из-за неправильной работы с указателем было тоже штукой обычной. Хотя в ДОСе сегментация давала некоторую защиту системе. В Амиге - память линейная и попасть в системную область или другую программу было совсем просто. А с ростом числа одновременно работающих программ, вероятность общего краша сильно росла. Странно, но даже для более простой Атари СТ сделали простенькую защиту памяти, а для Амиги избегали этого до самого конца. Маркетинг!
Сама многозадачность в Амиге вытесняющая, можно легко как в Юникс запускать много программ из одной или нескольких интерфейсов командной строки или через ГУИ, но, в целом, общая поддержка многозадачности очень невысокая. Нет например возможности убить задачу. Межпроцессные механизмы практически отсутствуют. Сломать всю систему можно просто чуть повысив приоритет задачи.

Hunta
09.07.2023, 10:16
Сделали бы его сразу до уровня хотя бы VT-105... но фиг вам
Хреновая там графика

Hunta
09.07.2023, 10:19
Настоящая многозадачность
"Царь то не настоящий!" Как впрочем и "эксперт" липовый. "Все догадки ваши мимо"

litwr
09.07.2023, 10:31
Посмотрел рекламные проспекты по Немиге, что-то похожее встречалось по ДВК, БК, но не по самому массовому УКНЦ! Поэтому осмелюсь высказать ыкспэртное мнение, как тут выражаются некоторые експрерты. :) Понимаю, что может начаться с их стороны хай. Но воспользуюсь авторитетом Плотона, который, как всем известно, говорил в таких случаях: "Хай нам не друг, но истина важнее".
Логический анализ имеющихся данных неопровержимо свидетельствует, что главной целью производства УКНЦ было загрузить максимум производственных мощностей для недопущения массового производства Корветов. Это подтверждается многими фактами:
1) престранным отказом предоставлять спецификации УКНЦ;
2) отсутствие распространения УКНЦ в организации, где могли бы критически оценить этот компьютер;
3) массовая загрузка УКНЦ туда, где их можно было массово списывать (УПК);
4) накопление УКНЦ на заводах-производителях до 1991-92, при острой нехватке компьютеров в стране;
5) в 80-е УКНЦ делали в каком-то другом исполнении.
Возникает естественный вопрос, а зачем такая хрень была кому-то нужна? А всё очень просто, в интересах большой политики тогда валили всю систему, а Корвет поддерживали по партийной линии и КПСС была основой системы.

Hunta
09.07.2023, 10:45
Логический анализ имеющихся данных неопровержимо свидетельствует
Очевидно - анализ с привлечением женской логики. И поэтому - бред сивой кобылы

- - - Добавлено - - -


5) в 80-е УКНЦ делали в каком-то другом исполнении.
!!! убийственный "факт"

- - - Добавлено - - -


всё очень просто, в интересах большой политики тогда валили всю систему
(режим попкорн включен)

Alex_K
09.07.2023, 11:00
Причем само обращение лишь ждет окончание операций вывода, логика туманная, скорее взята из чего-то совсем другого. Могу предположить, что Пажитнову этот код просто предложил кто-то из старших товарищей, который взял его из какой-то игры просто как нужную "магию".
Повнимательней почитайте. Я же написал, что это синхронизация в выводом на терминал (по поводу первых команд с тестированием установленного бита разрешения прерывания). Сама-то программа будет думать, что уже всё вывелось, а игрок за экраном ещё не видит и его реакция будет запоздавшей. А в случае сброса бита разрешения прерывания уже вся информация вывелась на экран со стороны ОС.
Код Пажитнову вероятно подсказали. Во всяком случае в другой его игре STADO при выводе заставки написано, что "АВТОР ИГРЫ - А.Л.ПАЖИТНОВ МЕЛКИЕ ДОРАБОТКИ - Р.А.БРОНШТЕЙН".

litwr
09.07.2023, 11:45
Повнимательней почитайте. Я же написал, что это синхронизация в выводом на терминал (по поводу первых команд с тестированием установленного бита разрешения прерывания). Сама-то программа будет думать, что уже всё вывелось, а игрок за экраном ещё не видит и его реакция будет запоздавшей. А в случае сброса бита разрешения прерывания уже вся информация вывелась на экран со стороны ОС.
Код Пажитнову вероятно подсказали. Во всяком случае в другой его игре STADO при выводе заставки написано, что "АВТОР ИГРЫ - А.Л.ПАЖИТНОВ МЕЛКИЕ ДОРАБОТКИ - Р.А.БРОНШТЕЙН".
Может с терминалом при скорости 300 бит/с это имеет какой-то небольшой смысл, но сомневаюсь, что во времена Пажитнова были системы с менее, чем 2400. Задержка с выводом при 2400 bps - тысячные секунды на символ, тетрис выводит совсем немного данных. Всё-таки останусь вместе с form при прежнем мнении - это бесполезный код и Пажитнов его использовал чисто механически. И, повторю, тесты на железе подтверждают его бесполезность. Что они там про таймер не знали?!

Alex_K
09.07.2023, 11:57
Может с терминалом при скорости 300 бит/с это имеет какой-то небольшой смысл, но сомневаюсь, что во времена Пажитнова были системы с менее, чем 2400. Задержка с выводом при 2400 bps - тысячные секунды на символ, тетрис выводит совсем немного данных. Всё-таки останусь вместе с form при прежнем мнении - это бесполезный код и Пажитнов его использовал чисто механически. И, повторю, тесты на железе подтверждают его бесполезность. Что они там про таймер не знали?!
У каждого своё мнение. Я просто описывал для чего это делается, соответственно это не значит, что это моё мнение. Терминал 15ИЭ-00-013 работает со скоростью 9600 бод, сама Электроника-60 не особо быстрая ЭВМ. Пажитнов не был системным программистом и этот код вероятно кто-то из старших товарищей и подсказал. К тому же OMSI Pascal позволяет делать вставки на MACRO-11. Так же вставками на MACRO-11 там сделан и опрос клавиатуры через EMT 341.
А по поводу таймера. Для поддержки запросов к таймеру через .CMKT и .MRKT соответствующим образом должна быть собрана ОС. Не везде такое есть. Остаётся перехват вектора 0100. Вот на Паскале сделать это будет сложнее, хотя невозможного нету. Но перехват вектора это пройдёт в SJ и FB. Про XM не скажу, тем более про RTEM.
Ну и чем плох перехват вектора. Мы его перехватили, а тут какая-то ошибка в программе и выход в ОС, думаю далее понятно ...

Hunta
09.07.2023, 11:58
Данный вопрос (в обобщённом виде)

а сейчас был бы смысл в альтернативном <что-то>
из разряда - а писать проги под это дело кто-то будет? Ну и как показывает практика - на это предложения и заканчиваются.

Альтернативный вариант - кто-то типа меня, который реализует <что-то> просто потому-что хочет. Без относительно того - это ещё кому-то нужно? это кто-то ещё использовать будет?

А насчёт видео от 85-ой в Немиге - насколько я себе сейчас представляю (но легко могу ошибаться) - вся видео память этого адаптера доступна в адресном пространстве процессора. С F11 проблем нет - ДП и 22 бита. А на Немиге этот вопрос нужно будет как-то решать (на видео от Э85 вроде как возможно больше 64 кб видеопамяти?)

litwr
09.07.2023, 12:07
Тут были некоторые нападки на Manwe, который внес наверное самый большой вклад в популяризацию БК в всем мире. Посмотрим, например, на список его демок (https://www.pouet.net/groups.php?which=294) - некоторые из них настоящие шедевры. А ещё плюс несколько очень полезных утилит. А ещё сбор важной информации по процессорам ВМ1 и ВМ2. А ещё участие в развитие проекта Союз-Неон, советской Амиги. И есть ещё, что можно перечислить. Стыдно должно быть некоторым и очень.

- - - Добавлено - - -


А по поводу таймера. Для поддержки запросов к таймеру через .CMKT и .MRKT соответствующим образом должна быть собрана ОС. Не везде такое есть. Остаётся перехват вектора 0100. Вот на Паскале сделать это будет сложнее, хотя невозможного нету. Но перехват вектора это пройдёт в SJ и FB. Про XM не скажу, тем более про RTEM.
Ну и чем плох перехват вектора. Мы его перехватили, а тут какая-то ошибка в программе и выход в ОС, думаю далее понятно ...
А зачем так мудрить, когда есть .GTIM? Тупо ждем 1 тик и получаем задержку, которая работает в любой системе.

Hunta
09.07.2023, 12:10
именно по фану. у меня есть к чему цеплять и в схему я уже отрисованные матрицы буду переводить по-любому.
Я бы мог подключиться, но сейчас тяжеловато это..


о игрушек под RT-11 я не видел что бы требовали возможности 0585
Тут опять возникает вопрос - как добраться до видеопамяти - под RT. Возможно, что PI что-то умеет, но.. это неизвестно - разбираться надо.

Alex_K
09.07.2023, 12:53
А зачем так мудрить, когда есть .GTIM? Тупо ждем 1 тик и получаем задержку, которая работает в любой системе.
А вот по поводу одного тика так не сработает. Вы можете сделать запрос в самом конце интервала, получить значение текущего времени. Сделать второй запрос, который уже придётся на самое начало следующего интервала и получить уже следующее значение. Т.е. почти мгновенно. Если же первый запрос будет в самом начале интервала, то здесь можно давать запросы до получения следующего значения. Вот здесь и будет около одного тика. А можно попасть и в середину интервала.
Т.е. синхронизации нет, всё будет плавать. Но множественные запросы в программе всё таки приведут к какому-то усреднённому значению и это будет меньше одного тика.

Alex
09.07.2023, 14:10
Хреновая там графика

Там сделано было, по типу как КГД+КСМ... Две автономных системы. То есть перехватывался видеосигнал от текстового VT-100 и добавлялась графика...
Точнее наоборот, создатели КГД+КСМ вдохновлялись VT-105 :)
Но самый цимис был в том, что графическая система перехватывала ещё и последовательный интерфейс, идёт графическая команда - отрабатываем.... Не графическая - игнор...
Так что как смогли...
Есть свои + и -

Для своего времени(1978) хоть какая графика уже хорошо :)

- - - Добавлено - - -


а сейчас был бы смысл в альтернативном видеоадаптере взятом от 85-й и в виде FPGA подключенном в адресное поле Немиги?

Смысла мало. Вот если всю 85 в FPGA затащить, тогда :)
Проблема в софте :(

Hunta
09.07.2023, 14:37
Там сделано было, по типу
Я не про то, как там сделано. Сделать можно по разному.

Я про то, что сама графика там хреновая. По вертикали (то есть для одного и того же X) - максимум две точки. Ну ещё можно сделать своеобразную заливку - от точки до оси Х. Так что не надо нам графику VT105. Для бизнес-приложений (тривиальные точечные графики, показ столбчатых диаграмм) может ещё и пойдет, но что то более сложное - и всё, приехали.


Но самый цимис был в том, что
слепили, похоже, из того что было - то есть к VT100 по быстрому прикрутили "графику"

- - - Добавлено - - -


Смысла мало.
Смысл есть - в первую очередь для новоделов. Или если в компе за графику отвечает совсем отдельная плата - по типу КЦГД. Хотя в ДВК/Квант-е можно и в адресное пространство довольно просто втащить. Но - проблема в (первую очередь в новом) софте


Вот если всю 85 в FPGA затащить, тогда
Как раз в этом смысла мало. Весьма своеобразная архитектура, накопители (и винт и флопы) - вообще ни о чем. А что бы что-то новое (а ля CF) добавить - надо делать новое содержимое ПЗУ. Ну и опять же - проблема в софте - старый (по большей части) хочет P/Os (ПРОС) - а она - ещё то создание. А перенести более приличную RSX - кто сможет?

- - - Добавлено - - -

В целом ситуация обычно-банальная - если что-то новодельное делать - вопрос по большей части два:

- кому это будет нужно
- кто будет писать софт

Несколько особняком стоят устройства массовой памяти - ибо хранить инфу (в любом виде) нужно всем, а при соотвествующем подходе - даже драйвера писать не надо

BlaireCas
09.07.2023, 16:00
В целом ситуация обычно-банальная - если что-то новодельное делать - вопрос по большей части два:
- кому это будет нужно
- кто будет писать софт

Не надо делать ничего новодельного, проверено на том-же Spectrum-Next или как его. Новомодный крутой. Комьюнити людей там довольно большое (уж не чета PDPшникам). А толку-то? (пишут/рисуют/музицируют под "стандарт" 128к или даже под 48к ну из тех кто пишет).

Hunta
09.07.2023, 16:53
Не надо делать ничего новодельного
А мне - надо. И мне абсолютно всё равно - надо кому то ещё или нет.

BlaireCas
09.07.2023, 18:47
А мне - надо.
Да хозяин-барин конечно. Но ведь ..



- кому это будет нужно
- кто будет писать софт
???

- - - Добавлено - - -

Если брать например УКНЦ - то на ФПГА было-бы круто. Ибо все эти старые XM или ВП они просто помрут однажды и аминь.

Hunta
09.07.2023, 19:15
???
Чего непонятного - если мне будет нужно и других вариантов нет - сам сделаю, сам напишу.


Если брать например УКНЦ - то на ФПГА было-бы круто.
Не спорю. Так же как и Э85 (Pro 350 Pro 380). Но учитывая количество свободного времени - в первую очередь будет то, что а) мне интересно и б) что для меня на текущий момент более актуально и в) от чего на текущий момент не сильно устал.

- - - Добавлено - - -

Так что для меня всё элементарно.

Что вызывает затруднения (но тут потихоньку двигаюсь) - это электронно-схематехническая часть.

То есть если уже есть спаяная плата и для которой надо что-то написать (и вот тут уже в принципе неплохо идёт даже прошивка для FPGA) - в принципе уже существовавший вариант - нефть в обмен на плату ... э.. софт в обмен на плату :) Но непременные условия - плата уже должна существовать (не обязательно окончательная версия - как и с программами - иногда первый блин комом по разным причинам) и она должна быть интересна мне.

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

litwr
09.07.2023, 21:39
Странная прошла модерация. Вроде задавал вопросы конкретно по Немиге, про Турбо-Паскаль, цену, ... Какакая-то диффамация. :(


А вот по поводу одного тика так не сработает. Вы можете сделать запрос в самом конце интервала, получить значение текущего времени. Сделать второй запрос, который уже придётся на самое начало следующего интервала и получить уже следующее значение. Т.е. почти мгновенно. Если же первый запрос будет в самом начале интервала, то здесь можно давать запросы до получения следующего значения. Вот здесь и будет около одного тика. А можно попасть и в середину интервала.
Т.е. синхронизации нет, всё будет плавать. Но множественные запросы в программе всё таки приведут к какому-то усреднённому значению и это будет меньше одного тика.
Это всё понятно, будет точность до в среднем полтика. Для игр такая точность в задержке - это вполне адекватно.

Alex
09.07.2023, 23:49
Как раз в этом смысла мало. Весьма своеобразная архитектура, накопители (и винт и флопы) - вообще ни о чем. А что бы что-то новое (а ля CF) добавить - надо делать новое содержимое ПЗУ. Ну и опять же - проблема в софте - старый (по большей части) хочет P/Os (ПРОС) - а она - ещё то создание. А перенести более приличную RSX - кто сможет?
Ну флопы и КЖД не самая главная проблема.
Можно ПЗУ подправить и драйвера написать, можно эмулятор КЖД и НГМД сделать.
Можно промежуточный вариант, загрузка с эмулятора, но грузится загрузчик и далее грузим требуемое ...
Вариантов реальных много :)
Проблема - всё остальное... :( Архитектура не сильно, но иная. Можно RSX-11 подправить, но придётся куски P/OS приделывать... Чтобы существующий софт шёл. Объём работ ого-го :(
Там же нужно работу с графическим адаптером и работу с мышью ...
Если плюнуть на совместимость...
Типа обращение к видеопамяти как к "электронному диску" на котором есть ровно один файл.(или три файла для каждой из трёх видеоплоскостей, или три версии одного файла)
Мышь как клавиатура терминала... Генератор векторов как терминал... Придумать можно многое... С таким даже один справится.
То всё проще, но в этом смысла мало :(

Hunta
10.07.2023, 00:18
Можно ПЗУ подправить и драйвера написать
Ну-ка, кто возьмётся?


можно эмулятор КЖД и НГМД сделать.
На помойку, смысл как раз от барахла избавиться (а DW и DZ - барахло)


Вариантов реальных много
Вариант ровно один - заменить барахло


Можно RSX-11 подправить
Кто возьмётся?


Объём работ ого-го
Вот именно. Так что о современном варианте (а не о просто копии) можно забыть. Никто делать не будет. Или знаний нет, или интереса, или времени.


Там же нужно работу с графическим адаптером и работу с мышью ...
Что я не помню про мышь на Э85, но это ладно - я не настолько хорошо знаю эти системы. Но. Если не делать кальку - это тоже придётся допиливать в нормальной (читай RSX) ОС. Кто?


Если плюнуть на совместимость...
Тогда вообще это нахрен не сдалось.


Типа обращение к видеопамяти как к "электронному диску" на котором есть ровно один файл.(или три файла для каждой из трёх видеоплоскостей)
Мышь как клавиатура терминала... Генератор векторов как терминал... Придумать можно многое...
То всё проще, но в этом смысла мало
Вообще бред какой-то

- - - Добавлено - - -

В общем, прежде чем писать - что можно типа сделать - стоит задать себе ровно два вопроса:
- кому будет нужно
- кто будет делать
Эти вопросы все фантазии ОЧЕНЬ хорошо режут.
И пока на эти вопросы не будет ответов - можно забыть не то что про УКНЦ или Э85 в FPGA, но новодельные их части.

Мои планы на эту тему (поскольку понятно - кому и кто), после того, как добью DSMAC (там вроде уже, но нужно тестировать) - наиграться с прошивкой VT-11X (оптимизация и переделка), потом сделать его же, но с разрешением 1280х1024 (тут пока малость не уверен, что смогу), потом КЦГД. Потом, возможно (!) попробую сделать Э85, но частями - и в каком порядке - не знаю. Но в целом это всё укладывается в сценарий - разные PDP-11 и совместимое - на базе PDP-11X

Alex
10.07.2023, 12:11
Сделать на FPGA КЦГД... ну немного упростив - вместо шины - последовательный порт...
Реально и полезно. Ну с моей точки зрения.
И сделать у КЦГД возможной работу на высоком разрешении. Максимум 800х480 строк в черезстрочном режиме, в оригинале...(картинка дрожала...)
И вывод на современные мониторы.
1801ВМ2 и 1801ВП1-65 разобраны...

Hunta
10.07.2023, 12:22
1801ВМ2 и 1801ВП1-65 разобраны...
Не вижу смысла их использовать.

Alex
10.07.2023, 17:36
Если нужна совместимость, то придётся 1801ВМ2 в FPGA впихивать...
Иначе проще готовый видеоускоритель прицепить ...

Hunta
10.07.2023, 18:15
Если нужна совместимость, то придётся 1801ВМ2 в FPGA впихивать...
Это по какой интересно причине именно 1801ВМ2?

litwr
10.07.2023, 18:49
А вот по поводу одного тика так не сработает. Вы можете сделать запрос в самом конце интервала, получить значение текущего времени. Сделать второй запрос, который уже придётся на самое начало следующего интервала и получить уже следующее значение. Т.е. почти мгновенно. Если же первый запрос будет в самом начале интервала, то здесь можно давать запросы до получения следующего значения. Вот здесь и будет около одного тика. А можно попасть и в середину интервала.
Т.е. синхронизации нет, всё будет плавать. Но множественные запросы в программе всё таки приведут к какому-то усреднённому значению и это будет меньше одного тика.
Что-то я в предыдущем посте затупил, обстановка способствует. :( Зачем два запроса? Делаем в главном цикле игры только один вызов .GTIM и сравниваем значение таймера с предыдущим. И получаем идеально точный тик-так.

Alex_K
10.07.2023, 19:04
Что-то я в предыдущем посте затупил, обстановка способствует. :( Зачем два запроса? Делаем в главном цикле игры только один вызов .GTIM и сравниваем значение таймера с предыдущим. И получаем идеально точный тик-так.
Вы говорили про задержку. Я и высказался, что таким образом задержка будет неточной. В Тетрисе есть десять уровней сложности по скорости. Здесь надо подстраивать паузу под нужную скорость падения. Текущая реализация зависит от быстродействия ЭВМ. На таймере делают, чтобы скорость работы была одинаковой на разных ЭВМ. В этом случае лучше рассчитать заранее сколько тиков у нас будет под разные скорости. Начало падения фигуры лучше синхронизировать с началом тика. Далее запрос клавиши, изменение и отрисовка нового положения, падение на позицию вниз, ещё запрос клавиши и отрисовка (чтобы сдвинуть упавшую фигуру влево или вправо), ну и пауза до заранее рассчитанных величин. Как-то так.
Но что уже сделано, то сделано.

Alex
11.07.2023, 10:14
Это по какой интересно причине именно 1801ВМ2?
По причине совместимости с софтом КЦГД...
Если поставить другой процессор, то это уже не КЦГД...

Hunta
11.07.2023, 10:21
По причине совместимости с софтом КЦГД...
Ещё раз, в другой формулировке - что из особенностей ВМ2 использует софт КЦГД? Примеры, а не голословные заявления


Если поставить другой процессор, то это уже не КЦГД...
С какого перепуга? Тоже - голословное заявление.

Alex
11.07.2023, 10:36
С ВМ2 вероятность того, что всё будет работать так, как надо сильно выше, чем если впихнуть J-11
да и с ВМ2 - при перенесении проще - просто повторить, а не разработать новое.

Hunta
11.07.2023, 10:46
С ВМ2 вероятность того, что всё будет работать так, как надо сильно выше, чем если впихнуть J-11
Голословно. Вероятность - это вообще на аргумент. И что-то я не помню, что бы говорил о каком-то конкретном процессоре.


да и с ВМ2 - при перенесении проще - просто повторить, а не разработать новое.
Правда? Кто-то уже пробовал и не получилось? То есть - опять голословно.

Подводя итоги.

Поскольку этим будут заниматься я (когда доберусь) и делать я буду - свои хотелки, то (с учётом того, что я пока не услышал НИКАКИХ ФАКТОВ - почему надо взять ВМ2) - чего и как будет реализовано - решать буду я, в соответствии со своими хотелками и тем, как я вижу это - на текущий момент.

Теоретически предложения и хотелки принимаются, но - только с обоснованием и приведением РЕАЛЬНЫХ фактов. А не "вероятность", "проще" - и тому подобная голословность.

- - - Добавлено - - -

И это так же касается МОЕГО варианта (когда и если доберусь) реплик УК-НЦ и Э85.

Titus
11.07.2023, 11:21
Если нужна совместимость, то придётся 1801ВМ2 в FPGA впихивать...
Иначе проще готовый видеоускоритель прицепить ...
На сколько я помню, когда писал эмулятор, выяснилось, что некоторый софт под КЦГД был чувствителен к скорости процессора и всей системы в целом.
Если система работала быстрее, какой-то графическо-математический пакет вообще вешался.

Поэтому, если нужна полная совместимость со старым софтом, то нужен оригинальный ВМ2 или его ФПГА-клон на родной КЦГД-шной скорости.
И скорость портов тоже должна быть не быстрее, чем в оригинале.

Hunta
11.07.2023, 11:38
некоторый софт под КЦГД был чувствителен к скорости процессора и всей системы в целом.
Скорость процессора никак не завязана именно на ВМ2


или его ФПГА-клон на родной КЦГД-шной скорости.

И скорость портов тоже должна быть не быстрее, чем в оригинале.
Если такая зависимость от скорости есть - полностью согласен. Но никто не мешает реализовать вариант - что-то типа - переключиться на EnchancedКЦГД - и получить новые плюшки

- - - Добавлено - - -

Или сделать наоборот - переключиться на BasicКЦГД

- - - Добавлено - - -

Хотя по правильному - найти такие несовместимые пакеты/программы - и переделать их - избавив от зависимости от скорости процессора. Моё мнение - если программа написана так, что её работоспособность зависит от скорости процессора (точнее - программа становится не работоспособной на более БЫСТРОМ процессоре) - программа написана плохо.

- - - Добавлено - - -

И ещё - вдогонку. Пока из "катастрофических" особенностей ВМ2 я вижу только его halt режим. Но, насколько мне не изменяет память - КЦГД не использует его. А значит - ВМ2 - с точки зрения КЦГД - вполне себе обычный PDP-11 - и заложить все его (кроме halt режима) возможности в PDP-11X - дело создания ещё одного описания процессора. Всё. И будет в PDP-11X быстродействующий 1801ВМ2 без halt режима.

Alex_K
11.07.2023, 11:54
И ещё - вдогонку. Пока из "катастрофических" особенностей ВМ2 я вижу только его halt режим. Но, насколько мне не изменяет память - КЦГД не использует его. А значит - ВМ2 - с точки зрения КЦГД - вполне себе обычный PDP-11 - и заложить все его (кроме halt режима) возможности в PDP-11X - дело создания ещё одного описания процессора. Всё. И будет в PDP-11X быстродействующий 1801ВМ2 без halt режима.
Во всяком случае в 181-й прошивке КЦГД вектора HALT-режима сформированы так, что запуск сразу идёт в USER. Единственно, что все вектора (SEL000, SEL010, SEL170, SEL174, SEL274) указывают на один адрес. Поэтому если исполнится команда HALT или случится фатальная ситуация, то КЦГД просто перезапустится.

Hunta
11.07.2023, 12:03
Во всяком случае

если исполнится команда HALT или случится фатальная ситуация, то КЦГД просто перезапустится.
Ну значит память меня не подвела.


все вектора (SEL000, SEL010, SEL170, SEL174, SEL274) указывают на один адрес.
То есть тоже роли не играют

Alex
11.07.2023, 12:45
Если берётся ВМ2 - объём работ минимален, при использовании другого процессора - объём работ вырастет кратно.

Hunta
11.07.2023, 12:52
Если берётся ВМ2 - объём работ минимален, при использовании другого процессора - объём работ вырастет кратно.
Доказательства в студию.

И

Я что-то не помню, что я кому-то предлагал поработать над этим.

Alex
11.07.2023, 13:07
Попробуешь - узнаешь :)

Hunta
11.07.2023, 13:31
Попробуешь - узнаешь
То есть опять - голословно. Ну ну, удачи.

anasana
11.07.2023, 20:33
DEC для Прошки в P/OS v.3 обеспечил поддержку протоколов последовательных мышей и планшетных дигитайзеров.
Планшетов у меня не было, а работу шариковой MS мышки я проверял.

Devices that can be connected to Comm. and Printer Ports:
o Digital Equipment Corporation, VS10X-CA, Graphics Tablet
o GTCO Corporation, Digi-Pad 5, Graphics Tablet
o GTCO Corporation, Micro Digi-Pad, Graphics Tablet
o Summagraphics Corporation, MM961, Graphics Tablet
o Summagraphics Corporation, MM1201, Graphics Tablet
o Summagraphics Corporation, Bit Pad One, Graphics Tablet
o Summagraphics Corporation, SummaMouse, Optical Serial Mouse
o Microsoft Corporation, Microsoft Mouse, Mechanical Serial Mouse
o USI Corporation, OptoMouse 2000 and 4000, Optical Serial Mouse
o Display Interface Corporation, Hi-Fi Mouse, Sonic Serial Mouse
o Daini Seikosha Co. Ltd., D-SCAN DT-3100, Graphics Tablet

Hunta
11.07.2023, 20:41
DEC для Прошки в P/OS v.3 обеспечил поддержку протоколов последовательных мышей и планшетных дигитайзеров.
А по ПРОС что-нибудь известно?

Radon17
11.07.2023, 22:48
Дигитайзеры и у нас вполне подключались.

https://pic.maxiol.com/thumbs2/1689104764.782555487.171862000.jpg (https://pic.maxiol.com/?v=1689104764.782555487.171862000.jpg&dp=2)

ГРАФ-2Д точно может работать с дигитайзером.
У меня дигитайзеров вообще нет, проверить не смогу (но очень хочется).
Про мышки не слышал. Интересно было бы попробовать работу мышки на железной Э85.

- - - Добавлено - - -


Планшетов у меня не было, а работу шариковой MS мышки я проверял.
На каком же всё-таки софте? :)

Alex
11.07.2023, 23:25
Дигитайзеры были ещё на СМ-4(АРМ чертёжника) стоял один - ПКГИО и 4 - УВКГИ,
на которых можно было снимать координаты точек(и не только точек, а так же линий, дуг и прочая даже несколькими способами) с листа А0
Правда в реале ПКГИО чаще всего использовали(возможно потому, что был автономный режим работы, на ленточный перфоратор)
два УВКГИ - это максимум одновременно работающих...
В нутро я тогда не лазил, о чём сейчас жалею... 1й курс...
Да и сейчас слово дигитайзер, а тогда - кодировщик графической информации.... Планшетный и универсальный соответственно ;)

Из самого ужаса - шкаф в котором был адаптер общей шины на шину ЕС, коя шла в соседний класс, к другому шкафу, где стояла куча плоттеров...
Как рулонники, так планшетники.... С десяток...
Но прикол в том, что этот класс так и стоял памятником в отключенном и запертом виде...

На рулонники тупо не было бумаги, то есть было, но чуть-чуть... Чисто продемонстрировать работоспособность.
Самое интересное, что всё было в рабочем виде, но отключено... Так же, как графический терминал "Графит", про который говорили, что если его включать, то он сломается ...
Нам даже один раз показали игру на терминале "Графит"- футбол... мячик летал красиво, деформировался, когда с чем-то сталкивался :)
А нам хватало одного планшетника в главном зале.
Я сейчас подозреваю, что ещё проблема была в софте. На СМ-4 работал TS-монитор РАФОС, и у него с драйверами ко всему этому зоопарку было плохо. И по сему грузили иногда DOS-11.

dk_spb
12.07.2023, 13:07
Попробую еще раз тут.
Помогите опознать модуль ПЗУ и сетевуху (???)
http://ipic.su/img/img7/tn/IMG_4972.1689156344.jpg (http://ipic.su/img/img7/fs/IMG_4972.1689156344.jpg)

И у кого есть описание и софт от модема для УКНЦ ?

anasana
12.07.2023, 15:25
> На каком же всё-таки софте?
это капец какой склероз, помню что заморочился и в какой-то получилось.
в том году полез вспоминать искать скриншоты, но похоже не делал. но у нас три проги всего по сути которые можно снова попробовать, это ГРАФ-2Д, Интерграф и РЕДГРАФ.
драйвера родные на известной дискете P/OS 3.2 в сети "09. PRODRIVERS" на ней PDI mouse pointer test.
т.к. запускал их, значит и в ПРОС работало. надо повторять эксперименты.
у меня ещё в наличии с ебея есть купленная шайбо-мышка хоккей пук DEC DIGITAL VSXXX-AA, у неё коннектор MiniDIN 7-пиновый как у штатовского робота-пылесоса Roomba для диагностики.
я вроде сделал переходник, но стопудово что-то не учёл, т.к мышуня не увидилась.

tnt23
12.07.2023, 21:00
> На каком же всё-таки софте?
это капец какой склероз, помню что заморочился и в какой-то получилось.
в том году полез вспоминать искать скриншоты, но похоже не делал. но у нас три проги всего по сути которые можно снова попробовать, это ГРАФ-2Д, Интерграф и РЕДГРАФ.
драйвера родные на известной дискете P/OS 3.2 в сети "09. PRODRIVERS" на ней PDI mouse pointer test.
т.к. запускал их, значит и в ПРОС работало. надо повторять эксперименты.
у меня ещё в наличии с ебея есть купленная шайбо-мышка хоккей пук DEC DIGITAL VSXXX-AA, у неё коннектор MiniDIN 7-пиновый как у штатовского робота-пылесоса Roomba для диагностики.
я вроде сделал переходник, но стопудово что-то не учёл, т.к мышуня не увидилась.

Может, там простая пара квадратурных сигналов? В Акорне похожий коннектор.

anasana
13.07.2023, 00:08
да вроде как мыша последовательная, п.3.1: http://www.bitsavers.org/pdf/dec/ethernet/depca/EK-DEPCA-PR-001_Apr89.pdf
должна ко многим машинкам подойти.
разъём наружный: https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/MiniDIN-7_Diagram.svg/64px-MiniDIN-7_Diagram.svg.png Или, как вариант, на самой плате есть уже более распространённая гребёнка 6-пин.
надо только про питание ещё точнее утрсяти, сколько на VSXXX-AA подавать.
а то у VSXXX-BB и VSXXX-GB 12V, а например у VSXXX-GA 5V
о, вроде нашел: https://dropmefiles.com/2RPAh
питается от +5V и -12V, app.С: https://vt100.net/dec/ek-104aa-tm-001.pdf

BlaireCas
13.07.2023, 00:59
А что за мышка? Это-же разъем не похож на rs232 db9? Или о чем речь?
Просто некоторые высказали желание как-то подключить мышку к УКНЦ (софта нет, но ведь главное ее подключить а уж "сапера" кто-нибудь и напишет).

litwr
15.07.2023, 13:18
Вы говорили про задержку. Я и высказался, что таким образом задержка будет неточной. В Тетрисе есть десять уровней сложности по скорости. Здесь надо подстраивать паузу под нужную скорость падения. Текущая реализация зависит от быстродействия ЭВМ. На таймере делают, чтобы скорость работы была одинаковой на разных ЭВМ. В этом случае лучше рассчитать заранее сколько тиков у нас будет под разные скорости. Начало падения фигуры лучше синхронизировать с началом тика. Далее запрос клавиши, изменение и отрисовка нового положения, падение на позицию вниз, ещё запрос клавиши и отрисовка (чтобы сдвинуть упавшую фигуру влево или вправо), ну и пауза до заранее рассчитанных величин. Как-то так.
Но что уже сделано, то сделано.
Да, идеально было бы вначале запускать калибратор задержки. Код-то совсем простой, и можно с одинаковой скоростью играть и та БК, и на супер-скорости под SIMH.