Просмотр полной версии : Посоветуйте эмуль для разработчика
Oleg N. Cher
05.07.2013, 16:01
После перехода на XP64 столкнулся с выбором самого ненадоедливого и приличного эмулятора ZX. Выбор у меня такой:
Spectaculator довольно тормозной, не говоря уже о платности.
FUSE весьма хорош. Но официальная сборка
---------------------------
Free Unix Spectrum Emulator (Fuse) 1.0.0 (c) 1999-2008 Philip Kendall and others. See http://fuse-emulator.sf.net/ for details.
---------------------------
(для Windows) не сохраняет выбранного размера видео и фильтра. Их приходится каждую сессию выбирать заново. Это бесит, но другие менее официальные сборки грешат тем же.
ZXSpin под XP32 вёл себя прилично. Под XP64 же он каждый раз при запуске пишет:
DirectX Error
A hardware-only DirectDraw object creations was attempted but the driver did not support any hardware.
GDI Mode will be used instead for this session.
To set GDI mode for future sessions, go to the Tools menu, Options, Video, then change "Renderer" to "GDI".
Надо ли сообщать, что в меню и так выбрано Renderer -> GDI. Версия ZXSpin'а 0504.
EmuZWin 2.7 Rev 2.8 каждый божий запуск увеличивает высоту экрана на произвольное количество пикселов. Это происходит у меня под любой виндой (не только XP64) на ноуте и на десктопе, так что, уверен, ошибку легко воспроизвести. Писал когда-то давно Кладову, просил пофиксить, но, похоже, руки так и не дошли.
Больше всего конечно нужно, чтобы эмуль поддерживал TR-DOS и был лёгким. Фиксов под мультиколоры и очень точного AY не требуется.
Нужен просто эмуль-рабочая лошадка, чтобы очень часто и быстро запускать в нём программы (в связке с ZXDev).
Вот такой вот крик души. ;) ОС менять не хочу.
Буду рад не только совету взять новый эмулятор, но и любой информации о фиксах вышеуказанных проблем.
Spectaculator довольно тормозной, не говоря уже о платности.
Скачай с VT восьмую версию. Там ключ есть.
Oleg N. Cher
05.07.2013, 16:23
Та хрен с ней, с платностью ;). Знаю, что это хороший эмуль. Но тяжёлый. У меня десктоп слабенький (по нынешним меркам).
Попробуй Унреал 0.38.0 Качать там же.
Unreal выбор лучших собаководов
introspec
05.07.2013, 16:39
Я работаю на Win 7 64 и активно использую Spectaculator ver.8, ZXSpin ver.0.7 (с разными буквами), UnrealSpeccy ver.0.38 и ZXMAK2 (какой там самый свежий). У каждого эмулятора есть свои достоинства и недостатки.
Spectaculator ver.8 - удобно настраивается как эмулятор для автозапуска tap и trd файлов. Я не знаю, что имеется в виду под медленным запуском; у меня версия 8 запускается не медленнее любого другого эмулятора. У этого эмулятора хорошие времянки, поддерживаются все вариации классики, равно как и пентагон со скорпионом, и есть полезная опция записи видео.
ZXSpin ver.0.7 - эмулятор брошен авторами. Последняя официальная версия 0.666 (т.е. ваш какой-то совсем уж старый). Если поискать, в сети есть несколько вариантов версии 0.7; все они немного разные и немного глючные. Тем не менее, я очень люблю этот эмулятор за хорошие времянки классики и удобный отладчик (на мой взгляд - самый удобный).
UnrealSpeccy ver.0.38 - эмулятор с самым качественным звуком. К сожалению, он не эмулирует классические модели спектрумов.
ZXMAK2 - молодой, постоянно обновляющийся эмулятор с самой обширной и проработанной базой данных по времянкам классических спектрумов и клонов. Очень полезен для независимого тестирования любого кода, требующего высокоточной эмуляции процессора и ULA.
SoftLight
05.07.2013, 16:56
Либо ZXMAK2 либо Unreal третьего не дано
introspec, Унрил 0.38.0 тоже видео стал записывать.
+ Добавлено сохранение видео через ffmpeg (подробности в unreal_video_saver_r.txt, код предоставил psb)
Последняя версия ZXSpin ver.0.7 с литерой "S" в конце - http://www.t2e.pl/pl/390/134/390/Emulatory-ZXSpin/483
introspec
05.07.2013, 18:06
introspec, Унрил 0.38.0 тоже видео стал записывать.
Да, я пробовал. Но как я уже говорил, без адекватной поддержки классики Unreal просто не годится на роль основного эмулятора. Кроме того, я, если честно, нахожу интерфейс Unreal'a невменяемым.
---------- Post added at 15:06 ---------- Previous post was at 15:03 ----------
Последняя версия ZXSpin ver.0.7 с литерой "S" в конце
Там нужно осторожнее. Есть несколько сборок последних версий, причём иногда даже разные сборки имеют одну и ту же букву. У всех немного разное поведение и разные баги. Нужно бы разобраться, но у меня просто руки не дошли.
introspec
05.07.2013, 20:12
Последняя версия ZXSpin ver.0.7 с литерой "S" в конце
Посмотрел. У меня на одном компьютере стоит ZXSpin ver.0.7q (сборка 20/12/2009), а на другом, какой-то другой, наверное, ZXSpin ver.0.7s (у меня есть два варианта этой сборки, сборка 01/12/2009 и сборка 02/12/2009). В моей конфигурации, сборка с "q" работает надёжнее всего. Если мне не изменяет сейчас память, можно найти ещё сборки весны 2010, но там уже странностей побольше.
И имейте в виду, что времянки пентагона у ZXSpin - неверные.
introspec, у меня этих ZXSpin'ов 6 штук. Просто 07, 07i, 07n, 07q, 07r и 07s. Вот в таком порядке они и выходили.
introspec
05.07.2013, 21:15
introspec, у меня этих ZXSpin'ов 6 штук. Просто 07, 07i, 07n, 07q, 07r и 07s. Вот в таком порядке они и выходили.
Rindex, спорить не о чем; я просто привёл даты сборки экзешников и поделился своим опытом работы с ними.
А где там написана дата сборки? Не вижу, что-то.
introspec
05.07.2013, 21:23
А где там написана дата сборки? Не вижу, что-то.
Ну, даты создания экзешников.
Ну, даты создания экзешников.
Это не правильно. Эти даты, когда ты распаковал папку. Я вот сейчас распаковал, и они у меня все стали 05.07.2013. Так что, на буквы надо смотреть.
introspec
05.07.2013, 21:30
Это не правильно. Эти даты, когда ты распаковал папку. Я вот сейчас распаковал, и они у меня все стали 05.07.2013. Так что, на буквы надо смотреть.
Риндекс, прости меня за рабоче-крестьянскую прямоту, но я не буду учить тебя распаковывать архивы так чтобы не портить исходные даты. Если ты не умеешь этого делать, это не означает, что это невозможно.
Я не заморачиваюсь на счёт этого.
PERESTROiKA
05.07.2013, 21:41
C Unreal надо быть повнимательнее.
Если в нем исполняется команда DI, HALT у него еще PC делает несколько шагов :confused:
Alex Rider
05.07.2013, 22:17
В Unreal самый вменяемый отладчик. GUI и настройки через ini - не айс. Есть unreal'ы для ZX Evo с разными прошивками. Девайсов поддерживает дофига. Времянки неточные.
Oleg N. Cher
05.07.2013, 22:31
А мне нравится EmuZWin'ский отладчик. Жалко, исходники не открыты, я бы сам тот баг поправил.
А EmuZGL совсем другая песня.
Если в нем исполняется команда DI, HALT у него еще PC делает несколько шагов
даже в последнем? вроде это фиксили...
Oleg N. Cher
06.07.2013, 12:07
Попробуй Унреал 0.38.0 Качать там же.
Попробовал. Не нравится по двум причинам:
1) Долго запускается (как и Spectaculator). Отвратительное текстовое окошко мигнёт и погаснет. Это хорошо для геймеров, запустил разок и наслаждаешься весь день. А что делать кодеру, когда ему за минуту надо 3 раза эмуль запустить?
2) Не понимает заданного в командной строке TAP'а. Или я неправильно задаю? :)
unreal.exe DWoods2.tap
В талмудике ничего внятного про параметры командной строки не нашёл.
Так что, несмотря на его непознанные для меня достоинства, уже эти два пункта делают его неприемлемым. Это ли эмуль для разработчика?
---------- Post added at 10:44 ---------- Previous post was at 10:38 ----------
Spectaculator ver.8 - удобно настраивается как эмулятор для автозапуска tap и trd файлов. Я не знаю, что имеется в виду под медленным запуском; у меня версия 8 запускается не медленнее любого другого эмулятора.Под этим понимается то, что у тебя, видимо, машина - дура - под 4 гб и 3 ггц, раз семёрку поставил, а у меня на M2N VM долго грузит плагины, видно как дуплит. И так каждый запуск, а не только первый.
---------- Post added at 10:50 ---------- Previous post was at 10:44 ----------
P.S. Как выяснилось, TAP в командной строке унрыл таки понимает, но не автостартует. Или не умеет, или не задана опция. Первое неприемлемо, второе просто грустно.
---------- Post added at 11:07 ---------- Previous post was at 10:50 ----------
P.P.S. ZXMAK туда же, не автостартует TAP'ы. Для медитации попробуйте вдумчиво понабирать 48 BASIC -> LOAD"" раз двести за день, очень приятное занятие. :)
Что обидно - ничего ж такого особенного не требуется, просто автостарт и быстрый запуск без мигающих окошек.
Не-е, видимо, придётся идти на поклон к сообществу FUSE.
introspec
06.07.2013, 12:38
Не-е, видимо, придётся идти на поклон к сообществу FUSE.
Ничего плохого во Fuse я не вижу. Времянки отличные, поддержка некоторого редкого железа, типа Таймекса. Мне немного не нравится интерфейс, но вообще эмулятор очень толковый.
После перехода на XP64...
Вопрос: зачем?
Oleg N. Cher
06.07.2013, 16:48
1. Было интересно попробовать. Даже не уверен был, что найду все дрова. Но нашёл, даже под МФУ.
2. Нужна лёгкая винда под мой M2N VM. Ещё хочу поэкспериментировать и научить XDev генерировать 64-битный код.
Ничего плохого во Fuse я не вижу. Времянки отличные, поддержка некоторого редкого железа, типа Таймекса. Мне немного не нравится интерфейс, но вообще эмулятор очень толковый.Меня FUSE всем устраивает, кроме того, что имеющиеся у меня сборки под винду не сохраняют выбранные двойной (тройной) размер окна и фильтр.
Alex Rider
06.07.2013, 16:48
Попробовал. Не нравится по двум причинам:
1) Долго запускается (как и Spectaculator). Отвратительное текстовое окошко мигнёт и погаснет. Это хорошо для геймеров, запустил разок и наслаждаешься весь день. А что делать кодеру, когда ему за минуту надо 3 раза эмуль запустить?
2) Не понимает заданного в командной строке TAP'а. Или я неправильно задаю?
1) "Отвратительное текстовое окошко" убираем в ini: HideConsole=1. Там же отключает 100500 ненужных устройств, которые инициализирубтся при старте (на Ваш вкус). Конкретно на скорость запуска влияют всякие ностиелт типа CR-ROM, HDD, SDCARD и так далее. Если надо, могу дать "урезанный" ini, только скажите какой набор устройств нужен.
2) Честно говоря, не видел эмулей, которые сами набирают LOAD "" [ENTER]. Я обычно юзаю его с TRD со сбросом в TR-DOS по дефолту. Можно использовать Tape Loader, не? Одна кнопка после запуска. Автостарт ленты есть, тоже включается в ini (если выключен), мгновенная загрузка TAP'ов тоже есть. Еще могу сделать ROM 48 бэйсика, который сам делает LOAD "" после сброса.
Oleg N. Cher
06.07.2013, 16:56
А может кто из здешних программистов поколдует и соберёт сборочку FUSE без этой проблемы? Или может у кого-то она уже есть собранная?
Нужен, разумеется, под Win32. Хотя и под Win64 сгодится, если таковой имеется.
---------- Post added at 15:56 ---------- Previous post was at 15:52 ----------
Честно говоря, не видел эмулей, которые сами набирают LOAD "" [ENTER].Да вот EmuZWin, FUSE, ZXSpin. Я не утверждаю, что они "набирают" и как это реализовано, но TAP-ы запускают сами. Что и требуется.
А вот с автозапуском boot'а в TRD я не знал до сих пор ни одного эмуля. Запускал ручками: RUN [Enter]
Автостарт ленты есть, тоже включается в ini (если выключен), мгновенная загрузка TAP'ов тоже есть.Жалко что оно по умолчанию выключено. А это всё касалось UnrealSpeccy, да?
P.P.S. ZXMAK туда же, не автостартует TAP'ы. Для медитации попробуйте вдумчиво понабирать 48 BASIC -> LOAD"" раз двести за день, очень приятное занятие. :)
Автостарт в zxmak2 есть, включен по дефолту, выключается в окне управления магнитофоном.
К тому-же ZXMAK2 - это единственный эмуль поддерживающий внешние отлачики и предоставляющий программный контроль за состоянием памяти и процессора виртуальной машины
Oleg N. Cher,
"лёгкая винда" и winxp64 - совсем не рядом. Может лучше поставить win7 x86? (если 2гига в комплекте).
Alex Rider
06.07.2013, 18:41
Я не утверждаю, что они "набирают" и как это реализовано, но TAP-ы запускают сами.
Это для игрушек хорошо, да. А как они на самом деле запускают TAP-загадка. Для отладки плохо.
А вот с автозапуском boot'а в TRD я не знал до сих пор ни одного эмуля. Запускал ручками: RUN [Enter]
Правильно. Это не дело эмуля. Так делает сам TR-DOS. Если сброс в него происходит. При входе через 15616 или из меню BASIC128 RUN "boot" автоматически не выполнется.
Жалко что оно по умолчанию выключено.
У Unreal вообще все не по-человечьи с "по умолчанию". Кто какие хочет, тот такие ini-шники и кладет в архив у себя на сайте. И сборки выпускают разные люди. Настрой один раз себе ini - это не шибко сложнее, чем протыкать GUI. Там все откомментировано. Меня Unreal радует самым грамотным грамотным из всех виденных отладчиком и поддержкой железок (а вдруг у ZXDev появятся библиотеки для графики ATM или музыки General Sound?)
Oleg N. Cher, я вообще при отладке использую .sna
Oleg N. Cher, я вообще при отладке использую .sna
SNA и Z80 для отладки не годятся, они не полностью сохраняют текущее состояние. Для отладки и не только, лучше всего подходит SZX.
SNA и Z80 для отладки не годятся
да все годится в умелых руках! я и под 512 отлаживал через сна. быстро и удобно. если умеючи. (и эмулятор перезапускать МНЕ не надо было)
ZXMAK, поподробнее пожалуйста.
стек на месте, pc на месте, что еще нужно?
ZXMAK, поподробнее пожалуйста.
стек на месте, pc на месте, что еще нужно?
текущий такт фрейма отсутствует, это более чем достаточная причина чтобы было невозможно сохранить рабочий код в SNA.
А если еще учесть что многие эмули неправильно читают пишут SNA файлы, так вообще картина красочная получается... :)
А если еще учесть что многие эмули неправильно читают пишут SNA файлы, так вообще картина красочная получается... :)
Ага. Например, упоминаемый unreal кладет болт на спецификацию формата при сохранении.
ZXMAK, а еще у него вертелки не вертелят и перделки не перделят.
зато отладчик там один из самых удобных и показ меток есть.
---------- Post added at 07:41 ---------- Previous post was at 07:41 ----------
Vitamin, сорцы есть - допилишь такую малость?
Использую sna. Никаких проблем) Откомпилировал, нашел баг отладчиком, исправил сорец... всё просто. Последний unreal вообще радует, до этого юзал сборку под ZX-EVO... только она плавно работала... но без FlashColor'а... а сейчас и 8ой спектакулятор уже научился быть плавным.
jerri, допилить-то могу. Вот собрать и проверить- врядли. К тому же у анрила есть вполне себе официальные разработчики. В том числе и на этом форуме.
Ага. Например, упоминаемый unreal кладет болт на спецификацию формата при сохранении.
а что там не так?
п.с. вот ты же сам не так давно рассказывал что надо делать с "плохим" софтом: написать разрабам о баге, а не поливать продукт. а сам что-то не пишешь, хотя что-то знаешь...
а что там не так?
Неправильные значения режима прерываний. Вместо 0/1/2 хранится 0/255
п.с. вот ты же сам не так давно рассказывал что надо делать с "плохим" софтом: написать разрабам о баге, а не поливать продукт. а сам что-то не пишешь, хотя что-то знаешь...
Рассказ о баге без каких-либо эмоций- это уже поливание?
Лично для меня исправление этого бага совершенно ничего не изменит. Ибо все кривые снапшоты не станут в одночасье корректными.
Рассказ о баге без каких-либо эмоций- это уже поливание?
конечно:) (да еще и без деталей).. за детали спасибо.
---------- Post added at 01:15 ---------- Previous post was at 00:59 ----------
Неправильные значения режима прерываний. Вместо 0/1/2 хранится 0/255
в последнем анриле туда (+25) сохраняется 0/1/2. сам лично сохранил и проверил.
конечно:) (да еще и без деталей).. за детали спасибо.
---------- Post added at 01:15 ---------- Previous post was at 00:59 ----------
в последнем анриле туда (+25) сохраняется 0/1/2. сам лично сохранил и проверил.
Для меня анрил кончился с авторскими древними версиями. Разве что к USP здоровый интерес имеется.
Для меня анрил кончился с авторскими древними версиями.
лол... сразу бы так и сказал.
лол... сразу бы так и сказал.
Ну в виду большого количества невнятные наколеночных веток и всего двух(!) человеческих репозиториев, понятие "последняя версия" весьма размыто:)
jerri, допилить-то могу. Вот собрать и проверить- врядли. К тому же у анрила есть вполне себе официальные разработчики. В том числе и на этом форуме.
Да нет у него никого.
SMT забил ALone забил
TSL его только под свою конфу пилит
LVD под свою конфу.
нет у него разработчиков
deathsoft тоже забил?
При входе через 15616 или из меню BASIC128 RUN "boot" автоматически не выполнется.
отчего же? в скорпе тырдосы (48к и 128к) с автостартами :)
ps. странно, что никто не вспомнил z80stealth
NovaStorm
08.07.2013, 11:08
>странно, что никто не вспомнил z80stealth
А отладчик в нём допилили?
research
08.07.2013, 11:12
смотря что разрабатывать, я бы вспомнил Шалаева 2.03. Если что мутить на ассемблерах - самый эмулятор, быстрее и удобнее его ничего не было. Компилируется в нем все мухой.
Если мультиколоры и прочее фиксить - unreal
Ну в виду большого количества невнятные наколеночных веток и всего двух(!) человеческих репозиториев, понятие "последняя версия" весьма размыто
Да нет у него никого.
SMT забил ALone забил
TSL его только под свою конфу пилит
LVD под свою конфу.
нет у него разработчиков
Оба раза фигня написана. Перед тем как забить, Алоний передал Unreal товарищу Deathsoft-у. Который основательно почистил его от пеонерьего *****кода. И зорко шлет нахер новых желающих насрать внутрь.
Развитие есть. Патчи принимаются. Я, например, запилил поддержку аппаратного скролла для ATM2+, который есть в железе, но не эмулировался нигде ранее.
Дессофт занимается анрилом уже 5 лет, с 2008 года. УРЛ проекта выводится в консоль при запуске. Тока кто же туда смотрит верно ? Поэтому вот он, для ленивых: http://dlcorp.nedopc.com/viewforum.php?f=27
И с vtrdos-а скачивается именно этот анрил. А не форки разных рукожопых деятелей.
UnrealSpeccy v0.35b2 (win) by SMT. Date: 10.08.2006.
UnrealSpeccy v0.37.1 (win) by Alone Coder. Date: 14.09.2008.
UnrealSpeccy v0.37.6 (win) by Deathsoft. Date: 13.09.2011.
UnrealSpeccy v0.38 (win) by Deathsoft. Date: 10.03.2013.
Оба раза фигня написана. Перед тем как забить, Алоний передал Unreal товарищу Deathsoft-у. Который основательно почистил его от пеонерьего *****кода. И зорко шлет нахер новых желающих насрать внутрь.
смт забил? забил!
алоний забил? забил!
где фигня написана?
Развитие есть. Патчи принимаются. Я, например, запилил поддержку аппаратного скролла для ATM2+, который есть в железе, но не эмулировался нигде ранее.
Дессофт занимается анрилом уже 5 лет, с 2008 года. УРЛ проекта выводится в консоль при запуске. Тока кто же туда смотрит верно ? Поэтому вот он, для ленивых: http://dlcorp.nedopc.com/viewforum.php?f=27
то что кто-то где-то что-то держит я только рад
У меня версия 0.37.6
правда весь *****код зачистил?
Пофиксана бага (из родного анрыла - привет *****кодерам):
при загрузке SNA128 автоматически включался пентагон и делался ресет. Нашел jerri.
Очередное враньё тслабса. SNA128 в моей версии грузятся прекрасно.
alone
int readSNA128()
{
conf.mem_model = MM_PENTAGON; conf.ramsize = 128;
hdrSNA128 *hdr = (hdrSNA128*)snbuf;
reset(hdr->trdos? RM_DOS : RM_SOS);
cpu.alt.af = hdr->altaf; cpu.alt.bc = hdr->altbc;
cpu.alt.de = hdr->altde; cpu.alt.hl = hdr->althl;
cpu.af = hdr->af; cpu.bc = hdr->bc; cpu.de = hdr->de; cpu.hl = hdr->hl;
cpu.ix = hdr->ix; cpu.iy = hdr->iy; cpu.sp = hdr->sp; cpu.pc = hdr->pc;
cpu.i = hdr->i; cpu.r_low = hdr->r; cpu.r_hi = hdr->r & 0x80; cpu.im = hdr->im;
cpu.iff1 = hdr->iff1?1:0; comp.p7FFD = hdr->p7FFD;
comp.pFE = hdr->pFE; comp.border_attr = comp.pFE & 7;
memcpy(memory+PAGE*5, hdr->page5, PAGE);
memcpy(memory+PAGE*2, hdr->page2, PAGE);
memcpy(memory+PAGE*(hdr->p7FFD & 7), hdr->active_page, PAGE);
unsigned char *newpage = snbuf+0xC01F;
unsigned char mapped = 0x24 | (1 << (hdr->p7FFD & 7));
for (unsigned char i = 0; i < 8; i++)
if (!(mapped & (1 << i))) {
memcpy(memory + PAGE*i, newpage, PAGE); newpage += PAGE;
}
set_banks(); return 1;
}
расскажи как это работает и почему у меня в этот момент отключалась ТСЛ конфа и включалась Пентагон конфа?
Конфа включается потому, что иначе может остаться расширенный экран. А сброса никакого нет, идёт переход на hdr->pc.
deathsoft тоже забил?
deathsoft принимает репорты и оперативно их фиксит. если про них сообщают.
правда весь *****код зачистил?
не весь, его там по ходу еще много, но оно постоянно чистится.
где фигня написана?
А ты все читай, а не по-диагонали, выбирая удобные куски.
Vitamin> понятие "последняя версия" весьма размыто
Jerri> нет у него разработчиков
Вот они, эти оба раза, в которых фигня написана.
---------- Post added at 14:10 ---------- Previous post was at 14:05 ----------
расскажи как это работает и почему у меня в этот момент отключалась ТСЛ конфа и включалась Пентагон конфа?
Вот к автору этой *****конфы и обращайся с претензиями. В референсном унриале ТСЛ херни нету (и не надо)
Конфа включается потому, что иначе может остаться расширенный экран. А сброса никакого нет, идёт переход на hdr->pc.
т.е с твоей точки зрения снап128 существует ТОЛЬКО для хранения 128 игр соснапленых с пентагона?
красивое решение, нечего сказать, а если я гружу снап с +2 или снап под скорпион? или тот же снап под ТСЛконфу что я должен делать?
Придумай формат снапшота, который хранит модель и всё состояние машины.
И да, +2 в анриле не эмулируется.
или тот же снап под ТСЛконфу что я должен делать?
Какую ещё нафиг ТСЛконфу, нету её в анриле. И да - отвечайте на мой ответ!!111 :)
---------- Post added at 14:20 ---------- Previous post was at 14:19 ----------
И да, +2 в анриле не эмулируется.
Эмулируется, причём давным давно.
version 0.37.3.fix3 11 may 2009 (deathsoft)
Т.к. +2 это спектрум. В отличие от.
Вот они, эти оба раза, в которых фигня написана.
ну чо молодец :) восстановил справедливость.
Вот к автору этой *****конфы и обращайся с претензиями. В референсном унриале ТСЛ херни нету (и не надо)
он кстати свой кусоск пофиксил
вопрос остается открытым на каком основании при загрузке снапшота в версии 0.37.6 ПРИНУДИТЕЛЬНО включается пентагон конфа и ПРИНУДИТЕЛЬНО устанавливается 128 кб?
почему дефолтовые и текущие настройки идут по бороде?
ресет у меня кстати происходил немного по другой причине.
---------- Post added at 14:23 ---------- Previous post was at 14:21 ----------
Придумай формат снапшота, который хранит модель и всё состояние машины.
И да, +2 в анриле не эмулируется.
мне не надо хранить модель
мне будет достаточно если в открытый мной эмулятор будут загружены данные из открытого мной снапшота.
вопрос остается открытым на каком основании
http://hitler-anal-software.com/temp/PicStore/double-facepalm.gif
Какую ещё нафиг ТСЛконфу, нету её в анриле. И да - отвечайте на мой ответ!!111 :)
я могу и под скорп писать а мне хлоп и память режут еще на этапе загрузки
И да, не прикидывайся дурачком, тебе это не идет.
я могу и под скорп писать а мне хлоп и память режут еще на этапе загрузки
В 0.38 память ВНЕЗАПНО не лочится вообще. А лочится только в режиме пентагона и только если задана опция SnaLock.
1) не используй кривые форки
2) не используй старые версии
3) ?????
4) PROFIT!!!
И да, не прикидывайся дурачком, тебе это не идет.
Нет ты.
screwdriver на вас нет :v2_devil:
Oleg N. Cher
08.07.2013, 14:56
Oleg N. Cher, я вообще при отладке использую .snaНу начинается. Так и думал, что .sna советовать приползут. Я, кажется, не спрашивал - какой бы мне формат снапшотов поюзать. Вопрос был про TAP.
Oleg N. Cher,
"лёгкая винда" и winxp64 - совсем не рядом. Может лучше поставить win7 x86? (если 2гига в комплекте).Практика показывает, что на моём железе XP64 работает не хуже XP32. Субъективно не медленнее. Обсудим скорость работы Win7 на старом железе?
Ты, видимо, судишь о XP64, не щупав её. На основании юзанья 64-битных 7-ки или висты.
Вопрос про фикс FUSE, чтобы сохранял размер окна/фильтр, открыт.
В 0.38 память ВНЕЗАПНО не лочится вообще. А лочится только в режиме пентагона и только если задана опция SnaLock.
1) не используй кривые форки
2) не используй старые версии
3) ?????
4) PROFIT!!!
http://dlcorp.nedopc.com/styles/prosilver/imageset/icon_post_target.gif (http://dlcorp.nedopc.com/viewtopic.php?p=31308#p31308)by deathsoft (http://dlcorp.nedopc.com/memberlist.php?mode=viewprofile&u=67) » 10 Mar 2013, 06:26
version 0.38.0 10 mar 2013 (deathsoft)
проблема с загрузкой снапшота у меня возникла в декабре 2012 года
все твои аргументы уходят куда? правильно в сад
на декабрь я использовал самую последнюю версию эмулятора.
screwdriver на вас нет
Оу-оу парень, полегше! Я ж пошутил!!111
http://hitler-anal-software.com/temp/sclmn.jpg
---------- Post added at 15:05 ---------- Previous post was at 15:03 ----------
проблема с загрузкой снапшота у меня возникла в декабре 2012 года
все твои аргументы уходят куда? правильно в сад
Ты о ней сообщил ? Телепаты в отпуске. Psb столкнулся, сообщил - сразу вышел фикс.
И да, кстати, ни в одном из фиксов унриала не фигурирует строчка:
хххххх (jerri)
Т.е. jerri не сообщил ни об одной проблеме.
Oleg N. Cher, можно и тапку прикрутить, но автозагрузка тапки это не самый быстрый способ
Oleg N. Cher, можно и тапку прикрутить, но автозагрузка тапки это не самый быстрый способ
Курите факи, они рулез!
В унриале есть мгновенная загрузка тапов. Грузится быстрее чем TRD.
TapeTraps=1
version 0.37.3.fix1 16 feb 2009 (deathsoft)
+Tape traps (molodcov_alex)
и ВНЕЗАПНО тамже
"-При загрузке снапшотов убрано выставление конфигурации pentagon 128 (molodcov_alex)"
Так что не рассказывай сказки про актуальную версию на 2012 год.
В марте 2013 сделан опциональный лок 128 памяти. А пентагон никуда не включался уже давно.
Ну начинается. Так и думал, что .sna советовать приползут. Я, кажется, не спрашивал - какой бы мне формат снапшотов поюзать. Вопрос был про TAP.
ай да не 3.14щи, ладно? в твоём ТЗ есть 2 позиции по которым я тебе выдал
1 unreal
2 snapshot
вон там внизу читай, ага?
После перехода на XP64 столкнулся с выбором самого ненадоедливого и приличного эмулятора ZX. Выбор у меня такой:
Spectaculator довольно тормозной, не говоря уже о платности.
FUSE весьма хорош. Но официальная сборка
---------------------------
Free Unix Spectrum Emulator (Fuse) 1.0.0 (c) 1999-2008 Philip Kendall and others. See http://fuse-emulator.sf.net/ for details.
---------------------------
(для Windows) не сохраняет выбранного размера видео и фильтра. Их приходится каждую сессию выбирать заново. Это бесит, но другие менее официальные сборки грешат тем же.
ZXSpin под XP32 вёл себя прилично. Под XP64 же он каждый раз при запуске пишет:
DirectX Error
A hardware-only DirectDraw object creations was attempted but the driver did not support any hardware.
GDI Mode will be used instead for this session.
To set GDI mode for future sessions, go to the Tools menu, Options, Video, then change "Renderer" to "GDI".
Надо ли сообщать, что в меню и так выбрано Renderer -> GDI. Версия ZXSpin'а 0504.
EmuZWin 2.7 Rev 2.8 каждый божий запуск увеличивает высоту экрана на произвольное количество пикселов. Это происходит у меня под любой виндой (не только XP64) на ноуте и на десктопе, так что, уверен, ошибку легко воспроизвести. Писал когда-то давно Кладову, просил пофиксить, но, похоже, руки так и не дошли.
Больше всего конечно нужно, чтобы эмуль поддерживал TR-DOS и был лёгким. Фиксов под мультиколоры и очень точного AY не требуется.
Нужен просто эмуль-рабочая лошадка, чтобы очень часто и быстро запускать в нём программы (в связке с ZXDev).
Вот такой вот крик души. ;) ОС менять не хочу.
Буду рад не только совету взять новый эмулятор, но и любой информации о фиксах вышеуказанных проблем.
---------- Post added at 15:20 ---------- Previous post was at 15:11 ----------
Курите факи, они рулез!
В унриале есть мгновенная загрузка тапов. Грузится быстрее чем TRD.
version 0.37.3.fix1 16 feb 2009 (deathsoft)
+Tape traps (molodcov_alex)
и ВНЕЗАПНО тамже
"-При загрузке снапшотов убрано выставление конфигурации pentagon 128 (molodcov_alex)"
Tape traps это быстрая загрузка, что не есть автозагрузка тапов, ага?
И чо? я верю своим глазам, чужим глазам прости верить разучился.
я покурил сорцы :) в них Алекс который просто молодец пофиксил совсем уж говенный *****код, но блин, не везде же.
я вон жырненьким выделил где он пофиксил
а жырненьким наклонным там где должен был но не стал
int readSNA128()
{
conf.mem_model = MM_PENTAGON; conf.ramsize = 128;
hdrSNA128 *hdr = (hdrSNA128*)snbuf;
reset(hdr->trdos? RM_DOS : RM_SOS);
cpu.alt.af = hdr->altaf; cpu.alt.bc = hdr->altbc;
cpu.alt.de = hdr->altde; cpu.alt.hl = hdr->althl;
cpu.af = hdr->af; cpu.bc = hdr->bc; cpu.de = hdr->de; cpu.hl = hdr->hl;
cpu.ix = hdr->ix; cpu.iy = hdr->iy; cpu.sp = hdr->sp; cpu.pc = hdr->pc;
cpu.i = hdr->i; cpu.r_low = hdr->r; cpu.r_hi = hdr->r & 0x80; cpu.im = hdr->im;
cpu.iff1 = hdr->iff1?1:0; comp.p7FFD = hdr->p7FFD;
comp.pFE = hdr->pFE; comp.border_attr = comp.pFE & 7;
memcpy(memory+PAGE*5, hdr->page5, PAGE);
memcpy(memory+PAGE*2, hdr->page2, PAGE);
memcpy(memory+PAGE*(hdr->p7FFD & 7), hdr->active_page, PAGE);
unsigned char *newpage = snbuf+0xC01F;
unsigned char mapped = 0x24 | (1 << (hdr->p7FFD & 7));
for (unsigned char i = 0; i < 8; i++)
if (!(mapped & (1 << i))) {
memcpy(memory + PAGE*i, newpage, PAGE); newpage += PAGE;
}
set_banks(); return 1;
}
int readSNA48()
{
//conf.mem_model = MM_PENTAGON; conf.ramsize = 128; // molodcov_alex
reset(RM_SOS);
hdrSNA128 *hdr = (hdrSNA128*)snbuf;
cpu.alt.af = hdr->altaf; cpu.alt.bc = hdr->altbc;
cpu.alt.de = hdr->altde; cpu.alt.hl = hdr->althl;
cpu.af = hdr->af; cpu.bc = hdr->bc; cpu.de = hdr->de; cpu.hl = hdr->hl;
cpu.ix = hdr->ix; cpu.iy = hdr->iy; cpu.sp = hdr->sp;
cpu.i = hdr->i; cpu.r_low = hdr->r; cpu.r_hi = hdr->r & 0x80; cpu.im = hdr->im;
cpu.iff1 = hdr->iff1?1:0; comp.p7FFD = 0x30;
comp.pEFF7 |= EFF7_LOCKMEM; //Alone Coder
comp.pFE = hdr->pFE; comp.border_attr = comp.pFE & 7;
memcpy(memory+PAGE*5, hdr->page5, PAGE);
memcpy(memory+PAGE*2, hdr->page2, PAGE);
memcpy(memory+PAGE*0, hdr->active_page, PAGE);
cpu.pc = cpu.DirectRm(cpu.sp)+0x100*cpu.DirectRm(cpu.sp+1); cpu.sp += 2;
set_banks(); return 1;
}
int readSP()
{
//conf.mem_model = MM_PENTAGON; conf.ramsize = 128; // molodcov_alex
reset(RM_SOS);
hdrSP *hdr = (hdrSP*)snbuf;
cpu.alt.af = hdr->altaf; cpu.alt.bc = hdr->altbc;
cpu.alt.de = hdr->altde; cpu.alt.hl = hdr->althl;
cpu.af = hdr->af; cpu.bc = hdr->bc; cpu.de = hdr->de; cpu.hl = hdr->hl;
cpu.ix = hdr->ix; cpu.iy = hdr->iy; cpu.sp = hdr->sp; cpu.pc = hdr->pc;
cpu.i = hdr->i; cpu.r_low = hdr->r; cpu.r_hi = hdr->r & 0x80;
cpu.iff1 = (hdr->flags & 1);
cpu.im = 1 + ((hdr->flags >> 1) & 1);
cpu.iff2 = (hdr->flags >> 2) & 1;
comp.p7FFD = 0x30;
comp.pEFF7 |= EFF7_LOCKMEM; //Alone Coder
comp.pFE = hdr->pFE; comp.border_attr = comp.pFE & 7;
for (unsigned i = 0; i < hdr->len; i++)
cpu.DirectWm(hdr->start + i, snbuf[i + 0x26]);
set_banks(); return 1;
}
int readZ80()
{
//conf.mem_model = MM_PENTAGON; conf.ramsize = 128; // molodcov_alex
hdrZ80 *hdr = (hdrZ80*)snbuf;
unsigned char *ptr = snbuf + 30;
unsigned char model48k = (hdr->model < 3);
reset((model48k|(hdr->p7FFD & 0x10)) ? RM_SOS : RM_128);
if (hdr->flags == 0xFF)
hdr->flags = 1;
if (hdr->pc == 0)
{ // 2.01
ptr += 2 + hdr->len;
hdr->pc = hdr->newpc;
memset(RAM_BASE_M, 0, PAGE*8); // clear 128k - first 8 pages
while (ptr < snbuf+snapsize)
{
unsigned char *p48[] =
{
base_sos_rom, 0, 0, 0,
RAM_BASE_M+2*PAGE, RAM_BASE_M+0*PAGE, 0, 0,
RAM_BASE_M+5*PAGE, 0, 0, 0
};
unsigned char *p128[] =
{
base_sos_rom, base_dos_rom, base_128_rom, RAM_BASE_M+0*PAGE,
RAM_BASE_M+1*PAGE, RAM_BASE_M+2*PAGE, RAM_BASE_M+3*PAGE, RAM_BASE_M+4*PAGE,
RAM_BASE_M+5*PAGE, RAM_BASE_M+6*PAGE, RAM_BASE_M+7*PAGE, 0
};
unsigned len = *(unsigned short*)ptr;
if (ptr[2] > 11)
return 0;
unsigned char *dstpage = model48k ? p48[ptr[2]] : p128[ptr[2]];
if (!dstpage)
return 0;
ptr += 3;
if (len == 0xFFFF)
memcpy(dstpage, ptr, len = PAGE);
else
unpack_page(dstpage, PAGE, ptr, len);
ptr += len;
}
}
else
{
int len = snapsize - 30;
unsigned char *mem48 = ptr;
if (hdr->flags & 0x20)
unpack_page(mem48 = snbuf + 4*PAGE, 3*PAGE, ptr, len);
memcpy(memory + PAGE*5, mem48, PAGE);
memcpy(memory + PAGE*2, mem48 + PAGE, PAGE);
memcpy(memory + PAGE*0, mem48 + 2*PAGE, PAGE);
model48k = 1;
}
cpu.a = hdr->a, cpu.f = hdr->f;
cpu.bc = hdr->bc, cpu.de = hdr->de, cpu.hl = hdr->hl;
cpu.alt.bc = hdr->bc1, cpu.alt.de = hdr->de1, cpu.alt.hl = hdr->hl1;
cpu.alt.a = hdr->a1, cpu.alt.f = hdr->f1;
cpu.pc = hdr->pc, cpu.sp = hdr->sp; cpu.ix = hdr->ix, cpu.iy = hdr->iy;
cpu.i = hdr->i, cpu.r_low = hdr->r & 0x7F;
cpu.r_hi = ((hdr->flags & 1) << 7);
comp.pFE = (hdr->flags >> 1) & 7;
comp.border_attr = comp.pFE;
cpu.iff1 = hdr->iff1, cpu.iff2 = hdr->iff2; cpu.im = (hdr->im & 3);
comp.p7FFD = (model48k) ? 0x30 : hdr->p7FFD;
if(hdr->len == 55) // version 3.0 (with 1ffd)
comp.p1FFD = hdr->p1FFD;
if (model48k)
comp.pEFF7 |= EFF7_LOCKMEM; //Alone Coder
set_banks();
return 1;
}
---------- Post added at 15:25 ---------- Previous post was at 15:20 ----------
Ты о ней сообщил ? Телепаты в отпуске. Psb столкнулся, сообщил - сразу вышел фикс.
до ноября 2012 мне эта проблема не мешала и я её не видел.
И да, кстати, ни в одном из фиксов унриала не фигурирует строчка:
хххххх (jerri)
Т.е. jerri не сообщил ни об одной проблеме.
И не будут, мои фиксы в другой теме.
но блин, не везде же.
Да, в той старой версии алко-говна были вычищены не везде. Впрочем всем было ОЧЕНЬ ВАЖНО, раз никто, до psb, репорт не прислал. В текущей версии всё ок.
Так что повторю свой тезис, про левые форки, свежие версии и телепатов.
---------- Post added at 15:27 ---------- Previous post was at 15:27 ----------
до ноября 2012 мне эта проблема не мешала и я её не видел.
Да и после не мешала. Получается так.
---------- Post added at 15:28 ---------- Previous post was at 15:27 ----------
И не будут, мои фиксы в другой теме.
Ну а чего тогда жалуешься ? Не сообщил - сиди, кушай кактус (как на аватаре) :)
Да, в той старой версии алко-говна были вычищены не везде. Впрочем всем было ОЧЕНЬ ВАЖНО, раз никто, до psb, репорт не прислал. В текущей версии всё ок.
Так что повторю свой тезис, про левые форки, свежие версии и телепатов.
ага ага я знаю что такое новые версии, каждую неделю adobe flash обновляю, а баги, знаешь ли, все прут и прут. :)
Да и после не мешала. Получается так.
пока пишу под 128 мне и так не мешает
а версию где мешало пофиксили весьма быстро
Ну а чего тогда жалуешься ? Не сообщил - сиди, кушай кактус (как на аватаре) :)
на аватаре дефлопе с крутоном
пока пишу под 128 мне и так не мешает
справедливости ради, оно мешало очень редко. я с этим багом прекрасно отлаживал 512 проги. оно проявлялось ТОЛЬКО если после загрузки снапа заходить в меню настроек. если не заходить - все работало нормально.
рассуждения про глюки прошлых версий похожи на то, как вы бы заявили: первые эмуляторы вообще работали только под дос и работали очень хреново, поэтому я эмуляторы не приемлю.
psb, на 12 декабря 2012 версия программы не была устаревшей. официальный репорт не был отправлен по причине работы с неофициальной модификацией эмулятора, так что ...
но то что глюк проявлялся под эмуляцией 128+машин не есть ошибка, а есть злой умысел :)
оно проявлялось в т.ч. если поставить режим скорпа, загрузить снап (сделанный опять же в режиме скорпа), нажать Magic и получть фигу, потому что после загрузки выставился режим пентагона. Я, кстати, спрашивал об этом 03.03.2013 в теме Unreal'a, но никто не ответил и куда писать багрепорты я не знал и не знаю до сих пор.
куда писать багрепорты я не знал и не знаю до сих пор.
Чукча не читатель ? Я ж выше писал. И где ссылка находится, и даже ссылку привёл!
ВНЕЗАПНО - строчка при старте унриала:
*** new versions & sources -> http://dlcorp.nedopc.com/viewforum.php?f=8 ***
psb, на 12 декабря 2012 версия программы не была устаревшей.
а кто-то утверждает, что бага не было? был, и что? только вы вспомнили про него (даже не сообщив!), когда его давно уже не было. я и говорю, про дос тогда вспоминайте, все было гораздо хуже...
Придумай формат снапшота, который хранит модель и всё состояние машины.
И да, +2 в анриле не эмулируется.
Зачем изобретать велосипед -такой формат давно есть - SZX.
---------- Post added at 20:22 ---------- Previous post was at 20:09 ----------
Если мультиколоры и прочее фиксить - unreal
Unreal не эмулирует мультиколор,разве что только безвайтовые пентагон/скорп. И то - с ошибками, ошибка эмуляции мультиколора пентагона в unreal самая большая среди всех эмуляторов.
Как на нем мультиколор отлаживать, если его по сути нет? :)
Alex Rider
08.07.2013, 21:41
Как на нем мультиколор отлаживать, если его по сути нет?
Ну, это уж чересчур! У меня вышло. А фишка показа текущей позиции луча во фрейме очень помогает. Хотя, она не безглючна.
Ну, это уж чересчур! У меня вышло. А фишка показа текущей позиции луча во фрейме очень помогает. Хотя, она не безглючна.
Что черезчур? Насколько знаю, в unreal никогда не было эмуляции, contended memory. А без contended memory мультиколора никак не добьешься...
introspec
08.07.2013, 22:11
Что черезчур? Насколько знаю, в unreal никогда не было эмуляции, contended memory. А без contended memory мультиколора никак не добьешься...
Бывают эффекты, которые память не трогают :)
Vitamin> понятие "последняя версия" весьма размыто
Jerri> нет у него разработчиков
Вот они, эти оба раза, в которых фигня написана.
А в чем суть моей "фигни"? Для тупых можно?
А в чем суть моей "фигни"?
видимо в том, что ничего не размыто. а когда чем-то не интересуешься - ясное дело, все будет казаться размыто.
а кто-то утверждает, что бага не было? был, и что? только вы вспомнили про него (даже не сообщив!), когда его давно уже не было. я и говорю, про дос тогда вспоминайте, все было гораздо хуже...
ай не надо, ладно? я отлаживал программу под конфу, про баги сообщал автору конфы железа и конфы эмулятора. лазить по миллиону форумов желания не имел никогда, тем более увековечивать своё имя сомнительными подвигами
видимо в том, что ничего не размыто. а когда чем-то не интересуешься - ясное дело, все будет казаться размыто.
Предположим. А заинтересованность подразумевает знание default branch чтобы не возникало вопросов какая версия таки имеет право зваться последней? А ковыряние в сорцах заинтересованностью является?
А заинтересованность подразумевает знание default branch чтобы не возникало вопросов какая версия таки имеет право зваться последней?
не распарсил... в любом случае, активные ветки есть и их не много, чтобы в них совсем путаться.
А ковыряние в сорцах заинтересованностью является?
не обязательно. можешь и ковыряться в любой версии, для себя или хз для чего, но самим эмулятором не интересоваться.
Бывают эффекты, которые память не трогают :)
так ведь если код не обращается к портам и медленной памяти после 14 тыс тактов, то это уже не мультиколор :)
Да, в той старой версии алко-говна были вычищены не везде.
Прошу прощения, кнопки Break, Extend, ";" и средняя кнопка мыши тоже относятся к алко-говнам?
introspec
09.07.2013, 00:37
так ведь если код не обращается к портам и медленной памяти после 14 тыс тактов, то это уже не мультиколор :)
При некоторой сноровке, можно лезть в порты только тогда, когда не рисуется экран! :) Короче, вот честное слово, есть такие эффекты, которые можно отладить и в Unreal. Они, наверное, не самые интересные, но они есть - всякие горизонтальные шторы, например, или вот, скажем, ранние варианты моего трюка для mgdma (потом его пришлось переписать из-за недостатка памяти и теперь зависимость от медленной памяти (и эмуляция) уже необходимо учитывать). Т.е. мой старый код сработал бы и на безвейтовом компьютере, лишь бы времянка экрана совпала с классикой, а новый - наверняка уже не сможет.
Хотя, в целом, я, конечно, предпочитаю отлаживать не в Unreal.
не распарсил... в любом случае, активные ветки есть и их не много, чтобы в них совсем путаться.
Распарси: если веток больше чем одна, любое неуникальное название версии (например, "последняя") требует, как минимум, уточнения ветки.
Распарси: если веток больше чем одна, любое неуникальное название версии (например, "последняя") требует, как минимум, уточнения ветки.
я, например, в курсе, что официальной сейчас неофициально считается ветка deathsoft'а (та, которую ПОСЛЕДОВАТЕЛЬНО делали SMT, Alone, deathsoft). есть еще ветка TS-Labs, но она как бы менее распространена и даже на неофициальную официальность там пока никто не претендует. какие еще (вполне возможно, что это я не интересуюсь)?
Alex Rider
09.07.2013, 14:57
Вот эта (http://sjasmplusunreal.codeplex.com/) - не одна из них? Было и обсуждение про нее где-то.
Вот эта - не одна из них?
возможно. только на "официальную" ну ваще не похожа, даже по названию.
какие еще (вполне возможно, что это я не интересуюсь)?
1) "deathsoft" (http://dlcorp.nedopc.com/viewforum.php?f=8) Репозитория нет, официального сайта нет (страница на форуме).
2) "tslabs" (http://tslabs.info/forum/viewtopic.php?f=7&t=142) Репозиторий в рамках всего проекта zx-evo-fpga, официального сайта нет (страница на форуме).
3) "usp" (http://unrealspeccyp.googlecode.com) Репозиторий есть, страницу можно назвать официальным сайтом.
4) "кворум". Автор- caro (если ничего не путаю). Есть упоминание на вики, есть тема на данном форуме.
5) "saa1099". Автор- molodcov_alex.
Возможно что-то упустил. 4 и 5 - скорее, версии, чем полноценные ветки.
я, например, в курсе, что официальной сейчас неофициально считается ветка deathsoft'а (та, которую ПОСЛЕДОВАТЕЛЬНО делали SMT, Alone, deathsoft).
И что? А USP (если я ничего не путаю) ПОСЛЕДОВАТЕЛЬНО делали как минимум SMT, AND, djdron.
USP
Урезанные версии не в счёт.
Урезанные версии не в счёт.
почему?
почему?
потому что они урезанные. nuff said.
4 и 5 - скорее, версии, чем полноценные ветки.
и говорят, они включены в последний унреал.
потому что они урезанные. nuff said.
Ну в таком случае, "официальная" версия урезалась на протяжении всего своего развития. В здравом смысле и сопровождаемости.
Ну в таком случае, "официальная" версия урезалась на протяжении всего своего развития. В здравом смысле и сопровождаемости.
сказал человек, неинтересующийся анрилами:))) но в чем-то я, конеш, согласен.
US суждено паcть смертью храбрых, будущее за ZXMAK.NET :)
US суждено паcть смертью храбрых, будущее за ZXMAK.NET
ну когда там будет все че нужно, а в анриле - нет, определенно:))) но это не скоро...
давайте тока без вопросов: а что нужно? 100 раз обсасывали...
сказал человек, неинтересующийся анрилами))
Так я и эмуляторами вообще не интересуюсь, можно сказать- пару запусков в месяц интересом ну никак назвать нельзя. А вот в сорцах ковыряюсь гораздо чаще.
но в чем-то я, конеш, согласен.
Ну когда могучая кучка разработчиков не может справиться с несчастными 35к строк кода, то в консерватории пора что-то менять.
US суждено паcть смертью храбрых, будущее за ZXMAK.NET
Мобильные системы ему пока не по зубам:)
Ну когда могучая кучка разработчиков не может справиться с несчастными 35к строк кода
почему не может? просто все это далеко не full-time.
почему не может? просто все это далеко не full-time.
Ну я, например, тоже чисто в рамках хобби ковыряю. Только более чем 100к в одну харю. "В чем сила, брат? Неужели в ньютонах?!"
Мобильные системы ему пока не по зубам
а оно и неудобно, я так и не осилил ups, проблема уже когда вышел в меню128, хз как курсор двигать, и эмуляция кемстона угребещно сделана, просил калибровку сделать, в общем ups унылое...
играть нереально, а в чем смысл тогда не ясно
ну когда там будет все че нужно, а в анриле - нет, определенно:))) но это не скоро...
давайте тока без вопросов: а что нужно? 100 раз обсасывали...
так это вобщемто уже давно произошло.
Эмуляция GS и фильтрация для AY пока только в unreal имеется.
А остальное давно есть в ZXMAK2, но отсутствует в unreal:
1) Pentagon Multicolor (в unreal есть, но ошибка достигает 5 тактов, что более 8 пикселов, подгонкой параметров в ini не фиксится, т.к. проблема в таймингах движка Z80)
2) ZX Spectrum Multicolor (мультиколор оригинальных машин 48/128)
3) Sprinter
4) Простота добавления эмуляции новых устройств
так это вобщемто уже давно произошло.
это только так кажется, автору;) и гс даже ничего не решит...
Pentagon Multicolor (в unreal есть, но ошибка достигает 5 тактов, что более 8 пикселов, подгонкой параметров в ini не фиксится, т.к. проблема в таймингах движка Z80)
давайте-ка дему, в которой мы все это пронаблюдаем. иначе в топку все.
introspec
10.07.2013, 03:20
Pentagon Multicolor (в unreal есть, но ошибка достигает 5 тактов, что более 8 пикселов, подгонкой параметров в ini не фиксится, т.к. проблема в таймингах движка Z80)
A известно, что именно эмулируется неточно? Мне важно это знать, т.к. я часто работаю с точными времянками. Пока что я, если честно, не наталкивался на ошибки Unreal по времянке пентагона.
A известно, что именно эмулируется неточно? Мне важно это знать, т.к. я часто работаю с точными времянками. Пока что я, если честно, не наталкивался на ошибки Unreal по времянке пентагона.
Мультиколор в экранной области на 1-2 знакоместа промахивается (8-16 пикселов)
ZXMAK, То чего нельзя потрогать, унюхать или увидеть чрезвычайно трудно поймать.
Почему VNN пишет мультиколорные демки и у него все работает
Почему Rage на Unreal вполне себе работает, а у тебя промахивается?
Alex Rider
10.07.2013, 10:54
давайте тока без вопросов: а что нужно? 100 раз обсасывали...
Чтобы не оффтопить тут, покажите более-менее свежий тред, в который можно вывалить свое summary по этому вопросу.
introspec
10.07.2013, 11:20
Мультиколор в экранной области на 1-2 знакоместа промахивается (8-16 пикселов)
Не согласен, я бы заметил такую большую ошибку. Я проверяю свои эффекты и на ZXMAK2, и на Unreal, и различий такого масштаба там всё же нет.
NovaStorm
10.07.2013, 11:22
>А остальное давно есть в ZXMAK2, но отсутствует в unreal
Поглядел эмуль ещё раз.
Отладчик прямо скажем не ахти.
Есть ли кнопка его вызова(шоткатов из главного окна кроме ресета вообще нет чтоли)?
Почему при вызове из меню приходится сначала паузить эмуляцию?
Можно ли подгружать листинг/метки/брейки?
Можно ли сделать настройку шрифта/цвета и положения окошек?
Редактирование памяти в отдельном окошке по байту - это ужасно.
При растягивании окошка памяти можно было бы отображать её и по 16/32 байт шириной.
Почему бы не поместить memory map в отладчик, где ей и место?
Скролл мышой вверх в окне дизасма - то ещё развлечение, смотреть как меняются команды. Да и нельзя исправлять код в этом окне, в анриле это очень удобно.
Чтобы не оффтопить тут, покажите более-менее свежий тред, в который можно вывалить свое summary по этому вопросу.
меня это начинает напрягать. каждый раз появляется эта тема (в разных тредах) и каждый раз одни и те же вопросы. и так будет происходить и дальше. мне лень искать эти темы. и это не отменяет факта наличия недостатков.
вон про отладчик сказали. несмотря на текстовость отладчика анрила - он мегаудобный! можно создать красивый дебаггер (были такие), можно более навороченный по возможностям, но если им будет пользоваться уныло (как в большинстве эмуляторов!) - такой отладчик пойдет в топку, вместе с эмулятором (в плане девелопмента как минимум).
отладчика анрила - он мегаудобный
Я бы так не сказал. Пытаешься че-нить по привычке напечатать на нумпаде - а выходит фигня... чтоб вспомнить как вызвать ту или иную фишку - приходится перечитывать хелп по шорткатам - меню не хватает. Регистр менеджмента памяти рулится уныло, особенно в конфигурациях типа Профи и подобных, с несколькими портами управления... Управление в окне дампа весьма угрюмое - надо поменять адрес... поди вспомни этот шорткат...
Дмитрий, покажите дебаггер своей мечты. чтобы было с чем сравнить
introspec
10.07.2013, 13:31
Я предпочитаю работать с отладчиком ZXSpin. Всё интуитивно и под рукой. К сожалению, есть много мелких багов, но интуитивность интерфейса для меня это извиняет.
jerri, http://www.nedopc.org/nedopc/sprinter/download/demon.gif
Но увы он недописан :)
Я предпочитаю работать с отладчиком ZXSpin. Всё интуитивно и под рукой. К сожалению, есть много мелких багов, но интуитивность интерфейса для меня это извиняет.
F7 step in
F8 step over
очень бывает нужно для быстрой трассировки
а вот "УДОБНЫЕ ОКНА!!!111 Тысячи их!!1111" для любителей свистелок и перделок.
---------- Post added at 13:47 ---------- Previous post was at 13:44 ----------
Дмитрий, не очень понял в чем отличия. сильно сильно похоже на Unreal :)
только он еще картинку кажет. а если по кнопкам и прочему - это говорят можно написать deathsoft и он может поправить.
Я бы так не сказал.
никто и не говорил, что он идеален. я просто сравниваю с тем, что видел в других эмулях (не всех, конечно) и только то, что юзаю сам (мне больше пентагона не надо). для меня он ОЧЕНЬ удобный. а вот в RealSpec, например, он красивый, но уг...
это говорят можно написать deathsoft и он может поправить.
Имя Регистрация Последний визит
deathsoft 23.05.2005 14.04.2007
Т.е. тут его нет, а там я зарегиться так и не смог с ихними супер-пупер капчами, когда было желание и необходимость.
Не согласен, я бы заметил такую большую ошибку. Я проверяю свои эффекты и на ZXMAK2, и на Unreal, и различий такого масштаба там всё же нет.
Есть, только ошибка в unreal не на бордюре, а в экранной области, поэтому она малозаметна, мало кто пишет софт который такт в такт выводит изображение на ганице луча, обычно пишут с запасом, поэтому разницу не видно
Т.е. тут его нет, а там я зарегиться так и не смог с ихними супер-пупер капчами, когда было желание и необходимость.
Врешь же. Твой логин на длкорпе witchcraft, Joined:
04 Aug 2009, 07:42
И от тебя там есть аж 18 постов: http://dlcorp.nedopc.com/search.php?author_id=196&sr=posts
introspec
10.07.2013, 14:21
Есть, только ошибка в unreal не на бордюре, а в экранной области, поэтому она малозаметна, мало кто пишет софт который такт в такт выводит изображение на ганице луча, обычно пишут с запасом, поэтому разницу не видно
Ага, тогда понимаю, т.е. там "неправильная" выборка экранных байтов.
Нужно будет это как-нибудь задействовать...
Врешь же.
Читаем:
когда было желание и необходимость.
---------- Post added at 13:27 ---------- Previous post was at 13:25 ----------
Почему все читают между строк и пытаются вклинить свою "истину"?
там я зарегиться так и не смог
Твой логин на длкорпе witchcraft
?
BYTEMAN, читаем еще раз: http://zx-pk.ru/showpost.php?p=614429&postcount=125
Когда было желание, то при попытке регистрации надо было ввести цифры, которые так и не появлялись, после нескольких жалоб это пофиксили, но это уже было потом.
---------- Post added at 13:38 ---------- Previous post was at 13:36 ----------
и если вы посмотрите мои сообщения, то можете увидеть, что по унрилу я давал багрепорты, так что отвалите.
F7 step in
F8 step over
очень бывает нужно для быстрой трассировки
F7/F8 появились в zxmak раньше чем в unreal, где-то в 2000-м году :) в zxmak2 все также, разве что встроенный ассемблер при портировании отвалился
обычно пишут с запасом, поэтому разницу не видно
возможно, неспроста? ;) не?
---------- Post added at 16:46 ---------- Previous post was at 16:44 ----------
как щас помню, отладчик в старом zxmak был ппц как мне неудобен (зато деталей уже не помню, почти).
возможно, неспроста? ;) не?
Что неспроста?
F7/F8 появились в zxmak раньше чем в unreal, где-то в 2000-м году
в турбодебагере они были с самого начала, с 91 года (а то и раньше), собственно откуда в унриал и попали
---------- Post added at 14:56 ---------- Previous post was at 14:54 ----------
Что неспроста?
Коммент про защелки байтов для безвейтовости. И сложно-детерминируемое время их срабатывания. Отличающееся на разных схемах. За деталями - к LVD, он ими кормил с лопаты теоретиков. Тебя как раз. забыл что ли ? (http://dlcorp.nedopc.com/viewtopic.php?p=32612#p32612)
Эмуляция, может быть, и неправильная, но я ещё не видел ни одной демы, где это было бы критично. Возможно, это связано с тем, что фазой этой выборки невозможно управлять (можно фазу поменять, но определить, какая щяс или засинхриться под конкретную -- невозможно) и в демах при приближении к пределу начинается мерцание, из-за чего кодеры предел чуть отодвигают и всё зашибить, а эмуляция прокатывает.
В пентеве с этим всё ещё хуже -- выборка начинается за 2 знакоместа до, но тем не менее тоже дем, которым это критично -- я не видел.
Alex Rider
10.07.2013, 16:20
Я бы так не сказал. Пытаешься че-нить по привычке напечатать на нумпаде - а выходит фигня...
Потому что маппин клавиш дебагера не содержит нумпадных. Добавь их, и прибудет к тебе щастье.
тоб вспомнить как вызвать ту или иную фишку - приходится перечитывать хелп по шорткатам - меню не хватает.
Меню в текстмоде смотрелось бы уныло (IMHO). А шоткаты - они легко переназначаемые на удобные и привычные каждому.
Управление в окне дампа весьма угрюмое - надо поменять адрес... поди вспомни этот шорткат...
А как надо?
По мне анриловскому отладчику не хватает "оконности" и, воистину, удобных фич для руления портами CMR0, CMR1, ... (а еще лучше всеми конфижными портами). Отсутствие оконности себя проявляет при попытке скормить отлажчику метки от SjASM при многомодульности - символов в поле адреса ни разу не хватает, из-за чего эта фича мной забыта.
introspec
10.07.2013, 16:31
"В пентеве с этим всё ещё хуже -- выборка начинается за 2 знакоместа до, но тем не менее тоже дем, которым это критично -- я не видел."
У-у-у, а ведь это означает, что на "настоящем" Пентагоне 128k можно успеть вывалить чуть-чуть больше мультиколора, чем на Пентеве. Запомню.
А как надо?
хотя бы как в окне дизасма...
Добавь их, и прибудет к тебе щастье.
как? просвети...
У-у-у, а ведь это означает, что на "настоящем" Пентагоне 128k можно успеть вывалить чуть-чуть больше мультиколора, чем на Пентеве.
почему это? нисколько не больше.
introspec
10.07.2013, 16:44
почему это? нисколько не больше.
В 128к, если бежать перед лучом - больше. Разница грошёвая, но это разница того типа, которая может оказаться "лишним" знакоместом. Примерно как у joefish его 18-ти знакоместный мультиколор держится чисто на границе возможного и невозможного.
в турбодебагере они были с самого начала, с 91 года (а то и раньше), собственно откуда в унриал и попали
---------- Post added at 14:56 ---------- Previous post was at 14:54 ----------
Коммент про защелки байтов для безвейтовости. И сложно-детерминируемое время их срабатывания. Отличающееся на разных схемах. За деталями - к LVD, он ими кормил с лопаты теоретиков. Тебя как раз. забыл что ли ? (http://dlcorp.nedopc.com/viewtopic.php?p=32612#p32612)
Речь в данном случае не о защелках. В unreal есть ошибка как минимум в 5 тактов на выборку байтов, защелками это не объяснишь. Защелки дают влияние максимум на 1 такт. Особенность защелок пентагона пока нигде не эмулируется. Я говорю об ошибках эмуляции z80, в частности таймингов внутри инструкций. С таймингами в unreal все печально :(
Поставил ZXMAK на чистой Win7x64 со всеми обновлениями. НЕ РАБОТАЕТ.
Поставил Unreal - работает. Включил режим tsc и HighResolutionTimer - разброс FPS между кадрами колеблется в пределах 0.01 (одна сотая). FPS колеблется между 50.00 и 50.01
Для чистоты эксперимента установил DX Web Installer. ZXMAK завёлся. Разброс FPS 48-52. Т.е. на 3(!) порядка больше. Скроллы, ожидаемо, не только не плавные, но ещё дёрганные.
О чем можно дальше говорить ?
Речь в данном случае не о защелках. В unreal есть ошибка как минимум в 5 тактов на выборку байтов, защелками это не объяснишь. Защелки дают влияние максимум на 1 такт. Особенность защелок пентагона пока нигде не эмулируется. Я говорю об ошибках эмуляции z80, в частности таймингов внутри инструкций. С таймингами в unreal все печально :(
Что еще за особенности защелок?
introspec
10.07.2013, 18:32
Что еще за особенности защелок?
Если жить на самой грани, т.е. класть байт в экран всегда в один и тот же момент, т.е. один и тот же такт от начала экрана, строго за один такт до того, как его должна подхватить ULA (ну или как назвать её эквивалент на пентагоне), то окажется, что иногда мы будем успевать изменить картинку, а иногда - не будем. Т.е. существует неоднозначность ровно в один такт, из-за которой экранный байт, положенный таким экстремальным кодом, будет мерцать.
Alex Rider
10.07.2013, 19:00
хотя бы как в окне дизасма...
Спорно, но можно.
как? просвети...
Загнался. Низзя.
Если жить на самой грани, т.е. класть байт в экран всегда в один и тот же момент, т.е. один и тот же такт от начала экрана, строго за один такт до того, как его должна подхватить ULA (ну или как назвать её эквивалент на пентагоне), то окажется, что иногда мы будем успевать изменить картинку, а иногда - не будем. Т.е. существует неоднозначность ровно в один такт, из-за которой экранный байт, положенный таким экстремальным кодом, будет мерцать.
Из-за чего это? Обсуждалось уже?
introspec
10.07.2013, 19:14
Из-за чего это? Обсуждалось уже?
Ага, вот здесь: http://zx-pk.ru/showthread.php?t=21212
Если вкратце, это расплата за отсутствие медленной памяти и происходит оттого, что у процессора приоритет по доступу к памяти, и ULA берёт байты не когда ей хочется, а когда у неё получится.
Особенно чёткая иллюстрация в том же треде, вот тут: http://zx-pk.ru/showpost.php?p=596826&postcount=6
Разброс FPS 48-52. Т.е. на 3(!) порядка больше.
на три порядка больше чего?
Ты бы вначале разобрался что это за разброс, а потом бы выводы делал. Разброс этот возникает от того что фпс вычисляется через время между двумя соседними кадрами. А т.к. эмуляция спектрума требует 50 Гц, а развертка у дисплея обычно 60-100, то некоторые кадры приходится пропускать. Это значит что между первым и вторым кадром будет время t, а между вторым и третьим будет время 2*t (один кадр пропускается чтобы поддерживать 50 Гц). В итоге на одном кадре будет 75 Гц, а на другом 37 Гц, после усреднения получаем 50 Гц, которые будут колебаться. На самом деле при этом выдерживается четко 50 Гц.
Расчет фпс нужно переделать чтобы не вводил в заблуждение
---------- Post added at 01:46 ---------- Previous post was at 01:43 ----------
разброс FPS между кадрами колеблется в пределах 0.01 (одна сотая). FPS колеблется между 50.00 и 50.01
Разброс FPS 48-52. Т.е. на 3(!) порядка больше. Скроллы, ожидаемо, не только не плавные, но ещё дёрганные.
О чем можно дальше говорить ?
в ZXMAK2 такой-же точно разброс как и в unreal. Специально проверил - все тютелька в тютельку, один в один, по крайней мере при развертке дисплея 75 Гц. Методика измерения фпс другая, отсюда и разброс, о котором ты говоришь, см. выше. Это разброс измерения, а не реальный разброс.
Для любителей померять FPS, зачекинил код для точного измерения данного параметра. Для тех у кого нет компилятора, в аттачменте готовый exe-шник (остальные файлы брать из архива с релизом).
Есть правда одно замечание, замер фпс делается с помощью системного таймера, поэтому точность будет зависеть от его частоты. Во избежание влияния на систему эмулятор не меняет частоту системного таймера, а использует ту что доступна. Соответственно точность измерения будет зависеть от частоты системного таймера (обычно +-0.3 fps).
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot