Refactoring assembly entry point
This commit is contained in:
@@ -1,63 +1,63 @@
|
||||
/**************************************
|
||||
* VulcanOS Kernel *
|
||||
* Developed by Marco 'icebit' Cetica *
|
||||
* (c) 2019-2021 *
|
||||
* Released under GPLv3 *
|
||||
* https://github.com/ice-bit/iceOS *
|
||||
***************************************/
|
||||
#ifndef _TTY_H_
|
||||
#define _TTY_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
// TODO: write something about Frame Buffer
|
||||
|
||||
// VGA colors
|
||||
enum TTY_COLORS {
|
||||
BLACK, // 0
|
||||
BLUE,
|
||||
GREEN,
|
||||
CYAN,
|
||||
RED,
|
||||
MAGENTA,
|
||||
BROWN,
|
||||
LIGHT_GREY,
|
||||
DARK_GREY,
|
||||
LIGHT_BLUE,
|
||||
LIGHT_GREEN,
|
||||
LIGHT_CYAN,
|
||||
LIGHT_RED,
|
||||
LIGHT_MAGENTA,
|
||||
LIGHT_BROWN,
|
||||
WHITE // 15
|
||||
};
|
||||
|
||||
/* Framebuffer properties */
|
||||
#define VIDEO_MEM_ADDR 0x000B8000 // frame buffer address
|
||||
#define VGA_WIDTH 80
|
||||
#define VGA_HEIGHT 25
|
||||
|
||||
/* VGA I/O ports */
|
||||
#define VGA_CMD_PORT 0x3D4
|
||||
#define VGA_DATA_PORT 0x3D5
|
||||
|
||||
/* VGA I/O ports commands */
|
||||
#define VGA_HIGH_BYTE 14
|
||||
#define VGA_LOW_BYTE 15
|
||||
|
||||
/* Kernel's VGA API */
|
||||
void write_cell(int16_t i, uint8_t c, uint8_t fg, uint8_t bg);
|
||||
void move_cursor(uint16_t pos);
|
||||
void cursor_adv();
|
||||
void backspace();
|
||||
void kprint_c(uint8_t *buf, uint32_t len, uint8_t fg, uint8_t bg);
|
||||
void kprint(uint8_t *buf);
|
||||
void kprint_dec(uint32_t num);
|
||||
void init_prompt();
|
||||
void clear_prompt();
|
||||
void clear_row(uint8_t row);
|
||||
void scroll(); // Scroll one row
|
||||
void newline();
|
||||
void tab();
|
||||
|
||||
#endif
|
||||
/*****************************************
|
||||
* VulcanOS Kernel *
|
||||
* Developed by Marco 'icebit' Cetica *
|
||||
* (c) 2019-2021 *
|
||||
* Released under GPLv3 *
|
||||
* https://github.com/ice-bit/vulcanos *
|
||||
*****************************************/
|
||||
#ifndef _TTY_H_
|
||||
#define _TTY_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
// TODO: write something about Frame Buffer
|
||||
|
||||
// VGA colors
|
||||
enum TTY_COLORS {
|
||||
BLACK, // 0
|
||||
BLUE,
|
||||
GREEN,
|
||||
CYAN,
|
||||
RED,
|
||||
MAGENTA,
|
||||
BROWN,
|
||||
LIGHT_GREY,
|
||||
DARK_GREY,
|
||||
LIGHT_BLUE,
|
||||
LIGHT_GREEN,
|
||||
LIGHT_CYAN,
|
||||
LIGHT_RED,
|
||||
LIGHT_MAGENTA,
|
||||
LIGHT_BROWN,
|
||||
WHITE // 15
|
||||
};
|
||||
|
||||
/* Framebuffer properties */
|
||||
#define VIDEO_MEM_ADDR 0x000B8000 // frame buffer address
|
||||
#define VGA_WIDTH 80
|
||||
#define VGA_HEIGHT 25
|
||||
|
||||
/* VGA I/O ports */
|
||||
#define VGA_CMD_PORT 0x3D4
|
||||
#define VGA_DATA_PORT 0x3D5
|
||||
|
||||
/* VGA I/O ports commands */
|
||||
#define VGA_HIGH_BYTE 14
|
||||
#define VGA_LOW_BYTE 15
|
||||
|
||||
/* Kernel's VGA API */
|
||||
void write_cell(int16_t i, uint8_t c, uint8_t fg, uint8_t bg);
|
||||
void move_cursor(uint16_t pos);
|
||||
void cursor_adv();
|
||||
void backspace();
|
||||
void kprint_c(uint8_t *buf, uint32_t len, uint8_t fg, uint8_t bg);
|
||||
void kprint(uint8_t *buf);
|
||||
void kprint_dec(uint32_t num);
|
||||
void init_prompt();
|
||||
void clear_prompt();
|
||||
void clear_row(uint8_t row);
|
||||
void scroll(); // Scroll one row
|
||||
void newline();
|
||||
void tab();
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user