[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Falcon Bconmap fix



Here's a fix for the Falcon Bconmap bug. It's not quite perfect, since modem1
doesn't exist on the Falcon. In TT terms, it only has modem2 and serial2...
*** 1.2	1994/01/30 14:39:00
--- main.c	1994/01/30 13:19:50
***************
*** 740,746 ****
  	}
  
! 	if (tosvers >= 0x0400 && tosvers <= 0x404)
! 		has_bconmap = 0;	/* Falcon BIOS Bconmap is busted */
! 	else
  /* The TT TOS release notes are wrong... this is the real way to test
   * for Bconmap ability
--- 740,751 ----
  	}
  
! 	if (tosvers >= 0x0400 && tosvers <= 0x404) {
! 		short *bconmap;
! 		bconmap = (short *)Bconmap(-2);
! 		if (bconmap[2] == 1) {	/* Falcon BIOS Bconmap is busted */
! 			bconmap[2] = 3;
! 		}
! 		has_bconmap = 1;
! 	} else {
  /* The TT TOS release notes are wrong... this is the real way to test
   * for Bconmap ability
***************
*** 747,750 ****
--- 752,756 ----
   */
  		has_bconmap = (Bconmap(0) == 0);
+ 	}
  
  /* initialize memory */
*** 1.6	1994/01/30 12:47:00
--- biosfs.c	1994/01/30 13:57:19
***************
*** 193,198 ****
  			break;
  		}
! 	/* SERIAL2 is not present on the Mega STe */
! 		if (mch == MEGASTE && b->private == 8) {
  			b->next = 0;
  			break;
--- 193,198 ----
  			break;
  		}
! 	/* SERIAL2 is not present on the Mega STe or the Falcon */
! 		if (mch != TT && b->private == 8) {
  			b->next = 0;
  			break;
*** 1.1	1994/01/30 10:53:59
--- mint.h	1994/01/30 10:54:26
***************
*** 216,219 ****
--- 216,220 ----
  #define MEGASTE 0x00010010L
  #define TT	0x00020000L
+ #define FALCON	0x00030000L
  
  extern long mch;