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

User Tag List

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

Тема: Тайминги Pentagon 128 :)

  1. #11
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,404
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В последней версии ZXMAK2 аналогично, судя по всему это правильный тайминг пентагона.
    Ждем подтверждения от владельцев реального железа

    И похоже правильно мультиколор пентагона эмулируется пока только в наших двух эмуляторах

    Последний раз редактировалось ZXMAK; 28.04.2013 в 22:23.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  2. #12
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Каким образом эта программа подстраивает HALT под нужный такт из 4? А может, она его вообще не подстраивает и результат рандомный?

  3. #13
    Master
    Регистрация
    25.03.2013
    Адрес
    г. Лондон, Великобритания
    Сообщений
    948
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Каким образом эта программа подстраивает HALT под нужный такт из 4? А может, она его вообще не подстраивает и результат рандомный?
    У Яна Бобровского выложены все исходники:
    http://wizard.ae.krakow.pl/~jb/qaop/tests.html
    Код там грязненький (на мой вкус, конечно), но трюки хорошие тоже есть. Нужно только делать поправку, что его цель - не переносимость, а тестирование эмуляторов/клонов ULA на совместимость с классикой.
    Вот его выравнивание (я разбирался для своей TimeChart):
    Код:
    ALIGNINT:
    	ld de, _align
    	push de
    	ld de, _try
    	push de
    	im 2
    	halt
    	rst 0		; the interrupt handler never returns (it pops the last value off the stack)
    
    _try			; 46T+
    	push de		; 57T+
    
    	ld bc,32677	; 67T+
    	call DELAY	; 32744T+
    	ld bc,(FRAMET)	; 32764T+
    
    	call DELAY	; 69884T+
    	nop		; 69888T+ - the idea seems to be that if we run for exactly FRAME tacts, we are perfectly aligned
    	pop de
    	rst 0		; really crazy way to handle timing errors (e.g. it crashes on Scorpion due to unaccounted M1 delays)
    
    _align			; 55T
    	inc de
    	halt
    	rst 0
    Я использую похожую схему для своей TimeChart. Если правильно подогнать такты - выравнивание не нужно.
    Последний раз редактировалось introspec; 28.04.2013 в 22:35.

  4. #14
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,404
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Каким образом эта программа подстраивает HALT под нужный такт из 4? А может, она его вообще не подстраивает и результат рандомный?
    не знаю как подстраивает, но у нее фрейм всегда с нулевого такта начинается. В ZXMAK2 если включить View->Debug info, то последней строчкой показывает с какого такта начался текущий фрейм.

    пробовал сбить ее с толку - менял начальный такт фрейма от 0 до 7 (это можно сделать из отладчика кликнув на ftmT=...), но она шибко умная, при нажатии на кнопку тут-же выравнивается на 0!

    Так что с этим все ОК! Жаль что на скорпионе она не работает.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  5. #15
    R.I.P. Аватар для VNN_KCS
    Регистрация
    11.10.2007
    Адрес
    Донецкая обл. г.Енакиево
    Сообщений
    2,316
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от introspec Посмотреть сообщение
    У Яна Бобровского выложены все исходники
    Поюзай лучше настройки от Alone. Сколько пользуюсь - ни разу не пожалел. Работает как пчёлка!
    Pentevo - рулез

  6. #16
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обработчик прерываний inc sp:inc sp:ei:ret вполне может захватиться дважды на реальном пентагоне.

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

  8. #17
    Master
    Регистрация
    25.03.2013
    Адрес
    г. Лондон, Великобритания
    Сообщений
    948
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от VNN_KCS Посмотреть сообщение
    Поюзай лучше настройки от Alone. Сколько пользуюсь - ни разу не пожалел. Работает как пчёлка!
    У меня этот код лежит в специальной папочке, просто пока случая не было приспособить в дело
    Хотя, да, у меня есть небольшая страсть к самопальным решениям...

    ---------- Post added at 19:51 ---------- Previous post was at 19:50 ----------

    Цитата Сообщение от alone Посмотреть сообщение
    Обработчик прерываний inc sp:inc sp:ei:ret вполне может захватиться дважды на реальном пентагоне.
    Я же говорю, код грязный, но идеи правильные есть.

    Дополнение: он почему-то считает, что прерывание обрабатывается 20 тактов. Я секретно подозреваю, что это и есть тот самый знаменитый потерянный такт, о котором писали большевики из ZX Spectrum FAQ, но вникать в подробности мне не хотелось.
    Последний раз редактировалось introspec; 28.04.2013 в 22:54. Причина: Добавил о прерываниях.

  9. #18
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,404
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Обработчик прерываний inc sp:inc sp:ei:ret вполне может захватиться дважды на реальном пентагоне.
    каким образом? Обработка сигнала INT блокирует прерывания, так что на первой инструкции inc sp прерывания уже заблокированы.
    После выполнения EI прерывания запрещены до следующей инструкции. Следующая инструкция RET, т.е. пока обработчик не завершится, повторное прерывание невозможно.
    Время выполнения обработчика 26 тактов + 19 тактов на обработку INT, итого - 45 тактов. Повторный вход на пентагоне невозможен, т.к. длительность прерывания - 32 такта
    Последний раз редактировалось ZXMAK; 28.04.2013 в 23:01.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  10. #19
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вызов обработчика два раза за один фрейм сбивает всю синхронизацию.
    В данном случае он просто приводит к выходу из цикла.

    ---------- Post added at 22:02 ---------- Previous post was at 21:59 ----------

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    Повторный вход на пентагоне невозможен, т.к. длительность прерывания - 32 такта
    Длительность прерывания на пентагоне определяется RC-цепочкой.

  11. #20
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,404
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Вызов обработчика два раза за один фрейм сбивает всю синхронизацию.
    В данном случае он просто приводит к выходу из цикла.

    ---------- Post added at 22:02 ---------- Previous post was at 21:59 ----------


    Длительность прерывания на пентагоне определяется RC-цепочкой.
    попробовал поднять длительность до 46 тактов - тест сбрасывается
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

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

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

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

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

Похожие темы

  1. Тайминги Leningrad-1
    от ZXMAK в разделе Ленинград
    Ответов: 17
    Последнее: 14.06.2013, 03:09
  2. Тайминги экранов Спектрумов
    от Alex Rider в разделе Программирование
    Ответов: 12
    Последнее: 02.04.2013, 16:20
  3. Тайминги DENDY
    от evgs в разделе Nintendo
    Ответов: 7
    Последнее: 01.11.2011, 22:59
  4. Тайминги Pentagon-128
    от Mick в разделе Pentagon
    Ответов: 40
    Последнее: 26.09.2011, 20:00
  5. Ответов: 4
    Последнее: 18.11.2010, 09:47

Ваши права

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