annotate level2/modules/rel.asm @ 1285:0476e003039a

Now back-ported to OS-9 Level One
author boisy
date Wed, 27 Aug 2003 23:52:03 +0000
parents bdd2f61d5dbc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1 ********************************************************************
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
2 * REL - Relocation routine
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
3 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
4 * $Id$
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
5 *
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
6 * Edt/Rev YYYY/MM/DD Modified by
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
7 * Comment
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
8 * ------------------------------------------------------------------
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
9 * 5/5 2003/07/31 Boisy G. Pitre
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
10 * Back ported NitrOS-9 REL to OS-9 Level Two.
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
11
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
12 nam REL
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
13 ttl Relocation routine
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
14
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
15 ifp1
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
16 use defsfile
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
17 endc
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
18
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
19 ScStart equ $8008 screen start in memory
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
20 XX.Size equ 6 number of bytes before REL actually starts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
21 Offset equ Bt.Start+XX.Size
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
22
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
23 tylg set Systm+Objct
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
24 atrv set ReEnt+rev
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
25 rev set $05
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
26 edition set 5
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
27
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
28 ********************************************************************
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
29 * Any changes to the next 3 lines requires changes in XX.Size, above
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
30 fcc /OS/ sync bytes
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
31 bra Start+XX.Size execution start
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
32 fdb $1205 filler bytes
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
33
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
34 mod eom,name,tylg,atrv,start,size
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
35
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
36 org 0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
37 size equ . REL doesn't require any memory
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
38
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
39 name fcs /REL/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
40 fcb edition
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
41
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
42 L001F fcb $6C MMU, IRQ, Vector page, SCS
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
43 fcb $00 map type 0
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
44 fcb $00 no FIRQ
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
45 fcb $00 no IRQ
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
46 fdb $0900 timer
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
47 fcb $00 unused
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
48 fcb $00 unused
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
49 IFEQ TkPerSec-50
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
50 fcb $0B 50Hz refresh, alphanumeric display, 8 lines/char row
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
51 ELSE
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
52 fcb $03 60Hz refresh, alphanumeric display, 8 lines/char row
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
53 ENDC
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
54
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
55 IFEQ Width-80
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
56 fcb $34 200 lines, 80 column mode, no attribute byte (monochrome)
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
57 fcb $3F white border
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
58 ENDC
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
59
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
60 IFEQ Width-40
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
61 fcb $24 200 lines, 40-col, no attribute byte
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
62 fcb $3F white border
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
63 ENDC
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
64
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
65 IFEQ Width-32
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
66 fcb $20 200 lines, 32-col, no attribute byte
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
67 fcb $00 black border
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
68 ENDC
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
69
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
70 fcb $00 display in lower 512k bank
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
71 fcb $00 vertical fine scroll set to 0
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
72 fcb Bt.Block*4 display block where-ever
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
73 fcb $01 offset 8 bytes
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
74 fcb $00 no horizontal scroll
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
75
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
76 crash
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
77 lda #'* signal a crash error
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
78 jsr <D.BtBug
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
79 tfr b,a save error code
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
80 jsr <D.BtBug and dump this out, too
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
81 clrb
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
82 fcb $8C skip 2 bytes
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
83
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
84 reset equ * later on, have reset different from start?
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
85 start ldb #$FF negative - do complete boot
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
86 clr >$FFDF added for OS-9 ROM Kit boots +BGP+
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
87
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
88 start1 orcc #IntMasks turn off IRQ's
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
89 clr >$FF03 turn off SAM IRQ's
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
90 clra make A=0 for later
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
91 IFNE H6309
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
92 tfr 0,dp set direct page to $0000
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
93 ELSE
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
94 tfr a,dp
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
95 ENDC
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
96 clr <D.CBStrt cold boot start: don't re-boot on reset
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
97 clr >$FFA0 map in block 0
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
98 lds #$1FFF set stack to the end of the block
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
99 stb ,-s save status of start, $00=cold, $01=warm
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
100 * This is done so I can tell what went on in the direct page if there's
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
101 * a crash. 0(crash) 1(reset) -1(startup)
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
102 beq Cont --don't clear out direct page is it's a crash
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
103 ldb #$20 start out at $20
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
104 tfr d,x here, too
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
105 L0072 sta ,x+ clear out the direct page
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
106 incb Boot won't be using any of it!
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
107 bne L0072 BUT RAMMER/MD DOES!!!
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
108 inc <D.Speed 0+1=1; high speed
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
109 Cont clrb --make sure B=0
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
110 stb >$FFD9 set to high speed
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
111 leay <L001F,pcr point to the video setup data
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
112 ldx #$0090 set video mapping
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
113 deca now D=$FF00, versus STU >-$0100,x (saves 1 byte)
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
114 L0084 ldu ,y++ get the bytes
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
115 stu d,x save in the hardware
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
116 stu ,x++ and in the direct page
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
117 cmpx #$00A0 end of video hardware yet?
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
118 bcs L0084
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
119
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
120 IFEQ Width-32
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
121 ldd #$1200 color 0=$12, 1=$00 i.e. black on green
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
122 ELSE
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
123 ldd #$3F00 color 0=$3F, 1=$00, i.e. black on white
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
124 ENDC
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
125 std >$FFB0 set only the first two palettes, B=$00 already
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
126 lda #Bt.Block
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
127 sta >$FFA4 map in the block
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
128
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
129 ldx #$8000 start of the block
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
130 IFNE H6309
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
131 ldq #Bt.Flag*65536+8
1227
70923b54cc47 cc3go_dd and cc3go_h0 are now part of the distribution, replacing cc3go.
boisy
parents: 1115
diff changeset
132 ELSE
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
133 ldd #Bt.Flag
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
134 ENDC
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
135 tst ,s check status : 0(crash) 1(reset) -1(startup)
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
136 bmi StoreQ if NOT a crash or reset, start at the start...
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
137 cmpd ,x are they the same?
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
138 beq MoveTxt don't bother clearing the screen if it's there
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
139 StoreQ
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
140 IFNE H6309
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
141 stq ,x otherwise save the bytes on-screen
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
142 ELSE
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
143 std ,x
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
144 ldd #8
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
145 std 2,x
1227
70923b54cc47 cc3go_dd and cc3go_h0 are now part of the distribution, replacing cc3go.
boisy
parents: 1115
diff changeset
146 ENDC
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
147
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
148 leax 8,x point to the start of the screen in memory
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
149 IFNE H6309
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
150 ldw #$2000-8 clear out the entire block of memory
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
151 leau <L00E0,pcr point to $20, a space
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
152 tfm u,x+ clear out the screen
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
153 ELSE
1242
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
154 ldy #$2000-8
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
155 ldb #$20
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
156 ClrLoop stb ,x+
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
157 leay -1,y
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
158 bne ClrLoop
1242
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
159 * ldd #$2000-8
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
160 * ldu #$2020
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
161 *ClrLoop stu ,x++
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
162 * subd #$0002
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
163 * bne ClrLoop
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
164 ENDC
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
165
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
166 MoveTxt leau <L0011,pcr point to OS-9 Welcome Message
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
167 bsr Move1 E=$00 already from TFM above...
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
168 * 0 = crash
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
169 * 1 = reset
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
170 * -1 = startup
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
171 ldb ,s+ check state of boot
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
172 bne L00E2 if OK, continue
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
173 * U=<L0019 already from TFM above (call to L00FD)
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
174 bsr Move1 move it on-screen, E=$00 already
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
175 clr >$FF40 turn off disk drives
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
176 L00E0 bra L00E0 loop forever
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
177
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
178 Move1 ldy ,u++ get where to put the text
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
179 IFNE H6309
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
180 Move ldf ,u+ get the size of the block to move
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
181 L00FD tfm u+,y+
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
182 ELSE
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
183 Move clra
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
184 ldb ,u+
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
185 tfr d,x
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
186 L00FD lda ,u+
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
187 sta ,y+
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
188 leax -1,x
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
189 bne L00FD
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
190 ENDC
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
191 rts
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
192
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
193 L0011 fdb ScStart+(11*Width)+((Width-L1)/2)
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
194 fcb L1 length of the text below
1242
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
195 T1 equ *
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
196 IFNE NitrOS9
1242
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
197 fcc /NITR/
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
198 ENDC
1242
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
199 fcc /OS9 BOOT/
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
200 L1 equ *-T1
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
201
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
202 fdb ScStart+(13*Width)+((Width-LFail)/2)
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
203 fcb LFail length of the 'FAILED' string
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
204 TFail fcc /FAILED/
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
205 LFail equ *-TFail
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
206
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
207 * saves 2 bytes over leax <L00E2,pc, cmpx #Bt.Start
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
208 L00E2 tfr pc,d get the address at which we're executing
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
209 cmpa #$26 the bootfile starts out at $2600
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
210 bne L0101 if not at $26xx, continue with booting
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
211 ldu #$2600 else move rel, Boot, OS9p1 over
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
212 IFNE H6309
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
213 ldw #$1200 size of track 34 boot file
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
214 ELSE
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
215 ldx #$1200
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
216 ENDC
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
217 ldy #Bt.Start where to put it
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
218 bsr L00FD 1 byte smaller than tfm in place
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
219 jmp >Offset+L0101
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
220
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
221 BtDebug pshs cc,d,x save the register
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
222 orcc #IntMasks turn IRQ's off
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
223 ldb #Bt.Block block to map in
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
224 stb >$FFA0 map the boot screen into block 0
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
225 ldx >$0002 where to put the bytes
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
226 sta ,x+ put the character on-screen
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
227 stx >$0002 save updated address
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
228 clr >$FFA0 map block 0 in again
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
229 puls cc,d,x,pc restore X and exit
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
230
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
231 L0101
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
232 lda #$7E RTS
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
233 sta <D.BtBug
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
234 leax <BtDebug,pc point to debug routine
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
235 stx <D.BtBug+1
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
236
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
237 leau <R.Crash,pcr point to D.Crash, D.CBStart
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
238 ldy #D.Crash move it over
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
239 bsr Move E=$00 from call to L00FD above.
1242
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
240 IFNE H6309
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
241 ldmd #$03 go to native mode, FIRQ saves all registers
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
242 inc <D.MDREG 0+1=1; set MD shadow register (clr'd from above)
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
243 ENDC
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
244
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
245 * leax <eom,pcr point to the end of REL
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
246 * ldd M$Size,x get size of the next module
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
247 * leax d,x skip Boot, point to OS9p1
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
248 ldx #$F000 we KNOW where OS9p1 starts in memory
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
249 ldd M$Exec,x get execution start address
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
250 jmp d,x jump to it
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
251
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
252 * D.Crash
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
253 R.Crash fcb $10 size of the data to move over
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
254 L003F clr >$FF91 go to map type 0 - called by CC3Go from map 1
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
255 jmp >Offset+crash
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
256
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
257 fcb $00 warm start flag
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
258 fdb $0074 go to $0074, next routine
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
259
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
260 * reset vector: map ROMs out and go to REL in the default DECB block map,
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
261 * which is still block $3F at the top fo memory
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
262 nop required for the ROMs to believe it's a reset vector
1242
bdd2f61d5dbc Fixed case issues in several files (thanks Rodney H.)
boisy
parents: 1237
diff changeset
263 clr >$FFDF go to all RAM mode
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
264 jmp >Offset+reset and re-start the boot
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
265
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
266 Pad fill $39,$127-*
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
267
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
268 emod
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
269 eom equ *
1237
767df8dd8f3d REL is backported from NitrOS-9 to OS-9 Level Two
boisy
parents: 1227
diff changeset
270 end