На этой странице будут размещаться разного рода исходники, которых накопилось уже некоторое количество.
В большинстве своём, это результаты дизассемблирования разных программ, работу которых было нужно изучить для разных целей и просто из любопытства. Но так же, есть авторские исходники, как мои, так и других людей. Просто чтобы было.
Собирать их рекомендуется с помощью кросс ассемблера BKTurbo8. Кстати, в комплект входит некоторое количество исходников для примера, как пользоваться кросс ассемблером и как собрать достаточно сложные программы:
- Miner - исходники игры Сапер для БК0010, авторства VINXRU из его кросс ассемблера pdp11asm, несколько форков которого есть на гитхабе, а оригинал оттуда удалён. Взято для примера того, как почти без переделок можно собрать почти любой исходник в моём кросс ассемблере.
- Tetris - ну как же без него, каждый начинающий программист пишет свой вариант тетриса. Пример компиляции очень простой программы.
- Xonix - вариант игры, который я пооптимизировал и добавил звук на AY-3-8910 на основе дизассемблированного одного из вариантов игры. Пример компиляции программы посложнее, из двух исходных файлов и объектных модулей.
- Race Play - дизассемблированная и оптимизированная игра Race Play. Пример ещё более сложный, как собрать игру, состоящую из нескольких файлов.
- Rock Monitor 3 - дизассемблированный и оптимизированный музыкальный редактор для AY-3-8910. Поскольку я имел дело с вариантом приспособленным под ANDOS/MKDOS, где часть функционала от CSIDOS была выпилена, то и тут её нет. Самый сложный пример сборки оверлейной программы, которая специально построена для работы на БК-11 с её страничной архитектурой.
- 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(М).
Так же есть всякие устаревшие неинтересные мелочи. - 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 строку, после чего экран DESSa отрисовывался с ошибками — например, сдвиг мнемоники текущей команды вверх.
- Перенёс блок параметров драйвера дисковода для не-Андос систем на с адреса 400 на адрес 500. Теперь в DESSe работает командная строка в МКДОС и ключи в АНДОС. Раньше блок параметров затирал ключи. Это переменная DRVTAB
- Сделал вид дополнительной информации сразу после запуска в виде двух восьмеричных байтов вместо десятичного значения. ИМХО байты полезнее :-) Это переменные 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. Там исходник отдельно, и исходник в составе реальной проги, как пример использования. Главный недостаток - почти нет комментариев, из-за чего мне теперь даже самому непонятно, что там сделано и как работает. Потому что писалось это на самой БКшке, и у меня были проблемы со свободными дискетами. Компилировалось на ней же, а там было ещё и с ОЗУ не очень, поэтому, чем меньше комментариев, тем больше полезного кода можно было поместить в исходник.