regdef.h
1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*----------------------------------------------------------------------*
Copyright (C) 1998, Nintendo.
File regdef.h
Coded by Yoshitaka Yasumoto. Mar 6, 1998.
Modified by
$Id: regdef.h,v 1.1.1.1 2002/05/02 03:29:12 blythe Exp $
*----------------------------------------------------------------------*/
/*
$4: IPL3 の先頭命令 (03a04820 IPL3 の先頭命令)
$5: 1MB DMA の終了するまでのカウンタ値 (0004c000-0004f000)
$6: Exception Handler の先頭命令 (25290004 = a40006d0 番地)
$8: PowerOn=0 Reset=1
$10: 現在の GCLK カウンタ
$11: 前回の DMA 処理パラメータ 0x000003d8
$v12:DMEM の先頭データ 0x00-0x0f まで (ALL 0/ALL F ではありえない)
$v13:0x00000400-0x000013ff までのデータの合計値
*/
#define zero $0
#define tmp2 $2
#define tmp $3
#define vtmp $v14
#define boot_sema $8
#define boot_dmadram $11
#define boot_ipl3 $4
#define vboot_dmem $v12
#define count_cpudma $5
#define snap_ehandler $6
#define vsum_4k $v13
#define sys0 $1 /* rspboot0.s で使用するので固定 */
#define sys1 $16
#define sys2 $17
#define return $31
#define _li(a,b) addi a, zero, b
#define _mov(a,b) ori a, b, 0
#define VREG 0
#define VBOOT_DMEM VREG+0
#define VSUM_4K VREG+16
#define VTMP VREG+32
#define SREG 16*3
#define TMP SREG+0
#define BOOT_SEMA SREG+4
#define BOOT_DMADRAM SREG+8
#define BOOT_IPL3 SREG+12
#define COUNT_CPUDMA SREG+16
#define SNAP_EHANDLER SREG+20
#define LATE_CMD_CLOCK SREG+24
#define LATE_TMEM_BUSY SREG+28
#define LATE_SP_STATUS SREG+32
/*======== End of regdef.h ========*/