Skip to content

athreef/Device-GBA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME

gba - Command-line code uploader for the Gameboy Advance

VERSION

version 0.004

SYNOPSIS

$ gba --verbose code.gba
.....Opening GBA file readonly
.....GBA file length 0x000003a0
BusPirate(mstr) GBA(slave)
Looking for GBA 0x72026202
0x72026202 0x00006202  ; Found GBA
0x72026202 0x00006102  ; Recognition OK
0x00020000 0x00006200  ; Transfer of header data complete
0x72026200 0x00006202  ; Exchange master/slave info again
0x72026202 0x000063d1  ; Send palette data
0x739163d1 0x000063d1  ; Send palette data, receive 0x73hh****
0x739863d1 0x000064a0  ; Send handshake data
0x736464a0 0x00000084  ; Send length info, receive seed 0x**cc****
Upload: 100% [=========================================]D 0h00m14s
Wait for GBA to respond with CRC 0x00750065
0x00750065 0x00000066  ; GBA ready with CRC
0x8caa0066 0x00008caa  ; Let's exchange CRC!
CRC ...hope they match!
MultiBoot done

INSTALLATION

cpan Device::GBA

DESCRIPTION

The Nintendo Gameboy Advance can either boot from cartridge or over link cable. The latter is caled multiboot mode and is basically SPI and a homebrew encoding scheme. Unfortunately, the Bus Pirate doesn't have a 100k SPI mode, so we are using 125000 instead. If you encounter problems with booting, use the next lower speed (30000) as bitrate. This utility allows uploading multiboot GBA images with the BusPirate. Don't forget to pass -specs=gba_mb.specs to devkitARM GCC if you want to link a multiboot image. The package's share/ subdirectory contains an example Makefile for cross-compilation. The wiring is as follows:

GBA     Bus Pirate
SO  --> MISO
SI  <-- MOSI
CLK <-- CLK

Note: This is still work in progress!

OPTIONS

pirate / p

Buspirate COM port/device file

$ gba -p <COM_port>

verbose / no-verbose

Toggle verbose output. Output is verbose by default

$ gba --no-verbose

version / v

Shows the current version number

$ gba --version

help / h

Shows a brief help message

$ gba --help

GIT REPOSITORY

http://github.com/athreef/Device-GBA

SEE ALSO

Device::GBA powering this utility.

AUTHOR

Ahmad Fatoum <[email protected]>, http://a3f.at

COPYRIGHT AND LICENSE

Copyright (C) 2018 Ahmad Fatoum

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License v2.0 or later.