-
- ? Manwe
- 24.09.2020 17:51
Можно, наверное, ПЗУ СМК поправить, чтобы оно перед вызовом процедуры ENGIN сбрасывало второй бит.
- ? Manwe
- 23.09.2020 11:13
Проверил на реальном железе, всё так же как на эмуляторе.
_
> репликах СМК-512 этот функционал уже не реализован
Вроде, недавно правили прошивку СМК ради этого. Обнаружили, что не работает Бейсик.
_
> она нужна, и в том числе и для того, чтобы очистить этот бит 2, если он будет установлен каким-то кодом страницы
Вот оно что... Спасибо за разъяснение! Добавил MOV #0 после всех операций со страницами - теперь дисковод заработал независимо от номера страницы. И в эмуляторе, и на реальном железе.
- ? Manwe
- 22.09.2020 23:51
Ivanq помог разобраться: недокументированная функция СМК: не все страницы работают одинаково. Нужно использовать только те, в кодах которых сброшен бит №2. Дикость, конечно.
- ? Manwe
- 22.09.2020 22:35
Может быть TST (R5) делает read-modify-write и контроллер как-то сходит с ума от этого? Вообще не очень понятна схема "Режимы работы и распределения памяти" - что за "170(177000hdd)-0" и "HDD :170-177000"? Есть где-нибудь человеческая схема?
- ? Manwe
- 22.09.2020 22:16
А где почитать документацию? На pk-fpga есть "ПОДРОБНОЕ техническое описание контроллеров АльтПро", но я не на все вопросы нашёл там ответы.
¤
Сейчас у меня засада дисководом в Halt-режиме. По адресу 162364 находится процедура чтения дисковода, она обращается к 177130 и обламывается на третьей по счёту инструкции TST (R5)+
в R5 лежит 177130. Инструкция вызывает прерывание по 4-му вектору - сразу, минуя обработчик Halt-режима. А 4-ый вектор указывает на TST (R5), которая также вызывает прерывание на саму себя и рекурсивно загаживает стек.
Halt-режим включен, но никак в этом карнавале не участвует.
Это всё в эмуляторе я проверяю.
- ? Manwe
- 21.09.2020 17:54
Но самое удивительное, что на эмуляторе MOV #0 и потом CLR работает, не вываливается. А MOV #2015 и потом CLR вываливается. На реальном железе пока не проверял.
- ? Manwe
- 21.09.2020 17:31
> mov #2015,@#177130 уже вызывает trap to 4?
На следующей команде. Похоже, проблема в обращении к 177130 командой CLR (R4). Если заменить на MOV #0,(R4) - не вылетает.
Пытаюсь понять логику: выходит, установка Halt-режима происходит ещё на команде MOV #2015,@#177130, до того как послан 0, "закрывающий" регистр. В этом случае понятно: CLR сначала читает содержимое 177130, а он уже в области памяти write only, как и должно быть в Halt-режиме.
Но разве так должно работать на реальном железе? Я думал, что пока не послан 0, режим контроллера не переключается.
- ? Manwe
- 21.09.2020 15:04
Хм, я вот чего не понял: почему когда я устанавливаю режим Hlt11 с нулевой страницей, всё работает, а когда с кодом страницы 2015 - происходит прерывание по 4-му вектору в момент попытки установить режим? Программа переключения режима находится в нижней памяти, не в страницах СМК.
- ? Manwe
- 19.09.2020 23:26
Вопрос про страницы памяти. В документации написано:
«При включении режима "All" из режимов Hlt10, Hlt11 в ОЗУ режима "All" по адресу 177130 вписывается 20+КодСтраницы».
То есть в режиме All можно подключать разные страницы. А в режиме Halt нельзя таким же образом, добавляя код страницы? Halt-режим всегда только с нулевой страницей памяти работает? Если так, то это печально.
- ? Manwe
- 19.09.2020 21:41
> Выб хоть версию проги называли
от 26-го мая 2020-го года, размер файла BKDE.exe 4'084'224 байт
¤
А ещё такой вопрос: устанавливаю разные режимы СМК (60,140,100) - эмулятор правильно пишет номера режимов. А когда устанавливаю Hlt11 (20000) - эмулятор пишет 0. Как должно быть?
- ? Manwe
- 02.09.2020 15:35
Глюк с выезжающим окном клавиатуры: https://imageup.ru/img141/3648729/gid-emul-keyboard-window-bug.png
Воспроизводится у меня на двух компьютерах - Windows 7 64-bit и Windows 10 32-bit.
- ? Manwe
- 31.08.2020 14:23
Заметил, что BKDE некорректно работает с дисками RT-11 (пробовал на дискетах от Союз-Неона): при попытке записать файл с таким же именем поверх имеющегося, на диске остаётся старый файл. То же происходит, если сперва удалить файл, а потом записать новый - всё равно почему-то старое содержимое на диске.
- ? Manwe
- 26.08.2020 12:39
Хочу посоветовать всем программу для записи БК-шных дискет на PC в Windows:
OmniFlop: http://www.shlock.co.uk/Utils/OmniFlop/OmniFlop.htm
Дисковод можно брать обычный 1.44 Мб, главное чтобы он подключался шлейфом к материнской плате, а не по USB. Дискеты 1.44 Мб тоже подходят, если заклеивать им дырку в углу.
В программе OmniFlop нужно сперва выбрать из списка тип дискеты IBM PC MS-DOS 800Kb (2 головки, 80 дорожек, 10 секторов по 512 Кб), там же отформатировать дискету, а потом писать на неё образ БКшной дискеты. Работает, проверено на БК и Союз-Неоне.
- ? Manwe
- 20.07.2020 16:23
А, понятно. Смущает просто, что приходится нажимать клавишу пошаговой трассировки на 1 раз больше, чем реальное число выполненных команд.
- ? Manwe
- 20.07.2020 14:53
Не могу понять почему так работает инструкция HALT:
у меня есть вызов инструкции EMT 16, которая печатает код СБР (очистка экрана), эта инструкция EMT 16 расположена в экранной памяти. Соответственно, следом за EMT 16 получается HALT (0) и сама EMT 16 тоже стирается. Так вот эмулятор в режиме трассировки исполняет этот HALT (который уже после EMT 16) и переходит на следующий HALT. И только второй HALT приводит к переходу по 4-му вектору. Почему так?
- ? Manwe
- 19.07.2020 15:28
>> Т.е. кажется, какой-то своей оригинальной защиты у GREEN не было.
Но всё равно, описанная защита выглядит интересно (для истории), было бы здорово найти такой WAV.
- ? Manwe
- 17.07.2020 11:00
Посмотрите, пожалуйста как эмулятор (не)грузит игру Green с магнитофонной защитой: https://manwe.pdp-11.ru/Tapes
На реальной БК 0010 всё без ошибок. Файл 8 bit mono 12 KHz, но я на всякий случай выложил и вариант 48 КГц: https://manwe.pdp-11.ru/Tapes/Green48.wav
- ? Manwe
- 03.07.2020 18:03
Утилита LBAtest для работы с HDD часто выдаёт timeout при записи секторов. На эмуляторе. Если фоном запустить какую-нибудь ещё программу или если система захочет выдать нотификацию или проверить обновления. На реальной БК такого, конечно, нет.
В утилите стоит небольшое число циклов (83) ожидания бита готовности, но реальной БК этого хватает.
Так что оптимизировать работу эмулятора с диском полезно!
- ? Manwe
- 26.06.2020 17:55
Ни у кого нет желания допилить Basic-87 до совместимости с Вильнюс-86? А то там даже оператора Circle нет.
- ? Manwe
- 10.06.2020 20:38
Ура, починилось! :) У меня была не самая новая версия эмулятора.
- ? Manwe
- 09.06.2020 14:42
Оказалось, в MKDOS 3.15 не работает, а в 3.17 уже работает.
- ? Manwe
- 09.06.2020 14:42
Оказалось, в MKDOS 3.15 не работает, а в 3.17 уже работает.
- ? Manwe
- 09.06.2020 14:11
почему-то в MKDOS 3.17 не работает STARTS.COM - как починить?
- ? Manwe
- 09.06.2020 14:09
Проблема с кнопкой СТОП связана с виртуальной клавиатурой. Не знаю как с настоящей клавиатурой (у меня нет Pause и Num Lock). Кнопка одноразовая.
- ? Manwe
- 19.04.2020 20:57
Поймал глюк в дизассемблере: обратите внимание на команду по адресу 4:
https://imageup.ru/img33/3592588/gid.png
- ? Manwe
- 09.04.2020 21:45
Ну можно и опцию.
¤
Ещё такая неточность: в режиме "Эмулировать клавиатуру БК" шифт всегда изменяет регистр букв. А на реальной БК иначе:
¤
1. заглавные латинские буквы - шифт не влияет
2. строчные латинские буквы - шифт превращает их в заглавные
3. заглавные русские буквы - шифт превращает их в строчные
4. строчные русские буквы - шифт не влияет
- ? Manwe
- 08.04.2020 22:39
В прошлых версиях эмулятора почему-то без сглаживания делались скриншоты в 1024x768.
Нельзя ли после CopyImage растянуть картинку своим методом перед сохранением на диск?
- ? Manwe
- 24.03.2020 11:37
а есть в природе аналог тестов МСТД, загружаемый в ОЗУ?
Пробовал грузить дамп МСТД с адреса 1000 - вылетает. Неперемещаемая программа, судя по всему.
Грузил из монитора БК0011м командой 1000L
- ? Manwe
- 19.03.2020 22:35
А, понятно... Было бы круто отображать с учётом режима. Так больше соответствовало бы реальности. Полезней для отладки.
- ? Manwe
- 19.03.2020 12:20
Для сравнения, та же самая программа, но в 7-ой странице памяти БК0011м отображается правильно (картинка не разрезана):
https://imageup.ru/img156/3574508/bk11page7.gif
- ? Manwe
- 19.03.2020 11:32
Давно заметил странную особенность: память СМК (или A16) неправильно отображаются в окне просмотра страниц. Начальный адрес страницы приходится не на верхнюю часть картинки, а на середину. Хорошо видно здесь:
https://imageup.ru/img156/3574449/a16m.gif
В реальности картинка хранится не разрезанной пополам, а единым массивом.
- ? Manwe
- 16.03.2020 01:36
Смутно припоминаю, что в игре "Hobbit" можно было что-то нажать и она записывала себя на кассету с защитой. Там прикольный загрузчик, хоббит подмигивает глазом во время загрузки. WAV есть. А вот информации как сохранять на кассету - нет. Может быть кто-то помнит?
- ? Manwe
- 15.03.2020 20:50
>> Уберите из параметров командной строки ffmpegа параметры -vf scale=1024:768 и мыло исчезнет. Правда и картинка станет 512Х256.
¤
Это вариант. Спасибо. Потом можно растянуть командой ./ffmpeg -i input.mp4 -vf scale=1024x768:flags=neighbor -crf 10 output.mp4
¤
>> Либо... добавьте какую-нибудь фильтрацию, убирающую мыло.
¤
А вот это - не вариант :)
- ? Manwe
- 15.03.2020 20:47
Супер. Надо помочь автору разобраться с PDPy11 - у него же куча возможностей, которые делают программирование лёгким и приятным :)
- ? Manwe
- 15.03.2020 20:46
Всё получилось, порендерил и выложил 4 WAV-файла с играми (даже 5, потому что Exolon состоит из двух): https://manwe.pdp-11.ru/Tapes/
Пока не оформлено, скоро займусь и сделаю красиво.
¤
А упомянутую выше игру Expert реально найти в магнитофонном виде?
- ? Manwe
- 15.03.2020 01:56
Не понял я про Exolon. В результате работы копировщика на ленту записывается сам копировщик, а не игра.
- ? Manwe
- 24.02.2020 12:21
Спасибо, добавление директории Screenshots помогло.
Но забавно, что записанное видео получилось вверх ногами.
Ещё интересно: демо "Ray Dreams" в одной сцене переключает палитры каждый кадр. В реальном времени это выглядит правильно. А при записи видео возникают пробуксовки и синхронизация сбивается.
- ? Manwe
- 16.02.2020 10:57
Sandro, вот исходники демки с палитрами: http://thesands.ru/bk0010/democracy.zip
¤
Макс Багаев, поддомен на pdp-11.ru лучше назвать "sandro", а не "manwe", так как эмулятор его, а не мой :)
Впрочем, у меня тоже есть куча наработок, исходников демок, полезных программ и подпрограмм для БК, которые имеет смысл выложить и описать. И статьи.
- ? Manwe
- 15.02.2020 00:15
Вот на этой интре лучше всего тестировать переключение палитр по лучу:
https://www.pouet.net/prod.php?which=83604
- ? Manwe
- 14.02.2020 23:26
в 5-ой части демо Insult почему-то падающие звёзды только в левой части экрана показываются.
- ? Manwe
- 16.01.2020 11:54
gid, полностью разделяю Ваше отношение к приватности и цифровой гигиене. Есть хороший способ зарегистрироваться в Telegram не по своей SIM-карте, а по какой-нибудь одноразовой. Например, по туристической в другой стране. Да и в России есть простые способы.
После регистрации Telegram больше никогда не будет обращаться к этому номеру, так что SIM-карту можно смело выкинуть.
- ? Manwe
- 16.01.2020 11:51
Александр, не могли бы Вы добавить в эмулятор переключение экрана в режим 4 градации серого для БК 0011? А то сейчас он только для БК 0010 работает.
- ? Manwe
- 28.08.2019 14:48
Связаться можно на сайте pk-fpga.ru и в Телеграм-чате https://t.me/bk0010_11m
- ? Manwe
- 25.07.2019 11:29
Trunk17, вот ещё вариант леталки Flasse с переделанными спрайтами. Может, она?
http://thesands.ru/bk0010/FLS2.png
http://thesands.ru/bk0010/FLS2.bin
- ? Manwe
- 17.07.2019 13:13
Спасибо, нашёл кое-какие описания в сборниках Клуба БК
- ? Manwe
- 17.07.2019 13:12
Почему-то последняя версия эмулятора грабит скриншоты всегда в сглаженном виде. Пиксели не чёткие 4x3, а между ними плавные переходы.
- ? Manwe
- 27.06.2019 07:48
В каком-нибудь журнале былоописание Forth для БК?
- ? Manwe
- 09.06.2019 17:43
Сделал так: перебрасываю содержимое ПЗУ 160000-170000 в нижнее ОЗУ, затем переключаюсь в режим 40 СМК и компирую содержимое ПЗУ обратно на те же адреса.
Заработало.
- ? Manwe
- 09.06.2019 09:29
Это только на БК0011М. В той же MKDOS на БК0010 всё работает.
Смотрю в отладчике перехватчик EMT 36 - он зачем-то устанавливает стек на адрес 136712...
По адресу 122056 вижу CALL @#160010 - инициализация блока параметров HDD. Вот на этой процедуре и вылетает. А там HALT, WORD 177777, HALT, WORD 177777,..
Устанавливаю режим СМК для БК0011М - 40, для БК0010 - 60. Опять что-то напутал с режимами? Где моя ПЗУ?!!! :)
- ? Manwe
- 09.06.2019 09:16
BD, в чём-то другом дело. Диска E: нет. Когда выхожу из Micro Commander'а и набираю в Мониторе M, ИМЯ?, ввод - вижу каталог диска. Но когда запускаю с этого диска Пролог-Д и там нажимаю KT, Ч (чтение), ИМЯ?, ввод - сразу ОШИБКА.
-
1 | 2 | 3 | 4 | 5 | »
?