view os9/level2/boot.asm @ 16:807141dc5ee8

sysgo fork
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 08 Jul 2018 09:34:34 +0900
parents bb6a2a9f59f1
children 7104ad38bed3
line wrap: on
line source

********************************************************************
* Boot - V09 Boot module
*
* $Id: boot_1773.asm,v 1.1.1.1 2001/02/21 23:30:54 boisy Exp $
*
* Ed.    Comments                                       Who YY/MM/DD
* ------------------------------------------------------------------

         nam   Boot
         ttl   v09 Boot module

*         ifp1
         use   defsfile
*         endc

*
*  map extended rom on page 0x40-
*  valid page started from 0x87cd

tylg     set   Systm+Objct
atrv     set   ReEnt+rev
rev      set   $01
edition  set   1

         mod   eom,name,tylg,atrv,start,size

size     equ   .

name     fcs   /Boot/
         fcb   edition

start    
         ldy    #$40    page no. 
         clra
         clrb
         pshs   d,x,y,u
         tfr    d,x
         leay   4,s    pointer to page no
     **  read boot rom file size
         os9    F$LDDDXY 
         bcs    last
         std   ,s       size return as d
         addb   #$ff
         adda   #$2f     request +0x2000
         clrb
         anda   #$e0
         addd   #-1
         os9    F$BtMem
         bcs    last
     **  u points the memory
         stu    2,s      return as x
         ldd    ,s
         ldx    #0
pagel    tfr    d,y
         lda    5,s
         sta    $ffa0
         tfr    y,d
loop     ldy    ,x++
         sty    ,u++
         subb   #2
         sbca   #0
         cmpb   #0
         bne    loop
         bita   #$1f
         bne    loop
         tsta
         beq    last
         clr    $ffa0
     ** 2k boundary
         inc    5,s
         ldx    #0
         bra    pagel
last     clr    $ffa0
         puls   d,x,y,u,pc

         emod
eom      equ   *
         end