--- np2/generic/np2info.c 2004/02/18 02:03:36 1.1 +++ np2/generic/np2info.c 2004/03/23 18:34:04 1.5 @@ -10,8 +10,6 @@ #include "np2info.h" -extern RHYTHMCFG rhythmcfg; - static const char str_comma[] = ", "; static const char str_2halfMHz[] = "2.5MHz"; #define str_5MHz (str_2halfMHz + 2) @@ -19,33 +17,57 @@ static const char str_8MHz[] = "8MHz"; static const char str_notexist[] = "not exist"; static const char str_disable[] = "disable"; +static const char str_cpu[] = + "8086-2\0" \ + "70116\0" \ + "80286\0" \ + "80386\0" \ + "80486\0" \ + "Pentium\0" \ + "PentiumPro"; static const char str_winclr[] = - "256-colors\065536-colors\0full color\0true color"; + "256-colors\0" \ + "65536-colors\0" \ + "full color\0" \ + "true color"; static const char str_winmode[] = - " (window)\0 (fullscreen)"; + " (window)\0" \ + " (fullscreen)"; static const char str_grcgchip[] = - "\0GRCG \0GRCG CG-Window \0EGC CG-Window "; -static const char str_clrmode[] = - "(Digital)\0(Analog)"; + "\0" \ + "GRCG \0" \ + "GRCG CG-Window \0" \ + "EGC CG-Window "; +static const char str_vrammode[] = + "Digital\0" \ + "Analog\0" \ + "256colors"; +static const char str_vrampage[] = + " page-0\0" \ + " page-1\0" \ + " page-all"; static const char str_chpan[] = - "none\0Mono-R\0Mono-L\0Stereo"; - + "none\0" \ + "Mono-R\0" \ + "Mono-L\0" \ + "Stereo"; static const char str_fmboard[] = - "none\0PC-9801-14\0PC-9801-26\0PC-9801-86\0" \ - "PC-9801-26 + 86\0PC-9801-118\0" \ - "PC-9801-86 + Chibi-oto\0" \ - "Speak board\0Spark board\0AMD-98"; - - -static const char str_V30[] = "V30"; -static const char str_i286[] = "i286"; + "none\0" \ + "PC-9801-14\0" \ + "PC-9801-26\0" \ + "PC-9801-86\0" \ + "PC-9801-26 + 86\0" \ + "PC-9801-118\0" \ + "PC-9801-86 + Chibi-oto\0" \ + "Speak board\0" \ + "Spark board\0" \ + "AMD-98"; static const char str_clockfmt[] = "%d.%1dMHz"; static const char str_memfmt[] = "%3uKB"; static const char str_memfmt2[] = "%3uKB + %uKB"; static const char str_memfmt3[] = "%d.%1dMB"; static const char str_width[] = "width-%u"; -static const char str_gdcpage[] = "page-%u %s"; static const char str_pcm86a[] = " PCM: %dHz %dbit %s"; static const char str_pcm86b[] = " %d / %d / 32768"; @@ -62,7 +84,14 @@ static void info_ver(char *str, int maxl static void info_cpu(char *str, int maxlen, NP2INFOEX *ex) { - milstr_ncpy(str, (CPU_TYPE & CPUTYPE_V30)?str_V30:str_i286, maxlen); + UINT family; + +#if defined(CPU_FAMILY) + family = min(CPU_FAMILY, 6); +#else + family = (CPU_TYPE & CPUTYPE_V30)?1:2; +#endif + milstr_ncpy(str, milstr_list(str_cpu, family), maxlen); (void)ex; } @@ -79,8 +108,8 @@ static void info_clock(char *str, int ma static void info_base(char *str, int maxlen, NP2INFOEX *ex) { - milstr_ncpy(str, (pccore.baseclock == PCBASECLOCK25)?str_5MHz:str_8MHz, - maxlen); + milstr_ncpy(str, + (pccore.cpumode & CPUMODE_8MHZ)?str_8MHz:str_5MHz, maxlen); (void)ex; } @@ -172,14 +201,26 @@ const char *p; static void info_grph(char *str, int maxlen, NP2INFOEX *ex) { const char *p; + UINT md; + UINT pg; char grphstr[32]; if (!(gdcs.grphdisp & GDCSCRN_ENABLE)) { p = str_disable; } else { - SPRINTF(grphstr, str_gdcpage, gdcs.access, - milstr_list(str_clrmode, (gdc.analog)?1:0)); + md = (gdc.analog & (1 << GDCANALOG_16))?1:0; + pg = gdcs.access; +#if defined(SUPPORT_PC9821) + if (gdc.analog & (1 << (GDCANALOG_256))) { + md = 2; + if (gdc.analog & (1 << (GDCANALOG_256E))) { + pg = 2; + } + } +#endif + milstr_ncpy(grphstr, milstr_list(str_vrammode, md), sizeof(grphstr)); + milstr_ncat(grphstr, milstr_list(str_vrampage, pg), sizeof(grphstr)); p = grphstr; } milstr_ncpy(str, p, maxlen); @@ -271,11 +312,13 @@ static void info_bios(char *str, int max static void info_rhythm(char *str, int maxlen, NP2INFOEX *ex) { char rhythmstr[8]; + UINT exist; UINT i; + exist = rhythm_getcaps(); milstr_ncpy(rhythmstr, str_rhythm, sizeof(rhythmstr)); for (i=0; i<6; i++) { - if (rhythmcfg.pcm[i].data == NULL) { + if (!(exist & (1 << i))) { rhythmstr[i] = '_'; } }