Важная информация

User Tag List

Страница 3 из 7 ПерваяПервая 1234567 ПоследняяПоследняя
Показано с 21 по 30 из 68

Тема: Пишу эмулятор БК0011М для FPGA MiST.

  1. #21
    Activist
    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    265
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    19 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Saar Посмотреть сообщение
    по БК0010: При записи в 177662 происходит прерывание по 4 вектору или нет?
    Обязательно происходит. RPLY подавать некому, поскольку в ВП1-014 регистр 177662 реализован только по чтению.
    Цитата Сообщение от Saar Посмотреть сообщение
    Если в страницах ПЗУ 12 и 13 что-то есть, то бэйсик не стартует.
    Правильно, потому что БОС БК11М опрашивает эти страницы, и если там что-то есть, т.е. отзывается по чтению, происходит вызов подпрограмм из этих страниц.
    Причём сперва делается TST @#120000 и если там что-то есть делается вызов CALL @#120000, если там ничего нет, делается TST @#100000 и если там что-то есть, делается CALL @#100000. Для чего такие сложности, разработчики ПО БК унесли с собой в могилу, это не отражено ни в одном публично доступном документе, но это рушит весь процесс загрузки.
    Во время попытки принудительно выставить 11;1C и запустить 100000G управление передаётся в БОС БК11М, где зачем-то подключается страница 12 вместо бейсиковской 11 и делается переход на адрес @#100002, что конкретно делается и почему, я подробно не проверял, просто в эмуляторе загрузил в стр.12 ПЗУ монитора БК10 и Фокал и погонял по быстрому, там надо долго и кропотливо пошагово в отладчике трассировать, чтобы разобраться.

  2. #22
    Activist
    Регистрация
    27.11.2015
    Адрес
    г. Самара
    Сообщений
    340
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ага, я тоже только сейчас раскопал про 12 страницу. Там оказывается размещается контроллер сети, который использует Бэйсик.
    Просто так совпало, что я туда совой дебаггер запихал
    Перенес дебаггер в 13 страницу, и всё заработало как надо.

    - - - Добавлено - - -

    Хотя, Бэйсик при таком раскладе всё равно автоматом не стартует, поскольку имеет ниже приоритет, чем ПЗУ в 13 странице. Странно, но я думал, что если ПЗУ начинается не с NOP инструкции, то монитор не должен его запускать при старте.

    Кстати, какая страница ПЗУ подключится на реальной БК0011М, если установить в 1 одновременно все или несколько бит ПЗУ в 177716?

  3. #23
    Member
    Регистрация
    26.11.2013
    Адрес
    г. Самара
    Сообщений
    78
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Saar Посмотреть сообщение
    Кстати, какая страница ПЗУ подключится на реальной БК0011М, если установить в 1 одновременно все или несколько бит ПЗУ в 177716?
    Не пробовал на самом деле, но взгляд в схему дает однозначный ответ, что откликаться будут все микросхемы, то есть если выставить все биты, то в области 120000(8)-137777(8) будет мешанина из Монитора(БОС) и Бейсика, а в области 100000(8)-117777(8) будут две ПЗУ Бейсика давать ответ.
    Регистр страниц ПЗУ сделан на D36, которая по записи в 177716(8)(порт памяти) защелкивает данные с шины процессора как есть, без контроля установления не более одного бита (точнее установления не менее 3 бит, ведь шина инверсна) и тогда по линиям ПЗУ0-ПЗУ3 по всем будут "нули", что означает выборку микросхем. И с учетом совпадения чип-кодов в ПЗУ будут откликаться на шину процессора например две микрухи сразу.

    Если не прав, пусть знатоки поправят мои мысли.
    - БК-0011М, БК-0011М-01, БК-0010-01
    - Электроника-85, УКНЦ, ДВК
    - ЕС-1841, ЕС-1845, Искра-1030М, Искра-1031, Поиск, МС1502
    - Корвет, Радио-86РК-SRAM, Львов ПК-01, Вектор-06Ц, Апогей БК01Ц
    - Агат-7, Агат-9
    - Leningrad 2012, ZX Evo rev.C + NeoGS, Дельта, ZX Spectrum 48K original
    - Yamaha YIS 503III, Atari 65XE, Amiga 1200, SparcStation 10

  4. #24
    Activist
    Регистрация
    27.11.2015
    Адрес
    г. Самара
    Сообщений
    340
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Добавил поддержку эмуляции БК0010. Имеется ввиду запуск именно БК0010, а не внутри БК0011М. Добавил туда же поддержку дисковода. По сути просто вставил прошивку дисковода от БК0011М + ОЗУ в адреса 120000-157777.
    Вроде так это было в оригнальном КНГМД для БК0010? ANDOS 3.30 запустился.
    Вопрос: насколько эмуляция разных кастомных расширителей для БК0010 имеет смысл? Там всякие A16M, SMK64/128/512?
    Заметил в АНДОС бэйсик для A16M - наверное, нужная вещь и имеет смысл сделать эмуляцию А16М. Вот только где достать техническую документацию на него? Там, наверное, как-то ПЗУ оригинального бэйсику подключаются.

    А что на счет SMK расширений? Я недавно наткнулся на описание как подключать страницы в SMK128(вроде). Пытался понять, прочитал раз 5. Мозги чуть не сломал. Под это извращение кто-то писал софт или нафиг не надо такое?

  5. #25
    Activist
    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    265
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    19 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Saar Посмотреть сообщение
    эмуляция разных кастомных расширителей для БК0010 имеет смысл?
    Принципиально - нет, но в своё удовольствие и для саморазвития - можно сделать.
    Цитата Сообщение от Saar Посмотреть сообщение
    Вот только где достать техническую документацию на него?
    Технической документации нету, есть только справочный листок вот такого типа http://bk-files.perestoroniny.ru/bk-a16tech.html, даже схемы нету, точнее, я рисовал когда-то схему, но она с ошибками. По принципу функционирования схема сходна со схемой СМК, поэтому вполне достаточно схемы СМК и таблицы режимов А16М. Можно считать, что А16М - это почти СМК-16 без винчестера (различие только в логике распределения сегментов ОЗУ согласно таблицам).
    Цитата Сообщение от Saar Посмотреть сообщение
    Там, наверное, как-то ПЗУ оригинального бэйсику подключаются.
    Да, в А16М есть такой спец режим только для БК10, кстати точно такой же режим есть и в СМК, и тоже только для БК10.
    Т.е. из 8 режимов работы обоих контроллеров часть предназначена для работы на БК10, они не корректны для БК11М. Часть наоборот - для БК11М и некорректны для БК10, остальные - универсальны.
    Цитата Сообщение от Saar Посмотреть сообщение
    А что на счет SMK расширений?
    Имеет смысл реализовать СМК-512 ради поддержки HDD на БК, остальные СМК есть подмножество СМК-512. Вообще говоря СМК как устройство - одно, а цифры обозначают просто количество памяти, припаянной к плате контроллера. Там изначально всё разведено было под максимально возможные 512кб. Ну и нюанс - количество набортной памяти прописано по определённому адресу ПЗУ СМК, чтобы программно знать, сколько памяти есть в наличии. Поэтому ПЗУ одной версии для СМК-64, -128, -256 и -512 различаются между собой одним байтом. Но это принципиально только для программ, корректно написанных под семейство СМК, для остальных - никакой разницы.
    Цитата Сообщение от Saar Посмотреть сообщение
    Под это извращение кто-то писал софт или нафиг не надо такое?
    Писали, даже сваяли какую-то операционку OS A/WASP. Но к тому времени БК уже сдох, и ничего никому стало не нужно.

  6. #26
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    9,894
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Saar, а ты делаешь видеовыход на VGA?
    Если да, то используешь принцип скандаблера, или видеогенератор изначально заточен под фрейм VGA?
    Я это к чему спрашиваю, помаленьку (но активно) собираю методом макеток, МГТФ и местами ЛУТа очередную борду, на этот раз на втором Циклоне. Память изначально заложил 16-битную, в расчете на Орион-128 и БК-0010.




    Орион уже работает, чуть ранее запустил Радио-86РК и ЮТ-88. Аудио сделал на ЦАПе, привинчен USB-UART (Орион активно использует). SD-карта - само собой. Выведена гребенка I/O, куда можно прицеплять что-либо. Например, ПЗУ или микроконтроллер.
    И вот уже подбираюсь к БК.
    Машинка для меня практически неизведанная, изучаю ее с нуля. Форумчане активно помогают Архитектура вообще не знакомая, я всю жизнь с 8080/Z80 ковырялся, да с микроконтроллерами
    Очень хотел бы перенести ваш проект на свою "доску", полностью или частично. Но - видеовыход у меня будет строго ТВ-фрейм. Поскольку VGA - слишком уж "резиновая женщина", ИМХО...
    Последний раз редактировалось Ewgeny7; 29.01.2016 в 23:01.
    Scorpion ZS 256 turbo+/ZXMC 2.6/CF-HDD/FDD/Mouse/SMUC 2.1/ProfROMse/VGA 3.0/NeoGS
    ZX-Evolution 4096 rev.B

    Сайт с документацией к "Scorpion ZS 256"

  7. #27
    Activist
    Регистрация
    27.11.2015
    Адрес
    г. Самара
    Сообщений
    340
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пытаюсь разобраться с A16M расширением и не могу уловить как происходит перехват холодного старта.
    Смотрю исходники эмулятора http://gid.pdp-11.ru/
    Поидее контролер должен модифицировать адрес старта в 177716 чтобы стартовать с 170000(или 160000?), но не вижу где это делается. Впрочем, меня не исходник эмулятора интересует, а механизм запуска ПЗУ.
    Я так понимаю, что ПЗУ А16М состоит из двух частей: ПЗУ контролера КНГМД с 160000 со стандартными точками входа. и ПЗУ обслуживания расширенной памяти с 170000. так?

    P.S.: разобрался и с ПЗУ и с тем как получается стартовый адрес.

    - - - Добавлено - - -

    Ewgeny7,
    У меня видеовыход изначально с RGBS ТВ разверткой. При включении опции scandoubler (по умолчанию) подключается дополнительный scandoubler для вывода в псевдо-VGA 50гц RGBHV.
    Скандоблер легко убирается, если нужна только ТВ развертка. Лично я использую только ТВ развертку (и внешний SCART->HDMI конвертер). А scandoubler для унификации с другими эмуляторами на этой плате.
    Цап, кстати, легко делается методом ШИМ на FPGA и RC цепочкой на выходе. Экономия на ЦАПе и выхдах FPGA. В моем проекте есть код для этого.

    А почему не хочешь использовать какую-то готовую FPGA плату со всеми нужными разъемами? Лично мне Altera DEx платы разработок не нравятся ввиду их громоздкости, но для твоего проекта в самый раз. Там все порты, что я наблюдаю на картинке, присутствуют.
    А есть сайт где можно почитать про твои разработки? Я не против портировать твои Р86 и Орион на MiST, если проекты открытые.
    Последний раз редактировалось Saar; 30.01.2016 в 01:29.

  8. #28
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    4,551
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    168
    Поблагодарили
    104 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ewgeny7, а как будешь переделывать работу с sd в этом проекте? Подцепишь микроконтроллер на I/O пины?

  9. #29
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    9,894
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Saar Посмотреть сообщение
    Цап, кстати, легко делается методом ШИМ на FPGA и RC цепочкой на выходе. Экономия на ЦАПе и выхдах FPGA.
    БесЦАПовый период я уже давно прошел. Недавно закупил на Али по дешевке TDA1543, вот и втыкаю их куда ни попадя. А раньше - да, ШИМами делал. На u10_Reverse звук выводил ШИМом, чтобы мозг не сломать встроенным кодеком
    Код ШИМа у меня есть свой, где-то валяется в недрах ПЦ...

    Цитата Сообщение от Saar Посмотреть сообщение
    А почему не хочешь использовать какую-то готовую FPGA плату со всеми нужными разъемами?
    А в чем профит готовых плат? Сделать на ней проект, а потом стереть его нафиг во имя нового? Это тоже неплохой вариант, но у меня подход немножко отличается. Это уже четвертая "борда" на МГТФ, на первой сделан намертво "Scorpion-ZS 512 FPGA" со СМУКом и прочими "винчестерами" на компакт-флеши, на второй плате - Радио-86РК с SD-интерфейсом, на третьей - "Орион-2010". Конечно, конфиги можно менять, но мне больше нравится законченное изделие.Платы вставлены в коробочки от свитчей D-Link, и смотрятся симпатично
    Поэтому громоздкость и немалые цены на плату с ненужными для данного проекта железяками - нафиг.
    Да и есть что-то неуловимо здОровское в самодельной борде.

    - - - Добавлено - - -

    Цитата Сообщение от ivagor Посмотреть сообщение
    Подцепишь микроконтроллер на I/O пины?
    Думаю что да. Это предусмотрено по крайней мере

    - - - Добавлено - - -

    Цитата Сообщение от Saar Посмотреть сообщение
    А есть сайт где можно почитать про твои разработки? Я не против портировать твои Р86 и Орион на MiST, если проекты открытые
    Нет. Они "рассеяны" по форуму, половину я делал для проекта uX-Reverse. Для них я делал первые версии спектрума (потом делал только для своих самоделок), Орион, ЮТ, переносил с других девборд Башкирию-2М от b2m, Радио-86РК оттуда же (потом наваял свою версию), принял участие в "Специалисте". Другая часть не выкладывалась по причине вышеописанной самодельности плат.
    Эти проекты уже неприменимы напрямую, только как примерные образцы. Если кому надо - высылаю электропочтой.

    - - - Добавлено - - -

    Цитата Сообщение от Saar Посмотреть сообщение
    У меня видеовыход изначально с RGBS ТВ разверткой.
    Вот, правильный подход! Скандаблер можно прилепить прицепом, при этом сохранится чуть больше аутентичности машинки.

    П.С. Забавно бывает читать в интернетах, что ПЛИС на макетке не запустить. Про PLL - вообще жуть и ужас
    Альтеровские ПЛИСы на самом деле очень "крепкие и надежные", всё у них работает даже в таком монтажном безобразии.
    Орион работает на новой плате, установлен модуль ромдиска на разъемы GPIO -



    Этот конфиг практически завершен. Можно еще и PAL-кодер бы софтовый прикрутить... Но мне больше нравится ч/б и градации серого.
    Последний раз редактировалось Ewgeny7; 30.01.2016 в 13:57.
    Scorpion ZS 256 turbo+/ZXMC 2.6/CF-HDD/FDD/Mouse/SMUC 2.1/ProfROMse/VGA 3.0/NeoGS
    ZX-Evolution 4096 rev.B

    Сайт с документацией к "Scorpion ZS 256"

  10. #30
    Activist
    Регистрация
    27.11.2015
    Адрес
    г. Самара
    Сообщений
    340
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    А в чем профит готовых плат? Сделать на ней проект, а потом стереть его нафиг во имя нового?
    зачем стирать? Можно сделать выбор что загружать с SD карты. Но это уже каждому свое, да

    ----------------------------

    Что-то я запутался в спеках A16M.. Смотрю в доке тут: http://vak.ru/doku.php/proj/bk/bk-a16tech
    Там сказано что помимо маски режима 160, есть еще маска 10 для включения ПЗУ бэйсика в неиспользуемые окна, и 4 для отключение регистров по чтению.
    А вот если смотреть на исходники вышеупомянутого эмулятора, то маски 10 и 4 не подходят..
    У меня прошивка А16М вроде как стартует, но после количества ОЗУ выдает несколько Error. После этого Андос грузится без проблем и Бэйсик запускается. Но вот после выхода в монитор не могу загрузить ни один файл по "М" команде. Короче, не складывается что-то.

Страница 3 из 7 ПерваяПервая 1234567 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ремонт БК0011м
    от лю в разделе БК-0010/0011
    Ответов: 17
    Последнее: 25.06.2015, 19:14
  2. Замена ОЗУ БК0011М
    от Woland в разделе БК-0010/0011
    Ответов: 35
    Последнее: 09.03.2013, 14:34
  3. СПб. Меняю БК0011М на ДВК.
    от SKcorp. в разделе Барахолка (архив)
    Ответов: 5
    Последнее: 08.12.2011, 20:32
  4. [Москва, Мир] Обменяю БК0011М
    от Mixey в разделе Барахолка (архив)
    Ответов: 40
    Последнее: 03.05.2010, 02:02

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •