-
- ? gid
- 03.12.2022 09:58
Округление всегда вверх.
Там просто прибавляется 1 к биту, который младше самого младшего бита остающейся части мантиссы. Условно говоря, к 31 биту, потом если надо делается выравнивание мантиссы и коррекция порядка.
Всю механику можно посмотреть в исходниках бета версии эмулятора v4.x, там есть эмуляция математического процессора FP11, насколько возможно. Но код выключен на уровне исходников, поэтому в самом эмуляторе этого нету.
На БК эти опкоды активно используются в собственных целях в разных системных программах.
- ? gid
- 02.12.2022 21:39
Блин. Умеют же написать так, что ничего не понять с первого раза.
В первом же предложении написано, что результат команды - два плавающих числа: одно - целая часть операции (N), то, что перед точкой; второе - дробная часть (g), то, что после точки.
А потом куча непонятного.
Подумавши, я пришёл к выводу, что то, что они пометили "Floating point:" это внутренне представление числа внутри FP-11, оно там сразу разделяется на мантиссу и порядок, и хранится в отдельных аппаратных регистрах, чтобы проще ими манипулировать было.
А "Fixed Point binary:" это то, что выдаётся наружу в регистры или память - 32 или 64 разрядное число в формате с плавающей точкой.
Другого объяснения я не нашёл.
¤
[Если я парвильно понял, в операциях FPU, если метод адресации 0, то это не регистр, а аккумулятор. Но не везде.]
Мгм. Во всех командах с плавающими числами, кроме команд LDFPS, STFPS, STST, STEXP, STCxI,STCxL LDEXP, LDCIx,LDCLx (у которых источник/приёмник - априори не плавающее число, в них адресация 0 - регистр CPU)
- ? gid
- 02.12.2022 09:55
В большинстве мануалов по FP11 написано, что команда умножает источник и приёмник, и разделяет результат на целую часть и дробную.
Целая часть произведения сохраняется в (AC|1), т.е. номер регистра аккумулятора or 1. Дробная часть произведения сохраняется в AC. Если номер регистра аккумулятора нечётный, то сохраняется только дробная часть произведения.
Я смотрел мануалы, начиная с PDP 11/20 и дальше, правда не все, выборочно, и везде, где смотрел, было написано одно и то же.
И у себя в эмуляторе реализовал этот же вариант.
Про тупо разделение на мантиссу и порядок я в документах не видел, где это такое встречалось?
- ? gid
- 25.10.2022 20:05
Если заглючил интерфейс, и какие-либо окошки не появляются, удалите в реестре ветку HKCU\SOFTWARE\gid prod.\BKEMUL целиком.
Все настройки интерфейса пересоздадутся заново.
¤
Делать плеер - слишком сложно для меня, мне бы тоже хотелось чтобы было поудобнее, но я не умею. Поэтому подожду, когда кто-нибудь приделает его к эмулятору.
- ? gid
- 09.10.2022 18:43
Могли:
29.09.2022 08:29:36 // Выпущен релиз эмулятора v3.13.2209.9954
1.Исправлена ошибка в эмуляции команды MTPS
2.Добавлена реализация двух-AY'шного звукового модуля...
Скачивать там - https://gid.pdp-11.ru/bkemuc.html?custom=3.13.2209.9954
Если надо изучить ещё как-то более подробно и углублённо, пишите.
- ? gid
- 02.08.2022 12:12
Нашёл косяк. Очень древний. У меня mtps обнуляет бит T, вместо того чтобы не изменять его. Исправление будет осенью.
Или может Scalolaz соберёт, свою сборку, там буквально пара строчек. Коммит я ему отправил.
- ? gid
- 01.08.2022 21:47
Технически - MTPS работает как надо, иначе бы не проходил тест ТМОС 791401
Да и я щас перепроверил в отладчике эмулятора - всё работает.
А почему творится хрень в MIRAGE - это вопрос к MIRAGE. Надо его дизассемблировать и посмотреть, что там накодено.
Пусть попробует в PARADISE то же самое сделать.
- ? gid
- 05.07.2022 13:13
[У меня падает при задании таких параметров: LDMount O:ODNAZDY A: BOOT]
В общем, сейчашняя версия эмулятора, которая у меня, по команде LDMount H:LOG1 A: не падает, более подробно повторить нет терпения. Я в этом дурацком мкдосе не умею копировать файлы, повторяя структуру каталогов. А каждый каталог создавать вручную задалбывает.
Поэтому просто создал новый раздел мкдос, и в нём простой лог диск, дальше сил не хватило.
¤
[Тест просто пишет в СМК, ничего не читая ни с каких дисков. И при попытке писать в 6 сегмент страницы 1 СМК эмулятор падает]
сейчашняя версия эмулятора не падает, всё пишется потом сверяется, а потом, в конце, когда тест зацикливается на br . при нажатии СТОП, вместо выхода в оболочку начинается всякая хрень.
¤
[в версии от 15 апреля 3.12.2204.9393 «Принц» тоже не работает]
В текущей версии такого не наблюдается, значит ну и не зачем искать уже исправленные ошибки в старом билде.
- ? gid
- 05.07.2022 09:32
А где скачать утилиту Manwe LDMount ? Где она вообще есть?
- ? gid
- 04.07.2022 20:17
Из того, что нашёл - очень неприятная ошибка, попытка обращения к объекту, который не существует.
Ошибка появилась в версии 3.13.хххх, после того как я код эмуляции дискеты выделил в отдельный класс.
Это вызывает падения в конфигурациях с двумя дисководами - А16М и СМК-512, там при обращении к приводам С и D ошибочно выбираются несуществующие дисководы. В СМК - одновременно с разделами HDD. В результате - падение, иногда - рандомное, зависящее от разных других факторов.
Принц персии валится как раз из-за этого.
¤
Чтоб два раза не компилировать, давайте, говорите, где ещё валится, раз ошибки в нескольких последних, значит ещё и в предыдущих 3.12.ххх тоже что-то нашлось?
- ? gid
- 29.06.2022 14:50
[Только на сайте опечатка]
Это шестёрку вверх ногами перевернуло почему-то.
[Если вдруг будет желание]
Желание получить то, что неохота делать самому, конечно будет. Однако я ещё тут не совсем понял, слои реализованы в прошивке 00011? Или нет? А то SuperMax выложил эту прошивку, а про слои немного позже написал, а что ещё более новая прошивка появилась, я что-то не видел/слышал.
- ? gid
- 29.06.2022 13:34
Это я так не глядя, механически соптимизировал. Забирайте исправленную версию.
- ? gid
- 26.06.2022 18:35
Чуть позже. У меня перерыв. Мне для тестирования новых фич и исследования имеющихся возможностей AZBK нужно писать тесты. А писать очень лень и неохота, и вообще пока голову напрягать неохота. Я пока поменял вектор приложения своих сил и свободного времени на то, где особо думать не надо.
- ? gid
- 21.06.2022 18:45
На экран AZBK переключились? (ПКМ на экране и в контекстном меню выбрать нужный экран)
Если да, и всё равно фигня выходит, то это из-за того, что я делал это из словесного описания SuperMaxa, как он объяснил, так я и сделал.
Если будет более детальное описание, будет и более нормальная эмуляция.
Например сейчас скроллинг только стандартный, без захвата заэкранной области. Потому что я тупо н е представляю алгоритма его работы. Особенно если окно скроллинга меньше размера экрана.
- ? gid
- 23.05.2022 11:58
photon1984, а можете посмотреть, в том же PARADISE, что происходит, когда в регистр 177630 записывать нули в биты с 14 по 8-й.
Я не понимаю, как работает ПЗУ. Оно размером 8Кб, но полезный код только в первой половине, но при этом п/п чтения записи сектора вызываются по адресам 137100 - п/п записи, 137136 - п/п чтения. По этим адресам находится какая-то хрень, зато рабочие п/п находятся по адресам 127100 и 127136, т.е. как будто в рабочем виде ПЗУ должно быть продублировано. Но в вашем дампе это не так.
Есть у меня подозрение, что какой-то из битов регистра управления ещё что-то делает.
Т.е. меня интересует, не меняется ли код подпрограмм по адресам 137100, если какой-либо бит сменится с 1 на 0, или наоборот.
¤
Известное назначение битов 177630:
15 - 0 - ПЗУ подключено по адресу 120000, 1 - ПЗУ отключено, доступен только кусок по адресам 177600-177617, он похоже неотключаемый, всегда сидит на шине.
13 - 0 - выбран привод 1, 1 - не выбран
11 - 0 - выбрана сторона 1, 1 - выбрана сторона 0
10 - 0 - выбран привод 0, 1 - не выбран
- ? gid
- 18.04.2022 13:40
Сделана начальная эмуляция устройства AZBK. Скачивать для ознакомления там http://gid.pdp-11.ru/betatest.html
Потому что использовать там пока нечего. Так, просто посмотреть и всё.
- ? gid
- 16.04.2022 17:11
Вот, как только исправились глюки в проге, сразу нашли какую-то малозначащую фигню, чтоб придраться.
А шахматка пропала только в конфигурациях БК10+любой КНГМД. Это потому что не та виртуальная функция вызывалась. Ничего страшного, потерпите до следующего релиза.
И интересуют отзывы насчёт иконки программы. Она сейчас нормальная или по-прежнему мерзопакостный кружок? А то у меня - нормальная.
- ? gid
- 15.04.2022 20:51
С иконкой случилось странное. Студия решила, что иконка точки останова - лучше подходит как иконка приложения. Когда я это заметил, я полдня угробил, чтобы понять, как так-то? и зачем это так? И как это назад исправить. Таки понял и исправил. заодно и иконку перегенерировал и она теперь отлично смотрится на больших экранах и в больших масштабах.
А какое марта у вас показывает? 46-е марта? У меня в окошке о программе показывает дату 15 апреля. (Это в свежей текущей версии сборки)
- ? gid
- 15.04.2022 14:48
Да уж. Такого я от себя не ожидал. Такой тупейший косяк ещё умудриться проглядеть надо.
Нашёл и исправил. Вот теперь думаю, что точно всё будет работать.
- ? gid
- 09.04.2022 10:04
Ну не падает же. Дайте мне тот ини файл, на котором падает. Хоть погляжу, ыдруг я ещё чего-то не учёл.
А пока, скачайте и проверьте ещё более новую версию.
- ? gid
- 08.04.2022 19:44
Неправда. В ини файле хранятся опции и настройки эмулятора, а в реестре хранятся только параметры пользовательского интерфейса - сугубо микрософтовская МФЦшная хрень, и они никак не пересекаются и друг от друга не зависят. После того, как я изменяю ресурсы или элементы меню/тулбара, я принудительно заставляю эмулятор удалять из реестра некоторые настройки, чтобы они с текущими не конфликтовали.
А "кнопка" такая есть, правда не одна, а несколько - жмём правой кнопкой мыши на тулбаре, в контекстном меню выбираем пункт "настройки", и там во вкладках есть кнопки "Сбросить всё" или просто "Сбросить" - по отдельности тулбары, хоткеи, меню. Заодно, там же, желающие могут как хотят кастомизировать пользовательский интерфейс.
- ? gid
- 08.04.2022 16:47
Попробуйте удалить файл bk.ini, запустить эмулятор, закрыть эмулятор, запустить снова, настроить настройки заново.
Для надёжности снова закрыть эмулятор, снова запустить, и потом уже сохранить состояние, и затем загружать его.
Вот моё видео: https://disk.yandex.ru/d/43evWkdWSCsI2Q
- ? gid
- 08.04.2022 14:59
Не подтверждаю. У меня падения не происходит, ни при какой загрузке. Только вот состояние выпадающих списков в дампере сбрасывается в дефолтное.
Это потому, что оказывается, некоторые актуальные данные из ини файла в файл состояния не сохраняются. Этот косяк я только что обнаружил.
- ? gid
- 06.04.2022 15:08
Исправлено. скачайте новую версию.
- ? gid
- 23.03.2022 13:37
Добавил в архив с исходниками андос 3.10 исходник проги ANFORM кому интересно. http://gid.pdp-11.ru/src/andos310_src.zip
Изучайте. Форматирование и верификация работает только для дискет. для HDD оно не предназначено.
- ? gid
- 21.03.2022 16:12
Однако, признаюсь, что дело не в демке.
Я нашёл причину, почему она перестала работать, но нифига не понимаю, почему надо делать именно так, как надо.
Там счётчик секторов не правильно считал, со сдвигом +1, поэтому демка делала последнее лишнее чтение и вылазила за пределы геометрии.
- ? gid
- 21.03.2022 13:56
демка Good Apple перестала работать, потому, что при наличии 4 головок у виртуального HDD, на котором она записана, пытается что-то читать с пятой. Как и почему такое происходит - я не знаю, у меня нету исходников демки и я отслеживаю, только те данные, которые она передаёт в регистры, в каком месте высчитывается неверное значение, я не знаю, а найти путём трассировки - терпения не хватает.
Я верю программе Service2, если в ней тесты проходят, значит я всё делаю правильно.
- ? gid
- 21.03.2022 09:35
А другого нету. Этот из комплекта андос 3.30 Он умеет инициализировать раздел HDD, сделать его системным, а больше и не надо.
Можно его дизассемблировать до уровня редактируемого исходника и переписать правильно.
- ? gid
- 19.03.2022 19:44
С эмуляцией как раз более ладно, теперь, при попытке читать за пределами геометрии возникает ошибка, а раньше - читалось непонятно откуда, там неопределённое поведение было. единственное, что может быть косячно - флаг DRQ не устанавливается везде, где надо.
Потому-что очень многие программы обрабатывают только этот флаг и вообще не смотрят на флаг ERR.
¤
Я на реальном железе запустить пока не смог. у меня сейчас только один дисковод подключен, как А: а надо второй как B: подключить, или шлейфами поиграться, пока сейчас это никак.
Зато я слегка подизассемблировал ANFORM, чтоб посмотреть, что он делает. На беглый взгляд - фигню какую-то.
Там, при выборе любого раздела HDD читается по первых 10 секторов на головках 0 и 1, с шагом цилиндров 16, а проверяемых дорожек по-прежнему считается что должно быть как у дискеты - 80. Соответственно, у HDD должно быть 80 * 16 цилиндров, чтобы не было выхода за геометрию и чтение было без ошибок. Но при этом читается отнюдь не содержимое указанного раздела.
- ? gid
- 19.03.2022 13:58
А по моему, что-то не то с программой ANFORM.
Она у меня в принципе не желает проверять разделы HDD пока в дисковод B: (и именно туда) не примонтируешь дискету.
Затем, если выбрать для проверки диск С:, проверка начинается с начала HDD C:0 H:0 S:1
Потом начинает хаотично скакать по головкам и цилиндрам, и очень быстро попадает на значения, выходящие за пределы геометрии диска.
Там прочитать ничего не может и зацикливается в ПЗУ альтпро на ожидании бита DRQ в регистре состояния 1f7
- ? gid
- 17.03.2022 15:04
[В версии эмулятора от 9 марта 2022, похоже, перестал работать SERVICE2]
Нашёл ошибку. Скоро выложу исправленную версию.
- ? gid
- 17.03.2022 08:13
Медленно. И тяжело, из-за отсутствия технических подробностей, которые обычному пользователю вообще не нужны.
Публичная версия будет после того, как будет сделано самое сложное - экран и палитры.
- ? gid
- 16.03.2022 18:55
Теоретически можно.
Но на это потребуется довольно много писанины нового функционала. Т.к. универсального средства нет, и для каждой конфигурации нужно написать свои методы. А потом подумать, как это вкрячить в уже существующее, не поломав ничего.
Быстро не будет.
- ? gid
- 09.02.2022 08:15
Спасибо. Поправил. Но не думаю, что это единственная опечатка. Я иногда тоже до сих пор нахожу артефакты распознавания в разных доках. И ладно бы в тексте, иногда бывают в примерах кода, что самое неприятное.
- ? gid
- 12.01.2022 19:11
Там для кнопок увеличения/уменьшения частоты действуют клавиши-модификаторы: Ctrl, Alt, Shift. Если зажать их все три одновременно, то частота удваивается/уполовинивается. Вот это могу переделать в *10, /10. А чтоб добавить новые кнопки, кто-то должен нарисовать для них иконки, т.к. я не умею рисовать красивые и понятные картинки. Кнопка без иконки будет глядеться чужеродно.
- ? gid
- 06.01.2022 20:05
Быстрые какие. Я только сегодня патч закоммитил, не проверял толком, убедился только, что запускается, работает, и глюк пропал.
Тогда спешить не буду, свою, так сказать, официальную сборку выложу позже, может сильно позже.
Глюк не критичный, если адресов регистров HDD в окне дампа не видно во время работы HDD, то о нём никто и не узнает.
- ? gid
- 05.01.2022 20:58
Эта ошибка была всегда.
Я нашёл в чём причина. Вкратце - в отладочной функции используются неотладочные функции чтения регистров, и там делается незапланированное чтение регистров HDD, когда их адреса в области видимости, из-за чего при обмене данными с HDD начинаются всякие разные глюки.
Ошибка получилась из-за того, что мне было неохота плодить множество копипастных функций, незначительно отличающихся друг от друга.
Но теперь видимо, таки придётся.
Исправление скоро будет. Пока что думаю, в течении этой недели, если ничего меня не отвлечёт.
- ? gid
- 18.12.2021 13:23
Оказалось, что не по разному, оказалось, что Direct2D работает неправильно с масштабом, а OpenGL масштабирование просто игнорирует. А Direct3D вообще не работает.
Понял я, что многое надо переписывать заново. Только х.з. как.
- ? gid
- 18.12.2021 13:12
Микрософтовский MFC не умеет иконки, не прибитые к фиксированным координатам. В нём вообще каждый элемент интерфейса имеет фиксированные координаты и размеры, это можно посмотреть в файле ресурсов.
Кстати, я таки посмотрел на виндовс 11, красота-то какая, лепота. Ощутил себя хипстером-апплелюбом. И т.к. у меня нету 4к монитора, я просто поигрался там с масштабом.
При работающем эмуляторе, при увеличении масштаба, вот таких вот глюков как на скриншоте не наблюдалось. У меня всё пропорционально увеличивалось, иконки на тулбаре при этом становились мутноватые и единственный глюк - начинало колбасить строку состояния. Туда вместе с текстом начинали вылазить иконки тулбара и вообще всякое непонятное. Причём при возвращении масштаба 100% глюк так и оставался.
Но вот если запускать эмулятор при масштабе больше 100%, а именно с 200% наблюдаются как раз вот такие глюки как на скриншоте. Причём эмулятор собранный с последним СДК под вин10 и с СДК под вин11 ведёт себя по-разному.
Так что хер его знает, как надо делать, пускай микрософт свой MFC исправляет.
- ? gid
- 17.12.2021 16:47
Ну, номер I'93 у меня даже в бумажном виде есть (случайно попал в руки) и я его пробовал сканировать, результат получается не сильно лучше, чем то, что в том архиве, там само качество печати не сильно высокое, разве что картинки не попорчены djvu и чуть чётче.
Вот лично мне важен именно полнотекстовый поиск, чтобы тексты журнала проиндексировать и быстро искать нужное по ключевым словам, а не листая все djvuшки подряд каждый раз. Ни форматирование, ни рисунки особо не важны.
Я из этого журнала распознавал книгу Зальцмана, и одно только распознавание и вычитка заняло две недели непрерывного труда. Хотя вроде бы глазом хорошо текст читается, а файнридер на многих местах спотыкался. Многое надо было вручную исправлять.
- ? gid
- 16.12.2021 08:50
Ваши бы умения, да в полезное русло.
Распознайте журналы "Персональный компьютер БК", очень не хватает полнотекстового поиска по их содержимому. Не обязательно прям до идеала, картинки можно прям как есть оставить, голимые.
За это много кто брался, даже я, но после того, как начнёшь, быстро понимаешь какой это адский труд, и сколько времени это займёт, руки опускаются, и доделывать неохота.
Сканы нормального качества есть тут https://archive.pdp-11.org.ru/BIBLIOTEKA/biblioteka_bk/biblioteka_bk.rar в архиве нет только последнего номера.
- ? gid
- 12.12.2021 12:00
А вообще, думаю, что дело тут не в виндовсе 11, а в масштабе, который рядом с разрешением экрана выбирается.
Когда масштаб отличается от 100% по умолчанию, то интерфейс эмулятора начинает глючить и в виндовс 10 тоже.
Я искал в интернете, как писать проги под мультимониторные конфигурации и мониторы с большими DPI, практических примеров не нашёл,
нашёл только разные описания, как это можно делать, что-то мне показалось слишком сложно всё это и я забил.
Богачи с большими диагоналями пусть страдают.
- ? gid
- 11.12.2021 06:32
Пока ничем не могу помочь.
Win11 пока использовать не планирую, мне её даж на виртуалку установить, чтобы посмотреть, что оно такое времени нету.
Экранов с высоким разрешением у меня нет и возможности самому потестировать внешний вид эмулятора тоже нет.
- ? gid
- 16.10.2021 18:57
Там вон https://github.com/andpp/bkemu-QT его на Qt переводят, если осилят, будет ещё шикарнее.
- ? gid
- 16.10.2021 13:25
Этот баг был всегда.
Восстанавливаются только значения регистров, а то, что в некоторых случаях нужно ещё и некоторые функции вызывать, забыл.
Будет исправлено в следующем релизе.
- ? gid
- 03.10.2021 18:55
Вот сколько ноутбуков я видел, у всех была клавиша скрол лок. Обычно она была среди функциональных клавиш, которые через доп.кнопку "Fn" вызывались, это три кнопки - принтскрин, скроллок и пауза/бряк, вся нумпад клавиатура (вот это правда не у всех, а у старых моделей точно было), а так же обычно всякие мультимедийные кнопки и кнопки управления яркостью экрана, тачпадом, и всяким таким ноутбучным.
¤
Ссылки поправил.
¤
А раньше проблем с полным экраном в Direct3D не было? Я код рендеров уже давно не менял.
- ? gid
- 01.10.2021 11:46
Ну вот и повод снести все акселераторы.
- ? gid
- 30.09.2021 12:37
А что с ним не так? Он с самого начала нормально работал, просто не было возможности переназначить под себя. Теперь есть.
А претензии с кнопкой Home к Дмитрий Николаевичу. Это он в своих сборках неподумавши назначает конфликтные горячие клавиши, которые ему удобны. У меня на num клавиши навешано опций только на цифры. Чтобы с клавишами по умолчанию для джойстика не конфликтовало.
¤
Выкинуть опции с нумпада можно так: в эмуляторе правой кнопкой мыши на любом месте меню, панелей инструментов или пустом месте, выделенном для них -> в контекстном меню самый нижний пункт "Настройка..." -> вкладка "Клавиатура" и там можно изменять сочетания клавиш как душе угодно. До выхода версии эмулятора, которая из-за внутренних структурных изменений сбрасывает все настройки в реестре.
¤
А так, я думаю, можно все эти горячие кнопки поудалять, я ими всё равно не пользуюсь, так и тыкаю мышкой в кнопки панели инструментов или в меню.
- ? gid
- 19.09.2021 14:02
>>? Manwe - 18.09.2021 10:17
[Дело в том, что можно случайно его закрыть.]
Как вы умудрились это сделать? Я так и не нашёл способа закрыть экран.
У меня SDI приложение и экран - основной вид приложения. Его закрытие предполагает закрытие всей программы. И я по возможности блокировал весь функционал new/open/close document
- ? gid
- 14.09.2021 08:17
А чё толку? Я всё равно пользоваться им не умею. В визуалстудии есть локальный гит, и я в него коммиты коммичу время от времени. И всё. Все умности до сих пор так и не пригодились.
-
«
1 | 2 | 3 | 4 | 5 | ... | 15 | »
?