- Исходники ПЗУ БК-0010 & БК-0011
- [+] Старые сообщения (57)
-
? BD - 03.04.2019 14:49
На 11М по команде L SP=44472 (EMT115). Хоть с 44000 адрес старта размножай. Но! Не забывай, что ошибки обрабатывать придется тебе, т.к. возврат будет некорректным. Не смотри на бит C, смотри в байте @#52.
-
? Manwe - 03.04.2019 17:01
Спасибо, про ошибки полезное соображение, сам бы не догадался.
А на БК0011 (без М) где стек?
-
? BD - 03.04.2019 18:36
L
FILE NAME? B:
_
SP=44446
-
? Manwe - 04.04.2019 17:26
[На 11М по команде L SP=44472 (EMT115)]
Сделал файл с адреса 44440, в нём первые 16 слов забиты числом 44500 - автозапуск. И вот что удивительно: по команде L видно как этот файл грузится в экранную память. Значит, с 40000 подключена активная страница экрана. Разве может стек указывать на экран? Вижу два варианта, либо он всё-таки указывает не на 44472, либо при прерывании (клавиша СТОП) подключается другая страница, а адрес возврата сохраняется в... экран (очень странно!). Вообще непонятно что происходит.
-
? BD - 04.04.2019 20:31
Так перед загрузкой надо подключать нужные страницы из клавиатурного монитора.
БОС сама разберется.
¤
N;MC -отобразить страницу номер “N” с адреса, задаваемого аргументом “M”. Страницы с восьмеричными номерами 10, 11, 12, 13 относятся к страницам ПЗУ 0, 1, 2, и 3 соответственно. Значение “M”, равное нулю, означает адреса 40000-100000, равное “1” - адреса 100000-140000.
-
? gid - 04.04.2019 20:55
А экран в БОС 11/11М всегда фоновый. Он подключается тогда, когда надо что-то вывести на экран и сразу отключается обратно.(Поэтому там всё медленно работает, особенно на БК11 без М, там БОС - какой-то кошмар, как будто написанный на фортране или си, на ассемблере нормальные люди такие конструкции, как в коде БОС применены, не используют) Ещё, экран для вывода текста преимущественно подключается в окно1, т.е. по адресам 100000-137777, а в окно 0 подключается стр 7, где как раз хранится всякая рабочая инфа, стек, текущий шрифт и т.п. Но это не всегда, когда очень-очень надо и по-другому никак, экран и в окно 0 подключается, это когда задействуется вторая ПЗУ БОС.
В общем БОС БК11М штука сложная, я в ней так и не разобрался. Дизассеблировал-дизассеблировал да не выдизассеблировал.
-
? Manwe - 04.04.2019 21:46
[В общем БОС БК11М штука сложная]
А есть какая-то возможность в эмуляторе запустить БК-0011М в режиме без дисковода и без МСТД? С Бейсиком или без - не важно. Чтобы можно было выйти в Монитор и трассировать его функции. Типа, гружу свою программу командой L (с диска), программа запускает EMT 115 на запись (на магнитофон), я ставлю эмулятор на паузу и спокойно трассирую.
-
? gid - 04.04.2019 22:07
А чем мстд не угодил? он вообще никак ни на что не влияет, если его не запускать.
По сути это и есть голая конфигурация БК11М без дисковода. вы просто не делайте 160000G и считайте, что там ничего нет.
-
? gid - 04.04.2019 22:13
А чтобы спокойно трассировать, лучше поставить точку останова на адресе 154614, это точка входа в п/п выполнения емт 115 и после того, как выполнится емт 115, трассировать дальше с комфортом.
-
? Manwe - 04.04.2019 23:24
[А чем мстд не угодил?]
Не работает в нём как ожидается. Не могу загрузить файл из Монитора.
"Эмулировать загрузку ленты" включено (+)
"Эмулировать сохранение на ленту" выключено (-)
В конфигурации "БК0010-01" всё понятно: M, ИМЯ? Нажимаю Enter и попадаю в файловый диалог Windows.
В конфигурации "БК0011М+МСТД" L, Имя файла, Нажимаю Enter и... Ничего не происходит.
-
? gid - 05.04.2019 07:53
Естественно не происходит. "Эмулировать загрузку ленты" работает ТОЛЬКО и исключительно ТОЛЬКО для БК10. Для БК11 это не реализовано. Потому что слишком много вариантов. Слишком много писанины кода, а нужность этого дела не определена.
Для БК11 нужно загружать wav файлы. Аутентичненько.
Нужно делать так:
"Эмулировать загрузку ленты" выключить (это чтобы стало доступным загрузка wav)
Убедиться что звук спикера включен
В конфигурации "БК0011М+МСТД" L, Имя файла, Нажимаю Enter и... Ткнуть мышкой в иконку кассеты, выбрать нужный wav файл и загружать его.
-
? Manwe - 05.04.2019 08:46
[Потому что слишком много вариантов]
А какие там варианты?
-
? Manwe - 05.04.2019 08:49
[Так перед загрузкой надо подключать нужные страницы из клавиатурного монитора]
BD, и тогда получится загрузить в системную страницу поверх стека? Сдаётся мне, что даже если получится, то такой автозапуск не имеет смысла. Потому что усилия по ручному переключению страниц больше, нежели простое нажатие буквы G после загрузки.
-
? gid - 05.04.2019 09:21
[А какие там варианты?]
Для БК11 свой, для БК11М два своих. Там надо полностью повторить на с++ алгоритм загрузки из ПЗУ с помещением когда надо данных в стек и извлечением, когда надо, и т.п., чтобы точно как надо работало.
-
? Manwe - 05.04.2019 10:48
Понял. Тогда логично было бы в конфигурации БК0011(М) красить серым пункт меню "Эмулировать загрузку ленты", поскольку он всё равно недоступен и ни на что не влияет. А то правда непонятно что происходит и почему.
-
? BD - 05.04.2019 11:25
Все изобретают велосипед, пока СМК не обзаведутся ))
https://www.youtube.com/watch?v=3kxdGlHPnUE
P.S. Выставил за бесценок коробочку https://zx-pk.com/forum/viewtopic.php?f=7&t=12934
-
? Manwe - 05.04.2019 14:43
СМК – это хорошо, но у меня цель несколько другая. Запаковал Монитор bkpack’ом, а теперь хочу ещё перевести в формат HELP12, чтобы он вдвое быстрей грузился. Затем прикручу поддержку HELP12 к монитору. Найти бы ещё последнюю версию 12.22
-
? BD - 05.04.2019 14:55
Проще записать на 2400 или 4800 бод и читать штатными emt115/emt36.
-
? Manwe - 05.04.2019 15:29
Это я тоже попробую.
-
? BD - 05.04.2019 15:49
..Не из эмулятора, на живой БК. CF50 тебе в помощь ))
-
? Manwe - 05.04.2019 18:34
Ответил в теме "Вопрос по ЕМТ 36" так как она больше соответствует
- << Форум