[Savage40] s3switch does segmentation fault / xv overlay on tv weired

Tim Roberts timr at probo.com
Thu May 26 09:10:33 PDT 2005


Harald Strack wrote:

>
> Program received signal SIGSEGV, Segmentation fault.
> 0x08049ca7 in em_outb () at lrmi.c:539
> 539             asm volatile ("outb %b0, (%w1)"
> (gdb) info registers
> edx            0x70     112
>
> -> writing 2 bytes to 0x70 ? (correct me, when i am wrong)


Probably correct.  I should have had you do a disassembly just to be 
sure.  There are two forms of the "out" instruction:  one form embeds 
the port number in the instruction, and the other form gets it from dx.  
In this case, it is probably the dx form.  And, actually, it's only 
writing one byte ("outb").

> (gdb) info registers
> edx            0xb2     178
>
> -> writing 2 bytes to 0xb2 ? (correct me, when i am wrong)


Probably not, as we'll see next:

> Next try:
> # ./s3switch pal
> vm86() failed
> return = 0x1
> eax = 0x00000080
> ebx = 0x00000100
> ecx = 0x00005f07
> edx = 0x000000b2
> esi = 0x0000005f
> edi = 0x0000ffff
> ebp = 0x00000fd4
> eip = 0x00009a39
> cs  = 0xc000
> esp = 0x00000fb2
> ss  = 0x1000
> ds  = 0x0000
> es  = 0x0000
> fs  = 0x0000
> gs  = 0x0000
> eflags  = 0x000b3202
> cs:ip = [ e6 4f 3d 80 53 75 04 59 5b eb 03 83 c4 04 66 8b ]


"e6 4f" is the embedded port number out instruction, so in this case, 
the port is 0x4f.

> When I am in TV mode, I get this:
>
> # ./s3switch tv
> Devices attached:  CRT LCD TV
> Devices active:    CRT LCD
> Current TV format is NTSC
>
> So it claims to be NTSC !?


As I said, the format detection on the SuperSavage doesn't work, because 
the BIOS doesn't follow the S3 standard.


> Do not know enough about this stuff sorry... But I have time... If you 
> have more
> ideas for me to fiddle around, they are welcome


For "not knowing enough", you're doing pretty good so far.  If you add 
0x4f instead of 0xb2, you'll probably be pretty close.  Maybe one more.

-- 
Tim Roberts, timr at probo.com
Providenza & Boekelheide, Inc.



More information about the Savage40 mailing list