Exemple #1
0
void console_putchar(char c)
{
  if (c==0) return;
  switch(c)
    {
    case '\n':
      column = 0;
      row++;
      break;
    default:
      row_buffer(row)[2+column] = parity(c);
      column++;
      break;
    }
  if(column >= 40)
    {
      column = 0;
      row++;
    }

  if((row > 0) && ((row%NROWS) == first_row))
    {
      row %= NROWS;
      first_row++;
      first_row %= NROWS;
      console_clear_buffer(row);
      move_rows();
    }
}
Exemple #2
0
void console_clear()
{

  uint8_t i,j;

  for(i=1; i<NBUFFERS; i++)
    for(j=2; j<42; j++)
      tt_buffer[i][j] = ' '; // NOTE: parity(' ') == ' '

  first_row = 0;
  column = 0;
  row = 0;
  move_rows();
  //test();

}
int main(){
  int *rows;

  Ledger *ledger = NULL;
  printf("0 RET = %d\n", move_rows(ledger, NULL, 0, 0));
  
  get_ledger(&ledger, F, NULL, NULL);
  
  rows = malloc(3 * sizeof(int));
    
  rows[0] = 3; 
  rows[1] = 8;  
  rows[2] = 9;  
  
  print_ledger_to_stream(ledger, stdout);
  printf("1 RET = %d\n", move_rows(ledger, rows, 3, 0));
  print_ledger_to_stream(ledger, stdout);
 
  rows[0] = 0; 
  rows[1] = 2;  
  rows[2] = 1;  
  printf("2 RET = %d\n", move_rows(ledger, rows, 3, ledger->nrows));
    print_ledger_to_stream(ledger, stdout);
  
  rows[0] = 4; 
  rows[1] = 6;  
  rows[2] = 3;  
  
  printf("3 RET = %d\n", move_rows(ledger, rows, 3, 0));
    print_ledger_to_stream(ledger, stdout);
  free_ledger(&ledger); 

  get_ledger(&ledger, "../data/ledgers/empty.txt", NULL, NULL);
  printf("4 RET = %d\n", move_rows(ledger, rows, 3, 0));  
  printf("5 RET = %d\n", move_rows(ledger, rows, 3, 4));    
  free_ledger(&ledger);
  
  free(rows);

  
  return 0;
}