#include<stdio.h>
#include<scancode.h>
#include<memory.h>
+#include<Graphic.h>
/*PROTOTYPE*/
void outPortByte( unsigned short address, unsigned char value );
puts("KernelShell/Root/>");
scanf("%s",&cmd);
printf("%s",cmd);
- if(strcmp(cmd,"halt")==0)return;
+
+ ClearScreen_Graphic();
+ ClearScreen();
+
+ int vram_addr;
+
+ for(vram_addr=0xa0000;vram_addr<0xaffff;vram_addr++)
+ {
+ write_mem8(vram_addr,15/*vram_addr & 0x0f*/);
+ //*vram_addr=(unsigned char)vram_addr & 0x0f;
+ }
+
while(1)hlt();
return;
}
+++ /dev/null
-/* boot.S - bootstrap the kernel */
-/* Copyright (C) 1999, 2001 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define ASM_FILE 1
-#include <multiboot.h>
-
-/* C symbol format. HAVE_ASM_USCORE is defined by configure. */
-#ifdef HAVE_ASM_USCORE
-# define EXT_C(sym) _ ## sym
-#else
-# define EXT_C(sym) sym
-#endif
-
-/* The size of our stack (16KB). */
-#define STACK_SIZE 0x4000
-
-/* The flags for the Multiboot header. */
-#ifdef __ELF__
-# define MULTIBOOT_HEADER_FLAGS 0x00000003
-#else
-# define MULTIBOOT_HEADER_FLAGS 0x00010003
-#endif
-
- .text
-
- .globl start, _start
-start:
-_start:
- jmp multiboot_entry
-
- /* Align 32 bits boundary. */
- .align 4
-
- /* Multiboot header. */
-multiboot_header:
- /* magic */
- .long MULTIBOOT_HEADER_MAGIC
- /* flags */
- .long MULTIBOOT_HEADER_FLAGS
- /* checksum */
- .long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
-#ifndef __ELF__
- /* header_addr */
- .long multiboot_header
- /* load_addr */
- .long _start
- /* load_end_addr */
- .long _edata
- /* bss_end_addr */
- .long _end
- /* entry_addr */
- .long multiboot_entry
-#endif /* ! __ELF__ */
-
-multiboot_entry:
- /* Initialize the stack pointer. */
- movl $(stack + STACK_SIZE), %esp
-
- /* Reset EFLAGS. */
- pushl $0
- popf
-
- /* Push the pointer to the Multiboot information structure. */
- pushl %ebx
- /* Push the magic value. */
- pushl %eax
-
- /* Now enter the C main function... */
- call EXT_C(cstart)
- RET
- /* Halt. */
- pushl $halt_message
- call EXT_C(printf)
-
-loop: hlt
- jmp loop
-
-halt_message:
- .asciz "Halted."
-
- /* Our stack area. */
- .comm stack, STACK_SIZE
#ifndef VANEOS_H
#define VANEOS_H
+vane_io_cli();
+vane_io_sti();
+write_mem_8();
+
/*DEFINE COMMON*/
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
+typedef unsigned long long u_int8_t;
+typedef unsigned int u_int4_t;
+typedef unsigned short u_int2_t;
+typedef unsigned short u_int1_t;
+
#define ADR_BOOTINFO 0x00000ff0
#define ADR_DISKIMG 0x00100000
#define FAT_DISK_PLASE 0x00020000
#ifndef VANEOS_H
#define VANEOS_H
+vane_io_cli();
+vane_io_sti();
+
/*DEFINE COMMON*/
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
+typedef unsigned long long u_int8_t;
+typedef unsigned int u_int4_t;
+typedef unsigned short u_int2_t;
+typedef unsigned short u_int1_t;
+
#define ADR_BOOTINFO 0x00000ff0
#define ADR_DISKIMG 0x00100000
#define FAT_DISK_PLASE 0x00020000
#define BPB_SECTOR 63
#define SECTOR_SIZE 512
-#define EX_CHAR-SHORT(source) (unsigned short)(*source++ <<8) | *source++
+#define EX_CHAR_SHORT(source) (unsigned short)(*source++ <<8) | *source++
typedef struct
{