Subversion Repositories SvarDOS

Rev

Rev 1081 | Rev 1092 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1081 Rev 1086
Line 114... Line 114...
114
    mov [maj], al
114
    mov [maj], al
115
    mov [min], ah
115
    mov [min], ah
116
 
116
 
117
    /* get the "true" DOS version, along with a couple of extra data */
117
    /* get the "true" DOS version, along with a couple of extra data */
118
    mov ax, 0x3306 /* Get true DOS version number (DOS 5+) */
118
    mov ax, 0x3306 /* Get true DOS version number (DOS 5+) */
-
 
119
    clc
119
    int 0x21       /* AL=return_code  BL=maj_ver_num  BH=min_ver_num */
120
    int 0x21       /* AL=return_code  BL=maj_ver_num  BH=min_ver_num */
120
    jnc GOOD       /* DL=revision  DH=kernel_memory_area */
121
    jnc GOOD       /* DL=revision  DH=kernel_memory_area */
121
    mov doserr, ax /* DR-DOS sets CF on this call (according to RBIL) */
122
    mov [doserr], ax /* DR-DOS sets CF on this call (according to RBIL) */
122
    GOOD:
123
    GOOD:
123
    mov [truemaj], bl
124
    mov [truemaj], bl
124
    mov [truemin], bh
125
    mov [truemin], bh
125
    mov [rev], dl
126
    mov [rev], dl
126
    mov [verflags], dh
127
    mov [verflags], dh
Line 134... Line 135...
134
  sprintf(buff, svarlang_str(20,1), maj, min); /* "DOS kernel version %u.%u" */
135
  sprintf(buff, svarlang_str(20,1), maj, min); /* "DOS kernel version %u.%u" */
135
  output(buff);
136
  output(buff);
136
  if ((doserr == 0) && ((maj != truemaj) || (min != truemin))) {
137
  if ((doserr == 0) && ((maj != truemaj) || (min != truemin))) {
137
    output(" (");
138
    output(" (");
138
    sprintf(buff, svarlang_str(20,10), truemaj, truemin); /* "true ver xx.xx" */
139
    sprintf(buff, svarlang_str(20,10), truemaj, truemin); /* "true ver xx.xx" */
-
 
140
    output(buff);
139
    output(")");
141
    output(")");
140
  }
142
  }
141
  outputnl("");
143
  outputnl("");
142
 
144
 
143
  sprintf(buff, svarlang_str(20,5), 'A' + rev); /* "Revision %c" */
145
  sprintf(buff, svarlang_str(20,5), 'A' + rev); /* "Revision %c" */