User Tag List

Показано с 1 по 10 из 98

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

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    По умолчанию

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

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

  3. #2

    Регистрация
    25.03.2013
    Адрес
    г. Лондон, Великобритания
    Сообщений
    948
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    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. #3

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 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

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

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

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

Ваши права

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