Changeset 3651 for trunk


Ignore:
Timestamp:
Jan 25, 2009, 11:04:53 PM (17 years ago)
Author:
bird
Message:

listomf: support for wmake/boarland file dep comments and cl/xenix memory model comment. Added the class value (hex) to the 'COMENT' prefix, so it now reads 'COMENT e9:' for instance.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/emx/src/emxomf/listomf.c

    r1517 r3651  
    491491
    492492  show_record ("COMENT");
    493   printf (": ");
    494493  get_byte ();                  /* Comment type */
    495494  rec = get_byte ();
     495  printf (" %02x: ", rec);
    496496  switch (rec)
    497497    {
     498    case 0x00:
     499      len = rec_len - rec_idx;
     500      get_mem (string, len);
     501      string[len] = 0;
     502      printf("Translator: ");
     503      show_string (string);
     504      break;
     505
     506    case 0x9d:
     507      {
     508        const char *model = "N/A";
     509        const char *cpu = "N/A";
     510        const char *opt = NULL;
     511       
     512        len = rec_len - rec_idx;
     513        get_mem (string, len);
     514        string[len] = 0;
     515        printf ("Xenix/CL");
     516        for (c1 = 0; c1 < len; c1++)
     517          switch (string[c1])
     518            {
     519            case '0': cpu = "8086"; break;
     520            case '1': cpu = "80186"; break;
     521            case '2': cpu = "80286"; break;
     522            case '3': cpu = "80386"; break;
     523            case 'O': opt = "Optimized"; break;
     524            case 's': model= "Small"; break;
     525            case 'm': model= "Medium"; break;
     526            case 'c': model= "Compact"; break;
     527            case 'l': model= "Large"; break;
     528            case 'h': model= "Huge"; break;
     529            case 'A': cpu = "68000"; break;
     530            case 'B': cpu = "68010"; break;
     531            case 'C': cpu = "68020"; break;
     532            case 'D': cpu = "68030"; break;
     533            default:  printf(" Unknown: %c", string[c1]);
     534            }
     535        printf (" Memory Model: %s CPU: %s", model, cpu);
     536        if (opt)
     537          printf (" %s", opt);
     538        printf (" (\"%s\")", string);
     539        break;
     540      }
     541
    498542    case 0x9e:
    499543      printf ("DOSSEG\n");
     
    620664      printf (", initialization parameter: ");
    621665      show_string (string);
     666      break;
     667
     668    case 0xe9:
     669      len = rec_len - rec_idx;
     670        if (len)
     671        {
     672          /* wDosTime, wDosDate, Name */
     673          word wTime = get_word();
     674          word wDate = get_word();
     675          get_string (string);
     676          printf ("Dep File: ");
     677          show_string (string);
     678          printf (" Time: %02u:%02u:%02u",
     679                  (wTime >> 11),
     680                  (wTime >>  5) & 63,
     681                  (wTime & 31) * 2);
     682          printf (" Date: %04u-%02u-%02u",
     683                  (wDate >> 9) + 1980,
     684                  (wTime >> 5) & 15,
     685                  wTime & 31);
     686        }
     687      else
     688        printf ("Dep File: The End");
    622689      break;
    623690
Note: See TracChangeset for help on using the changeset viewer.