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>
189 lines
4.6 KiB
ArmAsm
189 lines
4.6 KiB
ArmAsm
.file "pazpl5.c"
|
|
// PGC Rel 2.0a -opt 2
|
|
.text
|
|
.globl _main
|
|
.align 8
|
|
_main:
|
|
.a1 = 80
|
|
.f1 = 48
|
|
addu -(.a1+.f1), sp, sp
|
|
st.l fp,(.f1-16)(sp)
|
|
addu (.f1-16), sp, fp
|
|
st.l r1, 4(fp)
|
|
st.l r4, -16(fp)
|
|
st.l r5, -12(fp)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// lineno: 0
|
|
or (5000000&0xffff), r0, r4
|
|
orh ((5000000>>16)&0xffff), r4, r4
|
|
orh h%_shared_cntl, r0, r31
|
|
or l%_shared_cntl, r31, r5
|
|
// lineno: 22
|
|
orh ha%__processorId, r0, r31
|
|
ld.l l%__processorId(r31), r28
|
|
|
|
bte 0x0000, r28, .B559
|
|
orh h%.S00560, r0, r31
|
|
call _printf
|
|
or l%.S00560, r31, r16
|
|
call _bla
|
|
mov r4, r16
|
|
adds -1920, r0, r28
|
|
ld.l r0(r28), r29
|
|
|
|
st.l r29, 0(r5)
|
|
// lineno: 30
|
|
.B618: //.M0000
|
|
mov r4, r16
|
|
.DB.B618618:
|
|
orh h%.B618, r0, r1
|
|
br _bla
|
|
or l%.B618, r1, r1
|
|
// lineno: 35
|
|
.B559: //.B0000
|
|
orh h%.S00569, r0, r31
|
|
.DB.B559559:
|
|
call _printf
|
|
or l%.S00569, r31, r16
|
|
call _newBytes
|
|
adds 4096, r0, r16
|
|
st.l r16, 0(r5)
|
|
adds -1920, r0, r28
|
|
st.l r16, 0(r28)
|
|
call _bla
|
|
mov r4, r16
|
|
call _bla
|
|
mov r4, r16
|
|
call _bla
|
|
mov r4, r16
|
|
orh h%.S00574, r0, r31
|
|
call _printf
|
|
or l%.S00574, r31, r16
|
|
call _dN_mynode
|
|
adds -4, fp, r16
|
|
orh h%.S00577, r0, r31
|
|
or l%.S00577, r31, r16
|
|
call _printf
|
|
ld.l -4(fp), r17
|
|
orh h%.S00579, r0, r31
|
|
call _printf
|
|
or l%.S00579, r31, r16
|
|
call _dN_nodes
|
|
adds -8, fp, r16
|
|
orh h%.S00582, r0, r31
|
|
or l%.S00582, r31, r16
|
|
call _printf
|
|
ld.l -8(fp), r17
|
|
orh ha%__processorId, r0, r31
|
|
ld.l l%__processorId(r31), r28
|
|
|
|
btne 0x0000, r28, .B584
|
|
call _newBytes
|
|
adds 4096, r0, r16
|
|
mov r16, r28
|
|
adds 4096, r0, r16
|
|
orh ha%_uncached_input_block, r0, r31
|
|
call _newBytes
|
|
st.l r28, l%_uncached_input_block(r31)
|
|
mov r16, r28
|
|
adds 4096, r0, r16
|
|
orh ha%_uncached_output_block, r0, r31
|
|
call _newBytes
|
|
st.l r28, l%_uncached_output_block(r31)
|
|
orh ha%_uncached_general_block, r0, r31
|
|
st.l r16, l%_uncached_general_block(r31)
|
|
// lineno: 63
|
|
.B584: //.B0004
|
|
ld.l -4(fp), r28
|
|
.DB.B584584:
|
|
adds 2, r0, r29
|
|
shl r0, r0, r30
|
|
btne r28, r29, ..L0
|
|
adds 1, r0, r30
|
|
..L0:
|
|
orh ha%_replying, r0, r31
|
|
st.l r30, l%_replying(r31)
|
|
adds -2, r28, r16
|
|
orh ha%_view_id, r0, r31
|
|
st.l r16, l%_view_id(r31)
|
|
|
|
ld.l -8(fp), r17
|
|
|
|
adds -2, r17, r18
|
|
orh ha%_total_views, r0, r31
|
|
st.l r18, l%_total_views(r31)
|
|
orh h%.S00593, r0, r31
|
|
call _printf
|
|
or l%.S00593, r31, r16
|
|
ld.l -4(fp), r16
|
|
call _remote_velocirender
|
|
ld.l -8(fp), r17
|
|
// lineno: 72
|
|
|
|
|
|
|
|
|
|
ld.l -16(fp), r4
|
|
ld.l -12(fp), r5
|
|
adds .a1+16, fp, r31
|
|
ld.l 4(fp), r1
|
|
ld.l 0(fp), fp
|
|
bri r1
|
|
mov r31, sp
|
|
.data
|
|
.align 1
|
|
.S00560: //
|
|
// "Processor 1 is GO\n"
|
|
.byte 0x50,0x72,0x6f,0x63,0x65,0x73,0x73,0x6f,0x72,0x20,0x31
|
|
.byte 0x20,0x69,0x73,0x20,0x47,0x4f,0x0a,0x00
|
|
.S00569: //
|
|
// "Processor 0 is GO\n"
|
|
.byte 0x50,0x72,0x6f,0x63,0x65,0x73,0x73,0x6f,0x72,0x20,0x30
|
|
.byte 0x20,0x69,0x73,0x20,0x47,0x4f,0x0a,0x00
|
|
.S00574: //
|
|
// "about to call dN_mynode\n"
|
|
.byte 0x61,0x62,0x6f,0x75,0x74,0x20,0x74,0x6f,0x20,0x63,0x61
|
|
.byte 0x6c,0x6c,0x20,0x64,0x4e,0x5f,0x6d,0x79,0x6e,0x6f,0x64
|
|
.byte 0x65,0x0a,0x00
|
|
.S00577: //
|
|
// "call dN_mynode, got %d\n"
|
|
.byte 0x63,0x61,0x6c,0x6c,0x20,0x64,0x4e,0x5f,0x6d,0x79,0x6e
|
|
.byte 0x6f,0x64,0x65,0x2c,0x20,0x67,0x6f,0x74,0x20,0x25,0x64
|
|
.byte 0x0a,0x00
|
|
.S00579: //
|
|
// "about to call dN_nodes\n"
|
|
.byte 0x61,0x62,0x6f,0x75,0x74,0x20,0x74,0x6f,0x20,0x63,0x61
|
|
.byte 0x6c,0x6c,0x20,0x64,0x4e,0x5f,0x6e,0x6f,0x64,0x65,0x73
|
|
.byte 0x0a,0x00
|
|
.S00582: //
|
|
// "call dN_nodes, got %d\n"
|
|
.byte 0x63,0x61,0x6c,0x6c,0x20,0x64,0x4e,0x5f,0x6e,0x6f,0x64
|
|
.byte 0x65,0x73,0x2c,0x20,0x67,0x6f,0x74,0x20,0x25,0x64,0x0a
|
|
.byte 0x00
|
|
.S00593: //
|
|
// "entering while(1) deal_with loop\n"
|
|
.byte 0x65,0x6e,0x74,0x65,0x72,0x69,0x6e,0x67,0x20,0x77,0x68
|
|
.byte 0x69,0x6c,0x65,0x28,0x31,0x29,0x20,0x64,0x65,0x61,0x6c
|
|
.byte 0x5f,0x77,0x69,0x74,0x68,0x20,0x6c,0x6f,0x6f,0x70,0x0a
|
|
.byte 0x00
|
|
.extern _remote_velocirender
|
|
.extern _dN_nodes
|
|
.extern _dN_mynode
|
|
.extern _newBytes
|
|
.extern _bla
|
|
.extern _printf
|