From 4c45d42fcb0cacd0ce965b4ab16ddb2c50745f48 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 20 Apr 2019 13:50:24 +0200 Subject: [PATCH] new boot --- .program2.asm.swp | Bin 0 -> 1024 bytes boot.asm | 61 ++++++++++++++++++++++++++++++++++++---------- boot.bin | Bin 512 -> 512 bytes disk.img | Bin 737280 -> 737280 bytes program2.asm | 10 +++----- program2.bin | Bin 261 -> 250 bytes 6 files changed, 51 insertions(+), 20 deletions(-) create mode 100644 .program2.asm.swp diff --git a/.program2.asm.swp b/.program2.asm.swp new file mode 100644 index 0000000000000000000000000000000000000000..6621a76aa8530b4aca46a92aee5a2f9802050f36 GIT binary patch literal 1024 zcmYc?$V<%2S1{7E)H7y40@`8>3`P0*B}hUznTfi|IOUKf3X1a6ixP8<^b(76k;O;Z MqaiRF0s|8Q01n#<=l}o! literal 0 HcmV?d00001 diff --git a/boot.asm b/boot.asm index 81c1fcf..10ba484 100755 --- a/boot.asm +++ b/boot.asm @@ -3,7 +3,7 @@ [bits 16] pre: -cmp ah, 0x0F +cmp ah, 0x0F ; checking if coming from other app or first load - setting ah to 0F before jmping back to the bootloader je welcome mov [bootdev], dl ; Save boot device number jmp welcome @@ -23,12 +23,47 @@ welcome: mov cx, 2607h int 10h - mov ah, 06h ; Scroll up function - xor al, al ; Clear entire screen - xor cx, cx ; Upper left corner CH=row, CL=column - mov dx, 184FH ; lower right corner DH=row, DL=column + mov ah, 06h ; Set overall background + xor al, al ; and clear entire screen + xor cx, cx ; Upper left corner CH=row, CL=column = 0 + mov dx, 184Fh ; lower right corner DH=row, DL=column = 25 x 80 / textmode mov bh, 1Eh ; YellowOnBlue - int 10H ; execute interrupt + int 10h + + + mov ah, 06h; top bar, make background + xor cx, cx + mov dx, 0x004F + mov bh, 30h + int 10h + + + mov ah, 02h ;top bar setting the position and then write title to it + mov bh, 0h + mov dh, 0h + mov dl, 20h + int 10h + + mov si, title + call wolf_print + + + mov ah, 06h; bottom bar, make background + mov cx, 0x1800 + mov dx, 0x184F + mov bh, 30h + int 10h + + + mov ah, 02h ;bottom bar setting the position and then write title $ + mov bh, 0h + mov dh, 18h + mov dl, 20h + int 10h + + mov si, title + call wolf_print + mov ah, 02h ;sets cursor to top to write mov bh, 0h @@ -36,11 +71,11 @@ welcome: mov dl, 2h int 10h - mov si, wolf_wel_msg - call wolf_print + mov si, wolf_wel_msg + call wolf_print - mov si, xpub - call wolf_print +; mov si, xpub +; call wolf_print start: mov ah, 0x00 @@ -145,12 +180,12 @@ over: jmp start ; Moved the data before the boot signature but after the code -wolf_wel_msg db 'Welcome to this publication..., press a key',0x0D,0x0A,0 +wolf_wel_msg db 'Welcome to this publication..., press a key to ENTER',0x0D,0x0A,0 wolf_kernel_load db 'Loading program',0x0D,0x0A,0 wolf_error_msg db 'Program not found!',0x0D,0x0A,0 wolf_error_msg1 db 'Press any key to restart..',0 -xpub db 0x0D, 0x0A, 0x20, 0xB1, 0x20, 0x20, 0x20, 0xB1, 0x20, 0xB1, 0xB1, 0xB1, 0x20, 0x20, 0xB1, 0x20, 0x20, 0x20, 0xB1,0x20,0xB1,0xB1,0xB1, 0x20, 0x0D, 0x0A,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20,0xB1,0x20,0x20,0xB1, 0x20,0xB1,0x20,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20, 0xB1, 0x0D,0x0A,0x20,0x20,0x20,0xB1, 0x20,0x20,0x20,0xB1,0xB1, 0xB1,0x20,0x20,0xB1,0x20,0x20,0x20,0xB1,0x20,0xB1,0xB1,0xB1,0x20,0x0D,0x0A,0x20,0x20,0xB1,0x20,0xB1, 0x20,0x20,0xB1,0x20,0x20,0x20,0x20,0xB1,0x20,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20,0xB1,0x0D,0x0A,0x20,0xB1, 0x20,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20,0x20,0x20,0x20,0xB1,0xB1,0xB1,0x20,0x20,0xB1,0xB1,0xB1, 0x20, 0 - +;xpub db 0x0D, 0x0A, 0x20, 0xB1, 0x20, 0x20, 0x20, 0xB1, 0x20, 0xB1, 0xB1, 0xB1, 0x20, 0x20, 0xB1, 0x20, 0x20, 0x20, 0xB1,0x20,0xB1,0xB1,0xB1, 0x20, 0x0D, 0x0A,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20,0xB1,0x20,0x20,0xB1, 0x20,0xB1,0x20,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20, 0xB1, 0x0D,0x0A,0x20,0x20,0x20,0xB1, 0x20,0x20,0x20,0xB1,0xB1, 0xB1,0x20,0x20,0xB1,0x20,0x20,0x20,0xB1,0x20,0xB1,0xB1,0xB1,0x20,0x0D,0x0A,0x20,0x20,0xB1,0x20,0xB1, 0x20,0x20,0xB1,0x20,0x20,0x20,0x20,0xB1,0x20,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20,0xB1,0x0D,0x0A,0x20,0xB1, 0x20,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20,0x20,0x20,0x20,0xB1,0xB1,0xB1,0x20,0x20,0xB1,0xB1,0xB1, 0x20, 0 +title db 'NOT MY DEFAULT',0 bootdev db 0x80 ; Boot device number diff --git a/boot.bin b/boot.bin index 9bd7e47f53a38032e1bf8163f48d50ec999e1e87..748fafff0abb1052d0d75032836f69c32200855f 100644 GIT binary patch delta 250 zcmZo*X<*@K_`_eq)*;q8kwdMX&G6(de}?S_X9cz}ZD-iVuu0*pz`m;57poYyu|W^)Z0eGHqf4s%5NwQOB@_;jEaAK?$3UVTr-(ntc|vFR~cs`~->$?_gl) zJFuHUVGGj+#;pt+nYS@?iFMYV6)rNH`-(w3cisFF0O8lp*|rD4U-Qt+D^W}s0YNH HOrfg)FlS)A delta 295 zcmZo*X<*@K_`_eq)*-fYB8OT%({_e!Oq-a_3hcX3^P+`epF{17I)*I_XT@v`O4w`+ zOAKDu?E6>qB8y?pPoSvq4hDw41G^a%wlHmA+{&<#c^gBQ*v{Is!bN6tUoj{!F#P%g zQf-5(S^%n=39gz0s9FG|nq!|p?F&AJeX0|mxlJ}@bgk#*QrM`V0K^+N0%-&jC=LK2RT!57q@F7#bKrVDdCZd#2D;0Gmr|ga7~l diff --git a/disk.img b/disk.img index 63870a61f27f825ab28df6dfa37874233d4b3595..1915991c9f8c9330c9037b3967582db50fbb6657 100755 GIT binary patch delta 327 zcmZo@&~0eYVgjmVtbI|(u!Z5Qn2kXRn~h%rZF?5M_)}9qEGMoE~L4m=N;nx?CavN0TK*xZUGr^T}0F?_c zfK+?czTjin7e8^U8>d1^zJjY?h-=Wq->w3F{vis!kqR!ZZjPZoAq)+Z7c!M>{>K>4 zB-*F&LWE)8d&X`wxd9g!dZPdU delta 409 zcmZo@&~0eY0Hm5@pFr&kK8Ag&6Q8+FHf40J=jBq^sGtDE8#e-J1QRF@ z5(Eo@X($gQ4pD|%J=`2117SW;ACM2$1tb_67(ih1G)DW){}|($Y-TFFkZ0JpO5ueh z!xpxkEG)Zh1-I*+6?nk_3mt*iVrw`KlyGcj-okfQ;PvOjTlilw)G#o7d3~?BkEOkj ig%OCEfS4JGL3~yqW&>h&Am#vKP9Wym-p9h7ZVdoHK$R*0 diff --git a/program2.asm b/program2.asm index c9dc910..befce53 100755 --- a/program2.asm +++ b/program2.asm @@ -1,6 +1,5 @@ [org 0x2000] - start: mov ah, 01h ;make cursor invisible mov cx, 2607h @@ -57,11 +56,8 @@ start: mov si, msg2 call print - mov ah, 06h ;draw rect on background - mov cx, 0404h - mov dx, 113Dh - mov bh, 2Eh - int 10h + + call wait_for_key @@ -69,7 +65,7 @@ start: wait_for_key: mov ah, 0x00 int 0x16 - cmp al, "0" + cmp ah, 01h je exit_bootloader jmp over diff --git a/program2.bin b/program2.bin index 5b14988c012d3da3a872713237f9247f86a841f9..266d452087b4e3d556863fc7bcf3b54d2ede0118 100644 GIT binary patch delta 36 scmZo=`o%aQRlUmC cz;p<+1GEm!5bN{9v=8b4d;kFS>)w%$Y`(=E0RR91