static void omap_set_lcd_mode(int w, int h) { uint32 DISPC = DISPC_BASE; unsigned int i; struct video_mode *m; dprintf("omap3: set_lcd_mode %d,%d\n", w, h); for (i = 0; i < sizeof(modes) / sizeof(modes[0]); i++) { if (w <= modes[i].width && h <= modes[i].height) goto found; } i -= 1; found: m = &modes[i]; dprintf("omap3: found mode[%s]\n", m->name); setreg(DISPC, DISPC_SIZE_LCD, (m->width - 1) | ((m->height - 1) << 16)); setreg(DISPC, DISPC_TIMING_H, m->dispc_timing_h); setreg(DISPC, DISPC_TIMING_V, m->dispc_timing_v); modreg(DISPC, DISPC_DIVISOR, 0xffff, m->dispc_divisor); modaddr(CM_CLKSEL_DSS, 0xffff, m->dss_divisor); // Tell hardware to update, and wait for it modreg(DISPC, DISPC_CONTROL, DISPC_GOLCD, DISPC_GOLCD); while ((readreg(DISPC, DISPC_CONTROL) & DISPC_GOLCD)) ; }
static void omap_attach_framebuffer(addr_t data, int width, int height, int depth) { uint32 DISPC = DISPC_BASE; uint32 gsize = ((height - 1) << 16) | (width - 1); dprintf("omap3: attach bitmap (%d,%d) to screen\n", width, height); setreg(DISPC, DISPC_GFX_BA0, (uint32)data); setreg(DISPC, DISPC_GFX_BA1, (uint32)data); setreg(DISPC, DISPC_GFX_POSITION, 0); setreg(DISPC, DISPC_GFX_SIZE, gsize); setreg(DISPC, DISPC_GFX_FIFO_THRESHOLD, (0x3ff << 16) | 0x3c0); setreg(DISPC, DISPC_GFX_ROW_INC, 1); setreg(DISPC, DISPC_GFX_PIXEL_INC, 1); setreg(DISPC, DISPC_GFX_WINDOW_SKIP, 0); setreg(DISPC, DISPC_GFX_ATTRIBUTES, DISPC_GFXFORMAT_RGB16 | DISPC_GFXBURSTSIZE_16x32 | DISPC_GFXENABLE); // Tell hardware to update, and wait for it modreg(DISPC, DISPC_CONTROL, DISPC_GOLCD, DISPC_GOLCD); while ((readreg(DISPC, DISPC_CONTROL) & DISPC_GOLCD)) ; }
int main(){system("color 2f"); system("cls"); int i=20,con=0; char opc,cadena[i][4][30]; for(int q=0;q==0;){ printf("*******************************************************************************\n\t\t\t\tSUPER AGENDA 2011\n"); printf("*******************************************************************************\n\n"); printf("1) INGRESAR NUEVO REGISTRO\n2) BORRAR REGISTRO\n3) VER AGENDA \n4) VER REGISTRO\n5) MODIFICAR REGISTRO\n6) BORRAR AGENDA\n7) SALIR\n "); printf("\nSELECCIONE UNA OPCION: "); opc=getche(); system("cls"); switch(opc){ case '1':con=nuevoreg(cadena,i,con);break; case '2':con=boreg(cadena,i,con);break; case '3':verag(cadena,i,con);break; case '4':verreg(cadena,i,con);break; case '5':modreg(cadena,i,con);break; case '6':con=borag(con);break; case '7':salir();break; default:printf("\aOPCION INVALIDA\n\n");}}}