Files
TeslaRel410/sda4/DPL3/VRENDER/DUMP.ASS
T
CydandClaude Fable 5 db7745fcd0 sda4: commit the Glaze developer hard-drive dump
Un-ignored: the dev drive is the ground truth the restoration and
emulator work constantly reference (DPL3/LIBDPL + VRENDER i860 renderer
source, BT/RP live+dev game trees, VGL_LABS pod boot, scene/audio
content). Kept in-repo for the pod-owner community.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 19:41:15 -05:00

155 lines
5.6 KiB
Plaintext

as860 DOS Rel 1.4, (C) 1990 Intel Corp., The Portland Group
Tue Jul 06 16:44:56 1993 Page 1
1 //
2 //
3 // project: blaster
4 // subsystem: ttm100 860_rpc_kernel
5 //
6 // module: rpc_kernel
7 // file: pstart.s
8 //
9 // author: chrg
10 // date: 10:02:90
11 //
12 // copyright (c) division ltd. 1990
13 // sccs ident %w% %g%
14 //
15 //
16 // modified:
17 //
18 //
19 //
20 //
21 //
22 // function:- main entry point to rpc kernel. disables interrupts and
23 // then calls _vstart to go virtual etc.
24 //
25 //
26 //
27 //
28
29 .file "pstart.s"
30
31 .globl _start
32 .globl pstart
33 .globl _vstart
34
35 psr_im = 0x10
36 low_pg = 0x0fff
37 db_ate = 0x20
38
39 .text
40
41
42 // at this point, we are running on the bootloaders stack.
43 pstart:
44 _start:
45
46
47 // turn off all interrupts
30300000 00000000 48 ld.c psr,r16
d6100010 00000004 49 andnot psr_im,r16,r16
38208000 00000008 50 st.c r16,psr
51
52
53 // ensure ate disabled and iti set
30500000 0000000c 54 ld.c dirbase,r16
e4100020 00000010 55 or db_ate,r0,r16
as860 DOS Rel 1.4, (C) 1990 Intel Corp., The Portland Group
Tue Jul 06 16:44:56 1993 Page 2
38408000 00000014 56 st.c r16,dirbase
57
58 // ensure fte clear
30900000 00000018 59 ld.c fsr,r16
e4100000 0000001c 60 or 0,r0,r16
38808000 00000020 61 st.c r16,fsr
62
63 // initialise fir
30000000 00000024 64 ld.c fir,r0
65
66 // setup boot stack
ec0f8380 00000028 67 orh 0x8380, r0, r15
e40e0001 0000002c 68 or 0x01, r0, r14
1de07001 00000030 69 st.l r14, 0(r15)
70
9412ff00 00000034 71 mov 0xffffff00, r18
e4130004 00000038 72 or 0x04, r0, r19
1e409801 0000003c 73 st.l r19, 0(r18)
74
75 // call _flush
76 // nop
77
9412ff00 00000040 78 mov 0xffffff00, r18
e413000b 00000044 79 or 0xb, r0, r19
1e409819 00000048 80 st.l r19, 24(r18)
81
82
83 // grab initstack and topmem from ccb
ec1f0000 0000004c 84 orh ha%_input_ccb, r0, r31
17fd0001 00000050 85 ld.l l%_input_ccb(r31), r29
86
87
ec10f040 00000054 88 orh 0xf040, r0, r16 // set stack to 0xf0400000
a2020000 00000058 89 mov r16, sp
90
91
92 // grab the trap vector
ec14ffff 0000005c 93 orh 0xffff,r0,r20
e694ff00 00000060 94 or 0xff00,r20,r20 //hard vector
95 // orh h%alltraps,r0,r21
96 // or l%alltraps,r21,r21 //vector in .text
97 // subu r21,r20,r22 //rel addr
98 // shr 2,r22,r22
99 // adds -3,r22,r22 // adust for 2 NOPS, +1
100 // // change if remove NOPS!!!!
101 // andnoth 0xfc00,r22,r22
102 // orh 0x6800,r22,r22 // br alltraps
e4130000 00000064 103 or h%alltraps, r0, r19
ee73ec01 00000068 104 orh 0xec01, r19, r19
105
e4150000 0000006c 106 or l%alltraps, r0, r21
eeb5e421 00000070 107 orh 0xe421, r21, r21
108
ec164000 00000074 109 orh 0x4000, r0, r22
e6d60800 00000078 110 or 0x0800, r22, r22
as860 DOS Rel 1.4, (C) 1990 Intel Corp., The Portland Group
Tue Jul 06 16:44:56 1993 Page 3
111
112
ec17a000 0000007c 113 orh 0xa000,r0,r23 // nop
114
1e80b801 00000080 115 st.l r23,0(r20) // chip bug NOP
1e80b805 00000084 116 st.l r23,4(r20) // chip bug NOP
1e809809 00000088 117 st.l r19,8(r20) // br alltraps
1e80a80d 0000008c 118 st.l r21,12(r20) // delayed NOP
1e80b011 00000090 119 st.l r22,16(r20) // delayed NOP
1e80b815 00000094 120 st.l r23,20(r20) // delayed NOP
1e80b819 00000098 121 st.l r23,24(r20) // delayed NOP
1e80b81d 0000009c 122 st.l r23,28(r20) // delayed NOP
123
9412f000 000000a0 124 mov 0xfffff000, r18
e4130032 000000a4 125 or 0x32, r0, r19
1e409801 000000a8 126 st.l r19,0(r18)
127
68000000 000000ac 128 br _vstart
a0000000 000000b0 129 nop
130
131 // *END* /
132
133
134
135
136
137
138
139