Subject: port-amiga/2777: problems with Picasso II text console and MKII (060)
To: None <gnats-bugs@gnats.netbsd.org>
From: Thorsten Frueauf <frueauf@ira.uka.de>
List: netbsd-bugs
Date: 09/24/1996 18:17:57
>Number:         2777
>Category:       port-amiga
>Synopsis:       problems with Picasso II text console and MKII (060)
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Sep 24 09:35:00 1996
>Last-Modified:
>Originator:     Thorsten Frueauf
>Organization:
private
>Release:        1.2
>Environment:
	
System: NetBSD di_frueauf 1.2 NetBSD 1.2 (CYBERDYNE) #1: Sat Sep 21 00:20:13 GMT 1996 milano@cyberdyne:/usr/src/sys/arch/amiga/compile/CYBERDYNE amiga
Amiga 3000 (68060 rev.1 CPU/MMU/FPU)
real  mem = 50331648 (6144 pages)
avail mem = 45957120 (5610 pages)
grf3 at grfcl0: width 1024 height 600 colors 16
ite3 at grf3: rows 75 cols 128 repeat at (30/100)s next at (10/100)s has keyboar
d
grfcl: 2MB Picasso II being used
grfcl1 at zbus0 rom 0xe90000 man/pro 2167/12


>Description:
	
If you exit the Xserver on an Amiga that has a 68060 cpu card (e.g. Cyberstorm
MKII) and Picasso II graphics card, the text console does not get properly
initialized, e.g. the font misses some pixels. It turned out that on slower
Amigas this was no problem cause the gfx card got enough time. Thanx to
Klaus Burkert for tracking this down.

>How-To-Repeat:
	
Get an Amiga with 68060 cpu and Picasso II, start Xamiga (the merged version
that will come with X11R6.1), exit the Xserver and watch the Picasso console.

>Fix:
	
This is a diff file that also fixes a typo in grf_cl.c. Apply the patch on
/src/sys/arch/amiga/dev/grf_cl.c:


*** grf_cl.c-1.2	Thu Jun 13 15:44:30 1996
--- grf_cl.c	Tue Sep 24 17:42:17 1996
***************
*** 161,167 ****
  static void *cl_regaddr = 0;    /* registers */
  static int cl_fbsize;           /* framebuffer size */
  
! /* current sprite info, if you add summport for multiple boards
   * make this an array or something
   */
  struct grf_spriteinfo cl_cursprite;
--- 161,167 ----
  static void *cl_regaddr = 0;    /* registers */
  static int cl_fbsize;           /* framebuffer size */
  
! /* current sprite info, if you add support for multiple boards
   * make this an array or something
   */
  struct grf_spriteinfo cl_cursprite;
***************
*** 1281,1287 ****
  		sr15 = ((cl_fbsize / 0x100000 == 2) ? 0x38 : 0xb8);
  	    WSeq(ba, SEQ_ID_CONF_RBACK, 0x00);
  	} else {
! 		sr15 = (TEXT || (gv->depth == 1)) ? 0x90 : 0xb0;
  	}
  	WSeq(ba, SEQ_ID_DRAM_CNTL, sr15);
  	WGfx(ba, GCT_ID_READ_MAP_SELECT, 0x00);
--- 1281,1287 ----
  		sr15 = ((cl_fbsize / 0x100000 == 2) ? 0x38 : 0xb8);
  	    WSeq(ba, SEQ_ID_CONF_RBACK, 0x00);
  	} else {
! 		sr15 = (TEXT || (gv->depth == 1)) ? 0xd0 : 0xb0;
  	}
  	WSeq(ba, SEQ_ID_DRAM_CNTL, sr15);
  	WGfx(ba, GCT_ID_READ_MAP_SELECT, 0x00);
>Audit-Trail:
>Unformatted:
problems with Picasso II text console and MKII (060)