Mercurial > hg > Members > kono > os9 > sbc09
comparison src/os9/level2/boot.asm @ 57:2088fd998865
sbc09 directry clean up
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 23 Jul 2018 16:07:12 +0900 |
parents | os9/level2/boot.asm@52f7ad4c2ebb |
children |
comparison
equal
deleted
inserted
replaced
56:4fa2bdb0c457 | 57:2088fd998865 |
---|---|
1 ******************************************************************** | |
2 * Boot - V09 Boot module | |
3 * | |
4 * $Id: boot_1773.asm,v 1.1.1.1 2001/02/21 23:30:54 boisy Exp $ | |
5 * | |
6 * Ed. Comments Who YY/MM/DD | |
7 * ------------------------------------------------------------------ | |
8 | |
9 nam Boot | |
10 ttl v09 Boot module | |
11 | |
12 ifp1 | |
13 use defsfile | |
14 endc | |
15 | |
16 * | |
17 * map extended rom on page 0x40- | |
18 * first two bytes are extra rom module size | |
19 | |
20 tylg set Systm+Objct | |
21 atrv set ReEnt+rev | |
22 rev set $01 | |
23 edition set 1 | |
24 | |
25 mod eom,name,tylg,atrv,start,size | |
26 | |
27 size equ . | |
28 | |
29 name fcs /Boot/ | |
30 fcb edition | |
31 | |
32 start | |
33 lbra entry | |
34 lbra btdebug | |
35 entry | |
36 ldy #$40 extended rom page no. | |
37 clra | |
38 clrb | |
39 pshs d,x,y,u | |
40 tfr d,x | |
41 leay 4,s pointer to page no | |
42 ** read boot rom file size | |
43 os9 F$LDDDXY | |
44 bcs last | |
45 addb #$ff | |
46 adca #0 | |
47 clrb | |
48 std ,s size return as d | |
49 ** OS9 lv2 use $a000-$dfff as a temporary page | |
50 ** demand at least that size ( ROM start at $ed00 ) | |
51 cmpa #$ed-$a0 | |
52 bhi ok | |
53 lda #$ed-$a0 | |
54 ok | |
55 os9 F$BtMem | |
56 bcs last | |
57 ** u points the memory | |
58 stu 2,s return as x | |
59 ldd ,s | |
60 std 6,s | |
61 ldx #0 | |
62 ** copy to Bt BtRAM | |
63 pagel ldd #$2000 | |
64 cmpd 6,s | |
65 blo lo | |
66 ldd 6,s | |
67 lo tfr d,y | |
68 lda 5,s | |
69 sta $ffa0 | |
70 tfr y,d | |
71 loop ldy ,x++ | |
72 sty ,u++ | |
73 subd #2 | |
74 bne loop | |
75 clr $ffa0 back to system map | |
76 ldd 6,s | |
77 subd #$2000 | |
78 bmi last all transfered | |
79 std 6,s | |
80 ** 2k boundary | |
81 inc 5,s | |
82 ldx #0 | |
83 bra pagel | |
84 last clr $ffa0 | |
85 puls d,x,y,u,pc | |
86 | |
87 ** put lbsr btdebug on <$5e | |
88 btdebug anda #$7f | |
89 sta $ff81 | |
90 rts | |
91 | |
92 emod | |
93 eom equ * | |
94 end |