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

User Tag List

Страница 5 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 41 по 50 из 57

Тема: Новый реверс Вектора 06Ц.01 и возможная реинкарнация

  1. #41
    Member
    Регистрация
    26.12.2021
    Адрес
    г. Санкт Петербург
    Сообщений
    62
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А это всё то же самое будет. Если по пунктам:

    1. 30 пиновый симм это 8 бит DRAM, как правило 70 ns и чаще всего сделанный из двух 1Мx4 чипов (или 256Кх4 для 256К), т .е. та же самая x8 организация и мультиплексирование адреса по RAS/CAS.
    Соответственно, проблемы остаются, хоть 70ns это почти в 2 раза меньше чем CAS latency в 120 ns для 565РУ6Г, но 4 полных обращения в окно времени для видеоадаптера влезать не будет.

    2. Можно поставить 2 или 4 штуки и получить 16 бит за обращение. По времени уже может успеть. Но смысла нет - уж проще сразу рассчитывать на 72 пиновый FPM симм, там x32 шина данных.

    3. К 30 пиновым симмам нет нигде разъемов хронически, на 72 пина кое где можно найти. По 8-10 штук у меня припасено, конечно же, но все равно - дефицит и дорого. На авито видел всего одно
    предложение по 600 руб за 30 пин сокет. . Распайку с дохлых материнок не предлагать, нету уже таких, по крайней мере в товарных количествах.

    4. Размеры резко увеличиваются. Можно победить прямой запайкой SOJ на будущую плату. Например одного чипа x16 с 4-8Мб FPM 72pin хватит.

    5. Скорее всего встанет проблема рефреша: 8 бит будет мало, надо 9 или 10. Откуда брать - пока непонятно: сейчас надо обойти 128 строк для РУ6 (и 256 для РУ5 в классическом квазе).
    При отображении делается 32*256=8192 обращений за время кадра в 20 миллисекунд, получаем 2.44мкс на обращение и 2.44 * 256 строк = 625мкс период рефреша, что укладывается в лимит DRAM.
    У 4116 он 4 мс, у наших я данных не нашел, но думается, что не меньше 2 мс. Продлить на 4 кадра? 2.44мкс * 1024 строки = 2.5 мс. По периоду успеваем, для более емких и современных там от 16мс.
    А вот как совместить перебор этих двух старших разрядов адреса с необходимостью видеоадаптеру таки ходить при каждом обращении по одинаковым адресам в каждом кадре?
    Я пока не придумал. Можно попытаться впихнуть еще одно обращение в окне видеоадаптера, уже только с передачей одного только адреса строки и RAS (RAS-only refresh) или
    использовать бордюры и обратный ход, но и то и другое приведет к необходимости отделять адрес рефреша от адреса видео и еще одному счетчику на 9-10 бит.

    Вот я это все просуммировал и решил уйти на SRAM в варианте CY62148E (512Кx8, 55ns) или CY7C1021 (128Kx16, 15ns). Пока целюсь в первый, там 3.5 обращения по 61нс укладываются в окно,
    а 4 можно уложить, подвинув спад MX2 на полтакта (C1_6M) раньше. По моим прикидкам там поседние полцикла проца, стробы чтения/записи IO и памяти уже должны быть неактивны, ШД свободна и
    можно отключить шину адреса CPU от памяти немного раньше. А если не получится, то со вторым чипом все вообще проходит со свистом - 15 ns доступа и 16 бит шина, т. .е хватит 2х обращений.

  2. #42
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,870
    Спасибо Благодарностей отдано 
    661
    Спасибо Благодарностей получено 
    1,866
    Поблагодарили
    1,063 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    DRAM с tRAS<=80 ns, который типичен для simm 30 pin позволяет в рамках 666 нс (4 такта 6 МГц) выбрать страничным доступом 4 байта видео и еще остается время на один доступ проца и все это с соблюдением таймингов даташита. Т.е. это турбопроц 6 МГц + в два раза больше видео, чем нужно для вектора.
    А для стандартного вектора 3 МГц достаточно скорости (правда с небольшим нарушением паспортных данных) одной линейки 565РУ5В (страничная выборка видео) или 565РУ7В (слоговая выборка видео).
    Проблему рефреша можно решить радикально, отвязав его от видео и от размера счетчиков. Видео само по себе, а на бордюре сбоку рефреш в режиме cas-before-ras (годится для западных dram начиная с 41256 или наших с 565РУ7).
    Т.е. память не ограничивает, если трудности и возникают, то снаружи памяти.

  3. Этот пользователь поблагодарил ivagor за это полезное сообщение:

    megov (09.11.2023)

  4. #43
    Member
    Регистрация
    26.12.2021
    Адрес
    г. Санкт Петербург
    Сообщений
    62
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня по результатам расшифровки циклограмм с D36/РЕ3 получается не 4, а три такта 6МГц в течении которых MX2=0 и, следовательно, доступ в память со стороны видеоадаптера в течении окна в 500ns. Про страничный доступ - да, спасибо, что напомнили, 3 RAS строба можно сэкономить. Кроме того я точно не планировал набирать банки из x1, а сразу смотрел бы на что-то x16, типа HM5118160, такие у меня после ZX-Evo остались, а там и CAS-before-RAS и RAS-onle рефреши есть. Скрытого и внутренних счетчиков, правда, нет.

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

    Текущий цикл чтения видео из SRAM выглядит так:


    Пояснения:
    с0_24М - с2_3М - клок от 24МГц вниз (С1-С4 как раз выходы D35/ИЕ7)
    Т - фазы ВМ80, addr+ALATCH - немультиплексированная ША, cyc_mx2 - MX2
    nvramrd - строб чтения от видео, nsramrd/wr - стробы чтения/записи в память,
    vplane - счетчик плоскостей, дающий изменяющиеся A13+A14 в адресе,
    DATA - ШД, LATCH_X0_* - стробы записи в выходные регистры по плоскостям,
    pixctr - счетчик пикселей для справки, wvrTB - старый строб записи в выходные регистры (из тестбенча),
    DELAY - симуляция задержки доступа в память с гранулярностью в 1 master clock (20.85ns)
    LATCH_CTR - счетчик на 6 MCLK для формирования LATCH_X0_*,
    cx - состояние выходов D35 входов D36 без A4, фактически номер цикла в D36/РЕ3.

    CPU и память написаны как тестбенчи в верилоге, криво и косо, но какое-то представление дают.
    Данные выдаваемые на ШД - это слайс битов адреса [11:4] для отладки, живых данных в видеопамяти никаких нет.
    CPU умеет циклы, соответствующие опкодам и дергать стробами чтения/записи в память и IO, действительного
    исполнения кода там нет. Писалось все на коленке.

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

    Вдогонку: есть ли где наиболее полная раскладка IO портов по Вектору?
    Про стандартные 00h-0Fh + 10h кваз + где-то около 18h-1Ch ВГ93 + 20h второй кваз - я помню. В вот дальше?

    Идеи 3:
    - ROM диск отсадить с ПУ/ВВ55 куда нибудь вдаль и без ВВ55, на защелках (2-3 порта)
    - сделать аналог 80h из PC - POST регистр (1 порт). На ввод можно дип свичей организовать для конфигурации.
    - куда нибудь воткнуть ВВ51 (2 порта ВВ51 + переключалку бодрейта)

  5. #44
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,870
    Спасибо Благодарностей отдано 
    661
    Спасибо Благодарностей получено 
    1,866
    Поблагодарили
    1,063 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от megov Посмотреть сообщение
    есть ли где наиболее полная раскладка IO портов по Вектору?
    Не нашел, где этот файл сейчас выложен в сети, поэтому прилагаю к посту (составил Tim0xA).

    Дополнение: в файле упомянут кировский вариант расширения квазидиска, который не взлетел. Сейчас в эмуляторах и даже в железе поддерживаются расширения Баркаря.
    Вложения Вложения
    • Тип файла: zip port.zip (2.9 Кб, Просмотров: 9)
    Последний раз редактировалось ivagor; 09.11.2023 в 20:38. Причина: добавил про Баркаря

  6. Этот пользователь поблагодарил ivagor за это полезное сообщение:

    megov (09.11.2023)

  7. #45
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,123
    Спасибо Благодарностей отдано 
    806
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    407 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от megov Посмотреть сообщение
    CPU и память написаны как тестбенчи в верилоге, криво и косо, но какое-то представление дают.
    vm80a Vslav-a можно в тестбенче завести.

    Цитата Сообщение от megov Посмотреть сообщение
    куда нибудь воткнуть ВВ51 (2 порта ВВ51 + переключалку бодрейта)
    Где-то мы это уже обсуждали. С последовательным портом без FIFO и прерываний Вектор не много сможет сделать полезного. 16550 чуть-чуть повышает теоретическую полезность.

    Я сейчас делаю эмулятор Вектора на 5" LCD-модуле с ESP32S3 и была шальная идея -- насколько реально сделать Вектор по максимуму из оригинального чугуна, но чтобы плата вписывалась в размер платы модуля примерно 14x9 см. Типа если максимально уплотнить плату, сделать ее на столько слоев, сколько нужно, а не насколько кажется экономически разумно, мелкую логику запихнуть или в tssop-ы под большими чипами, или в cpld, две стороны монтаж. Иными словами, если отбросить разум, какой минимально возможный размер Вектора c труъ кр580+вв55+ви53 в принципе.
    Больше игр нет

  8. #46
    Member
    Регистрация
    26.12.2021
    Адрес
    г. Санкт Петербург
    Сообщений
    62
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Типа если максимально уплотнить плату, сделать ее на столько слоев, сколько нужно, а не насколько кажется экономически разумно, мелкую логику запихнуть или в tssop-ы под большими чипами, или в cpld, две стороны монтаж. Иными словами, если отбросить разум, какой минимально возможный размер Вектора c труъ кр580+вв55+ви53 в принципе.
    Так это как раз и была моя основная идея в данном начинании. Ну, может быть еще плюсом замена ВВ55+ВИ53 на аналоги в SO/PLCC/TQFP и абстрагирование процессора до модуля с ША+ШД+MEM/IO/RD/WR+CLK+READY+RESET.
    Тогда появляется возможность использовать 8085 и Z80 тоже в SO-40/TQFP-44. Причем весь ассортимент комплектующих у меня есть. В планах также оставить СНП34 по ВУ/ПУ и интегрировать адаптер PS/2 клавиатуры на атмеге или (тоже проект зреет) USB клавиатуры на китайце CH558/CH559.

    Цитата Сообщение от svofski Посмотреть сообщение
    Где-то мы это уже обсуждали. С последовательным портом без FIFO и прерываний Вектор не много сможет сделать полезного.
    Про ВН59 тоже думается... Ну и, опять же, лишний последовательный порт еще никогда никому не мешал.

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

    Цитата Сообщение от svofski Посмотреть сообщение
    vm80a Vslav-a можно в тестбенче завести.
    Я пока нуб в синтезе, поэтому сначала надо самому поковыряться и собрать все грабли.

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

  10. #47
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,123
    Спасибо Благодарностей отдано 
    806
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    407 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от megov Посмотреть сообщение
    USB клавиатуры на китайце CH558/CH559.
    Это по-моему оптимальный вариант. PS/2 клавиатура свое уже пожила.
    Больше игр нет

  11. #48
    Member
    Регистрация
    26.12.2021
    Адрес
    г. Санкт Петербург
    Сообщений
    62
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Это по-моему оптимальный вариант. PS/2 клавиатура свое уже пожила.
    Дык уже:



    Нарисовал схему в KiCad, развел, заказал, платы приехали... А вот с прошивкой, пока все пока застопорилось.
    Есть"the девборда" CH559, SDK с примерами и тулчейн, ядро внутри C51 (если ничего не напутал), добрые люди перевели даташит с китайского на английский,
    что-то собирается и шьется по USB, блинк, короче работает.

    Но инициализацию USB хоста этого чуда китайской инженерной мысли я так и не победил. Событие есть, но ни VID ни PID я прочитать пока не смог.
    HW отладки нет, ком-порт какой-то вроде я прикрутил, туда и вывожу дебаг.

    Примеры, как и всегда с китайским кодом - тупое наслоение всяких фекалий с комментами на китайском, отключенными по #if 0 блоками и прочим весельем.
    Доведу Vector06c-neo до прототипа - вернусь доделывать это чудо.

    Немного о том, зачем туда полез. USB хосты есть не везде, навскидку есть в некоторых 4XX камнях у STM32, но это совсем из пушки по воробьям, там
    весь Вектор cо Спектрумом вместе в non-uniofied multiprocessor mode можно наэмулить. Столько дури не надо в простом адаптере.
    Да и дорого и сложно сейчас с STM32. А вот CH558/559 показались перспективными, дешевыми и прямо просились заюзать.
    Общий дизайн прост и прям, как ЖД рельса: СР559 делает USB хост, общается с HID, достает скан-коды и как-то их мапит в матрицу 16x8.
    Матрица отображает, собственно, матричную клавиатуру с контактами! А вот отдается она в аналоговый матричный коммутатор (МТ8816),
    на который и заведены строки и столбцы от обслуживаемого ретокомпа. Модуль делался универсальным: маппинг задается прошивкой,
    подтяжки и развязывающие диоды можно ставить или не ставить уже по схемотехнике ретрокомпа, 5 дополнительных выходов с коммутацией
    nmos транзисторами на землю тоже выведены - это наши УС/CC/РУС/ВВОД/СБР.

    При таком подходе быстродействие контроллера может быть любым, не надо извращаться как с атмегой в известных схемах, пытаясь успеть от скана
    до чтения значений из порта.

  12. #49
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,123
    Спасибо Благодарностей отдано 
    806
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    407 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот это не оно разве? https://www.youtube.com/watch?v=po3FBdY0GS4 https://github.com/atc1441/CH559sdccUSBHost Утверждается, что все работает уже. Но я лично взял бы Pi Pico для этого просто потому что экосистема значительно более вменяемая.
    Больше игр нет

  13. #50
    Member
    Регистрация
    26.12.2021
    Адрес
    г. Санкт Петербург
    Сообщений
    62
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Вот это не оно разве? https://www.youtube.com/watch?v=po3FBdY0GS4 https://github.com/atc1441/CH559sdccUSBHost Утверждается, что все работает уже. Но я лично взял бы Pi Pico для этого просто потому что экосистема значительно более вменяемая.
    Этих товарищей я, конечно же видел, правда не помню, почему не начал основываться на их коде - мои платы уже полгода лежат,
    а задумке и попытке накодить еще больше. Возможно,была мысль, что контроллер-то все равно осваивать самому,
    плюс я сильно не люблю бездумное копи-паст программирование.
    Остальная механика на стороне ретро у меня другая, т.е. все равно курить даташит и пробовать.

    RPi Pico лежат две штуки, ждут. Но это ровно тоже самое, что поставить STM32F411 (если я правильно вспомнил конкретный младший
    чип с USB хостом у CТМ) - из пушки по мелким птичкам.

    PS: Про ком порт в Векторе. Если даже сделать телетайп-стай 75 бод на ВВ51, то это все равно будет полезно. Скорости хватит, а каналы во внешний
    мир лишними никогда не бывают. Вспомните тот же kernel debugger у Майкрософта в Win 9x, когда весь инструментарий был на соседней машине
    вовне пациента
    Последний раз редактировалось megov; 09.11.2023 в 23:50. Причина: убрал тавтологию

Страница 5 из 6 ПерваяПервая 123456 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Бейсики для Вектора-06Ц и клонов
    от ivagor в разделе Вектор
    Ответов: 569
    Последнее: 03.06.2024, 17:12
  2. Картотека ПО для Вектора-06ц
    от svofski в разделе Вектор
    Ответов: 719
    Последнее: 04.04.2024, 11:13
  3. Пишу шедевр для «Вектора 06Ц»
    от metamorpho в разделе Вектор
    Ответов: 442
    Последнее: 21.07.2022, 06:15
  4. Восстановление Вектора-06ц
    от Daniil Chislov 86 в разделе Вектор
    Ответов: 100
    Последнее: 11.03.2021, 00:23
  5. Цветопередача Вектора-06ц.02
    от svofski в разделе Вектор
    Ответов: 7
    Последнее: 27.06.2020, 15:32

Ваши права

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