Форум Эму-Россия
http://forum.emu-russia.net/

Отличия Dendy и других клонов от оригинальных NES/Famicom
http://forum.emu-russia.net/viewtopic.php?f=13&t=419
Страница 4 из 12

Автор:  Ryukenden [ 01 авг 2008, 20:46 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

Вот бы подобное было б реализовано в нестопии...

Автор:  R4kk00n [ 02 авг 2008, 01:19 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

А я, грешным делом, думал, что стереоэффект достигается, когда из разных колонок играет разная музыка...

Автор:  HardWareMan [ 02 авг 2008, 07:39 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

R4kk00n писал(а):
А я, грешным делом, думал, что стереоэффект достигается, когда из разных колонок играет разная музыка...

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

Автор:  AntZ [ 02 авг 2008, 11:59 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

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

Автор:  R4kk00n [ 03 авг 2008, 18:18 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

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

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

Автор:  EvGS [ 06 авг 2008, 16:43 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

CaH4e3, а как организовать доставку денди Кевтрису , дорого все это выйдет?
Дело вроде бы осталось за малым - узнать точные тайминги приставки. Может у нас кто-нибудь это сделать?

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

Автор:  EvGS [ 26 дек 2008, 19:14 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

Наконец-то появились свежие новости:
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)

Автор:  CaH4e3 [ 26 дек 2008, 21:45 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

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

Автор:  EvGS [ 26 дек 2008, 23:08 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

А что подразумевается под "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 сказал, что ничего нового мы не узнали - всё "новое" высчитывается из частоты ЦП, давно известной.

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

Автор:  CaH4e3 [ 27 дек 2008, 08:00 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

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

Автор:  HardWareMan [ 07 янв 2009, 13:43 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

Проведены некоторые эксперименты. Стало точно известно:
Изображение
Так что, такты процессора действительно 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 <Первая команда

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

Автор:  EvGS [ 13 янв 2009, 15:20 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

Спасибо, HWM'an

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

Автор:  HardWareMan [ 13 янв 2009, 19:35 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

Flamer писал(а):
1) Что за параметр Duty 6,5:8,5 clock ?

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

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

Автор:  EvGS [ 20 апр 2009, 19:13 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

Письмо отправил, скоро закончу тестирование ромсета. Мартин что-то уже год на своем форуме не появляется.
А посмотрите, что написано про 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

Автор:  angrylion [ 27 апр 2009, 23:40 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

Ответил Мартин?

Автор:  EvGS [ 29 апр 2009, 15:35 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

Нет, не отвечает. И не появляется ни на одном из форумов уже где-то год. Больше всего я боюсь, что мы опоздали.
Может у него уже интерес к своему проекту пропал за 6 с лишним лет разработки...

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

Автор:  EvGS [ 04 май 2009, 01:44 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

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

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

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

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

Автор:  Rumata [ 17 май 2009, 03:43 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

Есть такая фишка - Jungle Book на некоторых приставках идет с пониженной яркостью.
Только что проверил, на Т1818 идет нормально, на UM6561F-2 тускло. Какие есть соображения, чем это может быть вызвано? Какие-то режимы PPU?

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

Автор:  CaH4e3 [ 17 май 2009, 06:00 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

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

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

Автор:  EvGS [ 17 май 2009, 11:45 ]
Заголовок сообщения:  Re: Отличия Dendy и других клонов от оригинальных NES/Famicom

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

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

Страница 4 из 12 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/