Subject: *PATCH* AMI BIOS Super VGA 132x43 132x25 video support

From: [email-masked] (Daniel L. Marks)
Date: 28 Oct 1993 05:09:55 GMT

This is a patch that is for video cards with an AMI BIOS to do
132x43 and 132x25 resolutions.  I personally have a localbus
S3, though it really does not matter because the BIOS sets up
all of the VGA registers.  If you have problems, or a different
BIOS signature, let me know.  Patch the file 

/usr/src/linux/boot/setup.S

This diff is for 99pl13 but it should work with earlier
patchlevels.  Use at your own risk, no flames please, blah blah
blah.

Maybe it will make it into a kernel version someday! :)

Daniel Marks
[email-masked]

*** setup.S	Wed Oct 27 23:46:59 1993
--- setup.S.old	Wed Oct 27 23:55:56 1993
***************
*** 390,410 ****
  	int	0x10		! turn on cursor (scan lines 11 to 12)
  	pop	ds
  	mov	ax,#0x501c	! return 80x28
  	ret
  /* svga modes */
! svga: 	cld			! Check for S3 AMI BIOS card 
! 	lea	si,idAMIBIOS	! at C000:0008, 21 byte long
! 	mov	di,#0x008	! signature
! 	mov	cx,#21
! 	repe
! 	cmpsb
! 	jne	namibi		! ([email-masked])
! isami:	lea	si,dscamibios
! 	lea	di,moamibios
! 	br	selmod
! namibi: cld
  	lea	si,idf1280	! Check for Orchid F1280 ([email-masked])
  	mov	di,#0x10a	! id string is at c000:010a
  	mov	cx,#0x21	! length
  	repe
  	cmpsb
--- 390,400 ----
  	int	0x10		! turn on cursor (scan lines 11 to 12)
  	pop	ds
  	mov	ax,#0x501c	! return 80x28
  	ret
  /* svga modes */
! svga:	cld	
  	lea	si,idf1280	! Check for Orchid F1280 ([email-masked])
  	mov	di,#0x10a	! id string is at c000:010a
  	mov	cx,#0x21	! length
  	repe
  	cmpsb
***************
*** 815,825 ****
  idgenoa:	.byte	0x77, 0x00, 0x99, 0x66
  idparadise:	.ascii	"VGA="
  idoakvga:	.ascii  "OAK VGA "
  idf1280:	.ascii	"Orchid Technology Fahrenheit 1280"
  idVRAM:		.ascii	"Stealth VRAM"
- idAMIBIOS:	.ascii	"AMI-VGA-BIOS, (C) AMI"
  
  ! Manufacturer:	  Numofmodes+2:	Mode:
  ! Number of modes is the number of chip-specific svga modes plus the extended
  ! modes available on any vga (currently 2)
  
--- 805,814 ----
***************
*** 833,843 ****
  motrident:	.byte	0x09,	0x50, 0x51, 0x52, 0x57, 0x58, 0x59, 0x5a
  motseng:	.byte	0x07,	0x26, 0x2a, 0x23, 0x24, 0x22
  movideo7:	.byte	0x08,	0x40, 0x43, 0x44, 0x41, 0x42, 0x45
  mooakvga:	.byte	0x07,	0x00, 0x07, 0x4f, 0x50, 0x51
  mof1280:	.byte	0x04,	0x54, 0x55
- moamibios:	.byte	0x04,	0x54, 0x55
  mounknown:	.byte	0x02
  
  !			msb = Cols lsb = Rows:
  ! The first two modes are standard vga modes available on any vga.
  ! mode 0 is 80x50 and mode 1 is 80x28
--- 822,831 ----
***************
*** 852,862 ****
  dsctrident:	.word 	0x5032, 0x501c, 0x501e, 0x502b, 0x503c, 0x8419, 0x841e, 0x842b, 0x843c
  dsctseng:	.word	0x5032, 0x501c, 0x503c, 0x6428, 0x8419, 0x841c, 0x842c
  dscvideo7:	.word	0x5032, 0x501c, 0x502b, 0x503c, 0x643c, 0x8419, 0x842c, 0x841c
  dscoakvga:	.word	0x5032, 0x501c, 0x2819, 0x5019, 0x843c, 0x8419, 0x842C
  dscf1280:	.word	0x5032, 0x501c, 0x842b, 0x8419
- dscamibios:	.word	0x5032, 0x501c, 0x842b, 0x8419
  dsunknown:	.word	0x5032, 0x501c
  modesave:	.word	SVGA_MODE

  .text
--- 840,849 ----