Skip to content

Commit 4e715eb

Browse files
committed
last of milestone 1
1 parent a545083 commit 4e715eb

File tree

2 files changed

+39
-37
lines changed

2 files changed

+39
-37
lines changed

src/bmpToBin.c

Lines changed: 0 additions & 17 deletions
This file was deleted.

src/kernel.c

Lines changed: 39 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,18 @@ void clear(char *buffer, int length);
55
void printLogo();
66
void lineLogo(char * string, int y);
77

8-
#define VIDMEM 0xB000
9-
#define OFFSET 0x8000
8+
#define VIDMEM 0xA000
9+
#define SCREEN_WIDTH 320
10+
#define BLUE 0x9
11+
#define YELLOW 0xE
12+
#define WHITE 0xF
1013

1114
int main() {
1215
char tes[16];
13-
interrupt(0x10, 0x0003, 0, 0, 0);
16+
interrupt(0x10, 0x0013, 0, 0, 0);
1417
printLogo();
15-
interrupt(0x10, 0x0200, 0 , 0, 0x0C00);
18+
interrupt(0x15, 0x8600, 0, 5, 0);
19+
interrupt(0x10, 0x0003, 0, 0, 0x0C00);
1620
printString("Masukkan input : ");
1721
readString(tes);
1822
printString(tes);
@@ -35,7 +39,7 @@ void handleInterrupt21 (int AX, int BX, int CX, int DX){
3539

3640
void printString(char *string) {
3741
while (*string != '\0') {
38-
interrupt(0x10, 0xe * 256 + *string, 0, 0, 0);
42+
interrupt(0x10, 0xE * 256 + *string, 0, 0, 0);
3943
string++;
4044
}
4145
}
@@ -63,33 +67,48 @@ void clear(char *buffer, int length) {
6367
}
6468

6569
void printLogo() {
66-
lineLogo(" `...........` `...` ...` `.....`` `..` `..`",0);
67-
lineLogo(" `...........` `...` ...` `.....`` `..` `..`",1);
68-
lineLogo(" ..............` `.... `.... `.........` .... `....",2);
69-
lineLogo(" .....`````..... `.... `.... ....` ``` .... `....",3);
70-
lineLogo(" ..--` `.... `.... ..... .....`` ....``` `....",4);
71-
lineLogo(" //ooo+:-...-:////. -:-.. :o/:. `../+oo/. ..-/+oo+:-",5);
72-
lineLogo(" +ooo+//:-:::.` /oo+: /ooo/ `-/oooo+``+ooooooooo+//",6);
73-
lineLogo(" +ooo: ``````. -ooo+` `/ooo: .+ooo:`oooo.```-ooo+",7);
74-
lineLogo(" +ooo: -------. /ooo+:-:+ooo/``/+/:-:+ooo.`ooo+` -ooo+",8);
75-
lineLogo(" /ooo- +++++:.-. `-+ooooooo+-` `+ooooooo+- `ooo+` .ooo/",9);
76-
lineLogo(" `-:. .++++++:--.` ``.-:-.`` `` ``.-::-.` ` `--` `. .--`",10);
70+
lineLogo(" ",0);
71+
lineLogo(" ",1);
72+
lineLogo(" `...........` `...` ...` `.....`` `..` `..` ",2);
73+
lineLogo(" `...........` `...` ...` `.....`` `..` `..` ",3);
74+
lineLogo(" `...........` `...` ...` `.....`` `..` `..` ",4);
75+
lineLogo(" `...........` `...` ...` `.....`` `..` `..` ",5);
76+
lineLogo(" ..............` `.... `.... `.........` .... `.... ",6);
77+
lineLogo(" ..............` `.... `.... `.........` .... `.... ",7);
78+
lineLogo(" .....`````..... `.... `.... ....` ``` .... `.... ",8);
79+
lineLogo(" .....`````..... `.... `.... ....` ``` .... `.... ",9);
80+
lineLogo(" ..--` `.... `.... ..... .....`` ....``` `.... ",10);
81+
lineLogo(" ..--` `.... `.... ..... .....`` ....``` `.... ",11);
82+
lineLogo(" //ooo+:-...-:////. -:-.. :o/:. `../+oo/. ..-/+oo+:- ",12);
83+
lineLogo(" //ooo+:-...-:////. -:-.. :o/:. `../+oo/. ..-/+oo+:- ",13);
84+
lineLogo(" +ooo+//:-:::.` /oo+: /ooo/ `-/oooo+``+ooooooooo+// ",14);
85+
lineLogo(" +ooo+//:-:::.` /oo+: /ooo/ `-/oooo+``+ooooooooo+// ",15);
86+
lineLogo(" +ooo: ``````. -ooo+` `/ooo: .+ooo:`oooo.```-ooo+ ",16);
87+
lineLogo(" +ooo: ``````. -ooo+` `/ooo: .+ooo:`oooo.```-ooo+ ",17);
88+
lineLogo(" +ooo: -------. /ooo+:-:+ooo/``/+/:-:+ooo.`ooo+` -ooo+ ",18);
89+
lineLogo(" +ooo: -------. /ooo+:-:+ooo/``/+/:-:+ooo.`ooo+` -ooo+ ",19);
90+
lineLogo(" /ooo- +++++:.-. `-+ooooooo+-` `+ooooooo+- `ooo+` .ooo/ ",20);
91+
lineLogo(" /ooo- +++++:.-. `-+ooooooo+-` `+ooooooo+- `ooo+` .ooo/ ",21);
92+
lineLogo(" `-:. .++++++:--.` ``.-:-.`` `` ``.-::-.` ` `--` `. .--` ",22);
93+
lineLogo(" `-:. .++++++:--.` ``.-:-.`` `` ``.-::-.` ` `--` `. .--` ",23);
94+
lineLogo(" ",24);
95+
lineLogo(" ",25);
7796
}
7897

7998
void lineLogo(char * string, int y) {
8099
int j = 0;
81100
while (string[j] != '\0') {
82-
putInMemory(VIDMEM, OFFSET + (80 * y + j) * 2, string[j]);
101+
// putInMemory(VIDMEM, (80 * y + j) * 2, string[j]);
83102
j++;
84103
switch (string[j]) {
85104
case 'o':
86-
putInMemory(VIDMEM, OFFSET + (80 * y + j) * 2 + 1, 0xE);
105+
putInMemory(VIDMEM, (SCREEN_WIDTH * y + j), YELLOW);
87106
break;
88107
case '.':
89-
putInMemory(VIDMEM, OFFSET + (80 * y + j) * 2 + 1, 0x9);
108+
putInMemory(VIDMEM, (SCREEN_WIDTH * y + j), BLUE);
90109
break;
91110
default:
92-
putInMemory(VIDMEM, OFFSET + (80 * y + j) * 2 + 1, 0xF);
111+
putInMemory(VIDMEM, (SCREEN_WIDTH * y + j), WHITE);
93112
}
94113
}
95114
}

0 commit comments

Comments
 (0)