diff options
author | pikalaxalt <PikalaxALT@gmail.com> | 2016-06-16 11:29:38 -0400 |
---|---|---|
committer | pikalaxalt <PikalaxALT@gmail.com> | 2016-06-16 11:29:38 -0400 |
commit | e5b8d367e349d8e8afbec63974b629bc32d78387 (patch) | |
tree | 5a779a5b023646e6b9876b96e1a7f963e15ffddb | |
parent | 8fe65fef10a979a016af160076056457491ba722 (diff) |
Upgrade makefile syntax to match pokecrystal
-rw-r--r-- | Makefile | 75 | ||||
-rw-r--r-- | home.asm | 65 | ||||
-rw-r--r-- | home/vblank.asm | 2 | ||||
-rw-r--r-- | home_gold.asm | 90 | ||||
-rwxr-xr-x | interrupts.asm | 18 | ||||
-rw-r--r-- | macros.asm | 8 | ||||
-rw-r--r-- | main.asm (renamed from gold.asm) | 254 | ||||
-rw-r--r-- | scan_includes.py | 35 | ||||
-rw-r--r-- | silver.asm | 6 |
9 files changed, 272 insertions, 281 deletions
@@ -2,42 +2,21 @@ PYTHON := python MD5 := md5sum -c --quiet .SUFFIXES: -.SUFFIXES: .asm .o .gbc .png .2bpp .1bpp .lz .pal .bin .blk .tilemap .PHONY: all clean gold silver pngs compare .SECONDEXPANSION: +.PRECIOUS: %.2bpp %.1bpp -poketools := extras/pokemontools -gfx := $(PYTHON) $(poketools)/gfx.py -includes := $(PYTHON) $(poketools)/scan_includes.py - -gold_obj := \ -gold.o \ -home_gold.o -# gold_obj := \ -# wram.o \ -# main.o \ -# lib/mobile/main.o \ -# home.o \ -# audio.o \ -# maps_gold.o \ -# engine/events_gold.o \ -# engine/credits_gold.o \ -# data/egg_moves_gold.o \ -# data/evos_attacks_gold.o \ -# data/pokedex/entries_gold.o \ -# misc/gold_misc.o \ -# gfx/pics.o - -silver_obj := silver.o - -all_obj := $(gold_obj) $(silver_obj) - -# object dependencies -$(foreach obj, $(all_obj), \ - $(eval $(obj:.o=)_dep := $(shell $(includes) $(obj:.o=.asm))) \ -) +gfx := $(PYTHON) gfx.py +includes := $(PYTHON) scan_includes.py +rom_obj := \ +main.o \ +home.o + +gold_obj := $(rom_obj:.o=_gold.o) +silver_obj := $(rom_obj:.o=_silver.o) + roms := pokegold.gbc pokesilver.gbc all: $(roms) @@ -45,21 +24,27 @@ gold: pokegold.gbc silver: pokesilver.gbc clean: - rm -f $(roms) $(all_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) + rm -f $(roms) $(gold_obj) $(silver_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) compare: pokegold.gbc pokesilver.gbc @$(MD5) roms.md5 %.asm: ; -$(all_obj): $$*.asm $$($$*_dep) - rgbasm -o $@ $< + +%_gold.o: dep = $(shell $(includes) $(@D)/$*.asm) +%_gold.o: %.asm $$(dep) + rgbasm -D GOLD -o $@ $< + +%_silver.o: dep = $(shell $(includes) $(@D)/$*.asm) +%_silver.o: %.asm $$(dep) + rgbasm -D SILVER -o $@ $< pokegold.gbc: $(gold_obj) - rgblink -n $*.sym -m $*.map -o $@ $^ + rgblink -n pokegold.sym -m pokegold.map -o $@ $^ rgbfix -cjsv -i AAUE -k 01 -l 0x33 -m 0x10 -p 0 -r 3 -t "POKEMON_GLD" $@ pokesilver.gbc: $(silver_obj) - rgblink -n $*.sym -m $*.map -o $@ $^ + rgblink -n pokesilver.sym -m pokesilver.map -o $@ $^ rgbfix -cjsv -i AAXE -k 01 -l 0x33 -m 0x10 -p 0 -r 3 -t "POKEMON_SLV" $@ pngs: @@ -68,13 +53,13 @@ pngs: find . -iname "*.[12]bpp" -exec touch {} + find . -iname "*.lz" -exec touch {} + -# %.2bpp: %.png ; @$(gfx) 2bpp $< -# %.1bpp: %.png ; @$(gfx) 1bpp $< -# %.lz: % ; @$(gfx) lz $< - - -# %.pal: ; -# %.bin: ; -# %.blk: ; -# %.tilemap: ; +%.png: ; +%.2bpp: %.png ; $(gfx) 2bpp $< +%.1bpp: %.png ; $(gfx) 1bpp $< +%.lz: % ; $(gfx) lz $< +%.pal: %.2bpp ; +gfx/pics/%/normal.pal gfx/pics/%/bitmask.asm gfx/pics/%/frames.asm: gfx/pics/%/front.2bpp ; +%.bin: ; +%.blk: ; +%.tilemap: ; diff --git a/home.asm b/home.asm new file mode 100644 index 00000000..f51fab3e --- /dev/null +++ b/home.asm @@ -0,0 +1,65 @@ +; rst vectors +INCLUDE "constants.asm" + +INCLUDE "rst.asm" +INCLUDE "interrupts.asm" + +SECTION "start", HOME[$100] +Start:: + nop + jp Start_ + +SECTION "bank0", HOME[$150] +INCLUDE "home/vblank.asm" +INCLUDE "home/delay.asm" + +Function343:: + dr $343, $41b + +LCD:: + dr $41b, $5c6 + +Start_:: + dr $5c6, $6aa + +Serial:: + dr $6aa, $8df + +JoypadInt:: + dr $8df, $8e6 + +Function8e6:: + dr $8e6, $bdf + +Functionbdf:: + dr $bdf, $be3 + +Functionbe3:: + dr $be3, $1458 + +Function1458:: + dr $1458, $14bb + +Function14bb:: + dr $14bb, $1579 + +Function1579:: + dr $1579, $15d0 + +Function15d0:: + dr $15d0, $162b + +Function162b:: + dr $162b, $1642 + +Function1642:: + dr $1642, $1ebf + +Function1ebf:: + dr $1ebf, $1efa + +Function1efa:: + dr $1efa, $2e27 + +FarCall_hl:: + dr $2e27, $3fee diff --git a/home/vblank.asm b/home/vblank.asm index be04a8d9..f6f9047c 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -144,7 +144,7 @@ Function219:: Function23e:: ld a, [$ffe8] ; 23e and a ; 240 - jp nz, $be3 ; 241 + jp nz, Functionbe3 ; 241 ld a, [$cf43] ; 244 ld [$ff47], a ; 247 ld a, [$cf44] ; 249 diff --git a/home_gold.asm b/home_gold.asm deleted file mode 100644 index 565c6b6a..00000000 --- a/home_gold.asm +++ /dev/null @@ -1,90 +0,0 @@ -; rst vectors -INCLUDE "constants.asm" - -SECTION "rst0",ROM0[0] - di - jp Start - -SECTION "rst8",ROM0[FarCall] - jp FarCall_hl - -SECTION "rst10",ROM0[Bankswitch] - ld [hROMBank], a - ld [MBC3RomBank], a - ret - -SECTION "rst18",ROM0[$18] - rst $38 - -SECTION "rst20",ROM0[$20] - rst $38 - -SECTION "rst28",ROM0[JumpTable] - push de - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - pop de - jp [hl] - -; SECTION "rst30",ROM0[$30] -; rst30 is midst rst28 - -SECTION "rst38",ROM0[$38] - rst $38 - - -SECTION "interrupts", HOME[$40] - dr $40, $100, 0 - -SECTION "start", HOME[$100] -Start:: - nop - jp Start_ - -SECTION "bank0", HOME[$150] -INCLUDE "home/vblank.asm" -INCLUDE "home/delay.asm" - -Function343:: - dr $343, $5c6, 0 - -Start_:: - dr $5c6, $8e6, 0 - -Function8e6:: - dr $8e6, $bdf, 0 - -Functionbdf:: - dr $bdf, $1458, 0 - -Function1458:: - dr $1458, $14bb, 0 - -Function14bb:: - dr $14bb, $1579, 0 - -Function1579:: - dr $1579, $15d0, 0 - -Function15d0:: - dr $15d0, $162b, 0 - -Function162b:: - dr $162b, $1642, 0 - -Function1642:: - dr $1642, $1ebf, 0 - -Function1ebf:: - dr $1ebf, $1efa, 0 - -Function1efa:: - dr $1efa, $2e27, 0 - -FarCall_hl:: - dr $2e27, $3fee, 0 diff --git a/interrupts.asm b/interrupts.asm index 51a56d5a..3467f9b6 100755 --- a/interrupts.asm +++ b/interrupts.asm @@ -1,16 +1,16 @@ ; Game Boy hardware interrupts -SECTION "vblank", ROM0[$40] - jp VBlank ; $0150 +SECTION "vblank",ROM0[$40] + jp VBlank -SECTION "lcd", ROM0[$48] - jp LCD ; $041b +SECTION "lcd",ROM0[$48] + jp LCD -SECTION "timer", ROM0[$50] +SECTION "timer",ROM0[$50] reti -SECTION "serial", ROM0[$58] - jp Serial ; $06aa +SECTION "serial",ROM0[$58] + jp Serial -SECTION "joypad", ROM0[$60] - jp JoypadInt ; $08df +SECTION "joypad",ROM0[$60] + jp JoypadInt @@ -17,10 +17,12 @@ INCLUDE "macros/trainer.asm" INCLUDE "macros/trade_anim.asm" dr: MACRO -IF \3 == 1 -INCBIN "baserom-silver.gbc", \1, \2 - \1 -ELSE +IF DEF(GOLD) INCBIN "baserom-gold.gbc", \1, \2 - \1 +ELSE +IF DEF(SILVER) +INCBIN "baserom-silver.gbc", \1, \2 - \1 +ENDC ENDC ENDM @@ -1,382 +1,382 @@ INCLUDE "constants.asm" SECTION "bank1", DATA, BANK[$1] - dr $4000, $8000, 0 + dr $4000, $8000 SECTION "bank2", DATA, BANK[$2] - dr $8000, $c000, 0 + dr $8000, $c000 SECTION "bank3", DATA, BANK[$3] - dr $c000, $10000, 0 + dr $c000, $10000 SECTION "bank4", DATA, BANK[$4] - dr $10000, $14000, 0 + dr $10000, $14000 SECTION "bank5", DATA, BANK[$5] - dr $14000, $18000, 0 + dr $14000, $18000 SECTION "bank6", DATA, BANK[$6] - dr $18000, $1c000, 0 + dr $18000, $1c000 SECTION "bank7", DATA, BANK[$7] - dr $1c000, $20000, 0 + dr $1c000, $20000 SECTION "bank8", DATA, BANK[$8] - dr $20000, $24000, 0 + dr $20000, $24000 SECTION "bank9", DATA, BANK[$9] - dr $24000, $28000, 0 + dr $24000, $28000 SECTION "banka", DATA, BANK[$a] - dr $28000, $2c000, 0 + dr $28000, $2c000 SECTION "bankb", DATA, BANK[$b] - dr $2c000, $30000, 0 + dr $2c000, $30000 SECTION "bankc", DATA, BANK[$c] - dr $30000, $34000, 0 + dr $30000, $34000 SECTION "bankd", DATA, BANK[$d] - dr $34000, $38000, 0 + dr $34000, $38000 SECTION "banke", DATA, BANK[$e] - dr $38000, $3c000, 0 + dr $38000, $3c000 SECTION "bankf", DATA, BANK[$f] - dr $3c000, $40000, 0 + dr $3c000, $40000 SECTION "bank10", DATA, BANK[$10] - dr $40000, $44000, 0 + dr $40000, $44000 SECTION "bank11", DATA, BANK[$11] - dr $44000, $48000, 0 + dr $44000, $48000 SECTION "bank12", DATA, BANK[$12] - dr $48000, $4c000, 0 + dr $48000, $4c000 SECTION "bank13", DATA, BANK[$13] - dr $4c000, $50000, 0 + dr $4c000, $50000 SECTION "bank14", DATA, BANK[$14] - dr $50000, $54000, 0 + dr $50000, $54000 SECTION "bank15", DATA, BANK[$15] - dr $54000, $58000, 0 + dr $54000, $58000 SECTION "bank16", DATA, BANK[$16] - dr $58000, $5c000, 0 + dr $58000, $5c000 SECTION "bank17", DATA, BANK[$17] - dr $5c000, $60000, 0 + dr $5c000, $60000 SECTION "bank18", DATA, BANK[$18] - dr $60000, $64000, 0 + dr $60000, $64000 SECTION "bank19", DATA, BANK[$19] - dr $64000, $68000, 0 + dr $64000, $68000 SECTION "bank1a", DATA, BANK[$1a] - dr $68000, $6c000, 0 + dr $68000, $6c000 SECTION "bank1b", DATA, BANK[$1b] - dr $6c000, $70000, 0 + dr $6c000, $70000 SECTION "bank1c", DATA, BANK[$1c] - dr $70000, $74000, 0 + dr $70000, $74000 SECTION "bank1d", DATA, BANK[$1d] - dr $74000, $78000, 0 + dr $74000, $78000 SECTION "bank1e", DATA, BANK[$1e] - dr $78000, $7c000, 0 + dr $78000, $7c000 SECTION "bank1f", DATA, BANK[$1f] - dr $7c000, $80000, 0 + dr $7c000, $80000 SECTION "bank20", DATA, BANK[$20] - dr $80000, $84000, 0 + dr $80000, $84000 SECTION "bank21", DATA, BANK[$21] - dr $84000, $88000, 0 + dr $84000, $88000 SECTION "bank22", DATA, BANK[$22] - dr $88000, $8c000, 0 + dr $88000, $8c000 SECTION "bank23", DATA, BANK[$23] - dr $8c000, $90000, 0 + dr $8c000, $90000 SECTION "bank24", DATA, BANK[$24] - dr $90000, $94000, 0 + dr $90000, $94000 SECTION "bank25", DATA, BANK[$25] - dr $94000, $98000, 0 + dr $94000, $98000 SECTION "bank26", DATA, BANK[$26] - dr $98000, $9c000, 0 + dr $98000, $9c000 SECTION "bank27", DATA, BANK[$27] - dr $9c000, $a0000, 0 + dr $9c000, $a0000 SECTION "bank28", DATA, BANK[$28] - dr $a0000, $a4000, 0 + dr $a0000, $a4000 SECTION "bank29", DATA, BANK[$29] - dr $a4000, $a8000, 0 + dr $a4000, $a8000 SECTION "bank2a", DATA, BANK[$2a] - dr $a8000, $ac000, 0 + dr $a8000, $ac000 SECTION "bank2b", DATA, BANK[$2b] - dr $ac000, $b0000, 0 + dr $ac000, $b0000 SECTION "bank2c", DATA, BANK[$2c] - dr $b0000, $b4000, 0 + dr $b0000, $b4000 SECTION "bank2d", DATA, BANK[$2d] - dr $b4000, $b8000, 0 + dr $b4000, $b8000 SECTION "bank2e", DATA, BANK[$2e] - dr $b8000, $bc000, 0 + dr $b8000, $bc000 SECTION "bank2f", DATA, BANK[$2f] - dr $bc000, $c0000, 0 + dr $bc000, $c0000 SECTION "bank30", DATA, BANK[$30] - dr $c0000, $c4000, 0 + dr $c0000, $c4000 SECTION "bank31", DATA, BANK[$31] - dr $c4000, $c8000, 0 + dr $c4000, $c8000 SECTION "bank32", DATA, BANK[$32] - dr $c8000, $cc000, 0 + dr $c8000, $cc000 SECTION "bank33", DATA, BANK[$33] - dr $cc000, $d0000, 0 + dr $cc000, $d0000 SECTION "bank34", DATA, BANK[$34] - dr $d0000, $d4000, 0 + dr $d0000, $d4000 SECTION "bank35", DATA, BANK[$35] - dr $d4000, $d8000, 0 + dr $d4000, $d8000 SECTION "bank36", DATA, BANK[$36] - dr $d8000, $dc000, 0 + dr $d8000, $dc000 SECTION "bank37", DATA, BANK[$37] - dr $dc000, $e0000, 0 + dr $dc000, $e0000 SECTION "bank38", DATA, BANK[$38] - dr $e0000, $e4000, 0 + dr $e0000, $e4000 SECTION "bank39", DATA, BANK[$39] - dr $e4000, $e8000, 0 + dr $e4000, $e8000 SECTION "bank3a", DATA, BANK[$3a] - dr $e8000, $ec000, 0 + dr $e8000, $ec000 SECTION "bank3b", DATA, BANK[$3b] - dr $ec000, $f0000, 0 + dr $ec000, $f0000 SECTION "bank3c", DATA, BANK[$3c] - dr $f0000, $f4000, 0 + dr $f0000, $f4000 SECTION "bank3d", DATA, BANK[$3d] - dr $f4000, $f8000, 0 + dr $f4000, $f8000 SECTION "bank3e", DATA, BANK[$3e] - dr $f8000, $fc000, 0 + dr $f8000, $fc000 SECTION "bank3f", DATA, BANK[$3f] - dr $fc000, $100000, 0 + dr $fc000, $100000 SECTION "bank40", DATA, BANK[$40] - dr $100000, $104000, 0 + dr $100000, $104000 SECTION "bank41", DATA, BANK[$41] - dr $104000, $108000, 0 + dr $104000, $108000 SECTION "bank42", DATA, BANK[$42] - dr $108000, $10c000, 0 + dr $108000, $10c000 SECTION "bank43", DATA, BANK[$43] - dr $10c000, $110000, 0 + dr $10c000, $110000 SECTION "bank44", DATA, BANK[$44] - dr $110000, $114000, 0 + dr $110000, $114000 SECTION "bank45", DATA, BANK[$45] - dr $114000, $118000, 0 + dr $114000, $118000 SECTION "bank46", DATA, BANK[$46] - dr $118000, $11c000, 0 + dr $118000, $11c000 SECTION "bank47", DATA, BANK[$47] - dr $11c000, $120000, 0 + dr $11c000, $120000 SECTION "bank48", DATA, BANK[$48] - dr $120000, $124000, 0 + dr $120000, $124000 SECTION "bank49", DATA, BANK[$49] - dr $124000, $128000, 0 + dr $124000, $128000 SECTION "bank4a", DATA, BANK[$4a] - dr $128000, $12c000, 0 + dr $128000, $12c000 SECTION "bank4b", DATA, BANK[$4b] - dr $12c000, $130000, 0 + dr $12c000, $130000 SECTION "bank4c", DATA, BANK[$4c] - dr $130000, $134000, 0 + dr $130000, $134000 SECTION "bank4d", DATA, BANK[$4d] - dr $134000, $138000, 0 + dr $134000, $138000 SECTION "bank4e", DATA, BANK[$4e] - dr $138000, $13c000, 0 + dr $138000, $13c000 SECTION "bank4f", DATA, BANK[$4f] - dr $13c000, $140000, 0 + dr $13c000, $140000 SECTION "bank50", DATA, BANK[$50] - dr $140000, $144000, 0 + dr $140000, $144000 SECTION "bank51", DATA, BANK[$51] - dr $144000, $148000, 0 + dr $144000, $148000 SECTION "bank52", DATA, BANK[$52] - dr $148000, $14c000, 0 + dr $148000, $14c000 SECTION "bank53", DATA, BANK[$53] - dr $14c000, $150000, 0 + dr $14c000, $150000 SECTION "bank54", DATA, BANK[$54] - dr $150000, $154000, 0 + dr $150000, $154000 SECTION "bank55", DATA, BANK[$55] - dr $154000, $158000, 0 + dr $154000, $158000 SECTION "bank56", DATA, BANK[$56] - dr $158000, $15c000, 0 + dr $158000, $15c000 SECTION "bank57", DATA, BANK[$57] - dr $15c000, $160000, 0 + dr $15c000, $160000 SECTION "bank58", DATA, BANK[$58] - dr $160000, $164000, 0 + dr $160000, $164000 SECTION "bank59", DATA, BANK[$59] - dr $164000, $168000, 0 + dr $164000, $168000 SECTION "bank5a", DATA, BANK[$5a] - dr $168000, $16c000, 0 + dr $168000, $16c000 SECTION "bank5b", DATA, BANK[$5b] - dr $16c000, $170000, 0 + dr $16c000, $170000 SECTION "bank5c", DATA, BANK[$5c] - dr $170000, $174000, 0 + dr $170000, $174000 SECTION "bank5d", DATA, BANK[$5d] - dr $174000, $178000, 0 + dr $174000, $178000 SECTION "bank5e", DATA, BANK[$5e] - dr $178000, $17c000, 0 + dr $178000, $17c000 SECTION "bank5f", DATA, BANK[$5f] - dr $17c000, $180000, 0 + dr $17c000, $180000 SECTION "bank60", DATA, BANK[$60] - dr $180000, $184000, 0 + dr $180000, $184000 SECTION "bank61", DATA, BANK[$61] - dr $184000, $188000, 0 + dr $184000, $188000 SECTION "bank62", DATA, BANK[$62] - dr $188000, $18c000, 0 + dr $188000, $18c000 SECTION "bank63", DATA, BANK[$63] - dr $18c000, $190000, 0 + dr $18c000, $190000 SECTION "bank64", DATA, BANK[$64] - dr $190000, $194000, 0 + dr $190000, $194000 SECTION "bank65", DATA, BANK[$65] - dr $194000, $198000, 0 + dr $194000, $198000 SECTION "bank66", DATA, BANK[$66] - dr $198000, $19c000, 0 + dr $198000, $19c000 SECTION "bank67", DATA, BANK[$67] - dr $19c000, $1a0000, 0 + dr $19c000, $1a0000 SECTION "bank68", DATA, BANK[$68] - dr $1a0000, $1a4000, 0 + dr $1a0000, $1a4000 SECTION "bank69", DATA, BANK[$69] - dr $1a4000, $1a8000, 0 + dr $1a4000, $1a8000 SECTION "bank6a", DATA, BANK[$6a] - dr $1a8000, $1ac000, 0 + dr $1a8000, $1ac000 SECTION "bank6b", DATA, BANK[$6b] - dr $1ac000, $1b0000, 0 + dr $1ac000, $1b0000 SECTION "bank6c", DATA, BANK[$6c] - dr $1b0000, $1b4000, 0 + dr $1b0000, $1b4000 SECTION "bank6d", DATA, BANK[$6d] - dr $1b4000, $1b8000, 0 + dr $1b4000, $1b8000 SECTION "bank6e", DATA, BANK[$6e] - dr $1b8000, $1bc000, 0 + dr $1b8000, $1bc000 SECTION "bank6f", DATA, BANK[$6f] - dr $1bc000, $1c0000, 0 + dr $1bc000, $1c0000 SECTION "bank70", DATA, BANK[$70] - dr $1c0000, $1c4000, 0 + dr $1c0000, $1c4000 SECTION "bank71", DATA, BANK[$71] - dr $1c4000, $1c8000, 0 + dr $1c4000, $1c8000 SECTION "bank72", DATA, BANK[$72] - dr $1c8000, $1cc000, 0 + dr $1c8000, $1cc000 SECTION "bank73", DATA, BANK[$73] - dr $1cc000, $1d0000, 0 + dr $1cc000, $1d0000 SECTION "bank74", DATA, BANK[$74] - dr $1d0000, $1d4000, 0 + dr $1d0000, $1d4000 SECTION "bank75", DATA, BANK[$75] - dr $1d4000, $1d8000, 0 + dr $1d4000, $1d8000 SECTION "bank76", DATA, BANK[$76] - dr $1d8000, $1dc000, 0 + dr $1d8000, $1dc000 SECTION "bank77", DATA, BANK[$77] - dr $1dc000, $1e0000, 0 + dr $1dc000, $1e0000 SECTION "bank78", DATA, BANK[$78] - dr $1e0000, $1e4000, 0 + dr $1e0000, $1e4000 SECTION "bank79", DATA, BANK[$79] - dr $1e4000, $1e8000, 0 + dr $1e4000, $1e8000 SECTION "bank7a", DATA, BANK[$7a] - dr $1e8000, $1ec000, 0 + dr $1e8000, $1ec000 SECTION "bank7b", DATA, BANK[$7b] - dr $1ec000, $1f0000, 0 + dr $1ec000, $1f0000 SECTION "bank7c", DATA, BANK[$7c] - dr $1f0000, $1f4000, 0 + dr $1f0000, $1f4000 SECTION "bank7d", DATA, BANK[$7d] - dr $1f4000, $1f8000, 0 + dr $1f4000, $1f8000 SECTION "bank7e", DATA, BANK[$7e] - dr $1f8000, $1fc000, 0 + dr $1f8000, $1fc000 SECTION "bank7f", DATA, BANK[$7f] - dr $1fc000, $200000, 0 + dr $1fc000, $200000 diff --git a/scan_includes.py b/scan_includes.py new file mode 100644 index 00000000..60929d3f --- /dev/null +++ b/scan_includes.py @@ -0,0 +1,35 @@ +#!/bin/python +# coding: utf-8 + +""" +Recursively scan an asm file for dependencies. +""" + +import sys +import argparse + +includes = set() + +def scan_file(filename): + for line in open(filename): + if 'INC' not in line: + continue + line = line.split(';')[0] + if 'INCLUDE' in line: + include = line.split('"')[1] + includes.add(include) + scan_file(include) + elif 'INCBIN' in line: + include = line.split('"')[1] + includes.add(include) + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument('filenames', nargs='*') + args = ap.parse_args() + for filename in set(args.filenames): + scan_file(filename) + sys.stdout.write(' '.join(includes)) + +if __name__ == '__main__': + main() @@ -1,11 +1,5 @@ INCLUDE "constants.asm" -SECTION "preheader", HOME - dr $0, $104, 1 - -SECTION "bank0", HOME[$150] - dr $150, $4000, 1 - SECTION "bank1", DATA, BANK[$1] dr $4000, $8000, 1 |