~dajolly/dmgl

A lightweight Gameboy emulator, written in C.

008e52a add video transfer state machine

~dajolly pushed to ~dajolly/dmgl git

an hour ago

039065b clock subsystems at 4MHz

~dajolly pushed to ~dajolly/dmgl git

2 hours ago

#DMGL (DMG-Lite)

License: MIT Build Status

NOTE: This project is a work-in-progress.

DMGL is a lightweight Gameboy emulator, written in C.

#Install

DMGL is dependant on the SDL2 library. If you are on a Debian-based systems, install this library using apt:

sudo apt-get install libsdl2-dev

If you are on an Arch-based systems, install this library using pacman:

sudo pacman -S sdl2

Once all dependencies are met, clone the repo and install:

git clone https://git.sr.ht/~dajolly/dmgl
cd dmgl
make
sudo make install

The default installation directory is /usr/local/bin. If you want to use a different directory, redefine DESTDIR:

sudo DESTDIR=/your/path make install

#Usage

Usage: dmgl [options] file...

Options:
   -b, --bootloader   Specify bootloader path
   -f, --fullscreen   Set window fullscreen
   -h, --help         Show help information
   -s, --scale        Set window scaling
   -v, --version      Show version information

#Examples

# To launch with a cartridge, run the following command
dmgl cartridge.gb

# To launch with a bootloader, run the following command
dmgl --bootloader bootloader.gb cartridge.gb

# To launch with window fullscreen, run the following command
dmgl --fullscreen cartridge.gb

# To launch with window scaling (1x-8x, with a default of 2x), run the following command
dmgl --scale [1-8] cartridge.gb

#Keybindings

Button Keyboard
A L
B K
Select C
Start Space
Right D
Left A
Up W
Down S

#Mapper support

Type Name Description
0 MBC0 No mapper
1 MBC1 Nintendo MBC1 mapper

#License

Copyright (C) 2022 David Jolly. Released under the MIT License.