Protobt
Produce Boot Sector Prototype
Protobt() Opcode = 18
T his fu nction is u se d to c re a te a b oo t se cto r in m e m o r y . T h is is a specially
form a tted block of in fo rm atio n th at m u st b e sto red on th e first se cto r o f
ea ch flo p py d isk (sid e 0, track 0, se cto r 1). T h e finish ed b o ot se cto r sh o u ld
be w ritten to th e flop py d isk , u sin g th e F lo p w r () fu n c tio n , n o t th e B IO S
fu nction R w a b s ().
C macro format
in t d isk typ e, execfla g;
lo n g bu ffer, se rialn u m ;
P ro to b t(b u ffer, se ria ln u m , d isk ty p e, exe c fla g);
Machine language format
m o v e .w
m o v e.w
m o v e.l
m o v e.l
m o v e.w
trap
a d d .l
Inputs
ex ecfla g
d isk typ e
serialn um
b uffer
Results
N o n e
ex ecflag , - (sp )
d isk ty p e, - (sp )
se rialn u m , - (sp )
b u ffe r, - (sp )
# 1 8 , - ( s p )
# 1 4
# 1 4 ,s p
w o rd
w o rd
lo n g
lo n g
A flag th at in d icate s w h e th er to e xe cu te
so m e b o o t co d e a t sta rtu p tim e. B oo t
co d e is u p to 48 0 b y tes o f m ach in e in
stru ctio n , startin g at by te 3 0 o f th e b o ot
se cto r.
0 = n o b o o t cod e
1 = e xe cu te b o ot co d e
A co d e w o rd th at sp ecifies a d isk 's sto r
a g e ca p acity a n d fo rm a t:
0 = 4 0 track s, sin gle sid ed (180K )
1 = 4 0 tra ck s, d ou b le sid ed (360K )
2 = 8 0 tra ck s, sin g le sid ed (3 6 0K )
3 = 8 0 tra ck s, do u b le sid ed (72 0 K )
A u niq u e 2 4-b it id en tifie r co d e u se d by
th e file sy ste m to tell w h e th e r d isk s h a ve
b een ch an g ed in a p articu lar d riv e. T o
g e n era te a ra n d o m serial n u m b er, p ass a
v alu e la rge r th a n ($1 00 00 00 ).
T h e ad d re ss o f a 51 2-b y te m e m o ry b u ffer
w h e re th e b o o t b lock in fo rm atio n w ill be
crea ted .
See also
Flopfmt(), Flopwr()
210