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(); } }
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; }