Прикольно, спасибо) Насколько я знаю, Вуди также добавил в новые версии SpecEmu поддержку утекания ОЗУ в 48к, и сделал под него тест, может, он и им поделится?
Вид для печати
Прикольно, спасибо) Насколько я знаю, Вуди также добавил в новые версии SpecEmu поддержку утекания ОЗУ в 48к, и сделал под него тест, может, он и им поделится?
Кто автор испанского теста - доподлинно неизвестно.
Тест от Вуди видимо написан "по-мотивам" оного.
зы - "неизвестный" - удалил. Немного побыл - и фатит!
Спасибо. Что-то тест Вуди ввел меня в когнитивный диссонанс :confused: . Во-первых, на 48к, насколько я знаю, медленная память постоянно обновляется ULA-й, так что она не должна утекать, а тест показывает, что в SpecEmu утекает и медленная память. Во-вторых, на 128х машинах вся память должна обновляться ULA-й, а судя по тесту, она утекает и на них, причем и медленная, и быстрая память.
- - - Добавлено - - -
Похоже, надо писать Вуди для прояснения ситуации)
- - - Добавлено - - -
Этот вопрос решился - в тесте тестируется только быстрая память, а вот сам тест находится или в медленной, или в быстрой. Что не должно влиять на результат теста, и не влияет.
https://s.micp.ru/st1y5.png
скрин с 48го реала. на 128 - Родина ждет своего Героя!
ZX Spectrum +2 - DRAM not faded
https://a.radikal.ru/a00/2110/b7/660c9b438eb4.png
В принципе ожидаемо. На zx128 ULA же сама рефрешит память.
Тогда если не сложно - еще один тест погонять на реале. Памяти. Из соседней темы.
На практически всех эмуляторах сбрасывается в режиме 128. Значит это нормально? Но на одном! - работает и не сбрасывается )
Кому то придеЦЦа чинить эмуль.
Собственно тест в аттаче
Спасибо за результат. Что и требовалось доказать. В Спектрамин-е в режиме zx128 работает и не сбрасывается :)
Аa.a.a, ну еще не сбрасывается в Z80Stealth - ну то такое :) Он и не претендует на точное эмулирование zx128
зы - Вилли Инвадерс с прошлой страницы надеюсь набранные очки показывает??
в курсе. но тест, даже неправильный, он должен если одинаково работать (неправильно) на любых эмуляторах. Не??Или крестик, или трусы.
Или работаем, но неправильно, или не работаем, что правильнее.
и потом, зачем в тесте памяти, особенно для zx48\128 - бета-диск??
а так да, из режима Пентагона запускается верно. Хотя и показывает модель zx128
Ага
В ZXMAK2 с бетадиском работает, без - сбрасывается. Но сбрасывается слишком быстро и знакоместо атрибутами не красит.
Вот так должно быть
https://youtu.be/Tc4Kv-Tubrw
Что характерно - Fuse, SpecEmu, Spectaculator, ZXSpin фейлят этот фейл-тест в режиме +2 - тест просто виснет с мигающим атрибутом, без сброса.
- - - Добавлено - - -
А в ZXMAK2 вообще модель +2 не поддержана, а там своё ПЗУ, как-никак.
- - - Добавлено - - -
Правильно отрабатывает этот фейл-тест в +2 модели только эмулятор Real Spectrum.
Уже сам допер, спасибо)
- - - Добавлено - - -
Замигать-то он замигал, а вот сброса нет вообще, как и в остальных эмулях.
- - - Добавлено - - -
Подменил ПЗУ в Unreal - тоже виснет с мигающим атрибутом.
- - - Добавлено - - -
В общем, мусорный тест зафейлили почти все эмули)
- - - Добавлено - - -
Похоже, что код где-то зависим от состояния системы (системных переменных и временных данных), то есть, возможно, при нескольких запусках теста на реале +2 на некоторых он тоже зависнет с квадратиком без сброса.
вот вам простой тест на внимательность (древняя игра 1986г.) https://www.worldofspectrum.org//pub...relord.tzx.zip
найдите отличие в игре при запуске на 48/128 и +2 моделях
Разобрался я с игрушкой, Вуди молодец. Я тоже :) . Что характерно, я, когда код HALT писал, насколько помню, задавался вопросом его эмуляции, на котором Вуди построил проверку. Но я тогда просто посмотрел, как сделано в других эмулях. А оказалось, на реале работает так, как я подозревал.
Никому ничего не скажу, чтобы не лишать удовольствия разобраться с вопросом самостоятельно) Задача несложная, подсказка в коде.
Интересно, почему Вуди написал игру под 128кб, вроде бы она должна бы влезть в 48кб, и вряд ли этот нюанс HALT характерен только для 128х.
Кстати, Lethargeek спросил, откуда инфа, что в 128х регенерация ОЗУ идет ULA-ой. Я точно помню, что это было в доках, но так и не нашел, где я это читал. Тест регенерации проверяет регенерацию в 0й, быстрой, странице, Elatron запустил его на +2, и утечки ОЗУ нет, так что похоже, что регенерация идет таки ULA-ой, причем даже быстрых страниц.
тут логика простая: если в страницу лезет не только проц, то она по определению contended, то есть медленная
получить же удивительные и противные логике и смыслу результаты можно в силу разных причин, например:
- кривой тест
- криво запускался
- неоригинальное железо после починки
он кстати разный бывает.
в нескольких фирменных игрушках регистр I используется в качестве переменной (видимо делалось на +3)
так на issue1 прога сбрасывается, на issue2 кое-как работает, но `снежит`
Lethargeek, этого weiv лучше игнорировать.
помню как его переклинило и он решил что команда push работает не так как в доках (порядок записи регистров)
на радостях он накатал большую статью на хайпе - люди не поленились доказать ему обратное,
даже лог.анализатор на проц вешали, а он потом поняв что был неправ тупо удалил весь топик.
Я тебе показал, что твоя логика неверная - если какое-то устройство, кроме z80, лезет в память, то она не обязательно медленная.
Возможно, логика регенерации памяти ULA-й отвязана от её видеоконтроллера.
ага, щас всё брошу и прекращу.
Во всех старых клонах стояло динамическое ОЗУ.
Для уверенности неплохо было бы, если бы этот тест утечки памяти кто-нибудь ещё выполнил на фирменных 128: https://zx-pk.ru/attachment.php?atta...6&d=1633698055 . Тест простой - в регистр R в цикле в течении некоторого времени постоянно пишется одно число, а потом быстрая память проверяется на утечку. Если тест правильно работает на реальных 48х (диагностирует утечку), не вижу причин, почему он должен неправильно работать на 128х в быстрой памяти (нулевой странице).
- - - Добавлено - - -
Меня не просто так переклинило, я тогда искал причину глитчей в демке EyeAche2, и такая логика PUSH была в эмуле Lion17, единственном эмуле, где глитчи Пентагона эмулировались.
Поняв что был неправ, я сначала признал в комментах свою неправоту) А топик позже удалил, потому что он оказался бредовым. Ну да, спорол я чушь, что, надо чтобы это было запечатлено навечно в отдельном топике? Позже я ещё кучу топиков там удалил, по другим причинам. Я и тут регулярно свои сообщения тру, не потому, что неправ, а потому, что тошнит позже от того, что во флейм вступил.Цитата:
на радостях он накатал большую статью на хайпе - люди не поленились доказать ему обратное,
даже лог.анализатор на проц вешали, а он потом поняв что был неправ тупо удалил весь топик.
А игнорировать меня или нет, дело хозяйское. Но приму к сведению.
- - - Добавлено - - -
И да, обсуждать кого-то в третьем лице в его присутствии - это далеко от игнорирования)
ничего ты не показал, обязательно для фирменных спеков, клоны офтоп
а вот не факт, и с разными характеристиками
нифига - ВСЕ страницы надо проверять на утечку (а то мало ли, вдруг при починке перепутали номера)
заодно померить реально скорость; а еще открыть и внутрь таки посмотреть
Да я только за) Ну вот и займись, че. Напиши исчерпывающий тест, проверяющий все страницы, найди владельца реала, который согласится запустить его, а заодно разобрать и проверить, всё ли там родное, и не перепутали ли там номера.
Ну ты тоже не показал, что оно для фирменных спеков обязательно. Есть реальный тест, запущенный на реальной машине +2, который говоорит, что в нулевой, быстрой, странице, память не утекает при удерживании R (а этот же тест на 48к показывает, что его быстрая память утекает). А у тебя только домыслы - а может там тест кривой, а может запускали криво, а может машина после ремонта.
Ну ты ж сомневаешься в моем "открытии", вот и докажи, что это не так, и ULA не регенерирует всю память в 128. За мое утверждение говорит запуск реального теста на реальной машине. А за твои сомнения говорят только твои сомнения.
Доков не нагуглил, но помню, что есть такое. Тест подтвердил, что утечки ОЗУ в быстрой памяти 128го при удерживании R нет. А ты продолжай сомневаться, дело твоё. Мне тебя убеждать тоже неинтересно.Цитата:
нету, есть твои слова с чужих слов, а что там реально было, ты сам не знаешь, и доков никаких на это не смог нагуглить
- Первое возможно.
- Запускал несколько раз, в 48, 128 (и через load"", и через меню) и USR 0 режимах. Один фиг.
- Железо родное, Z70500 Issue 3. Память на двух линейках драмы km4164b-12
Скрытый текст
А вот дизассм теста:
Собственно процедура тестирования с #75CC, она сначала отрабатывает там, потом переносится в быструю память с #9800 и отрабатывает там.Код:ORG #7530
CALL H0D6B
LD A,#02
CALL H1601
CALL H762D
DM "Testing in contended RAM...",#FF
LD A,#01
LD IX,H75CC
CALL H759B
CALL H762D
DM "Testing in uncontended RAM...",#FF
LD HL,H75CC
LD DE,H9800
LD BC,H0042
LDIR
LD A,#02
LD IX,H9800
CALL H759B
RET
H759B OUT (#FE),A
CALL H75CA
LD A,C
OR A
JR Z,H75B9
CALL H762D
DM "DRAM not faded",#0D,#0D,#FF
RET
H75B9 CALL H762D
DM "DRAM faded",#0D,#0D,#FF
RET
H75CA JP (IX)
H75CC DI
LD HL,HA000
H75D0 LD (HL),#AA
INC L
JR NZ,H75D0
INC H
JR NZ,H75D0
XOR A
H75D9 LD B,#03
H75DB LD HL,#0000
H75DE XOR A
LD R,A
LD R,A
LD R,A
LD R,A
LD R,A
LD R,A
LD R,A
LD R,A
LD R,A
LD R,A
DEC HL
OR H
JR NZ,H75DE
DJNZ H75DB
LD HL,HA000
LD BC,#0000
H75FF LD A,(HL)
CP #AA
JR NZ,H760C
INC HL
LD A,H
OR L
JR NZ,H75FF
LD BC,H0001
H760C EI
RET
LD A,H
CALL H7617
LD A,L
CALL H7617
RET
H7617 PUSH AF
RRA
RRA
RRA
H761B RRA
CALL H7624
POP AF
CALL H7624
RET
H7624 AND #0F
CP #0A
H7628 SBC A,#69
DAA
RST #10
RET
H762D POP DE
H762E LD A,(DE)
INC DE
CP #FF
JR Z,H7637
RST #10
JR H762E
H7637 PUSH DE
RET
H0D6B EQU #0D6B
H1601 EQU #1601
H9800 EQU #9800
H0042 EQU #0042
HA000 EQU #A000
H0001 EQU #0001
Сама процедура простая - инициализация памяти #A000..#FFFF константой #AA, удержание R в задержке и проверка памяти после.
Верхняя страница не выставляется, то есть остается той, что выставлена Бейсиком128 - нулевой, что можно увидеть в отладчике.
Это не для Летаргика, ему ничего не докажешь, это для других интересующихся.
нет, первоначальное утверждение сдалал ты, следовательно, ты и должен его доказывать
даже если прогон корректный, из него никак не следует, что этим занимается именно юла
кроме того
как минимум - слишком уж короткий, пара секунд
вон, чувак утверждает, что необходимо минуты (!) ждать
https://retrocomputing.stackexchange...-the-leningrad
причём даже на 48k с его 4116