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

User Tag List

Страница 5 из 16 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 152

Тема: БК-0010 + SMK-512 + образ CF

  1. #41

    Регистрация
    26.10.2011
    Адрес
    Москва
    Сообщений
    554
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexMik Посмотреть сообщение
    Поддерживаю.
    Прошивку поправил gid, насколько это позволило предположение о причинах проблемы: v1.2.rar

    Теперь в режиме 20, если выключить регистры 177130 177132 по чтению, не портятся ячейки 177130 177132 в ОЗУ, т.е. читается именно содержимое этих ячеек, а не смесь из ячеек и регистра, что подтверждается новой версией 4.75F теста СМК от gid.

    Но, это не помогло Бейсику, он по-прежнему не работает! И что там править теперь - некому не понятно, так что исправление проблемы в ближайшее время ждать не стоит. Процитирую gid'а: теперь нужно написать свой отладчик для БК и посмотреть, в чём дело. Потому что существующие отладчики не справляются с emt 14 и там с точками останова очень плохо.

    Попутно обновил образ CF для СМК512: 1gb_cf_dump_2019_03_19

    Загрузочные лог. диски MK-DOS теперь на БК10-01 работают корректно, в папку с тестами СМК512 добавлена новая версия 4.75F.

    Два вопроса к общественности:
    1. Есть ли исходники этого дискового бейсика для БК10-01+СМК ?
    2. Может ли кто-то проверить работоспособность этого бейсика на реальной БК10-01+СМК64 ?
    Последний раз редактировалось Woland; 20.03.2019 в 21:07.
    Возрождение БК0011М: pk-fpga.ru, forum.pk-fpga.ru
    Продажа электронных компонентов >>тут<<

  2. #42

    Регистрация
    29.02.2012
    Адрес
    г. Гомель, Беларусь
    Сообщений
    179
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Alex_LG пообещал протестировать как только поправится и доберется до компа.
    Свой СМК-64 он как раз успешно запустил.
    С уважением, Алексей.
    БК-0010(01)+SMK-512
    БК0011М-01+SMK-512
    ATM-turbo 512+
    Мой канал на YOUTUBE: reALM

  3. #43

    Регистрация
    26.10.2011
    Адрес
    Москва
    Сообщений
    554
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexMik Посмотреть сообщение
    Alex_LG пообещал протестировать как только поправится и доберется до компа.
    Свой СМК-64 он как раз успешно запустил.
    Собрал свой стендовый и проверил сам - работает. Надо выяснять причину, почему в связке с СМК512 не работает, наверняка она очень проста, но трудно диагностируема, как обычно.
    Возрождение БК0011М: pk-fpga.ru, forum.pk-fpga.ru
    Продажа электронных компонентов >>тут<<

  4. #44

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    610
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Разобрался я таки в чём проблема.
    Основная проблема - из-за того, что хоть и должно, но не происходит наложение ОЗУ СМК, на ОЗУ/ПЗУ/регистры БК.
    В результате, всегда читается ОЗУ СМК вместо смеси данных СМК+БК.
    Вот и в режиме 20 получается то же самое. Там ОЗУ накладывается на область 177600-177777 и в результате ничего нельзя прочесть из регистров 177660, 177662, 177664. А вот из 177716 и предположительно из 177714 (я вчера не догадался подключить джойстик и пошевелить им) данные читаются.
    Поэтому после запуска бейсика любое нажатие клавиши приводит к застопориванию работы. Затык происходит по адресу 101270 в обработчике прерывания от клавиатуры, там такой код:
    Код:
    101270$:TSTB @#177660 ; проверка нажатия клавиши 
    101274$:BPL 101270    ; продолжать проверять (ждать нажатия клавиши)
    А поскольку по адресу 177660 читается ОЗУ, которое обнулено, т.е. читается всегда 0 и происходит зацикливание навсегда.

    Решение я предполагаю такое: нужно выдавать RPLY чуть позже, чем оно сейчас выдаётся. А сейчас оно выдаётся сразу после установки DIN/DOUT. Это несколько замедлит память, и думаю, что регистры 177660-177664 успеют выдать на шину свои данные и в результате мы таки получим наложение ОЗУ СМК на ОЗУ/ПЗУ/регистры БК. И в демках от Lasoft может появиться рассинхрон. А может и нет, эксперимент покажет.

  5. #45

    Регистрация
    29.02.2012
    Адрес
    г. Гомель, Беларусь
    Сообщений
    179
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    Разобрался я таки в чём проблема.
    Супер!
    Снимаю шляпу )
    Поэтому БК жива. И жить будет. Даже не сомневаюсь.

    Цитата Сообщение от gid Посмотреть сообщение
    Решение я предполагаю такое: нужно выдавать RPLY чуть позже, чем оно сейчас выдаётся.
    Цитата Сообщение от gid Посмотреть сообщение
    эксперимент покажет
    Ждемс. С надеждой.

    ЗЫ: А пока такой вопрос. USB-бластер покупать для заливки в СМК новой (исправленной) прошивки? Это будет влиять на работу Бейсика?
    С уважением, Алексей.
    БК-0010(01)+SMK-512
    БК0011М-01+SMK-512
    ATM-turbo 512+
    Мой канал на YOUTUBE: reALM

  6. #46

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    610
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexMik Посмотреть сообщение
    USB-бластер покупать для заливки в СМК новой (исправленной) прошивки?
    Бластер вообще вещь в хозяйстве полезная, не тут, так в другом месте пригодится. Может и можно покупать.
    Цитата Сообщение от AlexMik Посмотреть сообщение
    Это будет влиять на работу Бейсика?
    прошивка v1.2 пока никак не помогает работе бейсика, она устраняет проблему, которая возникла бы, если бы бейсик работал.
    А эксперимент показал, что у меня не хватает знаний в VHDL и квартусе и мультисиме. Очевидное, с моей точки зрения, решение, которое я применил, сделало прошивку полностью неработоспособной, хотя в симуляции всё выглядело красиво.
    Так что ещё нескоро проблема решится.

  7. #46
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #47

    Регистрация
    26.10.2011
    Адрес
    Москва
    Сообщений
    554
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    А поскольку по адресу 177660 читается ОЗУ, которое обнулено, т.е. читается всегда 0 и происходит зацикливание навсегда.
    А в тест смк добавить диагностику этой проблемы возможно?

    Разработчик не смог понять замысел с RPLY, прокомментировал так:

    При таком раскладе проще те самые адреса запретить в режиме 20 для памяти, хотя тогда не совсем понятно, как в оригинальном СМК это не конфликтует. Просто задерживать RPLY толку не видно, все равно сначала выставляются нужные данные на шину, потому уже RPLY в конце, а процессор по RPLY читает уже то, что выставлено.

    На вопрос, что же делать, он ответил:

    Адреса блокировать в режиме 20, если там свободные макроячейки еще есть для дополнительной логики. Но дело в том, что мне вообще неясно, как там могут быть конфликты на пространстве внешних устройств и почему это вообще кто-то допустил. Но если конфликт реально есть, то не факт, что все ограничится вот этим набором адресов, это просто именно что при прерывании к ним обращение идет. Бодание двух стройств на шине - это не есть хорошо, даже если ничего не сгорит при этом. В оригинальной шине QBUS все драйверы с открытым коллектором и на данных вроде тоже, так что ничего не может сгореть в принципе, но в СМК это не так.
    Я попробую придумать, как там поделикатенее блокировать адреса, но впорос в том, какие на самом деле блокировать кроме тех, что уже себя проявили.
    Последний раз редактировалось Woland; 30.03.2019 в 14:27.
    Возрождение БК0011М: pk-fpga.ru, forum.pk-fpga.ru
    Продажа электронных компонентов >>тут<<

  9. #48

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    610
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Woland Посмотреть сообщение
    А в тест смк добавить диагностику этой проблемы возможно?
    Нет. Потому что чтение нулевого значения, абсолютно валидная операция, просто не всегда должен читаться 0, а когда подразумевается логикой работы устройства.
    Цитата Сообщение от Woland Посмотреть сообщение
    Разработчик не смог понять замысел с RPLY,
    Замысел с RPLY оказался ошибкой, что я только не делал, даже отключал выдачу RPLY по адресам 177660-177667, чтобы по этим адресам RPLY выдавали ВПшки, и всё равно фиг. Нули читаются, видимо ОЗУ, или через чё там с ОЗУ данные на шину попадают, электрически сильнее и перебарывает своим +5В 0В данных с ВПшек, поэтому всегда читаются нули. Однако, по адресам 177714 и 177716 спокойно читается смесь данных из ОЗУ и портов БК. Вот поэтому я и думал, что надо поиграть с задержкой выдачи RPLY, т.к. от заднего фронта RPLY начинается отсчёт, когда процессору снимать с шины данные при чтении.
    Цитата Сообщение от Woland Посмотреть сообщение
    Адреса блокировать в режиме 20,
    Я тож пришёл к этому выводу, но случился облом. Добавил блокировку и теперь квартус ругается такими ошибками:
    "Error (163105): Cannot route source node "..." of type max_mcell to destination node "..." of type max_mcell"
    На все мои действия, таких ошибок получается то много, то очень много. Свободных ячеек есть, Total macrocells 252 / 256 ( 98 % ) а вот маршрутов от ноды к ноде закончилось. И как это обойти я без понятия.
    Блокирование адреса делается просто. Так - чтобы заблокировать 177660-177667
    Код:
    	xrd_d_n <= '1' when a_n(15 downto 3) = "0000000001001" else (xrd_n and xrd_del6);
    А вот так, чтобы заблокировать 177660-177665, а 177666,177667 читались. Чтобы в режиме 160 маловероятный случай необходимости доступа к этой ячейке ПЗУ был.
    Код:
    	xrd_d_n <= '1' when a_n(15 downto 3) = "0000000001001" and 
    						(a_n(2) = '1' or (a_n(2) = '0' and a_n(1) = '1')) 
    			else (xrd_n and xrd_del6);
    Особо выделять режим 20 смысла нет, т.к. чтение по адресам 177600-177777 делается только в режимах 160 и 20, в остальных режимах там или пусто, или ОЗУ в режиме только записи.
    Цитата Сообщение от Woland Посмотреть сообщение
    как там могут быть конфликты на пространстве внешних устройств и почему это вообще кто-то допустил.
    Спокойно могут быть, логика общей шины это допускает, но не рекомендует. Результат складывается по ИЛИ из множества сигналов (добавлю: электрически по И, просто на шине лог.0 это +5В, а лог.1 это 0В, то рассматривая в привычном виде, получается ИЛИ после инвертирования) Это не конфликт даже, почти.
    А допустил это тот, кому надо было сделать максимально дешёвое устройство, которое можно было собрать и продать в то непростое время.
    Последний раз редактировалось gid; 30.03.2019 в 19:04.

  10. #49

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ребят,вам бы maxvela . в помощь, мы с ним уже год назад эту проблему заметили... но чет.. зарегится не может.. а я свалил на УКНЦ.. он уже много чего написал.
    smolyakiv@bk.ru
    (весьма не общителен. но если попрет\2)
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  11. #50

    Регистрация
    20.10.2007
    Адрес
    Челябинск
    Сообщений
    751
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    10 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно список игр на карточке?
    Изготовление Картриджей для Денди 1-8 игровки с меню. (0,1,2,3,4,7,71 мапперы), для Сеги 1-8
    https://vk.com/retronicaru

Страница 5 из 16 ПерваяПервая 123456789 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Печатная плата SMK-512
    от Woland в разделе БК-0010/0011
    Ответов: 8
    Последнее: 11.06.2021, 11:11
  2. Различия БК 0010 БК 0010Ш БК 0010-01
    от Mad Killer/PG в разделе БК-0010/0011
    Ответов: 12
    Последнее: 16.10.2011, 13:37
  3. Ответов: 14
    Последнее: 08.08.2011, 12:52
  4. БК + SMK + CF и прочее
    от dk_spb в разделе БК-0010/0011
    Ответов: 3
    Последнее: 25.07.2010, 13:55
  5. Зеленый GS 512
    от yorgee в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 22.03.2009, 20:12

Ваши права

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