Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
commodore.gen.trArcade Sistemler ve Oyun KonsollarıArcade Sistemler (Moderatör: yavuzg)NEO-GEO MVS Mini Bartop Kabin Projesi
Sayfa: 1 ... 11 12 [13] 14 15 ... 19   Aşağı git
Yazdır
Gönderen Konu: NEO-GEO MVS Mini Bartop Kabin Projesi  (Okunma Sayısı 267075 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #180 : Ağustos 13, 2016, 16:20:49 ÖS »

Kontrol panelde butonların olduğu yerden baskı çıkar gibi geldi bana. Eller sürekli orada olacağı için de çabuk yıpranır gibi. Buraya da sanki bir şey kaplamak lazım?

ps: Yapan olmadığım için rahat rahat yazıyorum
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #181 : Ağustos 13, 2016, 16:50:17 ÖS »

Onu sordum, adam kesin çıkmaz dedi ama bilemiyorum. Bana da çıkar gibi geliyor zamanla...
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
yavuzg
Genel Yönetici
*****
Mesaj Sayısı: 5.894



Üyelik Bilgileri
« Yanıtla #182 : Ağustos 13, 2016, 18:52:28 ÖS »

Onu sordum, adam kesin çıkmaz dedi ama bilemiyorum. Bana da çıkar gibi geliyor zamanla...


Bence güzel olmuş hiç dokunma. Kontrol paneli aynen sök, üzerine bundan uygula:

http://www.hepsiburada.com/motip-akrilik-vernik-500-ml-made-in-holland-04313066-pm-otev04313066

Taş gibi olur elle falan da çıkmaz. Yanlara da uygulayabilirsin bunu...

Marquee konusuna gelince hiç lazer kesimci arama, senin elin yatkın, al bi siyah fon kartonu, kes neo-geo yazısını xacto ile koy marquee'nin arkasına
Logged

yavuzg
Genel Yönetici
*****
Mesaj Sayısı: 5.894



Üyelik Bilgileri
« Yanıtla #183 : Ağustos 13, 2016, 18:54:14 ÖS »

Yanlız clear-coat uygularsan hiç sabırsızlık yapmaman lazım. Ertesi gün dokunma kıvamında kurumuş olur ama en az 1 hafta kullanma kürlenmesi için
Logged

eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #184 : Ağustos 13, 2016, 21:45:07 ÖS »

&nbsp; Oyun seçmek için Oled koyman bence çok şık olmuş İlker abi. Oraya da mini bir kontroler mi takacaksın acaba? Sanırım kaçırdım..&nbsp;


Evet Selim, ama ayrı bir kart yapmadım. PIC işlemciyi doğrudan OLED'in arkasına yapıştırıp uzay montaj kabloları çektim. Zaten PIC kristalsiz vb tek başına hiç yardımcı eleman olmadan çalışabiliyor. Sadece gerekli hatları bağlamam yetti. Bu noktada kartuşun oyun seçme yollarına giden 8 data hattı var. Bu kabloyu da şerit kablo yapıp ucuna konnektör taktım. Burada şöyle bir hinlik var. PIC'i programlamak için RB7 ve RB6 hatlarının kullanılması gerekiyor. Ama bu hatları programlama haricinde normal işler için de kullanabiliyorsun. Ben kartuşa giden 8 hattı B portundan oluşturdum, yani RB0 ile RB7 hatlarından. Bu sayede PIC'i programlamak gerektiğinde sadece kartuşa giden soketi söküp aynı soket üzerinden programlayabiliyorum. Yerinden sökmeye falan gerek olmayacak yani...

Şimdiden 13 sayfa olmuş, konu uzayınca bulmak zor oluyor, önceki sayflardan birinde foto vardı:


Yalnız elimdeki OLED sarı renkli malesef. Kırmızısı olsaydı süper olacaktı. Neyse...

Bence güzel olmuş hiç dokunma. Kontrol paneli aynen sök, üzerine bundan uygula:

http://www.hepsiburada.com/motip-akrilik-vernik-500-ml-made-in-holland-04313066-pm-otev04313066


Şu an için acaip gözümde büyüyor. Yani sökmesi takması dert değil de, bir de düzgün uygulayamazsam düşüncesi korkutuyor. Neyse birkaç gün geçsin bakalım.

Marquee konusuna gelince hiç lazer kesimci arama, senin elin yatkın, al bi siyah fon kartonu, kes neo-geo yazısını xacto ile koy marquee'nin arkasına


Bak bu güzel fikir. Ben de yolda gelirken tam tersini düşünmüştüm. Bu folyo hiç ışık geçirmez dedim içimden. Zira folyonun yapışan yüzeyi yani arkası gri renkteydi. Acaba dedim xacto ile NEO GEO yazısını kesip çıkarsam, beyaz pleksi üzerine yapıştırsam nasıl olur diye düşünüyordum. Ama kırmızı kısım da ışık geçirince biraz şaşırdım.

İlk düşündüğümün tersi bir durum ama kırmızının da aydınlanması bir an için gözüme çok ters gelmedi. Eski tarz ışıklı tabelelar gibi bir retro etki yarattı yada kendimi kandırıyorum... Kahkaha

Karton güzel olabilir.

Yanlız clear-coat uygularsan hiç sabırsızlık yapmaman lazım. Ertesi gün dokunma kıvamında kurumuş olur ama en az 1 hafta kullanma kürlenmesi için


Bunu okuyunca gözlerim pörtledi. 1 hafta yepisyeni bir projeye başlanır ve bitirilir yaw. Nası dayanılır 1 hafta... Kahkaha

Dijitalci adam ben dükkandan çıkarken bunları bugün sıvama dedi. Neden kurumamışmıdır diye sordum. Kurumuştur ama bir gün bekle, folyo solventi iyice emsin dedi. Hatta yarını da geç pazartesi uygula dedi.

Neyse bindim arabaya geliyorum, acele etme dedim kendi kendime. Sonra e iki tane marquee bastırdım, zaten test olacak o kısım onu bugün denerim oldu. Trafik biraz tıkanınca, adamın vermiş olduğu cevabın çok da sağlam bir dayanağı olmadığını kendi kendime ikna ettim. Marquee haricinde bare kontrol paneli test edeyim dedim. Zaten çözünürlük 10/10 değildi, olmazsa da olmazdı. Neyse ofise geldiğimde ne olduğunu gördünüz hepsini uyguladım. Hatta posttan sonra diğer tarafı da bitirdim. Böyle sabırsız bir adamım işte...

Şu var, tamam görseller benim beklentim açısından belki 10 üzerinden 7 oldu. Ama 2-3 hafta öncesine göre düşününce, ortada hiçbirşey yokken, sadece birkaç parça ahşap panel, vida ıvır zıvırdan, insanın tamamen kendi oluşturduğu birşeyin ortaya çıkması inanılmaz bir duygu. Foto çekemedim, tüm görseller kaplandıktan sonra bir Türk kahvesi yaptım kendime. Oturup seyrettim.

Herkese mutleke birşeyler yapmalarını tavsiye ediyorum. Ne olduğu hiç önemli değil. İllaki on numara da olması gerekmiyor. Alın işte görseller hayalimdeki gibi olmadı. Ama sonucun verdiği haz tarif edilemiyor cidden...

Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
evreno
Deneyimli
*****
Mesaj Sayısı: 1.257



Üyelik Bilgileri
« Yanıtla #185 : Ağustos 13, 2016, 22:17:02 ÖS »

eline sağlık süper olmuş
bence bir süre kullan bu şekilde
baktın renk atması yada panelde aşınma olursa
zaten baskı kalitesi içine sinmemiş,
yeniden istediğin şekilde bastırıp uygularsın
ama bence güzel görünüyor
Logged
evreno
Deneyimli
*****
Mesaj Sayısı: 1.257



Üyelik Bilgileri
« Yanıtla #186 : Ağustos 22, 2016, 23:03:58 ÖS »

oyunlara daldın projenin paylaşımları askıda kaldı sanırım
son durum nedir? bitmiş halini sabırsızlıkla beklemedeyiz...
« Son Düzenleme: Ağustos 22, 2016, 23:23:00 ÖS Gönderen: evreno » Logged
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #187 : Ağustos 22, 2016, 23:17:34 ÖS »

Tüm mekanik işler bitti. Şimdi VGA16 pcblerini bekliyorum. Onu da takayım daha derli toplu bir son post atarım diye düşündüm. Ama yarın vakit olursa son hale ilişkin birkaç foto atarım.
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
bilir_kisi_07
Üye
***
Mesaj Sayısı: 79


Üyelik Bilgileri
« Yanıtla #188 : Ekim 12, 2016, 19:34:18 ÖS »

Sizi tebrik ederim hocam dünya çapında iş çıkartmışsınız.
Logged
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #189 : Ekim 12, 2016, 23:04:58 ÖS »

Teşekkür ederim ama yavuzg ve diğer arkadaşların yaptıkları kabinlerin yanında solda sıfır kalıyor bu.
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
Samurai
Ziyaretçi
« Yanıtla #190 : Ekim 13, 2016, 08:44:39 ÖÖ »

Efsane bir proje daha... Çok güzel olmuş hocam...
Logged
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.750


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #191 : Kasım 21, 2016, 20:18:55 ÖS »

Öhöm öhöm, ses, bir ki. Masum

Bir gelişme var mı? Kahkaha
Logged

https://retrodergi.com - https://e-turay.com - https://karizmawow.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PS Vita, Nintendo 3DS, Nintendo 2DS
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #192 : Kasım 21, 2016, 21:02:33 ÖS »


Var var ... PCB yi dizdim. Renkler bir karışık çıktı muhtemelen RGB bitleri sıralaması yanlış oldu. Ancak gel gelelim bir vakit ayırıp tek tek bitleri bulup dizme işini henüz yapamadım. Ama çalışacak gibi duruyor...
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #193 : Kasım 23, 2016, 22:34:08 ÖS »

Eveeeet, bitmemiş projeye bir de montaj kılavuzu ekleyelim gece gece. Yoksa bitmiş de henüz post edilmemiş mi desek?

Neyse VGA-16 kartımızın sol tarafında toplam 20 hattan oluşan bir şerit kablo mevcut. Bu şerit kablo ile Neo Geo MVS'den 3x5=15 Bit RGB datası, satır senkron sinyali, +5V Besleme, iki adet GND ve Neo Geo nun 12MHz sistem saat sinyali VGA-16 içerisine alınıyor.

Sağ tarafta ise VGA çıkış mevcut. Alt kısımdaki AS PROG Port sadece FPGA kodunu yenilemek için kullanılıyor. Hemen yanındaki Config Jumper bölümü ise bazı opsiyonları set etmek için kullanılıyor.



20 hatlık şerit kabloya dönecek olursak, bu kablo Neo Geo'ya bağlı olan tek kablo aslında. BAğlantı şeması aşağıdaki gibi;

Üst:


Alt:


Config Jumperları:

C0,C1 Scanline Ayarı
0 0   Scanline Kapalı
1 0   Scanline Min  (Bir satır %100, ikinci satır %50 değerinde)
0 1   Scanline Med  (Bir satır %100, ikinci satır %25 değerinde)
1 1   Scanline Full (Bir satır %100, ikinci satır siyah)

C2,C3 Yatay Blending Miktarı
0 0   Blending Kapalı (yan yana gelen pikseller arasında karıştırma yok)
1 0   Blending Min    (yan yana gelen iki piksel arasında %25 %75 karıştırma var)
0 1   Blending Med    (yan yana gelen iki piksel arasında %50 %50 karıştırma var)
1 1   Blending Max    (yan yana gelen üç piksel arasında %25 %25 %50 karıştırma var)

Bu Blending opsiyonu, eski tüplü manitör yada TV lerdeki analog renk geçişlerini simüle etmek için eklenmiş bir filtre.

Şimdi final FPGA kodunu hızlıca özetleyeiliriz.

Kod:
// ----------------------------------------------------------------------------
// VGA Encoder Module
// [url]www.commodore.gen.tr[/url] - delimawi'2016
// ----------------------------------------------------------------------------

module VGA_Encoder
(
// Video Input
input [4:0] InputRed,
input [4:0] InputGreen,
input [4:0] InputBlue,

// Video Sync Signal
input Sync,

output DAC_Clock, // 6 MHz Neo Geo Video DAC Clock

// Video Clock
input VGA_Clock, //  25 MHz VGA Clock (24MHz :) )

// Scanline RAM Write
output reg [9:0] RamWrAddr,
output [15:0] RamWrData,

// Scanline RAM Read
output [9:0] RamRdAddr,
input    [15:0] RamRdData,

// Config Bits ...
input [3:0] Config,

// Analog VGA Output
output reg [4:0] VGA_Red,
output reg [4:0] VGA_Green,
output reg [4:0] VGA_Blue,

output reg VGA_H_Sync,
output reg VGA_V_Sync
);

Burada FPGA içerisine yazdığımız mdülün giriş ve çıkışları tanımlanıyor. Önemli birşey yok.

Sadece şu nüans önemli. Normalde Neo Geo'dan 12MHz clock sinyali alıyoruz. Bu sinyal FPGA içerisindeki PLL ile x2 yapılarak 24MHz'e çıkartılıyor. Ve bu sinyali VGA Clock olarak kullanıyoruz.

Aynı zamanda biliyoruz ki Neo Geo RGB çıkışlarını 6MHz ile yeniliyor. Bizim de bu RGB gişirlerini 6MHz ile örneklememiz gerekiyor. Bunu yapabilmek için elimizdeki 24MHz clock'u ilerleyen bölümlerin birinde /4 yaparak 6MHz'e düşürüp kullanacağız.

Kod:
`define DISPLAY_WIDTH		640
`define DISPLAY_HEIGHT 480
`define FULL_WIDTH 768
`define FULL_HEIGHT 528
`define H_FRONT_PORCH 10 // 16
`define H_SYNC 96 // 96
`define V_FRONT_PORCH 10 // 10
`define V_SYNC 2

// ------------------------------------------------------
// Neo Geo RGB Video Input
// ------------------------------------------------------
// 6 MHz Pixel Clock
// 384 Pixels/Line
// 264 Lines/Frame
// 59.1856 Frames/Second
// ------------------------------------------------------

Bu bölümde ise VGA sinyalini Neo Geo çıkışı ile senkron olabilecek şekilde nasıl çekiştirdiğimizi görüyoruz.


Kod:
// ------------------------------------------------------
// VGA Signal Generator
// 640x480 VGA Video Output
// ------------------------------------------------------
// 800 Pixels/Line (Modified to 768)
// 525 Lines/Frame (Modified to 528)
// ------------------------------------------------------


always @(posedge VGA_Clock)
begin
// VGA Clock 24MHz ...
// Her 4 Clock'ta bir DAC Sample Edelim. (6MHz)
DAC_SubClock <= DAC_SubClock+1;

if (DAC_SubClock==0)
begin
// Horizontal Sync Detector & Horizontal Counter ...

// Sync sinyalinin bir önceki halini saklayalım ki, değişim olduğu anda yakalayabilelim ... (one shot)
pHSync<=HSync;
HSync<=Sync;

if ((Sync==1) && (HSync==0))
begin
RamWrAddr<=0;
end else
begin
RamWrAddr<=RamWrAddr+1;
end;


// Vertical Sync Detector ...
if (RamWrAddr==182)
begin
pVSync<=VSync;
VSync<=Sync;
if (Sync==1) VSyncCounter<=0; else VSyncCounter<=VSyncCounter+1;
end;


end;


// VGA Raster Counters
if (VGA_X_Pos==(`FULL_WIDTH-1))
begin
VGA_X_Pos<=0;

// if ( (VGA_Y_Pos==(`FULL_HEIGHT-1)) || ((pVSync==0)&&(VSync==1)) )
if ( (VGA_Y_Pos==(`FULL_HEIGHT-1)) || (VSyncCounter==12) )

begin
VGA_Y_Pos<=0;
end else
begin
VGA_Y_Pos<=VGA_Y_Pos+1;
end

end else
begin

if ((Sync==1) && (HSync==0) && (VGA_X_Pos>5))
begin
VGA_X_Pos<=0;
end else
begin
VGA_X_Pos<=VGA_X_Pos+1;
end;

end

VGA_H_Sync <= !( (VGA_X_Pos>=(`DISPLAY_WIDTH+`H_FRONT_PORCH)) && (VGA_X_Pos<(`DISPLAY_WIDTH+`H_FRONT_PORCH+`H_SYNC))  );
VGA_V_Sync <= !( (VGA_Y_Pos>=(`DISPLAY_HEIGHT+`V_FRONT_PORCH)) && (VGA_Y_Pos<(`DISPLAY_HEIGHT+`V_FRONT_PORCH+`V_SYNC)) );
end

İşte bu bölüm VGA sinyalini üreten kısım.

Kod:
// ------------------------------------------------------
// Effects & Processing
// ------------------------------------------------------


always @(posedge VGA_Clock)
begin

// -------------------------------------------------------------
// Horizontal Pixel Blur
// -------------------------------------------------------------

pR1[4:0]<=pR0[4:0];
pG1[4:0]<=pG0[4:0];
pB1[4:0]<=pG0[4:0];

pR0[4:0]<=RamRdData[4:0];
pG0[4:0]<=RamRdData[9:5];
pB0[4:0]<=RamRdData[14:10];

// 0-Blur None
if (Config[3:2]==3)
begin
Red[7:0]= RamRdData[4:0]*8;
Green[7:0]= RamRdData[9:5]*8;
Blue[7:0]= RamRdData[14:10]*8;
end

// 1-Blur Low
else if (Config[3:2]==2)
begin
Red[7:0]= (pR0[4:0]+RamRdData[4:0]+RamRdData[4:0]+RamRdData[4:0])*2;
Green[7:0]= (pG0[4:0]+RamRdData[9:5]+RamRdData[9:5]+RamRdData[9:5])*2;
Blue[7:0]= (pB0[4:0]+RamRdData[14:10]+RamRdData[14:10]+RamRdData[14:10])*2;
end

// 2-Blur Mid
else if (Config[3:2]==1)
begin
Red[7:0]= (pR0[4:0]+pR0[4:0]+RamRdData[4:0]+RamRdData[4:0])*2;
Green[7:0]= (pG0[4:0]+pG0[4:0]+RamRdData[9:5]+RamRdData[9:5])*2;
Blue[7:0]= (pB0[4:0]+pB0[4:0]+RamRdData[14:10]+RamRdData[14:10])*2;
end


// 3-Blur High
else
begin
Red[7:0]= (pR0[4:0]+pR1[4:0]+RamRdData[4:0]+RamRdData[4:0])*2;
Green[7:0]= (pG0[4:0]+pG1[4:0]+RamRdData[9:5]+RamRdData[9:5])*2;
Blue[7:0]= (pB0[4:0]+pB1[4:0]+RamRdData[14:10]+RamRdData[14:10])*2;
end


// Draw Limits ...
if (VGA_Y_Pos>=460)
begin
VGA_Red[4:0]<=0;
VGA_Green[4:0]<=0;
VGA_Blue[4:0]<=0;
end else

// Scanline Generator ...
if (VGA_Y_Pos[0]==0)
begin

if (Config[1:0]==3)
begin
VGA_Red[4:0]<=Red/8;
VGA_Green[4:0]<=Green/8;
VGA_Blue[4:0]<=Blue/8;
end
else if (Config[1:0]==2)
begin
VGA_Red[4:0]<=Red/16;
VGA_Green[4:0]<=Green/16;
VGA_Blue[4:0]<=Blue/16;
end
else if (Config[1:0]==1)
begin
VGA_Red[4:0]<=Red/32;
VGA_Green[4:0]<=Green/32;
VGA_Blue[4:0]<=Blue/32;
end else
begin
VGA_Red[4:0]<=0;
VGA_Green[4:0]<=0;
VGA_Blue[4:0]<=0;
end

// Normal Lines ...
end else
begin
VGA_Red[4:0]<=Red/8;
VGA_Green[4:0]<=Green/8;
VGA_Blue[4:0]<=Blue/8;
end;


end


Bu kısımda ise scanline ve blending efektleri ekleniyor...

FPGA kodu bu kadar. Aslında toplam FPGA'in sadece %3'ü kullanıldı bu projede.

Önümüzdeki günlerde birkaç video da ekleyeceğim.
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
ibeser (Ayak Takımı)
Deneyimli
*****
Mesaj Sayısı: 2.401


Sega<Nintendo<Amiga


Üyelik Bilgileri WWW
« Yanıtla #194 : Kasım 23, 2016, 22:41:40 ÖS »

Çok güzel teknik detaylar var... Sabırla izliyoruz
Logged

Sayfa: 1 ... 11 12 [13] 14 15 ... 19   Yukarı git
Yazdır
Gitmek istediğiniz yer: