Import backup from 2004-08-06
This commit is contained in:
parent
cd02211b21
commit
b9c77827bd
@ -21,9 +21,6 @@ int console_init(u32_t num, int width, int height)
|
|||||||
{
|
{
|
||||||
activeConsole = 0;
|
activeConsole = 0;
|
||||||
dev_driver_t *console_driver = New(dev_driver_t);
|
dev_driver_t *console_driver = New(dev_driver_t);
|
||||||
console_driver->block_read = NULL;
|
|
||||||
console_driver->block_write = NULL;
|
|
||||||
console_driver->char_read = NULL;
|
|
||||||
console_driver->char_write = console_char_write;
|
console_driver->char_write = console_char_write;
|
||||||
devices_register_major('c', MAJOR_CONSOLE, console_driver);
|
devices_register_major('c', MAJOR_CONSOLE, console_driver);
|
||||||
kfree(console_driver);
|
kfree(console_driver);
|
||||||
@ -33,14 +30,9 @@ int console_init(u32_t num, int width, int height)
|
|||||||
{
|
{
|
||||||
if (( consoles[num]->buffer = kmalloc(width * height) ))
|
if (( consoles[num]->buffer = kmalloc(width * height) ))
|
||||||
{
|
{
|
||||||
consoles[num]->cursorPosition = 0;
|
|
||||||
consoles[num]->width = width;
|
consoles[num]->width = width;
|
||||||
consoles[num]->height = height;
|
consoles[num]->height = height;
|
||||||
consoles[num]->cursorStackPosition = 0;
|
consoles[num]->attribute = consoles[num]->foreground = 0x07;
|
||||||
consoles[num]->escapeLevel = 0;
|
|
||||||
consoles[num]->escapePosition = 0;
|
|
||||||
memsetd(consoles[num]->escapeValue, 0, 8);
|
|
||||||
consoles[num]->attribute = 0x07;
|
|
||||||
memsetw(consoles[num]->buffer, 0x0720, width * height);
|
memsetw(consoles[num]->buffer, 0x0720, width * height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -156,8 +148,12 @@ int console_char_write(minor_t id, u64_t position, int c)
|
|||||||
consoles[id]->attribute = 0x07;
|
consoles[id]->attribute = 0x07;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
|
consoles[id]->attribute |= 0x08;
|
||||||
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
|
consoles[id]->attribute |= 0x80;
|
||||||
case 7:
|
case 7:
|
||||||
|
|
||||||
case 30:
|
case 30:
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,12 @@ typedef struct
|
|||||||
u16_t *buffer;
|
u16_t *buffer;
|
||||||
u16_t cursorStack[16];
|
u16_t cursorStack[16];
|
||||||
u8_t attribute;
|
u8_t attribute;
|
||||||
|
u8_t foreground;
|
||||||
|
u8_t background;
|
||||||
|
u8_t bold;
|
||||||
|
u8_t reverse;
|
||||||
|
u8_t blink;
|
||||||
|
u8_t concealed;
|
||||||
u8_t cursorStackPosition;
|
u8_t cursorStackPosition;
|
||||||
char escapeLevel;
|
char escapeLevel;
|
||||||
char escapePosition;
|
char escapePosition;
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
#define NULL 0
|
#define NULL 0
|
||||||
|
|
||||||
#define New(x) kmalloc(sizeof(x))
|
#define New(x) kcalloc(1, sizeof(x))
|
||||||
|
|
||||||
typedef unsigned long long u64_t;
|
typedef unsigned long long u64_t;
|
||||||
typedef unsigned int u32_t;
|
typedef unsigned int u32_t;
|
||||||
|
@ -89,13 +89,20 @@ void k_init()
|
|||||||
mm_init();
|
mm_init();
|
||||||
vmm_init();
|
vmm_init();
|
||||||
devices_init();
|
devices_init();
|
||||||
console_init(6, 80, 25);
|
// console_init(6, 80, 25);
|
||||||
console_activate(1);
|
// console_activate(1);
|
||||||
if (real_mode_module)
|
if (real_mode_module)
|
||||||
{
|
{
|
||||||
kprintf("Real mode module present\n");
|
kprintf("Real mode module present\n");
|
||||||
}
|
}
|
||||||
|
u16_t *vidMem = (u16_t *)CONSOLE_MEMORY;
|
||||||
|
u16_t i;
|
||||||
|
for (i = 0; i < 256; i++)
|
||||||
|
{
|
||||||
|
*vidMem++ = (i << 8) | '*';
|
||||||
|
if (((u32_t)vidMem % 32) == 0)
|
||||||
|
vidMem += 64;
|
||||||
|
}
|
||||||
criticalCounter--;
|
criticalCounter--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,10 +38,10 @@ typedef struct {
|
|||||||
|
|
||||||
|
|
||||||
void vmm_init();
|
void vmm_init();
|
||||||
void *kmalloc(u32_t size);
|
void *kmalloc(u32_t size);
|
||||||
int kfree(void *addr);
|
int kfree(void *addr);
|
||||||
void *vmm_palloc();
|
void *vmm_palloc();
|
||||||
int vmm_pfree(void *addr);
|
int vmm_pfree(void *addr);
|
||||||
void *kcalloc(unsigned int number, unsigned int size);
|
void *kcalloc(unsigned int number, unsigned int size);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user