Actually, I was trying to use the behavior of the dolphin jumping left to right. So, the graphic would be wide rather than tall. I was able to achieve this partially on my own. I added a tilemap3. But I still have some problems.
The "tail" part grabs tiles too far and shows the tiles of other sprites. Also, when jumping to from right to left, as dolphins do, the tiles just flip rather than change order.
Here's my attempt at modifying the code:
Code%GetDrawInfo()
LDA !157C,x
STA $02
REP #$20
LDA $00
STA $0300|!Base2,y
CLC
ADC #$010 ; put the second tile 16 pixels below the first
STA $0304|!Base2,y
CLC
ADC #$000A
STA $0308|!Base2,y
SEP #$20
LDA $14
LSR #3
AND #$01
TAX
LDA Tilemap,x
STA $0302|!Base2,y
LDA Tilemap2,x
STA $0306|!Base2,y
LDA Tilemap3,x
STA $030A|!Base2,y
LDX $02
LDA Props,x
LDX $15E9|!Base2
ORA !15F6,x
ORA $64
STA $0303|!Base2,y
STA $0307|!Base2,y
STA $030B|!Base2,y
LDY #$02
LDA #$02
JSL $01B7B3
RTS
Here's a visual:
https://imgur.com/gallery/UVHgLIH
Is there an address that completely flips tile order? And Would I need to change the "LDA" address that dictates how much tiles each piece of the sprite loads? Also would it have just been easier to write a damage routine in the dolphin disassembly?