/* * Set up power-on settings for the terminal. */ static void power_on(void) { curs_x = curs_y = alt_x = alt_y = save_x = save_y = 0; alt_t = marg_t = 0; if (rows != -1) alt_b = marg_b = rows - 1; else alt_b = marg_b = 0; if (cols != -1) { int i; for (i = 0; i < cols; i++) tabs[i] = (i % 8 == 0 ? TRUE : FALSE); } alt_om = dec_om = cfg.dec_om; alt_wnext = wrapnext = alt_ins = insert = FALSE; alt_wrap = wrap = cfg.wrap_mode; alt_cset = cset = 0; cset_attr[0] = cset_attr[1] = ATTR_ASCII; rvideo = 0; save_attr = curr_attr = ATTR_DEFAULT; app_cursor_keys = cfg.app_cursor; app_keypad_keys = cfg.app_keypad; alt_which = 0; { int i; for (i = 0; i < 256; i++) wordness[i] = cfg.wordness[i]; } if (text) { swap_screen (1); erase_lots (FALSE, TRUE, TRUE); swap_screen (0); erase_lots (FALSE, TRUE, TRUE); } }
/* * Toggle terminal mode `mode' to state `state'. (`query' indicates * whether the mode is a DEC private one or a normal one.) */ static void toggle_mode (int mode, int query, int state) { if (query) switch (mode) { case 1: /* application cursor keys */ app_cursor_keys = state; break; case 3: /* 80/132 columns */ deselect(); request_resize (state ? 132 : 80, rows); break; case 5: /* reverse video */ rvideo = state; disptop = scrtop; break; case 6: /* DEC origin mode */ dec_om = state; break; case 7: /* auto wrap */ wrap = state; break; case 47: /* alternate screen */ deselect(); swap_screen (state); disptop = scrtop; break; } else switch (mode) { case 4: /* set insert mode */ insert = state; break; } }
void show_picture(u8 image,u8 dir,u8 fade) { static u8 i,j; if(fade) { for(i=0;i<4;++i) { pal_bright(dir?BRIGHT_MID+i:BRIGHT_MID-i); for(j=0;j<4;++j) vsync(); } } draw_image(0,0,image); pal_select(image); swap_screen(); if(fade) { for(i=0;i<4;++i) { pal_bright(dir?BRIGHT_MAX-i:BRIGHT_MIN+i); for(j=0;j<4;++j) vsync(); } } }