Diff for /np2/bios/bios1b.c between versions 1.4 and 1.5

version 1.4, 2003/10/25 20:51:53 version 1.5, 2003/11/29 00:36:00
Line 80  static BOOL biosfd_seek(BYTE track, BOOL Line 80  static BOOL biosfd_seek(BYTE track, BOOL
   
 static UINT16 fdfmt_biospara(BYTE fmt, BYTE rpm) {                                      // ver0.31  static UINT16 fdfmt_biospara(BYTE fmt, BYTE rpm) {                                      // ver0.31
   
         UINT16  seg;          UINT    seg;
         UINT16  off;          UINT    off;
         UINT16  n;          UINT16  n;
   
         n = fdc.N;          n = fdc.N;
Line 108  static UINT16 fdfmt_biospara(BYTE fmt, B Line 108  static UINT16 fdfmt_biospara(BYTE fmt, B
         if (fmt) {          if (fmt) {
                 off += 2;                  off += 2;
         }          }
         return(i286_memword_read(seg, off));          return(i286_memword_read(seg, LOW16(off)));
 }  }
   
 static void change_rpm(BYTE rpm) {                                                                      // ver0.31  static void change_rpm(BYTE rpm) {                                                                      // ver0.31
Line 208  static void b0patch(void) { Line 208  static void b0patch(void) {
                         UINT32  addr;                          UINT32  addr;
                         UINT    size;                          UINT    size;
                         UINT    cnt;                          UINT    cnt;
                         BYTE    c;                          REG8    c;
                         BYTE    cl;                          REG8    cl;
                         BYTE    last;                          REG8    last;
                         addr = ES_BASE + I286_BP;                          addr = ES_BASE + I286_BP;
                         size = I286_BX;                          size = I286_BX;
                         cnt = 0;                          cnt = 0;
Line 219  static void b0patch(void) { Line 219  static void b0patch(void) {
                                 c = i286_memoryread(addr++);                                  c = i286_memoryread(addr++);
                                 cl = 0;                                  cl = 0;
                                 do {                                  do {
                                         BYTE now = c & 0x80;                                          REG8 now = c & 0x80;
                                         c <<= 1;                                          c <<= 1;
                                         b0p.pos++;                                          b0p.pos++;
                                         if (now == last) {                                          if (now == last) {
Line 241  static void b0patch(void) { Line 241  static void b0patch(void) {
                 }                  }
                 if ((b0p.pos >> 3) < I286_BX) {                  if ((b0p.pos >> 3) < I286_BX) {
                         UINT32 addr;                          UINT32 addr;
                         BYTE c;                          REG8 c;
                         addr = ES_BASE + I286_BP + (b0p.pos >> 3);                          addr = ES_BASE + I286_BP + (b0p.pos >> 3);
                         c = i286_memoryread(addr);                          c = i286_memoryread(addr);
                         c ^= (1 << (b0p.pos & 7));                          c ^= (1 << (b0p.pos & 7));
Line 994  UINT16 bootstrapload(void) {          // Line 994  UINT16 bootstrapload(void) {          //
 void bios0x1b(void) {  void bios0x1b(void) {
   
         BYTE    ret_ah;          BYTE    ret_ah;
         BYTE    flag;          REG8    flag;
   
         switch(I286_AL & 0xf0) {          switch(I286_AL & 0xf0) {
                 case 0x90:                  case 0x90:
Line 1055  void bios0x1b(void) { Line 1055  void bios0x1b(void) {
         I286_AH = ret_ah;          I286_AH = ret_ah;
         flag = i286_membyte_read(I286_SS, I286_SP+4) & 0xfe;          flag = i286_membyte_read(I286_SS, I286_SP+4) & 0xfe;
         if (ret_ah >= 0x20) {          if (ret_ah >= 0x20) {
                 flag |= 1;                  flag += 1;
         }          }
         i286_membyte_write(I286_SS, I286_SP+4, flag);          i286_membyte_write(I286_SS, I286_SP+4, flag);
 }  }

Removed from v.1.4  
changed lines
  Added in v.1.5


RetroPC.NET-CVS <cvs@retropc.net>