From 0c48819ec733c30174e9eb57d3f4065eb503d892 Mon Sep 17 00:00:00 2001 From: "U-Fish-PC\\Daniel" Date: Wed, 9 Apr 2014 13:26:08 -0400 Subject: Initial commit --- .gitignore | 10 ++++ Makefile | 19 ++++++ README.md | 13 +++++ main.asm | 191 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 233 insertions(+) create mode 100755 .gitignore create mode 100755 Makefile create mode 100755 README.md create mode 100755 main.asm diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..e252f3f --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +# compiled object file +*.o + +# roms +*.gbc + +# for any of the poor souls with save game files in their working directory +*.sgm +*.sav +*.sys \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100755 index 0000000..d11876c --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +.PHONY: all compare clean + +ROMS := tcg.gbc +OBJS := main.o + +all: tcg.gbc compare +compare: baserom.gbc $(ROMS) + cmp $^ + +%.o: %.asm + rgbasm -o $@ $< + +tcg.gbc: $(OBJS) + rgblink -o $@ $^ + rgbfix -v $@ + +clean: + rm -f $(ROMS) + rm -f $(OBJS) \ No newline at end of file diff --git a/README.md b/README.md new file mode 100755 index 0000000..0bb212f --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# Pokémon TCG + +This is a disassembly of Pokémon TCG. + +It uses the following ROM as a base: + +* Pokemon Trading Card Game (U) [C][!].gbc `md5: 229ad3be679e1c31b076692be10f6015` + +To assemble, first install RGBDS and put it in your path. +Then copy the above ROM to this directory as "baserom.gbc" +Then run "make" in your shell. + +This will output a file named "tcg.gbc" \ No newline at end of file diff --git a/main.asm b/main.asm new file mode 100755 index 0000000..6ec1407 --- /dev/null +++ b/main.asm @@ -0,0 +1,191 @@ +SECTION "bank0",ROM0[0] +INCBIN "baserom.gbc",$0,$4000 + +SECTION "bank1",ROMX,BANK[$1] +INCBIN "baserom.gbc",$4000,$4000 + +SECTION "bank2",ROMX,BANK[$2] +INCBIN "baserom.gbc",$8000,$4000 + +SECTION "bank3",ROMX,BANK[$3] +INCBIN "baserom.gbc",$C000,$4000 + +SECTION "bank4",ROMX,BANK[$4] +INCBIN "baserom.gbc",$10000,$4000 + +SECTION "bank5",ROMX,BANK[$5] +INCBIN "baserom.gbc",$14000,$4000 + +SECTION "bank6",ROMX,BANK[$6] +INCBIN "baserom.gbc",$18000,$4000 + +SECTION "bank7",ROMX,BANK[$7] +INCBIN "baserom.gbc",$1C000,$4000 + +SECTION "bank8",ROMX,BANK[$8] +INCBIN "baserom.gbc",$20000,$4000 + +SECTION "bank9",ROMX,BANK[$9] +INCBIN "baserom.gbc",$24000,$4000 + +SECTION "bankA",ROMX,BANK[$A] +INCBIN "baserom.gbc",$28000,$4000 + +SECTION "bankB",ROMX,BANK[$B] +INCBIN "baserom.gbc",$2C000,$4000 + +SECTION "bankC",ROMX,BANK[$C] +INCBIN "baserom.gbc",$30000,$4000 + +SECTION "bankD",ROMX,BANK[$D] +INCBIN "baserom.gbc",$34000,$4000 + +SECTION "bankE",ROMX,BANK[$E] +INCBIN "baserom.gbc",$38000,$4000 + +SECTION "bankF",ROMX,BANK[$F] +INCBIN "baserom.gbc",$3C000,$4000 + +SECTION "bank10",ROMX,BANK[$10] +INCBIN "baserom.gbc",$40000,$4000 + +SECTION "bank11",ROMX,BANK[$11] +INCBIN "baserom.gbc",$44000,$4000 + +SECTION "bank12",ROMX,BANK[$12] +INCBIN "baserom.gbc",$48000,$4000 + +SECTION "bank13",ROMX,BANK[$13] +INCBIN "baserom.gbc",$4C000,$4000 + +SECTION "bank14",ROMX,BANK[$14] +INCBIN "baserom.gbc",$50000,$4000 + +SECTION "bank15",ROMX,BANK[$15] +INCBIN "baserom.gbc",$54000,$4000 + +SECTION "bank16",ROMX,BANK[$16] +INCBIN "baserom.gbc",$58000,$4000 + +SECTION "bank17",ROMX,BANK[$17] +INCBIN "baserom.gbc",$5C000,$4000 + +SECTION "bank18",ROMX,BANK[$18] +INCBIN "baserom.gbc",$60000,$4000 + +SECTION "bank19",ROMX,BANK[$19] +INCBIN "baserom.gbc",$64000,$4000 + +SECTION "bank1A",ROMX,BANK[$1A] +INCBIN "baserom.gbc",$68000,$4000 + +SECTION "bank1B",ROMX,BANK[$1B] +INCBIN "baserom.gbc",$6C000,$4000 + +SECTION "bank1C",ROMX,BANK[$1C] +INCBIN "baserom.gbc",$70000,$4000 + +SECTION "bank1D",ROMX,BANK[$1D] +INCBIN "baserom.gbc",$74000,$4000 + +SECTION "bank1E",ROMX,BANK[$1E] +INCBIN "baserom.gbc",$78000,$4000 + +SECTION "bank1F",ROMX,BANK[$1F] +INCBIN "baserom.gbc",$7C000,$4000 + +SECTION "bank20",ROMX,BANK[$20] +INCBIN "baserom.gbc",$80000,$4000 + +SECTION "bank21",ROMX,BANK[$21] +INCBIN "baserom.gbc",$84000,$4000 + +SECTION "bank22",ROMX,BANK[$22] +INCBIN "baserom.gbc",$88000,$4000 + +SECTION "bank23",ROMX,BANK[$23] +INCBIN "baserom.gbc",$8C000,$4000 + +SECTION "bank24",ROMX,BANK[$24] +INCBIN "baserom.gbc",$90000,$4000 + +SECTION "bank25",ROMX,BANK[$25] +INCBIN "baserom.gbc",$94000,$4000 + +SECTION "bank26",ROMX,BANK[$26] +INCBIN "baserom.gbc",$98000,$4000 + +SECTION "bank27",ROMX,BANK[$27] +INCBIN "baserom.gbc",$9C000,$4000 + +SECTION "bank28",ROMX,BANK[$28] +INCBIN "baserom.gbc",$A0000,$4000 + +SECTION "bank29",ROMX,BANK[$29] +INCBIN "baserom.gbc",$A4000,$4000 + +SECTION "bank2A",ROMX,BANK[$2A] +INCBIN "baserom.gbc",$A8000,$4000 + +SECTION "bank2B",ROMX,BANK[$2B] +INCBIN "baserom.gbc",$AC000,$4000 + +SECTION "bank2C",ROMX,BANK[$2C] +INCBIN "baserom.gbc",$B0000,$4000 + +SECTION "bank2D",ROMX,BANK[$2D] +INCBIN "baserom.gbc",$B4000,$4000 + +SECTION "bank2E",ROMX,BANK[$2E] +INCBIN "baserom.gbc",$B8000,$4000 + +SECTION "bank2F",ROMX,BANK[$2F] +INCBIN "baserom.gbc",$BC000,$4000 + +SECTION "bank30",ROMX,BANK[$30] +INCBIN "baserom.gbc",$C0000,$4000 + +SECTION "bank31",ROMX,BANK[$31] +INCBIN "baserom.gbc",$C4000,$4000 + +SECTION "bank32",ROMX,BANK[$32] +INCBIN "baserom.gbc",$C8000,$4000 + +SECTION "bank33",ROMX,BANK[$33] +INCBIN "baserom.gbc",$CC000,$4000 + +SECTION "bank34",ROMX,BANK[$34] +INCBIN "baserom.gbc",$D0000,$4000 + +SECTION "bank35",ROMX,BANK[$35] +INCBIN "baserom.gbc",$D4000,$4000 + +SECTION "bank36",ROMX,BANK[$36] +INCBIN "baserom.gbc",$D8000,$4000 + +SECTION "bank37",ROMX,BANK[$37] +INCBIN "baserom.gbc",$DC000,$4000 + +SECTION "bank38",ROMX,BANK[$38] +INCBIN "baserom.gbc",$E0000,$4000 + +SECTION "bank39",ROMX,BANK[$39] +INCBIN "baserom.gbc",$E4000,$4000 + +SECTION "bank3A",ROMX,BANK[$3A] +INCBIN "baserom.gbc",$E8000,$4000 + +SECTION "bank3B",ROMX,BANK[$3B] +INCBIN "baserom.gbc",$EC000,$4000 + +SECTION "bank3C",ROMX,BANK[$3C] +INCBIN "baserom.gbc",$F0000,$4000 + +SECTION "bank3D",ROMX,BANK[$3D] +INCBIN "baserom.gbc",$F4000,$4000 + +SECTION "bank3E",ROMX,BANK[$3E] +INCBIN "baserom.gbc",$F8000,$4000 + +SECTION "bank3F",ROMX,BANK[$3F] +INCBIN "baserom.gbc",$FC000,$4000 \ No newline at end of file -- cgit v1.2.3