Subject: Re: IIsi vertical stripes
To: MacBSD General <firstname.lastname@example.org, macbsd-general@NetBSD.ORG>
From: John E. Clark <email@example.com>
Date: 10/20/1994 11:04:17
At 10:43 AM 10/20/94 +1000, David Leonard wrote:
>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..
movw #PSL_HIGHIPL,sr | no interrupts. ever.
| Give ourself a stack
lea tmpstk,sp | give ourselves a temporary stack
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 _gothere, _getphysical
movl a1, sp@- | Address of buffer
movl d4, sp@- | Some flags... (probably not used)
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
The booter is at least to rev 1.1 (don't know if it's changed in the last week).