Subject: Re: IIsi vertical stripes
To: MacBSD General <d@fnarg.net.au, macbsd-general@NetBSD.ORG>
From: John E. Clark <jclark@synergy.encinitas.ca.us>
List: macbsd-general
Date: 10/20/1994 11:04:17
At 10:43 AM 10/20/94 +1000, David Leonard wrote:
>Hello hackers!
>When I say stripe, it looks like a regular pattern (maybe about 100 bits wide)
>is being written to the screen. It fills from the bottom up. Actually watching

Oops.. vertical strips... the startup in locore.s looks like this..
start:
        movw    #PSL_HIGHIPL,sr         | no interrupts.  ever.

| Give ourself a stack
        lea     tmpstk,sp               | give ourselves a temporary stack
        movl    #CACHE_OFF,d0
        movc    d0, cacr

| Some parameters provided by MacOS
|
| LAK: This section is the new way to pass information from the booter
| to the kernel.  At A1 there is an environment variable which has
| a bunch of stuff in ascii format, "VAR=value\0VAR=value\0\0".

        .globl  _initenv, _getenvvars   | in machdep.c
        .globl  _setmachdep             | in machdep.c
        .globl  _printenvvars
        .globl  _gothere, _getphysical

        movl    a1, sp@-                | Address of buffer
        movl    d4, sp@-                | Some flags... (probably not used)
        jbsr    _initenv
        addql   #8, sp

        jbsr    _getenvvars             | Parse the environment buffer

        jbsr    _gray_bar               | first graybar call (we need stack).
        jbsr    _setmachdep             | Set some machine-dep stuff

Note that gray_bar is called after the environment symbols that are passed by
the booter are processed. One of the environment variables passed is the
screen buffer address, as well as line length, and pixel depth (or at least
that's what 'getenvvars' expects.

My guess after 'reading' the post is that the video address, line length, and/or
pixel depth is not being given to the kernel correctly from the booter program.

This of course presumes that it is dying on the initial gray_bar write, rather
that getting a ways down and some other point is causing the screen to go
verstunken, but doing so so quickly as to give the impression of 'the first
thing
that happens'.

The booter is at least to rev 1.1 (don't know if it's changed in the last week).

John Clark
clark@synergy.encinitas.ca.us