2020-06-05 12:24:03 +00:00
|
|
|
#include "th01/sprites/pellet.h"
|
2020-03-27 21:12:18 +00:00
|
|
|
|
2020-07-06 19:43:55 +00:00
|
|
|
extern const dots16_t sPELLET[PELLET_CELS][PRESHIFT][PELLET_H];
|
|
|
|
|
2020-08-20 19:59:45 +00:00
|
|
|
void pascal near pellet_render(screen_x_t left, vram_y_t top)
|
2020-03-27 21:12:18 +00:00
|
|
|
{
|
|
|
|
_ES = SEG_PLANE_B;
|
|
|
|
_BX = _BX; // Keeps any parameters from being put into BX
|
2023-03-24 01:33:26 +00:00
|
|
|
_DI = vram_offset_shift_fast(left, top);
|
2022-06-12 14:14:24 +00:00
|
|
|
_SI = reinterpret_cast<uint16_t>(sPELLET[0][left & BYTE_MASK]);
|
2023-03-24 01:33:26 +00:00
|
|
|
_CX = PELLET_H;
|
2020-03-27 21:12:18 +00:00
|
|
|
put_loop: {
|
2022-02-12 16:29:37 +00:00
|
|
|
asm { movsw; }
|
2023-03-24 01:26:45 +00:00
|
|
|
vram_offset_add_and_roll(_DI, (ROW_SIZE - sizeof(dots16_t)));
|
|
|
|
asm { loop put_loop; }
|
2020-03-27 21:12:18 +00:00
|
|
|
}
|
|
|
|
}
|