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

User Tag List

Страница 2 из 7 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 66

Тема: MSX - VDP. Что делать с V9958. Пора менять?

  1. #11
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тут еще одна историческая загадка. Почему не использовали сигнал wait самого V9958?

    А придумали внешнею тормозилку, которая получилась не очень удачная (клац) и тормозит не всегда по делу (доступ к внутренним регистрам VDP).

    Дойдет очередь до замены Z80 на Z180 и обязательно попробую wait от V9958. Да и установка Z180 (HD64180) в MSX2 была проделана в Victor HC-90 до выхода MSX TurboR.
    Последний раз редактировалось OrionExt; 08.01.2018 в 18:09.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  2. #12
    Master Аватар для s_kosorev
    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Ответ прост
    пруф - не домыслы

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

    Цитата Сообщение от OrionExt Посмотреть сообщение
    И пред отвечу. Набери три слова R800, WAIT ,V9958 и получи ответ=) В гугле.
    а в сумме на единицу времени?

  3. #13
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от s_kosorev Посмотреть сообщение
    а в сумме на единицу времени?
    Да кто его знает.

    Просто пользователи TurboR подметили что в режиме R800 и при интенсивном обмене с VDP процессор начинает тормозить и проигрывать по производительности Z80. Даже программу приводили в пример, правда, название забыл. Нашел EVA-player.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

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

    По умолчанию

    Как я понял из прочтения интернетов, S1990 в turboR после обращения к портам vdp считает 8 мкс. Если за эти 8 мкс не было больше обращений к vdp, то все нормально. А вот если в течении этих 8 мкс случается попытка второго обращения к vdp, то процессор waitится до окончания 8 мкс.
    В "обычном" msx2 единственный тормоз, про который я знаю - дополнительный такт в цикле M1 Z80.
    В пзу можно найти примеры двух обращений к vdp с интервалом <8 мкс, например в msx2ext.rom
    298С out (99h),a
    298E ld a,8Fh
    2990 out (99h),a
    интервал между двумя out (99h) на msx2 (с учетом торможения в M1) будет 20 тактов, т.е. примерно 5.7 мкс, что < 8 мкс.

    Насчет почему в turboR 8 - как я понял, требуемая vdp задержка может составлять от 2 до 8 мкс (в зависимости от разных условий), и разработчики turboR сделали по максимуму, чтобы все работало и в худшем случае.

  5. #15
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor видимо так. И по факту вышло хрено.

    Вот еще интересный эксперимент был проделан c wait v9958, не касающийся R800.

    жмак

    The /WAIT pin on the MSX bus works in a very similar way to the /INT signal: It's a big logic AND between all the built-in devices & slots so any of those can request a WAIT (or a interrupt, in that case) to the CPU.

    This was a feature clearly designed to allow Z80s with more than 5.37MHz (*1) to access the VRAM.

    I did some tests some years ago, but I had no access to a logical analyzer. Those obviously are not very precise tests, but probably results are enough for the educated guess, until someone dissects this better using a logical analyzer.

    The V9958 /WAIT generation indeed seem to be somewhat intelligent. My test set was done connecting a LED to the V9958 /WAIT output pin, and connecting the /WAIT to the CPU. The circuit was designed so that only V9958 /WAIT requests would light up the LED, isolating any /WAIT requests from other devices. My circuit could also disable the M1 waitstate generator for an instant +/-20% speed increase.

    The results were:

    1. If the WTE bit of the R#25 is disabled, no waitstate request is ever generated
    2. I tested with several CPU clocks, to check the limits. When the WTE bit is enabled, those were the results:
    2.1) From 1.78MHz to 5.37MHz no waitstate seems to be generated. Disabling the M1 waitstate at 5.37MHz resulted in the LED lighting up very dimly.
    2.2) At 6MHz, the led started blinking very dim. This means that very few waitstates were being generated. Disabling the M1 waitstate instantly increased the LED brightness a bit.
    2.3) At 7.14MHz the led light strobe seemed to be around 25% of the LED brightness
    2.4) At 10.74MHz the led light strobe seemed to be around 50% of the LED brightness

    From the educated guess side of things, what seemed to happen is that when the Z80 tried some VRAM access before of it's reserved time slot, the V9958 would issue the /WAIT until the access time slot comes.

    As the V9958 datasheet states, no WAITs seem to be generated for accessing the V9958 registers. It only generates WAITs for VRAM access.

    *1: 5.37MHz seems to be the V9958 limit for VRAM access without extra waits. The register access handles 7.14MHz without trouble, and maybe can take even more.
    [свернуть]
    Последний раз редактировалось OrionExt; 08.01.2018 в 20:26.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

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

    По умолчанию

    Если wait, включение/выключение которого описано в разделе 5.1.2 pdf (стр. 7-8 документа, или 11-12 в файле) и wait в разделе 7.3.5 (стр. 17-18 документа или 21-22 в файле) - это один и тот же wait, то неудивительно, что в turboR пришлось тормозить чипсетом, т.к. wait от 9958 получается "не всеобъемлющий".

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

  8. #17
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну, зафиксировали бы частоту на уровне 7МГц для доступа к регистрам, а видео-память разруливали бы от wait VDP. Так нет. Поступили по тупому. Нати вам таймер один на все.

    Самое интересное wait VDP детище тех же разработчиков. И они прекрасно знали, как оно работает.

    А то прямо диверсия какая-то
    Последний раз редактировалось OrionExt; 08.01.2018 в 20:59.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  9. #18
    Master Аватар для TomaTLAB
    Регистрация
    09.03.2017
    Адрес
    г. Троицк
    Сообщений
    607
    Спасибо Благодарностей отдано 
    124
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    47 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    "не читал, но осуждаю"
    Ох чую прав Саша. Сделали это, видать, в погоне за какой нибудь "обратной совместимостью". Чтобы зародившаяся и потянувшаяся когда-то хренота не поломала "новую красивую систему".
    electronox necromancer

  10. #19
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,837
    Спасибо Благодарностей отдано 
    653
    Спасибо Благодарностей получено 
    1,811
    Поблагодарили
    1,041 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    С ходу не нагуглил, где читал, но вот нечто в этом духе. В TurboR планировали 9978, но его не доделали (по крайней мере не выпустили в массы), и поставили 9958.
    Последний раз редактировалось ivagor; 08.01.2018 в 21:20.

  11. #20
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от TomaTLAB Посмотреть сообщение
    Ох чую прав Саша. Сделали это, видать, в погоне за какой нибудь "обратной совместимостью". Чтобы зародившаяся и потянувшаяся когда-то хренота не поломала "новую красивую систему".
    Так как и писал ранее. Оставили бы z80 для совместимости. Не давайте и все преимущества R800 сведем почти к нулю.

    C высоты годов оно конечно всегда лучше видно

    Цитата Сообщение от ivagor Посмотреть сообщение
    С ходу не нагуглил, где читал, но вот нечто в этом духе. В TurboR планировали 9978, но его не доделали, и поставили 9958.
    Это вообще печальная история.

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

    А так задумка с двумя CPU очень хорошая. Тоже хочу что-то подобное сделать у себя. Правда, до конца не понял как
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

Страница 2 из 7 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. MSX - что делать и кто виноват (с)
    от OrionExt в разделе MSX
    Ответов: 21
    Последнее: 12.01.2018, 20:57
  2. Ответов: 6
    Последнее: 17.04.2012, 06:59
  3. Продам 512 Пентагон,тот что хотел менять на УКНЦ!
    от Mad Killer/PG в разделе Барахолка (архив)
    Ответов: 8
    Последнее: 14.03.2011, 22:17
  4. Что делать со Спектрумом?
    от STS в разделе Разный софт
    Ответов: 8
    Последнее: 09.10.2010, 22:50
  5. [FWD] Знать, что делать, а не как делать Автор: Сергей Леонов
    от Wladimir Bulchukey (500:95/462) в разделе Зарубежные компьютеры
    Ответов: 1
    Последнее: 29.06.2006, 17:29

Ваши права

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