2022-08-21 09:07:57 +00:00
|
|
|
|
; Boot Record Program (C) Copyright Peter Norton 1986
|
|
|
|
|
|
|
|
|
|
boots segment 'code'
|
|
|
|
|
|
|
|
|
|
public boot
|
|
|
|
|
|
|
|
|
|
assume cs:boots
|
|
|
|
|
|
|
|
|
|
boot proc far
|
|
|
|
|
|
|
|
|
|
; 30-byte DOS info -- set up for 1-side, 8-sector
|
|
|
|
|
; change as needed for any other format
|
|
|
|
|
|
|
|
|
|
head:
|
|
|
|
|
jmp begin ; EB 2A 90 as per normal
|
|
|
|
|
db ' Norton ' ; 8-byte system id
|
|
|
|
|
dw 512 ; sector size in bytes
|
|
|
|
|
db 1 ; sectors per cluster
|
|
|
|
|
dw 1 ; reserved clusters
|
|
|
|
|
db 2 ; number of fats
|
|
|
|
|
dw 64 ; root directory entries
|
|
|
|
|
dw 320 ; total sectors
|
|
|
|
|
db 0FEh ; format id
|
|
|
|
|
dw 1 ; sectors per fat
|
|
|
|
|
dw 8 ; sectors per track
|
|
|
|
|
dw 1 ; sides
|
|
|
|
|
dw 0 ; special hidden sectors
|
|
|
|
|
|
|
|
|
|
; mysterious but apparently standard 14-byte filler
|
|
|
|
|
db 14 dup (0)
|
|
|
|
|
|
|
|
|
|
; carry on with the boot work
|
|
|
|
|
|
|
|
|
|
begin:
|
|
|
|
|
mov ax,07C0h ; boot record location
|
|
|
|
|
push ax
|
|
|
|
|
pop ds
|
|
|
|
|
mov bx,message_offset ; put offset to message into si
|
|
|
|
|
mov cx,message_length ; message length from cx
|
|
|
|
|
continue:
|
|
|
|
|
mov ah,14 ; write teletype
|
|
|
|
|
mov al,[bx]
|
|
|
|
|
push ds
|
|
|
|
|
push cx
|
|
|
|
|
push bx
|
|
|
|
|
int 10h
|
|
|
|
|
pop bx
|
|
|
|
|
pop cx
|
|
|
|
|
pop ds
|
|
|
|
|
inc bx
|
|
|
|
|
loop continue
|
|
|
|
|
|
|
|
|
|
mov ah,0 ; read next keyboard character
|
|
|
|
|
int 16h
|
|
|
|
|
|
|
|
|
|
mov ah,15 ; get video mode
|
|
|
|
|
int 10h
|
|
|
|
|
mov ah,0 ; set video mode (clears screen)
|
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
|
|
int 19h ; re-boot
|
|
|
|
|
|
|
|
|
|
beg_message:
|
|
|
|
|
db 0Dh,0Ah ; carriage return, line-feed
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db ' Start your computer with'
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db ' a DOS system diskette.'
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db ' This is'
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db ' The Norton Utilities'
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db ' Version 3.0'
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db ' from'
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db ' Peter Norton'
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db ' 2210 Wilshire Blvd'
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db ' Santa Monica, CA 90403'
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db ' (213) 826-8092'
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db ' Insert a DOS diskette'
|
|
|
|
|
db 0Dh,0Ah
|
|
|
|
|
db ' Press any key to start DOS ... '
|
|
|
|
|
end_message:
|
|
|
|
|
|
|
|
|
|
; I put a copyright notice here; you do if you want to ...
|
|
|
|
|
tail:
|
|
|
|
|
|
|
|
|
|
message_offset equ beg_message - head
|
|
|
|
|
message_length equ end_message - beg_message
|
|
|
|
|
filler_amount equ 512 - (tail - head) - 2
|
|
|
|
|
|
|
|
|
|
db filler_amount dup (0) ; filler
|
|
|
|
|
|
|
|
|
|
db 055h,0AAh ; boot id
|
|
|
|
|
|
|
|
|
|
boot endp
|
|
|
|
|
|
|
|
|
|
boots ends
|
|
|
|
|
|
|
|
|
|
end
|
2021-01-12 23:38:47 +00:00
|
|
|
|
|