Эмулятор БК-0010-01, БК-0011
и БК-0011М
ПРОГРАММНОЕ
ОБЕСПЕЧЕНИЕ
ДВК   УК-НЦ   БК0010/11М
archive.pdp-11.org.ru

На этой странице будут размещаться разного рода исходники, которых накопилось уже некоторое количество.

В большинстве своём, это результаты дизассемблирования разных программ, работу которых было нужно изучить для разных целей и просто из любопытства. Но так же, есть авторские исходники, как мои, так и других людей. Просто чтобы было.

Собирать их рекомендуется с помощью кросс ассемблера BKTurbo8. Кстати, в комплект входит некоторое количество исходников для примера, как пользоваться кросс ассемблером и как собрать достаточно сложные программы:

 

326v12
Дизассемблированные исходники прошивки 326v12 (иногда называемой 327v12), всё отличие от оригинала - добавлен простенький отладчик, и возможность выбора номера привода больше, чем 3, но это всё равно ни на что не влияет.
253
Заодно и дизассемблированные исходники прошивки 253 драйвера дисковода, для сравнения с нормальной прошивкой 326.
326
Подарок от Wesha: Авторский текст статьи "Описание прошивки ПЗУ КНГМД КР1801РЕ2-326", опубликванной в журнале ПК БК №5 за 1994 г.
019
Подарок от Wesha: Дизассемблированный исходник ПЗУ МСТД КР1801РЕ2-019
monitor
И ещё подарок от Wesha: Дизассемблированный исходник ПЗУ Монитора БК10 КР1801РЕ2-017. Дизассемблирование было проделано Борисом Ф. Фролкиным в 1990 г. И ещё одно - в архиве приложено официальное ТО на программу монитора БК, откопанное на одном из образов дискет. Но т.к. у него не было титульного листа, непонятно, насколько это окончательный вариант документа. Вообще то оно должно бы быть вместе с официальными исходниками монитора от М.И.Дябина, но почему-то нет.
bk11 memory test v1.04
Тест памяти реплики БК-11М, написан по просьбе Volanda. Впоследствии был модифицирован для теста памяти и обычных БК-0011М и БК-0011 без М, в двух вариантах:
  • BK11MT - для работы требуется контроллер СМК
  • BK11MTR - не требуется, работает прямо в ОЗУ БК11(М).
А так же образ дискеты с уже откомпилированными тестами. Там же, в образе есть ещё тест правильности работы AY-3-8910. Правильность проверяется на слух, в сравнении с заведомо правильно работающим эталоном (я им тестировал правильность работы эмулятора AY-3-8910). Тестируются все функции и режимы работы кроме работы в режиме 4-х разрядного ЦАП.
Так же есть всякие устаревшие неинтересные мелочи.
BK11PgTst.zip
Тест переключения страниц памяти на БК-11(М), тоже писался для реплики, но пригоден для любых БК-0011М и БК-0011 без М.
PSP_ARIF
Разные наборы подпрограмм арифметических функций, в виде исходников для микроассемблеров БК-0010, а так же, некоторые для MACRO-11. Состав:
  • ARIFM.ASM - Эмулятор EIS/FIS, блок расширенной арифметики из комплекта TURBO8
  • ARIFMP.ASM - Эмулятор EIS из ПЗУ АльтПро А16М, блок расширенной арифметики
  • arifm326.asm - Эмулятор EIS/FIS из ПЗУ РЕ-326. Дизассемблированный.
  • EM.mac - Драйвер эмулятора EIS/FIS для RT-11 ДВК. Исходник на MACRO-11, откуда взят код эмулятора для ПЗУ РЕ-326.
  • emulat - буржуйский набор исходников на MACRO-11 драйверов эмуляции EIS, FIS, FPU инструкций для RT-11. Автор: DR P.C.WAGGETT
  • arifm326_my.asm - Эмулятор EIS/FIS из ПЗУ РЕ-326, с исправленными ошибками, чтобы проходил сдаточные тесты 791402, 791403. Сделан на основе дизассемблированного исходника из ПЗУ РЕ-326
  • FIXOP.ASM - Пакет арифметических операций над числами с фиксированной точкой,
    ещё там графические процедуры есть. Автор: gid.
  • PSP.ASM - Пакет стандартных подпрограмм. Арифметических. Полезная штука.
  • PSP.TXT - А это его описание.
ГОВОРУН
Дизассемблированный исходник программы Ю.А.Зальцмана ГОВОРУН. В архиве есть документация и немного оптимизированный вариант с похабным текстом, взятым из одной из модификаций программы неизвестным пользователем (для разнообразия).
SPEECH
Дизассемблированный исходник синтезатора речи Горбунова Д.В. из Новосибирского Объединения Программистов (NPC). В архиве как оригинал, так и оптимизированный вариант.
gc_gen.zip
Дизассемблированный исходник программы Noise Generator для AY-3-8910. Генератор спецэффектов для сопроцессора, написанный талантливым человеком Николаем Головиным, который умудрялся легко и быстро написать программу для БК, даже довольно серьёзной сложности, но который не планировал становиться программистом. Программа была написана по просьбе кого-то для какой-то игрушки, но чем дело закончилось, я так и не узнал. Дизассемблировано просто из любопытства, для ознакомления со стилем программирования этого человека.
Tracer v2.5
Дизассемблированный исходник отладчика Tracer v2.5 by LORD & DRON corp.
samara_hdd_src.zip
Набор исходников программ и утилит для самарского контроллера HDD. Там много всего, конкретное описание смотрите внутри, вкратце: исходники прошивки ПЗУ и исходники программы обслуживания жёсткого диска SRV.
SMK64_v2.05_ROM-SRC
Дизассемблированные исходники прошивки контроллера АльтПро СМК-64 v2.05
altpro_service_src.zip
Исходники сервисных утилит для контроллера АльтПро СМК для работы с жёстким диском:
  • mbr2s - дизассемблированный исходник утилиты для добавления раздела в конец и удаления последнего раздела. Авторы: Reiter software corporation
  • service - авторские исходники программы Service v0.01, автор: Альтек
  • service2 - дизассемблированный исходник программы Service v2.09, автор: Альтек. Программа для обслуживания и диагностики жёсткого диска.
  • setmbr - дизассемблированный исходник программы для установки/удаления резидентных модулей в MBR жёсткого диска в формате АльтПро.
RT-11.USR
Дизассемблированный исходник USR модуля для МК-ДОС. Зачем и кому было нужно, не помню, может даже мне и нужно было.
dx_dos.zip
Дизассемблированные исходники ОС DX-DOS для БК0010/БК0011(М). Весьма перспективная штука, если её допилить до уровня работы с HDD и ОЗУ БК11М или СМК-512.
MKDOS_source317.zip
Авторские исходники ОС MKDOS для БК-0010, БК-0011(М). Не знаю в какой степени готовности и насколько рабочие. Как-то не доходили руки до них, да и не интересно было.
andos310_src.zip
Дизассемблированные исходники ОС АНДОС v3.10. Было очень сложно дизассемблировать оболочку Disk Master, интересующиеся могут сами посмотреть, как извращались люди, пытаясь впихнуть как можно больше функционала в крохотный объём памяти БК. По этой же причине (сложность) застопорилось дизассемблирование АНДОС v3.30, там в два раза больше такого извратного кода.
PT3.7z
Заброшенный проект плееров AY модулей разных спектрумовских форматов на БК. В архиве исходники модулей воспроизведения ASC (скорее всего рабочий), PT2, PT3, SQT (не рабочий), STP, STC разной степени готовности и глючности и два образа дискет, с вариантами, на которых проводилась проверка результатов работы. В образах скорее всего устаревшие варианты исходников. Так же с разрешения автора, добавлен ещё модуль воспроизведения PT3 от Владимира Кутякова.
xformat_src.zip
Исходники утилиты для форматирования дискет. Автор: gid.
Я писал эту прогу в основном для наработки элементов пользовательского интерфейса. Как сильно позже оказалось, программа серьёзно глючит при создании системных дисков для АНДОС 3.30, потому что в то время у меня не было этой версии и пользовался я только АНДОС 3.10
defrag_src.zip
Исходники утилиты для дефрагментации дискет. Автор: gid.
Написана на основе дизассемблированной утилиты COMPRESS3, потому что моя БКшка время от времени зависала при дисковых операциях, и мне надоело терять данные при дефрагментации. Ну заодно и стало можно применить на практике библиотеку элементов пользовательского интерфейса TXKERNEL, которая получилась в процессе написания утилиты для форматирования дискет. Как позже выяснилось, программа портила системные диски АНДОС 3.30, т.е. переносила файл ANDOS.SYS куда не надо, из-за чего с диска нельзя было загрузиться. Причина та же - у меня тогда не было АНДОС 3.30, и мне не приходило в голову, что файл ANDOS.SYS может быть где-то в директории. Исправлено в данной версии.
dessbk_src.zip

Дизассемблированные исходники утилиты DESS для БК, автор: Михаил Королёв. В архиве оригинальная версия 2.9$, некоторые подгружаемые модули, и модифицированная мной версия, в которую добавлено представление информации в 16-ричной системе, RADIX-50 и в виде двух байтов, а так же ассемблер дизассемблер EIS/FIS инструкций, хотелось большего, но энтузиазм иссяк. Может, когда-нибудь позже.

Плюс исправления от Shestipalov:

  1. Исправлен экран помощи. На первом экране было слишком много строк, поэтому происходил скролл на 1 строку, после чего экран DESSa отрисовывался с ошибками — например, сдвиг мнемоники текущей команды вверх.
  2. Перенёс блок параметров драйвера дисковода для не-Андос систем на с адреса 400 на адрес 500. Теперь в DESSe работает командная строка в МКДОС и ключи в АНДОС. Раньше блок параметров затирал ключи. Это переменная DRVTAB
  3. Сделал вид дополнительной информации сразу после запуска в виде двух восьмеричных байтов вместо десятичного значения. ИМХО байты полезнее :-) Это переменные INFFLG и INF

Первый пункт - это мой косяк. Себя в соавторы добавил, а результат не проверил.

Help7s.zip
Дизассемблированный исходник копировщика HELP7. Не оригинал. Это мой вариант, написанный для себя, но алгоритмы драйвера, естественно, оригинальные. Более подробнее можно почитать в файле readme.txt внутри архива.
TM177_src.zip
Дизассемблированный исходник программы TM177 (Term95 x0.07(c) ED inc. 08-Jun-95).
Paradise11D_src.zip
Дизассемблированные исходники отладчика Paradise v1.1D (C) GASP Inc. (Клименков С.В.). С линковщиком модулей и самими модулями. Собрать их можно только новой версией кросс ассемблера BKTurbo8 с поддержкой скриптов. Изучайте, внутри - интересно, человек старался и писал качественный код.
valley_src.zip
Дизассемблированные исходники игры King's Valley (c) Шишкина. Внутри - оригинальный дизассемблированный исходник, в котором некоторые комментарии ошибочны; мой оптимизированный исходник, в котором гораздо больше комментариев, и они более точны; и немного доп. материалов, которые образовались в процессе разбора программы. Собрать их можно только новой версией кросс ассемблера BKTurbo8.
Bortnik_src.7z
Дизассемблированные исходники серии игр Бориса Бортника. Описание внутри. Вкратце - дизассемблированы варианты с магнитофонной защитой, с целью изучения этой защиты, ну заодно и сами игры теперь доступны для изучения и модификации. Собрать их можно только новой версией кросс ассемблера BKTurbo8.
fstream.zip
Когда-то понадобилось, и я написал набор функций для потокового чтения/записи файла с произвольным доступом для ANDOS. Там исходник отдельно, и исходник в составе реальной проги, как пример использования. Главный недостаток - почти нет комментариев, из-за чего мне теперь даже самому непонятно, что там сделано и как работает. Потому что писалось это на самой БКшке, и у меня были проблемы со свободными дискетами. Компилировалось на ней же, а там было ещё и с ОЗУ не очень, поэтому, чем меньше комментариев, тем больше полезного кода можно было поместить в исходник.