Начальная

Windows Commander

Far
WinNavigator
Frigate
Norton Commander
WinNC
Dos Navigator
Servant Salamander
Turbo Browser

Winamp, Skins, Plugins
Необходимые Утилиты
Текстовые редакторы
Юмор

File managers and best utilites

Страница ностальгии по БК-0010. Бк 0010 01 эмулятор


BkEmu — эмулятор БК-0010 для платформы Android / Песочница / Хабр

Добрый день всем хаброчитателям! Наверняка среди вас найдется немало тех, для кого «БК-0010» является не бессмысленным набором букв и цифр, а названием компьютера, открывшего дверь в мир персональных компьютеров и ставшего культовым для миллионов простых граждан СССР. Первый по-настоящему персональный компьютер «Электроника БК-0010», производство которого началось с середины 80-х годов прошлого века, для многих программистов (в том числе и для меня) стал первым инструментом, с освоения которого они начали свой путь в профессию.

Собственно о самом компьютере на Хабре уже писали, так что перейду к главному — теперь эмулятор семейства PDP-11-совместимых советских 16-разрядных домашних компьютеров «Электроника БК 0010» доступен и для платформы Android. Эмулятор назван мной незатейливо — BkEmu, скачать его можно непосредственно с Google Play, также доступны исходные тексты на GitHub.

Подробности — под катом.

Сначала немного скриншотов эмулятора:

На данный момент поддерживается эмуляция БК-0010.01 в конфигурациях с подключенным блоком МСТД (Фокал + тесты) и без него (Бейсик Вильнюс). Эмулятор может загружать образы в формате КУВТ-86 (расширение .bin), при этом в большинстве случаев корректно отрабатывает автозапуск (при его наличии).

Из аппаратной части эмулируются:

  • Процессор К1801ВМ1 (основной набор команд, за исключением специфичных для HALT-режима)
  • Видеоконтроллер К1801ВП1-037 (цветной и ч/б режимы)
  • Контроллер клавиатуры К1801ВП1-014
  • Встроенный таймер К1801ВЕ1
  • Аудиовыход (PCM, бит 6 в регистре 0177716)
  • Стандартный двухкнопочный джойстик (управление посредством тачскрина: одинарный тап — левая кнопка джойстика, двойной тап — правая кнопка джойстика, скроллинг — отклонение рукоятки в указанном направлении).
В планах на будущее (в порядке убывания приоритета):
  • Поддержка эмуляции контроллера дисковода
  • Эмуляция БК-0011(М)
  • Увеличение скорости работы
С удовольствием выслушаю все замечания и отвечу на вопросы по эмулятору.

habr.com

Страница ностальгии по БК-0010

По традиции считается, что на этой странице размещена всякая информация о ещё не совсем покойном популярном советском и слегка постсоветском бытовом микрокомпьютере БК-0010, известном и за пределами хСССР. БК-0011, при всех своих преимуществах перед БК-0010, всё же не был так же широко распространён, и лично у меня его не было. (УКНЦ - вообще отдельная песня.)

Здесь лежат образы различных прошивок контроллеров FDD и FDD/HDD, как широко известные, так и не очень.

Копия рабочего каталога эмулятора БК-0010/11М для UNIX/Linux находится в стадии приведения в божеский вид. Помощь приветствуется. В версии от 2005.08.26 сделана первая попытка перенести звук под SDL. Качество звука несколько ухудшилось, но зато код компилируется и работает под CygWin. Работающим только под Линуксом пока предлагаю брать предыдущую версию.

Для компиляции нового эмулятора нужно установить не только библиотеки SDL, но и среду разработки (SDL-devel).

Целью является не полировка эмуляции игр (также см. некоторые образы дисков с демонстрационными программами и играми), а реализация стека TCP/IP и запуск HTTP-сервера:в идеале - на реальной машине, подключенной к компьютеру, доступному извне,

в идеале - по телеграфному каналу (это требует минимума работы с паяльником: RS-232 удовлетворяется сигналами с TTL-уровнями, а входные диоды телеграфного канала не портятся от сигналов от RS-232),чуть хуже - по параллельному порту (для переключения направления передачи данных потребуются некоторые логические элементы),ещё чуть хуже - с помощью блока ИРПС (который, строго говоря, не входит в комплект поставки БК-0010(-01), а только в комплект поставки БК-0010Ш), переделанного из токовой петли в RS-232 или ТТЛ-уровни; не столь интересно - на эмуляторе, с той же градацией предпочтительности способа "подключения".

Стоит, наверное, заметить, что, в отличие от остальных программ, позволяющих запускать программы для БК-0010, мой эмулятор не пользуется практически никакой информацией о системном мониторе - не перехватывает никакие адреса или EMT, а все команды процессора исполняются как положено (разве что при чтении с "магнитофона" запрошенный файл всегда оказывается первым), и поэтому является именно эмулятором, а не симулятором, как остальные.

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

Новости

2005, 25 июня:Эмулятор почти работает под Windows XP/Cygwin.

2004, 17 ноября:Реализован AY-3-8910.

2003, 24 октября:Исправлена ошибка, связанная с байтовым обращением к регистру страниц.

2003, 8 октября:Размер образа дискеты определяется динамически.

2003, 6 октября:Введена возможность задания некоторых параметров конфигурации в файле ~/.bkrc.

2003, 2 октября:Чересстрочная развёртка и переключение буферов и палитр на ходу в принципе работают, но точное соответствие интервала времени после таймера и номера отображающейся в этот момент телевизионной строки пока не найдено.

2003, 29 сентября: Первая реализация имитации чересстрочной развёртки.

2003, 28 сентября: Таймер и палитры появились, но быстрое переключение палитр пока не работает.

2003, 25 сентября: Выложена первая версия эмулятора с поддержкой рудиментарного режима БК-0011 (пока без таймера и без палитр)

2003, 14 сентября: Под давлением общественности и для ускорения работы эмулятора я принял решение поступиться этим принципом и начал реализацию поддержки работы с диском путём перехвата команд в дисковом биосе. Работа с магнитофоном тоже будет ускорена таким же способом.

Для продолжения работы над эмулятором, переносом TCP/IP, и просто так разыскиваются:

  • инструкция системному программисту для БК-0011(М) найдена, спасибо Вячеславу Диконову
  • описание формата сектора флоппи-диска на низком уровне и протокола работы с дисководом Отсканированная cтатья "Описание прошивки ПЗУ КНГМД КР1801РЕ2-326" прислана Вячеславом Диконовым
  • полное описание контактов разъёма параллельного порта и особенности управления прерыванием по вектору 100 (кто-нибудь что-нибудь подключал к порту по прерываниям?)
  • какой-нибудь интерпретатор FORTH с инструкцией
  • компилятор подмножества языка Си, работающий на БК-0010 (или 0011)
  • оригинальная программа ГОВОРУН от Зальцмана, потому что вот это безобразие, изготовленное из оригинала каким-то чудаком на другую букву, противно слушать Оригинальная программа здесь: GOVORUN.bin

Если у Вас есть что прислать мне, пожалуйста, напишите мне(не забыв удалить q и x). Спасибо.

На этой странице не будет описания системы команд БК-0010 (LSI-11), потому что оно доступно на многих других страницах. Здесь будут находиться описания специфических для БК-0010 или редкоиспользуемых деталей системы.

Одна из таких редкоиспользуемых деталей - команда MARK.

Другая - нетривиальное использование команды JSR в качестве сопрограммного перехода.

А вот одна специфическая для БК-0010 деталь системы (в данном случае не системы команд, а системы программирования): реализация датчиков случайных чисел в Фокале и вильнюсском бейсике. В Фокале достаточно написать программу, аналогичную бейсиковской

10 CLS 20 FOR I=0 TO 1000 30 PSET (RND(1)*512, RND(1)*240) 40 NEXT чтобы увидеть регулярные волнистые линии. В бейсике же эта программа ставит точки с виду совершенно хаотически. Но запустите такую программу: 10 CLS 20 FOR I%=0% TO 32766% 30 PSET (RND(1)*256%, RND(1)*240%), RND(1)*3%+1% 40 NEXT и насладитесь узором , возникающим из-за того, что выбранный алгоритм на самом деле - случайный процесс второго порядка (каждое число зависит только от двух предыдущих). Полезные ссылки:© Leonid A. Broukhis, 2003-2011

К страницам, посвященным БК-0010, было 12322 обращений.

www.mailcom.com

Эмулятор БК-0010-01 и БК0011(М) / Тесты контроллеров АльтПро

Тест v4.74F

Тест без своего знакогенератора решено всё таки не делать, так что следующая версия всего в одном варианте.

Замечание от 01.02.2014.Я тут случайно обнаружил, что тесты v4.74F и v4.72F в тестах режимов выдают чушь на реальном контроллере СМК-512, причём в эмуляторе всё работает как надо. Источник глюков устранён, но причина не выяснена. Архивы с тестам обновлены без изменения версий.

Скачать вариант со своим знакогенератором.

Изменения:

  • v4.73 - тест памяти на ошибки немного усложнён.
  • v4.74 - тест памяти на ошибки изменён. Добавлено длинное тестирование случайными числами, с целью проверки стабильности. Длительность длинного тестирования можно задать свою, а так же совсем отменить. Перед началом работы запрашивается количество циклов тестирования, надо вводить число в десятичной системе от 0 до 65535, можно и больше, но всё что не влазит в 16 разрядов - теряется и в результате получается совсем не то число, что вводилось.

 

Тест v4.72

Теперь тест будет создаваться в двух вариантах. Со своим знакогенератором, и с использованием знакогенераторов монитора БК10 или БК11.

Скачать вариант с обычным знакогенератором.

Скачать вариант со своим знакогенератором.

Изменения:

  • Добавлены тесты конструктивных особенностей: доступ к регистрам HDD, тест буфера ОЗУ для HDD, реакция на команду RESET, реакция на биты 2 (код 4) и 3 (код 10)
  • v4.71 - уточнение реакции на биты 2 и 3.
  • v4.72 - ещё одно уточнение реакции на биты 2 и 3.

 

Тест v4.61

Скачать. Дальнейшее развитие теста v4.3.

Следующая версия теста контроллеров АльтПро с ДОЗУ 64-512КБ. Описание логики работы теста памяти ДОЗУ и теста переключения страниц здесь.

В архиве исходник, скомпилированный файл в формате .bin и просто сам по себе, адрес запуска 01000.

Сделанные изменения по сравнению с тестом v4.3.

  • Тест режимов перенесён вперёд, перед тестом памяти.
  • Добавлен тест переключения страниц в проблемных режимах.
  • После тестов режимов добавлена пауза с надписью "нажмите любую клавишу", чтобы не пропустить результаты работы.
  • Добавлено определение версии прошивки 555РТ5.
  • v4.61 - Иногда, в нештатных случаях могли возникнуть ситуации, когда регистр 177130 на БК-0010 накладывался на ПЗУ бейсика и это приводило к неправильной работе теста. Теперь это исправлено, возникающее прерывание по вектору 4 при записи в 177130 теперь игнорируется.

 

Тест v4.51

Скачать. Дальнейшее развитие теста v4.41. Следующая версия теста контроллеров АльтПро с ДОЗУ 64-512КБ.

В архиве исходник, скомпилированный файл в формате .bin и просто сам по себе, адрес запуска 01000.

Функционально аналогичен тесту v4.6, но с небольшим отличием.

Т.к. имеется свой знакогенератор, то есть возможность отслеживать заполняемость экрана, и как только экран будет заполнен информацией, выводится надпись "нажмите любую клавишу" и программа ожидает нажатия любой клавиши, кроме СТОП и управляющих естественно.

Т.к. версии v4.4 и v4.5 долго оставались в нерабочем состоянии, а тест переключения страниц был нужен, то тест v4.6 делался на основе v4.3 и был выпущен раньше, чем был доработан тест v4.4 и на его основе сделан тест v4.5, работающий аналогично тесту v4.6. Хотя есть ещё одно отличие. В синхротесте ошибочное значение в тестах v4.4 и v4.5 отличается от значения в тестах v4.3 и v4.6. Почему - непонятно.

 

Тест v4.41

Скачать. Немного изменённая версия теста v4.3.

В архиве исходник, скомпилированный файл в формате .bin и просто сам по себе, адрес запуска 01000.

Изменения.

  • Тест режимов перенесён вперёд, перед тестом памяти.
  • Добавлен свой знакогенератор, чтобы не зависеть от мониторов БК10 и БК11.
  • Добавлено определение версии прошивки 555РТ5.
  • v4.41 - попытка исправить ошибки скроллинга.

Функционально и логически ничем не отличается от теста v4.3.

 

Тест v4.3

Скачать. Следующая версия теста контроллеров АльтПро с ДОЗУ 64-512КБ. Описание логики работы теста памяти ДОЗУ здесь.

В архиве исходник, скомпилированный файл в формате .bin и просто сам по себе, адрес запуска 01000.

Сделанные изменения.

  • Изменён тест определения количества памяти.
  • Добавлен тест проверки на битые ячейки памяти.

 

Тест v4.1

Скачать. Доработанный тест контроллеров АльтПро с ДОЗУ 64-512КБ. Описание логики работы теста памяти ДОЗУ здесь.

В архиве исходник, скомпилированный файл в формате .bin и просто сам по себе, адрес запуска 01000.

Особенности работы.

  • Тест памяти определяет только её количество, и корректность байтового доступа.
  • Тест режимов работает и на БК-0010(01), и на БК-0011М, вывод результатов теста режимов сделан более человекопонятным.
  • Определяется тип контроллера по признаку в слове 0167776.

 

Тест v3.7

Скачать. Оригинальный тест контроллеров АльтПро с ДОЗУ 64-256КБ.

В архиве исходник, скомпилированный файл в формате .bin и просто сам по себе, адрес запуска 04000.

Особенности работы.

  • Тест памяти определяет только её количество, и корректность байтового доступа.
  • Тест режимов работает только на БК-0010(01).

 

Образ дискеты, на которой есть все эти тесты вместе, и не только.

gid.pdp-11.ru


 

..:::Новинки:::..

Windows Commander 5.11 Свежая версия.

Новая версия
IrfanView 3.75 (рус)

Обновление текстового редактора TextEd, уже 1.75a

System mechanic 3.7f
Новая версия

Обновление плагинов для WC, смотрим :-)

Весь Winamp
Посетите новый сайт.

WinRaR 3.00
Релиз уже здесь

PowerDesk 4.0 free
Просто - напросто сильный upgrade проводника.

..:::Счетчики:::..