Skip to content

Instantly share code, notes, and snippets.

@tuttlem
tuttlem / gist:4164886
Created November 28, 2012 21:52
PRNG - instruction set
; minimum instruction set requirement
.586
@tuttlem
tuttlem / gist:4164897
Created November 28, 2012 21:54
PRNG - state
; calculation state
prng_x DD 0
; current seed
prng_a DD 100711433
@tuttlem
tuttlem / gist:4164970
Created November 28, 2012 22:00
PRNG - routine
PrngGet PROC range:DWORD
; count the number of cycles since
; the machine has been reset
rdtsc
; accumulate the value in eax and manage
; any carry-spill into the x state var
adc eax, edx
adc eax, prng_x
@tuttlem
tuttlem / gist:4168905
Created November 29, 2012 13:03
modex - outp
outp MACRO port, value
mov dx, port
mov al, value
out dx, al
ENDM
@tuttlem
tuttlem / gist:4168909
Created November 29, 2012 13:03
modex 160x120
tweak_160x120:
; --------------------------
; 160x120
;
; pages = 13
; line size = 40
; page size = 19200
; --------------------------
outp 03d4h, 011h
@tuttlem
tuttlem / gist:4168920
Created November 29, 2012 13:06
modex - 296x220
tweak_296x220:
; --------------------------
; 296x220
;
; pages = 4
; line size = 74
; page size = 65120
; --------------------------
outp 03d4h, 011h
tweak_320x200:
; --------------------------
; 320x200
;
; pages = 4
; line size = 80
; page size = 64000
; --------------------------
outp 03c4h, 04h
@tuttlem
tuttlem / gist:4168936
Created November 29, 2012 13:10
modex 320x240
tweak_320x240:
; --------------------------
; 320x240
;
; pages = 3
; line size = 80
; page size = 76800
; --------------------------
outp 03d4h, 11h
tweak_320x400:
; --------------------------
; 320x400
;
; pages = 2
; line size = 80
; page size = 128000
; --------------------------
outp 03c4h, 004h
@tuttlem
tuttlem / gist:4168949
Created November 29, 2012 13:12
modex - 360x360
tweak_360x360:
; --------------------------
; 360x360
;
; pages = 2
; line size = 90
; page size = 129600
; --------------------------
outp 03d4h, 011h