PDA

Просмотр полной версии : Новые возможности Unreal



razer
21.01.2005, 23:22
Какими программами можно использовать эмуляцию ZX-HDD в этом замечательном эмуляторе? Как вообще его настроить в эмуле?

SMT
22.01.2005, 08:43
Какими программами можно использовать эмуляцию ZX-HDD в этом замечательном эмуляторе? Как вообще его настроить в эмуле?

http://atmturbo.narod.ru/inf/books/nedopc/install.zip

подробности у Макса, повторить все шаги инструкции мне было лень ;)

MadCat!
22.01.2005, 15:59
SMT! вот ты и попался ;)
все не помню, вот пока один сабж: когда нажимаю Alt+F4 и при этом образ диска был изменен, вылазит соответствующее окно и т.д. Так вот, в это время звуковой фрагмент продолжает циклически действовать на мозг %(

SMT
22.01.2005, 17:15
SMT! вот ты и попался ;)
все не помню, вот пока один сабж: когда нажимаю Alt+F4 и при этом образ диска был изменен, вылазит соответствующее окно и т.д. Так вот, в это время звуковой фрагмент продолжает циклически действовать на мозг %(
этот глюк появился в версии 0.25 - при всплытии любого окна (настройки, загрузка файла и т.п.) звук не прерывается.
в общем-то, я про него знал, когда выпустил эту версию. но так как глюк не существенный, то я не стал его исправлять

MadCat!
22.01.2005, 17:18
этот глюк появился в версии 0.25 - при всплытии любого окна (настройки, загрузка файла и т.п.) звук не прерывается.
в общем-то, я про него знал, когда выпустил эту версию. но так как глюк не существенный, то я не стал его исправлять
а когда новая исправленная версия будет?
а что за 4 ряда цифр иногда появляются справа ? :confused:

SMT
22.01.2005, 17:28
а что за 4 ряда цифр иногда появляются справа ? :confused:
не знаю ;) а какие цифры, записать сможешь?

MadCat!
22.01.2005, 17:41
не знаю ;) а какие цифры, записать сможешь?
конечно, вот только домой приду ;)
кажется, там 3,6,9 в разных комбинациях. причем сначала их нет, а потом они появились и висят там все время :confused:
надо будет доку еще почитать ;)
но сюда я только в понедельник вернусь...

razer
22.01.2005, 23:06
SMT спасибо за ссылку ,сейчас почитаю. Насчет глюков...
из последних замеченных мной такой - когда играет winamp 5.4,
одновременно работает эмулятор,то при переключении 5.4 следующего
сонга эмуль вылетает,такие дела

Vitamin
23.01.2005, 00:34
2SMT.
есть пара предложений к сабжу:
-сделать поддержку АЦП, 8 бит будет с головой. Порт чтобы можно было прописывать в конфиге
-в диалоге на удаление образа из слота добавить кнопку "Отмена". потому как иногда путаешь кнопки и на автомате нажимаешь "Нет". (может такое уже и внедрено, не знаю, юзаю 0.20, пока всем устраивает).
-низкоуровневая эмуляция GS уже сделана? потому как некоторые программы не хотят звучать.

albion
23.01.2005, 01:06
есть пара предложений к сабжу:
-сделать поддержку АЦП, 8 бит будет с головой. Порт чтобы можно было прописывать в конфиге
-в диалоге на удаление образа из слота добавить кнопку "Отмена". потому как иногда путаешь кнопки и на автомате нажимаешь "Нет". (может такое уже и внедрено, не знаю, юзаю 0.20, пока всем устраивает).
-низкоуровневая эмуляция GS уже сделана? потому как некоторые программы не хотят звучать.

А для полного улета поддержать еще и DMA UltraSound :)

Aprisobal
23.01.2005, 01:39
А для полного улета поддержать еще и DMA UltraSound :)Не нужно забывать также и о MIDI и TurboSound. Но думаю всё это ещё очень не скоро появится - тяжёло же одному человеку всё делать. Интересно, поддержали бы развитие эмулятора другие спектрумисты, если б в UnrealSpeccy появилась поддержка плагинов.

SMT
23.01.2005, 02:47
А для полного улета поддержать еще и DMA UltraSound :)
только не мне, а кодерам. программы под эту железку на пальцах одной руки пересчитать можно :)


MIDI и TurboSound
ищу плейер под турбо-саунд и штук пять музык :)

MIDI-это же вообще не спектрумовская?

низкоуровневая эмуляция GS уже сделана. все программы звучат

Pawel
23.01.2005, 11:05
to SMT:
А баг с нерабочими клавишами ALT так и не пофиксен (писал о нём через Paul Pavlov'а). Привык я что SymShift у меня на ALT.

SMT
23.01.2005, 12:44
to SMT:
А баг с нерабочими клавишами ALT так и не пофиксен (писал о нём через Paul Pavlov'а). Привык я что SymShift у меня на ALT.
когда писал (дата?)

сейчас проверил - если поставить AltLock=0, то ALT работает

CityAceE
23.01.2005, 15:12
To SMT:
А можно ли в твоем эмуляторе сделать такую фичу, чтобы как только производилась запись на диск в TR-DOS, пусть даже одного сектора, то сразу бы всё записывалось и на жесткий диск ПЦ? Одна из причин по которой я предпочитаю всё делать на реале - это как раз отсутствие уверенности в сохранности данных. Иной раз свет отключат, система глюкнет, эмуль вывалится в винду, кто-то случайно нажеме RESET, да мало ли что ещё может произойти! А мне надо, чтобы у меня была твердая уверенность в том, что если я сделал SAVE в программе на Спектруме, то мои данные железно сохранились.

SMT
23.01.2005, 16:40
To SMT:
А можно ли в твоем эмуляторе сделать такую фичу, чтобы как только производилась запись на диск в TR-DOS, пусть даже одного сектора, то сразу бы всё записывалось и на жесткий диск ПЦ?
есть компромис - нажимать F9,ENTER после сохранения важных данных

key-jee
23.01.2005, 16:51
Интересно, поддержали бы развитие эмулятора другие спектрумисты, если б в UnrealSpeccy появилась поддержка плагинов.Конечно бы поддержали! Может быть не сразу, но почему бы и нет?

Pawel
23.01.2005, 17:15
когда писал (дата?)
10 ноября.

сейчас проверил - если поставить AltLock=0, то ALT работает
Я про этот ключ не знал, в старых версиях его либо не было, либо по умолчанию он был равен 0. Thanks.

Vitamin
23.01.2005, 18:01
А для полного улета поддержать еще и DMA UltraSound :)
а что, я был бы не против :)
хочется покопаться и выявить возможности данной хреновины.
2SMT: так как насчет предложений?

thims
23.01.2005, 18:29
Вопрос к SMT: а почему у твоего эмулятора нет домашней страницы?

SMT
23.01.2005, 20:42
Вопрос к SMT: а почему у твоего эмулятора нет домашней страницы?
html не умею писать :) только ASP ;) а если серъезно - зачем? отправляю на Virtual TR-DOS и даже описание придумывать не надо к файлу :)

так как насчет предложений
1. кнопка "отмена" - дельная мысль, она же даст возможность отменить выход из эмулятора, если диск не сохранён (то есть выход: да, нет, отмена)
2. АЦП - не нужен он на эмуле. куда проще оцифровать в нормальном редакторе

Vitamin
23.01.2005, 21:42
2. АЦП - не нужен он на эмуле. куда проще оцифровать в нормальном редакторе
одно дело перегонять готовый вав, а другое в "реале" записывать. а вдруг я захочу написать редактор семплов с поддержкой оцифровки? :)

SMT
23.01.2005, 22:00
а вдруг я захочу написать редактор семплов с поддержкой оцифровки? :)пиши на спектруме, кто тебе мешает? в эмуляторе проблема в том, что два асинхронных процесса, повешенных на одни и те же такты Z80, - проигрывание звука и его запись - трудно будет синхронизировать. явно у кого-то будут пропуски, щелчки

Vitamin
24.01.2005, 00:23
пиши на спектруме, кто тебе мешает? в эмуляторе проблема в том, что два асинхронных процесса, повешенных на одни и те же такты Z80, - проигрывание звука и его запись - трудно будет синхронизировать. явно у кого-то будут пропуски, щелчки
трабл в том, что реала у меня можно сказать что и нет. тем более на нем нет ацп. а насчет синхронизации... можно сделать приоритетность- если идет процесс оцифровки, синхронизировать запись, иначе- воспроизведение

SMT
24.01.2005, 07:30
можно сделать приоритетность- если идет процесс оцифровки, синхронизировать запись, иначе- воспроизведение
заранее не известно, будет ли оцифровка. а звук надо приготовить заранее, sound blaster отдаёт оцифрованный звук готовыми блоками.

если только конечно совсем пожертвовать качеством записи... под это дело даже программ нет, а лепить разные штучки, не привязанные к спектруму - только утежелять и замедлять эмулятор

CityAceE
24.01.2005, 08:14
есть компромис - нажимать F9,ENTER после сохранения важных данных
Вот такие мелочи и затрудняют работу... И тем не менее, что мешает сделать такую отключаемую фичу? X128, например, сразу на винт пишет...

moroz1999
24.01.2005, 14:20
-низкоуровневая эмуляция GS уже сделана? потому как некоторые программы не хотят звучать.

низкоуровневая эмуляция GS уже сделана. все программы звучат
Проблемные игры - почти все мои релизы (barbarian, green beret, commando, soft&cuddly..). :)
В чем проявляется проблема:
Я использую такой метод:
Сначала отдельной коммандой выбирается номер используемого по умолчанию сэмпла,

LD A,#NN
OUT (#B3),A ;SENDING NUMBER OF SAMPLE
LD A,#2E
OUT (#BB),A ;SENDING COMMAND OF MAKING THIS SAMPLE DEFAULT

потом дается комманда проиграть сэмпл номер 0, в результате чего должен играться выставленный по умолчанию.

XOR A
OUT (#B3),A ;SENDING NUMBER OF SAMPLE TO GS (NUMBER=0 -> SAMPLE=DEFAULT)
LD A,#39
OUT (#BB),A ;SENDING COMMAND OF PLAYING SAMPLE (NUMBER 0 IN THIS CASE)
CALL WAIT1
Так вот первая-то команда #2E и не работает, не знаю по какой причине, но дефолтным остается последний закачанный. На реальном железе все работает, в Stealth тоже работает, в Spectaculator такой же глюк (хотя в последней версии всё же не проверял).

elf/2
24.01.2005, 16:28
2SMT: а нельзя ли добавить настройку размера окна эмулятора в unreal.ini.
хотелось бы чтобы оно по умолчанию создавалось в "Normal size". Или я плохо искал в конфиге?

Vitamin
24.01.2005, 16:44
заранее не известно, будет ли оцифровка. а звук надо приготовить заранее, sound blaster отдаёт оцифрованный звук готовыми блоками.

если только конечно совсем пожертвовать качеством записи... под это дело даже программ нет, а лепить разные штучки, не привязанные к спектруму - только утежелять и замедлять эмулятор
а каков размер блока? можно же ограничить верхнюю планку частоты дискретизации например 8кгц. и использовать эту разницу частот для оцифровки.
вот чем мне понравился Spectaculator, так это возможностью оцифровки (правда только через магнитофонный порт).

SMT
24.01.2005, 18:52
Вот такие мелочи и затрудняют работу... И тем не менее, что мешает сделать такую отключаемую фичу? X128, например, сразу на винт пишет...
мешает слишком подробная эмуляция ВГ. при сохранении происходит конвертирование из UDI в нужный формат. после записи каждого байта сохранять - медленно. границы секторов не всегда можно определить (например, запись форматированием).

нельзя ли добавить настройку размера окна эмулятора в unreal.ini. хотелось бы чтобы оно по умолчанию создавалось в "Normal size"
для случая FullScr=0,video=double выставляется нормальный размер. или ты пользуешься video=normal? тогда да, окно слишком большое. это я исправлю. я так полагаю, это относится только к driver=gdi

Проблемные игры - почти все мои релизы (barbarian, green beret, commando, soft&cuddly..)можешь подробнее описать, где услышать неверный семпл? (например, в такой-то игре нажатие на кнопку "удар" озвучено неправильно. лучше несколько примеров)

а каков размер блока?память, которая используется в DMA, блокируется драйвером, чтобы не вытеснилась в своп. так что, теоретически, минимум - 1 страница - 4kb

можно же ограничить верхнюю планку частоты дискретизации например 8кгц. и использовать эту разницу частот для оцифровкиразница между чем и чем. и что это даст?

вот чем мне понравился Spectaculator, так это возможностью оцифровки ну так бери исходники и собирай себе версию с оцифровкой. хотя, если с DirectSound совсем не знаком, проще пропатчить Spectaculator, чтобы он не обрезал сигнал до 1 бита, а всё отдавал в порт

Vitamin
24.01.2005, 23:42
память, которая используется в DMA, блокируется драйвером, чтобы не вытеснилась в своп. так что, теоретически, минимум - 1 страница - 4kb
разница между чем и чем. и что это даст?
значит, теоретически можно сделать опоздание звука на полсекунды (при 8 кгц записи). имхо, синхронизация записи не так критична как синхронизация воспроизведения


ну так бери исходники и собирай себе версию с оцифровкой. хотя, если с DirectSound совсем не знаком, проще пропатчить Spectaculator, чтобы он не обрезал сигнал до 1 бита, а всё отдавал в порт
да нафиг. во-первых, не люблю копаться в чужих исходах (в своих бывает хрен что понимаю, а в чужих тем более :) ), во-вторых изза одной (брешу, двух- я еще цифрую иногда из-под него) функции тянуть неудобный эмуль не хочу

SMT
25.01.2005, 07:43
значит, теоретически можно сделать опоздание звука на полсекунды (при 8 кгц записи). имхо, синхронизация записи не так критична как синхронизация воспроизведения
лучше использовать 44khz,16bit,stereo. тогда задержка 4096/(44100*4) секунд. в реальности больше в 1.5-2 раза. правда, придейтся НЧ-фильтр вычислять, спек на такой частоте же не сможет читать, качество будет плохое


да нафиг. во-первых, не люблю копаться в чужих исходах (в своих бывает хрен что понимаю, а в чужих тем более
запишу себе в список, если делать совсем будет нечего, займусь. но очень не скоро

CityAceE
25.01.2005, 09:49
мешает слишком подробная эмуляция ВГ. при сохранении происходит конвертирование из UDI в нужный формат. после записи каждого байта сохранять - медленно. границы секторов не всегда можно определить (например, запись форматированием).
А как альтернативу сделать автосохранение каждые n секунд (n - выбирается в конфиге и если n=0, то автосохранение отключено)???

SMT
26.01.2005, 07:32
А как альтернативу сделать автосохранение каждые n секунд (n - выбирается в конфиге и если n=0, то автосохранение отключено)???
как раз одна из тех простых возможностей, которую делать неохота

CityAceE
26.01.2005, 08:00
как раз одна из тех простых возможностей, которую делать неохота
Почему? :confused:

Spectre
26.01.2005, 17:55
Давно хочется тактометр в US. Причем достаточно простейшего: при старте программы (или отладке F7, F8) тактометр обнуляется, при возврате в отладчик видим сколько насчитало.

SMT
26.01.2005, 18:22
Давно хочется тактометр в US. Причем достаточно простейшего: при старте программы (или отладке F7, F8) тактометр обнуляется, при возврате в отладчик видим сколько насчитало.
для маленьких программок можно смотреть на такт в кадре. а для больших... в-общем-то, количество тактов от reset считается внутри эмулятора, но куда такое большое число выводить, чтобы внешний вид не испортить - не знаю :)


как раз одна из тех простых возможностей, которую делать неохота
Почему? есть более интересные вещи

DemiChron
30.01.2005, 16:28
Как в режиме дебаггера выбрать страницу с метками для аласма?
Чегой-то в описании не встретил, ctrl-l(ctrl-shift-a) ругается, стс в седьмой банке не видит :(((

Если можно, подробно, плзззз....

SMT
30.01.2005, 16:32
Как в режиме дебаггера выбрать страницу с метками для аласма?
Чегой-то в описании не встретил, ctrl-l(ctrl-shift-a) ругается, стс в седьмой банке не видит :(((

страница автоопределяется.
STS должен быть от AlCo, а Alasm свежий. возьми, например, один из MKACE 0.86-0.90

Spectre
30.01.2005, 19:39
для маленьких программок можно смотреть на такт в кадре. а для больших... в-общем-то, количество тактов от reset считается внутри эмулятора, но куда такое большое число выводить, чтобы внешний вид не испортить - не знаю :)

Мне действительно при написании часто нужно узнать насколько ускорилась/тормознулась процедура и весь модуль в частности. Приходится брать ZX-Emul и сражаясь с его раскладкой и дебагером глядеть. Там сделано именно так как нужно: если число маленькое (не знаю точно сколько, но думаю если меньше 1 000 000 тактов), то выводится в тактах, если большое, то в секундах.

SMT
30.01.2005, 21:36
Приходится брать ZX-Emul и сражаясь с его раскладкой и дебагером глядетьо! можно же увеличить окно регистров, как в zx-emul. у меня постоянно в голове крутиться пц-шный soft-ice, а у него эта информация кидается в его консоль. но у меня-то нет консоли, а выкидывать message box после каждого шага, это любой пользователь взвоет :) народ! отрезать одну сроку от окна дизассемблера в пользу тактометра? или он больше никому не нужен и лучше большой дизассемблер? высказывайтесь...

DemiChron
31.01.2005, 00:04
страница автоопределяется.
STS должен быть от AlCo, а Alasm свежий. возьми, например, один из MKACE 0.86-0.90


Фиг вам :(. Я же говорю, стс у меня 5.7, в поставке с последним аласмом от AlCo, но эмуль его не видит :(. Эмуль работает в режиме пентагона 1024, дебагер в банке #47, маска порта #e7... Может я чего не так делаю, а ???

lvd
31.01.2005, 01:29
о! можно же увеличить окно регистров, как в zx-emul. у меня постоянно в голове крутиться пц-шный soft-ice, а у него эта информация кидается в его консоль. но у меня-то нет консоли, а выкидывать message box после каждого шага, это любой пользователь взвоет :) народ! отрезать одну сроку от окна дизассемблера в пользу тактометра? или он больше никому не нужен и лучше большой дизассемблер? высказывайтесь...

Хм - а что мешает по кнопочке переключать оба режима? =)

elfh
31.01.2005, 07:49
я буду очень рад, если в unreal speccy появится возможность записывать видео+звук в avi или какой-либо еще формат.
на сколько я знаю, это существует только в real spectrum, но там видео не так хорошо реализовано, как в us.
нам действительно требуется эта возможность для создания видео версий наших дем. я пробовал различные варианты,
и пока ничего хорошего так и не получилось.
если у кого-то есть идеи на эту тему, поделитесь.

greyiron
31.01.2005, 12:43
Еще Spectaculator может видеофайлы делать, у меня получалось.

elf/2
31.01.2005, 13:18
2SMT: а нельзя ли добавить настройку размера окна эмулятора в unreal.ini.
хотелось бы чтобы оно по умолчанию создавалось в "Normal size". Или я плохо искал в конфиге?
зверский 10x!!!!!

Shadow
31.01.2005, 13:28
Вопрос к SMT: планируетсь ли поддержка HDD как у Скорпиона?

SMT
31.01.2005, 20:58
стс у меня 5.7, в поставке с последним аласмом от AlCo, но эмуль его не видит . Эмуль работает в режиме пентагона 1024, дебагер в банке #47попробуй конфигурацию 128k. в верхней памяти метки видит только версия 0.26. у меня без проблем видит метки от alasm 4.46,4.47 в любой модели pentagon.

Хм - а что мешает по кнопочке переключать оба режима?больше будет обвеска вокруг этой кнопочки - строчка в ini, переменная, настройка в gui(?), проверка и т.п.


возможность записывать видео+звук в avi или какой-либо еще формат. на сколько я знаю, это существует только в real spectrum, но там видео не так хорошо реализованоа чего там не хватает? c direct show знаком, придётся поднимать требования к DX до версии 7.1, что есть плохо

Вопрос к SMT: планируетсь ли поддержка HDD как у Скорпиона?если будет необходимая информация по SMUC. конкретно, какие порты есть у NVRAM и IDE - какими сигналами выбираются, как подключены INTRQ и CS1 на шлейфе HDD,
как сделана буферизация старших бит 16-разрядных данных (на чтение и запись - раздельная?)

key-jee
31.01.2005, 21:30
я буду очень рад, если в unreal speccy появится возможность записывать видео+звук в avi или какой-либо еще формат.
на сколько я знаю, это существует только в real spectrum, но там видео не так хорошо реализовано, как в us.Попробуй в Spectaculator.. Там такая возможностть существует, качество приемлимое..

Spectre
01.02.2005, 18:17
о! можно же увеличить окно регистров, как в zx-emul. у меня постоянно в голове крутиться пц-шный soft-ice, а у него эта информация кидается в его консоль. но у меня-то нет консоли, а выкидывать message box после каждого шага, это любой пользователь взвоет :) народ! отрезать одну сроку от окна дизассемблера в пользу тактометра? или он больше никому не нужен и лучше большой дизассемблер? высказывайтесь...

Предлагаю простейший вариант: в конфиге задается что желает видеть юзвер: текущий такт в кадре или тактометр.

Также хотелось бы чтобы регистры шли в том же порядке как и в STS: HL, DE, BC, AF, а не вверх ногами.

А так начиная с версии 0.26 (с нормальным просмотром меток) я уже STS'кой практически не пользуюсь. ;)

moroz1999
11.02.2005, 07:08
можешь подробнее описать, где услышать неверный семпл? (например, в такой-то игре нажатие на кнопку "удар" озвучено неправильно. лучше несколько примеров)
Green Beret: Любой звук (например удар) дает сирену.
Soft&Cuddly: Вместо любого звука играет звук телепортации.
Barbarian: Вместо любого звука играет варкрафтовский звукан, который должен был играться только в начале уровня.
Ну, в commando из-за этого же бага проблемы с нотами сэмплов, но их уже заметить сложнее.

SMT
12.02.2005, 12:13
Green Beret: Любой звук (например удар) дает сирену.

ошибка - глупее не придумаешь. по ней можно судить, насколько востребованы исходники us :) если она повторяется ещё где-то, то авторы клонов особенно не задумывались, что делает код ;)

Vladimir Kladov
14.02.2005, 15:23
ошибка - глупее не придумаешь. по ней можно судить, насколько востребованы исходники us :) если она повторяется ещё где-то, то авторы клонов особенно не задумывались, что делает код ;)
я например когда писал свой код, не видел даже того жутко краткого описалова, из которого следует, что data-регистр и output-регистр - это разные регистры, хотя и доступны и из ZX и из GS-машины по одному порту. Был только исходних unreal - вот и вся тебе документация... :( У себя я это исправил, и в следующем апдейте будет. НО. Что же это со всеми эмуляторами творится когда грузится плеер Titanic. Ну неужто он и в реальной жизни так глючил... см. точнее слушаем композицию rams hot и идем дружно в направлении унитаза... Чтой-то не врится. Еще одна композиция "yo" дружно зависает у всех... И одна маленькая деталь: в том же описалове есть код на бэйсике из трех строк:
10 OUT 187,244
15 PAUSE 100
20 PRINT IN 179
и что он должен выдавать 3. У всех - 0. Кто знает, вч ем может быть дело?

SMT
14.02.2005, 19:01
я например когда писал свой код, не видел даже того жутко краткого описалова, из которого следует, что data-регистр и output-регистр - это разные регистры, хотя и доступны и из ZX и из GS-машины по одному портуя уже понял, что описания - совершенно не то... теперь обязательно смотрю схему, а там регистры раздельные нарисованы

Был только исходних unreal - вот и вся тебе документация...я не имел в виду Emuz - он же на дельфи





10 OUT 187,244
15 PAUSE 100
20 PRINT IN 179

и что он должен выдавать 3. У всех - 0. Кто знает, вч ем может быть дело?
выдаёт количество свободных страниц. у меня на живом GS-128 выдавал 3, на эмуле (512k) - 14

Vladimir Kladov
14.02.2005, 19:12
я уже понял, что описания - совершенно не то... теперь обязательно смотрю схему, а там регистры раздельные нарисованы
я не имел в виду Emuz - он же на дельфии не только на дельфи, все ядро и графика - на асме :)



выдаёт количество свободных страниц. у меня на живом GS-128 выдавал 3, на эмуле (512k) - 14я подозревал что-то в этом роде. Но под всеми эмуляторами получается почему-то 0. Или pause 100 слишком мало. А что про Титаник-плеер? я вот что заметил: если сделать ресет, то GS-машина и без него звук продолжает портить. Но если на ходу загрузить Z-player, звук тут же заметно улучшается, хотя содержимое GS-машины он вроде бы не меняет. А что это за команду EE Z-player посылает? Или я обмишулился? не нашел такую команду в списке...

SMT
14.02.2005, 19:55
0xF4 - это reset. для 128k достаточно двух секунд. если памяти 512, то тестируется она дольше. корректнее ждать готовности к чтению данных

насчёт rams hot ничего не могу сказать - у меня нет этого модуля


и не только на дельфи, все ядро и графика - на асме
ну это уже подвиг :) слишком тяжело поддерживать и отлаживать ядро на асме

Aprisobal
14.02.2005, 21:22
Green Beret: Любой звук (например удар) дает сирену.
Soft&Cuddly: Вместо любого звука играет звук телепортации.
Barbarian: Вместо любого звука играет варкрафтовский звукан, который должен был играться только в начале уровня.
Ну, в commando из-за этого же бага проблемы с нотами сэмплов, но их уже заметить сложнее.А у меня была другая проблема при генерализации After the War. При попытке проиграть сэмпл через команду #39 гээсина проигрывала его на 1 канале, а если тот занят, то на 2-ом и т.д. И ни в какую не хотела играть на том, который был указан при загрузке. Всё делал по инструкции: SeekFirst и SeekLast устанавливал как надо. А у вас такая проблема была? Решил эту проблему просто(благо музыка была 3-ёх канальная): проигрывал сэмпл через команды #8X-#9X.

Green Beret: Любой звук (например удар) дает сирену.
Soft&Cuddly: Вместо любого звука играет звук телепортации.
Barbarian: Вместо любого звука играет варкрафтовский звукан, который должен был играться только в начале уровня.
Ну, в commando из-за этого же бага проблемы с нотами сэмплов, но их уже заметить сложнее.А на настройке в UnrealSpeccy GSTYPE=BASS всё работает отлично.

Так вот первая-то команда #2E и не работает, не знаю по какой причине, но дефолтным остается последний закачанный. А почему не устраивал такой код(не тестировал, но как понял он должен работать)?:


LD A,номерсэмпла
OUT (#B3),A
LD A,#39
OUT (#BB),A
CALL WAIT1

и не только на дельфи, все ядро и графика - на асмеОффтопик: причём ещё программа сделана на библиотеке KOL. Размеру программ основанных на этой библиотеке завидуют сишники :) Спасибо за неё!

SMT
14.02.2005, 22:13
Оффтопик: причём ещё программа сделана на библиотеке KOL. Размеру программ основанных на этой библиотеке завидуют сишники :) Спасибо за неё!

какие основные возможности этой библиотеки (очень уж интересно, чему можно завидовать :rolleyes: )

Aprisobal
14.02.2005, 22:20
какие основные возможности этой библиотеки (очень уж интересно, чему можно завидовать :rolleyes: )Предоставлю слово её автору - Владимиру Кладову ;) Спасибо

rajdee
15.02.2005, 13:49
Предлагаю расширить возможности дизассемблирования в файл.
- Добавить возможность выбора режимов сохранения dump/disassm
- Числа сохранять со знаком #
- Адреса сохранять, как метки ассемблера, если нет, то сохранять, как метки, и только те, на которые есть ссылки:


l9c40 inc l
jr nz,l9c40

- Дампы сохранять по 8 значений в строке:


lc000 db #xx,#xx,...,#xx,#xx
db #xx,#xx,...,#xx,#xx

Vladimir Kladov
15.02.2005, 15:29
какие основные возможности этой библиотеки (очень уж интересно, чему можно завидовать :rolleyes: )
просто очень маленький размер экзешника получается. Так сказать пропорционально потребностям, от 14К минимум. А не как в современных системах - пустой проект создал, и он уже полметра... Но при этом нормальная визуальная среда - тот же дельфи, просто свой набор компонентов. Все на моем сайте есть :)

никто про Титаник не знает значит... Хотелось бы услышать мнение человеков которые запускали его на живой машине с живым ЖС. А еще плееры GS бывают кроме Titanic и Z-player?

psb
15.02.2005, 16:20
А еще плееры GS бывают кроме Titanic и Z-player?

бывают, например, X-Player и Y-Player как минимум (есть на Virtual TR-Dos). Еще есть R.A.P., что интересно, он в Unreal даже работает!!! всё рулит с нестандартными дискетами %)

в той версии US, которую я юзаю (не помню какая, но старая), в эмуляции реального GS не регулируется громкость каналов совершенно. это было исправлено?

elf/2
15.02.2005, 17:25
просто очень маленький размер экзешника получается. Так сказать пропорционально потребностям, от 14К минимум. А не как в современных системах - пустой проект создал, и он уже полметра... Но при этом нормальная визуальная среда - тот же дельфи, просто свой набор компонентов. Все на моем сайте есть :)
вдруг кому будет интересно/полезно:
http://msdn.microsoft.com/msdnmag/issues/01/01/hood/default.aspx
не совcем тоже самое, но для Visual C++
минимальный размер экзешника ~3K

SMT
15.02.2005, 18:50
просто очень маленький размер экзешника получается. Так сказать пропорционально потребностям, от 14К минимумпонятно, то есть просто модуль system. для больших программ +-50kb не важно, а рекорды ставить...


минимальный размер экзешника ~3Kесли объединить все секции в одну и поставить выравнивание 512 байт на секцию (всё это опции линкера), то можно до 1 kb довести


в той версии US, которую я юзаю (не помню какая, но старая), в эмуляции реального GS не регулируется громкость каналов совершенно. это было исправлено?не знаю, проверять надо :)


Предлагаю расширить возможности дизассемблирования в файллучше правильно выбрать инструменты, чем пытаться забить шуруп микроскопом. это я к тому, что метки можно увидеть только если есть исходник в ассемблере. правильнее будет экспортировать из него в текст. для создания дампа лучше сохранить блок памяти (Alt-W) и воспользоваться, например bin2text (ещё под dos) - подобная программа пишется на 2 минуты. а дизассемблер лучше взять внешний,
ту же ИДУ ПРО мне никогда не обогнать по функциональности. в следующей версии
я уберу соранение дизасма, imho лишняя фича

Vladimir Kladov
15.02.2005, 19:03
вдруг кому будет интересно/полезно:
http://msdn.microsoft.com/msdnmag/issues/01/01/hood/default.aspx
не совcем тоже самое, но для Visual C++
минимальный размер экзешника ~3K
да на VC++ нет проблем сделать совсем маленький... но это опять на чистый АПИ возвращаться, не хочется.

За плееры спасибо, как-то не догадался, куда глянуть. Качаешь понимаешь диски с музыкой, ожидаешь что с ними будут разные плееры, а там все время один титаник и все...

SMT
15.02.2005, 20:10
Качаешь понимаешь диски с музыкой, ожидаешь что с ними будут разные плееры, а там все время один титаник и все...
а всё-таки, где тот мод можно посмотреть?

Vladimir Kladov
15.02.2005, 22:16
а всё-таки, где тот мод можно посмотреть?
не могу найти место откуда ко мне попали эти три образа trd. (gs_mods1.trd, gs_mods02.trd, gs_mods3.trd) Может просто выслал их мне кто. Там в раре только те 2 "битых" мода, на YO виснут все эмуляторы, rams hot просто убивает своими искажениями, причем у всех одинаково. Только с bass.dll под unreal оно звучит нормально. http://bonanzas.rinet.ru/zx/gs_bad.rar

Максагор
16.02.2005, 02:54
никто про Титаник не знает значит... Хотелось бы услышать мнение человеков которые запускали его на живой машине с живым ЖС. А еще плееры GS бывают кроме Titanic и Z-player?

Я когда-то его на реальном GS запускал, и все работало без глюков. Нобыло это давно, когда у меня еще был ATM-1. Сейчас, после перехода на ATM-turbo 2+, я пока GS к новому компу все никак не соберусь припаять.

Bulba
16.02.2005, 07:21
я уберу соранение дизасма, imho лишняя фича

Не надо убирать, я использую иногда ;)

SMT
16.02.2005, 19:35
Не надо убирать, я использую иногда ;)
ok.
а почему IDA не попробовать?

SMT
16.02.2005, 21:32
rams hot просто убивает своими искажениями, причем у всех одинаково (...) http://bonanzas.rinet.ru/zx/gs_bad.rar
лечится увеличением тактовой частоты GS. поэтому есть просьба к реальщикам-владельцам GS (если они читают эмуляторный раздел, конечно :)) - посмотрите, какая точная частота на кварце. я помню, на GS были стёрты маркировки на чипах, насчет кварца не помню... а если и там стёрто, можно ли узнать его параметры, не выпаивая?

lvd
17.02.2005, 13:15
ok.
а почему IDA не попробовать?

ССылку на расхаканную ИДУ в студию. Заодно сделай интеграцию ИДЫ с унреалом, чтобы нажал кнопу - и в ИДУ вывалился. А иначе получатся сплошные неудобства... ;)

Bulba
17.02.2005, 14:37
ok.
а почему IDA не попробовать?

Потому что есть Unreal ;)

Vladimir Kladov
17.02.2005, 15:06
лечится увеличением тактовой частоты GS. поэтому есть просьба к реальщикам-владельцам GS (если они читают эмуляторный раздел, конечно :)) - посмотрите, какая точная частота на кварце. я помню, на GS были стёрты маркировки на чипах, насчет кварца не помню... а если и там стёрто, можно ли узнать его параметры, не выпаивая?
все равно непонятно, почему одна и та же мелодия (ramshot) звучит по-разному под титаником/X/Y-плеерами и Z-playerом в том числе после резета. И звучит она под титаником так, будто скорость меняется на ходу...

я вообще-то поставил 320 тактов ровно между прерываниями, оно можно и поварьировать попробовать... сегодня попробую.

psb
17.02.2005, 16:09
Там в раре только те 2 "битых" мода, на YO виснут все эмуляторы, rams hot просто убивает своими искажениями, причем у всех одинаково. Только с bass.dll под unreal оно звучит нормально. http://bonanzas.rinet.ru/zx/gs_bad.rar

енто самое... это моды, наверное просто "чиповые", GS тормозит и виснет на модах, у которых короткие зацикленные сэмплы - давно известный факт. это дело в плеерах лечится изменением сэмплов. есть "Chip-Player", он специально делался для таких модов. В моем Y-Player'е тоже есть возможность такая, только надо нажать "+" (а лучше мануалы читать ;) ).

psb
17.02.2005, 16:12
лечится увеличением тактовой частоты GS. поэтому есть просьба к реальщикам-владельцам GS (если они читают эмуляторный раздел, конечно :)) - посмотрите, какая точная частота на кварце.

частота кварца ровно 12 мгц. а лечится эта бяка увеличением частоты именно потому, что GS просто тормозит на коротких лупах (это фича такая).

psb
17.02.2005, 16:16
все равно непонятно, почему одна и та же мелодия (ramshot) звучит по-разному под титаником/X/Y-плеерами и Z-playerом в том числе после резета. И звучит она под титаником так, будто скорость меняется на ходу...

всё логично вроде... если бы плееры только загружали моды в карту и всё, эффект был бы везде одинаковый. но в каждом плеере есть еще разные индикаторы! GS и так тормозит, а каждый плеер еще отнимает часть быстродействия своими запросами. :) воть

в общем, товарищи, спрашивайте, чем смогу - помогу :)

Vladimir Kladov
17.02.2005, 16:18
частота кварца ровно 12 мгц. а лечится эта бяка увеличением частоты именно потому, что GS просто тормозит на коротких лупах (это фича такая).
оно конечно можно повысить до 15мгц, как раз получается 400 тактов на прерывание. ramshot становится лучше (хотя все равно бяка по сравнению с проигрышем под unreal с bass). А что с зависонами? Я вот еще на том же диске нашел archon-s начинается так красиво, и - бац (положу сейчас в тот же архивчик, сильно он не вырастет)

Vladimir Kladov
17.02.2005, 16:25
в общем, товарищи, спрашивайте, чем смогу - помогу :)можно ли как-то проверить эти бэдные для эмулей моды на живой машине? или как-нибудь понять, что с ними такое не так. Они ведь виснут и без плееров когда играют. Повышение частоты им не помогло.

И что вообще с некоторыми мелодиями творится такое? то же самое с бассом - земля и небо...

Vladimir Kladov
17.02.2005, 16:54
Хочется попробовать например GS1.03 а нету ее - обыскался по всем сайтам ничего нету... :( Может эти бэдные моды просто делались под более ранние версии GS...

У себя я сделаю настройку в EmuZWin - Double frequency для GS, так похоже лучше звучат все мелодии...

psb
17.02.2005, 18:07
можно ли как-то проверить эти бэдные для эмулей моды на живой машине? или как-нибудь понять, что с ними такое не так. Они ведь виснут и без плееров когда играют. Повышение частоты им не помогло.

И что вообще с некоторыми мелодиями творится такое? то же самое с бассом - земля и небо...

вобщем это, проверить можно, но имхо будет всё точно так же как в эмуле... были у меня такие моды, которые вешали GS... причина одна - короткие циклы. я плеер не видел, но полагаю, дело всё в том, что при окончани сэмпла при цикле происходит перемещение указателя на начало сэмпла... так вот при коротких циклах и высоких нотах этот код начинает выполняться очень часто, поэтому и тормоза... а зависоны... фиг знает, но тоже по похожей причине...

а плееры не причем, просто они усугубляют дело, т.е. просто отнимают доп. быстродействие.

я тебе говорю, попробуй моим Y-Player'ом их поиграть со включенным разлупыванием... должно играться путёво :) нажми в плеере "+".

psb
17.02.2005, 18:16
Может эти бэдные моды просто делались под более ранние версии GS...

ничего подобного! эти моды вообще делались не для GS ;)


У себя я сделаю настройку в EmuZWin - Double frequency для GS, так похоже лучше звучат все мелодии...

хм, а есть в этом смысл? уж если эмулить - то точно :)
а если хочешь хорошее качество - то басс.длл хорошо моды играет.
или свой плеер писать, как в Z80S :)

SMT
17.02.2005, 19:39
ССылку на расхаканную ИДУ в студиюстарая должна быть на wasm.ru. новые легко отыскиваются на 0-day warez, но ссылки быстро дохнут :( (последнюю я качал с сайта, где сплошные иероглифы и нужная ссылка :), url не помню)

чтобы нажал кнопу - и в ИДУ вывалился
экий вы барин ;)

Vladimir Kladov
17.02.2005, 19:53
хм, а есть в этом смысл? уж если эмулить - то точно :)
а если хочешь хорошее качество - то басс.длл хорошо моды играет.
или свой плеер писать, как в Z80S басс.длл - это вообще-то не эмуляция, а симуляция. От повышения частоты точность не страдает, тем более это простая опция. А эмуляция как раз остается точной. Например, сохраняется возможность использовать GS-плату как сопроцессор, и не только музыкальный


ничего подобного! эти моды вообще делались не для GS кто же тогда так сборники составлял - практически на всех сборниках идет титаник-плеер...

что-то с зависающими я вообще не пойму зачем было их в сборники включать...

psb
17.02.2005, 20:22
От повышения частоты точность не страдает, тем более это простая опция. А эмуляция как раз остается точной.

я в том смысле, что нафига делать для эмуляции то железо, которого не было и не будет? можно, конечно сделать и 50МГц Z80 но смысл?
имхо, не нужная опция... хотя... чисто побаловаться если...


кто же тогда так сборники составлял - практически на всех сборниках идет титаник-плеер...

что-то с зависающими я вообще не пойму зачем было их в сборники включать...

ну.. я понятия не имею, что за сборники, я видел только 3 диска Slack Den'а. там вроде как ничего не тормозило и не глючило. а вот все остальные моды были взяты мной с пц, вот там-то и были разные фишки с тормозами и зависонами...

имхо, главное - сделать правильную эмуляцию железа GS, а что там как работает в прошивке - это уже как бы не касаемо создателей эмуля :) т.е. если на реале глючит - обязано глючить в эмуле :)

Vladimir Kladov
17.02.2005, 21:48
можно, конечно сделать и 50МГц Z80 но смысл?
имхо, не нужная опция... хотя... чисто побаловаться если...
в эмуляторе ускорение вещь обязательная. И чем быстрее он может, тем лучше. Иногда бывает необходимо ускорить до предела, чтобы проскочить ненужный участок демки, или загрузку с ленты не дожидаться до опупения... не понимаю смысла эмулировать все под 100%.



ну.. я понятия не имею, что за сборники, я видел только 3 диска Slack Den'а. там вроде как ничего не тормозило и не глючило. а вот все остальные моды были взяты мной с пц, вот там-то и были разные фишки с тормозами и зависонами...

имхо, главное - сделать правильную эмуляцию железа GS, а что там как работает в прошивке - это уже как бы не касаемо создателей эмуля :) т.е. если на реале глючит - обязано глючить в эмуле :)я бы и рад сделать как оно есть, но у меня просто нет железа, на котором я мог бы убедиться, что оно так и есть. (У меня и AY-то никогда не было в реальной жизни, я его впервые в эмуляторе услышал... и ковокса никогда не было :) )

lvd
17.02.2005, 23:41
в эмуляторе ускорение вещь обязательная. И чем быстрее он может, тем лучше. Иногда бывает необходимо ускорить до предела, чтобы проскочить ненужный участок демки, или загрузку с ленты не дожидаться до опупения... не понимаю смысла эмулировать все под 100%.
Угу, или аль-асм чтобы быстрее скомпилячил и файлы с диска подсосал =)

Adramelek
19.02.2005, 18:06
Как в US сохранить исходник, написанный в Basic 128, в TAP или на диск? :confused:

Vladimir Kladov
19.02.2005, 20:14
Как в US сохранить исходник, написанный в Basic 128, в TAP или на диск? :confused:
ведь есть же сохранение в снапшот. Или расскажите нам, почему надо именно так... Кстати, есть эмули которые поддерживают сохранение в тапку. (klive? не помню точно, вроде он). Грузим в него снапшот, и сохраняем в тапку :)

lvd
19.02.2005, 20:52
ведь есть же сохранение в снапшот. Или расскажите нам, почему надо именно так... Кстати, есть эмули которые поддерживают сохранение в тапку. (klive? не помню точно, вроде он). Грузим в него снапшот, и сохраняем в тапку :)

Угу, и в результате когда я делал ТАП-версии (2 штуки), приходилось грузить с трдшника в x128... И сохранять там в тапки.

Adramelek
20.02.2005, 02:54
Или расскажите нам, почему надо именно так...Гм... Потому что я хочу, не выходя из US, сохранить исходник в TAP, и тут же запустить его и полюбоваться сделанным. ;) А зачем бы мне ещё спрашивать об этом? :) Видимо, придётся воспользоваться другим эмулятором.

psb
21.02.2005, 18:16
Иногда бывает необходимо ускорить до предела, чтобы проскочить ненужный участок демки, или загрузку с ленты не дожидаться до опупения...

не, понятно, если делать режим максимального ускорения, но делать настройку частоты GS...


я бы и рад сделать как оно есть, но у меня просто нет железа, на котором я мог бы убедиться, что оно так и есть. (У меня и AY-то никогда не было в реальной жизни, я его впервые в эмуляторе услышал... и ковокса никогда не было

хеее... ничего себе %)

а по GS - спрашивайте :)

Vladimir Kladov
21.02.2005, 21:26
не, понятно, если делать режим максимального ускорения, но делать настройку частоты GS...
хеее... ничего себе %)

а по GS - спрашивайте :)
вроде все спросил уже. Что о прошивке ? Нет такой в природе?

SMT
22.02.2005, 07:28
подскажите, в каком журнале публиковали схему GIGASCREEN. сейчас не могу найти :(

Vladimir Kladov
22.02.2005, 13:37
подскажите, в каком журнале публиковали схему GIGASCREEN. сейчас не могу найти :(
в том текстовичке что-то нарисовано в пределах возможности нотепада. Но схемы как таковой и нет: от одной ноги одной микросхему сигнал отрезается, к другой припаивается. Найду, если надо.

П.С. а у себя я сделал по-простому. Определить (на конце кадра), что прошло переключение экранов => на этом кадре рисовать микс обоих экранов. И все. Если не считать проблему микса.

Aprisobal
22.02.2005, 17:02
подскажите, в каком журнале публиковали схему GIGASCREEN. сейчас не могу найти :(Посмотри журнал Black Crown 4 (или 5) в разделе Очумелые ручки.

psb
22.02.2005, 18:24
вроде все спросил уже. Что о прошивке ? Нет такой в природе?

скорее всего нет... я не слышал.

SMT
22.02.2005, 18:50
П.С. а у себя я сделал по-простому. Определить (на конце кадра), что прошло переключение экранов => на этом кадре рисовать микс обоих экранов. И все. Если не считать проблему микса.
то есть, если пользователь видит мерцание, он должен включить такую опцию?

btw, у тебя глючит мультиколорный рендерер. смотри переход между частями в insult megademo - там бордюром делается эффект закрытия картинки - выглядит жутко

SMT
22.02.2005, 18:56
там бордюром делается эффект закрытия картинки - выглядит жуткоточнее не бордюром, а комбинацией "бордюр + 2-й экран"

SMT
23.02.2005, 12:18
Посмотри журнал Black Crown 4 (или 5) в разделе Очумелые ручки.
похоже, правильный GIGASCREEN есть только в одном эмуляторе, и то он пока не зарелижен ;)

PheeL
23.02.2005, 12:44
Кстати, хотел спросить. У меня такое впечатление, что палитра GIGASCREEN в Unreal'е как-то неправильно выглядит. Сравните получающиеся цвета с "мигающими" экранами и включённой опцией. Совершенно непохоже. Есть подозрение, что простое мат. смешивание по 50 на 50 здесь не работает. Видимо глаз как-то по-особому воспринимает, т.е. нужно либо на глазок выбирать правильную палитру смешивания, либо хитрее формулу смеси придумывать. Но тогда это будет уже не эмуляция GIGASCREEN'а, а просто эмуляция цветов "мигающего" 2-х экранного переключения (что тоже желательно иметь).

Vladimir Kladov
23.02.2005, 14:09
точнее не бордюром, а комбинацией "бордюр + 2-й экран"
точнее скриншот. зачем мне снапшот. (то ли я утра рубашку наизнанку одел... все не так. одно то, что я час бился, не мог этот инсульт запустить, а он гад только из 48К должен грузиться... а потом, как оказалось, какой-то чудик вставил часть 7 перед частью 0, а я минут 30 врубался, чего это лента не грузится сразу :) )

Vladimir Kladov
23.02.2005, 14:14
воспринимает, т.е. нужно либо на глазок выбирать правильную палитру смешивания, либо хитрее формулу смеси придумывать. Но тогда это будет уже не эмуляция GIGASCREEN'а, а просто эмуляция цветов "мигающего" 2-х экранного переключения (что тоже желательно иметь).
там резисторы ставились вроде. Какие поставит тот, кто делает у себя эту доработку, такая и палитра :) не было 100% стандарта, я так понимаю.

jtn
23.02.2005, 17:42
там резисторы ставились вроде. Какие поставит тот, кто делает у себя эту доработку, такая и палитра :) не было 100% стандарта, я так понимаю.
о чем вообще речь? какие такие резисторы? гс - суть аппаратная фишка полностью эквивалентная тому, что есть в Stellar Contour, а именно:

1st Frame:
Line0: Line0_scr0
Line1: Line1_scr1
Line2: Line2_scr0
...
2nd Frame:
Line0: Line0_scr1
Line1: Line1_scr0
Line2: Line2_scr1
...
3rd Frame:
Line0: Line0_scr0
Line1: Line1_scr1
Line2: Line2_scr0
...

Lion17
23.02.2005, 19:06
о чем вообще речь? какие такие резисторы? гс - суть аппаратная фишка полностью эквивалентная тому, что есть в Stellar Contour, а именно:

1st Frame:
Line0: Line0_scr0
Line1: Line1_scr1
Line2: Line2_scr0
...
2nd Frame:
Line0: Line0_scr1
Line1: Line1_scr0
Line2: Line2_scr1
...
3rd Frame:
Line0: Line0_scr0
Line1: Line1_scr1
Line2: Line2_scr0
...

А на какой порт управление вешалось, в журнальчике написано, что, мол, 4 бит порта #EFF7 свободен и от него этот режим включается. А какой родной девайс юзает #EFF7?

Vladimir Kladov
23.02.2005, 19:19
1st Frame:
Line0: Line0_scr0
Line1: Line1_scr1
Line2: Line2_scr0
...
2nd Frame:
Line0: Line0_scr1
Line1: Line1_scr0
Line2: Line2_scr1
...
на ТВ это может и смотрелось нормально, но для ПЦ-мониторов это все равно не пойдет... Слишком они четкие :) Так что пусть у меня будет как раньше.

SMT
23.02.2005, 19:56
Кстати, хотел спросить. У меня такое впечатление, что палитра GIGASCREEN в Unreal'е как-то неправильно выглядит
gigascreen в unreal появится только в следующей версии и будет правильно мерцать, как и описал jtn

SMT
23.02.2005, 19:57
а noflic сейчас глючит, когда scanlines включены и режим GDI или 8bit ddraw

SMT
23.02.2005, 21:02
точнее скриншот. зачем мне снапшот. (то ли я утра рубашку наизнанку одел... все не так. одно то, что я час бился, не мог этот инсульт запустить, а он гад только из 48К должен грузиться... а потом, как оказалось, какой-то чудик вставил часть 7 перед частью 0, а я минут 30 врубался, чего это лента не грузится сразу :) )
явно не то. insult от codebusters был изначально на диске и требовал 128k памяти. хотя я занимался переделкой почти всех частей под 48+tape, когда у меня был "Квант" :) глюк оказался во включенном по умолчанию "GIGASCREEN". в последних версиях Emuz выглядит более прилично (но всё равно неправильно) - раньше это место почему-то мерцало

Vladimir Kladov
23.02.2005, 21:45
gigascreen в unreal появится только в следующей версии и будет правильно мерцать, как и описал jtn
вот еще почему не стоит переделывать у меня гигаскрин: такой "правильный" способ означает, что на каждом кадре придется перерисовывать весь экран. Для меня это неприемлемо, т.к. основной режим у меня оконный. Только на очень быстрых машинах удается полное окно перерисовывать каждый кадр, с учетом всякого рода масштабирований. А так мне удается выходить из этой ситуации перерисовывая только те части "экрана" спека, которые изменились. Потому и быстрый :)

А на LCD-мониторах вообще интересно будет глянуть, что получится у SMT в US :)

SMT
24.02.2005, 08:04
вот еще почему не стоит переделывать у меня гигаскрин: такой "правильный" способ означает, что на каждом кадре придется перерисовывать весь экран. Для меня это неприемлемо, т.к. основной режим у меня оконный. Только на очень быстрых машинах удается полное окно перерисовывать каждый кадр, с учетом всякого рода масштабирований.оверлей или аппаратное масштабирование?


А так мне удается выходить из этой ситуации перерисовывая только те части "экрана" спека, которые изменились. Потому и быстрый :)
определение прямоугольников для обновлений тоже не быстрое дело...


А на LCD-мониторах вообще интересно будет глянуть, что получится у SMT в US :)
тогда ищи старые мониторы. на 12ms очень заметно даже при 60hz int и синхронизации по vsync. только gigascreen не мерцает, а как бы дёргается вверх-вниз

Vladimir Kladov
24.02.2005, 21:28
оверлей или аппаратное масштабирование?
у меня нет аппаратного вообще, все сам :)


определение прямоугольников для обновлений тоже не быстрое дело...
а вот и неправдушки. Если сравнивать предыдущий экран спектрума со следующим, 6192 байта всего. С учетом гигаскрина х 2. С учетом мультиколора еще х 2. Для ПЦ - семечки ;)

SMT
24.02.2005, 23:13
у меня нет аппаратного вообще, все сам :)

тогда процессор видеокарты простаивает. а кстати, smooth scale уже не требует SSE2 и я его заценил. похоже на то, как LCD мониторы интерполируют не родные им режимы :)


а вот и неправдушки. Если сравнивать предыдущий экран спектрума со следующим, 6192 байта всего. С учетом гигаскрина х 2. С учетом мультиколора еще х 2. Для ПЦ - семечки ;)

у меня тоже была идея сравнивать каждый "мультиколорный" байт с предыдущим и не писать в видеопамять при совпадении. но сейчас обычная конфигурация пц - от двух гигагерц, так что уже не актуально. сейчас подумываю о полумере - обновлять изменившиеся строки, а не произвольные области

Vladimir Kladov
25.02.2005, 14:24
а кстати, smooth scale уже не требует SSE2 и я его заценил. но сейчас обычная конфигурация пц - от двух гигагерц, стоп! обычно там где от 2ГГц, там и SSE2 есть :)

Видал, поди: народ в буржуинском царстве требует, чтобы шло на пне-75 под вынь-95 (ноутбук), да еще чтобы со скоростью 100% :) С пропуском кадров (так 35fps примерно) вроде идет...

В direct-x только проблема была с гигаскрином серьезная, сегодня только нашел причину. Так что в следующем релизе будет. Как раз не то не с тем сравнивалось... У меня директ-Х используется только для свопа буферов, рисую все равно сам. Так надо и сравнивать было каждый экран со своим выходом, да еще и пара основной/лополнительный экран доджна была быть подвязана к своему выходному буферу. Т.е. цифры как раз такие: 6К х 4 байт, при сравнении словами всего 6К сравнений, строится матрица 10х10 флажков, вывод по прямоугольникам существенно снижает нагрузку. А проц видюхи - он не у всех есть, и всегда какой-нибудь разный. Я смотрел, что от него можно получить. Ну максимум масштабирование. И то опять же не всегда. Да ну его, у меня быстрее получается. Гораздо сложнее проблема получить плавный скроллинг, а в этом видюха/директ-Х помочь вообще не может. И ОС тоже себе на уме.

Кстати, могу подбросить сигнатур для загрузки ленты, и одну маленькую идейку как радикально ускорить ее еще раза в 2-3-5. Идейку - сразу, она простая: практически все эти загрузчики заканчивают наборку битов командой RL L. Так что условие L = 1, выполняется RL L, идет загрузка с ленты, еще кое-что - дальше берем с ленты сами очередные 7 бит, вдвигаем их, после RL L состояние такое же как после последнего 8-го сдвига. У себя я уже сделал.

SMT
25.02.2005, 17:08
стоп! обычно там где от 2ГГц, там и SSE2 есть :)
ну, пускай не совсем 2 :) немного меньше :)


А проц видюхи - он не у всех есть, и всегда какой-нибудь разный. Я смотрел, что от него можно получить. Ну максимум масштабирование. И то опять же не всегда. Да ну его, у меня быстрее получается. оверлей интерполирует во время выдачи изображения. его ждать не надо. пытался сделать масштабирование через directDraw BitBlt - карта делает билинейную интерполяцию, чего мне не надо, хотя я точно знаю, что можно и без неё (трассировал древний эмулятор zx32 - там именно dx bitblt)


Гораздо сложнее проблема получить плавный скроллинг, а в этом видюха/директ-Х помочь вообще не может. И ОС тоже себе на уме.
да, тут только частоту развёртки подгонять...


Кстати, могу подбросить сигнатур для загрузки ленты, и одну маленькую идейку как радикально ускорить ее еще раза в 2-3-5. Идейку - сразу, она простая: практически все эти загрузчики заканчивают наборку битов командой RL L. Так что условие L = 1, выполняется RL L, идет загрузка с ленты, еще кое-что - дальше берем с ленты сами очередные 7 бит, вдвигаем их, после RL L состояние такое же как после последнего 8-го сдвига. У себя я уже сделал.почти идеально, но не известно, какие команды вокруг RL L, значит, не известно, сколько тактов пройдёт в цикле загрузки байта. то есть, эмуляция не точная :)

BlastOff
25.02.2005, 18:12
А можно сделать ручную смену разрешения и частоты экрана? А то что-то напрягает работать в 640х480х60, когда можно 1024х768х100.

Vladimir Kladov
25.02.2005, 19:22
А можно сделать ручную смену разрешения и частоты экрана? А то что-то напрягает работать в 640х480х60, когда можно 1024х768х100.Это в US? Тады ой - в emuzwin просто используется та же что на десктопе. Переключение быстрее происходит, и в большинстве дисплеев даже без щелчков (на работе однако со щелчком - там iiyama 2048x1600 (вроде не соврал), хотя и разрешение остается то же, но щелчок все равно почему-то есть). Все равно непонятно что такое x60 - такого не бывает :)

Vladimir Kladov
25.02.2005, 19:31
оверлей интерполирует во время выдачи изображения. его ждать не надо.
а торопиться некуда особо. Эмуляция отнимает гораздо меньше времени, чем вывод графики. Даже 256 цветов легко вписывает от пня450 по карйней мере.


да, тут только частоту развёртки подгонять...
все мечтаю когда-нибудь выбрать время попробовать сделать что-то вроде blur motion. Хотя не совсем. В общем суть такая, что есть 2 кадра, известно время экспонирования первого, известно время экспонирования следующего при частоте 50 Гц. И известна частота дисплея. Задача: "смешать" эти кадры в нужной пропорции, чтобы кажущееся время экспонирования как раз составляло 1/50 секунды.


почти идеально, но не известно, какие команды вокруг RL L, значит, не известно, сколько тактов пройдёт в цикле загрузки байта. то есть, эмуляция не точная :)А я привязываюсь к сигнатуре. Только одна сигнатура не смогла работать в этом режиме - la abadia del crimen. Там похоже не просто сдвигаются 8 бит и засовываются, а делается что-то более сложное, вроде побитовой декодировки на лету. А так вроде проблем не заметил. Замечу если - сделаю опцию для отрубания этой фичи. Неточность эмуляции по тактам тоже не помеха. На всех загрузчиках, которыя я испробовал, важно только сколько тактов на ленте прошло, а в машине сколько - не важно, даже R не нужен. Тем более что там все равно идут циклы ожидания следующего фронта на ленте, их же не обязано быть равное количество.

PheeL
25.02.2005, 21:12
Это в US? Тады ой - в emuzwin просто используется та же что на десктопе. Переключение быстрее происходит

Я не знаю какие у вас настройки, но у меня разрешение не пререключается при fullscreen по Atl+Enter. Просто стреч с соблюдением аспекта.


, и в большинстве дисплеев даже без щелчков (на работе однако со щелчком - там iiyama 2048x1600 (вроде не соврал), хотя и разрешение остается то же, но щелчок все равно почему-то есть). Все равно непонятно что такое x60 - такого не бывает :)

Щелчок видимо получается потому что герцовка меняется.

SMT
25.02.2005, 21:18
А можно сделать ручную смену разрешения и частоты экрана? А то что-то напрягает работать в 640х480х60, когда можно 1024х768х100.
для us частота полноэкранного режима задаётся настройкой refresh в ini, а разрешение настройкой minres, если поставить minres=768, то будет 1024x768, только изображение всё равно будет в центре. если использовать режимы blitter или overlay, его можно растянуть на весь экран

SMT
25.02.2005, 21:25
а торопиться некуда особо. Эмуляция отнимает гораздо меньше времени, чем вывод графики. Даже 256 цветов легко вписывает от пня450 по карйней мере.вот именно, заполнение 320x200x16bit в оверлей и масштабирование видеокартой быстрее, чем програмная интерполяция



все мечтаю когда-нибудь выбрать время попробовать сделать что-то вроде blur motion. Хотя не совсем. В общем суть такая, что есть 2 кадра, известно время экспонирования первого, известно время экспонирования следующего при частоте 50 Гц. И известна частота дисплея. Задача: "смешать" эти кадры в нужной пропорции, чтобы кажущееся время экспонирования как раз составляло 1/50 секунды.очень интересная задача. как фильтрация сигнала, но по времени...


А я привязываюсь к сигнатуре. Только одна сигнатура не смогла работать в этом режиме - la abadia del crimen. Там похоже не просто сдвигаются 8 бит и засовываются, а делается что-то более сложное, вроде побитовой декодировки на лету. А так вроде проблем не заметил. Замечу если - сделаю опцию для отрубания этой фичи. Неточность эмуляции по тактам тоже не помеха. На всех загрузчиках, которыя я испробовал, важно только сколько тактов на ленте прошло, а в машине сколько - не важно, даже R не нужен. Тем более что там все равно идут циклы ожидания следующего фронта на ленте, их же не обязано быть равное количество.тогда лучше сразу flashload, как в RealSpec - цикл загрузчика определён по сигнатуре полностью, можно не по байтам грузить, а сразу весь блок

jtn
26.02.2005, 01:01
А я привязываюсь к сигнатуре. Только одна сигнатура не смогла работать в этом режиме - la abadia del crimen. Там похоже не просто сдвигаются 8 бит и засовываются, а делается что-то более сложное, вроде побитовой декодировки на лету. А так вроде проблем не заметил. Замечу если - сделаю опцию для отрубания этой фичи. Неточность эмуляции по тактам тоже не помеха. На всех загрузчиках, которыя я испробовал, важно только сколько тактов на ленте прошло, а в машине сколько - не важно, даже R не нужен. Тем более что там все равно идут циклы ожидания следующего фронта на ленте, их же не обязано быть равное количество.
попробуй Wec Le Mans 128к в .tzx

SMT
26.02.2005, 02:05
все мечтаю когда-нибудь выбрать время попробовать сделать что-то вроде blur motion. Хотя не совсем. В общем суть такая, что есть 2 кадра, известно время экспонирования первого, известно время экспонирования следующего при частоте 50 Гц. И известна частота дисплея. Задача: "смешать" эти кадры в нужной пропорции, чтобы кажущееся время экспонирования как раз составляло 1/50 секунды.представляем видео-поток как 320*200*3цвета сигналов с частотой дискретизации 50hz и уровнем 2 бита яркости. к каждому применяем обычный одномерный алгоритм (как к звуку) передисретизации из 50 в 60 или 75 hz. проблема в том, что для того, чтобы это сделать качественно, нужно знать не только десяток предыдущих кадров, но и десяток следующих, то есть вводить большую задержку вывода видео относительно портов ввода в эмулятор