[Python] Ein Memo zum Betreiben eines mit GBDK mit PyBoy erstellten ROM

Es ist ein Memo zum Bedienen des von GBDK mit PyBoy erstellten ROM. Diese Implementierung wird im folgenden Repository veröffentlicht. https://github.com/Kazuhito00/pyboy-gbdk-examples

Was ist PyBoy?

Ein in Python geschriebener Gameboy-Emulator. Es scheint, dass es nicht nur einen Emulator entwickelt, sondern auch eine Plattform für verbessertes Lernen. https://github.com/Baekalfen/PyBoy

Was ist GBDK?

Abkürzung für GameBoy Developers Kit, Freeware, mit der Sie Gameboy-Software in C oder Assemblersprache entwickeln können. http://gbdk.sourceforge.net/

Installation GBDK

  1. Laden Sie das GBDK-Hauptgerät über den folgenden Link herunter:
    https://sourceforge.net/projects/gbdk/files/gbdk/
    In diesem Beispiel die Windows-Version ([gbdk-2.95-win32.zip](https: / /sourceforge.net/projects/gbdk/files/gbdk-win32/2.95/gbdk-2.95-win32.zip/download)) wird verwendet.
  2. Entpacken Sie in einen Ordner wie "C: \ gbdk"
  3. Fügen Sie der Systemumgebungsvariablen von Windows "C: \ gbdk \ bin" hinzu.
    * Wenn Sie eine andere Dekomprimierung als "C: \ gbdk" dekomprimieren, müssen Sie den Pfad entsprechend dem Antwortspeicherort ändern.

PyBoy

  1. Installieren Sie SDL2
     Ubuntu: sudo apt install libsdl2-dev
     Fedora: sudo dnf install SDL2-devel
     macOS: brew install sdl2
     Windows: (New-Object Net.WebClient).DownloadFile('https://www.libsdl.org/release/SDL2-devel-2.0.10-VC.zip', 'SDL2-devel-2.0.10-VC.zip')
      : Expand-Archive -Force 'SDL2-devel-2.0.10-VC.zip' C:\SDL2\
      : setx PYSDL2_DLL_PATH C:\SDL2\SDL2-2.0.10\lib\x64
      : setx PATH "%PATH%;C:\SDL2\SDL2-2.0.10\lib\x64"
  2. Installieren Sie PyBoy mit pip
    python3 -m pip install --upgrade pip
    python3 -m pip install pyboy

Hello World Sie können mit printf () einen Heiligenschein erstellen.

hello_world.c


#include <stdio.h>
#include <gb/gb.h>
#include <gb/console.h>

int main(void)
{
    gotoxy(0, 0);  //Zeichnungskoordinaten angeben
    printf("Hello World\n");
}

Kompiliert mit dem LCC-Compiler von GBDK.

c:\gbdk\bin\lcc -Wa-l -Wl-m -Wl-j -DUSE_SFR_FOR_REG -c -o hello_world.o hello_world.c
c:\gbdk\bin\lcc -Wa-l -Wl-m -Wl-j -DUSE_SFR_FOR_REG -Wl-yt2 -Wl-yo4 -Wl-ya4 -o hello_world.gb hello_world.o

Starten Sie mit PyBoy

from pyboy import PyBoy

#Starten Sie PyBoy
color_palette = [0xd6e895, 0xacc04c, 0x527d3e, 0x264a2e]  #Gameboy-ähnliche Farbpalettenspezifikation
pyboy = PyBoy('hello_world.gb', color_palette=color_palette)

while not pyboy.tick():
    pass

Erfolg, wenn das folgende Fenster angezeigt wird. 2020-06-20 (7).png

das ist alles.

Recommended Posts

[Python] Ein Memo zum Betreiben eines mit GBDK mit PyBoy erstellten ROM
Memo mit Python mit HiveServer2 von EMR verbunden
[Python] Ein Memo zum vertikalen Schreiben von CSV mit Pandas
Bedienen Sie den Belegdrucker mit Python
Versuchen Sie, Facebook mit Python zu betreiben
Starten eines mit Jupyter Notebook erstellten Python-Programms
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Übergeben Sie die Liste von Python an C ++ als Referenz in pybind11
Konvertieren Sie Memos sofort mit Python 2to3
Memo, um nach KPI mit Python zu fragen
Erstellt eine Reise von Darts mit Python (Nachrichten)
Ich habe versucht, mit einem Remote-Server über Socket-Kommunikation mit Python zu kommunizieren.
Ein Memo, das durch Umbenennen der Dateinamen im Ordner mit Python organisiert wird
Ein Hinweis, mit dem Sie die Python-Umgebung von Pineapple mit pyenv ändern können
Beachten Sie, dass Djangos Runserver in Python 2.7.11, das mit Homebrew geliefert wird, Moos ist
Lesen einer CSV-Datei mit Python 2/3
Senden Sie eine Nachricht mit Python an LINE (LINE Notify)
Ich möchte ein Spiel mit Python machen
Versuchen Sie, in Python einen "Entschlüsselungs" -Code zu erstellen
Entscheide dich für einen Laborauftrag mit Python (Fiktion)
Ein Memo beim Erstellen einer Python-Umgebung mit Miniconda
Schritte zum Erstellen eines Twitter-Bots mit Python
Versuchen Sie, mit Python eine Diedergruppe zu bilden
Einfache Aufgabenliste, erstellt mit Python + Django
Hinweise zum Erstellen einer Python-Umgebung durch Anfänger
Lesen Sie mit Python Zeile für Zeile aus der Datei
Ich möchte mit Python in eine Datei schreiben
Zubu Amateur will Python starten
[Python] Erstellt eine Klasse, um mit pyaudio Sinuswellen im Hintergrund zu spielen
[Keras] Persönliches Memo zum Klassifizieren von Bildern nach Ordner [Python]
So konvertieren / wiederherstellen Sie einen String mit [] in Python
Memo zum Erstellen einer eigenen Box mit Peppers Python
[Python] Wie zeichnet man mit Matplotlib ein Liniendiagramm?
Visualisierungsnotiz von Python
Lassen Sie uns ein Befehls-Standby-Tool mit Python erstellen
Python Ver. Einführung in WebPay mit ein wenig Code
Probieren Sie die DB-Operation mit Python aus und visualisieren Sie sie mit d3
Eine Geschichte darüber, wie Windows 10-Benutzer eine Umgebung für die Verwendung von OpenCV3 mit Python 3.5 erstellt haben
Einführung in die Mathematik ab Python Study Memo Vol.1
Kinesis mit Python betreiben
So veröffentlichen Sie GitHub-Seiten mit Pelican, einem statischen HTML-Generator von Python
Ich möchte mit einem Roboter in Python arbeiten.
Vom Kauf eines Computers bis zur Ausführung eines Programms auf Python
Betreiben Sie Blender mit Python
So speichern Sie eine von Python gekratzte Tabelle in CSV
Ein Memo, dass ich den Datenspeicher mit Python berührt habe
[Python] Erstellt eine Methode zum Konvertieren von Radix in 1 Sekunde
Ein Memo zum Erstellen einer Django (Python) -Anwendung mit Docker
Ein Hinweis auf Missverständnisse beim Versuch, das gesamte selbst erstellte Modul mit Python3 zu laden
[Python] So erstellen Sie mit Matplotlib ein zweidimensionales Histogramm
[Python] Löschen Sie, indem Sie ein Tag mit Beautiful Soup angeben
So bedienen Sie die Discord API mit Python (Bot-Registrierung)
[Automatisierung] Betreiben Sie GitLab mit Python, um die Verwaltung von Anfragen zu vereinfachen
Veröffentlichen / Hochladen einer in Python erstellten Bibliothek in PyPI
Betreiben Sie Excel mit Python (1)
Ich möchte einen Quantencomputer mit Python betreiben
[Python] Wie zeichnet man mit Matplotlib ein Streudiagramm?
Memo von "Cython beschleunigt Python durch Fusion mit C"