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

User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 23

Тема: Вектор-06Ц новодел (не Altera)

  1. #11
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    975
    Спасибо Благодарностей отдано 
    429
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Очень даже заметно, лучше нагородить. Некоторые игрушки от этого становятся бодрее и динамичнее.
    Тут есть ньюанс: в текущей реализации графической карты полностью снять тормоза не выйдет, пока что они снимаются только на время чтения и когда не выводится изображение -- КСИ, ССИ и бордюр. Ускорение при этом выйдет, наверно, 10%, или 5%... Тем не менее, в новой схеме я уже нарисовал кнопку "турбо", но она ещё пока не готова к публикации.

    Можно поставить буфер на 16+8 бит, запоминать в нём адрес и данные для записи, когда видеопамять занята. Там, получается, хранить нужно два такта (666 нс). Наиболее частый повтор выполняется при записи в стек, по осциллограммам выше видно, что минимальный разрыв между двумя записями там равен около 1000 нс, т.е. имеем примерно 300 нс на сброс данных из этого буфера -- можно успеть, но вот только на плате графической карты места не осталось под этот буфер... В общем, ещё есть варианты по улучшению схемы.

    Цитата Сообщение от NEOPLASMA Посмотреть сообщение
    В журнале Vector User описывались разные доработки, джойстики на 6 клавиш (порт 0Eh и 0Fh биты D0-D7) которые можно расширить и на 8 и будет как на NES (Денди)
    Наверно, не на NES, а на SEGA? Сейчас уже схема подразумевает подключение джойстиков Денди, имеющих две кнопки, можно добавить ещё две кнопки без серьёзных переделок, если понадобится. Правда, эти джойстики я ещё не протестировал.

    Цитата Сообщение от NEOPLASMA Посмотреть сообщение
    доработки по расширению памяти
    А что за расширение памяти? Я видел там схемы квази-дисков, ERAM, но всё это были внешние модули, дорабатывался не сам Вектор...

    Цитата Сообщение от NEOPLASMA Посмотреть сообщение
    мышь по стандарту того-же джойстика
    ...
    и прочему, такие будут присутствовать в этом новоделе ?
    Всё, что угодно, но не всё сразу. Давайте сначала доведём "базовую конструкцию" до ума.

  2. #12
    Member Аватар для NEOPLASMA
    Регистрация
    20.03.2021
    Адрес
    г. Днепр, Украина
    Сообщений
    31
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чутка попутал, расширение памяти было описано в (предполагаемом) Векторе турбо+, там было сделано переключение по адресам 40h и 41h
    Да согласен джойстик лучше Сеговский брать, он более функциональнее и прост в подключении

  3. #13
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    975
    Спасибо Благодарностей отдано 
    429
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEOPLASMA Посмотреть сообщение
    Чутка попутал, расширение памяти было описано в (предполагаемом) Векторе турбо+, там было сделано переключение по адресам 40h и 41h
    Надо будет перечитать подшивку, хотя, как я помню, конкретики про Вектор-Турбо там не было.

    Цитата Сообщение от NEOPLASMA Посмотреть сообщение
    Да согласен джойстик лучше Сеговский брать, он более функциональнее и прост в подключении
    Я, похоже, ошибся, когда писал про денди, джойстики сейчас подключаются по такой схеме: https://www.msx.org/wiki/General_Purpose_port
    Вроде, сегасовместимые, не денди.

  4. #14
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Про порты турбо+ написано в vector-user 18. По описанию портов 40-42 примерно понятно, что там было, но следовать в данном вопросе за турбо+ смысла нет, т.к. нет программ, поддерживающих тот стандарт.

  5. #15
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    975
    Спасибо Благодарностей отдано 
    429
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    NEOPLASMA, ivagor, перечитал я "Вектор-User" -- грандиозные улучшения могли бы быть у Вектора, если бы появился турбо-плюс вариант, в части графики особенно. Но вернёмся к памяти. На странице 76 скана (в №18) упоминается, а на странице 85 (в №21) подробно описано, как его память работает. Да, программ для такой организации памяти не появилось, особого смысла делать также и правда нет.

    Опишу пока, как сделано управление памятью сейчас в моём варианте. Я это подписал на схеме, но, думаю, повторить будет не лишним:

    1. Т.к. на плате установлено 128кб, вся эта память распределена так:
    Код:
    Адреса в МС ОЗУ -- номер банка   
    00000h-07FFFh   --   Банк 0
    08000h-0FFFFh   --   Банк 1
    10000h-17FFFh   --   Банк 2
    18000h-1FFFFh   --   Банк 3
    2. При обращении Вектора к адресам 08000h-0FFFFh чтение/запись всегда осуществляется в Банк 3.

    3. Переключение страниц памяти осуществляется через отправку байта в порт 13h. Младшие два бита отправленного байта определяют подключённый номер банка памяти, который будет использоваться при обращении Вектора по адресам 00000h-07FFFh, старшие биты отправляемого байта игнорируются. Соответственно имеем:
    хххххх00 -- подключается Банк 0
    хххххх01 -- подключается Банк 1
    хххххх10 -- подключается Банк 2
    хххххх11 -- подключается Банк 3
    Самая фишка тут получается с банком 3, которая вышла сама собой -- на нижнюю половину памяти отображается верхняя половина, отличие при обращении к ним тут будет в том, что записываемые данные по адресам 00000h-07FFFh не будут попадать в память экрана, хотя будут влиять на область памяти 08000h-0FFFFh. Как это может пригодится -- пока не понятно, но забавно.

    4. При сбросе (БЛК-ВВОД или БЛК-СБРОС) регистр порта 013h сбрасывается на нулевой банк памяти. Все Векторовские программы с такой памятью должны работать без проблем, если, конечно, в них случайно не встретится обращение к порту 013h.

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

  6. #16
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Теоретически можно было бы сделать обращение к 128 Кб аналогично 6128, там есть пара-тройка программ под это дело (дос, бейсик и тест, кажется еще графический редактор), но плата уже сделана, да и вариант диспетчера 6128 не самый лучший.

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

  8. #17
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    ...
    3. Переключение страниц памяти осуществляется через отправку байта в порт 13h.
    ...
    А практическая реализация этого как выглядит?
    Переход между страницами находится в каком-то конкретном месте памяти, например в области прерываний (RSTx)?
    Поскольку после занесения нового значения в порт 13h следующая команда будет считываться из следующей ячейки памяти, но уже на другой странице.
    Значит место перехода должно быть предсказуемым. Т.е. одним и тем-же на всех страницах.
    Я так понимаю?

  9. #18
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    975
    Спасибо Благодарностей отдано 
    429
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    А практическая реализация этого как выглядит?
    Переход между страницами находится в каком-то конкретном месте памяти, например в области прерываний (RSTx)?
    Поскольку после занесения нового значения в порт 13h следующая команда будет считываться из следующей ячейки памяти, но уже на другой странице.
    Значит место перехода должно быть предсказуемым. Т.е. одним и тем-же на всех страницах.
    Я так понимаю?
    Можно и так. Но, я полагаю, самый простой способ переключения -- из подпрограммы, работающей в верхних 32кб памяти, которые не будут затронуты переключением, из МДОС, например. Там только нужно будет не упустить момент и после переключения занести в ячейки памяти 0000h, 0005h и 0038h нужные для работы команды, и дальше можно делать переход на любой адрес в нижних 32кб.

  10. #19
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    Можно и так. Но, я полагаю, самый простой способ переключения -- из подпрограммы, работающей в верхних 32кб памяти, которые не будут затронуты переключением, из МДОС, например. Там только нужно будет не упустить момент и после переключения занести в ячейки памяти 0000h, 0005h и 0038h нужные для работы команды, и дальше можно делать переход на любой адрес в нижних 32кб.
    Для МДОС переключать нижние 32Кб, это как читать газету в которую рыбу заворачивали...
    Там ведь до экранной области ещё вроде 8Кб остаётся, там вроде как утилиты пасутся. Да и программы, работающие из под ДОСа знают где верхушка свободной памяти, и могут использовать этот "не переключаемый" кусок по своему усмотрению, уничтожая в нём инфу, важную для софта из другого окна.

  11. #20
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    975
    Спасибо Благодарностей отдано 
    429
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Там ведь до экранной области ещё вроде 8Кб остаётся
    Это если на КД нет доработки Баркаря, а с ней можно добавить ещё 8кб на адресах 8000h-9FFFh, а при желании и все верхние 32кб можно закинуть на КД... Или немного опустить границу области для программ в МДОСе, до 32кб. Но это всё решаемые технические мелочи, для первого варианта, не проверенного на практике, без ПО, да ещё пока не подкреплённого поддержкой эмуляторов, такой вариант переключения памяти тоже неплох, а потом можно будет улучшать.

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

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

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

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

Похожие темы

  1. Вектор-06Ц: Altera DE1
    от svofski в разделе Вектор
    Ответов: 800
    Последнее: 23.04.2024, 16:55
  2. Ответов: 4
    Последнее: 23.06.2016, 00:02
  3. Вектор-06Ц
    от Robusta в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 17.03.2009, 23:18
  4. Вектор-06Ц: БП от PC
    от Dmitry Dubrovenko в разделе Вектор
    Ответов: 11
    Последнее: 08.03.2009, 21:53
  5. Вектор-06Ц
    от AlexBel в разделе Барахолка (архив)
    Ответов: 4
    Последнее: 20.12.2007, 08:23

Метки этой темы

Ваши права

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