ulxlib.h 2.87 KB
/*
 *  F i l e N a m e  :  U L X L I B . H
 *
 ****************************************************************************
 *                   (C) CopyRight ALPS Electric Co., Ltd. 1996
 ****************************************************************************
 *  Version
 *
 *  ver     Date
 *  ----  --------
 *  1.00  '95-12-20  Initial revision .
 ****************************************************************************
*/
/*===========================================*/
/* ULXLIB.Cのヘッダーファイル                       */
/*===========================================*/

#include <ultra64.h>
#include "leoappli.h"

/*----------------------------------*/
/* bit15-11: RED                    */
/* bit10- 6: GREEN                  */
/* bit 5- 1: BLUE                   */
/*----------------------------------*/
#define RED    0xf801
#define GREEN  0x07c1
#define BLUE   0x003f
#define CYAN   0x07f1
#define YELLOW 0x8fc1
#define WHITE  0xf7bd
#define BLACK  0x0001

#define ESC    99
#define ABORT  100

#define BUFSIZE 0xa0000

/*=======================================================*/

typedef struct {
    LEOCmdHeader  header;
} LEOCmdReset;

extern LEOCmdClearQue      TAG01;
extern LEOCmdInquiry       TAG02;
extern LEOCmdTestUnitReady TAG03;
extern LEOCmdRezero        TAG04;
extern LEOCmdRead          TAG05;
extern LEOCmdWrite         TAG06;
extern LEOCmdSeek          TAG07;
extern LEOCmdStartStop     TAG08;
extern LEOCmdReadCapacity  TAG09;
extern LEOCmdTranslate     TAG0A;
extern LEOCmdModeSelect    TAG0B;
extern LEOCmdReadDiskId    TAG0C;
extern LEOCmdReadTimer     TAG0D;
extern LEOCmdSetTimer      TAG0E;


extern u8        RDB[];            /* 内部リード・データバッファ(64KB+X) */
extern u8        WDB[];            /* 内部ライト・データバッファ (64KB+X) */

extern u8        STR[];            /* 文字表示用バッファ(40文字) */
extern int       controller;       /* コントローラー番号 */
extern u8        Status;           /* 内部ステータス */
extern u8        SCode;            /* センスコード */
extern u8        Post;             /* POST フラグ */
extern u8        Verify;           /* VERIFY	 フラグ */
extern u8        NoDefect;
extern u8        NormCode;
extern u8        MinRtry;
extern OSMesgQueue PostQue;       /* POST QUE メッセージアドレス */

u16 InitialRoutine(void) ;
u8  ClearQue(void) ;
u8  Inquiry(void) ;
u8  TestUnit(void) ;
u8  RezeroUnit(void) ;
u8  ReadDrive( u32, u32, u8 * ) ;
u8  WriteDrive( u32, u32, u8 * ) ;
u8  SeekDrive( u32 ) ;
u8  StartStop( u8, u8 ) ;
u32 ReadCapa( u8, u32, u32 ) ;
u32 Translate( u8, u32, u32 ) ;
u8  ModeSelect( u8, u8, u8, u8 ) ;
u8  ReadDiskID( u8 * ) ;
u8  ReadTimer(u8) ;
u8  SetTimer( u8, u8, u8, u8, u8, u8, u8 ) ;
u8  InvOpcode( u8 ) ;
u8  ClrUAReset(void) ;
u8  Resetleo(void) ;

u8  ReadLongDrive( u32, u32, u8 *, u32, u32 ) ;
u8  WriteLongDrive( u32, u32, u8 *, u32, u32 ) ;
u8  ReadSectorDrive( u32, u32, u8 * ) ;