leoram.c 3.13 KB
/*
 *  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  */