Compare commits

...

2 Commits

Author SHA1 Message Date
Your Name 76f3f77967 changes 2 stage 5 years ago
Your Name 4c45d42fcb new boot 5 years ago

@ -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,67 +23,48 @@ 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, 02h ;sets cursor to top to write
mov bh, 0h
mov dh, 2h
mov dl, 2h
mov dl, 1h
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
int 0x16
cmp al, "0"
je load_it_all_0
cmp al, "1"
je load_it_all_1
jmp over
load_it_all_0:
mov si, wolf_kernel_load
call wolf_print
pushf
stc
mov ah,00
int 13h
.read_sector:
mov ax, 0x0
mov es, ax ; ES = 0
mov bx, 0x2000 ; BX = 0x1000. ES:BX=0x0:0x1000
; ES:BX = starting address to read sector(s) into
mov ah, 02 ; Int 13h/AH=2 = Read Sectors From Drive
mov al, 01 ; Sectors to read = 1
mov ch, 00 ; CH=Cylinder. Second sector of disk
; is at Cylinder 0 not 1
mov cl, 03 ; Sector to read = 2
mov dh, 00 ; Head to read = 0
; DL hasn't been destroyed by our bootloader code and still
; contains boot drive # passed to our bootloader by the BIOS
mov dl, [bootdev]
int 13h
jc wolf_error
popf
jmp 0x0:0x2000
cli
hlt
jmp load_it_all_1
load_it_all_1:
@ -145,12 +126,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
title db 'NOT MY DEFAULT',0
bootdev db 0x80 ; Boot device number

Binary file not shown.

Binary file not shown.

@ -1,6 +1,5 @@
[org 0x2000]
start:
mov ah, 01h ;make cursor invisible
mov cx, 2607h
@ -57,19 +56,12 @@ 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
wait_for_key:
mov ah, 0x00
int 0x16
cmp al, "0"
cmp ah, 01h
je exit_bootloader
jmp over
@ -94,5 +86,12 @@ over:
jmp wait_for_key
msg1 db "POETIC SOFTWARE",0x0A,0
msg2 db "testasdfjah lksjdhflkajshd lkjahs lkdjfhals khfdas ohne dieses wort und noch mehr whaaat",0x0D,0x0A,0
msg1 db "PROJECTS",0x0D, 0x0A,0
msg2 db "PROJECTS",0x0D, 0x0A,0
;project1 db "Alex / Poetic Software", 0x0A,0
;project2 db "Tash / Silence Making", 0x0A,0
;project3 db "Alice / F00d", 0x0A,0
;project4 db "Joca / The ghost in the speaker", 0x0A,0
;project5 db "Angeliki / Voices", 0x0A,0
;project6 db "Zalan / Phantasmagoria", 0x0A,0

Binary file not shown.
Loading…
Cancel
Save