Beispiel #1
0
Datei: padx.c Projekt: jur/ps2sdk
void wait_vsync() 
{
	// Enable the vsync interrupt.
	_sd(_ld(GS_REG_CSR) | GS_SET_CSR(0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0), GS_REG_CSR);

	// Wait for the vsync interrupt.
	while (!(_ld(GS_REG_CSR) & (GS_SET_CSR(0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0)))) { }

	// Disable the vsync interrupt.
	_sd(_ld(GS_REG_CSR) & ~GS_SET_CSR(0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0), GS_REG_CSR);
}
Beispiel #2
0
void graph_wait_vsync(void)
{

	// Initiate vsync interrupt.
	_sd((_ld(GS_REG_CSR) & 8), GS_REG_CSR);

	// Wait for vsync interrupt to be generated.
	while (!(_ld(GS_REG_CSR) & 8));

}
Beispiel #3
0
void graph_wait_hsync(void)
{

	// Initiate hsync interrupt
	_sd(_ld(GS_REG_CSR & 4), GS_REG_CSR);

	// Wait for hsync interrupt to be generated.
	while (!(_ld(GS_REG_CSR) & 4));

}
Beispiel #4
0
void def_sys() {

    G_sem = _sem_new();

    // bootstrap the hard-coded definitions that we need to even be able to make
    // definitions

    _sd(DEFINITIONS,SYS_CONTEXT,SEM_TYPE_SYMBOL,DEFINITIONS_ID);
    _sd(STRUCTURES,SYS_CONTEXT,SEM_TYPE_SYMBOL,STRUCTURES_ID);
    _sd(STRUCTURE_DEFINITION,SYS_CONTEXT,SEM_TYPE_SYMBOL,STRUCTURE_DEFINITION_ID);
    _sd(STRUCTURE_LABEL,SYS_CONTEXT,SEM_TYPE_SYMBOL,STRUCTURE_LABEL_ID);
    _sd(STRUCTURE_SEQUENCE,SYS_CONTEXT,SEM_TYPE_SYMBOL,STRUCTURE_SEQUENCE_ID);
    _sd(STRUCTURE_SYMBOL,SYS_CONTEXT,SEM_TYPE_SYMBOL,STRUCTURE_SYMBOL_ID);
    _sd(STRUCTURE_OR,SYS_CONTEXT,SEM_TYPE_SYMBOL,STRUCTURE_OR_ID);
    _sd(STRUCTURE_ZERO_OR_MORE,SYS_CONTEXT,SEM_TYPE_SYMBOL,STRUCTURE_ZERO_OR_MORE_ID);
    _sd(STRUCTURE_ONE_OR_MORE,SYS_CONTEXT,SEM_TYPE_SYMBOL,STRUCTURE_ONE_OR_MORE_ID);
    _sd(STRUCTURE_ZERO_OR_ONE,SYS_CONTEXT,SEM_TYPE_SYMBOL,STRUCTURE_ZERO_OR_ONE_ID);
    _sd(STRUCTURE_STRUCTURE,SYS_CONTEXT,SEM_TYPE_SYMBOL,STRUCTURE_STRUCTURE_ID);
    _sd(SYMBOLS,SYS_CONTEXT,SEM_TYPE_SYMBOL,SYMBOLS_ID);
    _sd(PROCESSES,SYS_CONTEXT,SEM_TYPE_SYMBOL,PROCESSES_ID);
    _sd(PROTOCOLS,SYS_CONTEXT,SEM_TYPE_SYMBOL,PROTOCOLS_ID);
    _sd(RECEPTORS,SYS_CONTEXT,SEM_TYPE_SYMBOL,RECEPTORS_ID);
    _sd(SCAPES,SYS_CONTEXT,SEM_TYPE_SYMBOL,SCAPES_ID);
    _sd(SYMBOL_DEFINITION,SYS_CONTEXT,SEM_TYPE_SYMBOL,SYMBOL_DEFINITION_ID);
    _sd(SYMBOL_STRUCTURE,SYS_CONTEXT,SEM_TYPE_SYMBOL,SYMBOL_STRUCTURE_ID);
    _sd(SYMBOL_LABEL,SYS_CONTEXT,SEM_TYPE_SYMBOL,SYMBOL_LABEL_ID);
    _sd(RECEPTOR_DEFINITION,SYS_CONTEXT,SEM_TYPE_SYMBOL,RECEPTOR_DEFINITION_ID);
    _sd(RECEPTOR_LABEL,SYS_CONTEXT,SEM_TYPE_SYMBOL,RECEPTOR_LABEL_ID);
    _sd(ENGLISH_LABEL,SYS_CONTEXT,SEM_TYPE_SYMBOL,ENGLISH_LABEL_ID);

    base_contexts(G_sem);

    // this has to happen after the _sd declarations so that the basic Symbols will be valid
    base_defs(G_sem);

    _r_defineClockReceptor(G_sem);
}
Beispiel #5
0
void graph_start_vsync(void)
{

	_sd(_ld(GS_REG_CSR) & 8, GS_REG_CSR);

}