Сообщения без ответов | Активные темы Текущее время: 19 мар 2024, 12:57



Ответить на тему  [ Сообщений: 230 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 12  След.
 Отличия Dendy и других клонов от оригинальных NES/Famicom 
Автор Сообщение
Сообщение 01 авг 2008, 20:46
Профиль
Аватара пользователя

Зарегистрирован:
28 июл 2008, 19:27
Сообщения: 99
Откуда: Россия,Челябинск
Вот бы подобное было б реализовано в нестопии...

_________________
8-BIT MUSIC FAN


Сообщение 02 авг 2008, 01:19
Профиль
Аватара пользователя

Зарегистрирован:
22 июл 2007, 21:16
Сообщения: 88
А я, грешным делом, думал, что стереоэффект достигается, когда из разных колонок играет разная музыка...

_________________
We're talkin' about givin' the drummer some...


Сообщение 02 авг 2008, 07:39
Профиль
Аватара пользователя

Зарегистрирован:
24 июл 2007, 06:54
Сообщения: 492
Откуда: Embedded
R4kk00n писал(а):
А я, грешным делом, думал, что стереоэффект достигается, когда из разных колонок играет разная музыка...

Это получается Dual Channel а не Stereo. Когда ты слышал одним ухом одно а другим совершенно другое в реале? Собственно, классический "стерео эффект" так и делался на заре стереофонии - добавлялись разные звуки в разные каналы. Однако, если послушать стереозапись классической музыки, то можно услышать, что в каждом канале слышно все инструменты оркестра (с несколько разной степенью громкости, т.к. разное расстояние до микрофона), однако простое панарамирование не дает эффект объема. Именно поэтому, в студиях моно-голос сначала прогоняют через ревер и только потом панарамируют.

_________________
Tried so hard and got so far, but in the end, it doesn't even matter...


Сообщение 02 авг 2008, 11:59
Профиль ICQ

Зарегистрирован:
23 июл 2007, 12:24
Сообщения: 195
Откуда: Vladivostok, Russia
Более важным является разность фаз у сигнала, чем панорамирование. А панорамированные или, тем более, дюал ченел звуки в наушниках вообще невозможно слушать...


Сообщение 03 авг 2008, 18:18
Профиль
Аватара пользователя

Зарегистрирован:
22 июл 2007, 21:16
Сообщения: 88
На это у приличных плееров есть crossfeed.
Но я не о том. А о том, что, сколько ты один и тот же звуковой поток ни пихай в разные колонки с фазовыми сдвигами, стереозвука ты не получишь. Только жалкое подобие. Так стоит ли вообще?..

P.S. А в совсем приличных домах могут и HRTF применять.

_________________
We're talkin' about givin' the drummer some...


Сообщение 06 авг 2008, 16:43
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
CaH4e3, а как организовать доставку денди Кевтрису , дорого все это выйдет?
Дело вроде бы осталось за малым - узнать точные тайминги приставки. Может у нас кто-нибудь это сделать?

Вот, нашел еще интересный ресурс по Денди: http://forum.migera.ru/viewforum.php?f=5

_________________
Nestopia 1.37/1.40 Fixed


Сообщение 26 дек 2008, 19:14
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Наконец-то появились свежие новости:
http://www.zx.pk.ru/showthread.php?t=9117

тов. Titus писал эмулятор Денди в 1997, беря за основу собственные вычисления:

Частота кварца: Z = 26.601712 МГц
Тактовая частота процессора: Z/15 = 1.77344746666... МГц
Количество тактов в кадре: 35464
Количество строк в кадре: 312 (видимых 240)
Количество тактов в строке: 35464/312 = 113.6666...
Частота кадров: Z/531960 = 50.00697796827 Гц
Базовая частота генератора звука: F = Z/240 = 110840.46666... Гц

Просветите меня тёмного, как из этих значений вычислить тайминги VBLANK/VSLEEP?
(пока нашел немного информации здесь: http://ru.wikipedia.org/wiki/VBI)

_________________
Nestopia 1.37/1.40 Fixed


Последний раз редактировалось EvGS 09 апр 2009, 19:29, всего редактировалось 3 раз(а).



Сообщение 26 дек 2008, 21:45
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
22 июл 2007, 11:16
Сообщения: 787
VBL период начинается от нулевой строки каждого кадра и до начала рендера видимых строк. В NTSC это 20, затем 21ая строка фейковая, 240 строк растра, отображаемые 224, но рендерятся все и одна строка на отдых.
Если считать так же, 312 - 1 - 240 - 1 = 70 строк на VBL начиная от нулевой строки каждого кадра.

_________________
1. Модератор всегда прав.
2. Если модератор не прав, см. п. 1.


Сообщение 26 дек 2008, 23:08
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
А что подразумевается под "VSLEEP"?
В прошлый раз, когда я писал письмо Мартину,
я указал лишь то, что было известно на тот момент:
Частоту кварца и предполагаемую частоту процессора

Ответ был таков:
Thanks for the info. I've changed the code to use the PAL clock as per
HardWareMan's suggestion. I've also adjusted the VBLANK and VSLEEP timing to
something more Dendy like which should fix most of the game glitches you've
reported.

Я предположил, если некоторые "глюки" ещё остались, значит тайминги VBLANK/VSLEEP были угаданы не совсем точно.
В таком случае, поможет ли Мартину инфа от Titusa разобраться с этими таймингами?
HardWareMan сказал, что ничего нового мы не узнали - всё "новое" высчитывается из частоты ЦП, давно известной.

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

_________________
Nestopia 1.37/1.40 Fixed


Последний раз редактировалось EvGS 09 апр 2009, 19:33, всего редактировалось 1 раз.



Сообщение 27 дек 2008, 08:00
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
22 июл 2007, 11:16
Сообщения: 787
Не знаю, что под этим подразумевает марти, но VBLANK или включен или выключен. Количество строк известно. Число строк активности VBLANK мы тоже вроде выяснили. Все остальное время, легко поддающееся вычислению, он неактивен, то есть - спит.
Вообще, кто сказал, что у марти эмулятор идеально точный. ;) Может с этими глюками не в ппу дело то?

_________________
1. Модератор всегда прав.
2. Если модератор не прав, см. п. 1.


Сообщение 07 янв 2009, 13:43
Профиль
Аватара пользователя

Зарегистрирован:
24 июл 2007, 06:54
Сообщения: 492
Откуда: Embedded
Проведены некоторые эксперименты. Стало точно известно:
Изображение
Так что, такты процессора действительно MCLK/15. Далее, стало известно, что 6502 делает кучу телодвижений, прежде чем начинает выполнять программу:
Код:
Короче, после сброса:
1 - Read FCFB:FF полуцикл, сразу с F2=1
2 - Read FFFB:C4 чтение из ROM
3 - Read C4FE:FF чтение из ROM (старший адрес применился)
4 - Read C4FE:FF чтение из ROM
5 - Read 0100:02 чтение из ОЗУ, потолок стэка
6 - Read 01FF:41 чтение из ОЗУ, дно стэка
7 - Read 01FE:00 чтение из ОЗУ стэка
8 - Read FFFC:00 <Вектор младший
9 - Read FFFD:C0 <Вектор старший
10 - Read C000:D8 <Первая команда

Занятно то, что происходит чтение из стека, а адрес уменьшает (т.е. стек растет), а это признак записи...

_________________
Tried so hard and got so far, but in the end, it doesn't even matter...


Сообщение 13 янв 2009, 15:20
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Спасибо, HWM'an

1) Что за параметр Duty 6,5:8,5 clock ?
2) Эта "куча телодвижений" 6527 специфична только для "Денди"?

_________________
Nestopia 1.37/1.40 Fixed


Сообщение 13 янв 2009, 19:35
Профиль
Аватара пользователя

Зарегистрирован:
24 июл 2007, 06:54
Сообщения: 492
Откуда: Embedded
Flamer писал(а):
1) Что за параметр Duty 6,5:8,5 clock ?

Это скважность сигнала F2, который является ключевым сигналом для ядра 6502. 6,5 такта он равен лог.0, это соответствует свободным шинам процессора. 8,5 такта он равен лог.1 и это соответствует обращение процессора к шине.
Flamer писал(а):
2) Эта "куча телодвижений" 6527 специфична только для "Денди"?

Скорее для ядра 6502 в целом. Т.к. обращение к шине у этого ядра завязано на такты (точнее на фазу №2), то он формирует обращение к шине каждый такт. Однако некоторые команды требуют несколько тактов на исполнение, а обращение к шине все равно формируется. Просто данные никуда не принимаются.

_________________
Tried so hard and got so far, but in the end, it doesn't even matter...


Сообщение 20 апр 2009, 19:13
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Письмо отправил, скоро закончу тестирование ромсета. Мартин что-то уже год на своем форуме не появляется.
А посмотрите, что написано про VBL (Vint) для денди в исходнике:
Код:
...
PPU_RP2C02_VACTIVE    = 240,
PPU_RP2C02_VSLEEP     = 1,
PPU_RP2C02_VINT       = 20,
PPU_RP2C02_VDUMMY     = 1,
...
PPU_RP2C07_VACTIVE    = 240,
PPU_RP2C07_VSLEEP     = 1,
PPU_RP2C07_VINT       = 70,
PPU_RP2C07_VDUMMY     = 1,
...
PPU_DENDY_VACTIVE     = 240,
PPU_DENDY_VSLEEP      = 51,
PPU_DENDY_VINT        = 20,
PPU_DENDY_VDUMMY      = 1,
...
CLK_M2_MUL      = 6,
CLK_NTSC        = 39375000UL * CLK_M2_MUL,
CLK_NTSC_DIV    = 11,
CLK_NTSC_HVSYNC = 525UL * 455 * CLK_NTSC_DIV * CLK_M2_MUL / 4,
CLK_PAL         = 35468950UL * CLK_M2_MUL,
CLK_PAL_DIV     = 8,
CLK_PAL_HVSYNC  = 625UL * 1418758 / (10000/CLK_PAL_DIV) * CLK_M2_MUL
....      
CPU_RP2A03_CC = 12,
CPU_RP2A07_CC = 16,
CPU_DENDY_CC  = 15
...

Сан4ез сказал, скорее всего это неправильно и VBL (Vint) для денди >= 70

Нашел вот еще что.
Тогда непонятно, где правда, а где нет:
Если верить Титусу, к-во тактов ЦП в 1 кадре: 1773447,66 / 50,00697796827 = 35464
Если же брать "чистые" 50,000 кадров, как во всех документах, получается: 1773447,66 / 50 = 35468,95

_________________
Nestopia 1.37/1.40 Fixed


Последний раз редактировалось EvGS 04 май 2009, 02:18, всего редактировалось 1 раз.



Сообщение 27 апр 2009, 23:40
Профиль

Зарегистрирован:
02 сен 2007, 06:07
Сообщения: 46
Откуда: Москва
Ответил Мартин?


Сообщение 29 апр 2009, 15:35
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Нет, не отвечает. И не появляется ни на одном из форумов уже где-то год. Больше всего я боюсь, что мы опоздали.
Может у него уже интерес к своему проекту пропал за 6 с лишним лет разработки...

HardWareMan возможно вскоре доделает граббер и узнает потактовку денди + точные тайминги VBL/VSL

_________________
Nestopia 1.37/1.40 Fixed


Последний раз редактировалось EvGS 04 май 2009, 02:08, всего редактировалось 1 раз.



Сообщение 04 май 2009, 01:44
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Откомпилировал с таймингами 70/1 (как предлагал Санчез) и получил ту же самую кучу глюков в верхней части экрана на мапперах 1 и 7,
что и в первом билде, который мне высылал Марти в прошлом году.

---- добавлено ----

...В общем, явно хуже, чем есть сейчас. Батлтоадсы вообще виснут.


Вложения:
shadow_of_the_ninja_(U).png
shadow_of_the_ninja_(U).png [ 50.9 КБ | Просмотров: 15302 ]
btdd_(U)-freeze.png
btdd_(U)-freeze.png [ 95.24 КБ | Просмотров: 15302 ]
Robocop3_(U).png
Robocop3_(U).png [ 134.51 КБ | Просмотров: 15303 ]

_________________
Nestopia 1.37/1.40 Fixed
Сообщение 17 май 2009, 03:43
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 22:38
Сообщения: 84
Откуда: С-Пб
Есть такая фишка - Jungle Book на некоторых приставках идет с пониженной яркостью.
Только что проверил, на Т1818 идет нормально, на UM6561F-2 тускло. Какие есть соображения, чем это может быть вызвано? Какие-то режимы PPU?

И ещё. Все классические Сюбры собраны на бескорпусном UM6561

_________________
Дао, выраженное словами, не есть истинное Дао


Сообщение 17 май 2009, 06:00
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
22 июл 2007, 11:16
Сообщения: 787
Там есть такая штука emphasis bit в 2001 регистре (три старших), если их выставить в 1 все три, то они гасят палитру аппаратно, не меняя ее. В Super Spy Hunter на паузе это как раз используется. И в буке то же самое, но по всей игре. Вообще по идее каждый бит отвечает за один из цветов RGB, когда установлен 1 бит, то все остальные цвета подавляются, а когда установлены все три, то подавляются все. На этом ранние эмуляторы неса долго накалывались. Сдается мне, на некоторых РРU эти биты могут работать как-то иначе, чем в оригинальной приставке или вообще не работать именно так.
APOTEXEN - гг код, который отключает подавление палитры до титула включительно (американская версия), для сравнения. ;) В ингейме и на кутсценах другие адреса, но и там отключить можно.

Так что настоящий жданглбук всегда с приглушенной палитрой.

_________________
1. Модератор всегда прав.
2. Если модератор не прав, см. п. 1.


Сообщение 17 май 2009, 11:45
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
James Bond Jr. у меня тоже на T1818P более-менее яркий, а на 6561 картинку еле видно. Аналогично Felix the Cat.
Не пойму, зачем разработчики специально гасили палитру. На мой взгляд, неприятно смотрится.

Я поэкспериментировал с таймингами на прошлой неделе. Вручную подобрать не получилось.

PPU_DENDY_VSLEEP = BB (51 default by Marty),
PPU_DENDY_VINT = АА (20 default by Marty),
PPU_DENDY_VDUMMY = 1,
PPU_DENDY_VBLANK = PPU_DENDY_VSLEEP + PPU_DENDY_VINT + PPU_DENDY_VDUMMY

PPU_DENDY_VBLANK для pal-системы в сумме своей должен быть равен (либо немногим больше) 72, правильно?
Если подбирать тайминги меньше этой суммы, портится звук DPCM; если больше - скорость звука падает и появляются щелчки.

Еще не все значения окончательно протестированы, но картина примерно следующая:
[формат записи: AA-BB]

заставочный мульт power blade 2 (U):
(чувствителен к vint)
не испорчен: 20-1.....20-10, 29-BB....70-BB
испорчен: 20-BB....28-BB
*где BB = 72 - 1 - AA, но проверял также другие значения:
Например, при AA=20, BB=50/52/53 пропадают глюки в Choujin Sentai Jetman и в Aladdin [unl] на титуле.

battletoads/btdd (U):
(чувствителен к vint, нечувствителен к vsleep)
не зависает: 16-BB....20-BB
зависает: vint<16-BB; 21-BB....70-BB
*где BB = 72 - 1 - AA, но проверял также другие значения.

james bond jr (U):
(чувствителен к vsleep)
не зависает: AA-1.....AA-14(15)
зависает: AA-vsl>15
*где 20 < AA < 70, также пробовал AA<20

Пока выходит так: либо battletoads'ы работают, либо мульт в power blade 2 не глючит.
А на реальной денди и та, и другая работают нормально.
Если выставить тайминги аналогично НТСЦшным (vint=20, vsleep=1), все работает, но звук не правильный.
Пробовал поставить 51 на dummy, в качестве довеска к общей сумме.
Звуку это помогает, но игры работают так же, как при vint=20/vsleep=51, т.е. мульт Power Blade 2 опять становится испорчен.

Соотношение 3:1 в денди-режиме нестопии по идее должно соблюдаться, ведь в коде делители частот CPU и PPU для денди верны:
CPU_DENDY_CC = 15
PPU_DENDY_CC = 5

Такие пироги, не пойму, в чем дело... Может у Вас есть какие-нибудь догадки по этому поводу?

_________________
Nestopia 1.37/1.40 Fixed


Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 230 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 12  След.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF (mod by Zeru-j).
Русская поддержка phpBB