view 3rdparty/wip/bootman/bootman.as @ 3210:6353bb024571

Created makefile and defsfile for NoCan RAMMER module driver and descriptor Updated rammer.asm in the NoCan driver folder to build the NoCan version of the Driver Updated r0.asm file to create the 6MB version of the descriptor. The makefile creates a disk image with two sets of the required drivers for the 6309 and 6809's in their respective module folders. /NITROS9/6309_L2/MODULES/RBF for the 6309 files and /NITROS9/6809_L2/MODULES/RBF for the 6809 files. This will make it easier for doing a dsave from this disk image into a normal distro disk image so people have these drivers ready for when new memory upgrades allow compatible usage of the NoCan registers.
author David Ladd <drencor-xeen@users.sourceforge.net>
date Wed, 20 Dec 2017 15:15:49 -0600
parents 978396f33bb2
children
line wrap: on
line source

         NAM    bootman
         TTL    Boot Manager

BOOTTRACK equ   0

         SECTION __os9
TYPE     EQU    $11          Prgrm($10)+Objct($01)
ATTR     EQU    $80          REEntrent
REV      EQU    $00          Revision level
         ENDSECT

TOP      EQU   $FE00

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

         SECTION bss
sectptr  rmb    2
         ENDSECT

         SECTION code

__start  EXPORT
__start
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