Skip to content

Instantly share code, notes, and snippets.

@jamesamcl
jamesamcl / voodoo3-1080p-60hz.md
Last active April 8, 2022 15:09
Timing for a 3DFX Voodoo 3 at 1920x1080 (1080p)

Problem

3DFX Voodoo 3 running at 1080p has a black vertical bar at the left side of the display.

This happens regardless of whether connected directly to the display or using VGA to HDMI adapter.

Solution

Go to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Display\0000\TIMINGS (on win9x) or search registry for TIMINGS on win2k, it appears in several places

function! NERDTreeCustomIgnoreFilter(path)
if a:path.isExecutable
return matchstr(system("file " . a:path.str()), "script") != "script"
endif
endfunction
.section __TEXT,__text,regular,pure_instructions
.globl __Z6callerPFvPKcE
.align 4, 0x90
__Z6callerPFvPKcE: ## @_Z6callerPFvPKcE
.cfi_startproc
## BB#0:
pushq %rbp
Ltmp2:
.cfi_def_cfa_offset 16
Ltmp3:
Ltmp7:
.cfi_def_cfa_offset 16
Ltmp8:
.cfi_offset %rbp, -16
movq %rsp, %rbp
Ltmp9:
.cfi_def_cfa_register %rbp
subq $32, %rsp
leaq -24(%rbp), %rax
movl %edi, -4(%rbp)
.section __TEXT,__text,regular,pure_instructions
.globl __Z6callerPFvPKcE
.align 4, 0x90
__Z6callerPFvPKcE: ## @_Z6callerPFvPKcE
.cfi_startproc
## BB#0:
pushq %rbp
Ltmp2:
.cfi_def_cfa_offset 16
Ltmp3:
#include <stdio.h>
void caller (void (* proc) (const char *))
{
proc ("Hello world");
}
static void print (const char * str)
{
" Taken from https://github.com/carlhuda/janus/blob/master/janus/vim/tools/janus/after/plugin/nerdtree.vim
" Pins NERDTree to the left hand side
"
augroup AuNERDTreeCmd
autocmd AuNERDTreeCmd FocusGained * call s:UpdateNERDTree()
augroup END
function s:UpdateNERDTree(...)
let stay = 0
0000000000601630 d _DYNAMIC
0000000000601838 d _GLOBAL_OFFSET_TABLE_
0000000000400f70 R _IO_stdin_used
w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
w _Jv_RegisterClasses
U _Unwind_Resume@@GCC_3.0
0000000000400bd0 W void ThunkInner<void>(void (*)(), ParamValue const*, typelist<>, void ())
0000000000400d8a W void ThunkInner<void, int, float>(void (*)(int, float), ParamValue const*, typelist<>, void (int, float))
0000000000400cd6 W void ThunkInner<void, int, float, , int, float>(void (*)(int, float), ParamValue const*, typelist<float>, int)
0000000000600bd0 d _DYNAMIC
0000000000600dd8 d _GLOBAL_OFFSET_TABLE_
0000000000400950 R _IO_stdin_used
w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
w _Jv_RegisterClasses
0000000000400860 T float UnpackParam<float>(ParamValue)
0000000000400850 T int UnpackParam<int>(ParamValue)
0000000000400810 T test_0param()
00000000004007f0 T test_2param(int, float)
[james@james-macbook ~]$ nm a.out
0000000000600bd0 d _DYNAMIC
0000000000600dd8 d _GLOBAL_OFFSET_TABLE_
0000000000400950 R _IO_stdin_used
w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
w _Jv_RegisterClasses
0000000000400860 T _Z11UnpackParamIfET_10ParamValue
0000000000400850 T _Z11UnpackParamIiET_10ParamValue
0000000000400810 T _Z11test_0paramv