AmigaDOS Technical Reference Manual

Embed Size (px)

Citation preview

  • 7/25/2019 AmigaDOS Technical Reference Manual

    1/56

    m i g a O S

    e c h n i c a l e f e r e n c e

    n u l

  • 7/25/2019 AmigaDOS Technical Reference Manual

    2/56

  • 7/25/2019 AmigaDOS Technical Reference Manual

    3/56

    m i g a O S e c h n i c a l e f e r e n c e M a n u a l

  • 7/25/2019 AmigaDOS Technical Reference Manual

    4/56

    T a b l e o f

    C o n t e n t s

    m i g a D O S F i l e

    S t r u c t u r e

    R o o t

    l o c k

    U s e r

    D i r e c t o r y

    B l o c k s

    F i l e

    H e a d e r

    B l o c k

    F i l e L i s t l o c k

    D a t a l o c k

    I S K T h e D i s k E d i t o r

  • 7/25/2019 AmigaDOS Technical Reference Manual

    5/56

    m i g a O S T e c h n i c a l

    R e f e r e n c e M a n u a l F i l i n g

    S y s t e m

    1 . 1 m i g a O S

    F i l e S t r u c t u r e

    T h e

    A m i g a D O S f i l e

    h a n d l e r

    u s e s

    d i s k

    t h a t

    f o r m a t t e d w i t h b l o c k s e q u a l s i z e . p r o v i d e s

    i n d e f i n i t e l y d e e p

    h i e r a r c h y

    d i r e c t o r i e s , w h e r e

    e a c h d i r e c t o r y

    m a y c o n t a i n d i r e c t o r i e s f i l e s

    j u s t

    f i l e s .

    s t r u c t u r e

    a p u r e

    t r e e

    t h a t

    l o o p s

    a r e n o t a l l o w e d .

    T h e r e

    s u f f i c i e n t r e d u n d a n c y m e c h a n i s m a l l o w p a t c h t o g e t h e r

    m o s t ,

    a l l

    c o n t e n t s d i s k a f t e r

    s e r i o u s

    h a r d w a r e e r r o r , e x a m p l e . T o p a t c h t h e c o n t e n t s d i s k ,

    I S K E c o m m a n d . f u r t h e r d e t a i l s s y n t a x D I S K E D s e e s e c t i o n 1 . 2 , D I S K E D T h e

    D i s k

    E d i t o r ,

    l a t e r t h i s c h a p t e r . B e f o r e p a t c h t o g e t h e r t h e c o n t e n t s d i s k , m u s t

    u n d e r s t a n d l a y o u t .

    s u b s e c t i o n s

    b e l o w d e s c r i b e t h e

    l a y o u t d i s k

    p a g e s .

    1 . 1 . 1 R o o t B l o c k

    T h e r o o t o f t h e t r e e R o o t

    B l o c k ,

    w h i c h f i x e d p l a c e d i s k . T h e r o o t

    l i k e o t h e r

    d i r e c t o r y ,

    e x c e p t t h a t

    h a s n o

    p a r e n t ,

    s e c o n d a r y

    t y p e

    d i f f e r e n t .

    m i g a O S

    s t o r e s

    n a m e

    o f t h e

    d i s k

    v o l u m e

    n a m e f i e l d

    o f t h e

    r o o t b l o c k .

    E a c h f i l i n g s y s t e m b l o c k c o n t a i n s a c h e c k s u m

    w h e r e

    s u m i g n o r i n g o v e r f l o w ) o f w o r d s

    b l o c k

    z e r o .

    T h e f i g u r e

    f o l l o w i n g

    p a g e

    d e s c r i b e s

    t h e l a y o u t r o o t

    b l o c k .

  • 7/25/2019 AmigaDOS Technical Reference Manual

    6/56

    F i l i n g

    S y s t e m

    A m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l

    /

    \

    S I Z E - 5 1

    S I Z E - 5 0

    S I Z E - 4 9

    S I Z E - 2 4

    S I Z E - 2 3

    S I Z E - 2 2

    S I Z E - 2 1

    S I Z E - 2 0

    S I Z E - 7

    S I Z E - 6

    S I Z E - 5

    S I Z E - 4

    S I Z E - 3

    S I Z E - 2

    S I Z E - 1

    T . S H O R T

    H T

    S I Z E

    C H E C K S U M

    h a s h

    t a b l e

    /

    \

    M F L G

    B i t m a p

    p a g e s

    D A Y S

    M I N S

    T I C K S

    D I S K

    N A M E

    C R E A T E D A Y S

    C R E A T E M I N S

    C R E A T E T I C K S |

    S T . R O O T

    T y p e

    H e a d e r k e y a l w a y s

    z e r o

    H i g h e s t s e q n u m b e r

    a l w a y s

    z e r o

    H a s h t a b l e s i z e b l o c k s i z e - 5 6

    T R U E

    B i t m a p

    d i s k v a l i d

    U s e d i n d i c a t e

    b l o c k s

    c o n t a i n i n g b i t m a p

    V o l u m e l a s t a l t e r e d

    d a t e

    a n d

    t i m e

    V o l u m e n a m e B C P L

    s t r i n g

    o f < = c h a r a c t e r s

    V o l u m e c r e a t i o n

    d a t e

    t i m e

    N e x t e n t r y o n t h i s h a s h c h a i n a l w a y s z e r o

    P a r e n t d i r e c t o r y

    a l w a y s z e r o

    E x t e n s i o n a l w a y s z e r o

    S e c o n d a r y t y p e

    i n d i c a t e s r o o t

    b l o c k

    F i g u r e R o o t B l o c k

  • 7/25/2019 AmigaDOS Technical Reference Manual

    7/56

    A m i g a D O S

    T e c h n i c a l

    R e f e r e n c e

    M a n u a l

    F i l i n g S y s t e m

    U s e r D i r e c t o r y B l o c k s

    T h e f o l l o w i n g f i g u r e d e s c r i b e s t h e l a y o u t o f t h e c o n t e n t s a u s e r d i r e c t o r y b l o c k

    T . S H O R T

    O W N K E Y

    C H E C K S U M

    h a s h

    t a b l e

    /

    \

    /

    \

    S I Z E - 5 1

    S I Z E - 5 0

    S I Z E - 4 8

    S I Z E - 4 7

    S I Z E - 4 6

    S I Z E - 2 4

    S I Z E - 2 3

    S I Z E - 2 2

    S I Z E - 2 1

    S I Z E - 2 0

    S I Z E - 4

    S I Z E - 3

    S I Z E - 2

    S I Z E - 1

    S p a r e

    P R O T E C T

    C O M M E N T

    D A Y S

    M I N S

    T I C K S

    D I R E C T O R Y

    N A M E

    H A S H C H A I N

    P A R E N T

    S T U S E R D I R

    T y p e

    H e a d e r k e y p o i n t e r t o s e l f

    H i g h e s t

    n u m b e r a l w a y s z e r o

    P r o t e c t i o n

    b i t s

    U n u s e d

    a l w a y s z e r o

    S t o r e d a s B C P L s t r i n g

    C r e a t i o n

    d a t e a n d

    t i m e

    S t o r e d

    B C P L s t r i n g

    o f < = c h a r a c t e r s

    N e x t

    e n t r y w i t h

    s a m e

    h a s h v a l u e

    B a c k p o i n t e r p a r e n t d i r e c t o r y

    E x t e n s i o n a l w a y s z e r o

    s e c o n d a r y

    t y p e

    F i g u r e U s e r D i r e c t o r y B l o c k s

  • 7/25/2019 AmigaDOS Technical Reference Manual

    8/56

    F i l i n g S y s t e m m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l

    U s e r d i r e c t o r y b l o c k s h a v e t y p e

    T S H O R T

    s e c o n d a r y t y p e S T . U S E R D I R E C T O R Y .

    i n f o r m a t i o n w o r d s

    s t a r t

    o f t h e

    b l o c k

    a l s o i n d i c a t e b l o c k s o w n t h a t

    b l o c k

    n u m b e r

    c o n s i s t e n c y

    c h e c k

    s i z e

    h a s h t a b l e .

    i n f o r m a t i o n

    w o r d s o f t h e

    b l o c k

    c o n t a i n

    d a t e

    t i m e c r e a t i o n , n a m e d i r e c t o r y ,

    p o i n t e r

    n e x t f i l e o r d i r e c t o r y

    h a s h c h a i n , p o i n t e r d i r e c t o r y a b o v e .

    f i n d

    f i l o r s u b - d i r e c t o r y , m u s t f i r s t h a s h

    f u n c t i o n

    n a m e . T h i s h a s h f u n c t i o n

    y i e l d s

    o f f s e t

    h a s h t a b l e ,

    w h i c h f i r s t b l o c k c h a i n

    l i n k i n g t h o s e

    w i t h

    s a m e

    h a s h v a l u e

    z e r o , t h e r e a r e n o n e ) .

    A m i g a D O S r e a d s b l o c k w i t h

    t h i s

    a n d c o m p a r e s

    n a m e b l o c k w i t h r e q u i r e d n a m e . n a m e s d o n o t m a t c h r e a d s n e x t b l o c k

    c h a i n ,

  • 7/25/2019 AmigaDOS Technical Reference Manual

    9/56

    A m i g a D O S T e c h n i c a l

    R e f e r e n c e

    M a n u a l

    F i l i n g

    S y s t e m

    F i l e

    H e a d e r B l o c k

    T h e

    f o l l o w i n g

    f i g u r e

    d e s c r i b e s

    t h e l a y o u t

    h e a d e r b l o c k

    T S H O R T

    O W N K E Y

    H I G H E S T

    S E Q |

    D A T A

    S I Z E

    F I R S T

    D A T A |

    C H E C K S U M

    \ \

    S I Z E 5 1

    S I Z E 5 0

    S I Z E 4 8

    S I Z E 4 7

    S I Z E 4 6

    S I Z E 2 4

    S I Z E 2 3

    S I Z E 2 2

    S I Z E 2 1

    S I Z E 2 0

    S I Z E 4

    S I Z E 3

    S I Z E 2

    S I Z E 1

    D A T A

    B L K

    D A T A

    B L K

    D A T A B L K

    S p a r e

    P R O T E C T

    B Y T E S I Z E

    C O M M E N T

    D A Y S

    M I N S

    T I C K S

    F I L E

    N A M E

    H A S H C H A I N

    P A R E N T

    E X T E N S I O N

    S T F I L E

    T y p e

    H e a d e r

    k e y

    T o t a l n u m b e r d a t a b l o c k s

    f i l e

    N u m b e r d a t a b l o c k s l o t s u s e d

    F i r s t

    d a t a b l o c k

    l i s t d a t a

    b l o c k

    k e y s

    P r o t e c t i o n b i t s

    T o t a l s i z e o f f i l e

    b y t e s

    C o m m e n t B C P L s t r i n g

    C r e a t i o n

    d a t e a n d

    t i m e

    S t o r e d

    a s

    B C P L

    s t r i n g

    o f < = c h a r a c t e r s

    N e x t e n t r y w i t h s a m e h a s h v a l u e

    B a c k p o i n t e r p a r e n t d i r e c t o r y

    Z e r o

    p o i n t e r f i r s t

    e x t e n s i o n b l o c k

    S e c o n d a r y t y p e

    F i g u r e F i l e

    H e a d e r B l o c k

  • 7/25/2019 AmigaDOS Technical Reference Manual

    10/56

    F i l i n g

    S y s t e m

    A m i g a D O S T e c h n i c a l R e f e r e n c e

    M a n u a l

    E a c h

    t e r m i n a l f i l e s t a r t s w i t h

    f i l e

    h e a d e r b l o c k w h i c h t y p e T . S H O R T

    a n d s e c o n d a r y t y p e

    S T . F I L E .

    T h e s t a r t a n d

    e n d

    o f t h e

    b l o c k

    c o n t a i n

    n a m e , t i m e a n d r e d u n d a n c y i n f o r m a t i o n s i m i l a r

    t h a t

    d i r e c t o r y b l o c k .

    T h e

    b o d y

    f i l e c o n s i s t s D a t a b l o c k s w i t h

    s e q u e n c e

    n u m b e r s f r o m

    u p w a r d s .

    A m i g a D O S s t o r e s a d d r e s s e s t h e s e b l o c k s c o n s e c u t i v e

    w o r d s

    d o w n w a r d s

    f r o m o f f s e t

    s i z e 5 1 b l o c k . g e n e r a l

    A m i g a D O S d o e s s p a c e t h i s l i s t

    a n d

    l a s t d a t a

    b l o c k

    f u l l

    1 . 1 . 4 F i l e L i s t B l o c k

    t h e r e m o r e

    b l o c k s f i l e

    t h a n c a n s p e c i f i e d b l o c k l i s t t h e n E X T E N S I O N f i e l d

    n o n z e r o a n d p o i n t s a n o t h e r d i s k b l o c k w h i c h c o n t a i n s f u r t h e r d a t a b l o c k l i s t

    T h e

    f o l l o w i n g f i g u r e

    e x p l a i n s t h e s t r u c t u r e o f f i l e l i s t b l o c k .

    T . L I S T

    O W N

    B L O C K

    D A T A

    K E Y

    C O U N T

    S I Z E

    F I R S T D A T A |

    C H E C K S U M

    T y p e

    H e a d e r k e y

    n u m b e r d a t a

    b l o c k s

    b l o c k l i s t

    S a m e

    a b o v e

    F i r s t d a t a b l o c k

    \ \

    S I Z E - 5 1

    S I Z E - 5 0

    S I Z E - 4

    S I Z E - 3

    S I Z E - 2

    S I Z E - 1

    B L O C K N + 3

    B L O C K N + 2

    B L O C K N + l

    i n f o

    P A R E N T

    E X T E N S I O N

    S T . F I L E

    E x t e n d e d l i s t o f d a t a b l o c k k e y s

    u n u s e d

    N e x t h a s h l i s t a l w a y s z e r o

    F i l e h e a d e r b l o c k t h i s f i l e

    N e x t

    e x t e n s i o n b l o c k

    s e c o n d a r y

    t y p e

    F i g u r e

    I D : F i l e L i s t

    B l o c k

    T h e r e

    a r e a s m a n y f i l e

    e x t e n s i o n

    b l o c k s

    a s r e q u i r e d

    l i s t

    d a t a

    b l o c k s t h a t

    m a k e f i l e

    l a y o u t o f t h e b l o c k v e r y s i m i l a r t h a t o f f i l e

    h e a d e r

    b l o c k e x c e p t t h a t t h e t y p e d i f f e r e n t

    d a t e f i l e n a m e f i e l d s a r e n o t u s e d .

  • 7/25/2019 AmigaDOS Technical Reference Manual

    11/56

    m i g a O S T e c h n i c a l

    R e f e r e n c e M a n u a l

    F i l i n g S y s t e m

    1 . 1 . 5

    D a t a

    B l o c k

    T h e

    f o l l o w i n g

    f i g u r e e x p l a i n s l a y o u t a d a t a b l o c k .

    T . D A T A

    H E A D E R

    S E Q

    N U M

    D A T A S I Z E

    N E X T D A T A

    C H E C K S U M

    T

    t y p e

    h e a d e r k e y

    s e q u e n c e

    n u m b e r

    n e x t

    d a t a b l o c k

    F i g u r e

    I E :

    D a t a B l o c k

    D a t a b l o c k s c o n t a i n o n l y w o r d s f i l i n g s y s t e m i n f o r m a t i o n .

    T h e s e

    w o r d s r e f e r f o l l o w i n g :

    t y p e T . D A T A

    p o i n t e r f i l e h e a d e r

    b l o c k

    s e q u e n c e n u m b e r o f t h e d a t a

    b l o c k

    n u m b e r

    w o r d s

    d a t a

    p o i n t e r n e x t d a t a b l o c k

    c h e c k s u m

    N o r m a l l y , d a t a b l o c k s e x c e p t t h e

    l a s t f u l l t h a t

    t h e y h a v e s i z e = b l o c k s i z e - 6 . T h e l a s t d a t a

    b l o c k

    a f o r w a r d p o i n t e r o f z e r o .

  • 7/25/2019 AmigaDOS Technical Reference Manual

    12/56

    F i l i n g S y s t e m A m i g a D O S T e c h n i c a l

    R e f e r e n c e

    M a n u a l

    1 . 2

    D I S K E D T h e D i s k E d i t o r

    T o

    i n s p e c t o r

    p a t c h d i s k

    b l o c k s , m a y m i g a D O S

    d i s k e d i t o r , D I S K E D .

    B e c a u s e

    D I S K E D

    w r i t e s t h e d i s k

    d i r e c t l y , s h o u l d u s e w i t h c a r e . N e v e r t h e l e s s , y o u c a n g o o d e f f e c t

    r e c o v e r i n g

    i n f o r m a t i o n f r o m a c o r r u p t f l o p p y

    d i s k ,

    e x a m p l e . d i s k d o e s n o t h a v e i n s e r t e d

    e x a m i n e d D I S K E D .

    Y o u

    s h o u l d o n l y

    D I S K E D w i t h

    r e f e r e n c e

    t h e l a y o u t

    m i g a D O S

    d i s k . d e s c r i p t i o n

    l a y o u t ,

    s u b s e c t i o n s

    1 . 1 . 1 t h r o u g h

    1 . 1 . 5

    f i r s t

    p a r t c h a p t e r .

    D I S K E D k n o w s

    a b o u t

    t h i s s t r u c t u r e

    e x a m p l e , R R o o t b l o c k c o m m a n d p r i n t s o f t h e r o o t b l o c k . G

    b l o c k c o m m a n d f o l l o w e d t h i s n u m b e r r e a d s b l o c k i n t o m e m o r y , w h e r e u p o n

    I n f o r m a t i o n c o m m a n d

    p r i n t s

    i n f o r m a t i o n c o n t a i n e d f i r s t

    l a s t l o c a t i o n s , w h i c h

    i n d i c a t e t y p e

    b l o c k , n a m e , h a s h l i n k s , s p e c i f y n a m e a f t e r H H a s h

    c o m m a n d ,

    D I S K E D g i v e s o f f s e t d i r e c t o r y

    p a g e t h a t s t o r e s a s t h e

    f i r s t

    h e a d e r s w i t h

    n a m e s

    t h a t

    h a s h n a m e

    s u p p l i e d .

    t h e n

    t y p e t h e

    n u m b e r

    t h a t D I S K E D

    r e t u r n s

    f o l l o w e d

    s l a s h D I S K E D d i s p l a y s t h a t h e a d e r p a g e . Y o u t h e n r e a d t h i s w i t h f u r t h e r G

    c o m m a n d s , a n d

    C o n s i d e r

    d e l e t i n g

    f i l e

    t h a t ,

    h a r d w a r e

    e r r o r s ,

    m a k e s

    f i l i n g

    s y s t e m

    r e s t a r t

    p r o c e s s

    f a i l .

    F i r s t , m u s t l o c a t e d i r e c t o r y

    p a g e t h a t

    h o l d s r e f e r e n c e f i l e . Y o u t h i s s e a r c h i n g

    d i r e c t o r y s t r u c t u r e f r o m r o o t b l o c k , u s i n g h a s h c o d e s . T h e n ,

    m u s t

    l o c a t e s l o t t h a t

    r e f e r e n c e s t h e f i l e t h i s e i t h e r d i r e c t o r y b l o c k a h e a d e r b l o c k s a m e h a s h c h a i n . T h i s

    s l o t s h o u l d c o n t a i n t h e f i l e s h e a d e r

    b l o c k .

    T o s l o t t o z e r o , t y p e t h e s l o t o f f s e t ,

    f o l l o w e d

    s l a s h f o l l o w e d z e r o t h a t o f f s e t > / 0 . T h e n

    c o r r e c t

    c h e c k s u m

    w i t h

    K

    c h e c K s u m

    c o m m a n d .

    Y o u s h o u l d

    d i s a b l e

    t h e w r i t e

    p r o t e c t i o n w i t h

    X w r i t e

    b a c k u p d a t e d

    b l o c k

    w i t h P b l o c k o r W i n d u p .

    T h e r e

    n o n e e d d o a n y t h i n g e l s e , t h e b l o c k s t h a t

    f i l e u s e d e r r o r b e c o m e a v a i l a b l e o n c e m o r e a f t e r R E S T R T p r o c e s s s u c e s s f u l l y s c a n n e d

    d i s k .

    D I S K E D

    c o m m a n d s s i n g l e

    c h a r a c t e r s , s o m e t i m e s

    w i t h

    a r g u m e n t s .

  • 7/25/2019 AmigaDOS Technical Reference Manual

    13/56

    A m i g r a D O S T e c h n i c a l R e f e r e n c e

    M a n u a l

    F i l i n g

    S y s t e m

    T h e f o l l o w i n g

    c o m p l e t e

    l i s t t h e a v a i l a b l e

    c o m m a n d s .

    C o m m a n d F u n c t i o n

    B l o g i c a l b l o c k n u m b e r b a s e

    C n D i s p l a y

    n

    c h a r a c t e r s f r o m c u r r e n t

    o f f s e t

    G

    b l o c k

    f r o m

    d i s k ( d e f a u l t c u r r e n t

    b l o c k

    n u m b e r

    H

    n a m e

    C a l c u l a t e h a s h

    v a l u e n a m e

    D i s p l a y

    b l o c k

    i n f o r m a t i o n

    K C h e c k b l o c k c h e c k s u m c o r r e c t w r o n g

    L [ l w b u p b ] L o c a t e w o r d s t h a t m a t c h V a l u e u n d e r

    M a s k

    ( l w b a n d

    r e s t r i c t

    s e r c h

    M a s k

    ( f o r L N c o m m a n d s

    N [ l w b u p b ] L o c a t e w o r d s t h a t m a t c h V a l u e u n d e r M a s k

    P

    b l o c k

    m e m o r y b l o c k

    d i s k

    ( d e f a u l t

    c u r r e n t b l o c k n u m b e r

    R D i s p l a y b l o c k n u m b e r R o o t B l o c k

    Q Q u i t w r i t e d i s k )

    c h a r

    d i s p l a y

    S t y l e

    c h a r = C - > c h a r a c t e r s

    S > s t r i n g

    O >

    o c t a l

    X > h e x

    D >

    d e c i m a l

    T u p b T y p e

    r a n g e o f f s e t s b l o c k

    V

    V a l u e N c o m m a n d s

    W i n d u p =

    X I n v e r t

    w r i t e p r o t e c t

    s t a t e

    Y c Y l i n d e r

    b a s e

    Z e r o w o r d s

    o f b u f f e r

    n u m b e r S e t c u r r e n t w o r d o f f s e t b l o c k =

    D i s p l a y

    v a l u e s p r o g r a m

    D i s p l a y

    w o r d c u r r e n t o f f s e t

    u p d a t e v l u e

    c h a r s 1 c h a r s c u r r e n t o f f s e t

    c h a r s s t r i n g c u r r e n t o f f s e t

    T a b l e

    1 . A : D I S K E D C o m m a n d s

    T o

    i n d i c a t e o c t a l o r h e x , s t a r t n u m b e r s

    w i t h

    X ( t h a t o c t a l , X h e x ) . Y o u

    a l s o i n c l u d e i n c l u d e

    B C P L

    s t r i n g e s c a p e s a n d f o r t h ) s t r i n g s .

  • 7/25/2019 AmigaDOS Technical Reference Manual

    14/56

  • 7/25/2019 AmigaDOS Technical Reference Manual

    15/56

    C h a p t e r :

    m i g a

    B i n a r y F i l e

    S t r u c t u r e

    T h i s c h a p t e r

    d e s c r i b e s t h e

    s t r u c t u r e

    b i n a r y o b j e c t

    f i l e s

    m i g a p r o d u c e d b y

    a s s e m b l e r s

    a n d c o m p i l e r s

    a l s o

    d e s c r i b e s f o r m a t

    b i n a r y l o a d

    f i l e s w h i c h p r o d u c e d

    b y

    l i n k e r a n d

    r e a d

    i n t o m e m o r y

    l o a d e r

  • 7/25/2019 AmigaDOS Technical Reference Manual

    16/56

  • 7/25/2019 AmigaDOS Technical Reference Manual

    17/56

    m i g a D O S T e c h n i c a l

    R e f e r e n c e

    M a n u a l A m i g a B i n a r y

    F i l e

    S t r u c t u r e

    2 . 1 I n t r o d u c t i o n

    T h i s

    c h a p t e r d e s c r i b e s s t r u c t u r e o f

    b i n a r y

    o b j e c t f i l e s

    A m i g a p r o d u c e d a s s e m b l e r s

    c o m p i l e r s .

    a l s o

    d e s c r i b e s f o r m a t

    b i n a r y l o a d

    f i l e s w h i c h p r o d u c e d l i n k e r

    r e a d i n t o m e m o r y l o a d e r .

    T h e

    f o r m a t

    l o a d

    f i l e s s u p p o r t s o v e r l a y i n g . A p a r t f r o m

    d e s c r i b i n g

    f o r m a t

    l o a d

    f i l e s

    t h i s

    c h a p t e r

    e x p l a i n s t h e

    c o m m o n s y m b o l s

    a b s o l u t e

    e x t e r n a l

    r e f e r e n c e s ,

    a n d p r o g r a m u n i t s .

    2 . 1 . 1 T e r m i n o l o g y

    S o m e

    o f t h e t e c h n i c a l

    t e r m s

    u s e d

    t h i s

    c h a p t e r a r e e x p l a i n e d

    b e l o w .

    E x t e r n a l R e f e r e n c e s

    Y o u

    n a m e

    s p e c i f y r e f e r e n c e

    b e t w e e n

    s e p a r a t e p r o g r a m u n i t s . T h e d a t a s t r u c t u r e l e t s

    h a v e a

    n a m e

    l o n g e r

    t h a n 1 6 M b y t e s a l t h o u g h

    l i n k e r

    r e s t r i c t s

    n a m e s

    c h a r a c t e r s .

    W h e n

    l i n k o b j e c t f i l e s

    i n t o s i n g l e l o a d f i l e

    m u s t e n s u r e

    t h a t e x t e r n a l r e f e r e n c e s

    m a t c h

    c o r r e s p o n d i n g e x t e r n a l d e f i n i t i o n s . T h e e x t e r n a l r e f e r e n c e m a y s i z e b y t e , w o r d l o n g ; e x t e r n a l

    d e f i n i t i o n s r e f e r t o r e l o c a t a b l e v a l u e s , a b s o l u t e v a l u e s , o r

    r e s i d e n t

    l i b r a r i e s . R e l o c a t a b l e b y t e

    w o r d

    r e f e r e n c e s

    r e f e r t o P C

    r e l a t i v e a d d r e s s

    m o d e s a n d t h e s e a r e e n t i r e l y h a n d l e d l i n k e r .

    H o w e v e r

    h a v e p r o g r a m

    c o n t a i n i n g

    l o n g w o r d

    r e l o c a t a b l e

    r e f e r e n c e s ,

    r e l o c a t i o n m a y t a k e p l a c e

    w h e n l o a d p r o g r a m

    N o t e

    t h a t t h e s e s i z e s

    o n l y r e f e r l e n g t h r e l o c a t i o n f i e l d ; p o s s i b l e l o a d w o r d

    f r o m

    l o n g e x t e r n a l a d d r e s s ,

    e x a m p l e t h e l i n k e r m a k e s

    n o a t t e m p t c h e c k t h a t

    c o n s i s t e n t

    y o u r

    e x t e r n a l s .

    O b j e c t

    F i l e

    n

    a s s e m b l e r

    c o m p i l e r p r o d u c e s b i n a r y

    i m a g e

    c a l l e d

    o b j e c t

    f i l e

    n

    o b j e c t f i l e c o n t a i n s

    m o r e

    p r o g r a m

    u n i t s .

    m a y

    a l s o

    c o n t a i n

    e x t e r n a l

    r e f e r e n c e s o t h e r

    o b j e c t

    f i l e s

    L o a d F i l e

    T h e l i n k e r p r o d u c e s b i n a r y i m a g e

    f r o m n u m b e r o b j e c t f i l e s T h i s

    b i n a r y i m a g e c a l l e d l o a d

    f i l e l o a d

    f i l e

    d o e s

    n o t c o n t a i n

    u n r e s o l v e d e x t e r n a l r e f e r e n c e s .

    P r o g r a m U n i t

    p r o g r a m

    u n i t s m a l l e s t

    e l e m e n t

    t h e l i n k e r h a n d l e .

    p r o g r a m

    u n i t

    c o n t a i n

    m o r e

    h u n k s ; o b j e c t

    f i l e s

    c o n t a i n

    m o r e

    p r o g r a m u n i t s .

    l i n k e r

    f i n d s s u i t a b l e e x t e r n a l

    r e f e r e n c e

    w i t h i n

    p r o g r a m

    u n i t

    w h e n i n s p e c t s s c a n n e d l i b r a r i e s , i n c l u d e s t h e e n t i r e p r o g r a m

    u n i t t h e l o a d f i l e n

    a s s e m b l e r

    u s u a l l y p r o d u c e s s i n g l e

    p r o g r a m

    u n i t f r o m o n e a s s e m b l y

    c o n t a i n i n g m o r e h u n k s ; c o m p i l e r

    s u c h

    F O R T R N p r o d u c e s

    p r o g r a m

    u n i t e a c h

    s u b r o u t i n e , m a i n p r o g r a m

    L O C K

    D A T A H u n k n u m b e r i n g s t a r t s f r o m z e r o w i t h i n e a c h p r o g r a m

    u n i t ; o n l y w a y y o u c a n

    r e f e r e n c e

    o t h e r p r o g r a m u n i t s

    t h r o u g h

    e x t e r n a l r e f e r e n c e s .

  • 7/25/2019 AmigaDOS Technical Reference Manual

    18/56

    A m i g a B i n a r y F i l e S t r u c t u r e m i g a O S T e c h n i c a l

    R e f e r e n c e

    M a n u a l

    H u n k s

    h u n k

    c o n s i s t s b l o c k c o d e

    d a t a , r e l o c a t i o n

    i n f o r m a t i o n , l i s t

    d e f i n e d r e f e r e n c e d

    e x t e r n a l

    s y m b o l s D a t a h u n k s m a y

    s p e c i f y

    i n i t i a l i z e d d a t a o r u n i n i t i a l i z e d d a t a b s s ) . h u n k s m a y

    c o n t a i n e x t e r n a l d e f i n i t i o n s e x t e r n a l r e f e r e n c e s v a l u e s r e q u i r i n g r e l o c a t i o n .

    p l a c e i n i t i a l i z e d

    d a t a b l o c k s

    o v e r l a y s ,

    l i n k e r

    s h o u l d n o r m a l l y a l t e r

    t h e s e d a t a

    b l o c k s ,

    s i n c e

    r e l o a d s

    t h e m

    f r o m d i s k d u r i n g o v e r l a y p r o c e s s .

    H u n k s

    m a y n a m e d u n n a m e d a n d t h e y m a y

    c o n t a i n s y m b o l

    t a b l e

    o r d e r p r o v i d e s y m b o l i c d e b u g g i n g

    i n f o r m a t i o n .

    T h e y

    m a y

    a l s o c o n t a i n

    f u r t h e r d e b u g g i n g i n f o r m a t i o n

    h i g h l e v e l

    l a n g u a g e

    d e b u g g i n g

    t o o l s . E a c h h u n k

    w i t h i n

    p r o g r a m

    u n i t a n u m b e r s t a r t i n g f r o m z e r o .

    R e s i d e n t L i b r a r y

    L o a d f i l e s a l s o k n o w n l i b r a r i e s 1 . L o a d f i l e s m a y r e s i d e n t m e m o r y ; a l t e r n a t i v e l y ,

    o p e r a t i n g s y s t e m m a y l o a d t h e m a s p a r t

    l i b r a r y o p e n c a l l

    Y o u

    r e f e r e n c e r e s i d e n t

    l i b r a r i e s

    t h r o u g h e x t e r n a l

    r e f e r e n c e s ;

    d e f i n i t i o n s

    h u n k

    c o n t a i n i n g c o d e

    j u s t

    l i s t o f r e s i d e n t

    l i b r a r y d e f i n i t i o n s . U s u a l l y , p r o d u c e t h e s e h u n k s a s s e m b l e f i l e c o n t a i n i n g n o t h i n g b u t

    a b s o l u t e e x t e r n a l d e f i n i t i o n s t h e n p a s s t h r o u g h a s p e c i a l

    s o f t w a r e

    t o o l t o c o n v e r t t h e a b s o l u t e

    d e f i n i t i o n s r e s i d e n t

    l i b r a r y d e f i n i t i o n s . T h e l i n k e r

    u s e s h u n k n a m e

    a s t h e

    n a m e r e s i d e n t

    l i b r a r y ,

    p a s s e s t h i s

    t h r o u g h

    i n t o

    t h e l o a d f i l e t h a t t h e l o a d e r

    o p e n

    t h e r e s i d e n t l i b r a r y

    b e f o r e

    u s e .

    S c a n n e d l i b r a r y

    s c a n n e d

    l i b r a r y c o n s i s t s o b j e c t f i l e s t h a t

    c o n t a i n p r o g r a m

    u n i t s w h i c h o n l y l o a d e d t h e r e

    a n y o u t s t a n d i n g

    e x t e r n a l r e f e r e n c e s t h e m Y o u m a y

    o b j e c t f i l e s l i b r a r i e s p r o v i d e

    t h e m

    p r i m a r y i n p u t l i n k e r , i n w h i c h c a s e i n p u t i n c l u d e s p r o g r a m u n i t s o b j e c t f i l e s

    c o n t a i n .

    N o t e

    t h a t m a y c o n c a t e n a t e o b j e c t

    f i l e s

    N o d e

    n o d e c o n s i s t s l e a s t

    h u n k

    n o v e r l a i d l o a d f i l e

    c o n t a i n s r o o t n o d e ,

    w h i c h r e s i d e n t

    m e m o r y t i m e

    t h a t

    p r o g r a m r u n n i n g , n u m b e r o v e r l a y n o d e s w h i c h b r o u g h t

    i n t o

    m e m o r y r e q u i r e d .

    2 . 2 O b j e c t F i l e S t r u c t u r e

    n

    o b j e c t

    f i l e i s u t u t o f t h e a s s e m b l e r l a n g u a g e t r a n s l a t o r . T o o b j e c t f i l e

    m u s t

    f i r s t r e s o l v e t h e e x t e r n a l

    r e f e r e n c e s . t h i s , p a s s o b j e c t f i l e t h r o u g h

    l i n k e r .

    n

    o b j e c t

    f i l e

    c o n s i s t s m o r e p r o g r a m u n i t s . E a c h p r o g r a m u n i t s t a r t s w i t h a h e a d e r

    f o l l o w e d

    s e r i e s

    h u n k s

    j o i n e d e n d ,

    e a c h

    w h i c h

    c o n t a i n s

    n u m b e r

    b l o c k s

    v a r i o u s

    t y p e s .

    E a c h b l o c k s t a r t s w i t h l o n g w o r d

    w h i c h

    d e f i n e s

    t y p e ,

    t h i s f o l l o w e d

    z e r o m o r e

    a d d i t i o n a l l o n g w o r d s . N o t e

    t h a t

    e a c h b l o c k a l w a y s

    r o u n d e d

    t h e n e a r e s t

    l o n g w o r d

    b o u n d a r y

    T h e

    p r o g r a m u n i t h e a d e r a l s o b l o c k w i t h t h i s f o r m a t .

    T h e

    f o r m a t

    p r o g r a m u n i t f o l l o w s :

    P r o g r a m

    u n i t h e a d e r

    b l o c k

    H u n k s

  • 7/25/2019 AmigaDOS Technical Reference Manual

    19/56

    A m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l A m i g a B i n a r y F i l e

    S t r u c t u r e

    T h e b a s i c f o r m a t h u n k f o l l o w s :

    u n k n a m e

    b l o c k

    R e l o c a t a b l e

    b l o c k

    R e l o c a t i o n

    i n f o r m a t i o n

    b l o c k

    E x t e r n a l

    s y m b o l

    i n f o r m a t i o n

    b l o c k

    S y m b o l t a b l e

    b l o c k

    D e b u g

    b l o c k

    E n d

    b l o c k

    Y o u

    m a y o m i t

    t h e s e

    b l o c k t y p e s , e x c e p t b l o c k .

    T h e f o l l o w i n g

    s u b s e c t i o n s

    d e s c r i b e f o r m a t e a c h

    t h e s e

    b l o c k s . T h e

    v a l u e

    o f t h e t y p e

    w o r d

    a p p e a r s

    d e c i m a l

    a n d a f t e r t h e t y p e

    n a m e , e x a m p l e , h u n k u n i t v a l u e d e c i m a l

    i n h e x .

    2 . 2 . 1 h u n k _ u n i t 9 9 9 / 3 E 7

    T h i s s p e c i f i e s s t a r t

    p r o g r a m

    u n i t .

    c o n s i s t s t y p e

    w o r d , f o l l o w e d

    l e n g t h

    t h e u n i t

    n a m e

    l o n g w o r d s ,

    f o l l o w e d

    n a m e i t s e l f p a d d e d a

    l o n g w o r d

    b o u n d a r y

    w i t h

    z e r o s ,

    r e q u i r e d .

    d i a g r a m a t i c f o r m , t h e f o r m a t f o l l o w s :

    h u n k _ u n i t

    l o n g w o r d s

    n m

    F i g u r e 2 - A : H u n k _ u n i t 9 9 9 / 3 E 7

    2 . 2 . 2 h u n k n a m e 1 0 0 0 / 3 E 8

    T h i s d e f i n e s n a m e h u n k . N a m e s o p t i o n a l ; l i n k e r f i n d s m o r e n a m e d h u n k s w i t h

    s a m e n a m e ,

    c o m b i n e s

    h u n k s

    i n t o

    s i n g l e

    h u n k .

    N o t e

    t h a t

    p r o g r a m

    c o u n t e r

    r e l a t i v e e x t e r n a l

    r e f e r e n c e s

    o n l y r e s o l v e d b e t w e e n h u n k s w i t h s a m e n a m e .

    A n y

    e x t e r n a l

    r e f e r e n c e s

    l o a d f o r m a t f i l e b e t w e e n d i f f e r e n t h u n k s a n d r e q u i r e

    r e l o c a t a b l e

    r e f e r e n c e s ;

    a l t h o u g h , a s t h e

    l o a d e r

    s c a t t e r l o a d s t h e

    h u n k s

    i n t o m e m o r y , y o u c a n n o t a s s u m e

    t h a t

    t h e y a r e w i t h i n

    3 2 K e a c h

    o t h e r . N o t e

    t h a t t h e l e n g t h

    l o n g w o r d s

    a n d

    n a m e

    b l o c k , l i k e b l o c k s , r o u n d e d

    u p l o n g w o r d b o u n d a r y b y p a d d i n g w i t h z e r o s . T h e f o r m a t f o l l o w s :

  • 7/25/2019 AmigaDOS Technical Reference Manual

    20/56

    A m i g a B i n a r y F i l e

    S t r u c t u r e

    A m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l

    h u n k _ n a m e

    i n

    l o n g w o r d s

    n a m e

    F i g u r e 2 - B : u n k n a m e 1 0 0 0 / 3 E 8

    2 . 2 . 3

    h u n k _ c o d e 1 0 0 1 / 3 E 9

    T h i s

    d e f i n e s b l o c k c o d e t h a t l o a d e d i n t o m e m o r y a n d p o s s i b l y r e l o c a t e d . f o r m a t

    f o l l o w s :

    h u n k c o d e

    l o n g w o r d s

    c o d e

    F i g u r e

    1 - C : H u n k _ c o d e

    1 0 0 1 / 3 E 9

    2 . 2 . 4 h u n k _ d a t a

    1 0 0 2 / 3 E A

    T h i s

    d e f i n e s b l o c k

    i n i t i a l i z e d d a t a

    w h i c h l o a d e d

    i n t o m e m o r y

    a n d p o s s i b l y r e l o c a t e d .

    T h e

    l i n k e r s h o u l d

    a l t e r

    t h e s e b l o c k s t h e y p a r t

    o v e r l a y

    n o d e , m a y n e e d

    r e r e a d

    t h e m

    f r o m d i s k d u r i n g o v e r l a y h a n d l i n g . T h e f o r m a t f o l l o w s :

  • 7/25/2019 AmigaDOS Technical Reference Manual

    21/56

    A m i g a D O S T e c h n i c a l R e f e r e n c e

    M a n u a l

    A m i g a B i n a r y F i l e S t r u c t u r e

    h u n k _ d a t a

    N

    l o n g w o r d s

    d a t a

    F i g u r e I D : H u n k _ d a t a 1 0 0 2 / 3 E A

    2 . 2 . 5 h u n k _ b s s 1 0 0 3 / 3 E B

    T h i s s p e c i f i e s b l o c k u n i n i t i a l i z e d w o r k s p a c e

    w h i c h a l l o c a t e d

    b y

    l o a d e r

    b l o c k s u s e d

    s u c h

    t h i n g s s t a c k s

    a n d

    F O R T R N O M M O N

    b l o c k s . p o s s i b l e

    r e l o c a t e i n s i d e

    a

    b l o c k s y m b o l s c a n d e f i n e d w i t h i n o n e .

    f o r m a t f o l l o w s :

    h u n k b s s

    F i g u r e I E : H u n k _ b s s 1 0 0 3 / 3 E B

    w h e r e

    N

    s i z e

    b l o c k

    y o u

    r e q u i r e

    l o n g w o r d s .

    T h e

    m e m o r y

    u s e d

    b s s b l o c k s z e r o e d

    b y

    l o a d e r w h e n a l l o c a t e d .

    T h e r e l o c a t a b l e b l o c k w i t h i n h u n k m u s t b e o n e h u n k c o d e h u n k d a t a h u n k b s s .

    2 . 2 . 6

    h u n k _ r e l o c 3 2

    1 0 0 4 / 3 E C

    h u n k _ r e l o c 3 2 b l o c k s p e c i f i e s r e l o c a t i o n t h a t l i n k e r p e r f o r m w i t h i n c u r r e n t

    r e l o c a t a b l e

    b l o c k .

    T h e r e l o c a t i o n i n f o r m a t i o n

    a

    r e f e r e n c e l o c a t i o n w i t h i n

    c u r r e n t h u n k

    a n y

    o t h e r

    w i t h i n p r o g r a m

    u n i t .

    E a c h h u n k w i t h i n t h e u n i t n u m b e r e d , s t a r t i n g f r o m

    z e r o .

    T h e

    l i n k e r

    a d d s a d d r e s s

    b a s e s p e c i f i e d h u n k

    e a c h o f t h e l o n g w o r d s p r e c e d i n g

    r e l o c a t a b l e

    b l o c k

    t h a t

    l i s t

    o f f s e t s i n d i c a t e s .

    T h e

    o f f s e t

    l i s t

    o n l y

    i n c l u d e s r e f e r e n c e d

    h u n k s a n d

    a

    c o u n t o f z e r o i n d i c a t e s e n d l i s t f o r m a t f o l l o w s :

  • 7/25/2019 AmigaDOS Technical Reference Manual

    22/56

    A m i g a B i n a r y F i l e

    S t r u c t u r e

    m i g a O S T e c h n i c a l

    R e f e r e n c e

    M a n u a l

    h u n k _ r e l o c 3 2

    N l

    H u n k N u m b e r

    N l

    o f f s e t s

    N 2

    H u n k N u m b e r

    o f f s e t s

    N n

    H u n k

    N u m b e r

    n

    N n

    o f f s e t s

    F i g u r e 2 - F : H u n k _ r e l o c 3 2

    1 0 0 4 / 3 E C

    2 . 2 . 7

    h u n k _ r e l o c l 6

    1 0 0 5 / 3 E D

    h u n k _ r e l o c l 6

    b l o c k

    s p e c i f i e s

    r e l o c a t i o n

    t h a t t h e

    l i n k e r

    s h o u l d

    p e r f o r m

    w i t h i n c u r r e n t

    r e l o c a t a b l e

    b l o c k .

    T h e r e l o c a t i o n

    i n f o r m a t i o n r e f e r s

    p r o g r a m c o u n t e r r e l a t i v e r e f e r e n c e s

    o t h e r h u n k s p r o g r a m u n i t . T h e f o r m a t

    s a m e h u n k

    r e l o c 3 2 b l o c k s . T h e s e r e f e r e n c e s

    m u s t h u n k s w i t h s a m e n a m e , t h a t l i n k e r

    p e r f o r m

    t h e r e l o c a t i o n w h i l e c o a g u l a t e s

    t h a t g a t h e r s t o g e t h e r s i m i l a r l y n a m e d h u n k s .

  • 7/25/2019 AmigaDOS Technical Reference Manual

    23/56

    m i g a O S T e c h n i c a l

    R e f e r e n c e M a n u a l

    A m i g a

    B i n a r y

    F i l e S t r u c t u r e

    2 . 2 . 8

    h u n k _ r e l o c 8 1 0 0 6 / 3 E E

    h u n k r e l o c 8 b l o c k s p e c i f i e s r e l o c a t i o n t h a t t h e l i n k e r s h o u l d p e r f o r m w i t h i n

    c u r r e n t

    r e l o c a t a b l e b l o c k . r e l o c a t i o n i n f o r m a t i o n r e f e r s

    p r o g r a m

    c o u n t e r r e l a t i v e r e f e r e n c e s

    o t h e r h u n k s p r o g r a m u n i t . T h e f o r m a t

    s a m e

    h u n k r e l o c 3 2 b l o c k s . T h e s e r e f e r e n c e s

    m u s t h u n k s w i t h s a m e

    n a m e ,

    s o t h a t t h e l i n k e r p e r f o r m r e l o c a t i o n w h i l e c o a g u l a t e s

    s i m i l a r l y n a m e d h u n k s .

    2 . 2 . 9 h u n k _ e x t 1 0 0 7 / 3 E F

    T h i s b l o c k c o n t a i n s e x t e r n a l s y m b o l i n f o r m a t i o n . c o n t a i n s e n t r i e s b o t h d e f i n i n g s y m b o l s l i s t i n g

    r e f e r e n c e s t h e m . f o r m a t f o l l o w s :

    h u n k _ e x t

    S y m b o l

    d a t a

    u n i t

    S y m b o l

    d a t a

    u n i t

    F i g u r e 2 - G :

    H u n k _ e x t 1 0 0 7 / 3 E F

    w h e r e

    t h e r e s y m b o l

    d a t a

    u n i t 1 e a c h

    s y m b o l u s e d ,

    b l o c k e n d s

    w i t h

    z e r o w o r d .

    E a c h

    s y m b o l d a t a

    u n i t

    c o n s i s t s t y p e

    b y t e , s y m b o l n a m e l e n g t h

    t h r e e

    b y t e s ) , s y m b o l n a m e

    i t s e l f

    f u r t h e r

    d a t a .

    Y o u

    s p e c i f y

    s y m b o l

    n a m e l e n g t h l o n g w o r d s ,

    a n d p a d

    n a m e

    f i e l d t o

    n e x t

    l o n g w o r d

    b o u n d a r y

    w i t h z e r o s .

    T h e t y p e b y t e s p e c i f i e s w h e t h e r s y m b o l d e f i n i t i o n r e f e r e n c e , e t c . m i g a O S u s e s

    v a l u e s

    0 - 1 2 7 s y m b o l d e f i n i t i o n s , 2 8 2 5 5 r e f e r e n c e s .

  • 7/25/2019 AmigaDOS Technical Reference Manual

    24/56

    A m i g a B i n a r y F i l e S t r u c t u r e m i g a D O S

    T e c h n i c a l

    R e f e r e n c e M a n u a l

    m o m e n t v a l u e s

    a r e a s f o l l o w s :

    N a m e V a l u e M e a n i n g

    s y m b

    e x t _ d e f

    e x t _ r e f 3 2

    c o m m o n

    r e f l 6

    r e f 8

    S y m b o l

    t a b l e s y m b o l b l o c k b e l o w

    R e l o c a t a b l e

    d e f i n i t i o n

    A b s o l u t e

    d e f i n i t i o n

    R e s i d e n t

    l i b r a r y

    d e f i n i t i o n

    3 2 b i t r e f e r e n c e s y m b o l

    3 2 b i t r e f e r e n c e C O M M O N

    1 6 b i t r e f e r e n c e s y m b o l

    8 b i t r e f e r e n c e

    s y m b o l

    T a b l e 2 - A :

    E x t e r n a l

    S y m b o l s

    T h e l i n k e r f a u l t s o t h e r v a l u e s . t h e r e d a t a w o r d , v a l u e o f t h e s y m b o l . T h i s

    m e r e l y o f f s e t s y m b o l f r o m s t a r t

    h u n k .

    t h e r e a l s o d a t a v a l u e ,

    w h i c h

    t h e a b s o l u t e

    v a l u e a d d e d i n t o c o d e . T h e l i n k e r t r e a t s v a l u e r e s i n

    s a m e w a y

    d e f , e x c e p t t h a t

    a s s u m e s

    h u n k n a m e

    l i b r a r y

    n a m e c o p i e s

    t h i s

    n a m e

    t h r o u g h

    t h e l o a d

    f i l e

    t y p e

    b y t e s

    r e f 3 2 ,

    e x t r e f l 6

    r e f 8

    f o l l o w e d

    c o u n t l i s t r e f e r e n c e s ,

    a g a i n

    s p e c i f i e d o f f s e t s f r o m

    s t a r t

    o f t h e h u n k .

    t y p e e x t c o m m o n

    s a m e

    s t r u c t u r e e x c e p t t h a t h a s a O O N b l o c k s i z e b e f o r e t h e

    c o u n t .

    T h e

    l i n k e r t r e a t s

    s y m b o l s

    s p e c i f i e d

    c o m m o n

    f o l l o w i n g w a y :

    e n c o u n t e r s

    d e f i n i t i o n

    a s y m b o l

    r e f e r e n c e d c o m m o n t h e n

    u s e s

    t h i s v a l u e

    o n l y t i m e

    d e f i n i t i o n s h o u l d a r i s e

    F O R T R N B l o c k

    D a t a

    c a s e .

    O t h e r w i s e a l l o c a t e s

    s u i t a b l e s p a c e u s i n g m a x i m u m

    s i z e

    s p e c i f i e d e a c h

    c o m m o n s y m b o l

    r e f e r e n c e .

    T h e l i n k e r h a n d l e s e x t e r n a l

    r e f e r e n c e s

    d i f f e r e n t l y

    a c c o r d i n g

    t y p e c o r r e s p o n d i n g

    d e f i n i t i o n . a d d s a b s o l u t e v a l u e s l o n g ,

    w o r d b y t e

    f i e l d g i v e s

    e r r o r

    t h e s i g n e d

    v a l u e

    d o e s f i t

    R e l o c a t a b l e

    3 2 b i t r e f e r e n c e s h a v e s y m b o l v a l u e

    a d d e d f i e l d a n d r e l o c a t i o n

    r e c o r d

    p r o d u c e d l o a d e r . 8 b i t

    r e f e r e n c e s a r e h a n d l e d P C r e l a t i v e r e f e r e n c e s m a y

    o n l y

    m a d e

    h u n k s w i t h

    s a m e

    n a m e

    t h a t t h e h u n k s c o a g u l a t e d

    l i n k e r

    b e f o r e t h e y

    l o a d e d . a l s o

    p o s s i b l e

    P C r e l a t i v e r e f e r e n c e s f a i l t h e r e f e r e n c e a n d d e f i n i t i o n

    f a r a p a r t . T h e l i n k e r m a y o n l y a c c e s s r e s i d e n t l i b r a r y d e f i n i t i o n s w i t h 3 2 b i t r e f e r e n c e s , w h i c h t h e n

    h a n d l e s r e l o c a t a b l e 3 2 b i t r e f e r e n c e s . T h e s y m b o l d a t a u n i t f o r m a t s a r e a s f o l l o w s :

    e x t _ d e f a b s r e s

    t y p N a m e L e n g t h N L

    N L

    l o n g w o r d s

    s y m b o l

    n a m e

    S y m b o l v a l u e

    F i g u r e 2 - H :

    S y m b o l

    D a t a U n i t

  • 7/25/2019 AmigaDOS Technical Reference Manual

    25/56

    A m i g a D O S T e c h n i c a l

    R e f e r e n c e

    M a n u a l A m i g a B i n a r y S t r u c t u r e

    e x t _ r e f 3 2 6 8

    t y p N a m e L e n g t h N L

    N L

    l o n g w o r d s

    o f

    s y m b o l n a m e

    C o u n t o f r e f e r e n c e s

    N R

    N R

    l o n g w o r d s

    o f s y m b o l

    r e f e r e n c e s

    e x t _ c o m m o n

    1 3 0 N a m e L e n g t h N L

    N L l o n g w o r d s

    o f s y m b o l n a m e

    S i z e o f c o m m o n b l o c k

    C o u n t

    o f

    r e f e r e n c e s N R

    N R

    l o n g w o r d s

    o f s y m b o l

    r e f e r e n c e s

    c o n t i n u a t i o n

    F i g u r e

  • 7/25/2019 AmigaDOS Technical Reference Manual

    26/56

    A m i g a

    B i n a r y

    F i l e

    S t r u c t u r e

    A m i g a D O S T e c h n i c a l R e f e r e n c e

    M a n u a l

    2 . 2 . 1 0

    h u n k _ s y m b o l

    1 0 0 8 / 3 F 0

    Y o u t h i s

    b l o c k a t t a c h s y m b o l t a b l e h u n k

    t h a t s y m b o l i c

    d e b u g g e r

    c o d e . l i n k e r p a s s e s s y m b o l t a b l e b l o c k s t h r o u g h a t t a c h e d h u n k a n d , h u n k s

    c o a g u l a t e d ,

    c o a g u l a t e s s y m b o l

    t a b l e s . T h e l o a d e r d o e s n o t l o a d

    s y m b o l

    t a b l e b l o c k s i n t o m e m o r y ;

    w h e n

    t h i s r e q u i r e d , d e b u g g e r

    e x p e c t e d

    r e a d

    t h e l o a d f i l e T h e f o r m a t

    s y m b o l t a b l e

    b l o c k s a m e e x t e r n a l

    s y m b o l i n f o r m a t i o n b l o c k

    w i t h

    s y m b o l

    t a b l e

    u n i t s e a c h n a m e

    u s e .

    T h e t y p e c o d e o f z e r o u s e d w i t h i n s y m b o l d a t a u n i t s . T h e v a l u e s y m b o l

    o f f s e t

    s y m b o l

    f r o m s t a r t

    h u n k T h u s f o r m a t

    f o l l o w s :

    h u n k s y m b o l

    y m b o l

    d a t a

    u n i t

    y m b o l

    d a t a

    u n i t

    F i g u r e H u n k _ s y m b o l

    1 0 0 8 / 3 F O

    w h e r e e a c h s y m b o l d a t a u n i t f o l l o w i n g f o r m a t .

    N a m e

    L e n g t h

    N L

    N L l o n g w o r d s

    o f s y m b o l n a m e

    S y m b o l v a l u e

    F i g u r e 2 - J : S y m b o l D a t a

    U n i t

  • 7/25/2019 AmigaDOS Technical Reference Manual

    27/56

    A m i g a D O S T e c h n i c a l R e f e r e n c e

    M a n u a l

    A m i g a B i n a r y F i l e S t r u c t u r e

    2 . 2 . 1 1

    h u n k _ d e b u g 1 0 0 9 / 3 F 1

    A m i g a D O S

    p r o v i d e s t h e d e b u g

    b l o c k t h a t

    a n

    o b j e c t f i l e

    c a n

    c a r r y f u r t h e r

    d e b u g g i n g

    i n f o r m a t i o n .

    e x a m p l e ,

    h i g h l e v e l l a n g u a g e c o m p i l e r s m a y n e e d m a i n t a i n d e s c r i p t i o n s o f

    d a t a

    s t r u c t u r e s

    b y h i g h l e v e l d e b u g g e r s .

    T h e

    d e b u g b l o c k

    m a y

    h o l d t h i s

    i n f o r m a t i o n . A m i g a D O S

    d o e s n o t

    i m p o s e

    f o r m a t

    d e b u g

    b l o c k e x c e p t t h a t m u s t s t a r t w i t h h u n k d e b u g l o n g w o r d a n d b e f o l l o w e d

    a l o n g w o r d t h a t

    i n d i c a t e s s i z e t h e b l o c k l o n g w o r d s .

    T h u s

    f o r m a t f o l l o w s :

    h u n k d e u g

    l o n g w o r d s

    d e b u g

    d a t a

    F i g u r e

    2 - K :

    H u n k _ d e b u g 1 0 0 9 / 3 F 1

    2 . 2 . 1 2 h u n k _ e n d 1 0 1 0 / 3 F 2

    T h i s s p e c i f i e s e n d a h u n k . c o n s i s t s o f s i n g l e l o n g w o r d , h u n k e n d .

    2 . 3 L o a d F i l e s

    T h e f o r m a t

    l o a d

    f i l e t h a t o u t p u t f r o m

    l i n k e r

    s i m i l a r t h a t o f a n o b j e c t f i l e .

    p a r t i c u l a r , c o n s i s t s o f n u m b e r h u n k s w i t h a

    s i m i l a r

    f o r m a t t h o s e a n o b j e c t

    f i l e .

    T h e

    m a i n

    d i f f e r e n c e t h a t t h e h u n k s n e v e r c o n t a i n a n e x t e r n a l s y m b o l i n f o r m a t i o n b l o c k , e x t e r n a l

    s y m b o l s h a v e b e e n r e s o l v e d , a n d

    p r o g r a m

    u n i t i n f o r m a t i o n i n c l u d e d . s i m p l e l o a d f i l e

    t h a t o v e r l a i d , f i l e c o n t a i n s a h e a d e r

    b l o c k w h i c h

    i n d i c a t e s t o t a l n u m b e r h u n k s

    l o a d

    f i l e

    a n d a n y

    r e s i d e n t l i b r a r i e s p r o g r a m r e f e r e n c e d . T h i s b l o c k

    f o l l o w e d

    h u n k s ,

    w h i c h

    m a y

    r e s u l t o f

    c o a g u l a t i n g n u m b e r i n p u t

    h u n k s t h e y

    h a d

    s a m e

    n a m e . T h i s

    c o m p l e t e

    s t r u c t u r e r e f e r r e d n o d e .

    L o a d

    f i l e s

    m a y

    a l s o c o n t a i n o v e r l a y

    i n f o r m a t i o n . t h i s

    c a s e ,

    a n

    o v e r l a y

    t a b l e f o l l o w s p r i m a r y n o d e ,

    s p e c i a l

    b r e a k

    b l o c k

    s e p a r a t e s t h e

    o v e r l a y n o d e s . T h u s

    t h e l o a d f i l e s t r u c t u r e s u m m a r i z e d f o l l o w s , w h e r e

    i t e m s m a r k e d

    w i t h a n a s t e r i s k

    o p t i o n a l .

    P r i m a r y n o d e

    O v e r l a y t a b l e b l o c k

    O v e r l a y n o d e s s e p a r a t e d b y b r e a k b l o c k s

    r e l o c a t i o n b l o c k s

    w i t h i n h u n k s

    a l w a y s t y p e h u n k r e l o c 3 2 ,

    i n d i c a t e

    r e l o c a t i o n

    b e p e r f o r m e d l o a d

    t i m e .

    T h i s

    i n c l u d e s b o t h r e l o c a t i o n

    s p e c i f i e d w i t h h u n k r e l o c 3 2

    b l o c k s

    o b j e c t

    f i l e e x t r a r e l o c a t i o n

    r e q u i r e d t h e r e s o l u t i o n o f

    e x t e r n a l

    s y m b o l s .

    2 - 1 1

  • 7/25/2019 AmigaDOS Technical Reference Manual

    28/56

    A m i g a

    B i n a r y

    F i l e S t r u c t u r e

    m i g a O S

    T e c h n i c a l R e f e r e n c e

    M a n u a l

    E a c h e x t e r n a l r e f e r e n c e o b j e c t f i l e s i s

    h a n d l e d

    f o l l o w s . T h e l i n k e r s e a r c h e s t h e p r i m a r y i n p u t

    m a t c h i n g e x t e r n a l d e f i n i t i o n .

    d o e s f i n d

    o n e ,

    s e a r c h e s s c a n n e d

    l i b r a r y

    i n c l u d e s

    l o a d e n t i r e p r o g r a m

    u n i t w h e r e d e f i n i t i o n w a s d e f i n e d .

    T h i s

    m a y m a k e f u r t h e r

    e x t e r n a l r e f e r e n c e s b e c o m e o u t s t a n d i n g . A t f i r s t p a s s ,

    l i n k e r

    k n o w s t h e e x t e r n a l

    d e f i n i t i o n s t o t a l n u m b e r h u n k s t h a t g o i n g t o u s e . T h e s e i n c l u d e t h e h u n k s w i t h i n

    l o a d h u n k s a s s o c i a t e d w i t h

    r e s i d e n t l i b r a r i e s . O n

    s e c o n d p a s s , l i n k e r

    p a t c h e s

    l o n g w o r d

    e x t e r n a l

    r e f e r e n c e s t h a t

    t h e y

    r e f e r r e q u i r e d o f f s e t w i t h i n h u n k

    w h i c h

    d e f i n e s

    s y m b o l

    p r o d u c e s

    e x t r a e n t r y

    r e l o c a t i o n

    b l o c k

    t h a t ,

    w h e n

    h u n k s

    l o a d e d , a d d s e a c h e x t e r n a l r e f e r e n c e t h e b a s e a d d r e s s o f t h e h u n k d e f i n i n g t h e s y m b o l T h i s

    m e c h a n i s m a l s o w o r k s r e s i d e n t

    l i b r a r i e s .

    B e f o r e t h e l o a d e r m a k e t h e s e

    c r o s s

    h u n k

    r e f e r e n c e s ,

    n e e d s

    k n o w

    n u m b e r a n d s i z e o f t h e

    h u n k s t h e n o d e s .

    T h e

    h e a d e r b l o c k

    p r o v i d e s t h i s

    i n f o r m a t i o n ,

    d e s c r i b e d

    b e l o w . T h e

    l o a d

    f i l e m a y

    a l s o

    c o n t a i n o v e r l a y

    i n f o r m a t i o n

    o v e r l a y t a b l e b l o c k . B r e a k b l o c k s s e p a r a t e

    o v e r l a y

    n o d e s .

    2 . 3 . 1 h u n k _ h e a d e r 1 0 1 1 / 3 F 3

    T h i s

    b l o c k

    g i v e s i n f o r m a t i o n a b o u t n u m b e r h u n k s t h a t

    l o a d e d , a n d

    s i z e e a c h o n e .

    a l s o

    c o n t a i n s

    n a m e s

    r e s i d e n t

    l i b r a r i e s

    w h i c h

    m u s t

    o p e n e d

    w h e n

    n o d e

    l o a d e d .

    h u n k _ h e a d e r

    N l

    N l

    l o n g w o r d s

    o f

    n a m e

    l o n g w o r d s

    o f n a m e

    T a b l e

    s i z e

    F i r s t H u n k

    F

    L a s t H u n k

    L

    F

    s i z e s

    F i g u r e 2 - L : H u n k _ h e a d e r 1 0 1 1 / 3 F 3

  • 7/25/2019 AmigaDOS Technical Reference Manual

    29/56

    A m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l A m i g a B i n a r y F i l e S t r u c t u r e

    T h e f o r m a t h u n k h e a d e r d e s c r i b e d F i g u r e 2 - L .

    T h e f i r s t

    p a r t h e a d e r b l o c k c o n t a i n s

    n a m e s o f r e s i d e n t l i b r a r i e s

    t h a t

    t h e l o a d e r m u s t o p e n w h e n t h i s n o d e l o a d e d .

    E a c h

    n a m e

    c o n s i s t s

    l o n g

    w o r d i n d i c a t i n g l e n g t h o f t h e n a m e l o n g w o r d s t e x t n a m e p a d d e d l o n g w o r d

    b o u n d a r y w i t h z e r o s . T h e n a m e l i s t e n d s w i t h a l o n g w o r d z e r o . T h e n a m e s o r d e r

    w h i c h

    t h e l o a d e r o p e n t h e m .

    W h e n l o a d s a p r i m a r y n o d e , t h e l o a d e r a l l o c a t e s t a b l e i n m e m o r y w h i c h u s e s k e e p t r a c k

    h u n k s

    l o a d e d .

    T h i s

    t a b l e

    m u s t

    l a r g e

    e n o u g h

    h u n k s

    l o a d

    f i l e

    i n c l u d i n g t h e

    h u n k s i n o v e r l a y s . T h e l o a d e r a l s o

    u s e s

    t h i s t a b l e k e e p a c o p y o f t h e h u n k t a b l e s a s s o c i a t e d w i t h

    r e s i d e n t l i b r a r i e s . T h e n e x t l o n g w o r d i n t h e h e a d e r b l o c k t h e r e f o r e t h i s t a b l e s i z e , w h i c h e q u a l

    m a x i m u m

    h u n k

    n u m b e r r e f e r e n e p l u s

    o n e .

    T h e

    n e x t l o n g w o r d

    F

    r e f e r s f i r s t s l o t h u n k

    t a b l e t h e l o a d e r s h o u l d u s e w h e n l o a d i n g .

    p r i m a r y n o d e t h a t d o e s n o t

    r e f e r e n c e

    r e s i d e n t

    l i b r a r y ,

    t h i s v a l u e

    z e r o ; o t h e r w i s e , n u m b e r

    h u n k s

    r e s i d e n t l i b r a r i e s .

    T h e l o a d e r

    c o p i e s

    t h e s e

    e n t r i e s

    f r o m

    h u n k t a b l e

    a s s o c i a t e d w i t h

    l i b r a r y

    f o l l o w i n g

    l i b r a r y

    o p e n

    c a l l . a n

    o v e r l a y

    n o d e ,

    t h i s

    v a l u e

    n u m b e r h u n k s

    r e s i d e n t l i b r a r i e s

    p l u s t h e

    n u m b e r h u n k s

    a l r e a d y

    l o a d e d a n c e s t o r n o d e s .

    T h e n e x t l o n g w o r d L r e f e r s l a s t

    h u n k s l o t

    l o a d e r l o a d

    p a r t t h i s

    l o a d e r c a l l . T h e t o t a l

    n u m b e r h u n k s l o a d e d t h e r e f o r e

    L

    F

    T h e h e a d e r b l o c k c o n t i n u e s w i t h L F

    l o n g w o r d s

    w h i c h i n d i c a t e s i z e s e a c h h u n k w h i c h

    l o a d e d a s

    p a r t

    t h i s c a l l .

    T h i s

    e n a b l e s t h e l o a d e r p r e a l l o c a t e t h e s p a c e h u n k s a n d h e n c e

    p e r f o r m r e l o c a t i o n b e t w e e n h u n k s w h i c h r e q u i r e d a s t h e y a r e l o a d e d . O n e h u n k m a y t h e b s s

    h u n k

    w i t h

    s i z e g i v e n a s z e r o ; i n t h i s

    c a s e

    l o a d e r u s e s a n o p e r a t i n g

    s y s t e m

    v a r i a b l e g i v e t h e s i z e

    d e s c r i b e d h u n k b s s a b o v e .

    2 . 3 . 2 h u n k _ o v e r l a y 1 0 1 3 / 3 F 5

    o v e r l a y

    t a b l e

    b l o c k i n d i c a t e s

    l o a d e r t h a t

    l o a d i n g

    o v e r l a i d p r o g r a m c o n t a i n s

    d a t a

    o v e r l a y

    t a b l e . O n e n c o u n t e r i n g t h e l o a d e r

    s e t s

    u p t a b l e ,

    a n d r e t u r n s ,

    l e a v i n g t h e

    i n p u t c h a n n e l t h e l o a d f i l e s t i l l o p e n . f o r m a t f o l l o w s :

  • 7/25/2019 AmigaDOS Technical Reference Manual

    30/56

    A m i g a B i n a r y

    F i l e

    S t r u c t u r e

    A m i g a D O S T e c h n i c a l

    R e f e r e n c e

    M a n u a l

    h u n k _ o v e r l a y

    T a b l e s i z e

    M

    M

    z e r o s

    O v e r l a y

    d a t a

    t a b l e

    F i g u r e 2 - M : H u n k _ o v e r l a y ( 1 0 1 3 / 3 F 5 )

    T h e

    f i r s t

    l o n g w o r d u p p e r

    b o u n d c o m p l e t e

    o v e r l a y t a b l e l o n g w o r d s .

    m a x i m u m l e v e l o v e r l a y t r e e u s e s w i t h

    r o o t

    l e v e l b e i n g z e r o .

    T h e

    n e x t

    + 1

    w o r d s

    f o r m t h e o r d i n a t e t a b l e s e c t i o n o f o v e r l a y t a b l e .

    r e s t t h e b l o c k o v e r l a y

    d a t a t a b l e , s e r i e s e i g h t - w o r d

    e n t r i e s ,

    e a c h

    o v e r l a y

    s y m b o l .

    0

    m a x i m u m

    o v e r l a y

    n u m b e r

    u s e d ,

    t h e n

    s i z e o v e r l a y

    d a t a t a b l e

    1 * 8 ,

    s i n c e

    f i r s t o v e r l a y n u m b e r z e r o . o v e r l a y

    t a b l e

    s i z e

    e q u a l + 1 ) * 8 +

    2 . 3 . 3 h u n k _ b r e a k ( 1 0 1 4 / 3 F 6 )

    A b r e a k

    b l o c k

    i n d i c a t e s o v e r l a y n o d e .

    c o n s i s t s s i n g l e

    l o n g w o r d , h u n k b r e a k .

    2 . 4 E x a m p l e s

    T h e f o l l o w i n g s i m p l e

    s e c t i o n s

    c o d e s h o w h o w t h e l i n k e r l o a d e r h a n d l e

    e x t e r n a l

    s y m b o l s .

    e x a m p l e ,

    I D N T A

    X R E F

    B I L L Y , J O H N

    X D E F M A R Y

    T h e n e x t l o n g w o r d r e q u i r e s r e l o c a t i o n

    0 0 0 0 0 0 0 0

    0 0 0 8 D C . L

    F R E D

    0 0 0 4 1 2 3 C 0 0 F F M O V E . B

    F F , D 1

    0 0 0 8 7 0 0 1

    F R E D M O V E Q

    l , D 0

    E x t e r n a l

    e n t r y p o i n t

    0 0 0 A 1 4 E 7 1 M A R Y N O P

    0 0 0 C 1 4 E B 9 0 0 0 0 0 0 0 0

    B I L L Y

    C a l l e x t e r n a l

    0 0 1 2 2 2 3 9

    0 0 0 0 0 0 0 0

    M O V E . L

    J O H N , D 1

    R e f e r e n c e

    e x t e r n a l

    E N D

    2 - 1 4

  • 7/25/2019 AmigaDOS Technical Reference Manual

    31/56

    A m i g a D O S T e c h n i c a l R e f e r e n c e

    M a n u a l A m i g a B i n a r y S t r u c t u r e

    p r o d u c e s t h e f o l l o w i n g

    o b j e c t

    h u n k _ u n i t

    0 0 0 0 0 0 0 1

    S i z e l o n g w o r d s

    4 1 0 0 0 0 0 0

    N a m e , p a d d e d

    l w o r d

    h u n k _ _ c o d e

    0 0 0 0 0 0 0 6

    S i z e l o n g w o r d s

    0 0 0 0 0 0 0 8 1 2 3 C 0 0 F F 7 0 0 1 4 E 7 1 4 E B 9 0 0 0 0 0 0 0 0 2 2 3 9 0 0 0 0 0 0 0 0

    h u n k _ r e l o c 3 2

    0 0 0 0 0 0 0 1

    N u m b e r h u n k

    0 0 0 0 0 0 0 0 H u n k

    0 0 0 0 0 0 0 0 O f f s e t t o b e

    r e l o c a t e d

    0 0 0 0 0 0 0 0 Z e r o t o m a r k e n d

    h u n k _ e x t

    0 1 0 0 0 0 0 1

    X D E F ,

    S i z e

    l o n g w o r d

    4 D 4 1 5 2 5 9

    M A R Y

    0 0 0 0 0 0 0 A O f f s e t d e f i n i t i o n

    8 1 0 0 0 0 0 1

    X R E F , S i z e l o n g w o r d

    4 A 4 F 4 8 4 E J O H N

    0 0 0 0 0 0 0 1

    N u m b e r r e f e r e n c e s

    0 0 0 0 0 0 1 4

    O f f s e t r e f e r e n c e

    8 1 0 0 0 0 0 2

    X R E F ,

    S i z e

    l o n g w o r d s

    4 2 4 9 4 C 4 C B I L L Y

    5 9 0 0 0 0 0 0

    z e r o s

    t o p a d )

    0 0 0 0 0 0 0 1 N u m b e r r e f e r e n c e s

    0 0 0 0 0 0 0 E O f f s e t r e f e r e n c e

    0 0 0 0 0 0 0 0

    E n d

    e x t e r n a l b l o c k

    h u n k _ e n d

    m a t c h i n g

    p r o g r a m

    t o t h i s f o l l o w s

    0 0 0 0 1

    2 A 3 C

    E x t e r n a l

    0 0 0 6 1

    4 E 7 1

    E x t e r n a l

    0 0 0 8 1 7 2 0 1

    A A A A

    e n t r y

    e n t r y

    C a l l e x t e r n a l

    0 0 0 A 4 E F 9 0 0 0 0

    A A A A

    p o i n t

    B I L L Y

    p o i n t

    J O H N

    r e f e r e n c e

    0 0 0 0

    I D N T

    X D E F

    X R E F

    M O V E . L

    N O P

    M O V E Q

    J M P

    E N D

    B

    B I L L Y , J O H N

    M A R Y

    A A A A A A A A , D 5

    1 , D 1

    M A R Y

    c o r r e s p o n d i n g o u t p u t c o d e w o u l d

    2 - 1 5

  • 7/25/2019 AmigaDOS Technical Reference Manual

    32/56

    A m i g a

    B i n a r y

    F i l e S t r u c t u r e A m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l

    h u n k _ u n i t

    0 0 0 0 0 0 0 1

    S i z e

    l o n g w o r d s

    4 2 0 0 0 0 0 0 U n i t n a m e

    h u n k _ c o d e

    0 0 0 0 0 0 0 4 S i z e

    l o n g w o r d s

    2 A 3 C A A A A

    A A A A 4 E 7 1 7 2 0 1 4 E F 9

    0 0 0 0 0 0 0 0

    h u n k _ e x t

    0 1 0 0 0 0 0 1

    X D E F

    S i z e l o n g w o r d

    4 A 4 F 4 8 4 E

    J O H N

    0 0 0 0 0 0 0 8

    O f f s e t d e f i n i t i o n

    0 1 0 0 0 0 0 2 X D E F S i z e l o n g w o r d s

    4 2 4 9 4 C 4 C B I L L Y

    5 9 0 0 0 0 0 0

    z e r o s t o p a d

    0 0 0 0 0 0 0 6

    O f f s e t d e f i n i t i o n

    8 1 0 0 0 0 0 1 X R E F S i z e l o n g w o r d

    4 D 4 1 5 2 5 9

    M A R Y

    0 0 0 0 0 0 0 1 N u m b e r r e f e r e n c e s

    0 0 0 0 0 0 0 C O f f s e t r e f e r e n c e

    0 0 0 0 0 0 0 0 E n d e x t e r n a l b l o c k

    h u n k _ _ e n d

    O n c e y o u

    p a s s e d t h i s

    t h r o u g h l i n k e r t h e l o a d w o u l d h a v e t h e f o l l o w i n g f o r m a t

    h u n k _ J i e a d e r

    0 0 0 0 0 0 0 0

    N o h u n k n a m e

    0 0 0 0 0 0 0 2 S i z e h u n k t a b l e

    0 0 0 0 0 0 0 0 F i r s t h u n k

    0 0 0 0 0 0 0 1 L a s t h u n k

    0 0 0 0 0 0 0 6 S i z e h u n k

    0 0 0 0 0 0 0 4 S i z e h u n k

    h u n k _ _ c o d e

    0 0 0 0 0 0 0 6

    S i z e c o d e

    l o n g w o r d s

    0 0 0 0 0 0 0 8 1 2 3 C 0 0 F F 7 0 0 1 4 E 7 1 4 E B 9 0 0 0 0 0 0 0 6 2 2 3 9 0 0 0 0 0 0 0 8

    h u n k _ r e l o c 3 2

    0 0 0 0 0 0 0 1 N u m b e r h u n k

    0 0 0 0 0 0 0 0 H u n k

    0 0 0 0 0 0 0 0 O f f s e t t o b e r e l o c a t e d

    0 0 0 0 0 0 0 2

    N u m b e r h u n k

    0 0 0 0 0 0 0 1

    H u n k

    0 0 0 0 0 0 1 4 O f f s e t b e r e l o c a t e d

    0 0 0 0 0 0 0 E O f f s e t r e l o c a t e d

    0 0 0 0 0 0 0 0

    Z e r o

    m a r k

    e n d

    h u n k _ e n d

    h u n k _ _ c o d e

    0 0 0 0 0 0 0 4 S i z e c o d e l o n g w o r d s

    2 A 3 C A A A A A A A A 4 E 7 1

    7 2 0 1 4 E F 9

    0 0 0 0 0 0 0 A

    h u n k _ r e l o c 3 2

    0 0 0 0 0 0 0 1 N u m b e r h u n k

    0 0 0 0 0 0 0 0

    H u n k

    0 0 0 0 0 0 0 C O f f s e t t o b e r e l o c a t e d

    0 0 0 0 0 0 0 0 Z e r o m a r k

    h u n k e n d

    2 - 1 6

  • 7/25/2019 AmigaDOS Technical Reference Manual

    33/56

    A m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l

    A m i g a

    B i n a r y F i l e

    S t r u c t u r e

    W h e n t h e l o a d e r l o a d s t h i s c o d e i n t o m e m o r y r e a d s h e a d e r b l o c k a n d

    a l l o c a t e s

    h u n k t a b l e

    l o n g w o r d s .

    t h e n a l l o c a t e s s p a c e

    c a l l i n g

    o p e r a t i n g

    s y s t e m

    r o u t i n e r e q u e s t i n g a r e a s

    s i z e s a n d

    l o n g w o r d s r e s p e c t i v e l y .

    A s s u m i n g

    t w o

    a r e a s r e t u r n e d

    w e r e

    l o c a t i o n s 3 0 0 0

    a n d

    7 0 0 0 h u n k t a b l e

    w o u l d

    c o n t a i n 3 0 0 0 7 0 0 0 .

    T h e l o a d e r r e a d s f i r s t h u n k a n d p l a c e s t h e c o d e

    3 0 0 0 ;

    t h e n h a n d l e s r e l o c a t i o n . T h e f i r s t

    i t e m

    s p e c i f i e s r e l o c a t i o n w i t h r e s p e c t h u n k a d d s 3 0 0 0 l o n g w o r d o f f s e t 0 c o n v e r t i n g t h e

    v a l u e

    s t o r e d

    t h e r e

    f r o m 0 0 0 0 0 0 0 8

    0 0 0 0 3 0 0 8 .

    T h e

    s e c o n d i t e m

    s p e c i f i e s

    r e l o c a t i o n

    w i t h

    r e s p e c t

    h u n k A l t h o u g h t h i s

    l o a d e d

    w e k n o w t h a t w i l l l o a d e d l o c a t i o n 7 0 0 0 t h i s

    a d d e d

    t h e v a l u e s

    s t o r e d 3 0 0 E a n d 3 0 1 4 . N o t e t h a t l i n k e r a l r e a d y i n s e r t e d o f f s e t s 0 0 0 0 0 0 0 6

    a n d

    0 0 0 0 0 0 0 8 i n t o

    t h e r e f e r e n c e s

    h u n k

    t h a t t h e y

    r e f e r

    c o r r e c t

    o f f s e t h u n k

    d e f i n i t i o n .

    T h u s

    l o n g w o r d s s p e c i f y i n g t h e

    e x t e r n a l r e f e r e n c e s e n d

    u p c o n t a i n i n g v a l u e s

    0 0 0 0 7 0 0 6

    0 0 0 0 7 0 0 8 w h i c h c o r r e c t p l a c e o n c e s e c o n d h u n k l o a d e d .

    I n t h e s a m e w a y t h e l o a d e r l o a d s t h e s e c o n d h u n k i n t o m e m o r y a t l o c a t i o n 7 0 0 0 a n d t h e r e l o c a t i o n

    i n f o r m a t i o n

    s p e c i f i e d a l t e r s l o n g w o r d

    7 0 0 C f r o m

    O O O O O O O A

    o f f s e t R Y f i r s t

    h u n k

    0 0 0 0 3 0 0 A

    a d d r e s s R Y

    m e m o r y .

    T h e l o a d e r h a n d l e s

    r e f e r e n c e s

    r e s i d e n t l i b r a r i e s i n s a m e w a y e x c e p t

    t h a t

    a f t e r h a s o p e n e d

    l i b r a r y

    c o p i e s t h e

    l o c a t i o n s o f

    h u n k s

    c o m p r i s i n g

    l i b r a r y i n t o s t a r t

    o f t h e

    h u n k

    t a b l e .

    t h e n p a t c h e s r e f e r e n c e s r e s i d e n t l i b r a r y t o r e f e r t o c o r r e c t

    p l a c e

    b y a d d i n g b a s e

    l i b r a r y h u n k s .

    2 - 1 7

  • 7/25/2019 AmigaDOS Technical Reference Manual

    34/56

  • 7/25/2019 AmigaDOS Technical Reference Manual

    35/56

    h a p t e r

    : m i g a O S a t a S t r u c t u r e s

    T h i s

    c h a p t e r d e s c r i b e s

    m i g a O S d a t a

    s t r u c t u r e s

    m e m o r y f i l e s

    d o e s d e s c r i b e

    l a y o u t d i s k w h i c h d e s c r i b e d h a p t e r

  • 7/25/2019 AmigaDOS Technical Reference Manual

    36/56

  • 7/25/2019 AmigaDOS Technical Reference Manual

    37/56

    T a b l e o f C o n t e n t s

    I n t r o d u c t i o n

    P r o c e s s D a t a S t r u c t u r e s

    G l o b a l

    D a t a S t r u c t u r e

    I n f o S u b s t r u c t u r e

    m o r y A l l o c a t i o n

    S e g m e n t

    L i s t s

    F i l e

    H a n d l e s

    L o c k s

    P a c k e t s

    P a c k e t t y p e s

  • 7/25/2019 AmigaDOS Technical Reference Manual

    38/56

    B P T R

    L O N G

    P T R

    L O N G

    B P T R

    L O N G

    B P T R

    B P T R

    B P T R

    P T R

    P T R

    B P T R

    P T R

    P T R

    P T R

    S e g r r a y

    S t a c k S i z e

    G l o b V e c

    T a s k N u m

    S t a c k B a s e

    I o E r r

    C u r r e n t D i r

    C I S

    C O S

    C o H a n d

    F i H a n d

    C L I S t r u c t

    R e t u r n d d r

    P k t W a i t

    W i n d o w P t r

    D a t a

    S t r u c t u r e s m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l

    m i g a D O S

    p r o c e s s

    v a l u e s a r e a s

    f o l l o w s :

    V a l u e F u n c t i o n D e s c r i p t i o n

    r r a y

    S e g L i s t s u s e d

    b y

    t h i s p r o c e s s

    S i z e

    p r o c e s s

    s t a c k b y t e s

    G l o b a l V e c t o r

    t h i s

    p r o c e s s

    C L I T a s k n u m b e r z e r o

    P o i n t e r h i g h

    m e m o r y

    p r o c e s s

    s t a c k

    V a l u e s e c o n d a r y r e s u l t f r o m l a s t

    c a l l

    L o c k a s s o c i a t e d

    w i t h c u r r e n t

    d i r e c t o r y

    C u r r e n t

    C L I

    i n p u t

    s t r e a m

    C u r r e n t

    C L I

    o u t p u t

    s t r e a m

    C o n s o l e

    h a n d l e r

    p r o c e s s

    c u r r e n t

    w i n d o w

    F i l e

    h a n d l e r

    p r o c e s s

    c u r r e n t d r i v e

    P o i n t e r a d d i t i o n a l i n f o r m a t i o n

    P o i n t e r p r e v i o u s s t a c k f r a m e

    F u n c t i o n c a l l e d w h e n a w a i t i n g m e s s a g e

    P o i n t e r w i n d o w

    T o i d e n t i f y s e g m e n t s t h a t p a r t i c u l a r p r o c e s s u s e s S e g A r r a y . S e g A r r a y a n a r r a y

    l o n g w o r d s w i t h s i z e S e g A r r a y [ O ] . O t h e r e l e m e n t s a r e e i t h e r z e r o o r B P T R S e g L i s t .

    C r e a t e P r o c c r e a t e s t h i s a r r a y w i t h f i r s t t w o e l e m e n t s o f t h e a r r a y p o i n t i n g r e s i d e n t c o d e a n d

    t h i r d e l e m e n t

    b e i n g

    S e g L i s t p a s s e d a r g u m e n t . W h e n p r o c e s s t e r m i n a t e s

    F r e e M e m

    u s e d

    r e t u r n s p a c e S e g A r r a y .

    S t a c k S i z e i n d i c a t e s s i z e t h e p r o c e s s s t a c k a s s u p p l i e d

    u s e r

    w h e n c a l l i n g C r e a t e P r o c . N o t e

    t h a t t h e p r o c e s s s t a c k s a m e c o m m a n d

    s t a c k

    C L I u s e s w h e n c a l l s a p r o g r a m . T h e

    C L I o b t a i n s

    c o m m a n d

    s t a c k

    j u s t

    b e f o r e r u n s a p r o g r a m a n d m a y a l t e r s i z e t h i s s t a c k

    w i t h S T C K c o m m a n d .

    W h e n

    y o u

    c r e a t e

    p r o c e s s A m i g a D O S o b t a i n s t h e p r o c e s s s t a c k a n d

    s t o r e s s i z e i n

    S t a c k S i z e .

    T h e p o i n t e r

    s p a c e

    t h e p r o c e s s c o n t r o l b l o c k t h e s t a c k a l s o

    s t o r e d M e m E n t r y

    f i e l d

    t a s k s t r u c t u r e . W h e n

    p r o c e s s t r m i n t s t h i s

    s p a c e

    r e t u r n e d

    c a l l F r e e M e m . Y o u a l s o c h a i n m e m o r y o b t a i n

    i n t o

    t h i s

    l i s t

    s t r u c t u r e

    t h a t

    t o o

    g e t s b a c k w h e n

    t a s k

    t e r m i n a t e s .

    c a l l C r e a t e P r o c c r e a t e s

    p r o c e s s

    G l o b V e c

    p o i n t e r S h a r e d

    G l o b a l V e c t o r . H o w e v e r

    s o m e

    i n t e r n a l h a n d l e r p r o c e s s e s p r i v a t e G l o b V e c .

    T h e v a l u e T a s k N u m n o r m a l l y z e r o ; C L I p r o c e s s s t o r e s s m a l l i n t e g e r

    t h a t

    i d e n t i f i e s

    i n v o c a t i o n h e r e .

    T h e

    p o i n t e r

    S t a c k B a s e

    p o i n t s h i g h m e m o r y p r o c e s s s t a c k . T h i s s t a c k

    w h e n u s i n g l a n g u a g e s s u c h C

    A s s e m b l e r ;

    b a s e o f t h e s t a c k l a n g u a g e s s u c h

    B C P L .

    T h e v a l u e s o f I o E r r C u r r e n t D i r a r e t h o s e h a n d l e d t h e s i m i l a r l y n a m e d m i g a D O S c a l l s .

    C I S

    a n d

    C O S v a l u e s I n p u t

    a n d

    O u t p u t r e t u r n s

    a n d

    r e f e r f i l h a n d l e s s h o u l d

    w h e n

    r u n n i n g a p r o g r a m u n d e r C L I . o t h e r c a s e s C I S a n d C O S z e r o .

    C o H a n d F i h a n d r e f e r t h e c o n s o l e h a n d l e r t h e c u r r e n t w i n d o w f i l h a n d l e r

    c u r r e n t d e v i c e . Y o u t h e s e

    v a l u e s

    w h e n a t t e m p t i n g o p e n d e v i c e f i l

    r e l a t i v e

    p a t h

    n a m e

  • 7/25/2019 AmigaDOS Technical Reference Manual

    39/56

    A m i s r a D O S

    T e c h n i c a l R e f e r e n c e

    M a n u a l

    D a t a

    S t r u c t u r e s

    T h e C L I S t r u c t

    p o i n t e r

    n o n z e r o o n l y

    C L I

    p r o c e s s e s . I n t h i s c a s e r e f e r s t o f u r t h e r s t r u c t u r e

    u s e s w i t h

    f o l l o w i n g f o r m a t :

    V a l u e F u n c t i o n

    L O N G R e s u l t

    B S T R

    S e t N a m e

    B P T R C o m m a n d D i r

    L O N G R e t u r n C o d e

    B S T R

    C o m m a n d N a m e

    L O N G F a i l L e v e l

    B S T R P r o m p t

    B P T R S t a n d a r d l n

    B P T R C u r r e n t l n

    B S T R

    C o m m a n d F i l e

    L O N G

    I n t e r a c t i v e

    L O N G B a c k g r o u n d

    B P T R C u r r e n t O u t

    L O N G

    D e f a u l t S t a c k

    B P T R S t a n d a r d O u t

    B P T R M o d u l e

    D e s c r i p t i o n

    V a l u e I o E r r f r o m

    l a s t

    c o m m a n d

    N a m e o f c u r r e n t d i r e c t o r y

    L o c k

    a s s o c i a t e d

    w i t h c o m m a n d d i r e c t o r y

    R e t u r n c o d e f r o m l a s t c o m m a n d

    N a m e c u r r e n t c o m m a n d

    F a i l

    l e v e l b y

    F A I L A T

    C u r r e n t p r o m p t

    b y P R O M P T

    D e f a u l t t e r m i n a l C L I i n p u t

    C u r r e n t i n p u t

    N a m e E X E C U T E c o m m a n d f i l e

    B o o l e a n ; T r u e p r o m p t s r e q u i r e d

    B o o l e a n ; T r u e C L I

    c r e a t e d b y

    R U N

    C u r r e n t C L I

    o u t p u t

    S t a c k s i z e

    o b t a i n e d

    l w o r d s

    D e f a u l t t e r m i n a l C L I o u t p u t

    S e g L i s t

    c u r r e n t l y l o a d e d c o m m a n d

    T h e E x i t f u n c t i o n u s e s t h e

    v a l u e

    R e t u r n A d d r w h i c h p o i n t s j u s t a b o v e r e t u r n a d d r e s s

    c u r r e n t l y a c t i v e

    s t a c k .

    p r o g r a m

    e x i t s p e r f o r m i n g R T S e m p t y s t a c k t h e n

    c o n t r o l p a s s e s

    c o d e

    a d d r e s s p u s h e d

    o n t o

    t h e s t a c k

    C r e a t e P r o c C L I . p r o g r a m

    t e r m i n a t e s w i t h

    c a l l E x i t t h e n

    A m i g a D O S

    u s e s

    t h i s p o i n t e r

    e x t r a c t

    s a m e r e t u r n

    a d d r e s s .

    T h e v a l u e P k t W a i t n o r m a l l y z e r o . n o n z e r o

    t h e n

    A m i g a D O S c a l l s P k t W a i t w h e n e v e r

    p r o c e s s a b o u t

    s l e e p

    a w a i t s i g n a l i n d i c a t i n g t h a t a m e s s a g e a r r i v e d . I n t h e s a m e w a y

    G e t M s g , t h e f u n c t i o n s h o u l d r e t u r n m e s s a g e w h e n a v a i l a b l e . U s u a l l y t h i s f u n c t i o n

    f i l t e r p r i v a t e m e s s a g e s a r r i v i n g s t a n d a r d p r o c e s s m e s s a g e p o r t t h a t n o t i n t e n d e d

    A m i g a D O S .

    T h e

    v a l u e

    W i n d o w P t r

    u s e d

    w h e n A m i g a D O S

    d e t e c t s a n e r r o r t h a t

    n o r m a l l y r e q u i r e s

    u s e r

    t a k e

    s o m e

    a c t i o n . E x a m p l e s t h e s e e r r o r s a t t e m p t i n g w r i t e w r i t e p r o t e c t e d d i s k

    w h e n

    t h e d i s k f u l l . v l u W i n d o w P t r t h e n e r r o r r e t u r n e d c a l l i n g p r o g r a m

    e r r o r c o d e f r o m

    A m i g a D O S

    c a l l O p e n , W r i t e

    w h a t e v e r . v a l u e

    z e r o t h e n

    A m i g a D O S

    p l a c e s r e q u e s t b o x o n W o r k B e n c h s c r e e n i n f o r m i n g t h e u s e r t h e e r r o r p r o v i d i n g t h e

    o p p o r t u n i t y

    r e t r y t h e

    o p e r a t i o n c a n c e l

    u s e r

    s e l e c t s

    c a n c e l t h e n

    A m i g a D O S r e t u r n s

    e r r o r

    c o d e c a l l i n g

    p r o g r a m . u s e r

    s e l e c t s r e t r y

    i n s e r t s d i s k t h e n

    A m i g a D O S a t t e m p t s

    t h e o p e r a t i o n o n c e m o r e .

    p l a c e

    p o s i t i v e

    v l u i n t o W i n d o w P t r f i e l d t h e n A m i g a D O S t h i s t o p o i n t e r

    W i n d o w s t r u c t u r e . N o r m a l l y y o u w o u l d p l a c e t h e W i n d o w s t r u c t u r e o f t h e w i n d o w c u r r e n t l y

    u s i n g h e r e . t h i s c a s e

    A m i g a D O S d i s p l a y s

    e r r o r m e s s a g e w i t h i n t h e w i n d o w h a v e

    s p e c i f i e d

    r a t h e r t h a n W o r k B e n c h s c r e e n . Y o u c a n a l w a y s l e a v e t h e W i n d o w P t r

    f i e l d

    z e r o

    a r e u s i n g

    a n o t h e r s c r e e n

    t h e n m e s s a g e s A m i g a D O S d i s p l a y s a p p e a r

    W o r k B e n c h s c r e e n

    p o s s i b l y o b s c u r e d y o u r o w n

    s c r e e n .

    T h e i n i t i a l v a l u e W i n d o w P t r i n h e r i t e d f r o m t h e p r o c e s s t h a t c r e a t e d t h e c u r r e n t o n e . d e c i d e

    t o a l t e r W i n d o w P t r f r o m w i t h i n p r o g r a m t h a t r u n s u n d e r C L I , t h e n s h o u l d s a v e o r i g i n a l

    v a l u e r e s t o r e w h e n f i n i s h ; o t h e r w i s e t h e p r o c e s s c o n t a i n s W i n d o w P t r t h a t r e f e r s

    w i n d o w

    t h a t

    l o n g e r p r e s e n t .

  • 7/25/2019 AmigaDOS Technical Reference Manual

    40/56

    D a t a S t r u c t u r e s m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l

    3 . 3 G l o b a l D a t a S t r u c t u r e

    T h i s

    d a t a

    s t r u c t u r e o n l y e x i s t s o n c e ; h o w e v e r m i g a D O S p r o c e s s e s m a k e c a l l t o

    O p e n L i b r a r y o b t a i n t h e l i b r a r y b a s e p o i n t e r . b a s e d a t a s t r u c t u r e p o s i t i v e o f f s e t

    f r o m l i b r a r y

    b a s e

    p o i n t e r . l i b r a r y

    b a s e

    p o i n t e r p o i n t s t h e f o l l o w i n g s t r u c t u r e :

    L i b r a r y N o d e s t r u c t u r e

    P T R D O S R o o t N o d e

    P T R D O S S h a r e d

    G l o b a l

    V e c t o r

    D O S p r i v a t e r e g i s t e r d u m p

    A l l i n t e r n a l

    m i g a D O S c a l l s

    S h a r e d

    G l o b a l V e c t o r , w h i c h

    j u m p

    t a b l e .

    Y o u

    s h o u l d

    n o r m a l l y e x c e p t t h r o u g h t h e s u p p l i e d i n t e r f a c e c a l l s , l i a b l e t o c h a n g e w i t h o u t w a r n i n g

    R o o t N o d e s t r u c t u r e

    f o l l o w s :

    V a l u e F u n c t i o n D e s c r i p t i o n

    P T R

    T a s k T a b l e

    r r a y

    C L I p r o c e s s e s

    c u r r e n t l y r u n n i n g

    P T R C L I S e g L i s t S e g L i s t C L I

    L O N G D a y s N u m b e r

    d a y s

    c u r r e n t t i m e

    L O N G M i n s

    N u m b e r m i n u t e s c u r r e n t t i m e

    L O N G T i c k s N u m b e r o f t i c k s c u r r e n t t i m e

    P T R R e s t a r t S e g S e g L i s t d i s k v a l i d a t o r p r o c e s s

    P T R I n f o P o i n t e r I n f o

    s u b s t r u c t u r e

    T a s k T a b l e

    a r r a y

    w i t h s i z e o f t h e a r r a y s t o r e d

    T a s k T a b l e [ O ] .

    p r o c e s s i d o t h e r

    w o r d s , M s g P o r t

    a s s o c i a t e d

    w i t h p r o c e s s

    e a c h s t o r e d

    a r r a y . T h e

    p r o c e s s i d

    w i t h T a s k N u m s t o r e d T a s k T a b l e [ n ] . n

    e m p t y s l o t

    f i l l e d w i t h

    z e r o .

    c o m m a n d s

    R U N

    N E W C L I s c a n

    T a s k T a b l e

    i d e n t i f y n e x t f r e e s l o t t h i s a s t h e T a s k N u m

    c r e a t e d .

    C L I S e g L i s t S e g L i s t c o d e C L I . R U N N E W C L I

    t h i s v l u

    c r e a t e

    i n s t a n c e C L I

    T h e r o o t n o d e s t o r e s c u r r e n t d a t e

    t i m e ;

    n o r m a l l y s h o u l d A m i g a D O S f u n c t i o n

    D a t e S t a m p

    r e t u r n c o n s i s t e n t

    o f v a l u e s .

    v a l u e s D a y s M i n s T i c k s s p e c i f y t h e d a t e

    t i m e . T h e v a l u e D a y s n u m b e r d a y s s i n c e J a n u a r y 1 s t 1 9 7 8 . T h e v a l u e M i n s n u m b e r

    m i n u t e s s i n c e m i d n i g h t .

    t i c k

    f i f t i e t h s e c o n d ,

    t i m e

    o n l y u p d a t e d o n c e p e r

    s e c o n d .

    T h e R e s t a r t S e g S e g L i s t c o d e o f t h e

    d i s k

    v a l i d a t o r , w h i c h p r o c e s s t h a t A m i g a D O S

    c r e a t e s

    w h e n e v e r

    i n s e r t

    n e w

    d i s k

    i n t o

    d r i v e .

  • 7/25/2019 AmigaDOS Technical Reference Manual

    41/56

    A m i g a D O S

    T e c h n i c a l R e f e r e n c e

    M a n u a l

    D a t a

    S t r u c t u r e s

    3 . 3 . 1 I n f o

    S u b s t r u c t u r e

    T o a c c e s s f u r t h e r s u b s t r u c t u r e w i t h t h e f o l l o w i n g

    f o r m a t ,

    I n f o p o i n t e r .

    V a l u e

    F u n c t i o n

    D e s c r i p t i o n

    B P T R

    M c N a m e

    N e t w o r k n a m e

    t h i s

    m a c h i n e ;

    c u r r e n t l y

    z e r o

    B P T R D e v l n f o D e v i c e

    l i s t

    B P T R D e v i c e s C u r r e n t l y

    z e r o

    B P T R H a n d l e r s C u r r e n t l y z e r o

    P T R N e t H a n d N e t w o r k h a n d l e r p r o c e s s i d c u r r e n t l y z e r o

    M o s t

    f i e l d s I n f o

    s u b s t r u c t u r e a r e

    e m p t y m o m e n t , C o m m o d o r e - A m i g a

    i n t e n d

    t h e m e x p a n d i n g

    s y s t e m .

    T h e D e v l n f o

    s t r u c t u r e

    l i n k e d l i s t Y o u

    i d e n t i f y

    t h e d e v i c e

    n a m e s

    t h a t m i g a D O S

    k n o w s a b o u t ;

    t h i s

    i n c l u d e s A S S I G N e d n a m e s d i s k v o l u m e n a m e s . T h e r e p o s s i b l e f o r m a t s

    l i s t e n t r i e s d e p e n d i n g w h e t h e r e n t r y r e f e r s d i s k v o l u m e n o t . e n t r y

    d e s c r i b i n g d e v i c e d i r e c t o r y A S S I G N t h e e n t r y f o l l o w s :

    V a l u e F u n c t i o n

    D e s c r i p t i o n

    B P T R N e x t P o i n t e r

    n e x t l i s t e n t r y

    z e r o

    L O N G T y p e

    L i s t e n t r y t y p e d e v i c e

    o r d i r

    P T R

    T a s k

    H a n d l e r p r o c e s s o r

    z e r o

    B P T R L o c k F i l e s y s t e m l o c k z e r o

    B S T R H a n d l e r F i l e n a m e o f h a n d l e r z e r o

    L O N G S t a c k S i z e S t a c k s i z e

    h a n d l e r

    p r o c e s s

    L O N G

    P r i o r i t y P r i o r i t y

    h a n d l e r

    p r o c e s s

    L O N G

    S t a r t u p

    S t a r t u p v a l u e t o b e p a s s e d t o h a n d l e r

    p r o c e s s

    B P T R S e g L i s t S e g L i s t h a n d l e r

    p r o c e s s

    z e r o

    B P T R

    G l o b V e c

    G l o b a l

    v e c t o r

    f o r h a n d l e r

    p r o c e s s

    o r z e r o

    B S T R N a m e

    N a m e

    d e v i c e S S I G N e d

    n a m e

    N e x t f i e l d l i n k s l i s t e n t r i e s t o g e t h e r , n a m e l o g i c a l d e v i c e n a m e h e l d

    N a m e f i e l d .

    T y p e f i e l d d e v i c e d i r . Y o u

    m a k e d i r e c t o r y e n t r y

    w i t h

    S S I G N

    c o m m a n d . T h i s c o m m a n d

    a l l o c a t e s

    n a m e

    d i r e c t o r y t h a t t h e n u s e a s

    d e v i c e n a m e .

    l i s t e n t r y r e f e r s d i r e c t o r y , t h e n T a s k r e f e r s f i l e

    s y s t e m p r o c e s s

    h a n d l i n g t h a t d i s k ,

    L o c k f i e l d c o n t a i n s p o i n t e r l o c k t h a t d i r e c t o r y .

    l i s t

    e n t r y

    r e f e r s d e v i c e ,

    t h e n

    t h e d e v i c e

    m a y

    m a y

    r e s i d e n t . r e s i d e n t ,

    T a s k

    i d e n t i f i e s h a n d l e r p r o c e s s , L o c k n o r m a l l y z e r o . t h e d e v i c e r e s i d e n t , t h e n

    T a s k z e r o m i g a D O S

    u s e s t h e r e s t

    l i s t s t r u c t u r e .

    S e g L i s t z e r o , t h e n c o d e d e v i c e m e m o r y . T h e

    H a n d l e r

    f i e l d s t r i n g

    s p e c i f y i n g f i l e

    c o n t a i n i n g c o d e

    e x a m p l e ,

    S Y S : L / R A M - H A N D L E R .

    c a l l L o a d S e g

    l o a d s

    c o d e f r o m f i l e a n d i n s e r t s r e s u l t i n t o S e g L i s t f i e l d

    A m i g a D O S n o w c r e a t e s n e w h a n d l e r p r o c e s s w i t h t h e S e g L i s t , S t a c k S i z e , a n d v a l u e s . T h e n e w

    p r o c e s s B C P L p r o c e s s a n d

    r e q u i r e s G l o b a l

    V e c t o r ; t h i s e i t h e r t h e

    v a l u e y o u

    s p e c i f i e d

    G l o b V e c

    n e w

    p r i v a t e g l o b a l v e c t o r G l o b V e c z e r o .

  • 7/25/2019 AmigaDOS Technical Reference Manual

    42/56

    D a t a S t r u c t u r e s

    A m i g a D O S

    T e c h n i c a l

    R e f e r e n c e M a n u a l

    T h e n e w

    p r o c e s s

    p a s s e d

    m e s s a g e c o n t a i n i n g n a m e

    o r i