-
- ? Shestipalov
- 30.01.2023 14:51
Сергей, привет!
.
Вопрос такой. Пытаюсь грузить bin-файл в эмулятортакоф командой:
BK.exe /D MYFILE /L 1000
Экземпляр эмулятора уже запущен, файл грузится, но всегда по адресу, указанному в заголовке bin-файла, параметр /L не имеет никакого значения — что ни указывай, адрес всегда один и тот же — из заголовка. Это я неправильно понял документацию или ошибка в эмуляторе? :-)
- ? Shestipalov
- 20.01.2023 17:22
>То, что ты предлагаешь - это модификация исходника.
Не совсем. Одно дело в исходнике постоянно руками менять дату компиляции, и совсем другое написать, например, что-то типа такого (на синтаксис и логику внимание не обращать, это только пример для демонстрации идеи):
.LA 1000
MOV #MSG,R1
CLR R2
EMT 20
EMT 6
HALT
DATE: .BLKW 10
.SCRIPT:
MOV ${currentdate},@#DATE
.ENDS
.END
.
Тогда при компиляции можно руками дату в исходнике не менять — сама подставится. Это как раз модификация бинарника. Хотя, наверно, можно как решить эту задачу и без использования скриптов, средствами текстовых редакторов каких-нибудь... Не знаю. В общем, нет так нет, тебе виднее :-)
.
А пауза при сохранении действительно работает, спасибо! )
- ? Shestipalov
- 20.01.2023 15:29
Переименование регистров, ИМХО, может сильно помочь в плане читаемости программы. Мне было бы полезно, по крайней мере. Ну и ещё такая мысль появилась, насчёт скриптов. Было бы полезно иметь возможность использовать в скриптах системны переменные, типа системной даты, времени, может, ещё чего. Тогда будет возможно автоматически вносить в текст программы дату компиляции, например. Номер версии тоже не помешал бы. Правда, возможный механизм реализации этого я плохо себе представляю, но, может, ты придумаешь :-)
.
PS. И ещё, не помню, предлагал или нет сделать такую штуку в эмуляторе — когда нажимается кнопка «Сохранить состояние эмулятора», он автоматически ставится на паузу. Это будет логично, если учесть, что я хочу сохранить именно тот момент, когда нажал на кнопку «сохранить», а не тот, когда я ввёл имя файла сохранения в диалоговом окне. За это время много чего может произойти, например, в «Принце Персии» ГГ убьют )))
- ? Shestipaloff
- 20.01.2023 08:38
Сергей, привет
.
Нашёл небольшую ошибку в документации на BKTurbo8 — в начале написано, что псевдокоманды .ENABL и .DSABL отсутствуют (от старой доки осталось), а ниже в тексте они указаны как действующие.
- ? Shestipalov
- 05.07.2022 14:18
[В общем, сейчашняя версия эмулятора, которая у меня, по команде LDMount H:LOG1 A: не падает]
.
По поводу LDMount — это я затупил, скорее всего. Очевидно, валит эмулятор не сама LDMount, а демка Однажды, диск с которой я монтирую и с которого я эту демку загружаю. Она (демка) использует СМК, и, видимо, именно попытка работы с СМК валит эмулятор, как и в Принце.
- ? Shestipalov
- 05.07.2022 10:03
вот отсюда можно забрать https://disk.yandex.ru/d/iSJxDfrskOSVSg
- ? Shestipalov
- 05.07.2022 07:30
уточнение — в версии от 15 апреля 3.12.2204.9393 «Принц» тоже не работает. Загрузка там проходит, но заставка сразу пропускается, загружается игровой экран и нет реакции на нажатия клавиш.
- ? Shestipalov
- 05.07.2022 00:06
3.12 от 15 апреля работает вроде нормально. Следующие уже валятся. Из ещё гарантированных ошибок — эмулятор падает, если с помощью утилиты Manwe LDMount примонтировать логдиск как дисковод A: и загрузиться с него. У меня падает при задании таких параметров: LDMount O:ODNAZDY A: BOOT
- ? Shestipalov
- 04.07.2022 17:38
Уточню пост выше. В нескольких последних версиях эмулятора наблюдаются падения в разных ситуациях. Самая простая воспроизводимая ошибка — попытка запуска «Принца Персии», эмулятор валится стопроцентно на окне загрузки.
- ? Shestipalov
- 29.06.2022 13:41
Спасибо! Только на сайте опечатка — написано, версия от 29.09.2022 :-)
- ? Shestipalov
- 29.06.2022 10:20
Сергей, привет
.
Хоть и перерыв, но всё-же :-) В версии эмулятора от 27-05-2022 изменён порядо страниц в карте памяти, теперь буфера экранов оказались в разных закладках. Сообщество демомейкеров :-) считает, что это неудобно — экраны это логически связанные вещи, и лучше, если можно визуально оценить их содержимое одновременно. Лучше всё-таки им быть на одной закладке.
- ? Shestipalov
- 19.03.2022 18:44
По уму, посмотреть бы, как она работает на реальном железе. Но я не могу — нету :-)
- ? Shestipalov
- 19.03.2022 18:43
Возможно, что-то не так с утилитой. Я к тому, что в предыдущих версиях эмулятора она вела себя по-другому, более корректно. Поэтому подозреваю, что с эмуляцией всё-таки что-то неладно.
- ? Shestipalov
- 19.03.2022 12:08
И всё-таки что-то не то с эмуляцией HDD. Вот, к примеру, в версии от 17-03-2022 в утилите ANFORM, если выбрать «Verify» диск C, то утилита дойдёт жо 5-й дорожки и остановится, затем опять лаги и ошибки счтывания с HDD. В предыдущих версиях тоже было остановка на 5-й дорожке, но не было лагов и последующих ошибок чтения.
- ? Shestipalov
- 17.03.2022 12:49
Сергей, привет.
В версии эмулятора от 9 марта 2022, похоже, перестал работать SERVICE2. После выхода небольшой лаг на несколько секунд и ошибка чтения HDD. Также не работает «Тест накопителя —> Внутренняя диагностика» и тест чтения HDD. Воспроизводится на версии x86.
- ? Shestipalov
- 10.02.2022 14:02
Ага. И сразу пример опечатки в коде, в той же книге Зальцмана:
.
; Инициализация драйвера
MOV PC,R0 ; Вычислить адрес
ADD (PC)+,R0 ; супервизора
.@SQN+2 ; в перемещаемом формате
MOV R0,@#274 ; Записать новый вектор @#274
HALT ; Стоп
; Супервизорная программа - обработка прерывания по "АР2"
SON: CMPB #17,@#177662 ; Клавиша "ЛАТ" по регистру "АР2"? –
BNE 0 ; Нет - выход
CALL GRK ; Графическая копия экрана
0: JMP @#101362 ; Передача управления в драйвер
; клавиатуры БК-0010
.
Имя метки сначала SQN, потом SON. Не смертельно, но тем не менее.
- ? Shestipalov
- 08.02.2022 19:12
Сергей, привет.
.
Нашёл небольшую опечатку в книге Зальцмана на сайте. Сейчас так:
.
126-150 адрес очередного байта текста текущего «ключа».
126-150 - адреса (по порядку) начала текстов программируемых «ключей», соответствующих клавишам «0», «1»,...«9».
.
Надо:
.
124 — адрес очередного байта текста текущего «ключа».
126-150 - адреса (по порядку) начала текстов программируемых «ключей», соответствующих клавишам «0», «1»,...«9».
- ? Shestipalov
- 06.01.2022 23:17
>Глюк не критичный, если адресов регистров HDD в окне дампа не видно во время работы HDD, то о нём никто и не узнает.
.
Ну это как сказать. Если будет открыто окно дампа с регистрами HDD во время записи на образ диска — можно обзавестись множеством битых файлов.
- ? Shestipalov
- 06.01.2022 18:08
Проверил сборку эмулятора от 2022-01-06, глюка теперь нет.
- ? Шестипалов
- 05.01.2022 19:13
Сергей, привет!
.
в версии эмулятора от 2021-12-03 (а может, и более ранних) обнаружился глюк. Воспроизводится в конфигурации БК0011М+СМК, другие не проверял, но, очевидно, должно воспроизводиться и там. Алгоритм воспроизведения может быть такой:
1. Открываем окно дампа памяти, стартовый адрес указываем 177700. У меня окно дампа большое, диапазон показываемых адресов переходит через 0.
2. Запускаем что-то, что активно читает или пишет на винчестер. Я проверял на Принце Персии, тот грузит много данных, и ошибки чтения сразу видны.
3. Ошибки могут быть как в виде покорёженной заставки, битых спрайтов или вылетов в процессе игры.
4. Ошибки возникают как по чтению с винчестера, так и по записи на него.
- ? Shestipalov
- 03.10.2021 08:40
В новой версии проблемы с полным экраном только если в качестве рендера экрана выбран Direct3D. Рендеры OpenGL и Direct2D работают нормально.
.
Правильная ссылка на скачивание http://gid.pdp-11.ru/f/3.12.2110.8960/BK_v3.12_x64.rar
- ? Shestipalov
- 19.09.2021 21:56
>Как вы умудрились это сделать? Я так и не нашёл способа закрыть экран.
Окно экрана БК может быть закрыто, если произойдёт какая-нибудь ошибка, связанная с OpenGL или DX. У меня было так пару раз. Можно было открыть заново изменением Screen Render в настройках. Но штатного способа закрыть окно БК таки нет :-)
- ? Shestipalov
- 12.09.2021 12:25
Сергей, приветствую.
Два замечания по поводу новой сборки эмулятора, от сентября 2021 г.
1. Окно с параметрами сохранения дампа памяти может быть размещено частично за правым краем экрана, если окно дампа памяти находится справа. Например: http://ipic.su/img/img7/fs/SaveDump.1631437957.png
2. Очень неудобно, что не сохраняется режим выбранный пользователем режим экрана БК в меню «Вид — Установить размер экрана». Ну например:
- разворачиваем окно эмулятора во весь экран (не Ctrl-Alt-ScrollLock, а кнопкой «Развернуть» в правом верхнем углу).
— Выбираем «Вид—Установить размер экрана—1024х768 (х2)»
— Окно эмулятора уменьшится. Теперь, если я его опять разверну во весь экран, режим «1024х768 (х2)» не сохранится, а переключится на «Свой». Т.е., в новой сборке, если разворачивать окно эмулятора во весь экран, режим экрана БК возможен только «Свой», что очень неудобно, т.к. в этом режиме БКшный экран отрисовывается с искажениями.
Хотелось бы, чтоб выбранный пользователем размер экрана БК сохранялся при любом изменении размеров экрана эмулятора или док-окон, в случае, если ему хватает места. В старой сборке было именно так — можно было распахнуть эмулятор во весь экран и менять размеры док-окон, режим экрана БК не переключался в «Свой» до тех пор, пока ему хватало места.
- ? Shestipalov
- 15.04.2021 11:51
Сергей, привет.
У тебя на сайте выложен модифицированный DESS Михаила Королёва. Я внёс в исходники ещё несколько исправлений, может, выложишь исправленный вариант у себя на сайте?
.
Исправлено следующее:
1. Исправлен экран помощи. На первом экране было слишком много строк, поэтому происходил скролл на 1 строку, после чего экран DESSa отрисовывался с ошибками — например, сдвиг мнемоники текущей команды вверх.
2. Перенёс блок параметров драйвера дисковода для не-Андос систем на с адреса 400 на адрес 500. Теперь в DESSe работает командная строка в МКДОС и ключи в АНДОС. Раньше блок параметров затирал ключи. Это переменная DRVTAB, строка 140.
3. Сделал вид дополнительной информации сразу после запуска в виде двух восьмеричных байтов вместо десятичного значения. ИМХО байты полезнее :-) Это Переменные INFFLG и INF, строки в исходнике 105 и 106.
.
Модифицированный исходник тут:
https://drive.google.com/file/d/1pDYLiBaakwNcv_zLSeajf6ZSPaofLV8P/view?usp=sharing
- ? Shestipalov
- 19.02.2021 11:32
[Эмулятор не даст. Он захватывает образ и не даст никому туда ничего писать. ]
BKDE как-то ухитряется же перехватить запись в образ у эмулятора, почему другие не могут? Буквально на секунду )
- ? Shestipalov
- 18.02.2021 23:48
Сергей, привет.
.
Хотелось бы иметь возможность в BKDE вставлять файлы в образ через командную строку. Тогда можно будет скомпилированный в кроссассемблере файл вставлять в образ из _make.bat, не кликая мышкой. В эмуляторе останется только кнопку перечитывания каталога нажать. Очень удобно было бы.
- ? Шестипалов
- 14.02.2021 13:27
Сергей, привет.
В BKTurbo8 при генерации lst-файлов некорректно отображаются отрицательные числа. Вот такая конструкция получается:
28 0126460 FLAG =126460
29
30 37777777777 SE$DEF =-1 ;DEFAULT SCREEN EFFECT
31 0000004 PN$DEF =4 ;DEFAULT PAGE
.
PS генерировалось в 64х-битной версии, если это имеет значение.
- ? Shestipalov
- 20.01.2021 12:58
Сергей, привет.
Я так понимаю — с эмуляцией Менестреля всё очень грустно? Или есть надежда?
- ? Шестипалов
- 02.01.2021 20:10
>В любом случае, проблема синхронизации связана исключительно с тем, что почти все ОС для БК хранят в памяти копии таблиц файловой системы. Так-то образ можно править на лету, без проблем.
.
В ОС для БК существует защита от ошибочной записи на подменённый диск. Т.е., отслеживается ситуация, когда пользователь вставил диск в дисковод, прочитал каталог, заменил диск в дисководе и попытался записать каталог на новый диск. При записи ОС проверяет, записывается ли каталог на тот диск, откуда он был считан. Так что пляска с бубном с правкой образа в памяти эмулятора не нужна. Для ОС на БК это будет выглядеть, как будто пользователь вынул диск из дисковода и вставил другой.
- ? Shestipalov
- 04.12.2020 22:47
https://yadi.sk/d/CtaG5M0XrGEiiQ
.
1-3-5golosa_2000.wav — в трёх счетчиках правого канала звучит CDEFGAB 5-й октавы
1gol_2000_3gol_3000_5gol_4000.wav — в трёх счетчиках правого канала звучат CDEFGAB 5-й, 6-й и 7-й октав соответственно
1golos_2000.wav — в первом счетчике правого канала CDEFGAB 5-й октавы
.
двухголосые мелодии обещали сделать завтра :-)
.
в img также есть нотный файл Синти, который это играет.
- ? Shestipalov
- 04.12.2020 08:21
Сергей, скажи, какие файлы лучше сделать? Допустим,
1 файл: последовательность нот CDEFGAB пускаем только в счётчик 1 (одноголосая мелодия)
2 файл: последовательность нот CDEFGAB в счётчики 1,3,5 (трёхголосая мелодия, только правый канал)
3 файл: последовательность нот CDEFGAB в счётчики 1,2 (двухголосая мелодия, стерео)
.
Норм будет?
- ? Shestipalov
- 03.12.2020 17:14
А стоп. Наврал. Похоже, в присланном файле Синти воспроизводил одни и те же ноты во всех голосах всех каналов, так как на запрос «1-й голос с адреса ...», «2-й голос с адреса ...» указывался один и тот же адрес. Т.е. да, все счётчики всех каналов звучали.
.
Дело в том, что у меня нет реального Менестреля, я набираю нотный текст в эмуляторе. В руководстве сказано, что при воспроизведении можно отключить один канал или больше каналов, но, если я так сделаю — воспроизведение отключается полностью. Скорее всего этого глюк эмуляции. Поэтому приходится пускать одну и ту же мелодию во все каналы.
- ? Shestipalov
- 03.12.2020 16:23
Мне пояснили насчёт каналов и счётчиков. Получается, в присланном файле звучит один счётчик в одном, левом канале.
- ? Shestipalov
- 03.12.2020 16:07
>на этом аудиофайле звучат все счётчики всех каналов одновременно или по одному на каждом?
.
В терминологии Sinty там один звучит один голос, первый. «Все счётчики всех каналов» — не очень понятно, что такое. Я думал, что один канал и счетчик — это один голос. Видимо, я ошибался.
.
>Нужна двух и трёхголосная мелодия, чтоб было к чему стремиться.
.
В ближайшее время постараюсь сделать.
- ? Shestipalov
- 03.12.2020 11:10
Печально. Остаётся надеяться, что идеи для исправления появятся :-)
- ? Шестипалов
- 28.11.2020 18:47
>Можно даже какую-нибудь мелодию, набранную в редакторе Синти.
.
https://yadi.sk/d/T_gJluVGLaToRQ Ссылка на архив, там аудиофайл воспроизведения всех нот из октав 0-11 на реальном метестреле, плюс образ диска с нотным файлом для Синти, который это дело играет, для сравнения на эмуляторе.
- ? Shestipalov
- 20.11.2020 15:41
«Это был тест на умение читать документацию» © )))
- ? Shestipalov
- 20.11.2020 13:21
Добрый день. Нашёл опечатку в документации по эмулятору. в таблицах с картой памяти указано, что монитор занимает адреса 100000-177777 https://pastenow.ru/b4c908553d9e95a0bcc226a7ac037e1f
.
Если не ошибаюсь, верхняя граница должна быть 117777.
- ? Shestipalov
- 09.11.2020 15:27
Нет, Менестрель подключается к УП. К Менестрелю прилагается микросхема ПЗУ, которая может быть установлена в отсеке пользователя. Там записан простейший музыкальный редактор Sinty (дамп есть на образе диска Altpro_Reload.img).
- ? Shestipalov
- 09.11.2020 13:49
[Есть ли возможность, не известно, потому что нет в публичном доступе ни схемы её, ни технического описания, ни вообще никакой документации, даже руководства пользователя нету.]
.
Схема есть, руководство пользователя есть: https://dropmefiles.com/vBCuT
- ? Шестипалов
- 09.11.2020 11:13
Добрый день, gid.
.
Для БК0010-10 существует музыкальная приставка Менестрель. Хотелось бы, чтобы она присутствовала в твоём эмуляторе. Есть ли возможность её эмулировать, и что для этого надо? В телеграм-канале https://t.me/bk0010_11m по приставке кое-какая информация есть.
- ? Шестипалов
- 19.07.2020 14:41
Сергей, привет. Хотелось бы в эмуляторе иметь возможность в чёрно-белом режиме выбирать оттенок — белый, зелёный, янтарный, синий, как на тогдашних мониторах. Ну или вообще оттенок через параметры RGB задавать.
- ? Shestipalov
- 27.05.2020 10:54
Было бы невредно тогда заблокировать соответствующие пункты в меню для конфигураций, у которых эмуляция записи-чтения на ленту не реализована. А то путаница получается, нехорошо.
- ? Shestipalov
- 27.05.2020 08:46
Добрый день. Похоже, в эмуляторе сломана эмуляци чтения с ленты для конфигурации «БК0011М + МСТД». Для этой конфигурации даже если опция «эмулировать загрузку с ленты» включена, эмулятор всё равно ждет, когда юзер загрузит файл. Конфигурация «БК0010-01» работает нормально, другие не проверял.
?