Может, но тогда двойного захвата прерывания точно не будет. Даже если EI будет сразу после выхода из обработчика, за ним выполнится еще одна команда, итого 19+10+4+4=37.
Вид для печати
до в случае с полезным обработчиком его пропустил
так что и на 128 полезный обработчик отработает правильно
а вот с тем когда синхронизация только по хальт
можно делать и
ei halt
которые затачиваются под конкретную машину с явно фиксированной длиной инта
разве что обработчик 31...35 тактов и когда вероятность двойного срабатывания не велика но есть
по идеи rzx должен крутиться на той же машине с той же длиной инта
тоесть зависит уэе от криворукости эмулятора писателя или качества самого формата
тут уже совсем мимо
часто биперные движки вообще без синхронизации с интом и все на своих счетчиках
и делают вообще di
разве что у specialfx какой то счетчик на инте? (вроде еще не копал)
и при 300+ тактов инта
получаем +600% к темпу
а там сколько кондер успеет пропустить столько и длина...
начет пентагон кривой клон (чего даже не требовалось доказывать :) )
а резиновом и не только спектруме
инт по людски прет из улы
тогда вопрос
че мешало в формате рзх заложить эту вашу длину инта...
...изначальная заточенность под резинки?
конечно продумать все сразу не всегда можно
но что мешает запилить новую версию формата с учетом уже накопленных граблей
а не продолжать грызть кактус
тем более больше подробностей в формате потребует только запись с пентагона
для эмулятора резинки можно вполне оставлять старый формат
а может получится даже притулить новую инфу в конец файла или еще кудато чтоб новый формат жрали старые эмуляторы
(спецификации рзх у меня нет... и не особо то мне нужна...)
да и по хорошему rzx должен содержать инфу об эмуляторе его версии
для воспроизведения именно на этом эмуляторе и версии (как обычно и делается)
или в случае детекции несовместимости версий
запиливание режимов совместимости для старого рзх силами самого эмулятора
...а не как всегда...
- - - Добавлено - - -
ну да 40 игор это же "гигантский" процент спектрумовского софта
ну и те что я запускал
вроде работало нормально
...хотя мало ли
может оно уже кем то было пофикшенно...
да и впервые я наткнулся на траблы явно с интом
на новодельных софтах...
А вот на одном Пентагоне демка с EI:RET будет работать нормально, а на другом - через жопу. Я в эмуле поставил 36 тактов - и нашлась дема, для которой это много.
Формат rzx на длину INT не смотрит, он к ней не привязан, и она в нём не кодируется, ибо не нужна. Но с длинным INT и коротким обработчиком в файле RZX будут короткие "фреймы" с парой-тройкой команд.
Что-то мне подсказывает, что любая сложная музыка на бипере без IM2 не обойдется. Разве что WHAM-овский двухголосый движок прерывания не использует, или совсем примитивные одноголосые. Навскидку потыкал сейчас игрушки с сложной музыкой - все сидят на IM2, кроме тех, что на WHAM-движке.
скорей это показатель что у аффтара была кривая машина
чем то что у всех пентагонов именно так
тут надо чтоб кто нить посчитал калькулятором
какая же длина задумывалась разработчиком
и замерять на нескольких реалах (с разными сериями микросхем в участке формирования инта но с правильным номиналом еще не дохлого кондера)
рука лицо :v2_dizzy_facepalm:
понашлись тут музыковеды...
конечно на им2 можно повесить плеер
но частоту тона это не спасет
и в турбе это будет пищать
мало того изза того что программно нельзя отличить какой набор регистров сейчас активный
плеер на прерываниях не может нормально узнать что же ему менять в некоторых случаях
можно конечно выделить регистр для ориентирования
например B которые используется для out (C),x
но это не дает 100% гарантии что прерывание определит текущий набор регистров
и собственно это занимает 1 рег
который вполне можно было использовать
...например как счетчик длины ноты чтоб играть без прерываний :)
.....конечно можно держать в каждом bc ххFE
но скорей всего по тактам это не рационально...
(тк отдавать целую регистровую пару...)
так же некоторые движки ВНЕЗАПНО используют регистр SP
что как бы повышает "сложность" движка
тк теперь можно делать add hl,bc add hl,de add hl,sp меняя только hl но не перегружая bc\de\sp
в качестве явного примера помоему tritone
нет помоему там счетчики лежат в обоих наборах регистров
но sp используется для инкремента таким же образом
у мя прекрасно звучала
и игра фигзнает сколько загружалась
чтоб только покрутить эту музычку (сама не плеябельная)
все со special fx?
бери качай 1трекер с 40+ движками
https://shiru.untergrund.net/files/1tracker.zip
и смотри в 1tracker\engines
как же часто используются прерывания
А что трекер, ты назови игры, в которых используется бипер-движки не WHAM и не на прерываниях. Я проверял - Savage, Golden Axe, Hysteria, Quazatron, Beyond the Ice Palace, Star Wars, Chase H.Q., Mikie, Saboteur 2, Target Renegade, Impossible Mission 2, Transmuter - все на IM2. На не IM2 и не WHAM нашел Chronos, Renegade, Manic Miner.
Многие движки уже в этом веке написаны, подозреваю.
- - - Добавлено - - -
Вполне плеябельная, я её даже прошел на своей Орельке когда-то.
а у меня на компе (с кривым int`ом) в Trantor`e кроме быстрой музыки ещё и время в игре быстро уменьшалось,
но я тогда правильных компов не видел и думал что так и надо
многие да
но там есть и старые движки прошлого века
при желании можно привести список и в обратном соотношении
Quazatron без им2
Hysteria
Beyond the Ice Palace
Star Wars
по моему на special fx
o_O
может умя тоже были траблы с таймером?
то да время летело жестко
даже не буду морочить себе голову
и сделаю по аналогии с "игры от probe"
Vectron
Subterranean Stryker
Star Firebirds
Raw Recruit
Future Games
Chronos - уже был
Agent X \ Agent X II
при желании знаю где найти еще...
Star Paws - даже ау плеер не на прерываниях :)
Peter Pack Rat - тоже ау дичь...
- - - Добавлено - - -
ткнул в унриале длину инта
320
3200
32000
77000
и нифига
...унриал не меняет? длину инта в таком диапазоне о_О
попробовал 3 унриала разных проивзодителей...
(ну частоту и количество тактов в фрейме тоже не все можно поставить)
чисто визуально
не то игровой процесс несколько медленней
счетчик ощутимо медленней вроде? не тикает или незначительно медленней...
хз я оно ниасилил
хотя у меня даже была карта в журнале...