-
В процессе переделки прошивки VT-11X выловил первую ошибку :) Если в ELSIF после логического условия не написать THEN (первоначальный автор DSMAC сделал это слово не обязательным) - происходит странное :) Обойти проблему просто (написать THEN и всё щастливы), так что бросать все силы на исправление - не буду. Как получится - поправлю
-
В обед закончил переделку прошивки под DSMAC. В принципе, это уже был не исходный вариант от автора - я его слегка переделал и допилил для поддержки русского языка, но оставалось много не переделанного кода. Теперь всё допилил.
Достаточно много мест (оставил себе пометку), где добавлен код для возможных будущих расширений, но с IF-ELSIF-ELSE-END он не требуется. В выходные почищу такие места.
Ну и есть места, которые можно оптимизировать - тут уже придётся проверять в живую. Тоже в выходные.
Ну и есть места с вопросами. Тоже посмотрю внимательно в выходные.
-
Жжжж... Тестов XXDP именно VT100 вроде как нету.. Придётся самому писать...
-
Некоторая оптимизация прошивки - процесса передачи всякого в ЭВМ. У автора сильно не оптимально по коду и способу.
Дальше хочу повозиться с обменом с PS/2 - не только приём, но и передачу сделать - светодиоды зажигать, пикать и с прицелом на мышь
-
"Человек предполагает, а пальчики располагают"
В общем, сунулся я чего-то в модуль VGA и... понеслася.. Короче, текущий план-занятие - попробовать переделать 640x480 в 1280x1024 :)
-
Давняя война с в/в процессора. Попробовал вариант для ускорения процесса, но... не взлетел. Вернул как было (одна из причин, по который исходники PDP-11X недоступны - много экспериментирую - и могу много изменений откатить), буду дальше думать.
Вспомнил, с чего начался квест с ELSIF, сунулся в исходник FullODT, поправил вложенные IF на ELSIF (где возможно, есссвенно) и.. налетел на ошибки при трансляции. Оказывается - WHILE не доделал под последние постановления ВЦСПС :) Надо было в тестирование тоже добавить :) Пофиксил ошибку WHILE (в тесты добавлю позже), теперь будем потестировать FullODT (хотя на первый взгляд оттранслировалось как надо).
Из того, что никогда пока не использовал - оператор FOR (выглядит реализованным) и оператор CASE - а вот тут только предположительно, что не дорисован - надо будет ещё первоначальный исходник глянуть - чего там и как, потому как, если судить по коду - чего-то такое я пробовал делать, но...
Основной план - по прежнему VGA на 1280х1024
- - - Добавлено - - -
Ну как же без косяков то :) Точнее говоря - не всё доделал для WHILE...
-
Вывод - НАДО БОЛЬШЕ ТЕСТОВ :)
Воюю в VHDL...
-
Просто, что бы осталось :)
Код:
HH 2.2 RT-11 Cold boot..
HH DSK/TTY multiplexer v3.3 2016
FPP- эмулятор FP.SYS (c) А.Г.Григорьев
RT-11SB (S) V05.07
.р MSCPCK
?KMON-F-Invalid command
.RUN SPEED0
Тест быстродействия V3.4.1 (кэш, если он есть выключен)
NOP empty 24 984 348 оп./сек
NOP 12 492 173 оп./сек -> 24 984 344 оп./сек
BR .+2 empty 24 984 348 оп./сек
BR .+2 12 492 173 оп./сек -> 24 984 344 оп./сек
R1(23456.)+R0(12345.) empty 5 552 435 оп./сек
R1(23456.)+R0(12345.) 3 998 365 оп./сек -> 14 285 496 оп./сек
.
Модуль в/в в процессоре всё-таки удалось переделать, но пока он в "экспериментальном" состоянии.
Также причёсываю другие модули под единый подход общения с шиной плюс оптимизация.
Ну и периодически пробую дорабатывать VT-11X под 1280х1024, но там ещё самое начало..
-
Причёска кода, сейчас на раздаче RK11 и RL11 - распил их монолита. Потом сравню картинки до и после.
В процессе первого подхода к снаряду в RK11 выпилил из монолита чтение регистров и вроде всё ок. Потом выпилил запись бита GO в CSR - и получил феерическое поведение. Скажем - перестали писАться регистры адреса памяти, счётчик слов и регистра адреса диска. Ну а при попытке запись в CSR кода 5 (чтения) на выходе имел в CSR - 44 (не помню на вскидку эти биты, но они как бы при чтении вообще не должны возникать). В процессе поиска проблемы обнаружил классику - CopyPaste :) Забыл в определение записи в младший байт (всех регистров) добавить - при выборке соотвествующего регистра. И пока оставался старый вариант (запись в регистры - внутри монолита) - всё был ок. А как только выделил хоть что-то оттуда, так начался феерверк. Причем эта же ошибка по CopyPaste ушла и в RL11. Как только поправил - есссвенно всё заработало :)
-
Причёска кода и оптимизация (разные модули).
Плюс - с поддержкой КОИ-8 в RT нарисовалась проблема. Как выяснилось, восьмой бит используют (по информации от Form-а) не только KED и KEX, но и - сама RT-11 :) Один из сценариев использования вычислил, пробую пофиксить.
Ну и.. Не знаю, на кого бочку катить (под подозрением Mentec), но по крайне мере 5.7 страдает от использования разных констант в числовом, а не символьнов виде. Поэтому - возможно проблема - тронешь в одном месте - вылезет незнамо где...