İçindekiler:

Arduboy'a Oyunlar ve Flash-cart'a 500 Oyun Nasıl Yüklenir: 8 Adım
Arduboy'a Oyunlar ve Flash-cart'a 500 Oyun Nasıl Yüklenir: 8 Adım

Video: Arduboy'a Oyunlar ve Flash-cart'a 500 Oyun Nasıl Yüklenir: 8 Adım

Video: Arduboy'a Oyunlar ve Flash-cart'a 500 Oyun Nasıl Yüklenir: 8 Adım
Video: Nyko Solucan Cam ve Arduboy kredi kartı Tetris Oyunu 2024, Temmuz
Anonim
Arduboy'a Oyunlar ve Flash-cart'a 500 Oyun Nasıl Yüklenir
Arduboy'a Oyunlar ve Flash-cart'a 500 Oyun Nasıl Yüklenir

Yolda oynamak için maksimum 500 oyun depolayabilen Seri Flash belleğe sahip ev yapımı bir Arduboy yaptım. Oyunların nasıl seri flash belleğe kaydedileceği ve yolda oynamak için kendi konsolide oyun paketinizi nasıl oluşturacağınız dahil, oyunların nasıl yükleneceğini paylaşmayı umuyorum.

Uçtan uca oluşturma süreci ve anlatımı için bu youtube videosunu izleyebilirsiniz.

Adım 1: Arduino IDE'yi Kurun

Arduino'da yeniyseniz, kullandığınız işletim sistemi için Arduino IDE'yi indirmek için https://www.arduino.cc adresine gidin, örneğin Windows 10 veya Mac OSX veya Linux.

Sonra kurun.

Adım 2: USBasp Kablosunu Yapın

Herhangi bir Arduino kartına ikili kodlar/oyunlar yüklemekten farklı olarak, önyükleyiciyi programlamak USB portu üzerinden yapılamaz.

Özel önyükleyiciyi (Cathy3K) Atmega32U4 yongasına yakmak için bir USBasp programcısı edinmeniz gerekir. Ancak, oluşturmamız 3.3V'da çalışıyor, USBasp programlayıcısını 3.3V'da çalışacak şekilde daha fazla değiştirmemiz gerekiyor.

USBasp programlayıcınızı jumper ayarları aracılığıyla hem 3.3V hem de 5V'da çalışacak şekilde değiştirmek için aşağıdaki talimat verilebilir projeye bakın.

www.instructables.com/id/Modify-a-5V-USBasp-Arduino-Bootloader-Programmer-t/

Ardından pin düzenini ve videoyu izleyerek USBasp'ı ArduBaby'ye program kablosu haline getirin. USBasp ile birlikte gelen orijinal USBasp kablosunun her biri 10 pinli iki konektörü vardır. Bu kabloyu ortadan ikiye kesip bir ucuna 6 pin erkek header bağlarken diğer ucunu USBasp kartına bağlanan diğer ucunu 10pin'de tutacağız.

Bu diğer uç, USBasp'den GND, VCC, MOSI, MISO, SCK, Reset pinlerini ATmega32U4'ün karşılık gelen pinlerine, Ardubaby'deki dişi başlığın ilk altı pinine bağlanan erkek başlık aracılığıyla bağlayacaktır (benim versiyonum). ev yapımı Arduboy). Sürümünüz farklı pin düzenine sahip olabilir. Tasarımını ev yapımı Arduboy versiyonunuza uyacak şekilde değiştirmek için videoma başvurabilirsiniz.

Programı yapmak veya önyükleyiciyi ATmega32U4'e yakmak için düğme kapağını çıkaracak ve bu 6 pinli USBasp kablosunu takacaksınız.

Yanlış bağlantı yapılmaması için kablo başlığında hangi pinin 1 pin olduğunu açıkça işaretlediğinizden emin olun. Ardubaby düğme şapka başlıklarının pin düzenini tasarlarken pinleri, pin 1'i pin 13 ile değiştirseniz bile zarar görmemesi için -ve güç kaynağı yanlışlıkla +ve güç kaynağı ile buluşmayacak şekilde düzenlemeye çalıştım. Ancak, asla bilemezsiniz, yanlış yönde bağlanırsanız kitinize hala zarar verebilecek başka şeyler olabilir.

Lehim ucunu kullanarak başlıkta işaretlemek için küçük bir delik yakacağım.

3. Adım: Önyükleyiciyi Yak

MR. Blinky, ev yapımı Arduboy için Arduboy-ev yapımı paketini yarattı.

Paketinde, orijinal Arduboy'un farklı sürümleriyle ve ev yapımı olanlarla çalışan Arduboy'un kart sürücülerini ve kitaplığını içerir.

1. Ev yapımı Arduboy için MR. Blinky'nin GitHub klasörüne göz atın. https://github.com/MrBlinky/Arduboy-homemade-package 2. Arduino IDE'nizi ev yapımı paketle yapılandırmak için GitHub'daki talimatları izleyin. 3. Önce Arduboy ev yapımı paketi için “Ek yönetim kurulu yöneticisi”nin url'sini kopyalayın.

4. Arduino IDE'yi başlatın. Arduino üst menüsünden Tercihler'e tıklayın. Bu metni “Ek Pano Yöneticisi URL'leri”ne yapıştırın Not: Bu alanda zaten başka bir metniniz varsa, bu ek metni başa ekleyin, ardından bir “,” ekleyin ve diğer metni olduğu gibi bırakın. 5. Arduino IDE'den çıkın ve yukarıdaki değişikliğin yürürlüğe girmesi için IDE'yi yeniden başlatın. 6. Araçlar -> Pano: -> Pano Yöneticisi'ne tıklayın. Aramak için ev yapımı girin. Mr. Blinky'nin Arduboy ev yapımı paketini kurmak için seçin. Ardından en son sürümü almak için güncellemeyi tıklayın. Paket Arduino'ya eklenecek. 7. Şimdi Araçlar-> Pano'yu seçin: “Ev yapımı Arduboy. ve Homemade Arduboy için aşağıdaki parametreleri seçin” Temel olarak: “SparkFun Pro Micro 5V - Standart kablolama” Çekirdek: “Arduboy Optimize edilmiş çekirdek” Önyükleyici: “Cathy3K” Programlayıcı: USBasp 8. Ardubaby'yi kapatın ve düğme kapağını çıkarın. 9. USBasp üzerindeki jumper'ı 3.3V'a ayarlayın. Tamamen 3.3V'da çalışan değiştirilmiş bir USBasp kullandığınızdan emin olun. 10. USBasp'yi bilgisayarınızın USB bağlantı noktasına bağlayın. Özel USBasp - ArduBaby kablosunu USBasp'a ve diğer ucunu Ardubaby'nin düğme şapka başlığına bağlayın, pin 1'i pin 1'e hizalayın. Ardubaby'nin sadece ilk 6 pini bootloader yazma için kullanılır.

11. Ardubaby'niz şimdi USBasp tarafından sağlanan 3.3V güç ile açılmalıdır. 12. ArduBaby'nin sıfırlama düğmesine bir kez basın. 13. Arduino IDE'deki Araçlar->Panolar->Önyükleyiciyi Yaz düğmesine tıklayın. 14. Önyükleyici yazma işleminin başarılı olup olmadığını görmek için mesajı kontrol edin. 15. Değilse, kabloyu kontrol edin ve pinleri doğru yönde bağladığınızdan ve pin 1 ile pin 1'i hizaladığınızdan emin olun. Bazen, önyükleme menüsü zaman aşımına uğrarsa Ardubaby bir önceki oyunu oynamaya başlar. Yani Ardubaby'yi flash bekleme moduna almak için reset butonuna bastıktan hemen sonra Burn bootloader butonuna hızlı bir şekilde tıklamanız gerekiyor. 16. Her şey yolundaysa, ArduBaby yeniden başlatılacak ve açılış menüsünü veya ArduBaby'ye yüklediğiniz önceki oyunu göreceksiniz.

Adım 4: Tek Oyunları Derleyin ve Arduboy'a Yükleyin

Arduboy için oyunlar aşağıdaki kaynaklardan indirilebilir:

Oyunlar için Arduboy topluluk forumu:

GitHub'da "Arduboy games" https://github.com/topics/arduboy-game üzerinde arama yapın veya google'da "GitHub arduboy games" araması yapın.

Başkaları tarafından paylaşılan oyun koleksiyonları. Örneğin. Erwin'in Arduboy koleksiyonları

arduboy.ried.cl/

Arabanızla Arduino'ya yüklediğiniz oyunun kaynak kodunu indirip Arduboy'a yükleyebilirsiniz. Bunun nasıl yapıldığına ilişkin videoya bakın.

veya yalnızca onaltılık dosya (derlenmiş ikili dosya, ancak Onaltılık sayı olarak sunulur, ikili dosya yerine bir metin dosyasına yazdırılır).

Kaynak kodu için Arduino IDE içindeki kaynak kodunu açmanız yeterlidir.

Kaynak kodu ör. picovaders.ino aynı ada sahip bir klasörde saklanmalıdır, ör. picovaders

Gerekli Arduboy2 kitaplıkları, Arduboy ev yapımı paketi için yönetim kurulu yöneticisini yüklediğimiz önceki adımda zaten kurulmuş olmalıdır.

Arduboy'u bilgisayarınızın USB portuna bağlamanız yeterlidir.

Açın, ardından oyunu oynamak için kodu derlemek ve Arduboy'a yüklemek için Arduino IDE'deki Yükle düğmesine tıklayın.

Adım 5: Tekli Hex Dosyalarını Yükleyin

Hex dosyası, Arduino programınızın (eskiz) derlenmesini oluşturan ikili kodları içeren bir metin dosyasıdır, ancak 0-9, A-F iki basamaklı onaltılık sayılar kullanılarak bir metin dosyası biçiminde temsil edilir.

Bu hex dosyasını farklı şekillerde alabilirsiniz.

1. Yukarıda anlattığımız farklı kaynaklardan hex dosyaları indirebiliriz:

community.arduboy.com/c/games Erwin'in Arduboy Oyun Koleksiyonları

GitHub.com'da veya google.com'da "Arduboy oyunları" için arama yapın

Bu hex dosyalarını.hex uzantılı dosyalara kaydedin.

2. Alternatif olarak, kendi hex dosyanızı oluşturabilirsiniz.

Arduino IDE'de Sketch > Export Compiled Binary'yi seçin. Çiziminiz derlenecek, ardından derlenmiş.hex dosyasının bir kopyası çiziminizin dizinine gönderilecektir. Onaltılı dosyayı görmek için çizim klasörüne gidin veya IDE'de Çizim > Çizim Klasörünü Göster'i seçin. MR. Blinky'nin ev yapımı paketini kurduysanız,.hex dosyasının iki versiyonu oluşturulacaktır. Örneğin, picovaders.ino sketh'ini derlerseniz, aşağıdaki iki.hex dosyası oluşturulacaktır.

picovaders.ino-arduboy-promicro-ssd1306.hex picovaders.ino with_bootloader-arduboy-promicro-ssd1306.hex

İlk dosyayı kullanacağız: picovaders.ino-arduboy-promicro-ssd1306.hex

3. Arduboy'a hex dosyası yüklemek için bir yükleyici kullanmanız gerekir. İnternette çok var. Kullanımı basit olduğu için MR. Blinky'nin yükleyicisini kullanmayı seviyorum.

github.com/MrBlinky/Arduboy-Python-Utilities adresine göz atın ve MR. Blinky'nin Arduboy Python yardımcı programlarını yüklemek için oradaki talimatları izleyin. Kurulu bir python'unuz yoksa, önce python'u ve gerekli python modüllerini kurmak için talimatları izlemeniz gerekir.

4. Arduboy'u bilgisayarınızın USB bağlantı noktasına bağlayın. Arduboy'u açın.

5. Kabuk programını işletim sisteminizde başlatın, örn. hex dosyasını Arduboy'a yüklemek için aşağıdaki komutları yazmak için Mac OSX'teki terminal uygulaması veya pencerelerdeki komut istemi. Örnek olarak önceki çizim picovaders.ino'yu alıyoruz.

python uploader.py picovaders.ino-arduboy-promicro-ssd1306.hex

6. Oyun yüklendikten sonra Arduboy sıfırlanacak ve oyunu başlatacaktır.

Adım 6: Seri Flash'a Oyunlar Yazın

1. Konsolide oyun dosyasını seri flash'a yazmak için MR. Blinky'nin Arduboy Python Utilities'ini tekrar kullanmanız gerekir. Önceki adımı izlerseniz, bunu zaten yüklemiş olmalısınız.

Aksi takdirde, https://github.com/MrBlinky/Arduboy-Python-Utilities adresine gidin ve MR. Blinky'nin Arduboy Python yardımcı programlarını yüklemek için oradaki talimatları izleyin. Eğer kurulu bir python'unuz yoksa, önce python'u ve gerekli python modüllerini kurmak için talimatları izlemeniz gerekir.

2. Konsolide oyun görüntü dosyası için 500'e kadar oyun tutacak bir dizin dosyası oluşturun.

Arduboy'un seri flaşında saklamak istediğiniz tüm oyunlar için birleştirilmiş oyun görüntü dosyaları oluşturmak için Use the flashcart-builder.py betiğini kullanacağız. Bir 16MB Seri flaş, 500'e kadar oyun tutabilir. Bu komut dosyası, bir dizin dosyasından (.csv) ve her oyun için aşağıdaki 2 dosyadan ikili bir flash görüntü oluşturur: a..hex dosyaları, derlenmiş Arduboy oyunlarının ikili görüntülerinin onaltılık kodlarını içeren metin dosyasıdır. Örneğin sözdizimi için example-flashcart\flashcart-index.csv dosyasına bakın. Klonla veya İndir'i tıklatırsanız bu dosya pakete dahildir. B.-p.webp

Youtube videosu ayrıca bu.csv dizin dosyasının doğru yere nasıl yerleştirileceğini de açıklar. Unutulmaması gereken bir şey, MR. Blinky'nin GitHub'ından alınan örnekler.csv dosyası Windows PC'de kullanılır, yol adlarında ters eğik çizgi "\" kullanılır. Bir liunx sistemi veya MAC OSX kullanıyorsanız, onu "/" olarak değiştirmeniz gerekir.

Hızlı bir başlangıç yapmak için 63 oyunluk paketimi https://github.com/cheungbx/ArduBaby 63games.zip adresinden indirebilirsiniz.

Bu paket, seçtiğim 63 oyunun hex dosyalarını ve-p.webp

games.csv'ye daha fazla oyun ekleyebilir ve seri flash'a yazılmak üzere kendi konsolide oyun ikili görüntü dosyanızı oluşturabilirsiniz. 16M seri flaşa maksimum 500 oyun koyabilirsiniz.

GitHub'dan indirebileceğiniz games.csv ile.csv dosyasını nasıl yapacağınızı anlatacağım.

.csv dosyası excel kullanılarak açılabilmesine rağmen. Dosyayı açmak için excel KULLANMAYIN. Dosyayı bozar. Lütfen yalnızca düz metin düzenleyici kullanın. Windows'ta not defteri kullanabilirsiniz. MAC'de textEdit'i kullandım ve "Biçimlendir" -> "Düz Metin Yap" ı tıklayın.

.csv dosyasının ilk satırı, görmezden gelebileceğiniz başlıktır. Liste;Açıklama;Başlık ekranı;Hex dosyası

İkinci satır, önyükleyici manu ekranı için grafik görüntü dosyasını -p.webp

Oyunlar üçüncü satırdan başlayarak yapılandırılır. Oyunlar, kategori adı verilen önyükleyici menüsünde gruplar halinde düzenlenir. Bu satır, o grup için oyun listesinin grup başlığıdır, ör. Aksiyon oyunu. Ayrıca oyun grubu için grafik görüntü dosyasına da işaret eder. Baştaki "1" grup numarası 1'i gösterir. Bu grubu takip eden tüm oyunlar bu numara ile başlar. 1;Aksiyon Oyunları;kategori-ekranları\Action.png;;;

Sonra o gruptaki her oyun için bir satır eklersiniz. 1 numaralı grupla başlayarak, oyunun adı ve ekranın anlık görüntüsü için grafik dosyasının yolu ve hex dosyasının yolu. Hepsi ";" ile ayrılır. Bir tane daha ekle ";" kaydetme dosyası için parametreyi atlamak için. 1;1943;Arcade/Nineteen43.png;Arcade/Nineteen43.hex;; 1;2048;Arcade/2048.png;Arcade/2048.hex;;

İlk oyun grubunu bitirdikten sonra ikinci oyun grubunu ekleyebilirsiniz ve bu şekilde devam edebilirsiniz. Örneğin.

9;Demo ve Test;demos/demotest.png;;; 9;Sıcak tereyağı;demolar/HotButter_AB.png;demos/HotButter_AB.hex;; 9;Flashcart testi;demos/flashcart-test/flashcart-test-title.png;demos/flashcart-test/flashcart-test.hex;demos/flashcart-test/badapple-frames.bin;

Son satır parametrede bir çizgi film olan save dosyasına sahiptir.

3. Birleştirilmiş oyun görüntü dosyasını oluşturmak için, games.csv'nin oyun dizin dosyanız olduğu komutu yazın.

python flashcart-builder.py games.csv

Bu, games-image.bin adlı bir dosya oluşturacaktır.

4. Birleştirilmiş oyun görüntü dosyasını Arduboy'a yazın.

Konsolide oyun görüntü dosyasını Arduboy'un seri flash belleğine yazmak için MR. Blinky'nin flashcart-writer.py betiğini kullanıyoruz.

Örnek games-image.bin dosyamı kullanıyorsanız bu komutu yazabilirsiniz.

python flashcart-writer.py oyunlar-image.bin

Standart yapıda SSD1306 OLED yerine bir SSD1309 OLED ekran kullanıyorsanız, ekran sürücüsünü anında yamalayabilirsiniz. SSD1309 yamasını yüklenen görüntüye otomatik olarak uygulamak için flashcart-writer.py dosyasının bir kopyasını oluşturun ve flashcart-writer-1309.py olarak yeniden adlandırın. Sonra yazın

python flashcart-yazar-1309.py oyunlar-image.bin

7. Adım: Seri Flash'tan Oyun Oynayın

Seri flaştan oyun oynamak için Arduboy'u açın.

Zaten yüklü bir oyununuz varsa, oyun otomatik olarak başlayacaktır. Önyükleyici menüsüne gitmek için Ardubaby'nin üst kısmındaki sıfırlama düğmesine bir kez basın.

Önyükleyici menüsü görüntülenecektir. RGB LED sırayla yanacaktır.

Bunun yerine görüntülenen bir USB bağlantı noktasına benzeyen bir simge görürseniz, bu, seri flash bellek yonganızın çalışmadığı anlamına gelir. Lütfen kablolamayı kontrol edin.

12 saniye içinde herhangi bir tuşa basmazsanız, ATMega32U4'ün dahili flash belleğinde kayıtlı olan oyun çalışacaktır.

Bir oyundan önyükleyici menüsüne geri dönmek için Sıfırla düğmesine bir kez basmanız yeterlidir.

Farklı oyun kategorileri (grupları) arasında gezinmek için sol veya sağ tuşa basabilirsiniz. Bir kategori (grup) içindeki oyunlar arasında gezinmek için aşağı veya yukarı düğmesine basın. Oyunu seri flash bellekten ATMega32U4'ün dahili Flash belleğine kopyalamak için "B" düğmesine basın. Oyun bir saniye içinde başlayacak.

Artık yolda oynayabileceğiniz minik bir oyun konsolunuz var.

500 oyun ile 16M Seri flash'ınızı toplamanız ve yüklemeniz için size meydan okuyorum. Bunu henüz seri flaşı doldurmak için yapan birini görmedim. Bunu yapabilirseniz, o konsolide oyun dosyasını bizimle paylaşın.

Adım 8: Referanslar

Bunun tam bir talimatı Instructables.comTBD'nin bu bağlantısında yayınlanacaktır.

ArduBaby oyun konsolunun tanıtımı için Youtube videosu

USBasp önyükleyici programlayıcısının 3.3V modifikasyonu için Youtube videosu.

Bu videodaki oyun dosyaları ve devre şemaları bu GitHub bağlantısında bulunabilir

Şemalar

Arduboy ev yapımı paket için MR. Blinky'nin GitHub bağlantısı

Oyun yükleme ve seri flash bellek işlemleri için python yardımcı programları için MR. Blinky'nin GitHub bağlantısı

Erwin'in Arduboy Oyun Koleksiyonları

Yaratıcıya teşekkür ederiz (Kevin Bates), Arduboy çok başarılı bir 8 bit oyun konsolu. Arduboy'un topluluk forumunda özgürce paylaşan hobici tarafından yazılmış binlerce oyun vardı, böylece daha fazla insan kodlamayı öğrenebiliyordu.

Ev yapımı paketi, flashcart'ı ve python yardımcı programlarını oluşturduğu için MR. Blinky'ye teşekkür ederiz.

Önerilen: