annotate level1/modules/rel.asm @ 1781:862c164cff21

Removed references to Sourceforge.
author tlindner
date Mon, 04 Apr 2005 17:12:54 +0000
parents 78ce0a5ffc8e
children 6a1f2b1eefb8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
1 ********************************************************************
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
2 * REL - Relocation routine
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
3 *
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
4 * $Id$
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
5 *
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
6 * Edt/Rev YYYY/MM/DD Modified by
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
7 * Comment
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
8 * ------------------------------------------------------------------
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
9 * 5r5 2003/07/31 Boisy G. Pitre
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
10 * Back ported NitrOS-9 REL to OS-9 Level Two.
1727
78ce0a5ffc8e Incorporated changes and additions made by Phill Harvey-Smith for the
boisy
parents: 1709
diff changeset
11 * 2004/11/09 P.Harvey-Smith
78ce0a5ffc8e Incorporated changes and additions made by Phill Harvey-Smith for the
boisy
parents: 1709
diff changeset
12 * Added code to flip Dragon Alpha into text mode on boot.
78ce0a5ffc8e Incorporated changes and additions made by Phill Harvey-Smith for the
boisy
parents: 1709
diff changeset
13 *
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
14
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
15 nam REL
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
16 ttl Relocation routine
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
17
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
18 IFP1
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
19 use defsfile
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
20 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
21
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
22 XX.Size equ 6 number of bytes before REL actually starts
1309
0a04945a7c60 Fixed bug in rel.asm, changed OS-9 Level One Bt.Start to $EE00 and Bt.Size to $1080 due to increased size of boot track using DriveWire booter.
boisy
parents: 1301
diff changeset
23 Offset equ Bt.Start+XX.Size
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
24 IFEQ Level-1
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
25 ScStart equ $8000 screen start in memory
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
26 ELSE
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
27 ScStart equ $8008 screen start in memory
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
28 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
29
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
30 tylg set Systm+Objct
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
31 atrv set ReEnt+rev
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
32 rev set $05
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
33 edition set 5
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
34
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
35 ********************************************************************
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
36 * Any changes to the next 3 lines requires changes in XX.Size, above
1301
4a50c6fb28b2 Fixed problem with copying at Bt.Start
boisy
parents: 1299
diff changeset
37 fcc /OS/ sync bytes
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
38 bra Start+XX.Size execution start
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
39 fdb $1205 filler bytes
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
40
1301
4a50c6fb28b2 Fixed problem with copying at Bt.Start
boisy
parents: 1299
diff changeset
41 Begin mod eom,name,tylg,atrv,start,size
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
42
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
43 org 0
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
44 size equ . REL doesn't require any memory
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
45
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
46 name fcs /REL/
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
47 fcb edition
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
48
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
49 IFGT Level-1
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
50
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
51 L001F fcb $6C MMU, IRQ, Vector page, SCS
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
52 fcb $00 map type 0
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
53 fcb $00 no FIRQ
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
54 fcb $00 no IRQ
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
55 fdb $0900 timer
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
56 fcb $00 unused
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
57 fcb $00 unused
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
58 IFEQ TkPerSec-50
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
59 fcb $0B 50Hz refresh, alphanumeric display, 8 lines/char row
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
60 ELSE
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
61 fcb $03 60Hz refresh, alphanumeric display, 8 lines/char row
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
62 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
63
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
64 IFEQ Width-80
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
65 fcb $34 200 lines, 80 column mode, no attribute byte (monochrome)
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
66 fcb $3F white border
1709
1e026af2217c Rodney's source fixer uppers
boisy
parents: 1375
diff changeset
67 BOOTLINE set 11 80-col start line for BOOT/FAIL messages
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
68 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
69
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
70 IFEQ Width-40
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
71 fcb $24 200 lines, 40-col, no attribute byte
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
72 fcb $3F white border
1709
1e026af2217c Rodney's source fixer uppers
boisy
parents: 1375
diff changeset
73 BOOTLINE set 13 40-col start line for BOOT/FAIL messages
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
74 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
75
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
76 IFEQ Width-32
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
77 fcb $20 200 lines, 32-col, no attribute byte
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
78 fcb $00 black border
1709
1e026af2217c Rodney's source fixer uppers
boisy
parents: 1375
diff changeset
79 BOOTLINE set 13 32-col start line for BOOT/FAIL messages
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
80 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
81
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
82 fcb $00 display in lower 512k bank
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
83 fcb $00 vertical fine scroll set to 0
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
84 fcb Bt.Block*4 display block where-ever
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
85 fcb $01 offset 8 bytes
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
86 fcb $00 no horizontal scroll
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
87
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
88 crash lda #'* signal a crash error
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
89 jsr <D.BtBug
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
90 tfr b,a save error code
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
91 jsr <D.BtBug and dump this out, too
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
92 clrb
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
93 fcb $8C skip 2 bytes
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
94
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
95 reset equ * later on, have reset different from start?
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
96 start ldb #$FF negative - do complete boot
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
97 clr >$FFDF added for OS-9 ROM Kit boots +BGP+
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
98
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
99 start1 orcc #IntMasks turn off IRQ's
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
100 clr >PIA0Base+3 turn off SAM IRQ's
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
101 clra make A=0 for later
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
102 IFNE H6309
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
103 tfr 0,dp set direct page to $0000
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
104 ELSE
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
105 tfr a,dp
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
106 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
107 clr <D.CBStrt cold boot start: don't re-boot on reset
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
108 clr >$FFA0 map in block 0
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
109 lds #$1FFF set stack to the end of the block
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
110 stb ,-s save status of start, $00=cold, $01=warm
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
111 * This is done so I can tell what went on in the direct page if there's
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
112 * a crash. 0(crash) 1(reset) -1(startup)
1709
1e026af2217c Rodney's source fixer uppers
boisy
parents: 1375
diff changeset
113 beq Cont --don't clear out direct page if it's a crash
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
114 ldb #$20 start out at $20
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
115 tfr d,x here, too
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
116 L0072 sta ,x+ clear out the direct page
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
117 incb Boot won't be using any of it!
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
118 bne L0072 BUT RAMMER/MD DOES!!!
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
119 inc <D.Speed 0+1=1; high speed
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
120 Cont clrb --make sure B=0
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
121 stb >$FFD9 set to high speed
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
122 leay <L001F,pcr point to the video setup data
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
123 ldx #$0090 set video mapping
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
124 deca now D=$FF00, versus STU >-$0100,x (saves 1 byte)
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
125 L0084 ldu ,y++ get the bytes
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
126 stu d,x save in the hardware
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
127 stu ,x++ and in the direct page
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
128 cmpx #$00A0 end of video hardware yet?
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
129 bcs L0084
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
130
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
131 IFEQ Width-32
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
132 ldd #$1200 color 0=$12, 1=$00 i.e. black on green
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
133 ELSE
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
134 ldd #$3F00 color 0=$3F, 1=$00, i.e. black on white
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
135 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
136 std >$FFB0 set only the first two palettes, B=$00 already
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
137 lda #Bt.Block
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
138 sta >$FFA4 map in the block
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
139
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
140 ldx #$8000 start of the block
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
141 IFNE H6309
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
142 ldq #Bt.Flag*65536+8
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
143 ELSE
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
144 ldd #Bt.Flag
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
145 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
146 tst ,s check status : 0(crash) 1(reset) -1(startup)
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
147 bmi StoreQ if NOT a crash or reset, start at the start...
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
148 cmpd ,x are they the same?
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
149 beq MoveTxt don't bother clearing the screen if it's there
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
150 StoreQ
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
151 IFNE H6309
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
152 stq ,x otherwise save the bytes on-screen
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
153 ELSE
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
154 std ,x
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
155 ldd #8
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
156 std 2,x
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
157 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
158
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
159 leax 8,x point to the start of the screen in memory
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
160 IFNE H6309
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
161 ldw #$2000-8 clear out the entire block of memory
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
162 leau <L00E0,pcr point to $20, a space
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
163 tfm u,x+ clear out the screen
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
164 ELSE
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
165 ldy #$2000-8
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
166 ldb #$20
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
167 ClrLoop stb ,x+
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
168 leay -1,y
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
169 bne ClrLoop
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
170 * ldd #$2000-8
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
171 * ldu #$2020
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
172 *ClrLoop stu ,x++
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
173 * subd #$0002
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
174 * bne ClrLoop
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
175 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
176
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
177 MoveTxt leau <L0011,pcr point to OS-9 Welcome Message
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
178 bsr Move1 E=$00 already from TFM above...
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
179 * 0 = crash
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
180 * 1 = reset
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
181 * -1 = startup
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
182 ldb ,s+ check state of boot
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
183 bne L00E2 if OK, continue
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
184 * U=<L0019 already from TFM above (call to L00FD)
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
185 bsr Move1 move it on-screen, E=$00 already
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
186 clr >$FF40 turn off disk drives
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
187 L00E0 bra L00E0 loop forever
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
188
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
189 Move1 ldy ,u++ get where to put the text
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
190 IFNE H6309
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
191 Move ldf ,u+ get the size of the block to move
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
192 L00FD tfm u+,y+
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
193 ELSE
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
194 Move clra
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
195 ldb ,u+
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
196 tfr d,x
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
197 L00FD lda ,u+
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
198 sta ,y+
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
199 leax -1,x
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
200 bne L00FD
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
201 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
202 rts
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
203
1709
1e026af2217c Rodney's source fixer uppers
boisy
parents: 1375
diff changeset
204 L0011 fdb ScStart+(BOOTLINE*Width)+((Width-L1)/2)
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
205 fcb L1 length of the text below
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
206 T1 equ *
1363
53c50c807d55 Major move to new NitrOS-9 project
boisy
parents: 1309
diff changeset
207 fcc /NITROS9 BOOT/
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
208 L1 equ *-T1
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
209
1709
1e026af2217c Rodney's source fixer uppers
boisy
parents: 1375
diff changeset
210 fdb ScStart+((BOOTLINE+2)*Width)+((Width-LFail)/2)
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
211 fcb LFail length of the 'FAILED' string
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
212 TFail fcc /FAILED/
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
213 LFail equ *-TFail
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
214
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
215 * saves 2 bytes over leax <L00E2,pc, cmpx #Bt.Start
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
216 L00E2 tfr pc,d get the address at which we're executing
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
217 cmpa #$26 the bootfile starts out at $2600
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
218 bne L0101 if not at $26xx, continue with booting
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
219 ldu #$2600 else move rel, Boot, OS9p1 over
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
220 IFNE H6309
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
221 ldw #$1200 size of track 34 boot file
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
222 ELSE
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
223 ldx #$1200
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
224 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
225 ldy #Bt.Start where to put it
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
226 bsr L00FD 1 byte smaller than tfm in place
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
227 jmp >Offset+L0101
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
228
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
229 BtDebug pshs cc,d,x save the register
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
230 orcc #IntMasks turn IRQ's off
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
231 ldb #Bt.Block block to map in
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
232 stb >$FFA0 map the boot screen into block 0
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
233 ldx >$0002 where to put the bytes
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
234 sta ,x+ put the character on-screen
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
235 stx >$0002 save updated address
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
236 clr >$FFA0 map block 0 in again
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
237 puls cc,d,x,pc restore X and exit
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
238
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
239 L0101
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
240 lda #$7E RTS
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
241 sta <D.BtBug
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
242 leax <BtDebug,pc point to debug routine
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
243 stx <D.BtBug+1
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
244
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
245 leau <R.Crash,pcr point to D.Crash, D.CBStart
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
246 ldy #D.Crash move it over
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
247 bsr Move E=$00 from call to L00FD above.
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
248 IFNE H6309
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
249 ldmd #$03 go to native mode, FIRQ saves all registers
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
250 inc <D.MDREG 0+1=1; set MD shadow register (clr'd from above)
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
251 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
252
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
253 * leax <eom,pcr point to the end of REL
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
254 * ldd M$Size,x get size of the next module
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
255 * leax d,x skip Boot, point to OS9p1
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
256 ldx #$F000 we KNOW where OS9p1 starts in memory
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
257 ldd M$Exec,x get execution start address
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
258 jmp d,x jump to it
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
259
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
260 * D.Crash
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
261 R.Crash fcb $10 size of the data to move over
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
262 L003F clr >$FF91 go to map type 0 - called by CC3Go from map 1
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
263 jmp >Offset+crash
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
264
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
265 fcb $00 warm start flag
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
266 fdb $0074 go to $0074, next routine
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
267
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
268 * reset vector: map ROMs out and go to REL in the default DECB block map,
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
269 * which is still block $3F at the top fo memory
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
270 nop required for the ROMs to believe it's a reset vector
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
271 clr >$FFDF go to all RAM mode
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
272 jmp >Offset+reset and re-start the boot
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
273
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
274 Pad fill $39,$127-*
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
275
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
276 ELSE
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
277
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
278 start clr PIA0Base+3
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
279
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
280 IFNE Dragon64
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
281 clr PIA0Base+1 added for Dragon, works on CoCo
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
282 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
283
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
284 sta $FFDF turn off ROM
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
285 * locate Boot Text Screen at $8000
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
286 ldb #$06
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
287 ldx #$FFC6
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
288 L262B sta ,x++
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
289 decb
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
290 bne L262B
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
291 sta 1,x
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
292
1727
78ce0a5ffc8e Incorporated changes and additions made by Phill Harvey-Smith for the
boisy
parents: 1709
diff changeset
293 IFNE DragonAlpha
78ce0a5ffc8e Incorporated changes and additions made by Phill Harvey-Smith for the
boisy
parents: 1709
diff changeset
294 clr $ffc0 * Reset to text mode if Dragon Alpha
78ce0a5ffc8e Incorporated changes and additions made by Phill Harvey-Smith for the
boisy
parents: 1709
diff changeset
295 clr $ffc2
78ce0a5ffc8e Incorporated changes and additions made by Phill Harvey-Smith for the
boisy
parents: 1709
diff changeset
296 clr $ffc4
78ce0a5ffc8e Incorporated changes and additions made by Phill Harvey-Smith for the
boisy
parents: 1709
diff changeset
297
78ce0a5ffc8e Incorporated changes and additions made by Phill Harvey-Smith for the
boisy
parents: 1709
diff changeset
298 lda $ff22
78ce0a5ffc8e Incorporated changes and additions made by Phill Harvey-Smith for the
boisy
parents: 1709
diff changeset
299 anda #$07
78ce0a5ffc8e Incorporated changes and additions made by Phill Harvey-Smith for the
boisy
parents: 1709
diff changeset
300 sta $ff22
78ce0a5ffc8e Incorporated changes and additions made by Phill Harvey-Smith for the
boisy
parents: 1709
diff changeset
301 ENDC
78ce0a5ffc8e Incorporated changes and additions made by Phill Harvey-Smith for the
boisy
parents: 1709
diff changeset
302
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
303 * Clear VDG screen
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
304 ldx #ScStart
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
305 ldy #512
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
306 lda #$60
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
307 L263B sta ,x+
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
308 leay -1,y
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
309 bne L263B
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
310
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
311 * Copy "OS9 BOOT" to screen area
1375
805da58aa5b6 Fixed offset
boisy
parents: 1374
diff changeset
312 ldx #ScStart+$10A
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
313 leay <BootMsg,pcr
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
314 ldb #BootMLen
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
315 L2649 lda ,y+
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
316 sta ,x+
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
317 decb
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
318 bne L2649
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
319
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
320 IFNE Dragon64
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
321 tst <$72
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
322 ELSE
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
323 ldd #$1212
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
324 cmpd <$0078
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
325 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
326
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
327 beq L266E
1301
4a50c6fb28b2 Fixed problem with copying at Bt.Start
boisy
parents: 1299
diff changeset
328 leau >Begin-XX.Size,pcr
4a50c6fb28b2 Fixed problem with copying at Bt.Start
boisy
parents: 1299
diff changeset
329 ldx #Bt.Size
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
330 ldy #Bt.Start
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
331 L2663 lda ,u+
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
332 sta ,y+
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
333 leax -1,x
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
334 bne L2663
1309
0a04945a7c60 Fixed bug in rel.asm, changed OS-9 Level One Bt.Start to $EE00 and Bt.Size to $1080 due to increased size of boot track using DriveWire booter.
boisy
parents: 1301
diff changeset
335 jmp >Offset+L266E
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
336 L266E leax <eom,pcr
1301
4a50c6fb28b2 Fixed problem with copying at Bt.Start
boisy
parents: 1299
diff changeset
337 ldd M$Exec,x
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
338 jmp d,x
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
339
1374
afe008eb9da1 NitrOS-9 boot message
boisy
parents: 1363
diff changeset
340 BootMsg fcc /NITROSy/
1299
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
341 fcb $60
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
342 fcc /BOOT/
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
343 BootMLen equ *-BootMsg
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
344
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
345 ENDC
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
346
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
347 emod
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
348 eom equ *
1f0995cd0431 REL is now back-ported to OS-9 Level One
boisy
parents:
diff changeset
349 end