view bootman/bootman.a @ 2811:611715587834 lwtools-port

Updated rules.mak and level1/coco1/bootfiles/makefile Updated the rules.mak file to remove the format entire image related to drivewire server disk images. Updated level1/coco1/bootfiles/makefile to create 3 new bootfile images. These images are stripped down to just the common files needed for vovdg games on os9 level 1. These bootfiles are for becker, dw, and arduino. Also corrected a duplicated dd descriptor when building some bootfiles that had both floppy_40d, floppy_80d, RBDW, RBBECKER, and RBARDUINO. Removed the dd descriptor from each of these sections and made it where the dd descriptor for the specific section was added in the main bootfile list.
author David Ladd <drencor-xeen@users.sf.net>
date Mon, 11 Feb 2013 20:16:24 -0600
parents 9b435e747ff2
children
line wrap: on
line source

         NAM    bootman
         TTL    Boot Manager

BOOTTRACK equ   0


         PSECT  bootman,$11,$80,0,0,entry

         VSECT
         ENDSECT

TOP      EQU   $FE00

* The entry point of the boot manager
* Entry: stack is set up, U points to static storage
         csect
sectptr  rmb    2
         endsect

entry    lbsr   mach_init   initialize the machine we're running on
         leas   entry,pcr   set up stack
         leau   entry-256,pcr set up static storage
         leax   entry-512,pcr set up sector buffer pointer
         stx    sectptr,u
         leax   welcome,pcr
         bsr    writestr

* start booter calling
bootup
         leax   cfg_boot,pcr
         ldy    ,x             get address of booter
         beq    bootup         if 0, try again

* call booter's get info entry
         leax   attempt,pcr
         bsr    writestr
         jsr    12,y
         bsr    writestr
         leax   crlf,pcr
         bsr    writestr

loop     bra    loop


attempt  fcc     "Attempting to boot from "
         fcb     0
welcome  fcc     "NitrOS-9 Boot Manager"
crlf     fcb     13,10
         fcb     0

* Helpful routines

* writestr - write string to output handler
* Entry:
*   X = address of string (nul terminated)
* Preserves:
*   Y
writestr:
         pshs    y
         leay    llio,pcr
writeloop
         lda     ,x+
         beq     writedone
         jsr     3,y
         bra     writeloop
writedone
         puls    y,pc
         
         endsect