Да что ж за чертовщина-то такая...
Упоминаются два репозитория, но не приводится ни одной ссылки.
Вид для печати
Да что ж за чертовщина-то такая...
Упоминаются два репозитория, но не приводится ни одной ссылки.
Хоспаде, та ось ж воно:
https://zx-evo-fpga.googlecode.com/s...pentevo/unreal
Пока все только под вяндой - в старом коде овер дофига прибито к винапи. Были разговорчики про перетягивание на кьют, но лично я этого не планирую делать в обозримом будущем. Если кто возьмется - буду только "за".
Код стараюсь писать так, чтоб минимум гимора при портировании.
Основная идея моей ветки была в добавлении моей конфы, но по ходу пьесы выяснилось что "по быстрому" этого сделать не получится, да и вообще не получится без рефакторинга (трейс луча был ТОЛЬКО в 6912 режиме и прибит ажурными гвоздями к этому 6912). Кроме того в коде была задетекчена уйма костылей от такого рода "по быстрому" прикручиваний новых фич.
Для начала надо бы дождаться выхода версии со всеми фичами, она и будет новой официальной, ибо Deathsoft отошёл от дел.
Многа к винде.
Ну "много" это что? Окна, звук, видео-рендеры, работа с файлами. Наверное еще компот - в него я пока не лез. Ну вобщем, да, дофига. Я хочу пока только довести его до работающего состояния (пока что не работает рендер экрана в дебаге - старый код выпилен, а новый не впилен, и не отображаются все порты моей конфы и порты клонов которые конечно никто не впилил в старый код). И хочу я сделать нормальный дебаггер, в отдельном окне, со всеми регистрами всех клонов. Это задача минимум. Дальше - кто чо хочет, то и делает.
Нах оно это портирование, уйма времени а пользы чуть.
Кому интересно обсуждение конфы и ветки анрыла - заходите на tslabs.info/forum.
Авто-подтверждение регистрации там отключено изза спама, после регистрации плз отправьте письмо на tslabs.info гмыло.ком с ником, для активации.
А в какой ветке/версии анрила поддерживается турбо-режим (в частности в проф-скорпионе)? Пользуюсь unreal0.37.6, там этот пункт в мониторе не активен.
Турбо-режим Скорпиона не поддерживается. Только Пентагон и АТМ Турбо в 0.37.1.
какие настройки? Менял маску EFF7mask=0, толку нет, всё равно стоит флажок noturbo. Да и к скорпиону этот флаг вроде не подходит. А больше и не знаю что менять.
В версии 0.37.6 найдена печальная бага - покомандное исполнение по шагам и эмуляция дают разное состояние. Воспроизводится так:
1. Выбираем Pentagon, открываем приаттаченный trd.
2. Ставим бряк на 800C call 8012.
3. Запускаем все, ждем остновки на бряке.
4. Смотрим на счетчик тактов - если он равен 88, нам не повезло. Сбрасываем и исполняем, пока счетчик тактов на 8012 не будет равен 85-87.
5. Нажимаем F8 - получаем в точке 800F в аккумуляторе 00
6. Повторяем шаги 3-4.
7. Ставим бряк на 801E inc bc (чтобы не ждать цикл задержки).
8. Эмулируем до бряка, трассируем дальше по шагам (801E - 8020, ISR, 801E)
9. В точке 800F получаем в аккумуляторе FF.
Хотел написать выравнивалку на 4 такта, код такой:
Код:
Start:
call setup_isr
halt
nop
jp $ + 3 ; wait
ld (#0000),ix ; wait
call shift_one_tact ; <- 800C
jp $ ; <- 800F
shift_one_tact:
ld de,2981 ; wait loop
dec de
ld a,d
or e
jp nz,$ - 3
ld b,(ix) ; wait
inc bc ; wait, <- 801E
xor a
dec a ; execution of this command depends from emulation mode (emulation / step-by-step)
nop ; skip by isr
ret
setup_isr:
ld hl,#8e00
ld de,#8e01
ld (hl),#0ff
ld bc,#100
ldir
di
ld a,#8e
ld i,a
im 2
ld a,#018
ld (#0ffff),a
ld a,#0e1 ; pop hl (10t)
ld (#0fff4),a
ld a,#23 ; inc hl (6t)
ld (#0fff5),a
ld a,#0fb ; ei (4)
ld (#0fff6),a
ld a,#0e9 ; jp (hl) (4)
ld (#0fff7),a
ei
ret
В zxmak2 можешь отладить, в нем нет разницы в исполнении по шагам и в рантайме - один и тот-же код работает
А всё же, как-то можно баг с открытием снапшотов .sna? Всегда после открытия модель со скорпиона меняется на пентагон и даже если после этого опять всё выставить на скорпион, то не получается выйти в сервис-монитор. Очень не удобно.
Уже, спасибо, хороший эмуль. В Unreal отладчик привычнее и Scorp Pro есть...
---------- Post added at 12:20 ---------- Previous post was at 12:19 ----------
А поделись где ее поиметь. Был на сайте последнего поддержателя, там запустение...
товарищи, давно не обновлял UnrealSpeccy (сижу на UnrealSpeccy 0.37.4 by SMT, Jan 18 2011).
подскажите, эмулятор начал поддерживать нормальные разрешения? чтобы можно было установить родное разрешение десктопа (например, 1360х768), и эмулятор при этом показывал бы корректное соотношение сторон (с чёрными квадратами по бокам).
это реализовано во всех современных эмуляторах, например, ZXSpin.
---------- Post added at 18:49 ---------- Previous post was at 18:47 ----------
http://dlcorp.nedopc.com/viewforum.php?f=27
Scorp Pro и в zxmak2 есть, да и не только он, еще АТМ, профи, Спринтер и оригинальные спектрумы, с медленной памятью :v2_wink2:
http://savepic.org/2915526.png
Alone:
бага с отладчиком интересная, при случае поищу.
All:
турбо режим в анрыле НИКОГДА не был по-настоящему реализован вообще. (Стероидное кол-во тактов на фрейм не считаю, ибо не имеет ничего общего с турбой.) В своей ветке я его реализовал в виде дробного коэффициента к счетчику тактов. Для 3.5 он равен 1.0, для 7 - 0.5, для 14 без вейта - 0.25, для 14 с вейтом - примерно 0.33. Т.е. NOP в 7мгц выполнится за 2 такта. Плюсы - для безвейтовых турбо эмуляция тактов очень точная, даже если щелкать турбой в растре, в теории можно получить полную синхру луча. Переключение коэффициента ведется по записи в порт, следовательно вступает в силу сразу, как на реале. В бейзконфе переключение (за каким-то бэном) задержано до рефреша, это не эмулируется.
Пока поддержаны турбы для пентагона, бейзы, тсконфы. Для скорпа - нет, но добавить - дело нескольких минут.
Турбо с вейтами тоже не реализовано, ибо хз как эти вейты считать, да и особой необходимости не вижу. Если какой-нить одинокий кодер =) придумает как сделать это просто и красиво - впилю.
Коэффициент к счётчику был в v0.37.1:
z80_main.cpp:
if( ((conf.mem_model == MM_PENTAGON)&&((comp.pEFF7 & EFF7_GIGASCREEN)==0))
||((conf.mem_model == MM_ATM710)&&(comp.pFF77 & 8))
) cpu.t -= (cpu.t-oldt)>>1; //0.37
VM->Settings->Wizard-> выбираешь предустановленную конфигурацию машины (по сути это просто список с заранее сконфигурированными наборами устройств, чтобы можно было быстро их менять), делаешь Apply. Можно и самому девайсов накидать какие нужно. После этого можно подравнять размеры экрана - View->Size->200%, чтобы пикселы квадратные были.
Девайсы можно на лету менять, например удобно в мультиколорных демах прямо на ходу менять ULA Pentagon на ULA оригинального Spectrum 128 и смотреть что поменялось не перезапуская программу :)
SMUC'а по умолчанию в конфигурации Scorpion Pro нету - нужно самому добавить, для этого жмешь VM->Settings->Add, находишь в списке устройсв "Other - SMUC", жмешь Finish и затем Apply. Рядом с эмулем появится файл с расширением vmide, открываешь его и прописываешь путь к образу винта и его параметры, например так:
тут test1.hdd - это путь к файлу с образом, в данном случае путь совпадает с путем к эмулятору, поэтому указано только имя файла. Можно полный путь к нужной папке указать. Перезапускаешь эмуль и все.Код:<IdeDiskDescriptor>
<Image fileName="test1.hdd" isCdrom="False" isReadOnly="False" />
<Geometry cylinders="20" heads="16" sectors="63" lba="201600" />
</IdeDiskDescriptor>
Единственное - сейчас в эмуле нет холодного сброса, с прочисткой всей памяти, нужно перезапускать эмуль - не думал что такое понадобится, а как оказалось - для скорпиона бывает нужно :)
---------- Post added at 23:04 ---------- Previous post was at 22:53 ----------
судя по списку, у тебя похоже старая версия, в эмуле уже давно есть Sprinter. Насколько помню с той версии когда его еще не было уже многое поменялось, появилась поддержка ATM710, Sprinter, память Scorpion Prof ROM, проигрывание RZX и т.п. Правда из IDE пока есть только SMUC :)
Насчет RZX нужно помнить что эмулятор не меняет модель спектрума при загрузке снэпшотов, поэтому перед открытием RZX нужно предварительно выбрать правильную модель спектрума, иначе может произойти сбой синхронизации
Что касается Scorpion Pro - то тебе нужно перейти на закладку Memory (у тебя на скрине открыт выбор ULA) и выбрать "Scorpion PROF-ROM 256K" или через кнопку Wizard выбрать "Scorpion ZS 256 PROF-ROM"
Вот тут:
http://savepic.org/2899991.png
---------- Post added at 23:25 ---------- Previous post was at 23:04 ----------
кстати она годится только для пентагона, для медленной памяти, в том числе contended memory не годится
Ссылку брал из первого поста темы, версия - 2.6.2.2. А какая новая? Где живет?
Я так понимаю, бордер-эффекты и мультиколор вообще не гоже пихать куда-то, кроме 2-й страницы. Равно как и таблицу прерываний и их обработчик. А 2-я страница всегда быстрая, так что дожно работать. Поправьте где не прав.
Ты говорил, что вообще не было. А оно было. И я юзаю именно эту версию. Она, кстати, запускается быстрее версий от Deathsoft, LVD и TSL.
При том, что это куда важнее, чем ускорение эмуляции на 5%.
Время загрузки программы надо суммировать по числу запусков и вычитать у программистов из зарплаты. Ибо это в чистом виде просер времени пользователей.
А вторую часть поста, конечно, проигнорировал.
А кто сказал, что она связана?