Presented by: Only On Saturday Night |
|
c1f0 :
BOOTIDE - FOR OS9 (6809)
; FFDE = Map RAM/ROM ; FFDF = all RAM c1f0 : b7ffde [ 4] sta $FFDE ; RomRam Mode c1f3 : 8ec405 [ 3] ldx #Picture c1f6 : 108e2600 [ 4] ldy #$2600 c1fa : Loop c1fa : ec81 [ 8] ldd ,x++ c1fc : ee81 [ 8] ldu ,x++ c1fe : eda1 [ 8] std ,y++ c200 : efa1 [ 8] stu ,y++ c202 : 8cd605 [ 3] cmpx #$D605 ; end of track-34 +++ c205 : 25f3 [ 3] bcs Loop c207 : b7ffdf [ 4] sta $FFDF ; AllRam Mode c20a : 7e2602 [ 3] jmp $2602 ; just like the DOS command |
c1f0 :
BOOTIDE - For NitrOS-9 (6309)
; FFDE = Map RAM/ROM ; FFDF = all RAM c1f0 : B7FFDE [ 4] sta $FFDE ; go to RomRam mode c1f3 : 10861200 [ 4] ldw #$D605-$C405 ; length c1f7 : 8EC405 [ 3] ldx #C405 ; from here c1fa : 108E2600 [ 4] ldy #$2600 ; to here c1fe : 113812 [ ] tfm x+,y+ ; move track-34 c201 : B7FFDF [ 4] sta $FFDF ; go to AllRam mode c204 : 7E2602 [ 3] jmp $2602 ; just like the DOS command |
nam Boot 8-bit LBA Mode Only!
ttl NitrOS-9 System Module * Disassembled 94/06/25 11:37:47
by Alan DeKok
ReadCmd equ $20
BusyBit equ %10000000
BUSY=1
ifp1
tylg
set Systm+Obj6309
mod eom,name,tylg,atrv,start,size * on-stack buffer to use
name
equ *
start orcc
#$50 ensure IRQ's are off.
clr >$FF40 stop the disk
ldd #$0001 request one byte (will round
up to 1 page)
* U is implicitely the buffer address to use
ldx #$0000 X=0: got to sector #$0000
lda #'0 --- loaded
in LSN0
ldd <DD.BSZ,u size of the bootstrap file
ldd #256 one page of memory
ldd R.X,s get size of boot memory
to request
stu R.X,s save start address
of memory allocated
SectLp
lda #'. dump out
a period for boot debugging
leau 256,u
L00A7 clrb
clear carry
L00AC leas
$04,s remove X,D off of stack
L00B0 puls
x restore start address
of memory allocated
* GetSect: read a sector off
of the disk
GetSect
RdyHuh1
lda #Master
Blk2
BlkLp
lda Status,y
check for error-bit
ChkBusy
Init
Address fdb Port fcb 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
emod
|