Это был первый вариант (даже закомменченный код ещё остался)
Вот поэтому и полез - через задний кирилицО
- - - Добавлено - - -
В целом же на выходные - поиграться с (эмулятором) НЕМИГА и сделать в программе выбор - софт (пока для Э85) или хард вывод на терминал. А, да - с учётом не совсем красивого вывода на экран - переделаю все сообщения на англо-латиницу
Radon17(23.06.2023)
А можно вместе с выбором способа вывода ещё выбор языка сообщений? Или это ненужное загромождение кода вторым алфавитом? А как планируется выбор? Ключиком?
К примеру:
.R SPEED3 /HARD /RUS
Radon17(23.06.2023)
Поскольку это не сильно сложно (но ошибкофф насажть могу) - переделал на вариант автоматического выбора soft-hard вывода на терминал. Теперь soft будет только на Pro/Э85, в остальных случая hard.
На эмуляторе PDP-11 Патрона и на эмуляторе Э85 Anasana (под "правильной" RT-11) вроде работает.
@Radon17 - до эмулятора НЕМИГА ещё не добрался, поэтому просьба проверить
Лежит там же, перед скачиванием проверить, что дата сегндняшняя, а время (по Москве) в районе 15:15 (а то кэш IIS)
- - - Добавлено - - -
Ошибка в SPEEDx в отношении Pro/Э85. У них часы тикают с частотой 64 Гц в секунду.
Проверил, работает! Только прошу прощения, тестил на 64-символьном знакогенераторе, по-хорошему надо загрузить на 80 символов. Но это же тесты.
Гораздо сильнее смущает вывод паразитных символов после цифр (на скриншоте видно).
И ещё после вывода "R2-R3(34567.)/R1(321.)" и его значения экран очистился.
Такое ощущение, что что-то с управляющими символами (после последней цифры в порт летит код управлящего символа?) или скоростью записи в порт (неправильный опрос 177564?). Или железо/софт Немиги работают нестандартно.
А что за SPEED2?
Получается скриншот на прошлой странице недействителен?
Последний раз редактировалось Radon17; 23.06.2023 в 17:40.
Я на это налетал, но на физических компах. Возможно, действительно что-то где то не проверяет готовность - буду смотреть
Случайно выложил - это предыдущий вариант (версия 2 так сказать) - первая переделка SPEED после восстановления текста. Чего там - уже не помню.
Разбираюсь. Пока не понятно. Я тут поэкспериментировал с разными версиям RT (5.1, 5.1B, 5.1C, 5.2, 5.3). Мой вариант работы с прерываниями от таймера работае начиная с 5.1C. Вот кусок из исходника:
То есть когда счётчик PCTIK обнуляется очередным прерыванием - идёт НЕ передача в RT. То есть получается, что из 16 прерывания обрабатывается 15. Технически это логично - учитывая, что стоит кварц на 32768 Гц, а из него сделать 50 или 60 герц - проблематично. Делением на два получается 64. А 64/16*15 - как раз 60 герц - и вроде бы всё логично. Если я не ошибаюсь - то да, все измерения коту под хвост. Надо смотреть на схему - чего там и как, потому как вроде использовалась 512ВИ1, а она вроде выдаёт 50 герц, нет? В общем.. буду смотреть сам и жду аргументов за и противКод:6$: MOV #16.,PCTIK ;;;Re-initialize PC tick counter RTI ;;;Drop this tick on the floor PICLOK::TST @#173030 ;;;Prime clock to interrupt on next tick DEC (PC)+ ;;;Count off tick PCTIK: .WORD 16. BEQ 6$ ;;;Drop every 16th tick LKINT = 0 JLKINT == . + 2 JMP @#LKINT ;;;Go do normal RT clock tick processing ; JLKINT is hooked with LKINT from RMON
- - - Добавлено - - -
Управление терминалом вообще не использую (ну, кроме CR LF), а вот
Возможно..
- - - Добавлено - - -
Вообще странно, что нет радостной надписи что найдено или грустной что не - про OCnt..
Полезу проверю исходник..
Radon17(23.06.2023)
Ок, спасибо, значит на Pro/Э85 буду исходить из этого. Получается, Э85 работает чуть побыстрее, чем по (неправильным) результатам
И вроде проблему с мусором определил. Сейчас - проверю и выложу обновлённую версию
- - - Добавлено - - -
Это я понимаюПросто на эмуляторах... Хм.. А на эмуляторах я частенько запускаю только SPEED0, так как он очень похож - и, похоже, поэтому проблему не замечал...
- - - Добавлено - - -
@Radon17 выложил, там же. Время на файла 19:36-19:37 по Москве.
Некая эвристика - вроде как работает и на той проблемной RT11FB 5.01, с которой всё началось
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)