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

User Tag List

Страница 1 из 8 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 98

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

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

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

    По умолчанию Тайминги Pentagon 128 :)

    Обнаружил любопытный факт - все существующие эмуляторы имеют свои тайминги пентагона, из 7 протестированных эмуляторов только у трех тайминги одинаковые - это ZXMAK, ZXMAK2 и SpecEmu

    Для тестов использовал программу из stest2.tap.zip. Суть программы - нажимая кнопки Q и A найти два значения тактов, для которых при переходе от одного к другому гаснет красная полоска в левом верхнем углу экрана.

    Результаты такие:
    Unreal: 17990 -> 17991
    Spectaculator: 17981 -> 17982
    Fuse: 17989 -> 17990
    Spin: 17988 -> 17989
    SpecEmu: 17987 -> 17988
    ZXMAK: 17987 -> 17988
    ZXMAK2: 17987 -> 17988 (в последней версии 2.7.3.0 исправлно - теперь 17984->17985)

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

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

  3. #2
    Master Аватар для [bETA]mEN
    Регистрация
    16.01.2005
    Адрес
    Moscow
    Сообщений
    791
    Спасибо Благодарностей отдано 
    354
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    21 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    Сразу предупреждаю - кнопку Q прийдется держать очень долго
    стартовое значение в программе несложно поменять
    Вложения Вложения
    • Тип файла: zip stime.zip (772 байт, Просмотров: 333)
    IT FOUND A VOICE... NOW IT NEEDS A BODY

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

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    Сразу предупреждаю - кнопку Q прийдется держать очень долго
    Обязательно доделаю timechart летом. Давно уже нужно сделать программу, которая сделает на реале максимум измерений на автомате, а затем предоставит возможность что-то по необходимости подкрутить и выдать в человеческом виде полученные тайминги для эмулятора. Пока ещё остались работающие реалы...

  5. #4
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,406
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    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

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

    По умолчанию

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

  7. #6
    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.

  8. #7
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,406
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    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

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

    По умолчанию

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

  10. #9
    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. Причина: Добавил о прерываниях.

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

    По умолчанию

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

Страница 1 из 8 12345 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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