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.trGenel KategoriProjeSega Mega Drive Multi Kartuş Yapımı (Yardım)
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: Sega Mega Drive Multi Kartuş Yapımı (Yardım)  (Okunma Sayısı 2433 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
daruga_13
Deneyimli
*****
Mesaj Sayısı: 567


Genesis Does What Nintendon't


Üyelik Bilgileri WWW
« : Nisan 15, 2021, 02:35:45 ÖÖ »

Herkese merhaba arkadaşlar. Başlıktan da anlaşılacağı üzere Sega Mega Drive/Genesis için multi oyunlu kartuş yapmak istiyorum. 90’lı yıllarda bile yapılan bu kartuşları nasıl yapabilirim? İçinde öyle 50-100 oyun olmayacak. Seri olan oyunları tek bir kartuşta toplamak istiyorum. Örneğin Streets of Rage 1-2-3, Shinobi serisi, Batman serisi,Mortal Kombat serisi vb. şekilde custom multi kartuşlar yapmak istiyorum. Şimdi bana ne yapacaksın multi kartuşu, Aliexpress’ten flash kartuş ya da çoklu kartuş siparişi ver gitsin,hiç uğraşma diyecekler olacak, ben tamamıyla kendi zevkime göre kartuşlar yapmak istiyorum.

İnternette bu konuyu epeyce bir süre araştırdım, maalesef elle tutulur işime yarayacak somut hiçbir bilgi elde edemedim. Sadece multi kartuş yapmanın iki yolunun olduğunu öğrendim. Birincisi maksimum 4 oyunlu olacak şekilde konsoldaki reset tuşuna basılınca oyun değişen yöntem, ikincisi liste yöntemi. Ben reset tuşlu yöntemi istemiyorum, klasik kartuşu takınca oyun menüsü (listesi) açılan yöntemle kartuş yapmak istiyorum.

Yaptığım araştırmalar sonucu lazım olacak donanımı temin ettim.Aliexpress’ten Flashkit-MD Rom programlayıcı cihazını, custom Sega MD kartuş PCB’sini aldım.





Aldığım PCB 4Mbyte (32M bit) kapasiteli bir kartuş. İstediğim oyunun romunu tekli olarak yazdırıp konsolda çalıştırabiliyorum. Elimdeki klon çoklu Sega MD kartuşlarını Dump edip içindeki romu alıp bu pcb’ye yazdığımda sadece bir oyun çalışıyor. Orijinal Sega MD çoklu kartuşlarını Dump edip romu bu kartuşa yazdığımda sorunsuz çalışıyor.

Yine internette yaptığım araştırmalar sonucu Krikzz (Sega MD Flash kartı icat eden grup) Multirom.exe isminde bir yazılım yapmış.Maksimum 7mb’lık multi romlar yapabiliyorsunuz fakat bu romlar sadece Everdrive MD Flash Kartuşlarda çalışıyor. Ben 3 oyunlu bir rom yaptım ve bendeki pcb’ye yazdırdım, oyun menüsü ekrana geldi fakat oyun seçip Starta bastığımda oyun açılmıyor.

Biraz uzun oldu biliyorum ama yapmak istediğimi detaylı şekilde anlatabilmek istedim. Bu konuda bana yardımcı olabilecek herkesten yardım bekliyorum.
« Son Düzenleme: Nisan 15, 2021, 02:40:21 ÖÖ Gönderen: daruga_13 » Logged

Aradığım Orjinal Sega Mega Drive/Genesis oyunları:Bölge kodu farketmez...

-Snowbros
-Sunsetriders
-Mega Turrican
-Comix Zone
-Teenage Mutant Hero Turtles The   Hyperstone Heist
Nes/Famicom oyunları:
-Astyanax
Fatih Yıldırım
Deneyimli
*****
Mesaj Sayısı: 964



Üyelik Bilgileri WWW
« Yanıtla #1 : Nisan 15, 2021, 03:23:35 ÖÖ »

Uzun süredir foruma yazmadınız. Sizi yeniden görmek, iyi olduğunuzu bilmek güzel.

Konuya gelirsek güzel bir uğraş. Maalesef bilgim yok ama merakla takip edeceğim.
Logged

daruga_13
Deneyimli
*****
Mesaj Sayısı: 567


Genesis Does What Nintendon't


Üyelik Bilgileri WWW
« Yanıtla #2 : Nisan 15, 2021, 21:32:29 ÖS »

Uzun süredir foruma yazmadınız. Sizi yeniden görmek, iyi olduğunuzu bilmek güzel.

Konuya gelirsek güzel bir uğraş. Maalesef bilgim yok ama merakla takip edeceğim.
Merhaba Fatih Bey. Evet epey oldu. Görev icabı yoğun yıllar geçirdim, şimdilerde biraz daha rahat olabildim. Biraz kafa dağıtma amaçlı hobilerime geri dönmeye çalışıyorum. Multi oyunlu kartuş konusu hep kafamda olan bir konuydu. Aliexprees'te gezinirken çeşit çeşit kartuş yaptıklarını gördüm, çok zor olmamalı bunu yapmak diye düşündüm.Bakalım becerebilecek miyim?
Logged

Aradığım Orjinal Sega Mega Drive/Genesis oyunları:Bölge kodu farketmez...

-Snowbros
-Sunsetriders
-Mega Turrican
-Comix Zone
-Teenage Mutant Hero Turtles The   Hyperstone Heist
Nes/Famicom oyunları:
-Astyanax
yavuzg
Genel Yönetici
*****
Mesaj Sayısı: 5.841



Üyelik Bilgileri
« Yanıtla #3 : Nisan 15, 2021, 21:48:31 ÖS »

@daruga_13, tekrar hoşgeldin...

Öncelikle multirom.exe konusunu unut. Krikzz o tool'da memry adresleybilmek için SSF2 mapper kullanıyor. Yani senin flash kartın üzerinde görebildiğim kadarıyla sadece basit bir flash dışında SSF2 mapper özelliği görecek herhangi bir mantık devresi yok. Dolayısıyla senin "menü" olarak gördüğün ilk oyunu (ana program) açıyor kopyalıyor ve açıyor o kadar.

Eski klon çoklu oyun kartuşlarına gelirsek. Orada bir çok değişik mekanizma kullanılmış zamanında.

Basitçe reset hareketiyle oyun değiştirenler mesela aslında kartuşun içinde basit bir sayaç devresi var. O sayaç konsolun reset sinyali ile artınca ilgili mantık devresi (karttaki küçük epoksi kabarcığın arkasındaki) oyunların yüklü olduu rom daki (büyük epoksi kabarcık ) adreslemeyi artırıyor.

Dolayısıyla bu tür bir kartı o senin dumper dump edemez zira ilk adresleme ile görünen ilk oyunu alırsın en fazla.

Yani oyunu değiştiren mekanizma MD konsolun bir özelliği değil, klon da olsa o kartın üzerindeki mantık devresi

Özetle...

Bu kartla bu bahsettiğim türde taklalar atan klon çoklu oyunları kopyalayamazsın.

Orjinal Sega çoklu oyunların çalışmasının sebebi onları SEGA herhangi özel bir mapper kullanmadan tek bir oyun programı gibi kodlamış olması (mapper software olarak oyunun içine gömülü). Yani birden fazla bağımsız oyunun kendi rom'Unu alıp harmanlamamışlar.

Tek ihtimalin SEGA'nın yaptığı gibi tek rom dosyası içinde çoklu oyun ROM'u yapman ancak onun da nasıl yapıldığını bilmiyorum.

     
Logged

blackturk
Uzman
*****
Mesaj Sayısı: 1.251



Üyelik Bilgileri
« Yanıtla #4 : Nisan 15, 2021, 23:03:19 ÖS »


 Yavuzg , yazdıkların doğru.Daruga sendeki mevcut flash kart sadece flash chip 4 mb adreslenebilir.bu adreseleme işlemi doğrudan megadrive 68k işlemci ile yapılıyor.

   SSF2 gibi benzeri oyunlarında  kartuş üzerinde özel adress decode işlemi yapan logic devre ile megadrive oyunu çalıştırlıyor.megadrive kartuş alanı 4mb fakat ssf2 kartuşu 5mb  bir kartuş. özel bir trick ile  4mb alan içersinde 5mb lık kartuş adressleniyor.


   


 


   Örnek olarak , aşağıdaki çoklu oyun kartuş şemasındaki gibi 74ls174 ile flash chip içersindeki adres blokları seçilebiliyor.galiba sendeki kartuş üzerinde bir chipi koyulabilen boş bir yer gördüm.Eğer adress decode işlemi içinse  flash chip üzerindeki adres blokarın seçmek için kullanılabilir.Ama o kartın yapan kişiye sormak lazım yada devre şema diyagramına bakmak lazım.

4mb flash chipdeki banklar aşağıdaki programlanmış.Adress decoder ile seçiliyor.

Layout of the mask ROM (aka the memory map)

0x000000-0x0FFFFF - Kid Chameleon
0x100000-0x1FFFFF - Dr Robotnik
0x200000-0x27FFFF - Sonic
0x280000-0x2FFFFF - Golden Axe
0x300000-0x37FFFF - Altered Beast
0x380000-0x39FFFF - Flicky
0x3F0000-0x3FFFFF - Redica Menu




 

   Birde sendeki kartuşda , flash chip blokları seçmek için  jumperlar olabilir mi? Manuel el ile seçmek gibi.


    Yazılımsal olarak çoklu oyun kartuş zor gözüküyor.Ek bir adress decoder devresi gerekli.Aslında senin kartuşla megadrive kartuş portu arasına giren bir adres decoder devre ile belki olabilir.



   Yada senin kartuşa ek olarak bir ara aparat yaparak adres decode işlemi devresi koyulsa Yukarda resmini verdiğim. çoklu oyun kartuşuda yapılabilir. diye düşünüyorum.







Logged

A1200 | APOLLO 1240 32 MB | CNET PCMCIA | SYSINFO SPEED TEST 30 MIPS
SM1,SEGA MEGA CD,SM2,SMS II,Sega Saturn Mod ve AR 4MB,PSX Mod ve Mpeg ,PSX2 ,SNES ,ATARI 800XL,SPECTRUM 128K +2,YAMAHA CX5M MSX,ATARI 520 STFM,1040 STF,C64,C128,1541 II,1571,RAM 1764 ,A500,A500+,A600,A590,IDE68k,2X1084S,1084P
daruga_13
Deneyimli
*****
Mesaj Sayısı: 567


Genesis Does What Nintendon't


Üyelik Bilgileri WWW
« Yanıtla #5 : Nisan 16, 2021, 03:01:14 ÖÖ »

@yavuzg, hoşbulduk üstad 
Sizin de belirttiğiniz gibi multirom.exe tool’u, Krikzz SSF2 mapper ile kullanılıyor. Benim Aliexpress’ten hazır aldığım kartuşta @blackturk’ün de belirttiği üzere sol üst köşede U1 ile belirtilen bir boşluk var, acaba buraya bir 74LS174 gelebilir mi? Kartuşu tasarlayan Çinli bunu düşünerek mi yaptı acaba? Keşke elimde gerber dosyaları olsaydı. İhtimal dahilinde bu boşluğa 74LS174 ekleyip, flash’a da Krikzz multirom ile hazırladığım rom’u yaksam ne olur acaba?

Elimde, aşağıda fotoğrafını eklediğim Aliexpress’ten aldığım çoklu oyun kartuşları da var.1 numaralı (PCB) kartuş, menüden oyun seçmeli (4 oyunlu) bir kartuş. S29GL128N10TFI01  NOR flash ve siyah epoksili bir devre kullanılmış.Sizin anlattığınız gibi adresleme bilgisi epoksinin altındaki devrede, oyun romları (oyunların menülü hali) flash yongada yazılı. Bu kartuşu cihaza taktığımda menüdeki oyunlardan herhangi birini seçmek için gamepad’de A tuşuna basınca oyun açılıyor. Aynı şekilde Krikzz multirom ile hazırlanmış çoklu rom dosyasında da oyun seçme A tuşu ile yapılıyor. Kafamda şimdi bir soru belirdi, bu kartuşun içine Krikzz multirom ile hazırlanmış rom dosyası yazabilir miyim? S29GL128N10TFI01 flash yazılıp/silinebilen bir flash mı?





2 numaralı (PCB) kartuş kallavi bir kartuş, içinde epeyce bir oyun var. Devre kartı da iyi kalitede sayılır. Yukarıda denemeyi düşündüğüm hususlar sonuç vermezse anladığım kadarıyla kendi kartuş tasarımımı ve adreslemeyi yapamadığım sürece multi oyun kartuş konusu benim için hayalden öteye geçemeyecek. Tasarlayabilirsem 2 numaralı kartuş gibi bir kartuş tasarlamam gerekiyor anlaşılan. İnternette bir sürü Sega MD/Genesis kartuş pcb’si dosyası buldum, çoğu basic PCB olduğu için işime yaramaz diye düşündüm. Github.com sitesinde şu çizimi buldum:



Genesis-FeRAM-Cart: https://github.com/soniccd123/Genesis-FeRAM-Cart
Gerber dosyaları indirme linki: https://codeload.github.com/soniccd123/Genesis-FeRAM-Cart/zip/refs/heads/master

Açıklamalar kısmında; How to make multirom file: Just use the CMD command "copy /b rom_x.bin + rom_y.bin + rom_z.bin rom_result.bin" to join them to one file. One may join how many ROMs he wants to, just be shure that the result file is smaller than the total size of the EPROM and that the ROMs fit correctly to each desired bank to make software switching possible.
JP1 jumper: This jumper is the result of some tests with varied sized Save RAM suporting software. This jumper is necessary for software bigger or smaller than 2MB to correctly save and detect the FeRAM. For software bigger than 2M, one must connect (with solder blob, 0K resistor, etc) the >2MB part of the jumper; for smaller or equal to 2MB software, one must do the same with the <2MB part of the jumper.

Bu yazıyı görünce sanırım aradığım PCB dizaynı bu galiba dedim. @yavuzg @blackturk ne dersiniz?
Logged

Aradığım Orjinal Sega Mega Drive/Genesis oyunları:Bölge kodu farketmez...

-Snowbros
-Sunsetriders
-Mega Turrican
-Comix Zone
-Teenage Mutant Hero Turtles The   Hyperstone Heist
Nes/Famicom oyunları:
-Astyanax
yavuzg
Genel Yönetici
*****
Mesaj Sayısı: 5.841



Üyelik Bilgileri
« Yanıtla #6 : Nisan 16, 2021, 13:28:41 ÖS »

Sizin de belirttiğiniz gibi multirom.exe tool’u, Krikzz SSF2 mapper ile kullanılıyor. Benim Aliexpress’ten hazır aldığım kartuşta @blackturk’ün de belirttiği üzere sol üst köşede U1 ile belirtilen bir boşluk var, acaba buraya bir 74LS174 gelebilir mi? Kartuşu tasarlayan Çinli bunu düşünerek mi yaptı acaba? Keşke elimde gerber dosyaları olsaydı. İhtimal dahilinde bu boşluğa 74LS174 ekleyip, flash’a da Krikzz multirom ile hazırladığım rom’u yaksam ne olur acaba?

Blackturk'ün paylaştığı şema limitli çoklu oyun destekleyen bir kartın şeması. SSF2 mapper (Aslında SEGA Mapper demek lazım - Tekniğin ilk kullanıldığı oyun olan Super Street Fighter'ın adı bu algoritmaya yapışmış kalmış) başka bir şey.

SSF mapper algoritmasını bilmiyorum. Dolayısıyla elindeki PCB'ye basit bir LS174 eklersen SSF mapper kullanan Krikzz exe'si bir işe yararmı o konuda da bir fikrim yok.

Alıntı
Elimde, aşağıda fotoğrafını eklediğim Aliexpress’ten aldığım çoklu oyun kartuşları da var.1 numaralı (PCB) kartuş, menüden oyun seçmeli (4 oyunlu) bir kartuş. S29GL128N10TFI01  NOR flash ve siyah epoksili bir devre kullanılmış.Sizin anlattığınız gibi adresleme bilgisi epoksinin altındaki devrede, oyun romları (oyunların menülü hali) flash yongada yazılı. Bu kartuşu cihaza taktığımda menüdeki oyunlardan herhangi birini seçmek için gamepad’de A tuşuna basınca oyun açılıyor. Aynı şekilde Krikzz multirom ile hazırlanmış çoklu rom dosyasında da oyun seçme A tuşu ile yapılıyor. Kafamda şimdi bir soru belirdi, bu kartuşun içine Krikzz multirom ile hazırlanmış rom dosyası yazabilir miyim? S29GL128N10TFI01 flash yazılıp/silinebilen bir flash mı?

O epoksi'nin altına ne tür bir adresleme yapısı eklenmiştir bilmiyorum. Bahsettiğin menü yapısı ve oyun seçimi benzerliğinden yola çıkarak belki de dediğin gibidir. Flash'ı söküp, içini bir EPROM programlayıcıda okuyup analiz etmek lazım. Benzer şekilde eğer olay dediğin gibiyse de Krikzz tool'u kullanarak oluşturacağın multi-rom dosyasını uyumlu bir flash'a eprom programlayıcı ile yazıp flashı geri lehimlemek lazım. Elindeki Flash okuyucu/yazıcı aparatı ile olacak iş değil.

Bu arada PCB'de kullanılan flash'ın neyle programlanabildiğini bilmiyorum. En azından TL866 ile olmadığını gördüm (desteklenen device listesinde yok)

Alıntı
2 numaralı (PCB) kartuş kallavi bir kartuş, içinde epeyce bir oyun var. Devre kartı da iyi kalitede sayılır. Yukarıda denemeyi düşündüğüm hususlar sonuç vermezse anladığım kadarıyla kendi kartuş tasarımımı ve adreslemeyi yapamadığım sürece multi oyun kartuş konusu benim için hayalden öteye geçemeyecek. Tasarlayabilirsem 2 numaralı kartuş gibi bir kartuş tasarlamam gerekiyor anlaşılan.

Bu balckturkun paylaştığı multikart şeması ile uyumlu bir PCB gibi (kullanılan ekstra logic entegrelere bakılırsa). Oyun listesini özenle seçmek gerekir zira donanımsal adresleme mantığı oyun dosyalarının nereden başlayıp nerede bttiği ile önemli bir şekilde alakalı.

Alıntı
İnternette bir sürü Sega MD/Genesis kartuş pcb’si dosyası buldum, çoğu basic PCB olduğu için işime yaramaz diye düşündüm. Github.com sitesinde şu çizimi buldum:

Genesis-FeRAM-Cart: https://github.com/soniccd123/Genesis-FeRAM-Cart
Gerber dosyaları indirme linki: https://codeload.github.com/soniccd123/Genesis-FeRAM-Cart/zip/refs/heads/master

Açıklamalar kısmında; How to make multirom file: Just use the CMD command "copy /b rom_x.bin + rom_y.bin + rom_z.bin rom_result.bin" to join them to one file. One may join how many ROMs he wants to, just be shure that the result file is smaller than the total size of the EPROM and that the ROMs fit correctly to each desired bank to make software switching possible.
JP1 jumper: This jumper is the result of some tests with varied sized Save RAM suporting software. This jumper is necessary for software bigger or smaller than 2MB to correctly save and detect the FeRAM. For software bigger than 2M, one must connect (with solder blob, 0K resistor, etc) the >2MB part of the jumper; for smaller or equal to 2MB software, one must do the same with the <2MB part of the jumper.[/b]
Bu yazıyı görünce sanırım aradığım PCB dizaynı bu galiba dedim. @yavuzg @blackturk ne dersiniz?


Bu kart oyun seçimini switch'ler ile yapıyor. Menüsü falan yok yani. Senin tercih edebileceğini düşünmüyorum.


Yani bu işe niyetlenmeni takdirle karşılamakla birlikte, "çoklu megadrive" kartuşu yapma işinin PC'de bir folder'a attığın ROM'ların bir emulatör ile kolayca çalıştırılması gibi basit bir iş olmadığını, bir hafıza çipine rastgele beğendiğin oyunları koyup bir menü ile istediğin oyunu çalıştırabileceğin gibi standart bir yolun olmadığını anlamışsındır diye düşünüyorum

Bu işin o tarz esneklikte ve basitlikte çözümü olduğunu biliyorsun: Everdrive

Bu bahsettiğimiz envai tür adresleme mantığını Everdive'ın içindeki o FPGA'nın içine gömüyorlar.

Bunun dışında aliexpress deki multi kartlar da bahsettiğimiz, kimisi açık kaynak kodlu kimisi de hala gizli çeşitli farklı tekniklerle oyun listeleri özenle seçilerek üretilen şeyler.

Yukarıdakiler benim bilgim dahilinde olan açıklamalar. Umarım aradığını internette bulursun, bulduğun zaman da buradan paylaşmaya devam edebilirsin. Biz de bilgimiz dahilinde yorumlamaya devam ederiz.
Logged

blackturk
Uzman
*****
Mesaj Sayısı: 1.251



Üyelik Bilgileri
« Yanıtla #7 : Nisan 16, 2021, 19:21:04 ÖS »


 

 http://imgbb.com/k93SVx3


   Bu Sega megadrive flashlanabilir  kartuşlarda en çok dikkat ettiğim şey.Bir level shiftter var mı ?

    Bu level shiftter önemli.Sega megadrive devresi 5 v ile 0v dc seviyelerde lojik voltaj işaretlerini kullanıyor. yeni nesil chiplerin coğu 0 v -  3,3 v dc  seviyeyi kullanıyor.

   Daruganın kartuş Pcb ye  bakınca bir dizi direnç serisi hemen göze çarpıyor. büyük bir ihitamalle flash chip ile 68k işlemci arası dirençlerle voltaj bölücü devre yapılarak 5 vdc lojik seviye 3,3 v düşürülerek flash chipe sinyaller gönderiliyor.

 Eğer direnç bir kısa devre olursa o flash chipi götürür.Terside olabilir. sega megadrive kartuş portuna , 68k işlemciye , buffer entegrelere zarar verebilir.

    Bu konuyla ilgli Krikzz  yaptığı kartuş pcblerin level shifter olduğunu görmüştüm.hatta yanlış hatırlamıyorsam Krikzz  uyarıyordu. level shifter olmayan  flashlanabilir kartuşların sega megadrive zarar verebileceğini söylemişti.

    Bu tarz kartuşları kullanmak mega drive zarar verebilme ihtimali yüzünden almadım.Ali expressdeki çakma everdrivelarda level shiftterlar yok. birde oyunların büyük bir kısmında çalışmama durumu olduğunu duymuştum.

    Krikzz  üretimi olan kartuşaların çok kaliteli ve rahatlıkla megadrive sıkıntı çıkarmadan ve her oyunu açabilir diye biliyorum.

    Daruganın pcb üzerindeki flash chip datsheet voltaj seviyesi 3,3v olarak belirtilmiş.Aşağıda resimde gözüküyor.

    Flashlanabilir chip kullancak olsam TTL seviye kullanmak daha mantıklı gözüküyor.Ama artık yüksek kapasiteli chipler 0 ile 3,3v lojik seviye çalışacak şekilde üretiliyor.

   bu şekilde kartuş yapıp kullanıyım desen karşına başak problemlerde çıkabiliyor.Not olsun diye bunları yazdım.


http://ibb.co/HKD6rcq

« Son Düzenleme: Nisan 16, 2021, 19:28:31 ÖS Gönderen: blackturk » Logged

A1200 | APOLLO 1240 32 MB | CNET PCMCIA | SYSINFO SPEED TEST 30 MIPS
SM1,SEGA MEGA CD,SM2,SMS II,Sega Saturn Mod ve AR 4MB,PSX Mod ve Mpeg ,PSX2 ,SNES ,ATARI 800XL,SPECTRUM 128K +2,YAMAHA CX5M MSX,ATARI 520 STFM,1040 STF,C64,C128,1541 II,1571,RAM 1764 ,A500,A500+,A600,A590,IDE68k,2X1084S,1084P
Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: