у меня фамик с нес-ргб и таки да - рычаг пришлось выкинуть нах. какая потеря! :)
Вид для печати
у меня фамик с нес-ргб и таки да - рычаг пришлось выкинуть нах. какая потеря! :)
А на каких условиях можно заполучить файлы?
Я на работе заказал бы себе одну штучку.
Или пустую печатку преобрести может быть можно?
Держи.
Полный исходный проект тоже будет, но попозже, так что пока только так. Если что надо изменить - пишите.
Подготовил подарок моему другу детства. Когда ему в начале 90х купили китайский однокапельный денди BaTong, наша жизнь качественно изменилась в лучшую сторону! Сколько игр было пройдено за бесчисленные ночные марафоны на летние каникулы... Почти все как у Кинамана. Мы жили в соседних подъездах, но на одном этаже и наши балконы были смежные. Часто передавали друг другу эту приставку через него, а позже, на заре 2000х, даже сеть протягивали. Но в конце 2000х он уехал на ПМЖ в Россию. И вот, на днях он приезжает в гости, а я ему приготовил вот такой мегаподарок:
http://savepic.ru/11262357m.jpghttp://savepic.ru/11213202m.jpg
http://savepic.ru/11265429m.jpghttp://savepic.ru/11268501m.jpg
Я уверен, он будет очень рад, это же наш утёнок. ;)
HardWareMan, Проясни ситуацию - какая судьба у этих плат? Флэймер говорил, что ты ему пачку этих плат отправил на реализацию, а инфа как-то зависла.....
Вобщем - где купить-то такую ? :)
Плат осталось 9 без выточки под выброс и с одним генератором (ошибка: отсутствует сопротивление 10к подтяжки NMI):
http://savepic.ru/11216337.jpg
И 5 с выточкой и двумя генераторами (ошибка: отсутствует сопротивление 220к между К-Б у VT5, герберы из поста 283 исправлены изначально):
http://savepic.ru/11221457.jpg
Отправлю Флэмеру ближайшие 5 дней, вместе с остальным барахлом.
- - - Добавлено - - -
Поднял хистори себестоимости. 700р каждая.
Спсб! Буду теперь Женьку трясти дальше :)
HardWareMan, а что-то из этого влезет в оригинальный корпус Famicom?
Ничто.
Ээээх. Печальная новость для новосибирцев в теме. Уходит символ эпохи.
https://vk.com/alkornsk?w=wall-90944492_574
https://youtu.be/u7aYOlZ1XFg
Поступила партия: 5 плат Rev2 и 9 плат Rev1
rev.1: без выточки под рычаг "Eject" / нужно слегка подпилить углы / c одним кварцевым резонатором / отсутствует подтяжка NMI
rev.2: с возможностью установить рычаг / с двумя кварцевыми резонаторами / отсутствует 220к между Б-К VT5
В очередь записались:
Revision 2:
- PARAFIN - 1 плата, rev2
- GARNIZON - 1 плата, rev2 - передано адресату.
- Piroxilin - 1 плата, rev2
- ShadDim - 1 плата, rev2 - передано на руки
- Ovvnex (evovxn) - 1 плата, rev2 - отправлено.
Revision 1:
- VWarlock - 1 плата, rev1 - отправлено
- bambula - 1 плата, rev1 - отправлено
- CitizenX - 1 плата, rev1 - передано на руки
- ShadDim - 5 плат, rev1 - передано на руки
- VideoLord - 1 плата, rev1 - отправлено
Исходные файлы для самостоятельного изготовления Rev.2 (баг с резистором 220к исправлен):
http://zx-pk.ru/attachment.php?attac...9&d=1466065916
HardWareMan, а можете поделиться перерисованной своей схемой? яб развел для фамикома оригинального :)
Верно, и они, похоже, все кончились. Кому надо еще, пусть делает сам.
- - - Добавлено - - -
Дык, там стандартный NES. Разница только в звуковой части.
http://savepic.ru/11265690m.png
Насколько я понял, платы ревизии 2 закончились, а ревизии 1 остались?
Я приобрёл бы одну, как раз корпус подходящий имеется.
С уважением,
VWarlock
VWarlock, добавил в очередь.
ХВМ, а ревизия 1 в корпус нормально входит, только с рычагом Eject'a проблемы?
Да, она входит. Только рычаг Eject'а не у дел. Ах да, уголки там немного подпиливать надо - тоже доработка для v2:
http://savepic.ru/11251223m.jpg
Только осторожно, там по краю как раз дорожка питания проходит:
http://savepic.ru/11219479.jpg
Я так понял плата лезет в корпус стиплеровской денди классик?
Платки высланы. Ожидайте.
Как заказать платку?
А если не острить? У вас все платы закончились?
А если читать что пишут а не только писать?
http://zx-pk.ru/threads/6479-dendi-t...l=1#post884449
Платки в МСК.
Платки приехали. KOX, остались лишь платы ревизии 1, без возможности установки рычага eject,
и с одним кварцем (выбирать придется сразу, либо PAL/Dendy либо NTSC) такие устроят?
Друзья, приветствую!
А последняя плата rev.1 она всё еще *free* ?
Я б забрал в Мск, если возможно)
Может мне уже пора переводить денежные знаки?
Или пока не до отправления посылок, тогда я подожду зеленого свистка в ЛС :-)
Кстати, я тут уже говорил о принципах формирования видео у PPU. И уже провел все необходимые опыты (пока только NTSC, но скоро доберусь и до PAL). Сетап:
http://savepic.ru/10215339.jpg
Verilog кодера NTSC по правилам PPU (используется 9 уровней на 8битном ЦАП, и его можно упростить):
Этот код на частоте 21,47МГц формирует вот такую картинку:Код:module PAL_NTSC_Gen(
input NTSC_Clk, // 21.4772 MHz
input PAL_Clk, // 53.2034 MHz
output [7:0]DAC,
output [3:0]COUT,
output [12:1]PHOUT
);
// For test purpose
assign COUT[3:0] = HCOUNT[7:4];
assign PHOUT[12:1] = PH[12:1];
// Регистры
reg [2:0]PH_PSC; // Phase prescaler
reg [12:1]PH; // Color subcarrier phases
reg [3:0]PIX_PSC; // Pixelclock prescaler
reg PIX_CLK; // Pixelclock strobe
reg [9:0]HCOUNT; // Horizontal counter
reg [9:0]VCOUNT; // Vertical counter
reg HSYNC; // Horizontal sync
reg BURST; // Color burst
reg HSCREEN; // Active video in scanline
reg VSYNC; // Vertical sync
reg VSCREEN; // Active video in frame
// used levels
wire [7:0]L0;
wire [7:0]L1;
wire [7:0]L2;
wire [7:0]L3;
wire [7:0]L4;
wire [7:0]L5;
wire [7:0]L6;
wire [7:0]L7;
wire [7:0]L8;
wire [7:0]L9;
// NTSC
assign L0 = 8'h00;
assign L1 = 8'h10;
assign L2 = 8'h18;
assign L3 = 8'h20;
assign L4 = 8'h32;
assign L5 = 8'h36;
assign L6 = 8'h3C;
assign L7 = 8'h4E;
assign L8 = 8'h55;
assign L9 = 8'h6E;
// Luma
wire [7:0]LUMAL;
wire [7:0]LUMAH;
assign LUMAL[7:0] = (~VCOUNT[6]) ?
(~VCOUNT[5]) ? L2[7:0] : L3[7:0]
:
(~VCOUNT[5]) ? L5[7:0] : L8[7:0];
assign LUMAH[7:0] = (~VCOUNT[6]) ?
(~VCOUNT[5]) ? L6[7:0] : L7[7:0]
: L9[7:0];
// Chroma
wire [7:0]CHROMA;
assign CHROMA[7:0] = (~HCOUNT[7]) ?
(~HCOUNT[6]) ?
(~HCOUNT[5]) ?
(~HCOUNT[4]) ?
LUMAH[7:0]
:
(PH[1]) ? LUMAH[7:0] : LUMAL[7:0]
:
(~HCOUNT[4]) ?
(PH[2]) ? LUMAH[7:0] : LUMAL[7:0]
:
(PH[3]) ? LUMAH[7:0] : LUMAL[7:0]
:
(~HCOUNT[5]) ?
(~HCOUNT[4]) ?
(PH[4]) ? LUMAH[7:0] : LUMAL[7:0]
:
(PH[5]) ? LUMAH[7:0] : LUMAL[7:0]
:
(~HCOUNT[4]) ?
(PH[6]) ? LUMAH[7:0] : LUMAL[7:0]
:
(PH[7]) ? LUMAH[7:0] : LUMAL[7:0]
:
(~HCOUNT[6]) ?
(~HCOUNT[5]) ?
(~HCOUNT[4]) ?
(PH[8]) ? LUMAH[7:0] : LUMAL[7:0]
:
(PH[9]) ? LUMAH[7:0] : LUMAL[7:0]
:
(~HCOUNT[4]) ?
(PH[10]) ? LUMAH[7:0] : LUMAL[7:0]
:
(PH[11]) ? LUMAH[7:0] : LUMAL[7:0]
:
(~HCOUNT[5]) ?
(~HCOUNT[4]) ?
(PH[12]) ? LUMAH[7:0] : LUMAL[7:0]
:
LUMAL[7:0]
:
(~HCOUNT[4]) ?
L3[7:0]
:
L3[7:0];
// Video output
assign DAC[7:0] = (VSYNC | HSYNC) ?
// This is correct composite sync
(VSYNC & HSYNC) ? L3[7:0] : L0[7:0]
: (BURST) ?
// This is color burst
(PH[8]) ? L4[7:0] : L1[7:0]
: (VSCREEN & HSCREEN) ?
// this is picture
CHROMA[7:0]
// Otherwise it is blank
: L3[7:0];
// Because I don't have 42,9544 MHz generator and CPLD don't allow sync always block on both edge we update only even phases at negedge.
always @(negedge NTSC_Clk) begin
{PH[11],PH[9],PH[7],PH[5],PH[3],PH[1]} <= {PH[12],PH[11],PH[9],PH[7],PH[5],PH[3]};
end
// Video generator
always @(posedge NTSC_Clk) begin
// Color subcarrier phase prescaler
if (PH_PSC[1] & !PH_PSC[0])
begin
PH_PSC[2:0] <= 3'h0; PH[12] <= !PH[12];
end else PH_PSC[2:0] <= PH_PSC[2:0] + 3'h1;
{PH[10],PH[8],PH[6],PH[4],PH[2]} <= {PH[12],PH[10],PH[8],PH[6],PH[4]};
// Pixelclock prescaler
PIX_PSC[3:0] <= PIX_PSC[3:0] + 4'h1;
PIX_CLK <= !PIX_PSC[1] & !PIX_PSC[0];
// HV COUNTERS: 341 pixels and 262 scanlines
if (PIX_CLK)
begin
if (HCOUNT[9:0] == 9'd340)
begin
HCOUNT[9:0] <= 9'd000;
if (VCOUNT[9:0] == 9'd261) VCOUNT[9:0] <= 9'd000; else VCOUNT[9:0] <= VCOUNT[9:0] + 9'd001;
end else HCOUNT[9:0] <= HCOUNT[9:0] + 9'd001;
end
// Active video in scanline
if (HCOUNT[9:0] == 9'd000) HSCREEN <= 1'b1;
if (HCOUNT[9:0] == 9'd255) HSCREEN <= 1'b0;
// Horizontal sync
if (HCOUNT[9:0] == 9'd280) HSYNC <= 1'b1;
if (HCOUNT[9:0] == 9'd305) HSYNC <= 1'b0;
// Color burst
if (HCOUNT[9:0] == 9'd309) BURST <= 1'b1;
if (HCOUNT[9:0] == 9'd325) BURST <= 1'b0;
// Vertical sync
if (VCOUNT[9:0] == 9'd244) VSYNC <= 1'b1;
if (VCOUNT[9:0] == 9'd248) VSYNC <= 1'b0;
// Active video in frame
if (VCOUNT[9:0] == 9'd000) VSCREEN <= 1'b1;
if (VCOUNT[9:0] == 9'd240) VSCREEN <= 1'b0;
end
// end
endmodule
http://savepic.ru/10298987.png
При этом, из главной частоты формируются 12 фаз поднесущей (6 прямых и 6 инверсных, мастерклок ровно в 6 раз больше поднесущей):
http://savepic.ru/10296939m.png
http://savepic.ru/10352234m.png
И напоследок референс с оригинального NTSC PPU 2C02:
http://savepic.ru/10335828.png
Как видно, цвета полностью соответствуют. Теперь надо сделать то же самое, но для PAL.
PS Спектрумостроителям на CPLD/FPGA на заметку. ;)
Именно по той работе (напомню: http://www.breaknes.com/ ) и сделан генератор.
http://savepic.ru/11555824.png
Небольшие флюктуации возможны по некоторым причинам:
В основном потому, что у PPU выходное сопротивление высоко (из-за особенности ЦАП), что даже щуп моего осциллографа сглаживает сигнал до треугольника на частоте 3,5МГц, хотя все прямоугольное после усилителя. А в генераторе просто ЦАП R-2R + типовой усил по схеме ОЭ. Хотя по частоте он должен нормально вытягивать - транзисторы взяты из видеоусилителя Денди. Это приводит к фазовым искажениям, что влияет на оттенок. А еще, я не уверен, что я правильно уровни яркости сформировал - все на основе измерений осциллографа. Но в целом концепция верна и оригинальна.Код:GEN PPU
R G B R G B
99 16 0 90 8 0
165 48 8 156 48 0
255 117 41 239 125 66
231 170 123 247 199 181
- - - Добавлено - - -
Ну да, даже визуально видно, что серые слева чуток отличаются. А у PPU частота поднесущей это осцилляция между 2мя уровнями яркости. Так что если более тщательно подобрать уровни, то получаем 100% идентичность к оригиналу. Но ведь соль не в этом. Соль в том, что:
1. Можно использовать этот метод в своих поделках и ни один телик не чихнет от этого.
2. Можно разделить поднесущую и яркость и получить нативное S-Video. Задумайтесь: PPU с S-Video. Оригинальная палитра без dot crawl. На любом телике. ;)
Всё, народ записан. Платы кончились.
http://zx-pk.ru/threads/6479-dendi-t...l=1#post884449
VideoLord, да, я тебя записал.
VWarlock, см. ЛС
Не дошел ход. К тому же, декапер что-то затягивает вскрытие PAL чипов, которые были посланы ему еще ранней весной... И кстати, в NTSC dots, как говорится, crawl, но вот в PAL они стоят на месте. И четкость от этого страдает.
Именно поэтому Орг бросил, я думаю. Там прям литографическая копия серийного 6502, с пятаком мелких отличий, которые связаны с десятичным режимом, эти отличия задокументированы.
Да, все особенности NTSC Famicom задокументированы (ревизия Н ЕМНИП). Для выяснения особенностей PAL нужно вскрыть 6527 и 6538. Можно попробовать просто "угадать" как формируется PAL, ибо техника все та же: 12 фаз, 9 уровней яркости. Только особенность самого PAL по построчному сдвигу фазы, набор фаз при этом не меняется же. Ну и дополнительные 70 (или 50? не помню) строк в растр до NMI.
Значит данных для создания абсолютно точного эмулятора Dendy пока недостаточно)
Я этот вопрос решил просто. Микросхемы на панельках, а система Eject идет в баню. Гребешок Eject'а приклеил к корпусу для красоты, он не двигается.
А ещё лучше вскрыть RP2C07, и он отдан на вскрытие, вместе с донатом.Цитата:
Сообщение от HardWareMan
Но этот человек на связь не выходит!
http://wiki.breaknes.com/_media/wiki:2652378.png?cache=
https://wiki.nesdev.com/w/index.php/Clock_rate
Nintendo вновь запустит в продажу оригинальную приставку Dendy
Подробнее на ТАСС:
http://tass.ru/ekonomika/3665555
https://cs7061.vk.me/c638827/v638827...1ZNbAgWfDk.jpg