You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
.printf "%08X", irqNone // the location in IWRAM
.printf "%08X", irqNone._rom // the location in ROM
.printf "%d", irqNone._bytes // the size of the code
So it is up to the user to memcpy the function from ROM to IWRAM, then they can bl irqNone.
Larger blocks should be supported, and layering too (eventually):
.begin iwramCode = iwram(-1) // all layers
.include './saveCopy.gvasm'
.include './sndFrame.gvasm'
.embed './silence.gvsong'
.end
.begin iwramTemp = iwram(1) // layer 1 only
.include './saveInit.gvasm'
.include './sndInit.gvasm'
.end
.struct Player = iwram(2) // layer 2 only
.i32 health
.end
This means Player will overlap iwramTemp. Also, you can copy all of iwramCode in one memcpy.
Then, iwramCode.saveCopy should point to RAM. Maybe there should be iwramCopy._rom.saveCopy too.
The text was updated successfully, but these errors were encountered:
Now that we can allocate structs to IWRAM or EWRAM, it would be nice to have the equivalent for code:
This should expose:
So it is up to the user to memcpy the function from ROM to IWRAM, then they can
bl irqNone
.Larger blocks should be supported, and layering too (eventually):
This means
Player
will overlapiwramTemp
. Also, you can copy all ofiwramCode
in one memcpy.Then,
iwramCode.saveCopy
should point to RAM. Maybe there should beiwramCopy._rom.saveCopy
too.The text was updated successfully, but these errors were encountered: