Отличия 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 |
|
Зарегистрирован: 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 |
|
Зарегистрирован: 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 |
|
Зарегистрирован: 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, что и в первом билде, который мне высылал Марти в прошлом году.
---- добавлено ----
...В общем, явно хуже, чем есть сейчас. Батлтоадсы вообще виснут.
_________________ 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 |
|
Зарегистрирован: 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
|
|
|
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|