;-------------------------------------- ; THE OTHER BOOTSECTOR ; (c) 24-01-1994 by Jan Laitenberger ;-------------------------------------- CLI MOV AX, 30h MOV SS, AX MOV SP, 0FCh STI PUSH CS POP DS MOV AH, 1 MOV CX, 0FF00h ; (hide cursor) INT 10h ; Define cursor size MOV AH, 2 MOV BH, 0 MOV DX, 1800h INT 10h ; Set cursor to 0, 24 MOV BX, 7 ; Textcolor (LightGray) MOV SI, ?@Warning ADD SI, 7B36h @Next: ; Write warning ... LODSB ; Get character CMP AL, 0 ; End of string ? JZ @ExitLoop MOV AH, 0Eh PUSH SI INT 10h ; Print character POP SI JMP @Next @ExitLoop: MOV CX, 16h ; Scroll warning to @Scroll: ; top of the screen MOV AX, 0E0Ah INT 10h ; Print LF LOOPZ @Scroll @ClearBuffer: MOV AH, 1 INT 16h ; Keyboardbuffer empty ? JZ @GetKey ; YES, then terminate loop MOV AH, 0 INT 16h ; Get key JMP @ClearBuffer @GetKey: MOV AX, 0E07h INT 10h MOV AH, 0 INT 16h MOV AH, 0Fh ; Get video mode INT 10h MOV AH, 0 ; Set same mode again INT 10h XOR DX, DX INT 19h ; Try again ! @Warning: ; Output string DB "Sorry, this is not a boot disk", 13, 10 DB "Replace and strike any key ...", 13, 10 DB 0 ; EOS