How to draw pixel at specific location on the buffer?

I’m sorry I should’ve posted the whole code so you know the cause of the error.

Here is my current code:

PImage pi;

int black = 0;
int white = 255;
int r;
char shifter = 0x80;
void setup() {
  background(0);
  size(1280, 640);
  pi = createImage(128, 64, RGB); 
  scale(10);
  pi.loadPixels();
  r = 0;
  for (int y = 0; y < 8192; y++ ) { 
      if ((BMP[y*8]) & (shifter)){
        pi.pixels[y] = color(white);
      }
      else {
        pi.pixels[y] = color(black);
      }
  }
  pi.updatePixels();
  image(pi, 0, 0);
  noSmooth();
}

And this is part of the array I want to bit test it:

char BMP [] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,
0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,

It’s 1024 bytes, so I’m testing this code now in C compiler and it’s working. But how to do that in Processing ?

I’m sorry I’m a bit noob so I move slowly, the bit bang isn’t my final goal.

My final goal is to know how a bitmap is draw on a computer output window.