Skip to content

Instantly share code, notes, and snippets.

💭
I may be slow to respond.

Dan Glastonbury djg

💭
I may be slow to respond.
Block or report user

Report or block djg

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:470505
template <class CODE>
class A
{
protected:
CODE code;
// This is wrong, it needs to me template <class EVENT, class CODE> friend EVENT& createEvent(...)
template <class EVENT>
friend EVENT& createEvent(CODE code, bool down, bool repeat);
};
@djg
djg / gist:1541938
Created Dec 30, 2011
Please Kill Me
View gist:1541938
>graphics.lib(material.obj) : error LNK2019: unresolved external symbol "public: __thiscall boost::archive::basic_binary_oprimitive<class boost::archive::binary_oarchive,class std::basic_ostream<char,struct std::char_traits<char> > >::~basic_binary_oprimitive<class boost::archive::binary_oarchive,class std::basic_ostream<char,struct std::char_traits<char> > >(void)" (??1?$basic_binary_oprimitive@Vbinary_oarchive@archive@boost@@V?$basic_ostream@DU?$char_traits@D@std@@@std@@@archive@boost@@QAE@XZ) referenced in function "public: virtual __thiscall boost::archive::binary_oarchive_impl<class boost::archive::binary_oarchive>::~binary_oarchive_impl<class boost::archive::binary_oarchive>(void)" (??1?$binary_oarchive_impl@Vbinary_oarchive@archive@boost@@@archive@boost@@UAE@XZ)
1>graphics.lib(globallighting.obj) : error LNK2001: unresolved external symbol "public: __thiscall boost::archive::basic_binary_oprimitive<class boost::archive::binary_oarchive,class std::basic_ostream<char,struct std::char_traits<char> > >::~b
View qq-backup-cl.bat
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET CL=%1
IF "_%CL%_"=="__" SET CL=default
SET "r=%__CD__%"
FOR /F "tokens=1,5,6 delims=# " %%a IN ('p4 opened -c %CL%') DO (
FOR /F "tokens=3" %%j IN ('p4 where %%a') DO (
SET p=%%j
7z u -tzip %%b%%c !p:%r%=! > nul
View gist:5538261
@ECHO OFF
rem Recompile PS3 shaders from ps3.cg into shader.ps3 for all techniques.
SET CGC=c:\dev\cyclone\Main\Target\win32\runtime\sce-cgc.exe
SET CGNVTOCGB=c:\dev\cyclone\Main\Target\win32\runtime\cgnv2cgbLevelC.exe
SET CONCAT=c:\dev\cyclone\Main\Target\win32\runtime\CompilePS3Shaders_release
attrib -r shader.ps3
DEL /Q *.fp *.fpo *.vp *.vpo shader.ps3
IF EXIST ps3.techniques (
View PutPixel
procedure putpixel(x,y:word;color:byte); assembler;
asm
mov es,sega000
db 66h; xor ax,ax
db 66h; xor bx,bx
mov ax,x
mov bx,y
mov cl,color
db 67h,66h,8dh,1ch,9bh ;{lea ebx,[ebx+ebx*4]}
db 66h; shl bx,6
@djg
djg / getchar.asm
Last active Dec 28, 2015
I was going for less bytes, hence the push/pop/push shenanigans. There must be an easier way to do this. Why does BSD require the syscall on the top of the stack *and* in EAX?
View getchar.asm
getchar: ; read a byte from stdin
push 0
mov eax, esp
push 1
push eax
push STDIN_FILENO
push SYS_READ
pop eax
push eax
int 80h
View getchar2.asm
; ryg's version
getchar: ;read a byte from stdin
xor eax, eax
push eax
mov ecx, esp
push eax
push ecx
push eax
push eax
mov al, SYS_READ
@djg
djg / gist:7556865
Created Nov 20, 2013
Current byte count == 24
View gist:7556865
# getchar: # read a byte from stdin
6a 00 # push 0
89 e0 # mov eax, esp
6a 01 # push 1
50 # push eax
6a 00 # push STDIN_FILENO
6a 03 # push SYS_READ
58 # pop eax
50 # push eax
cd 80 # int 80h
@djg
djg / gist:7556935
Created Nov 20, 2013
ryg's version: byte count == 22
View gist:7556935
# ryg's version
# getchar:
31 C0 # xor eax, eax
50 # push eax
89 E1 # mov ecx, esp
50 # push eax
51 # push ecx
50 # push eax
50 # push eax
B0 03 # mov al, 3
@djg
djg / gist:7611808
Created Nov 23, 2013
Forthy stack operations.
View gist:7611808
drop:
pop %ebx
pop %eax
jmp *%ebx
swap:
pop %ebx
pop %eax
pop %ecx
push %eax
You can’t perform that action at this time.