leoram.c
3.13 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
* F i l e N a m e : i p l r a m . c
*
****************************************************************************
* (C) Copyright ALPS Electric Co., Ltd. 1995-1996
****************************************************************************
* Version
*
* ver Date
* ---- --------
* 1.07 '96-11-13 Delete LEOdmaIOMesgBuf.
* 1.06 '96-10-01 Change LEOdma_que_buf size ( 1->2 ) .
* 1.05 '96-09-17 Add LEOclr_que_flag . Clr_queue command use this memory .
* 1.04 '96-08-01 Remake for phase1.5 .
* 1.03 '96-07-15 Move LEO_sys_data location .
* 1.02 '96-02-27 Rename iplram.c to iplleoram.c .
* 1.01 '96-02-03 Debug. Add "LEO" to top of ram name.
* 1.00 '95-12-20 Initial revision .
****************************************************************************
*/
#include <ultra64.h>
#include "leodefine.h"
#include "leodrive.h"
/**************************************************
* SYSTEM INFORMATION DATA AREA (SHOULD BE TOP OF FILE)
***************************************************/
union leo_sys_form LEO_sys_data;
/**************************************************
* FOR THREAD HANDLING
***************************************************/
OSThread LEOcommandThread; /* コマンド処理スレッド */
OSThread LEOinterruptThread; /* 割り込み処理処理スレッド*/
u64 LEOcommandThreadStack[LEO_STACKSIZE/8];
u64 LEOinterruptThreadStack[LEO_STACKSIZE/8];
/**************************************************
* FOR QUEUE
***************************************************/
OSMesgQueue LEOcommand_que; /* Command que */
OSMesgQueue LEOevent_que; /* Interrupt */
OSMesgQueue LEOcontrol_que; /* Command control */
OSMesgQueue LEOdma_que; /* DMA Interrupt */
OSMesgQueue LEOblock_que; /* Commnad block */
OSMesg LEOevent_que_buf; /* Que Buffer */
OSMesg LEOcontrol_que_buf; /* Que Buffer */
OSMesg LEOdma_que_buf[DMA_Q_SIZE]; /* Que Buffer */
OSMesg LEOblock_que_buf; /* Que Buffer */
/**************************************************
* OTHERS
***************************************************/
u8 *LEOwrite_pointer; /* バッファ先頭アドレス */
OSMesg LEOcur_command;
/*-------------------------------------*/
/* SHADOW RAM FOR ASIC */
/*-------------------------------------*/
u32 LEOasic_bm_ctl_shadow;
u32 LEOasic_seq_ctl_shadow;
/*-------------------------------------*/
/* DRIVE PARAMETER */
/*-------------------------------------*/
u8 LEOdrive_flag; /* 0 : SYSTEM INFO NOT READ */
/* 1 : SYSTEM INFO ALREADY READ */
u8 LEOclr_que_flag; /* 0 : CLEAR QUE NOT REQUESTED */
/* 1 : CLEAR QUE REQUESTED */
u16 LEOrw_flags;
u8 LEOdisk_type; /* DISK TYPE */
struct tgt_param_form LEOtgt_param;
union data_trans_form LEO_country_code; /* COUNTRY CODE */