Not directly related to the problem earlier, but why start a new thread. I saw that I had something like:
Code:
SpriteBuf1: .res $200
SpriteBuf1Size= *-SpriteBuf1
So I went and replaced every instance of SpriteBuf1Size with *-SpriteBuf1. I also had something that was SpriteBuf1Size+SpriteBuf2Size, that was just called "SpriteBufSize". It was being used at this "assert" that I noticed:
Code:
.assert (SpriteBufSize < $10000), error, "SpriteBufs area too big for SNES DMA transfer"
So I changed it to this:
Code:
.assert (*-SpriteBuf1+*-SpriteBuf2 < $10000), error, "SpriteBufs area too big for SNES DMA transfer"
However, for some reason unknown to me, it triggers the error. Is this not right? There's no way it could be too big:
Code:
SpriteBuf1: .res $200 ;Sprite buffer for OAM DMA, 512 ($200) bytes
SpriteBuf2: .res $20 ;Sprite buffer for OAM DMA, 32 ($20) bytes
Actually, wait, what? (referring to "*")
Quote:
whatever the assembler thinks PC or the current 16-bit address is
How does this minus where something is equal the size of something?