     engine.refresh();
     gameState.battleField.platform.setRect( 20, 56, 31, 58 );
     gameState.battleField.ball.setPoint( 25, 55);
-    gameState.battleField.ballX = gameState.battleField.ball.x << 1;
-    gameState.battleField.ballY = gameState.battleField.ball.y << 1;
-    gameState.battleField.ballSpeed.setPoint( 2, -2);
+    gameState.battleField.ballX = gameState.battleField.ball.x << PIX_BITS;
+    gameState.battleField.ballY = gameState.battleField.ball.y << PIX_BITS;
+    gameState.battleField.ballSpeed.setPoint( 3, -(1<<PIX_BITS) );
     engine.drawCallback( drawBattleField );
     engine.loopCallback( battleFieldLoop );
     loadLevel();

    {
        if (gameState.battleField.ball.x < gameState.battleField.platform.p1.x + 3)
        {
            gameState.battleField.ballSpeed.x = -2;
            gameState.battleField.ballSpeed.y = -gameState.battleField.ballSpeed.y;
        }
        else if (gameState.battleField.ball.x > gameState.battleField.platform.p2.x - 3)
        {
            gameState.battleField.ballSpeed.x = +2;
            gameState.battleField.ballSpeed.y = -gameState.battleField.ballSpeed.y;
        }
        else
        {
            gameState.battleField.ballSpeed.x = gameState.battleField.ballSpeed.x > 0 ? 1: -1;
            gameState.battleField.ballSpeed.y = -gameState.battleField.ballSpeed.y;
        }
        return true;

#include "arkanoid.h"
#include "levels.h"

#define PIX_BITS  2

NanoEngine8 engine;

static uint8_t g_level = 0;
