Просмотр полной версии : БК001Х на FPGA
У меня дома никогда не было никакой реальной БК-шки,
только ZX спектрум. А на работе начинал с ДВК-1.
Тут на форуме понравился проект "PDP-11 на FPGA" от Hunta.
Загорелся сделать что-то подобное, так как есть платы
с FPGA. Решил начать с самого простого - БК0010.
Так как проекты, которые нашел в интернете, у меня не заработали,
решил сделать свой. Взял за основу PDP2011,
а точнее его процессор. Прикрутил свои VGA и PS/2
контроллеры и внутреннюю память.
Сначала проект хоть и задышал, но не заработал.
Прогнал тесты на команды, которые тоже нашел в интернете.
В процессоре нашел несколько ошибок с байтовыми командами.
После того как поправил, заработали Фокал, Бейсик, тесты,
и даже вошел в Пролог. Захотел загрузить игры с магнитофона.
Но, к сожалению, они не грузятся, а тест магнитофона
выдает ошибку. Записал выходной тестовый сигнал на комп.
Установил частоту процессора так, чтобы периоды сигналов
0 и 1 были 400 и 800 мкС соответственно. Она оказалась
примерно 390 кГц. Т.е. как я понял, процессор выполняет
команды очень быстро.
Сейчас у меня сигнал со звуковой карты компа приходит
на встроенное АЦП в FPGA с тактовой частотой 2 МГц.
Может оно портит сигнал. Хочу сделать шилд с компаратором.
Как сделаю - проверю. Хочу поиграть в LAND, в который
играл в молодости на ДВК. Сейчас при загрузке выдается
одна буква L, а дальше висит.
Если кому интересно - могу выложить проект сдесь.
Но он еще очень сырой. Не до конца доделан контроллер
PS/2. В VGA контроллере еще не сделал поддержку цвета,
хотя 512х256 и 256х256 режимы вместе со скроллингом уже работают.
69292
69293
69294
69295
69296
После того как поправил, заработали Фокал, Бейсик, тесты,
и даже вошел в Пролог
Поздравляю!
PDP-11 на FPGA" от Hunta
Ну, это не совсем мой проект - это скорей - изучение FPGA-VHDL на примере проекта PDP-2011 и мои бодания с ним в попытке переделать под своё видение :)
Т.е. как я понял, процессор выполняет
команды очень быстро.
Ну если он тактируется 50-ю МГц - конечно, он будет ОЧЕНЬ быстрым :)
Если кому интересно - могу выложить проект сдесь.
Удачи с доведением проекта до полной работоспособности :)
Ynicky, есть рабочий проект (https://zx-pk.ru/threads/13034-bk0010-fpga-v-de1.html) svosfki, там можно что-нибудь подсмотреть.
Загорелся сделать что-то подобное, так как есть платы
с FPGA. Решил начать с самого простого - БК0010. Какие платы и какой FPGA?
Какие платы и какой FPGA?
69297
Сейчас проект в "Марсоходе3".
Для других плат делаю шилд, чтобы подключить клавиатуру и монитор.
Если кому интересно - могу выложить проект сдесь.
Если будут заинтересованные или нужны будут советы - конечно, выкладывайте. Хотя по хорошем стоило бы создать репозиторий где-нибудь типа github-а
Если же интересно самому добить проект - лучше уже конечный результат :)
Если будут заинтересованные или нужны будут советы - конечно, выкладывайте.
Советы, конечно, нужны, т.к. у меня не было реальной БК.
Да и информацию приходится искать по крохам, а это долго.
Вот, например, текущий вопрос, на который я никак не могу
найти ответ:
Какие коды должен посылать контроллер клавиатуры для команд
"ГРАФ", "ЗАП", "СТИР" по нажатию клавиш СУ/АР2/U, СУ/АР2/V,
СУ/АР2/W ? Имеется в виду 7 разрядный код и вектор прерывания.
Проект 20190613:
https://cloud.mail.ru/public/hqxv/4Wp4jqEkJ
Там есть небольшое различие.
при нажатии комбинаций клавиш СУ/АР2/U, СУ/АР2/V, СУ/АР2/W генерируются 7 разрядные сканкоды 025, 026, 027 соответственно. (Клавиша СУ модифицирует коды буквенных клавиш @(0100)..Z(0132) -> 0..032, ну и заодно остальных символов 0133..0137 -> 033..037. Клавиша АР2 генерирует прерывание по вектору 0274).
Но эти коды в драйвере клавиатуры преобразуются в коды 0225, 0226, 0227 соответственно, и выдаются пользователю. И ими же включаются/выключаются эти режимы в обработчике EMT 16.
Все числа в сообщении - восьмеричные.
- - - Добавлено - - -
Хотя. В документации написано, что режимы ГРАФ, ЗАП, СТИР включаются комбинациями клавиш АР2/Шифт/5, АР2/Шифт/6, АР2/Шифт/7.
В документации написано, что режимы ГРАФ, ЗАП, СТИР включаются комбинациями клавиш АР2/Шифт/5, АР2/Шифт/6, АР2/Шифт/7.
Эти комбинации тоже видел, но в другой литературе.
А я взял их из руководства по эксплуатации.
Спасибо, попробую.
Вопрос для программеров - вот например если бы изначально БК11М была бы на порядок ( 10 раз ) более быстрая - с точки зрения написания софта это повысило бы привлекательность М-ЭВМ ?
вот например если бы изначально БК11М была бы
У всей серии БК две основные проблемы. Первая - быстродействия (существенная), вторая - не стандартная архитектура. На примере Э85 можно понять, что со вторым можно бороться более или менее успешно - в зависимости от уровня нестандартности.
LeoN65816
14.06.2019, 06:18
с точки зрения написания софта это повысило бы привлекательность М-ЭВМ ?
Разумеется! Тем более, в 10 (!!!) раз - это более, чем на 3 (канонических) программерских порядка (10 > 2^3)! ;) Это гипертурбо, это была бы "вааще" ракета. :v2_dizzy_dance:
Клавиша АР2 генерирует прерывание по вектору 0274Наверное, не отдельно нажатая клавиша АР2 генерирует прерывание, а только в сочетании с алфавитно цифровой?
- - - Добавлено - - -
Вопрос для программеров - вот например если бы изначально БК11М была бы на порядок ( 10 раз ) более быстрая - с точки зрения написания софта это повысило бы привлекательность М-ЭВМ ?В играх стало было бы возможным строить кадр за один проход луча, причём с масками на спрайтах – это сразу другой уровень качества: ничего не мерцало бы, движения стали бы более плавными, не дёргался бы горизонтальный скроллинг. Можно было бы сделать Super Mario на полной скорости. Конечно, такой компьютер привлекательней для программистов.
Наверное
Наверное. Я имел в виду, что АР2 - это клавиша модификатор, так же как и СУ и Шифт (короткая, но жирная стрелка вниз, или аббревиатура НР, для любителей точности и перфекционистов). АР2 модифицирует вектор прерывания с 060 на 0274 для любой клавиши, генерирующей код при её нажатии.
вот например если бы изначально БК11М была бы на порядок ( 10 раз ) более быстрая - с точки зрения написания софта это повысило бы привлекательность М-ЭВМ ?
Поначалу - да, игры бы были более привлекательны графически. Но потом всё опять бы упёрлось в недостаток архитектуры - дурацкое распределение памяти и дурацкое же управление ей.
Ситуацию мог бы улучшить ВМ3 с его MMU, но тоже не сильно. СМК-512 - некая альтернатива MMU, тому пример.
недостаток архитектуры - дурацкое распределение памяти и дурацкое же управление ей.А в чём дурацкость?
CodeMaster
14.06.2019, 22:31
А в чём дурацкость?
Видеопамять посредине - Unix like ОС не запустить.
Видеопамять посрединеС этим согласен.
сколько там той видеопамяти
зато можно так - гипервизор- видеопамять- кучу всяких ос
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot