summaryrefslogtreecommitdiffstats
path: root/sys/boot/pc98
diff options
context:
space:
mode:
authornyan <nyan@FreeBSD.org>2001-10-17 14:17:11 +0000
committernyan <nyan@FreeBSD.org>2001-10-17 14:17:11 +0000
commitbc3aadffa1f4b1be46592a9df4d5b81cbb6af0b8 (patch)
tree87316c02b5e56aeb30eaca2bd8a22cc844c79ad0 /sys/boot/pc98
parent097a07c676456ced692189e5533b1b2a77d3e2a6 (diff)
downloadFreeBSD-src-bc3aadffa1f4b1be46592a9df4d5b81cbb6af0b8.zip
FreeBSD-src-bc3aadffa1f4b1be46592a9df4d5b81cbb6af0b8.tar.gz
fix style(9)
Diffstat (limited to 'sys/boot/pc98')
-rw-r--r--sys/boot/pc98/libpc98/vidconsole.c387
1 files changed, 212 insertions, 175 deletions
diff --git a/sys/boot/pc98/libpc98/vidconsole.c b/sys/boot/pc98/libpc98/vidconsole.c
index cd31218..02cdbe3 100644
--- a/sys/boot/pc98/libpc98/vidconsole.c
+++ b/sys/boot/pc98/libpc98/vidconsole.c
@@ -118,13 +118,15 @@ vidc_init(int arg)
#endif
if (vidc_started && arg == 0)
- return(0);
+ return (0);
vidc_started = 1;
#ifdef PC98
Crtat = (unsigned short *)PTOV(0xA0000);
- while((inb(0x60) & 0x04) == 0);
+ while ((inb(0x60) & 0x04) == 0)
+ ;
outb(0x62, 0xe0);
- while((inb(0x60) & 0x01) == 0);
+ while ((inb(0x60) & 0x01) == 0)
+ ;
hw_cursor = inb(0x62);
hw_cursor |= (inb(0x62) << 8);
inb(0x62);
@@ -136,19 +138,20 @@ vidc_init(int arg)
/* Init terminal emulator */
end_term();
get_pos();
- curs_move(curx,cury);
- fg_c=7;
- bg_c=0;
+ curs_move(curx, cury);
+ fg_c = 7;
+ bg_c = 0;
#endif
- for(i = 0; i < 10 && vidc_ischar(); i++)
- (void)vidc_getchar();
- return(0); /* XXX reinit? */
+ for (i = 0; i < 10 && vidc_ischar(); i++)
+ (void)vidc_getchar();
+ return (0); /* XXX reinit? */
}
#ifdef PC98
static void
beep(void)
{
+
outb(0x37, 6);
delay(40000);
outb(0x37, 7);
@@ -186,7 +189,7 @@ vidc_biosputchar(int c)
if (crtat >= Crtat + col * row) {
cp = Crtat;
for (i = 1; i < row; i++) {
- bcopy((void *)(cp+col), (void *)cp, col*2);
+ bcopy((void *)(cp + col), (void *)cp, col * 2);
cp += col;
}
for (i = 0; i < col; i++) {
@@ -195,12 +198,13 @@ vidc_biosputchar(int c)
crtat -= col;
}
pos = crtat - Crtat;
- while((inb(0x60) & 0x04) == 0) {}
+ while ((inb(0x60) & 0x04) == 0) {}
outb(0x62, 0x49);
outb(0x60, pos & 0xff);
outb(0x60, pos >> 8);
#endif
#else
+
v86.ctl = 0;
v86.addr = 0x10;
v86.eax = 0xe00 | (c & 0xff);
@@ -215,7 +219,7 @@ vidc_rawputchar(int c)
{
int i;
- if(c == '\t')
+ if (c == '\t')
/* lame tab expansion */
for (i = 0; i < 8; i++)
vidc_rawputchar(' ');
@@ -227,46 +231,46 @@ vidc_rawputchar(int c)
switch(c) {
case '\a':
#ifdef PC98
- beep();
+ beep();
#else
- vidc_biosputchar(c);
+ vidc_biosputchar(c);
#endif
- return;
+ return;
case '\r':
- curx=0;
- curs_move(curx,cury);
- return;
+ curx = 0;
+ curs_move(curx, cury);
+ return;
case '\n':
- cury++;
- if(cury>24) {
- scroll_up(1,fg_c,bg_c);
- cury--;
- } else {
- curs_move(curx,cury);
- }
- return;
+ cury++;
+ if (cury > 24) {
+ scroll_up(1, fg_c, bg_c);
+ cury--;
+ } else {
+ curs_move(curx, cury);
+ }
+ return;
case '\b':
- if(curx>0) {
- curx--;
- curs_move(curx,cury);
- /* write_char(' ',fg_c,bg_c); XXX destructive(!) */
- return;
- }
+ if (curx > 0) {
+ curx--;
+ curs_move(curx, cury);
+ /* write_char(' ', fg_c, bg_c); XXX destructive(!) */
return;
+ }
+ return;
default:
- write_char(c,fg_c,bg_c);
- curx++;
- if(curx>79) {
- curx=0;
- cury++;
- }
- if(cury>24) {
- curx=0;
- scroll_up(1,fg_c,bg_c);
- cury--;
- }
+ write_char(c, fg_c, bg_c);
+ curx++;
+ if (curx > 79) {
+ curx = 0;
+ cury++;
+ }
+ if (cury > 24) {
+ curx = 0;
+ scroll_up(1, fg_c, bg_c);
+ cury--;
+ }
}
- curs_move(curx,cury);
+ curs_move(curx, cury);
#endif
}
}
@@ -281,16 +285,18 @@ get_pos(void)
{
#ifdef PC98
int pos = crtat - Crtat;
+
curx = pos % col;
cury = pos / col;
#else
+
v86.ctl = 0;
v86.addr = 0x10;
v86.eax = 0x0300;
v86.ebx = 0x0;
v86int();
- curx=v86.edx & 0x00ff;
- cury=(v86.edx & 0xff00)>>8;
+ curx = v86.edx & 0x00ff;
+ cury = (v86.edx & 0xff00) >> 8;
#endif
}
@@ -300,39 +306,41 @@ curs_move(int x, int y)
{
#ifdef PC98
int pos;
- pos = x + y*col;
+
+ pos = x + y * col;
crtat = Crtat + pos;
pos = crtat - Crtat;
while((inb(0x60) & 0x04) == 0) {}
outb(0x62, 0x49);
outb(0x60, pos & 0xff);
outb(0x60, pos >> 8);
- curx=x;
- cury=y;
-#define isvisible(c) (((c)>32) && ((c)<255))
- if(!isvisible(*crtat & 0x00ff)) {
- write_char(' ',fg_c,bg_c);
+ curx = x;
+ cury = y;
+#define isvisible(c) (((c) > 32) && ((c) < 255))
+ if (!isvisible(*crtat & 0x00ff)) {
+ write_char(' ', fg_c, bg_c);
}
#else
+
v86.ctl = 0;
v86.addr = 0x10;
v86.eax = 0x0200;
v86.ebx = 0x0;
- v86.edx = ((0x00ff & y)<<8)+(0x00ff & x);
+ v86.edx = ((0x00ff & y) << 8) + (0x00ff & x);
v86int();
- curx=x;
- cury=y;
+ curx = x;
+ cury = y;
/* If there is ctrl char at this position, cursor would be invisible.
* Make it a space instead.
*/
- v86.ctl=0;
+ v86.ctl = 0;
v86.addr = 0x10;
v86.eax = 0x0800;
- v86.ebx= 0x0;
+ v86.ebx = 0x0;
v86int();
-#define isvisible(c) (((c)>32) && ((c)<255))
- if(!isvisible(v86.eax & 0x00ff)) {
- write_char(' ',fg_c,bg_c);
+#define isvisible(c) (((c) > 32) && ((c) < 255))
+ if (!isvisible(v86.eax & 0x00ff)) {
+ write_char(' ', fg_c, bg_c);
}
#endif
}
@@ -345,28 +353,31 @@ void
scroll_up(int rows, int fgcol, int bgcol)
{
#ifdef PC98
- unsigned short *cp;
- int i;
+ unsigned short *cp;
+ int i;
- if(rows==0) rows=25;
- cp = Crtat;
- for (i = rows ; i < row; i++) {
- bcopy((void *)(cp+col), (void *)cp, col*2);
- cp += col;
- }
- for (i = 0; i < col; i++) {
- *(cp + 0x1000) = at2pc98(fgcol, bgcol);
- *cp++ = ' ';
- }
+ if (rows == 0)
+ rows = 25;
+ cp = Crtat;
+ for (i = rows; i < row; i++) {
+ bcopy((void *)(cp + col), (void *)cp, col * 2);
+ cp += col;
+ }
+ for (i = 0; i < col; i++) {
+ *(cp + 0x1000) = at2pc98(fgcol, bgcol);
+ *cp++ = ' ';
+ }
#else
- if(rows==0) rows=25;
- v86.ctl = 0;
- v86.addr = 0x10;
- v86.eax = 0x0600+(0x00ff & rows);
- v86.ebx = (bgcol<<12)+(fgcol<<8);
- v86.ecx = 0x0;
- v86.edx = 0x184f;
- v86int();
+
+ if (rows == 0)
+ rows = 25;
+ v86.ctl = 0;
+ v86.addr = 0x10;
+ v86.eax = 0x0600 + (0x00ff & rows);
+ v86.ebx = (bgcol << 12) + (fgcol << 8);
+ v86.ecx = 0x0;
+ v86.edx = 0x184f;
+ v86int();
#endif
}
@@ -374,16 +385,17 @@ scroll_up(int rows, int fgcol, int bgcol)
void
write_char(int c, int fgcol, int bgcol)
{
+
#ifdef PC98
- *crtat = (c == 0x5c ? 0xfc : c);
- *(crtat + 0x1000) = at2pc98(fgcol, bgcol);
+ *crtat = (c == 0x5c ? 0xfc : c);
+ *(crtat + 0x1000) = at2pc98(fgcol, bgcol);
#else
- v86.ctl=0;
- v86.addr = 0x10;
- v86.eax = 0x0900+(0x00ff & c);
- v86.ebx = (bgcol<<4)+fgcol;
- v86.ecx = 0x1;
- v86int();
+ v86.ctl = 0;
+ v86.addr = 0x10;
+ v86.eax = 0x0900 + (0x00ff & c);
+ v86.ebx = (bgcol << 4) + fgcol;
+ v86.ecx = 0x1;
+ v86int();
#endif
}
@@ -391,12 +403,12 @@ write_char(int c, int fgcol, int bgcol)
int
pow10(int i)
{
- int res=1;
+ int res = 1;
- while(i-->0) {
- res*=10;
- }
- return res;
+ while (i-- > 0) {
+ res *= 10;
+ }
+ return res;
}
/**************************************************************/
@@ -408,26 +420,30 @@ pow10(int i)
/* Set background color */
void
-AB(void){
- bg_c=args[0];
- end_term();
+AB(void)
+{
+
+ bg_c = args[0];
+ end_term();
}
/* Set foreground color */
void
AF(void)
{
- fg_c=args[0];
- end_term();
+
+ fg_c = args[0];
+ end_term();
}
/* Clear display from current position to end of screen */
void
CD(void)
{
+
get_pos();
#ifdef PC98
- for(;crtat <= Crtat + col*row; crtat++){
+ for (; crtat <= Crtat + col * row; crtat++) {
*crtat = ' ';
*(crtat + 0x1000) = at2pc98(fg_c, bg_c);
}
@@ -435,13 +451,13 @@ CD(void)
v86.ctl = 0;
v86.addr = 0x10;
v86.eax = 0x0600;
- v86.ebx = (bg_c<<4)+fg_c;
+ v86.ebx = (bg_c << 4) + fg_c;
v86.ecx = v86.edx;
v86.edx = 0x184f;
v86int();
#endif
- curx=0;
- curs_move(curx,cury);
+ curx = 0;
+ curs_move(curx, cury);
end_term();
}
@@ -451,9 +467,12 @@ CD(void)
void
CM(void)
{
- if(args[0]>0) args[0]--;
- if(args[1]>0) args[1]--;
- curs_move(args[1],args[0]);
+
+ if (args[0] > 0)
+ args[0]--;
+ if (args[1] > 0)
+ args[1]--;
+ curs_move(args[1], args[0]);
end_term();
}
@@ -461,53 +480,60 @@ CM(void)
void
HO(void)
{
- argc=1;
- args[0]=args[1]=1;
- CM();
+
+ argc = 1;
+ args[0] = args[1] = 1;
+ CM();
}
/* Exit attribute mode (reset fore/back-ground colors to defaults) */
void
ME(void)
{
- fg_c=7;
- bg_c=0;
- end_term();
+
+ fg_c = 7;
+ bg_c = 0;
+ end_term();
}
/* Clear internal state of the terminal emulation code */
void
end_term(void)
{
- esc=0;
- argc=-1;
- fg=bg=br=0;
- args[0]=args[1]=0;
- dig=0;
+
+ esc = 0;
+ argc = -1;
+ fg = bg = br = 0;
+ args[0] = args[1] = 0;
+ dig = 0;
}
/* Gracefully exit ESC-sequence processing in case of misunderstanding */
void
bail_out(int c)
{
- char buf[6],*ch;
-
- if(esc) vidc_rawputchar('\033');
- if(br) vidc_rawputchar('[');
- if(argc>-1) {
- sprintf(buf,"%d",args[0]);
- ch=buf;
- while(*ch) vidc_rawputchar(*ch++);
+ char buf[6],*ch;
+
+ if (esc)
+ vidc_rawputchar('\033');
+ if (br)
+ vidc_rawputchar('[');
+ if (argc > -1) {
+ sprintf(buf, "%d", args[0]);
+ ch = buf;
+ while (*ch)
+ vidc_rawputchar(*ch++);
- if(argc>0) {
- vidc_rawputchar(';');
- sprintf(buf,"%d",args[1]);
- ch=buf;
- while(*ch) vidc_rawputchar(*ch++);
- }
+ if (argc > 0) {
+ vidc_rawputchar(';');
+ sprintf(buf, "%d", args[1]);
+ ch = buf;
+ while (*ch)
+ vidc_rawputchar(*ch++);
}
- vidc_rawputchar(c);
- end_term();
+ }
+ vidc_rawputchar(c);
+ end_term();
}
/* Emulate basic capabilities of cons25 terminal */
@@ -515,9 +541,9 @@ void
vidc_term_emu(int c)
{
- if(!esc) {
- if(c=='\033') {
- esc=1;
+ if (!esc) {
+ if (c == '\033') {
+ esc = 1;
} else {
vidc_rawputchar(c);
}
@@ -525,15 +551,15 @@ vidc_term_emu(int c)
}
/* Do ESC sequences processing */
- switch(c) {
+ switch (c) {
case '\033':
/* ESC in ESC sequence - error */
bail_out(c);
break;
case '[':
/* Check if it's first char after ESC */
- if(argc<0) {
- br=1;
+ if (argc < 0) {
+ br = 1;
} else {
bail_out(c);
}
@@ -541,14 +567,16 @@ vidc_term_emu(int c)
case 'H':
/* Emulate \E[H (cursor home) and
* \E%d;%dH (cursor absolute move) */
- if(br) {
- switch(argc) {
+ if (br) {
+ switch (argc) {
case -1:
HO();
break;
case 1:
- if(fg) args[0]+=pow10(dig)*3;
- if(bg) args[0]+=pow10(dig)*4;
+ if (fg)
+ args[0] += pow10(dig)*3;
+ if (bg)
+ args[0] += pow10(dig)*4;
CM();
break;
default:
@@ -558,26 +586,28 @@ vidc_term_emu(int c)
break;
case 'J':
/* Emulate \EJ (clear to end of screen) */
- if(br && argc<0) {
+ if (br && argc < 0) {
CD();
} else bail_out(c);
break;
case ';':
/* perhaps args separator */
- if(br && (argc>-1)) {
+ if (br && (argc > -1)) {
argc++;
} else bail_out(c);
break;
case 'm':
/* Change char attributes */
- if(br) {
- switch(argc) {
+ if (br) {
+ switch (argc) {
case -1:
ME();
break;
case 0:
- if(fg) AF();
- else AB();
+ if (fg)
+ AF();
+ else
+ AB();
break;
default:
bail_out(c);
@@ -585,29 +615,30 @@ vidc_term_emu(int c)
} else bail_out(c);
break;
default:
- if(isdigit(c)) {
+ if (isdigit(c)) {
/* Carefully collect numeric arguments */
/* XXX this is ugly. */
- if(br) {
- if(argc==-1) {
- argc=0;
- args[argc]=0;
- dig=0;
+ if (br) {
+ if (argc == -1) {
+ argc = 0;
+ args[argc] = 0;
+ dig = 0;
/* in case we're in error... */
- if(c=='3') {
- fg=1;
+ if (c == '3') {
+ fg = 1;
return;
}
- if(c=='4') {
- bg=1;
+ if (c == '4') {
+ bg = 1;
return;
}
- args[argc]=(int)(c-'0');
- dig=1;
- args[argc+1]=0;
+ args[argc] = (int)(c - '0');
+ dig = 1;
+ args[argc + 1] = 0;
} else {
- args[argc]=args[argc]*10+(int)(c-'0');
- if(argc==0) dig++;
+ args[argc] = args[argc]*10 + (int)(c - '0');
+ if (argc == 0)
+ dig++;
}
} else bail_out(c);
} else bail_out(c);
@@ -629,6 +660,7 @@ vidc_putchar(int c)
static int
vidc_getchar(void)
{
+
if (vidc_ischar()) {
v86.ctl = 0;
#ifdef PC98
@@ -638,27 +670,28 @@ vidc_getchar(void)
#endif
v86.eax = 0x0;
v86int();
- return(v86.eax & 0xff);
+ return (v86.eax & 0xff);
} else {
- return(-1);
+ return (-1);
}
}
static int
vidc_ischar(void)
{
+
#ifdef PC98
v86.ctl = 0;
v86.addr = 0x18;
v86.eax = 0x100;
v86int();
- return((v86.ebx >> 8) & 0x1);
+ return ((v86.ebx >> 8) & 0x1);
#else
v86.ctl = V86_FLAGS;
v86.addr = 0x16;
v86.eax = 0x100;
v86int();
- return(!(v86.efl & PSL_Z));
+ return (!(v86.efl & PSL_Z));
#endif
}
@@ -779,15 +812,19 @@ probe_keyboard(void)
return (1);
}
-#endif
+#endif /* PC98 */
#endif /* KEYBOARD_PROBE */
#ifdef TERM_EMU
#ifdef PC98
-static u_char ibmpc_to_pc98[16] =
- { 0x01,0x21,0x81,0xa1,0x41,0x61,0xc1,0xe1, 0x09,0x29,0x89,0xa9,0x49,0x69,0xc9,0xe9 };
-static u_char ibmpc_to_pc98rev[16] =
- { 0x05,0x25,0x85,0xa5,0x45,0x65,0xc5,0xe5, 0x0d,0x2d,0x8d,0xad,0x4d,0x6d,0xcd,0xed };
+static u_char ibmpc_to_pc98[16] = {
+ 0x01,0x21,0x81,0xa1,0x41,0x61,0xc1,0xe1,
+ 0x09,0x29,0x89,0xa9,0x49,0x69,0xc9,0xe9
+};
+static u_char ibmpc_to_pc98rev[16] = {
+ 0x05,0x25,0x85,0xa5,0x45,0x65,0xc5,0xe5,
+ 0x0d,0x2d,0x8d,0xad,0x4d,0x6d,0xcd,0xed
+};
unsigned int
at2pc98(unsigned int fg_at, unsigned int bg_at)
@@ -811,8 +848,8 @@ at2pc98(unsigned int fg_at, unsigned int bg_at)
/* normal */
at = ibmpc_to_pc98[fg_at];
}
- at |= ((fg_at|bg_at) << 8);
+ at |= ((fg_at | bg_at) << 8);
return (at);
}
-#endif
-#endif
+#endif /* PC98 */
+#endif /* TERM_EMU */
OpenPOWER on IntegriCloud