You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
1.8 KiB
NASM

[org 0x2000]
start:
mov ah, 01h ;make cursor invisible
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 bh, 1Eh ; YellowOnBlue
int 10H ; execute interrupt
mov ah, 06h ;draw rect on background
mov cx, 0101h
mov dx, 164Dh
mov bh, 4Fh
int 10h
mov ah, 06h ;draw shadow
mov cx, 1702h
mov dx, 174Eh
mov bh, 0Eh
int 10h
mov ah, 06h ;draw shadow
mov cx, 024Eh
mov dx, 174Eh
mov bh, 0Eh
int 10h
mov ah, 02h ;sets cursor to top to write
mov bh, 0h
mov dh, 1h
mov dl, 1h
int 10h
mov al, 0xC9 ;draw border
mov bl, 0x03
mov ah,0x0e
int 10h
mov al, 0xCD
mov bl, 0x03
mov ah,0x0e
int 10h
mov ah, 02h ;sets cursor to top to write
mov bh, 0h
mov dh, 4h
mov dl, 4h
int 10h
mov si, msg1
call print
mov si, msg2
call print
call wait_for_key
wait_for_key:
mov ah, 0x00
int 0x16
cmp ah, 01h
je exit_bootloader
jmp over
print:
lodsb
or al,al
jz .exit
mov bl, 0x03
mov ah,0x0e
int 10h
jmp print
.exit:
ret
exit_bootloader:
mov ah, 0x0F
jmp 0x0:0x7c00 ;jump back to bootloader init
hlt
over:
jmp wait_for_key
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