Volver menú revistas Fanzine
Número 2 - NOVIEMBRE 1992
Página anterior


BOOTBLOCKS STANDARS

Warlord/Impulse

En este pequeño artículo me ocuparé de los S.B.B., que para aquellos que aún no lo sepan, no se trata de la Sociedad de Burros Bicivoladores, sino de los Bootblock standars, que por otra parte, son los menos standars de los bootblocks (¡Ooooh!, ¡que bonito!)

El bootblock de un disco, son los dos primeros sectores de él, es decir 1024 bytes. Cuando introducimos el disco en el ordenador, el amiga leerá esta información y la ejecutará. Los bootblocks los podemos separar en stándar y en no stándar (¡toma ya!). Para entendernos, stándar es el del Workbench y no stándar suele ser el de la mayoría de los juegos.

Como supongo que asistís alucinados a estas impresionantes explicaciones, he conseguido rescatar un hechizo de las antiguas crónicas del Terramar. Dice así ...

                           STANDAR BOOTBLOCK
                 --------------------------------------
                | 1       dc.b    'DOS',0              |
                | 2       dc.l    $c0200f19            |
                | 3       dc.l    $00000370            |
                | 4       lea     DOSLibrary,a1        |
                | 5       jsr     _LVOFindResident(a6) |
                | 6       tst.l   d0                   |
                |                7       beq.s   NoDOS |
                | 8       move.l  d0,a0                |
                | 9       move.l  LIB_REVISION(a0),a0  |
                |10       moveq.l #0,d0                |
                |     Return:                          |
                |11       rts                          |
                |    NODOS:                            |
                |12       moveq.l #-1,d0               |
                |13       bra.s   Return               |
                |    DOSLibrary:                       |
                |14       dc.b    'dos.library',0      |
                |15       end                          |
                 --------------------------------------

Breve explicación:

  1. La línea del Bootblock (BB) es la cadena "Dos", seguido por un número, generalmente seguido por un 0 (un 1 indica un "FastfileSystem disc")

  2. Checksum (= -(suma de los bytes del sector)

  3. Es el N.T.N.P.I. , que significa:No Tengo Ni Puta Idea

  4. Carga la dirección de la dos.library en a1.

  5. Sirve para ver si la dos.library está abierta, retornando el resultado en d0.

  6. Test

  7. Si no está abierta -> ir a NODOS

  8. Si está abierta seguimos. Pasamos la dirección base de d0 a a0.

  9. Colocamos la versión de la dos.library en a0

  10. Ultimo test. Si d0=0 entonces ok.

  11. Retornamos.

  12. Aqui seguiremos si la Dos.library ya esta<ba abierta. Como d0 no debe ser 0 al retornar, usualmente se coloca -1.

  13. Test y retornamos

Vale, vale .... ¿qué pasa con los demás bootblocks?.... hombre, veréis. El programita anterior ocupa alrededor de 50 bytes, con lo cual aún os quedan muchos más para poner todas las chorradas que se os vayan ocurriendo. De todas formas debéis hacer lo anterior para que el disco pueda, digamos, arrancar desde el cli, y mientras no hagáis tonterías con la dos.library, lo demás se os está permitido.

Ya sabéis, con esto y un bizcocho, mi amiga y un ....


Página anterior