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

User Tag List

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

Тема: Описание системы команд - давайте централизуем ;)

  1. #31
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex/AT
    Хм... а кто-нибудь тестировал влияние этого дела на реальную времянку команд. Конкретно смущает вот эта фраза в доке;
    Цитата:
    У меня один такт затягивается, а в следующем наобоpот, всё быстpее.
    Так и есть. Цикл затягивается на 1/4 такта, потом укорачивается на столько-же. Число тактов на команду и/или единицу времени это не изменяет. Да, нужен быстрый процессор. Z80H -- лучший. Или Z80C0006PSC
    На 10MHz -- фуфло, OUT (C),0 не переваривают.

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

  3. #32
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Conan
    «неправильный» INT это все же следствие WAIT, потому как к моменту его прихода Z80 успевает выполнить меньшее кол-во инструкций из ОЗУ.
    Чушь. На фирменном, если только весь код не распихан по быстрым банкам,
    он ещё меньше выполнит. И что? Повторяю: НА ПЕНТАГОНЕ INT НЕ НА МЕСТЕ.
    Да, код может быть привязан к INT'у. Тогда на фирменной машине он может получать незначительное преимущество. НЕЗНАЧИТЕЛЬНОЕ. Те самое 7/8.
    Примерно, разумеется. Но не в разы. В области бордера исключительно, потом начинает выигрывать скорпион. А луч на ракетку где наезжает?
    Такое объяснение принять сложно. Либо игрушка уже под пентагон
    правлена, тогда не удивительно -- именно такие эффекты на скорпионе,
    и любом "ленинградо-подобном" спеке и возникают. Либо тот скорпион
    совсем плохой был. Так как раз на жёлтом, ненастроенном скорпионе
    INT может быть слишком длинный. Тактов несколько сотен. И работать
    всё даже будет с виду беспроблемно, потому как типично обработчик
    прерываний занимает тысячи тактов. Типично, да не всегда. Тоже вариант.
    А вообще можно взять R80 или Unreal, тот арканоид (как его звали?) и посмотреть детально.

  4. #33
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Robus
    Не знаю как в скорпионе, но помоему это какая-то ошибка ! Что значит 7.5 тактов ? Я ещё понимаю, в момент WAIT'а будет 8-мь
    До меня дошло. В пентагоне -- 7. В жёлтом скорпионе -- 8. В среднем где-то 7.5, в первом приближении.

  5. #34
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    279
    Поблагодарили
    108 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fk0
    Ну не надо. Там торможения, в среднем, 7/8 получается. На слух и не заметишь сразу. Да ерунда это. У фирменного 5-ая банка тормозит в разы больше.
    Выставьте частоту 1КГц (на звуковом генераторе), и измените ее на 1/8 (125Гц). После оценки этого на слух комментарии будут излишни. Хотя в реальной ситуации разница была заметна значительно меньше.
    Цитата Сообщение от fk0
    Времянки все другие, оттого спрайты и мерцают. Так код надо фиксить под конкретную машину. Тут, как верно было замечено, даже среди фирменных разброс. Зато порт 0xff есть. В некоторых игрушках спрайты просто появляются в том месте, где на других пентагонах их никогда и не было. 312 всё-таки строк в кадре, прерывание (INT) более-менее на месте.
    Что касается кол-ва строк и положения INT, то у ZS Scorpion все реализовано как у ZX Spectrum (224 такта на сточку, 64+192+56=312 строк в кадре). Так что если под «времянками», подразумевается это, то сами надеюсь, все понимаете. Порт #FF и «кривизна» «Пентагона», это отдельный разговор, в данном случае речь шла о влиянии WAIT на совместимость.
    Цитата Сообщение от fk0
    Проблемы скорпиона в другом. RST #8 и 8-ая банка.
    Это проблемы уже другого рода, к совместимости с фирменными программами отношения не имеет, а изначально речь была об этом.
    Цитата Сообщение от fk0
    Чушь. На фирменном, если только весь код не распихан по быстрым банкам, он ещё меньше выполнит. И что? Повторяю: НА ПЕНТАГОНЕ INT НЕ НА МЕСТЕ. Да, код может быть привязан к INT'у. Тогда на фирменной машине он может получать незначительное преимущество. НЕЗНАЧИТЕЛЬНОЕ. Те самое 7/8.
    Что чушь? То, что на машине с WAIT между прерываниями успевает выполниться меньшее кол-во инструкций, чем без WAIT? Не надо все время кивать на медленную память фирменных машин. Она, конечно, была, но разработчики игр об этом знали, и размещали критичный код в быстрых страницах. На машинах с WAIT вся память медленная и деваться некуда. У «Пентагона» нестандартные времянки, неправильное положение прерывания, но вся память быстрая. Еще раз повторяю, я не нахваливаю «Пентагон», потому, что из-за его нестандартностей развелось множество программ совместимых только с ним. Но будьте корректны: у «Пентагон» свои проблемы, а у «ZSScorpion» свои и в данном случае разговор был о последнем и начинался именно с проблем пересчета тактов требуемых при использовании WAIT.

  6. #35
    Master Аватар для Costa
    Регистрация
    17.03.2005
    Адрес
    Россия
    Сообщений
    711
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Conan
    Что касается кол-ва строк и положения INT, то у ZS Scorpion все реализовано как у ZX Spectrum (224 такта на сточку, 64+192+56=312 строк в кадре).
    Если это так то почему фирмовые мультиколоры не идут на скорпионе?
    Цитата Сообщение от Conan
    Порт #FF и «кривизна» «Пентагона», это отдельный разговор, в данном случае речь шла о влиянии WAIT на совместимость.
    А разве не в одном фирменном спеке небыло вайта ?

  7. #36
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    279
    Поблагодарили
    108 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Costa
    Если это так то почему фирмовые мультиколоры не идут на скорпионе?
    Нужно знать, о чем точно идет речь. Если мультиколор написан именно под ZX Spectrum (начиная с ZX Spectrum 128 экранные времянки отличались), то причина, скорее всего в WAIT (точнее непредсказуемом количестве тактов между прерываниями).
    Цитата Сообщение от Costa
    А разве не в одном фирменном спеке небыло вайта ?
    Не было. Торможение процессора в contended memory («медленной» памяти) осуществлялось остановкой CLK по совершенно другому алгоритму, чем в машинах с WAIT. Кстати не забывайте, что алгоритмов WAIT-ования в отечественных клонах было как минимум два. Первый аналогичен «Балтик» (каждый второй цикл ОЗУ). Второй впервые использован в «Ленинград 1»: в цикле M1 при чтении из ОЗУ.

    Правда недавно выяснилось, что есть уникальный клон «Интер 48», где алгоритм идентичен «Ленинград 1», но только зачем-то тормозится и при M1 в ПЗУ.



    P.S. Разумеется были клоны копировавшие медленную память фирменной модели. Это «Львов», «Харьков», «Краснодар», некоторые модели «Дельта С» и многие другие, с двумя полями ОЗУ (почти все где есть РУ6, за исключением новосибирских машин).

  8. #37
    Master Аватар для Costa
    Регистрация
    17.03.2005
    Адрес
    Россия
    Сообщений
    711
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Conan
    точнее непредсказуемом количестве тактов между прерываниями
    Непредсказуемом!!!?
    А как же тогда писались и работают замечательные мультиколоры под скорпион ?

    Сколько тактов в прерывании в ZX Spectrum,ZX Spectrum 128,Profi ?

  9. #38
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    279
    Поблагодарили
    108 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Costa
    Непредсказуемом!!!?
    А как же тогда писались и работают замечательные мультиколоры под скорпион ?
    Использовали программные приемы синхронизирующие код с торможением. Без них одна и та же программа может выполняться за разное число тактов (в зависимости от фазы обращения видеоконтроллера к ОЗУ). Типичный пример: тесты, считающие кол-во тактов между прерываниями показывают скачущие значения.


    Цитата Сообщение от Costa
    Сколько тактов в прерывании в ZX Spectrum,ZX Spectrum 128,Profi ?
    ZX Spectum (все версии) – 69888 (224*312)

    ZX Spectum 128/+2/+2А/+3 – 70908 (228*311)
    Кол-во тактов для фирменных машин относится к "быстрой" памяти.
    «Profi ver??» - 69888 (нужно уточнить, если не турбо и РФ2 не прошит под пентагоновские развертки).



    P.S. Мы сильно ушли от темы топика.

  10. #39
    Veteran Аватар для jtn
    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,149
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Costa
    А как же тогда писались и работают замечательные мультиколоры под скорпион ?
    мультиколорам (кроме бордюрных) не нужна точная синхронизация до такта

  11. #40
    Banned
    Регистрация
    03.07.2005
    Адрес
    Москва
    Сообщений
    16
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Conan
    Использовали программные приемы синхронизирующие код с торможением. Без них одна и та же программа может выполняться за разное число тактов (в зависимости от фазы обращения видеоконтроллера к ОЗУ). Типичный пример: тесты, считающие кол-во тактов между прерываниями показывают скачущие значения.



    ZX Spectum (все версии) – 69888 (224*312)

    ZX Spectum 128/+2/+2А/+3 – 70908 (228*311)
    Кол-во тактов для фирменных машин относится к "быстрой" памяти.
    «Profi ver??» - 69888 (нужно уточнить, если не турбо и РФ2 не прошит под пентагоновские развертки).



    P.S. Мы сильно ушли от темы топика.
    На пентагоне-128 - 320х224 = 71680 тактов

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

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

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

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

Похожие темы

  1. Полный перечень команд ВГ93
    от spensor в разделе Программирование
    Ответов: 18
    Последнее: 23.03.2013, 16:09
  2. Циклы шины Z80 + разбивка команд по циклам шины
    от lvd в разделе Несортированное железо
    Ответов: 4
    Последнее: 28.03.2005, 02:08
  3. Инициализация системы
    от breeze в разделе Программирование
    Ответов: 13
    Последнее: 24.03.2005, 10:03
  4. Ответов: 8
    Последнее: 05.03.2005, 10:25

Ваши права

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