User Tag List

Страница 4 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 31 по 40 из 57

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    По умолчанию Дела текущие: Vector06c-Neo

    Ковыряю понемногу реинкарнацию. Проблем пока две.

    1. Сильно хочется уйти от x32 организации памяти к x8, на худой конец к x16. Но при x8 стандартный 60-70ns DRAM в принципе не лезет в тайминги, отведенные для доступа видеоадаптера. У "средних" РУ6 задержка от спада /CAS до данных в паспорте 120ns, поэтому 4 обращения в x8 DRAM точно не влезут. С x16 можно повоевать. Поэтому пока двинулся в другом направлении - использовать емкую, но небыструю SRAM 512Kx8 с 55ns с прицелом в ней же и кваз разместить. Впритык в окно доступа видеоадаптера 4 обращения влезают, пока в симуляции в ModelSim. Обращения будут сопровождаться 4мя latch сигналами, разнесенными во времени, почти также как защелкиваются сейчас все 4 ИР13, но не одновременно. Для выравнивания, 3 из 4х байт будут временно защелкиваться в промежуточных регистрах, как пример - защелкивание атрибута знакоместа в спектрум-совместимых, только тут ждать надо меньше - до окончания выборки всех 32 бит. Данные четвертой страницы сохранять не надо, по четвертому стробу все будет писаться в выходные сдвиговые, но уже не ИР13, а 74HC165PW. Пока, в теории, схема выглядит правдоподобной. Отвечаю, зачем такие извращения:
    - планирую уместиться в EPM7128S, что ограничивает меня и по ячейкам и по пинам, регистры в синтезе особенно дороги. Посему, все регистрово-простое, что можно вынести в отдельные корпуса, я вынесу. И даже не буду в синтез вносить, как например пиксельные сдвиговые, они изначально планировались на отдельных чипах, отдавать >=32 ячеек из 128 за такое я не готов.
    - x8 занимает меньше места и отпадает необходимость в выходном демультиплексоре на КП2 до CPU.
    Где есть резервы:
    - мастер клок у меня 48МГц, чтобы иметь возможность уплотниться где надо или подвинуть сигналы (а 3 RC цепочки в стандартной схеме есть - на CPU клоке, на сбросе PSW и на 512 точках растра).
    - не пытаться впихнуть кота в коробку, забить на кваз и поставить любые Cache SRAM x8 с доступом 10-25ns. Необходимости в защелках перед пиксельным сдвигом это не отменяет, но с таймингами становится проще.

    2. Переход от DRAM к SRAM помогает во временной области, за RAS/CAS можно спокойно 2 обращения сделать, а с учетом меньшего времени доступа SRAM чипов, то и все 4. Но грабли начинаются в другом - во входном адресном мультиплексоре. Если его делать в CPLD, то туда надо завести 16 линий адреса CPU + 8 линий начала экрана ВВ55 на входы счетчиков скроллинга и вывести 8 бит мультиплексированной шины адреса памяти. Итого 32 бита и 32 пина CPLD из 84х. Это с учетом того, что все видеосчетчики внутри CPLD, как и задумывалось. Для SRAM выводить обратно надо все 16 бит адреса и ноги CPLD становятся узким местом. Да можно сэкономить 2-3 пина, поскольку убираются /CAS0-CAS3 + /CASE, но для адресации кваза добавляются еще 3 бита адреса, формируемых между основной памятью и страницами кваза. Пока промежуточное решение - вытащить входной адресный мультиплексор в логику (SN74CBT16233DGVR), а резерв в CPLD придержать, еще не делались дешифраторы IO, логика кваза и всякое остальное.
    * SN74CBT16233DGVR под вопросом, он конечно прикольный и все-в-одном, но по разводке будет проще 4шт КП11 в TSSOP-16 применить (да, я знаю, что родных КП11 в TSSOP нет, но мы все же поняли, да?).

    Напоминашки:
    - не надо спрашивать "зачем" и искать коммерческую или иную целесообразность. Все, что я делаю - это just for fun. Вектор-06Ц был моим первым компом.
    - хоть и паяльник я держать умею с детства, но на жизнь зарабатываю я написанием кода. Посему и тут и там могу быть некомпетентен.
    - цель проекта сделать современную реплику Вектора. Не программную эмуляцию (с этим коллеги преуспели), не синтез всего в FPGA (привет первопроходцу @svofsky), а просто милый маленький девайс. Типа iMac. В цельной алюминиевой коробке.

    PS: Невзначай появилось имя проекта. Неоригинальное, но на силксринах уже отпечатанное: Vector06c-Neo.
    PS2: Коллеги, у кого нибудь есть в читаемом виде сканы наших даташитов на РУ6/РУ5/РУ7 с диаграммами и таблицами таймингов? Все что находится либо пережато и нечитаемо, либо новодел pdfный из 2х страничек к которому доверия никакого. Заранее, спасибо!

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

    Цитата Сообщение от Improver Посмотреть сообщение
    CY7C131-15JC. Данные там на 8 бит, значит одного чипа хватит, быстродействие превосходное, и корпус можно выбрать компактный, типа plcc или pqfp...
    Все, конечно, здорово... но! У меня есть CY7C131E-55JXI в PLCC52. Да, прикольно. Да SRAM и двухпортово. Но на этой площади 2x 155РУ2 точно уместятся, толкаться не будут и доп. согласования не попросят.
    Не, чипы прикольные, я не спорю, но они не про то.
    А вот на них сделать non-wait шлюз с "программным арбитражем и семафорами" ("с блек-джеком и дамами с пониженной социальной ответственностью" (c) Bender@Futurama) - это интересно.
    А с другой стороны подвесить можно всякое. GPU например на FT812, как коллега TSLabs сделал с ZX-Evo.
    Последний раз редактировалось megov; 09.11.2023 в 01:19. Причина: орфография, однако...

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

    Improver(09.11.2023)

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

  3. #2

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Может быть можно память организовать на 30-пиновых SIMM-модулях?
    Больше игр нет

  4. #3

    Регистрация
    26.12.2021
    Адрес
    г. Санкт Петербург
    Сообщений
    64
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    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х обращений.

  5. #4

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,388
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 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).
    Т.е. память не ограничивает, если трудности и возникают, то снаружи памяти.

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

    megov(09.11.2023)

  6. #5

    Регистрация
    26.12.2021
    Адрес
    г. Санкт Петербург
    Сообщений
    64
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    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 + переключалку бодрейта)

  7. #6

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,388
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

    megov(09.11.2023)

  8. #7

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 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 в принципе.
    Больше игр нет

  9. #8

    Регистрация
    26.12.2021
    Адрес
    г. Санкт Петербург
    Сообщений
    64
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    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 можно в тестбенче завести.
    Я пока нуб в синтезе, поэтому сначала надо самому поковыряться и собрать все грабли.

  10. #9

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  11. #10

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

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

Похожие темы

  1. Бейсики для Вектора-06Ц и клонов
    от ivagor в разделе Вектор
    Ответов: 696
    Последнее: 25.10.2025, 02:34
  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

Ваши права

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