This is an old revision of the document!


Sega ST-V için Darksoft Multi Kartuş ve Oyun Seçici

Darksoft'un Sega ST-V arcade sistemi için geliştirdiği çoklu oyun kartuşu sonunda geçen hafta elime geçti. Bu, Darksoft'un bildiğim kadarıyla ilk göz ağrısı multi kartuş projesiydi ve ilk parti üretimini kaçırmıştım. Aradan sanırım bir partiyi daha kaçırdıktan sonra bu son partiyi kaçırmak istemedim…

Paket gayet sağlam ama bir o kadar da küçük bir karton ambalajda geldi.

Merak edenler için Sega ST-V arcade sistemi hakkında da çok kısa bir iki açıklama yapayım. Sega ST-V Sega'nın Saturn ev konsollarında kullandığı teknolojiye dayanan arcade sistemi arkadaşlar. Ancak o dönemin hemen her arcade sistemi gibi oyun konsolu kardeşindeki gibi optik medya oynatıcısı yerine oyunlar ayrı ayrı ROM kartuşlarında geliyor.

Darksoft'un multi kartuşu da ev konsolları için çıkan Everdrive'lar benzeri oyunları SD karttan kartuşun üzerindeki flash memory çiplerine yüklüyor. ST-V ise olaydan habersiz kartuşdaki oyunu oynatıyor. Tabi lafta bu kadar basit gibi gözüken operasyonda bir çok detaylar (kriptolu oyunların kırılması, farklı memory adresleme yöntemleri v.s. ) var ancak temel işleyiş bu.

Bu çoklu kartuşta oyunlar nasıl değiştiriliyor derseniz, ev konsollarında görmeye alıştığımız gibi ekrana bir menü falan gelmiyor. Darksoft'un hiçbir çoklu kartuşunda bir menü yok zira menü yazacak kadar ilgili sistemin işlemcisinin makine dilini bilmiyor ve/veya o işle uğraşarak proje süresini uzatmak istemiyor. Oyunlar kartuşun üzerindeki jumperlar ile seçiliyor.

Bu jumperlar oyunun SD kart üzerindeki numarasının binary (ikili düzen) karşılığını sembolize ediyor ve ST-V ilk açıldığında kartuşta yüklü olan oyun jumperlarda ifade edilenden farklıysa multi yeni oyunu flash çiplerine yazmaya başlıyor. Bu sırada kartuşun üzerindeki programlama LED'i yanıyor (power ve programlama LED'leri şeklinde iki LED fotodaki gibi yanıyor)

Bu işlem yaklaşık 20-30 saniye sürüyor ve bitince programlama LED'i sönüyor. Bu programlamaya başlama ve bitiş durumlarını duyurmak için bir ses/müzik de çalabiliyor ancak ben ses için gereken kabloları bağlamadım.

Neyse, programlama bitince ST-V mal gibi bekliyor

Oyunu açmak için ST-V'yi elle kapatıp açmanız gerekiyor. Veya multi kartuşun auto-reset özelliğini kullanarak kartuşun üzerindeki belirtilen bir noktadan ST-V kartının reset hattına bir kablo çekmeniz gerekiyor.

Bu şekilde sonunda oyun yüklenmiş oluyor.

Biraz zahmetli değil mi?

Neyse ki oyun değiştirmedikçe ST-V'yi her açışımızda aynı oyun pat diye açılıyor, yani zaman kaybı yok. Bu anlattığım aç/kapa süreci oyunu değiştirmek istediğimiz zaman karşımıza çıkıyor ki ST-V kartı eğer masanızın üzerindeyse sorun yok ancak kabinin içine koyduysanız (ki benimki öyle) kabini aç, çömel, eğil, uzan, karanlık ortamda minicik jumperları tırnağınla sök, kaybetme, istediğin oyunun numarasının ikili sistemdeki karşılığını hesapla, jumperları ona göre tak v.s. oldukça sıkıntılı… Yani şöyle söyliyeyim ilk jumperı kabinin içine düşürüp kaybettiğimde ana avrat düz gideceğimden adım gibi eminim, hele ki kızım ve muhtemelen arkadaşları Cotton oynamak için başımda beklerken

Ben de tam bu yüzden bu soruna daha pratik bir çözüm getirmek gerektiğini düşündüm…

Şimdi aslında olay basit…

1) Oyunun numarasını ikili sisteme çevireceksin (veya bir kağıt pano asacaksın hazırda bi yere oradan bakacaksın) 2) Jumper ayarlarını yapacaksın 3) Sistemi kapatıp açacaksın (veya multi karta reset atacaksın) 4) Oyun yüklenince sistemi tekrardan kapatıp açacaksın (veya multi üzerinden reset hattına kablo şekmişsen bu otomatik olacak)

Tüm bu işleri birileri arduino ve türevleri ile otomatize ederek yapanlar olmuş. Ben arduino'cu değilim, elimde arduino da yok. Ancak malzeme çekmecemde daha önceki projelerden kalan bir sürü Atmega8 ve bir gün bir projede kullanırım nasılsa dediğim 16×2 LCD ekran buldum. E mini bir haftasonu projesi neden yapmayayım dedim ve bunu yaptım…

Basit bir program sayesinde oyun listesinde ileri geri hareket edebildiğiniz ve diğer bir butonla da oyunu seçtiğinizde hem jumper ayarlarını yapan hem de karta reset gönderen bir düzenek kurmak pek fazla vaktimi almadı ;

Yazılımı Atmel Studio 7'de C ile hallettim. Jumper ayarlarını test etmek için önce LED'ler kullandım.

Burada dikkat edilmesi gereken konu 3.3V mantığı ile çalışan multi karta şaaak diye 5V göndermemek! Bunun için microcontrollerın giriş/çıkış portuna (PORTx) mantıksal 1 (HIGH) göndermek yerine portun yön register'ının (DDRx) yönünü değiştirerek output yerine input moduna almak, yani Hi-Z denilen çok yüksek empedanslı moda almak…

LCD menu rutinleri için Peter Fleury'nin kütüphanesini kullandım.

http://homepage.hispeed.ch/peterfleury/avr-lcd44780.html

Bu şekilde son derece basit devre şemasını oluşturup…

Devreyi breadboard üzerinde kurdum. Firmware'i de rahatça güncelleyebilmek için bir zif soket kullandım…

LCD menüyü ve jumper ayarlarını LED'lerle simulasyonunu yaptığım jumper ayarlarını güzelce test ettikten sonra LED'leri söküp devreyi Darksoft'un multi kartuşuna ribbon kablo ile bağladım…

Menüden oyunu seçip sistemi yeniden kapatıp açınca yeni oyun yüklenmeye başlayınca oldu bu iş dedim

Ama işimiz henüz bitmedi, bir kaç münük detay daha var yapmam gereken

Tüm süreci daha iyi otomatize edebilmek için minik bir detay daha var;

1) Benim devreden bir port hattını darksoft multi'Nin programlama arayüzü olarak kullanılan soketindeki RESET pinine çekmek. (Fotodaki mavi kablo) 2) Multi kartın ST-V anakartına RESET atmasını sağlayacak kabloyu şekmek (Beyaz kablo)

İlk madde sayesinde jumper ayarlarını yapınca sistemi komple kapatıp açmanıza gerek kalmıyor. Sadece multi karta reset gönderiyorum

İkinci madde ise oyunun flashlara atılması sırasında ST-V anakartı RESET'te tutuluyor. Oyunun flashlanması bitince RESET kaldırılıyor ve ST-V otomatik boot ediyor…

Tüm düzeneğin son hali bu şekilde…

Son olarak bu kablo yumağını toparlamak adına çok şık olmasa da iş görecek bir şekilde devreyi delikli plakete aktarıyorum…

Biraz da sağını solunu sıcak silikon ile sağlamlaştırdıktan sonra…

Artık mini oyun menüm kabine monte edilmeye hazır hale geliyor

Proje: yavuzg

Bilgilendirme amacıyla kullanılan Kutucuk

Yazar Hakkında

Eşref Kayın 2017/06/05 13:57

Notlarımızı beğendiyseniz, lütfen yazarlarımıza beğeninizi iletiniz.