GfxFixer:
{
    lda DRMode : bne +
        jsl LoadRoomHook ;this is the code we overwrote
        jsl Dungeon_InitStarTileCh
        jsl LoadTransAuxGfx_Alt
        inc $b0
        rtl
    + lda $b1 : bne .stage2
    jsl LoadRoomHook ; this is the rando version - let's only call this guy once - may fix star tiles and slower loads
    jsl Dungeon_InitStarTileCh
    jsl LoadTransAuxGfx
    jsl Dungeon_LoadCustomTileAttr
    jsl PrepTransAuxGfx
    lda DRMode : cmp #$02 : bne + ; only do this in crossed mode
        ldx $a0 : lda TilesetTable, x
        cmp $0aa1 : beq + ; already eq no need to decomp
            sta $0aa1
            tax : lda $02802e, x : tay
            jsl DecompDungAnimatedTiles
    +
    lda #$09 : sta $17 : sta $0710
    jsl Palette_SpriteAux3
    jsl Palette_SpriteAux2
    jsl Palette_SpriteAux1
    jsl Palette_DungBgMain
    jsr CgramAuxToMain
    inc $b1
    rtl
    .stage2
    lda #$0a : sta $17 : sta $0710
    stz $b1 : inc $b0
    rtl
}

CgramAuxToMain: ; ripped this from bank02 because it ended with rts
{
    rep #$20
    ldx.b #$00

    .loop
    lda $7EC300, X : sta $7EC500, x
    lda $7EC340, x : sta $7EC540, x
    lda $7EC380, x : sta $7EC580, x
    lda $7EC3C0, x : sta $7EC5C0, x
    lda $7EC400, x : sta $7EC600, x
    lda $7EC440, x : sta $7EC640, x
    lda $7EC480, x : sta $7EC680, x
    lda $7EC4C0, x : sta $7EC6C0, x

    inx #2 : cpx.b #$40 : bne .loop
    sep #$20

    ; tell NMI to upload new CGRAM data
    inc $15
    rts
}