annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 ********************************************************************
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 * Boot - V09 Boot module
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 *
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 * $Id: boot_1773.asm,v 1.1.1.1 2001/02/21 23:30:54 boisy Exp $
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 *
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 * Ed. Comments Who YY/MM/DD
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 * ------------------------------------------------------------------
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 nam Boot
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 ttl v09 Boot module
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 * ifp1
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 use defsfile
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 * endc
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 *
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 * map extended rom on page 0x40-
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 * valid page started from 0x87cd
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 tylg set Systm+Objct
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 atrv set ReEnt+rev
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 rev set $01
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 edition set 1
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 mod eom,name,tylg,atrv,start,size
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 size equ .
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 name fcs /Boot/
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 fcb edition
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
15
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
32 start
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
33 ldy #$40 page no.
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
34 clra
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
35 clrb
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
36 pshs d,x,y,u
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
37 tfr d,x
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
38 leay 4,s pointer to page no
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
39 ** read boot rom file size
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
40 os9 F$LDDDXY
14
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 bcs last
16
807141dc5ee8 sysgo fork
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
42 std ,s size return as d
15
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
43 addb #$ff
16
807141dc5ee8 sysgo fork
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
44 adda #$2f request +0x2000
15
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
45 clrb
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
46 anda #$e0
16
807141dc5ee8 sysgo fork
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
47 addd #-1
15
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
48 os9 F$BtMem
14
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 bcs last
15
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
50 ** u points the memory
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
51 stu 2,s return as x
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
52 ldd ,s
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
53 ldx #0
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
54 pagel tfr d,y
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
55 lda 5,s
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
56 sta $ffa0
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
57 tfr y,d
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
58 loop ldy ,x++
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
59 sty ,u++
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
60 subb #2
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
61 sbca #0
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
62 cmpb #0
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
63 bne loop
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
64 bita #$1f
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
65 bne loop
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
66 tsta
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
67 beq last
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
68 clr $ffa0
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
69 ** 2k boundary
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
70 inc 5,s
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
71 ldx #0
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
72 bra pagel
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
73 last clr $ffa0
bb6a2a9f59f1 boot ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
74 puls d,x,y,u,pc
14
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 emod
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 eom equ *
3f18c1fa9132 add boot and sysgo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 end