Tragbare Spielkonsole (ARM-MCU-Team)


Kontext

Unsere Tutoren wollte für unsere engineering-Projekt uns den Herausforderungen der Gestaltung ein Echtzeitsystem mit relativ hoher Leistung auf begrenzte Ressourcen (Speicher und Bandbreite).

Die Spezifikationen erfordern eine Spieleplattform, verwenden die folgende Hardware:

  • ein Digilent Nexys 3 Board (für die Umsetzung einer GPU auf dem FPGA).
  • ein Keil MCBSTM32F400 Board (für das hosting der OS der Plattform und die Spieldaten zu speichern).
  • ein Display Tech DT035TFT LCD mit Novatek NT39016 Fahrer (portierbar farbechte Anzeige).

Es gibt zwei Teams von zwei Studenten, die an diesem Projekt arbeiten. Ein Team konzentriert sich auf die ARM-MCU und der andere auf der GPU.

Technische Daten

Die Plattform hat entsprechend der Leistung eine 16-Bit kommerzielle Gaming-Plattform wie SNES, Sega MegaDrive, mit dem mehrschichtigen Rahmen und scrollen. Die Plattform besteht aus zwei Hauptkomponenten: der MCU des Motherboards und der GPU an den video-Ausgang angeschlossen.

  • Die MCU-Anforderungen sind Grafik-API für die GPU, audio-API für die onboard-audio-Codec, Benutzer IO, MCU/GPU-Schnittstelle, SD-Card-Schnittstelle. Programmierung des Videospiels. Ein Modul für die Konfiguration des LCD-Bildschirms (Helligkeit, Kontrast, etc.) gilt auch innerhalb der GPU.
  • Die GPU-spezifischen Anforderungen sind mehrschichtige Display Mischung aus verschiedenen Schichten mit Transparenz, 16-Bit RGBA-Farben, Multilayer, scrollen, 2D Grundoperationen (Director (Kopie), Farbe füllen, Transparenz Änderung und ihre Kombination (löschen, verschieben, Etc), primitive Generation (Linien, Kreise, Text), LCD- und VGA-Video-Ausgänge. Grafik-orientierten Speicher-Controller mit DMA-Zugriff.

Umsetzungspläne

Die beiden Teams müssen regelmäßig zusammenarbeiten, um die beiden Hauptkomponenten bereits erwähnt zu entwickeln. Wir haben die Architektur der Plattform dafür entwickelt.

Unser Team startet die Umsetzung durch die Bereitstellung der erforderlichen Schnittstellen, die rund um die GPU, wie die Unterstützung für die LCD- und die Verbindung in das MCU-Board. Dies wird parallel mit dem Design der HDL Module verbunden, diese Schnittstellen entwickelt werden. An dieser Stelle statt eine vorläufige Integration mit der GPU findet, um die Konsistenz und Interoperabilität der beiden Module zu gewährleisten. Das Software-Design auf der MCU erforderlichen Peripheriegeräte Treiber, Audio- und video-API und schließlich das RTOS folgen. Nach der endgültigen Integration mit dem Grafik-Team, an denen alle GPU-Module wird das geplante Spiel implementiert und getestet werden.

YouTube-Video

Bevor man durch die Details, Sie können überprüfen Sie in diesem Youtube-Link enthält eine kurze Zusammenfassung unseres Projekts und ein Video zeigt, was gelungen ist, dies zu tun weit. Das Projekt ist noch nicht abgeschlossen, aber wir werden diese Seite aktualisiert halten, jedes Mal, wenn ein neues Feature zum Projekt hinzugefügt wird.

Erste Demonstration: Animation
In dieser Demo gibt es zwei Anzeige-Layer in den Frame-Buffer, der Hintergrund ist ein Bild der Sterne bei 320 x 240 und das Bild im Vordergrund ist eine 3200 x 240 mit einer festen Hintergrundfarbe, die auf eine transparente Farbe während der Konvertierung der Bmp-Datei in unserem Format festgelegt ist. Die MCU scrollt in regelmäßigen Abständen auf das Bild im Vordergrund, die animierte Bewegung zu schaffen.

Zweite Demo: eine kurze Gameplay

In dieser Demo geben wir eine kurze Gameplay mit Sprites und Hintergrund-Bilder von der Street of Rage (Abandonware). In diesem Fall werden Animationen mit Bitblits im Vordergrund und die Bewegung des Charakters ist mit Blättern erstellt. Sie sehen auch primitive Generation am Ende um eine Meldung anzuzeigen.

In Verbindung stehende Artikel

Tragbare Spielkonsole (GPU-Team)

Tragbare Spielkonsole (GPU-Team)

KontextUnsere Tutoren wollte für unsere engineering-Projekt uns den Herausforderungen der Gestaltung ein Echtzeitsystem mit relativ hoher Leistung auf begrenzte Ressourcen (Speicher und Bandbreite).Die Spezifikationen erfordern eine Spieleplattform,
Raspi Pip-Boy, tragbare Spielkonsole / Computer

Raspi Pip-Boy, tragbare Spielkonsole / Computer

Hallo, möchte ich mein erste Himbeer-Pi-Projekt präsentieren.Ein Pip-Boy wie PC (wenn Sie eine Fallout-Fan sind, sehen Sie was ich meine)! :Übersicht :- Raspberry Pi Modell B + einen 2.8″ LCD 8bit parallel TouchScreen auf TONVERARBEITUNG verbunden.-L
Tragbare RetroGame Konsole (Raspberry Pi)

Tragbare RetroGame Konsole (Raspberry Pi)

Diese instructable ist für das FabLab machen Platz für die Fachhochschule Rotterdam geschrieben.Für diesen Kurs werde ich eine tragbare Spielkonsole in Kombination mit einem Raspberry Pi und eine benutzerdefinierte Shell machen.Für eine Zuordnung der
Ein tragbares Spielsystem zu machen-In Photoshop!

Ein tragbares Spielsystem zu machen-In Photoshop!

Dies ist mein erster instructable, die Besuche der mächtigen und außergewöhnlichen Welt von Photoshop, ich hoffe es gefällt euch!Ich war überrascht, dass es nichts dergleichen auf Instructables bis jetzt, so dachte ich, dass ich Ihnen mein Projekt ze
Tragbares All-in-One Game Console Box

Tragbares All-in-One Game Console Box

Aufbau dieser tragbare Spielkonsole der All-in-One-Box war eine gute Entscheidung! Nicht nur macht es es einfach zu transportieren, es auch mein Spiel-System schützt und hält es organisiert.Dies ist nur eine Beschreibung, die komplette Instructable h
$20 tragbaren Raspberry Pi Spielekonsole

$20 tragbaren Raspberry Pi Spielekonsole

Es gibt Unmengen von Raspberry Pi Retro-Spiel Emulatoren rund um das Internet, aber die meisten sind recht teuer. Mit dem neuen $5 Raspberry Pi Zero in dieser Instructable, ich werde Ihnen zeigen, wie eine vollständig tragbare Batterie bauen angetrie
Der Name Zeichnung CNC

Der Name Zeichnung CNC

Diese instructable entstand zur Erfüllung der Projektanforderung der Makecourse an der University of South Florida (www.makecourse.com).In diesem Sinne ist das Ergebnis dieses Projekts eine CNC, das ist völlig in der Lage, Weg von GRBL, sondern um de
Macht Ihr Arduino/AVR mit einem Hand-Cranked Akku

Macht Ihr Arduino/AVR mit einem Hand-Cranked Akku

wenn Sie jemals Ihre Arduino oder AVR macht aus einer Batterie für Entwicklungstests wollte (Batterien haben verschiedene Power Lieferung Qualitäten als sagen, transformierten AC oder sogar eine geregelte Wand Warze in DC) testen aber waren müde, geh
Ein weiterer Arduino Schalter

Ein weiterer Arduino Schalter

Adaptive Berichterstattung Teile StückzählerEin Zähler, der die Maschine es anpassen kann ausgestattet ist und Berichtsdaten zurück an andere Standorte z.B. Supervisor RezeptionHier ist Zähler baute ich als einen funktionierenden Prototyp für ein Unt
Planet-Lander auf 4D Systems PoGa

Planet-Lander auf 4D Systems PoGa

die 4D Systems PoGa - tragbare Spielkonsole - ist eine anspruchsvolle Spielkonsole mit einem uLCD Bildschirm, Goldelox Mikrocontroller, einen uSD-Kartenleser und die regelmäßigen Kontrollen für Gaming (oben/unten/links/rechts für Ihre linke Hand und
Smart Home mit Arduino und Jubito

Smart Home mit Arduino und Jubito

Jubito ist eine Software, die ich entwickle auf JaNET Frameworkbasiert. Ein smart home-Server, der schafft Schnittstellen zwischen verschiedenen Hardware (wie Arduino) und Software-Komponenten, die die Möglichkeit, miteinander zu interagieren und las
Wie Sie Ihren PC (oder ein anderes Gerät) in einem Retro-Arcade-mit Lakka verwandeln

Wie Sie Ihren PC (oder ein anderes Gerät) in einem Retro-Arcade-mit Lakka verwandeln

Wenn Sie auf der Suche nach einer lustiges Art und Weise, einen alten PC verwenden, Lakka kann daraus eine erstaunliche retro-Gaming-Maschine. Diese einfache Einrichtung braucht Linux-Kenntnisse und können Sie sogar die Controller, die, denen Sie sch
Dual Pulse kapazitive Entladung Punktschweißer

Dual Pulse kapazitive Entladung Punktschweißer

Diese Instructables enthält Pläne für den Bau einer dual Puls kapazitive Entladung Punktschweißer, die 400 Ampere bei 60 Mikrosekunden ausgeben können.Schritt 1: TheorieEinführungDer Grund dafür ein tragbares kapazitive Entladung Punktschweißer, die
Solar Wetterstation Raspberry Pi

Solar Wetterstation Raspberry Pi

Angespornt durch den Abschluss meiner zwei vorhergehenden Projekte, die Kompaktkamera und tragbare Spielkonsole, wollte ich eine neue Herausforderung zu finden. Der natürliche Verlauf wurde eine Outdoor-remote-System...Ich wollte eine Raspberry Pi We