; ; Jump table initialisation ; ; r1: sprite id ; r2: pointer address ; r3: pointer value ; sprite_empty add r1, zr, sprites.empty lsl r2, r1, arch.instruction_increment_shift add r2, r2, ptr.textures_addresses add r3, zr, sprite_empty store_32 [r2], r3 ; sprite_unimplemented add r1, zr, sprites.unimplemented lsl r2, r1, arch.instruction_increment_shift add r2, r2, ptr.textures_addresses add r3, zr, sprite_unimplemented store_32 [r2], r3 ; sprite_wall_end add r1, zr, sprites.wall_end lsl r2, r1, arch.instruction_increment_shift add r2, r2, ptr.textures_addresses add r3, zr, sprite_wall_end store_32 [r2], r3 ; sprite_wall_straight add r1, zr, sprites.wall_straight lsl r2, r1, arch.instruction_increment_shift add r2, r2, ptr.textures_addresses add r3, zr, sprite_wall_straight store_32 [r2], r3 ; sprite_wall_corner add r1, zr, sprites.wall_corner lsl r2, r1, arch.instruction_increment_shift add r2, r2, ptr.textures_addresses add r3, zr, sprite_wall_corner store_32 [r2], r3 ; sprite_robot add r1, zr, sprites.robot lsl r2, r1, arch.instruction_increment_shift add r2, r2, ptr.textures_addresses add r3, zr, sprite_robot store_32 [r2], r3 ; sprite_ghost add r1, zr, sprites.ghost lsl r2, r1, arch.instruction_increment_shift add r2, r2, ptr.textures_addresses add r3, zr, sprite_ghost store_32 [r2], r3 ; sprite_coin add r1, zr, sprites.coin lsl r2, r1, arch.instruction_increment_shift add r2, r2, ptr.textures_addresses add r3, zr, sprite_coin store_32 [r2], r3 ; ; Screen initialization ; ; r1 = screen parameter value mov r1, screen.mode_index screen r1, screen.mode_value mov r1, screen.offset_index add r2, zr, ptr.screen screen r1, r2 mov r1, screen.resolution_index screen r1, screen.resolution_value