Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@brook2
brook2 / rgbds makefile
Last active August 29, 2015 13:56
make.sh
## rgbds makefile version 1
if [[ $1 == *.asm ]]
then
rom=${1%.asm}
title=$(printf "%16s" ${rom:0:16})
echo "rgbasm" && rgbasm -o "$rom.o" -i ../ "$rom.asm" &&
echo "rgblink" && rgblink -o "$rom.gb" -p 0xFF -t "$rom.o" &&
echo "rgbfix" && rgbfix -v -p 0xFF -m 0x00 -r 0x00 -t "$title" "$rom.gb"
else
@brook2
brook2 / gbtiles.c
Last active August 29, 2015 13:55
gbtiles.c
#include <stdio.h>
#include <stdlib.h>
#include "image.xpm"
// this program converts a 4 color bitmap image into game boy character/tile data
int pixel(int row, int column) {
char c = image[5+row][column];
if(c == image[1][0]) return 0;
#include <SDL/SDL.h>
// gcc `sdl-config --cflags --libs` gbtiles.c
// VIEW TILES FROM A GAMEBOY ROM
// ARROW KEYS TO MOVE
#define cols 64
#define rows 64
diff -x higan -x '*.so' -x '*~' -x '*.o' -uNr higan_v093r11_sockpair/src/gb/cpu/mmio.cpp higan_v093r11_link3/src/gb/cpu/mmio.cpp
--- higan_v093r11_sockpair/src/gb/cpu/mmio.cpp 2013-12-24 06:22:02.000000000 +0000
+++ higan_v093r11_link3/src/gb/cpu/mmio.cpp 2013-12-24 12:13:11.146768329 +0000
@@ -53,12 +53,12 @@
if(interface->tracer.open()) {
char buffer[1024];
- sprintf(buffer, "SB R 0x%.2x\n", 0xff);
+ sprintf(buffer, "SB R 0x%.2x\n", status.serial_data);
interface->tracer.print(buffer);
diff -x higan -x '*.so' -x '*~' -x '*.o' -uNr higan_v093r11_sockpair/src/gb/cpu/mmio.cpp higan_v093r11_link2/src/gb/cpu/mmio.cpp
--- higan_v093r11_sockpair/src/gb/cpu/mmio.cpp 2013-12-24 06:22:02.000000000 +0000
+++ higan_v093r11_link2/src/gb/cpu/mmio.cpp 2013-12-25 05:20:27.823709075 +0000
@@ -53,12 +53,12 @@
if(interface->tracer.open()) {
char buffer[1024];
- sprintf(buffer, "SB R 0x%.2x\n", 0xff);
+ sprintf(buffer, "SB R 0x%.2x\n", status.serial_data);
interface->tracer.print(buffer);
diff -x higan -x '*.so' -x '*~' -x '*.o' -uNr higan_v093r11_sockpair/src/gb/cpu/mmio.cpp higan_v093r11_link1/src/gb/cpu/mmio.cpp
--- higan_v093r11_sockpair/src/gb/cpu/mmio.cpp 2013-12-24 06:22:02.000000000 +0000
+++ higan_v093r11_link1/src/gb/cpu/mmio.cpp 2013-12-25 04:58:08.783658144 +0000
@@ -53,12 +53,12 @@
if(interface->tracer.open()) {
char buffer[1024];
- sprintf(buffer, "SB R 0x%.2x\n", 0xff);
+ sprintf(buffer, "SB R 0x%.2x\n", status.serial_data);
interface->tracer.print(buffer);
diff -x higan -x '*.so' -x '*~' -x '*.o' -uNr higan_v093r11_trace/src/gb/gb.hpp higan_v093r11_sockpair/src/gb/gb.hpp
--- higan_v093r11_trace/src/gb/gb.hpp 2013-05-05 08:54:22.000000000 +0100
+++ higan_v093r11_sockpair/src/gb/gb.hpp 2013-12-24 08:28:09.858114736 +0000
@@ -20,6 +20,9 @@
#include <libco/libco.h>
+extern int sockSIO;
+extern int sockSCK;
+
diff -x higan -x '*.so' -x '*~' -x '*.o' -uNr higan_v093r11/src/gb/cpu/mmio.cpp higan_v093r11_trace/src/gb/cpu/mmio.cpp
--- higan_v093r11/src/gb/cpu/mmio.cpp 2013-12-12 00:42:15.000000000 +0000
+++ higan_v093r11_trace/src/gb/cpu/mmio.cpp 2013-12-24 06:22:02.629748505 +0000
@@ -43,12 +43,36 @@
}
if(addr == 0xff01) { //SB
+ if(status.serial_transfer) {
+ printf("PROHIBITED: SB read during serial transfer\n");
+ if(interface->tracer.open()) {