• R/O
  • HTTP
  • SSH
  • HTTPS

vaneosmain: コミット

VaneOSのメインGitリポジトリです。


コミットメタ情報

リビジョン4e2db9b253c2ab695b0896f766d510aaf6c7be85 (tree)
日時2014-10-25 23:58:01
作者vosystems <doradora.motochan@gmai...>
コミッターvosystems

ログメッセージ

Add environment function

変更サマリ

差分

--- /dev/null
+++ b/Kernel/Env.c
@@ -0,0 +1,21 @@
1+/*
2+*OS environment setting and function
3+*(C) 2014 VOSystems.
4+*/
5+#include<Env.h>
6+#include<string.h>
7+
8+struct EnvVarCommon env;
9+
10+void set_env(void)
11+{
12+ strcpy(env.OS_NAME,"Vane Operating System");
13+ strcpy(env.PC_NAME,"Vane-Alpha");
14+ strcpy(env.USER_NAME,"Vane");
15+ strcpy(env.LANG,"en-us");
16+ strcpy(env.SHELL,"Vane Shell");
17+ env.major=0;
18+ env.minor=4;
19+ env.build=1000;
20+ env.revision=env.build;
21+}
--- a/Kernel/Makefile
+++ b/Kernel/Makefile
@@ -43,9 +43,10 @@ TIMER_C=timer.c
4343 TASK_C=task.c
4444 TIME_C=time.c
4545 SCAN_C=scan.c
46+ENV_C=Env.c
4647
4748 #オブジェクト
48-BOOT_OBJ=${BOOT_S:.S=.o} ${BOOT_C:.c=.o} ${VANE_S:.S=.o} ${KEYBOARD_C:.c=.o} ${STDIO_C:.c=.o} ${GDT_IDT_C:.c=.o} ${INTERRUPT_C:.c=.o} ${STRING_C:.c=.o} ${ASM_INTERRUPT_S:.S=.o} ${SCANCODE_C:.c=.o} ${MEMMAN_C:.c=.o} ${FAT_C:.c=.o} ${GRAPHIC_C:.c=.o} ${SYSTEM_C:.c=.o} ${MESSAGE_C:.c=.o} ${TIMER_C:.c=.o} ${TASK_C:.c=.o} ${TIME_C:.c=.o} ${SCAN_C:.c=.o}
49+BOOT_OBJ=${BOOT_S:.S=.o} ${BOOT_C:.c=.o} ${VANE_S:.S=.o} ${KEYBOARD_C:.c=.o} ${STDIO_C:.c=.o} ${GDT_IDT_C:.c=.o} ${INTERRUPT_C:.c=.o} ${STRING_C:.c=.o} ${ASM_INTERRUPT_S:.S=.o} ${SCANCODE_C:.c=.o} ${MEMMAN_C:.c=.o} ${FAT_C:.c=.o} ${GRAPHIC_C:.c=.o} ${SYSTEM_C:.c=.o} ${MESSAGE_C:.c=.o} ${TIMER_C:.c=.o} ${TASK_C:.c=.o} ${TIME_C:.c=.o} ${SCAN_C:.c=.o} ${ENV_C:.c=.o}
4950
5051 kernel: ${BOOT_OBJ}
5152 ${LD} ${TARGET} ${BOOT_OBJ}
--- a/Kernel/System.c
+++ b/Kernel/System.c
@@ -2,9 +2,9 @@
22 *System Functions
33 *(C) 2014 VOSystems.
44 */
5-#include <stdio.h>
5+#include<stdio.h>
66 #include<VaneOS.h>
7-
7+#include<Env.h>
88 int vram_start_address;
99 char vmode;
1010 short scrnX,scrnY;
@@ -96,3 +96,10 @@ inline void shift_vga_text(void)
9696 sc1=0xb8000; sc2=0xb8000+(80*2);
9797 while(sc2<=0xc0000)*sc1++ = *sc2++;
9898 }
99+
100+inline void printVersion(void)
101+{
102+ printf("Vane Operating System [Version %d.%d(build %d)]\n",env.major, env.minor, env.build);
103+ printf("Vane Shell [Version 0.2(build 100)]\n");
104+ printf("Copyright (C) 2013-2014 VaneOS Project. All rights reserved.\n");
105+}
--- a/Kernel/boot.c
+++ b/Kernel/boot.c
@@ -25,6 +25,7 @@
2525 #include<Message.h>
2626 #include<timer.h>
2727 #include<System.h>
28+#include<Env.h>
2829
2930 /*PROTOTYPE*/
3031 void outPortByte( unsigned short address, unsigned char value );
@@ -53,15 +54,16 @@ void cstart(unsigned long magic, unsigned long addr)
5354
5455 mbi = (multiboot_info_t *) addr;
5556
56- //ClearScreen();
5757 vga_text_init();
5858 break_flag=0; system_key_code_flag=0;
5959 screen=(unsigned short*)0xb8000;//VRam Setting
6060 attr=WHITE;
6161
62+ set_env();
63+
6264 /*Start Set Main Code*/
63- printf("VOSystems Vane Operating System [Version 0.5(build 1000)]\n");
64- printf("VOSystems Console Host [Version 0.2(build 100)]\n");
65+ printVersion();
66+ putchar('\n');
6567
6668 /*Setting IDT*/
6769 printTASK("Setting IDT.....");
@@ -156,7 +158,7 @@ void cstart(unsigned long magic, unsigned long addr)
156158
157159 }else if(strcmp("vane",cmd)==0){
158160 attr=CH_BLUE;
159- printf("Vane Operating System\n");
161+ printVersion();
160162 attr=WHITE;
161163
162164 }else{
--- a/Kernel/string.c
+++ b/Kernel/string.c
@@ -38,8 +38,7 @@ void strcpy(char* copy,const char* source)
3838 {
3939 while(*source!='\0')
4040 {
41- *copy=*source;
42- ++copy; ++source;
41+ *copy++ =*source++;
4342 }
4443 *copy='\0';
4544 return;
Binary files a/bin/Kernel.vsb and b/bin/Kernel.vsb differ
--- /dev/null
+++ b/include/Env.h
@@ -0,0 +1,17 @@
1+/*
2+*OS environment setting and function
3+*(C) 2014 VOSystems.
4+*/
5+
6+#ifndef _ENV_H_VANE_
7+#define _ENV_H_VANE_
8+
9+struct EnvVarCommon
10+{
11+ char* OS_NAME, PC_NAME, USER_NAME , LANG, SHELL;
12+ unsigned int major, minor, build, revision;
13+};
14+
15+extern struct EnvVarCommon env;
16+
17+#endif
--- /dev/null
+++ b/include/Env.h~
@@ -0,0 +1,17 @@
1+/*
2+*OS environment setting and function
3+*(C) 2014 VOSystems.
4+*/
5+
6+#ifndef _ENV_H_VANE_
7+#define _ENV_H_VANE_
8+
9+struct EnvVarCommon
10+{
11+ char* PC_NAME, OS_NAME, USER_NAME , LANG, SHELL;
12+ unsigned int major, minor, build, revision;
13+};
14+
15+extern struct EnvVarCommon env;
16+
17+#endif
旧リポジトリブラウザで表示