亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? int.c

?? 一個兩碟控制的VCD的代碼,兩碟之間的轉動及連續播放,已大量生產的CODE.
?? C
字號:
/* SCCSID @(#)int.c	1.34 8/28/98 *//* * Add in IRQSHARE for sharing debug_irq interrupt for Subcode and IR * requires an external GAL16V8 for interrupt sharing * * by Andy Ho */#include "common.h"#include "dsc.h"#include "util.h"#include "display.h"#include "buffer.h"#include "xport.h"#include "tdm.h"#include "servo.h"#ifdef	IR#include "ir.h"#endif#ifdef SPDIF#include "spdif.h"#endif#if (CUST6 || TVM_MODULE)    #include "config.h"#endif#ifdef IRQSHARE#include "irqshare.h"unsigned int dbgirq ;#endif IRQSHARE#ifdef CUST6extern	unsigned int Timer5m;#endif#ifdef CUST8_5DISKIMPORT void RISC_timer1_interrupt_service(void);#endif#ifdef SERVO2545IMPORT void RISC_timer1_interrupt_service(void);#endifint pcring;#ifndef DRAM_GAMEPRIVATE #endifint	regtable[32];#ifdef DSP2540extern void intr_tim1_act(void) ;#endif/************************************************************************ * Global functions.							* ************************************************************************/extern void EXTIRQ_interrupt_service(void);/* * We have many compilation flags for this service yet VCD 3.0 has a * separate __interrupt() routine. In order to simplify maintainance, * I have common routine so 3.0 can share it as well. */void EXTIRQ_interrupt_service(){    unsigned int utemp;#ifdef IRQSHARE    /* One shot deal for Andy's Submariner board */    READ_IRQ(dbgirq);    /*     * It has to be either IR or SERVO. However, SERVO (s0s1) interrupt     * is much narrower, and we may miss it if interrupt latency is     * too long.     *     * If nobody clears dbgirq, interrupt will keep on coming in. So     * if it is not IR interrupt, we better just call      * SERVO_interrupt_service instead of checking whether it is s0s1     * (if we check and found it is not s0s1, it is most likely that     * we had a long interrupt latency.)     */    if (IR_INT_HIGH(dbgirq)) IR_recv_interrupt_service();    else SERVO_interrupt_service();#else    /* Normal ESS solutions */#ifndef DSC_IRQ#ifdef IR    /* Older style: IR to 3210 */    IR_recv_interrupt_service();#endif /* IR */#else    /* New style: interrupts are connected to 3881 */    utemp = DSC_cmd(dsc_sys_statusm, 0);#ifdef IR    if (utemp & 0x04) IR_recv_interrupt_service(utemp);#endif /* IR */#ifdef DSC_ENABLE_S0S1    if (utemp & 0x08) SERVO_interrupt_service();#endif#ifdef DSC_ENABLE_C2PO    if (utemp & 0x20) {	C2PO_interrupt = 1;              /* C2PO interrupt handler	*/	DSC_cmd(dsc_sys_status, 0x20);   /* Clear 3881's interrupt	*/	mvd[riface_clear_dbgirq] = 0;    /* Clear 3210's debug_irq	*/    }#endif#endif /* else of DSC_IRQ */#endif	/* IRQSHARE */}/****************************************************************************** Interrupt service routine when ucos is not used. ******************************************************************************/__Interrupt(){    /*     * The current compiler always saves r16 to r21 at a procedure     * boundary if it want to use any of these register. Therefore,     * it is safe to put pc0, pc1, pc2 in r19, r20 and r21 respectively.     *     * But these assignments are strongly compiler dependent.     */    register unsigned pc0 asm("r19"), pc1 asm("r20"), pc2 asm("r21");    unsigned utemp;    asm(".globl _Interrupt");    asm("\n_Interrupt:");    /* First save registers */    asm("st    _regtable+1*4[r0],r1");    asm("st    _regtable+2*4[r0],r2");    asm("st    _regtable+3*4[r0],r3");    asm("st    _regtable+4*4[r0],r4");    asm("st    _regtable+5*4[r0],r5");    asm("st    _regtable+6*4[r0],r6");    asm("st    _regtable+7*4[r0],r7");    asm("st    _regtable+8*4[r0],r8");    asm("st    _regtable+9*4[r0],r9");    asm("st    _regtable+10*4[r0],r10");    asm("st    _regtable+11*4[r0],r11");    asm("st    _regtable+12*4[r0],r12");    asm("st    _regtable+13*4[r0],r13");    asm("st    _regtable+14*4[r0],r14");    asm("st    _regtable+15*4[r0],r15");    asm("st    _regtable+16*4[r0],r16");    asm("st    _regtable+17*4[r0],r17");    asm("st    _regtable+18*4[r0],r18");    asm("st    _regtable+19*4[r0],r19");    asm("st    _regtable+20*4[r0],r20");    asm("st    _regtable+21*4[r0],r21");    asm("st    _regtable+22*4[r0],r22");    asm("st    _regtable+26*4[r0],r26");    asm("st    _regtable+28*4[r0],r28");    asm("st    _regtable+29*4[r0],r29");    asm("st    _regtable+30*4[r0],r30");    asm("st    _regtable+31*4[r0],r31");    /* Save the PC chain */    asm volatile("movfrs pcm4,%0" :  "=r" (pc0));    asm volatile("movfrs pcm4,%0" :  "=r" (pc1));    asm volatile("movfrs pcm4,%0" :  "=r" (pc2));    /* For debugging only */    asm volatile("movfrs psw,%0" :  "=r" (utemp));    /* The S bit (PC chain shifting enable) must be 0. */    if (utemp & 1) DSC_dead(0xbad1);    /* Alignment error. */    if (utemp & 0x8000000) DSC_dead(0xbad2);#if 0    /* Interrupt dispatcher */    {	unsigned i, status, save_mask;	IntVectorDesc *Vector;	void	(*service)();	Vector = &IntVector[0];	status = mvd[riface_irqstatus];	for (i=0; i<VectorNum; i++,Vector++) {	    if (status & Vector->TestBit) {		save_mask = mvd[riface_irqmask];		service = Vector->service;		mvd[riface_irqsuppress] = 0;		mvd[riface_irqmask] = Vector->MaskBit;		service();		mvd[riface_irqmask] = save_mask;	    }	}    }#endif	    if (mvd[riface_irqstatus] & buscon_irq) {	BUSCON_interrupt_service();    }    if (mvd[riface_irqstatus] & vout_irq) {	if (mvd[vid_scn_status] & 0x10)	    update_glbTimer();	DISP_interrupt_service();    }    if (mvd[riface_irqstatus] & tim2_irq) {	RISC_timer2_interrupt_service();    }#ifdef DVD_VCD     if (mvd[riface_irqstatus] & host_irq) {	listen_to_hellen();    }#endif#ifdef MPEG1    if (mvd[riface_irqstatus] & xport_irq) {#ifdef DVD_VCD	/*          * Since there is no separate TDM interrupt, handle it now if	 * all the data is in.	 */	if (XPORT_interrupt_service())	  TDM_interrupt_service();#else	XPORT_interrupt_service();#endif    }    if (mvd[riface_irqstatus] & tdm_irq) {	TDM_interrupt_service();    }#endif#ifdef CUST6    if(mvd[riface_irqstatus] & debug_irq) {	if(scor_in_hh)	  Scor_Interrupt();	else	  IR_recv_interrupt_service();    }        if (mvd[riface_irqstatus] & tim1_irq) { 	/* IR transmitting	*/	++Timer5m;	/* Timer_5msec();*/	mvd[riface_clear_timer1] = 0;	if(IS_POWER_DOWN)	    mvd[riface_timer1] = 0x0 -5*IDLECLK*100;	else	    mvd[riface_timer1] = 0x0 - 5*CPUCLK*100;		/*	 * Since this routine will be called repeatedly, it is better	 * to enable interrupt outside.	 */    }#endif /* CUST6 */#ifdef TVM_MODULE#ifdef CUST8_5DISK    /* 6 mili-second counter */    if (mvd[riface_irqstatus] & tim1_irq)	RISC_timer1_interrupt_service();    #endif    if(mvd[riface_irqstatus] & debug_irq)    {	if(DBG_RECEIVING_IR)	    IR_recv_interrupt_service();	else        {            sclk_isr();            mvd[riface_clear_dbgirq] = 0;       /* Clear debug_irq      */        }    }                   #endif /* TVM_MODULE */#ifdef SERVO2545    /* N mili-second counter */    if (mvd[riface_irqstatus] & tim1_irq)	RISC_timer1_interrupt_service();    #endif#ifdef IR#ifdef IRXMT    if (mvd[riface_irqstatus] & tim1_irq) {	/* IR transmitting	*/	IR_xmit_interrupt_service();    }#endif /* IRXMT */#if (!CUST6 && !TVM_MODULE)    if (mvd[riface_irqstatus] & debug_irq)	/* An external int.	*/      EXTIRQ_interrupt_service();#endif /* !CUST6 && !TVM_MODULE */#endif /* IR */#ifdef C80#ifdef DSP2540#ifdef SCOR_INT    if (mvd[riface_irqstatus] & debug_irq) {        s_scor_by_intrpt();    }#else    if (mvd[riface_irqstatus] & tim1_irq) {        intr_tim1_act() ;    }#endif /* CSOR_INT */#endif /* DSP2540 */#endif /* C80 */#if 0#ifdef SPDIF    if (mvd[riface_irqstatus] & debug_irq) {	/* S/PDIF output	*/	SPDIF_out_interrupt_service();    }#endif#endif    pcring = pc0 << 2;    utemp = *((unsigned *)pcring);    if ((utemp>>28)==9) pc0 = 0;	/* Store */    if (!pc0 && !pc1) {                 /* Squashed branch */	utemp = *((int *)((pc2-2)<<2));	if (!(utemp & 0xc0000000)) pc2++;    }    /* We are stucked! (PC chain has the same value) */    if (pc0 == pc2) DSC_dead(0xbad3);    /* restore PC chain */    asm volatile("movtos %0,pcm1" :  : "r" (pc0));    asm volatile("movtos %0,pcm1" :  : "r" (pc1));    asm volatile("movtos %0,pcm1" :  : "r" (pc2));    /* restore registers */    asm("ld    _regtable+1*4[r0],r1");    asm("ld    _regtable+2*4[r0],r2");    asm("ld    _regtable+3*4[r0],r3");    asm("ld    _regtable+4*4[r0],r4");    asm("ld    _regtable+5*4[r0],r5");    asm("ld    _regtable+6*4[r0],r6");    asm("ld    _regtable+7*4[r0],r7");    asm("ld    _regtable+8*4[r0],r8");    asm("ld    _regtable+9*4[r0],r9");    asm("ld    _regtable+10*4[r0],r10");    asm("ld    _regtable+11*4[r0],r11");    asm("ld    _regtable+12*4[r0],r12");    asm("ld    _regtable+13*4[r0],r13");    asm("ld    _regtable+14*4[r0],r14");    asm("ld    _regtable+15*4[r0],r15");    asm("ld    _regtable+16*4[r0],r16");    asm("ld    _regtable+17*4[r0],r17");    asm("ld    _regtable+18*4[r0],r18");    asm("ld    _regtable+19*4[r0],r19");    asm("ld    _regtable+20*4[r0],r20");    asm("ld    _regtable+21*4[r0],r21");    asm("ld    _regtable+22*4[r0],r22");    asm("ld    _regtable+26*4[r0],r26");    asm("ld    _regtable+28*4[r0],r28");    asm("st    0x4028[r27],r0");	/* irqsupress */    asm("ld    _regtable+29*4[r0],r29");    asm("ld    _regtable+30*4[r0],r30");    asm("ld    _regtable+31*4[r0],r31");    /* return from interrupt */    asm("\n.noreorg");    asm("jpcrs");    asm("jpc");    asm("jpc");    asm(".reorgon");}/****************************************************************************** INITIALIZE TRAP VECTOR ******************************************************************************/asm("\n.globl    _trap0");asm("\n_trap0:");asm("\n.noreorg");asm("nop");asm("jspci    r24,#_Interrupt,r0");asm("nop");asm("nop");asm("\n.end");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产福利91精品| 欧洲另类一二三四区| 亚洲视频免费观看| 欧美一区二区大片| 国产精品美女久久久久高潮| 欧美午夜视频网站| 高清久久久久久| 免费观看在线综合| 亚洲美女淫视频| 国产农村妇女毛片精品久久麻豆| 欧美亚洲国产bt| 成人av在线资源网| 99精品国产99久久久久久白柏| 中文字幕不卡在线| 欧美成人综合网站| 欧美巨大另类极品videosbest | 国产成人免费视频| 亚洲国产精品一区二区久久| 久久久久久久久久久久久夜| 精品国产一区二区三区四区四| 亚洲综合色区另类av| 欧美国产精品v| 国产高清不卡一区| 久久99精品国产麻豆婷婷| 亚洲第一会所有码转帖| 亚洲日本在线a| 国产三级欧美三级日产三级99 | 成人h动漫精品一区二区| 国产清纯美女被跳蛋高潮一区二区久久w| 678五月天丁香亚洲综合网| 色综合网站在线| 99国产精品久久久久久久久久| 国产精品538一区二区在线| 美女视频黄频大全不卡视频在线播放| 亚洲一区影音先锋| 亚洲精品免费看| 亚洲男人的天堂在线观看| 国产精品久久久久久久久晋中| 国产欧美日韩在线观看| 久久夜色精品一区| 久久综合一区二区| 久久久久久久一区| 国产日韩av一区二区| 国产日韩精品视频一区| 亚洲国产精品黑人久久久| 99re66热这里只有精品3直播| 成人精品免费视频| 99久久亚洲一区二区三区青草| 丁香六月久久综合狠狠色| 国产成人精品亚洲日本在线桃色| 国产美女娇喘av呻吟久久| 国产老女人精品毛片久久| 国产精品综合二区| 欧美福利电影网| 欧美色图在线观看| 日韩一区二区在线看| 日韩一级完整毛片| 久久老女人爱爱| 国产精品国产成人国产三级 | 欧美日韩精品专区| 中文字幕日本乱码精品影院| 不卡一区在线观看| 欧美亚洲综合网| 欧美一区二区视频免费观看| 精品美女在线播放| 国产精品国产三级国产aⅴ入口| 亚洲欧美日韩一区二区 | 国产一区二区在线视频| 欧美国产乱子伦| 亚洲一区二区精品视频| 蜜桃传媒麻豆第一区在线观看| 国产麻豆成人精品| 99精品热视频| 欧美伦理影视网| 国产亚洲美州欧州综合国| 中文字幕视频一区| 成人av综合一区| 91尤物视频在线观看| 欧美日韩一区小说| 久久久久9999亚洲精品| 亚洲色图视频免费播放| 男女性色大片免费观看一区二区 | 亚洲韩国一区二区三区| 麻豆免费精品视频| 91丨九色丨尤物| 91精品国产高清一区二区三区蜜臀 | 日韩一区二区视频| 国产精品二区一区二区aⅴ污介绍| 亚洲一区二区三区小说| 国产精品对白交换视频| 蜜臀av性久久久久av蜜臀妖精| 成人激情免费视频| 91精品国产一区二区| 国产精品国产a级| 另类小说视频一区二区| 色综合久久中文综合久久97| 精品国产污污免费网站入口| 91麻豆国产福利精品| 成人午夜电影网站| 欧美一区二区日韩一区二区| 国产精品久久久久久久久快鸭| 日本麻豆一区二区三区视频| 91美女在线视频| 久久精品亚洲国产奇米99| 视频一区中文字幕| 一本一道波多野结衣一区二区| 久久综合色之久久综合| 婷婷久久综合九色综合绿巨人| 日韩免费一区二区| 欧美日韩一区成人| 亚洲日本在线看| 成人va在线观看| 国产欧美精品在线观看| 另类成人小视频在线| 欧美日韩一区久久| 亚洲精品视频在线观看网站| 国产九色精品成人porny| 日韩一本二本av| 久久综合久久综合久久综合| 婷婷综合五月天| 一本大道久久a久久综合| 欧美国产激情一区二区三区蜜月| 蜜桃av一区二区| 欧美一区二区三区小说| 午夜精品一区二区三区免费视频| 91在线视频播放地址| 国产精品久久久久久久浪潮网站 | 精品国产乱码久久久久久久| 亚洲va韩国va欧美va| 91免费精品国自产拍在线不卡| 国产精品免费久久| 成人午夜在线播放| 欧美激情一区二区三区全黄| 激情综合网av| 久久久亚洲高清| 国产一区二区福利视频| 久久久久97国产精华液好用吗| 国产精品亚洲午夜一区二区三区 | 久久精品视频在线看| 狠狠色综合播放一区二区| 日韩一区二区三区在线| 青青国产91久久久久久| 3d动漫精品啪啪一区二区竹菊 | 欧美日韩一区二区三区四区| 亚洲黄网站在线观看| 欧美最猛黑人xxxxx猛交| 亚洲最新在线观看| 欧美日韩一区二区欧美激情| 日本欧美久久久久免费播放网| 日韩视频一区二区三区 | 成人av资源站| 成人激情av网| 精品国产一区二区三区久久久蜜月| 久久黄色级2电影| 久久精品日韩一区二区三区| 成人免费毛片片v| 亚洲美女免费视频| 欧美老年两性高潮| 免费成人av在线| 国产欧美一区二区三区鸳鸯浴| 91小视频免费观看| 天天综合网 天天综合色| 日韩精品中文字幕在线不卡尤物 | 国产精品天美传媒| 亚洲综合久久久久| 欧美一区二区福利视频| 国产精品一二三四| 依依成人精品视频| 日韩欧美资源站| youjizz国产精品| 午夜久久电影网| 久久久青草青青国产亚洲免观| av资源站一区| 午夜激情久久久| 欧美性大战久久久久久久| 美国十次了思思久久精品导航| 国产欧美中文在线| 欧美日本一道本在线视频| 国产一区二区在线视频| 亚洲综合一区二区精品导航| 欧美一级黄色片| 91在线看国产| 久久国产精品72免费观看| 亚洲视频1区2区| 欧美本精品男人aⅴ天堂| 欧美成人video| www.亚洲国产| 麻豆精品国产传媒mv男同| 最新日韩av在线| 26uuu亚洲综合色欧美 | 精品国产欧美一区二区| 99精品热视频| 国产精品99久久久久久有的能看| 一个色妞综合视频在线观看| 久久久美女毛片| 欧美高清视频不卡网| av爱爱亚洲一区| 韩国女主播成人在线观看| 亚洲成人你懂的| 成人欧美一区二区三区视频网页|