Subject: Re: grf_cl.c tested on A2000+Spectrum1MB
To: amiga-dev <amiga-dev@NetBSD.ORG>
From: Sascha Groening <groening@fmi.uni-passau.de>
List: amiga-dev
Date: 02/06/1995 15:13:11
Michael Hitch wrote:
  In short, the return(0) indicates the device didn't match what
  was being searched, and would not be configured.

Doesn't the grfclmatch() for Picasso-Mem return 0 , too ?
has Spectrum Mem to be configured or not ?
I get a not configured for my Spectrum Mem and a kernel panic upon
"startx -- -mode 8" : "panic: kvtop: zero page frame"
in grf_cl.c: cl_load_mon()
so I'll try to return 1 in grfclmatch next time I do a kernelcompilation.

Ezra wrote:
  Actually, this means that the configdev entry for spectrum is wrong for
  BOTH 1b and 2mb spectrums.  Its actually returns a size of 16mb (the full
  io size?).  I'll add a test for a 2mb vs 1mb board to the driver.

Does Spectrum 1MB Mem start at 0x400000 or somewhere else ?
How do you find memory on this buggy Graphicsboard.
btw. my Spectrum does not work (crashes) with less than 5 bitplanes 
for a screen!

-------------------
I found something suspicious in grf_cl.c: set5426(): 
.....
/** Ezy turn display on (was commented out) */
/*********************/
        dx = regbase + 0x8000;   /*  use the spectrum's display */

/* Added by Michael Illgner. Looks like the register needs other
   intialisation for regbase. -MiL
   Changed that the delay is only used by Piccolo. -ill
*/
   if (cltype == PICCOLO)
   {

      *dx |= 0x20;
      delay(10000);
   }
   else *dx = 0x6f;
....

will turn display off on a Spectrum or Piccolo
but Picasso has its register at 0x9000.

----------------

and in grf_cl.c: grfclmatch() :
........

                case 2195:
                /* Piccolo */
    /* Added/changed by MiL */
      switch (zap->prodid) {
      case 5:
          ........
      case 6:
        cl_regaddr = zap->va;
        break;
        }
      if (cl_regaddr && cl_fbaddr)
      {
       cltype = PICCOLO;
       wakepass = 0x7F; /* I haven't tested these */
       onpass = 0xDF;         /* I have MiL ;-) */
       offpass = 0x20;        /* but they have no use */
      }

cl_toggle uses wakepass=0x10
----------------

Is there anyone out there with X running on a Spectrum ?

                Greetings to all
                                    Sascha Groening
                                    groening@fmi.uni-passau.de