# HG changeset patch # User boisy # Date 1263777397 0 # Node ID 4ff16807cf0d0a3f1f4b18b2656d13e549dcf408 # Parent d904d7740887933749871b58a98d843f5034dddd Moved diff -r d904d7740887 -r 4ff16807cf0d level3/coco3/modules/end.asm --- a/level3/coco3/modules/end.asm Mon Jan 18 01:11:16 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -******************************************************************** -* End - OS-9 Level 3 End Marker -* -* $Id$ -* -* Edt/Rev YYYY/MM/DD Modified by -* Comment -* ------------------------------------------------------------------ -* 1 ????/??/?? Alan DeKok -* Created. - - nam End - ttl OS-9 Level 3 End Marker - - IFP1 - use defsfile - ENDC - -tylg set Systm+Obj6309 -attrev set ReEnt+rev -rev set 4 -edition set 1 - - mod eom,name,tylg,attrev,start,0 - -name fcs /_end/ - fcb Edition - -start rts - - emod -eom equ * - end diff -r d904d7740887 -r 4ff16807cf0d level3/coco3/modules/nitro.asm --- a/level3/coco3/modules/nitro.asm Mon Jan 18 01:11:16 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,219 +0,0 @@ -******************************************************************** -* NitrOS9 - Sets up NitrOS-9 Level 3 -* -* $Id$ -* -* Edt/Rev YYYY/MM/DD Modified by -* Comment -* ------------------------------------------------------------------ -* ????/??/?? Alan DeKok -* Created. - - nam NitrOS9 - ttl Sets up NitrOS-9 Level 3 - - ifp1 - use defsfile - endc - -tylg set Systm+Obj6309 -atrv set ReEnt+rev -rev set $04 - mod eom,name,tylg,atrv,Start,size -u0000 rmb 0 -size equ . -name equ * - fcs /NitrOS9/ - fcb $01 - -Start ldd #$10ff illegal instruction, /0 trap - std >0 - ldd #$0008 - std >2 - ldd #$20FE - std >4 - -* allocate a block of RAM for SCF drivers - ldu #eom get the size of this module - leax eom,pc point to the next module - ldy #L3.SCF - -all.ram bsr f.modul move some modules over - tstb did we, in fact, move any? - beq all.done if not, we're done - stb ,y+ save the starting RAM block number - bra all.ram and go get another block of RAM - -* Verify the rest of the boot: start of old OS9p1 code -all.done ldd $0642 map it into system DAT image - stb >$FFA1 map into physical RAM - stb ,s save starting block number - - ifeq L3.Blks-2 more than 1 block? - incb yes, go up by a block - std >$0644 map it into the system DAT image - stb >$FFA2 and into the hardware - endc - -* move the modules to local RAM - pshsw save size of the block to move - ldx #L3.Start+L3.Size where to move the stuff to - tfm y+,x+ move it from the OS9Boot file to IOMan local memory - -* verify the modules - puls d grab the size of the block - ldx #L3.Start+L3.Size start ptr again - OS9 F$VBlock verify the block - -* get A = total size (in pages) of stuff moved over - addd #L3.Size+$FF round up to the nearest block, adding in $20 - -* start with all local RAM deallocated - ldx #L3.Start to the start of the block - ldb #L3.Size-1 number of pages to mark as free -clr.lp clr b,x set them to be all clear. - decb - bpl clr.lp count down until B=-1 - -* allocate local RAM to the size of the modules we've moved over - ldb #RAMInUse RAM in use -all.lp stb ,x+ make the page allocated - deca count down a page - bne all.lp and continue - - lda #'- a hyphen - jsr