NTSC filter option tab filled, made tab feature more flexible, fixed FPS display for values >99 and made it aware of slowmo. Some cleanup.
This commit is contained in:
@@ -352,4 +352,11 @@ NEWSYM MovieVideoMode, db 4
|
||||
NEWSYM MovieAudio, db 1
|
||||
NEWSYM MovieVideoAudio, db 0
|
||||
NEWSYM MovieAudioCompress, db 0
|
||||
NEWSYM NTSCFilter, db 0
|
||||
NEWSYM NTSCFilter, db 0
|
||||
NEWSYM NTSCBlend, db 0
|
||||
NEWSYM NTSCHue, db 0
|
||||
NEWSYM NTSCSat, db 0
|
||||
NEWSYM NTSCCont, db 0
|
||||
NEWSYM NTSCBright, db 0
|
||||
NEWSYM NTSCSharp, db 0
|
||||
NEWSYM NTSCWarp, db 0
|
||||
|
||||
@@ -105,6 +105,7 @@ EXTSYM MovieRecord,MovieInsertChapter,MovieSeekAhead,MovieSeekBehind
|
||||
EXTSYM ResetDuringMovie,MovieDumpRaw,AutoLoadCht
|
||||
|
||||
EXTSYM GUIwinposx,GUIwinposy,maxskip,GUIEffect,hqFilter,En2xSaI,NTSCFilter
|
||||
EXTSYM NTSCBlend,NTSCHue,NTSCSat,NTSCCont,NTSCBright,NTSCSharp,NTSCWarp
|
||||
EXTSYM LowPassFilterType,MovieStartMethod,MovieDisplayFrame,resetposn
|
||||
EXTSYM SnapPath,SPCPath,BSXPath,SGPath,STPath,GNextPath,FEOEZPath,SJNSPath
|
||||
EXTSYM MDHPath,SPL4Path,CheatSrcByteSize,prevloadfnamel
|
||||
@@ -2910,7 +2911,7 @@ GUISetPal:
|
||||
inc dx
|
||||
.loopf
|
||||
add bh,2
|
||||
add ah,1
|
||||
inc ah
|
||||
mov al,63
|
||||
out dx,al
|
||||
mov al,bh
|
||||
@@ -3324,7 +3325,7 @@ GUISetPal16:
|
||||
mov esi,128
|
||||
.loopf
|
||||
add bh,2
|
||||
add ah,1
|
||||
inc ah
|
||||
mov edx,1Fh << 6
|
||||
or dl,bh
|
||||
shl edx,5
|
||||
@@ -3742,14 +3743,6 @@ GUIconvpal:
|
||||
|
||||
SECTION .data
|
||||
GUIMousePtr:
|
||||
db 50+88,47+88,45+88,43+88,40+88,0 ,0 ,0
|
||||
db 53+88,52+88,46+88,42+88,0 ,0 ,0 ,0
|
||||
db 55+88,54+88,54+88,44+88,0 ,0 ,0 ,0
|
||||
db 57+88,57+88,56+88,52+88,45+88,0 ,0 ,0
|
||||
db 59+88,0 ,0 ,55+88,50+88,45+88,0 ,0
|
||||
db 0 ,0 ,0 ,0 ,55+88,50+88,45+88,0
|
||||
db 0 ,0 ,0 ,0 ,0 ,55+88,50+88,47+88
|
||||
db 0 ,0 ,0 ,0 ,0 ,0 ,52+88,0
|
||||
db 50,47,45,43,40,0 ,0 ,0
|
||||
db 53,52,46,42,0 ,0 ,0 ,0
|
||||
db 55,54,54,44,0 ,0 ,0 ,0
|
||||
@@ -3760,707 +3753,148 @@ GUIMousePtr:
|
||||
db 0 ,0 ,0 ,0 ,0 ,0 ,52,0
|
||||
|
||||
NEWSYM GUIFontData
|
||||
db 0,0,0,0,0; empty space
|
||||
db 01110000b
|
||||
db 10011000b
|
||||
db 10101000b
|
||||
db 11001000b
|
||||
db 01110000b; 0
|
||||
db 00100000b
|
||||
db 01100000b
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 01110000b; 1
|
||||
db 01110000b
|
||||
db 10001000b
|
||||
db 00110000b
|
||||
db 01000000b
|
||||
db 11111000b; 2
|
||||
db 01110000b
|
||||
db 10001000b
|
||||
db 00110000b
|
||||
db 10001000b
|
||||
db 01110000b; 3
|
||||
db 01010000b
|
||||
db 10010000b
|
||||
db 11111000b
|
||||
db 00010000b
|
||||
db 00010000b; 4
|
||||
db 11111000b
|
||||
db 10000000b
|
||||
db 11110000b
|
||||
db 00001000b
|
||||
db 11110000b; 5
|
||||
db 01110000b
|
||||
db 10000000b
|
||||
db 11110000b
|
||||
db 10001000b
|
||||
db 01110000b; 6
|
||||
db 11111000b
|
||||
db 00001000b
|
||||
db 00010000b
|
||||
db 00010000b
|
||||
db 00010000b; 7
|
||||
db 01110000b
|
||||
db 10001000b
|
||||
db 01110000b
|
||||
db 10001000b
|
||||
db 01110000b; 8
|
||||
db 01110000b
|
||||
db 10001000b
|
||||
db 01111000b
|
||||
db 00001000b
|
||||
db 01110000b; 9
|
||||
db 01110000b
|
||||
db 10001000b
|
||||
db 11111000b
|
||||
db 10001000b
|
||||
db 10001000b; A
|
||||
db 11110000b
|
||||
db 10001000b
|
||||
db 11110000b
|
||||
db 10001000b
|
||||
db 11110000b; B
|
||||
db 01110000b
|
||||
db 10001000b
|
||||
db 10000000b
|
||||
db 10001000b
|
||||
db 01110000b; C
|
||||
db 11110000b
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 11110000b; D
|
||||
db 11111000b
|
||||
db 10000000b
|
||||
db 11110000b
|
||||
db 10000000b
|
||||
db 11111000b; E
|
||||
db 11111000b
|
||||
db 10000000b
|
||||
db 11110000b
|
||||
db 10000000b
|
||||
db 10000000b; F
|
||||
db 01111000b
|
||||
db 10000000b
|
||||
db 10011000b
|
||||
db 10001000b
|
||||
db 01110000b; G
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 11111000b
|
||||
db 10001000b
|
||||
db 10001000b; H
|
||||
db 11111000b
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 11111000b; I
|
||||
db 01111000b
|
||||
db 00010000b
|
||||
db 00010000b
|
||||
db 10010000b
|
||||
db 01100000b; J
|
||||
db 10010000b
|
||||
db 10100000b
|
||||
db 11100000b
|
||||
db 10010000b
|
||||
db 10001000b; K
|
||||
db 10000000b
|
||||
db 10000000b
|
||||
db 10000000b
|
||||
db 10000000b
|
||||
db 11111000b; L
|
||||
db 11011000b
|
||||
db 10101000b
|
||||
db 10101000b
|
||||
db 10101000b
|
||||
db 10001000b; M
|
||||
db 11001000b
|
||||
db 10101000b
|
||||
db 10101000b
|
||||
db 10101000b
|
||||
db 10011000b; N
|
||||
db 01110000b
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 01110000b; O
|
||||
db 11110000b
|
||||
db 10001000b
|
||||
db 11110000b
|
||||
db 10000000b
|
||||
db 10000000b; P
|
||||
db 01110000b
|
||||
db 10001000b
|
||||
db 10101000b
|
||||
db 10010000b
|
||||
db 01101000b; Q
|
||||
db 11110000b
|
||||
db 10001000b
|
||||
db 11110000b
|
||||
db 10010000b
|
||||
db 10001000b; R
|
||||
db 01111000b
|
||||
db 10000000b
|
||||
db 01110000b
|
||||
db 00001000b
|
||||
db 11110000b; S
|
||||
db 11111000b
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 00100000b; T
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 01110000b; U
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 01010000b
|
||||
db 01010000b
|
||||
db 00100000b; V
|
||||
db 10001000b
|
||||
db 10101000b
|
||||
db 10101000b
|
||||
db 10101000b
|
||||
db 01010000b; W
|
||||
db 10001000b
|
||||
db 01010000b
|
||||
db 00100000b
|
||||
db 01010000b
|
||||
db 10001000b; X
|
||||
db 10001000b
|
||||
db 01010000b
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 00100000b; Y
|
||||
db 11111000b
|
||||
db 00010000b
|
||||
db 00100000b
|
||||
db 01000000b
|
||||
db 11111000b; Z
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 11111000b
|
||||
db 00000000b
|
||||
db 00000000b; -
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 11111000b; _
|
||||
db 01101000b
|
||||
db 10010000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b; ~
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00100000b; .
|
||||
db 00001000b
|
||||
db 00010000b
|
||||
db 00100000b
|
||||
db 01000000b
|
||||
db 10000000b; /
|
||||
db 00010000b
|
||||
db 00100000b
|
||||
db 01000000b
|
||||
db 00100000b
|
||||
db 00010000b; <
|
||||
db 01000000b
|
||||
db 00100000b
|
||||
db 00010000b
|
||||
db 00100000b
|
||||
db 01000000b; >
|
||||
db 01110000b
|
||||
db 01000000b
|
||||
db 01000000b
|
||||
db 01000000b
|
||||
db 01110000b; [
|
||||
db 01110000b
|
||||
db 00010000b
|
||||
db 00010000b
|
||||
db 00010000b
|
||||
db 01110000b; ]
|
||||
db 00000000b
|
||||
db 00100000b
|
||||
db 00000000b
|
||||
db 00100000b
|
||||
db 00000000b; :
|
||||
db 01100000b
|
||||
db 10011000b
|
||||
db 01110000b
|
||||
db 10011000b
|
||||
db 01101000b; &
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 10101000b
|
||||
db 01110000b
|
||||
db 00100000b; arrow
|
||||
db 01010000b
|
||||
db 11111000b
|
||||
db 01010000b
|
||||
db 11111000b
|
||||
db 01010000b; #
|
||||
db 00000000b
|
||||
db 11111000b
|
||||
db 00000000b
|
||||
db 11111000b
|
||||
db 00000000b; =
|
||||
db 01001000b
|
||||
db 10010000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b; "
|
||||
db 10000000b
|
||||
db 01000000b
|
||||
db 00100000b
|
||||
db 00010000b
|
||||
db 00001000b; \ (Screw you nassm)
|
||||
db 10101000b
|
||||
db 01110000b
|
||||
db 11111000b
|
||||
db 01110000b
|
||||
db 10101000b; *
|
||||
db 01110000b
|
||||
db 10001000b
|
||||
db 00110000b
|
||||
db 00000000b
|
||||
db 00100000b; ?
|
||||
db 10001000b
|
||||
db 00010000b
|
||||
db 00100000b
|
||||
db 01000000b
|
||||
db 10001000b; %
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 11111000b
|
||||
db 00100000b
|
||||
db 00100000b; +
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00100000b
|
||||
db 01000000b; ,
|
||||
db 00110000b
|
||||
db 01000000b
|
||||
db 01000000b
|
||||
db 01000000b
|
||||
db 00110000b; (
|
||||
db 01100000b
|
||||
db 00010000b
|
||||
db 00010000b
|
||||
db 00010000b
|
||||
db 01100000b; )
|
||||
db 01110000b
|
||||
db 10011000b
|
||||
db 10111000b
|
||||
db 10000000b
|
||||
db 01110000b; @
|
||||
db 00100000b
|
||||
db 01000000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b; '
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 00000000b
|
||||
db 00100000b; !
|
||||
db 01111000b
|
||||
db 10100000b
|
||||
db 01110000b
|
||||
db 00101000b
|
||||
db 11110000b; $
|
||||
db 00000000b
|
||||
db 00100000b
|
||||
db 00000000b
|
||||
db 00100000b
|
||||
db 01000000b; ;
|
||||
db 01000000b
|
||||
db 00100000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b; `
|
||||
db 00100000b
|
||||
db 01010000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b; ^
|
||||
db 00110000b
|
||||
db 01000000b
|
||||
db 11000000b
|
||||
db 01000000b
|
||||
db 00110000b; {
|
||||
db 01100000b
|
||||
db 00010000b
|
||||
db 00011000b
|
||||
db 00010000b
|
||||
db 01100000b; }
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 01110000b
|
||||
db 01110000b
|
||||
db 11111000b; Up
|
||||
db 11111000b
|
||||
db 01110000b
|
||||
db 01110000b
|
||||
db 00100000b
|
||||
db 00100000b; Down
|
||||
db 00001000b
|
||||
db 00111000b
|
||||
db 11111000b
|
||||
db 00111000b
|
||||
db 00001000b; Left
|
||||
db 10000000b
|
||||
db 11100000b
|
||||
db 11111000b
|
||||
db 11100000b
|
||||
db 10000000b; Right
|
||||
db 00100000b
|
||||
db 01100000b
|
||||
db 11111000b
|
||||
db 01100000b
|
||||
db 00100000b; Arrow Left
|
||||
db 00111000b
|
||||
db 00100000b
|
||||
db 00110000b
|
||||
db 00001000b
|
||||
db 10110000b; .5
|
||||
db 11111100b
|
||||
db 10000100b
|
||||
db 11111100b
|
||||
db 00000000b
|
||||
db 00000000b; Maximize
|
||||
db 00000000b
|
||||
db 11111100b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b; Minimize
|
||||
db 11111000b
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 11111000b; Maximize (Linux)
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00100000b
|
||||
db 01010000b
|
||||
db 00100000b; sjis halfwidth (shw) fullstop 0x4E
|
||||
db 01110000b
|
||||
db 01000000b
|
||||
db 01000000b
|
||||
db 01000000b
|
||||
db 00000000b; shw left bracket 0x4F
|
||||
db 00000000b
|
||||
db 00010000b
|
||||
db 00010000b
|
||||
db 00010000b
|
||||
db 01110000b; shw right bracket 0x50
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 01000000b
|
||||
db 00100000b; shw comma 0x51
|
||||
db 00000000b
|
||||
db 00100000b
|
||||
db 01110000b
|
||||
db 00100000b
|
||||
db 00000000b; shw mid-dot 0x52
|
||||
db 11111000b
|
||||
db 00001000b
|
||||
db 11110000b
|
||||
db 00100000b
|
||||
db 11000000b; shw wo 0x53
|
||||
db 00000000b
|
||||
db 11111000b
|
||||
db 01010000b
|
||||
db 01100000b
|
||||
db 01000000b; shw mini a 0x54
|
||||
db 00000000b
|
||||
db 00010000b
|
||||
db 00100000b
|
||||
db 11100000b
|
||||
db 00100000b; shw mini i 0x55
|
||||
db 00000000b
|
||||
db 00100000b
|
||||
db 11111000b
|
||||
db 10001000b
|
||||
db 00110000b; shw mini u 0x56
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 11111000b
|
||||
db 00100000b
|
||||
db 11111000b; shw mini e 0x57
|
||||
db 00000000b
|
||||
db 00010000b
|
||||
db 11111000b
|
||||
db 00110000b
|
||||
db 11010000b; shw mini o 0x58
|
||||
db 00000000b
|
||||
db 01000000b
|
||||
db 11111000b
|
||||
db 01010000b
|
||||
db 01000000b; shw mini ya 0x59
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 11110000b
|
||||
db 00010000b
|
||||
db 11111000b; shw mini yu 0x5A
|
||||
db 00000000b
|
||||
db 11111000b
|
||||
db 00001000b
|
||||
db 01111000b
|
||||
db 11111000b; shw mini yo 0x5B
|
||||
db 00000000b
|
||||
db 10101000b
|
||||
db 10101000b
|
||||
db 00010000b
|
||||
db 01100000b; shw mini tsu 0x5C
|
||||
db 00000000b
|
||||
db 10000000b
|
||||
db 01111000b
|
||||
db 00000000b
|
||||
db 00000000b; shw prolong 0x5D
|
||||
db 11111000b
|
||||
db 00101000b
|
||||
db 00110000b
|
||||
db 00100000b
|
||||
db 11000000b; shw a 0x5E
|
||||
db 00001000b
|
||||
db 00110000b
|
||||
db 11100000b
|
||||
db 00100000b
|
||||
db 00100000b; shw i 0x5F
|
||||
db 00100000b
|
||||
db 11111000b
|
||||
db 10001000b
|
||||
db 00010000b
|
||||
db 01100000b; shw u 0x60
|
||||
db 11111000b
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 11111000b; shw e 0x61
|
||||
db 00010000b
|
||||
db 11111000b
|
||||
db 00110000b
|
||||
db 01010000b
|
||||
db 10010000b; shw o 0x62
|
||||
db 01000000b
|
||||
db 11111000b
|
||||
db 01001000b
|
||||
db 01001000b
|
||||
db 10011000b; shw ka 0x63
|
||||
db 00100000b
|
||||
db 11111000b
|
||||
db 00100000b
|
||||
db 11111000b
|
||||
db 00100000b; shw ki 0x64
|
||||
db 01000000b
|
||||
db 01111000b
|
||||
db 10001000b
|
||||
db 00010000b
|
||||
db 01100000b; shw ku 0x65
|
||||
db 01000000b
|
||||
db 01111000b
|
||||
db 10010000b
|
||||
db 00010000b
|
||||
db 01100000b; shw ke 0x66 ^^
|
||||
db 11111000b
|
||||
db 00001000b
|
||||
db 00001000b
|
||||
db 00001000b
|
||||
db 11111000b; shw ko 0x67
|
||||
db 01010000b
|
||||
db 11111000b
|
||||
db 01010000b
|
||||
db 00010000b
|
||||
db 01100000b; shw sa 0x68
|
||||
db 01000000b
|
||||
db 10101000b
|
||||
db 01001000b
|
||||
db 00010000b
|
||||
db 11100000b; shw shi 0x69
|
||||
db 11111000b
|
||||
db 00001000b
|
||||
db 00010000b
|
||||
db 00110000b
|
||||
db 11001000b; shw su 0x6A
|
||||
db 01000000b
|
||||
db 11111000b
|
||||
db 01010000b
|
||||
db 01000000b
|
||||
db 00111000b; shw se 0x6B
|
||||
db 10001000b
|
||||
db 01001000b
|
||||
db 00001000b
|
||||
db 00010000b
|
||||
db 01100000b; shw so 0x6C
|
||||
db 01000000b
|
||||
db 01111000b
|
||||
db 11001000b
|
||||
db 00110000b
|
||||
db 01100000b; shw ta 0x6D
|
||||
db 11111000b
|
||||
db 00100000b
|
||||
db 11111000b
|
||||
db 00100000b
|
||||
db 01000000b; shw chi 0x6E
|
||||
db 10101000b
|
||||
db 10101000b
|
||||
db 00001000b
|
||||
db 00010000b
|
||||
db 01100000b; shw tsu 0x6F
|
||||
db 11111000b
|
||||
db 00000000b
|
||||
db 11111000b
|
||||
db 00100000b
|
||||
db 11000000b; shw te 0x70
|
||||
db 01000000b
|
||||
db 01000000b
|
||||
db 01100000b
|
||||
db 01010000b
|
||||
db 01000000b; shw to 0x71
|
||||
db 00100000b
|
||||
db 11111000b
|
||||
db 00100000b
|
||||
db 00100000b
|
||||
db 01000000b; shw na 0x72
|
||||
db 11110000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 11111000b; shw ni 0x73
|
||||
db 11111000b
|
||||
db 00001000b
|
||||
db 00101000b
|
||||
db 00010000b
|
||||
db 011010000b; shw nu 0x74
|
||||
db 00100000b
|
||||
db 11111000b
|
||||
db 00001000b
|
||||
db 01110000b
|
||||
db 10101000b; shw ne 0x75
|
||||
db 00001000b
|
||||
db 00001000b
|
||||
db 00001000b
|
||||
db 00010000b
|
||||
db 01100000b; shw no 0x76
|
||||
db 01010000b
|
||||
db 01010000b
|
||||
db 01010000b
|
||||
db 10001000b
|
||||
db 10001000b; shw ha 0x77
|
||||
db 10000000b
|
||||
db 10011000b
|
||||
db 11100000b
|
||||
db 10000000b
|
||||
db 01111000b; shw hi 0x78
|
||||
db 11111000b
|
||||
db 00001000b
|
||||
db 00001000b
|
||||
db 00010000b
|
||||
db 01100000b; shw hu 0x79
|
||||
db 01000000b
|
||||
db 10100000b
|
||||
db 10010000b
|
||||
db 00001000b
|
||||
db 00000000b; shw he 0x7A
|
||||
db 00100000b
|
||||
db 11111000b
|
||||
db 01110000b
|
||||
db 10101000b
|
||||
db 00100000b; shw ho 0x7B
|
||||
db 11111000b
|
||||
db 00001000b
|
||||
db 10010000b
|
||||
db 01100000b
|
||||
db 00100000b; shw ma 0x7C
|
||||
db 11111000b
|
||||
db 00000000b
|
||||
db 11111000b
|
||||
db 00000000b
|
||||
db 11111000b; shw mi 0x7D
|
||||
db 00100000b
|
||||
db 01000000b
|
||||
db 01000000b
|
||||
db 10010000b
|
||||
db 11111000b; shw mu 0x7E
|
||||
db 00001000b
|
||||
db 01001000b
|
||||
db 00110000b
|
||||
db 00110000b
|
||||
db 11001000b; shw me 0x7F
|
||||
db 11111000b
|
||||
db 00100000b
|
||||
db 11111000b
|
||||
db 00100000b
|
||||
db 00111000b; shw mo 0x80
|
||||
db 01000000b
|
||||
db 11111100b
|
||||
db 01001000b
|
||||
db 00100000b
|
||||
db 0010000b; shw ya 0x81
|
||||
db 11110000b
|
||||
db 00010000b
|
||||
db 00010000b
|
||||
db 00010000b
|
||||
db 11111000b; shw yu 0x82
|
||||
db 11111000b
|
||||
db 00001000b
|
||||
db 11111000b
|
||||
db 00001000b
|
||||
db 11111000b; shw yo 0x83
|
||||
db 11111000b
|
||||
db 00000000b
|
||||
db 11111000b
|
||||
db 00010000b
|
||||
db 01100000b; shw ra 0x84
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 00010000b
|
||||
db 01100000b; shw ri 0x85
|
||||
db 01100000b
|
||||
db 01100000b
|
||||
db 01101000b
|
||||
db 01101000b
|
||||
db 10110000b; shw ru 0x86
|
||||
db 10000000b
|
||||
db 10000000b
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 11110000b; shw re 0x87
|
||||
db 11111000b
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 10001000b
|
||||
db 11111000b; shw ro 0x88
|
||||
db 11111000b
|
||||
db 10001000b
|
||||
db 00001000b
|
||||
db 00010000b
|
||||
db 01100000b; shw wa 0x89
|
||||
db 10000000b
|
||||
db 01001000b
|
||||
db 00001000b
|
||||
db 00010000b
|
||||
db 11100000b; shw n 0x8A
|
||||
db 10100000b
|
||||
db 10100000b
|
||||
db 00000000b
|
||||
db 00000000b
|
||||
db 00000000b; shw voiced 0x8B
|
||||
db 01000000b
|
||||
db 10100000b
|
||||
db 01000000b
|
||||
db 00000000b
|
||||
db 00000000b; shw halfvoiced 0x8C
|
||||
; bitmap 5x5 font; char - offset for ASCII2Font
|
||||
db 0,0,0,0,0; empty space 0x0
|
||||
db 01110000b,10011000b,10101000b,11001000b,01110000b; 0 0x01
|
||||
db 00100000b,01100000b,00100000b,00100000b,01110000b; 1 0x02
|
||||
db 01110000b,10001000b,00110000b,01000000b,11111000b; 2 0x03
|
||||
db 01110000b,10001000b,00110000b,10001000b,01110000b; 3 0x04
|
||||
db 01010000b,10010000b,11111000b,00010000b,00010000b; 4 0x05
|
||||
db 11111000b,10000000b,11110000b,00001000b,11110000b; 5 0x06
|
||||
db 01110000b,10000000b,11110000b,10001000b,01110000b; 6 0x07
|
||||
db 11111000b,00001000b,00010000b,00010000b,00010000b; 7 0x08
|
||||
db 01110000b,10001000b,01110000b,10001000b,01110000b; 8 0x09
|
||||
db 01110000b,10001000b,01111000b,00001000b,01110000b; 9 0x0A
|
||||
db 01110000b,10001000b,11111000b,10001000b,10001000b; A 0x0B
|
||||
db 11110000b,10001000b,11110000b,10001000b,11110000b; B 0x0C
|
||||
db 01110000b,10001000b,10000000b,10001000b,01110000b; C 0x0D
|
||||
db 11110000b,10001000b,10001000b,10001000b,11110000b; D 0x0E
|
||||
db 11111000b,10000000b,11110000b,10000000b,11111000b; E 0x0F
|
||||
db 11111000b,10000000b,11110000b,10000000b,10000000b; F 0x10
|
||||
db 01111000b,10000000b,10011000b,10001000b,01110000b; G 0x11
|
||||
db 10001000b,10001000b,11111000b,10001000b,10001000b; H 0x12
|
||||
db 11111000b,00100000b,00100000b,00100000b,11111000b; I 0x13
|
||||
db 01111000b,00010000b,00010000b,10010000b,01100000b; J 0x14
|
||||
db 10010000b,10100000b,11100000b,10010000b,10001000b; K 0x15
|
||||
db 10000000b,10000000b,10000000b,10000000b,11111000b; L 0x16
|
||||
db 11011000b,10101000b,10101000b,10101000b,10001000b; M 0x17
|
||||
db 11001000b,10101000b,10101000b,10101000b,10011000b; N 0x18
|
||||
db 01110000b,10001000b,10001000b,10001000b,01110000b; O 0x19
|
||||
db 11110000b,10001000b,11110000b,10000000b,10000000b; P 0x1A
|
||||
db 01110000b,10001000b,10101000b,10010000b,01101000b; Q 0x1B
|
||||
db 11110000b,10001000b,11110000b,10010000b,10001000b; R 0x1C
|
||||
db 01111000b,10000000b,01110000b,00001000b,11110000b; S 0x1D
|
||||
db 11111000b,00100000b,00100000b,00100000b,00100000b; T 0x1E
|
||||
db 10001000b,10001000b,10001000b,10001000b,01110000b; U 0x1F
|
||||
db 10001000b,10001000b,01010000b,01010000b,00100000b; V 0x20
|
||||
db 10001000b,10101000b,10101000b,10101000b,01010000b; W 0x21
|
||||
db 10001000b,01010000b,00100000b,01010000b,10001000b; X 0x22
|
||||
db 10001000b,01010000b,00100000b,00100000b,00100000b; Y 0x23
|
||||
db 11111000b,00010000b,00100000b,01000000b,11111000b; Z 0x24
|
||||
db 00000000b,00000000b,11111000b,00000000b,00000000b; - 0x25
|
||||
db 00000000b,00000000b,00000000b,00000000b,11111000b; _ 0x26
|
||||
db 01101000b,10010000b,00000000b,00000000b,00000000b; ~ 0x27
|
||||
db 00000000b,00000000b,00000000b,00000000b,00100000b; . 0x28
|
||||
db 00001000b,00010000b,00100000b,01000000b,10000000b; / 0x29
|
||||
db 00010000b,00100000b,01000000b,00100000b,00010000b; < 0x2A
|
||||
db 01000000b,00100000b,00010000b,00100000b,01000000b; > 0x2B
|
||||
db 01110000b,01000000b,01000000b,01000000b,01110000b; [ 0x2C
|
||||
db 01110000b,00010000b,00010000b,00010000b,01110000b; ] 0x2D
|
||||
db 00000000b,00100000b,00000000b,00100000b,00000000b; : 0x2E
|
||||
db 01100000b,10011000b,01110000b,10011000b,01101000b; & 0x2F
|
||||
db 00100000b,00100000b,10101000b,01110000b,00100000b; arrow down 0x30
|
||||
db 01010000b,11111000b,01010000b,11111000b,01010000b; # 0x31
|
||||
db 00000000b,11111000b,00000000b,11111000b,00000000b; = 0x32
|
||||
db 01001000b,10010000b,00000000b,00000000b,00000000b; " 0x33
|
||||
db 10000000b,01000000b,00100000b,00010000b,00001000b; \ 0x34
|
||||
db 10101000b,01110000b,11111000b,01110000b,10101000b; * 0x35
|
||||
db 01110000b,10001000b,00110000b,00000000b,00100000b; ? 0x36
|
||||
db 10001000b,00010000b,00100000b,01000000b,10001000b; % 0x37
|
||||
db 00100000b,00100000b,11111000b,00100000b,00100000b; + 0x38
|
||||
db 00000000b,00000000b,00000000b,00100000b,01000000b; , 0x39
|
||||
db 00110000b,01000000b,01000000b,01000000b,00110000b; ( 0x3A
|
||||
db 01100000b,00010000b,00010000b,00010000b,01100000b; ) 0x3B
|
||||
db 01110000b,10011000b,10111000b,10000000b,01110000b; @ 0x3C
|
||||
db 00100000b,01000000b,00000000b,00000000b,00000000b; ' 0x3D
|
||||
db 00100000b,00100000b,00100000b,00000000b,00100000b; ! 0x3E
|
||||
db 01111000b,10100000b,01110000b,00101000b,11110000b; $ 0x3F
|
||||
db 00000000b,00100000b,00000000b,00100000b,01000000b; ; 0x40
|
||||
db 01000000b,00100000b,00000000b,00000000b,00000000b; ` 0x41
|
||||
db 00100000b,01010000b,00000000b,00000000b,00000000b; ^ 0x42
|
||||
db 00110000b,01000000b,11000000b,01000000b,00110000b; { 0x43
|
||||
db 01100000b,00010000b,00011000b,00010000b,01100000b; } 0x44
|
||||
db 00100000b,00100000b,01110000b,01110000b,11111000b; up 0x45
|
||||
db 11111000b,01110000b,01110000b,00100000b,00100000b; down 0x46
|
||||
db 00001000b,00111000b,11111000b,00111000b,00001000b; left 0x47
|
||||
db 10000000b,11100000b,11111000b,11100000b,10000000b; right 0x48
|
||||
db 00100000b,01100000b,11111000b,01100000b,00100000b; arrow left 0x49
|
||||
db 00111000b,00100000b,00110000b,00001000b,10110000b; .5 0x4A
|
||||
db 11111100b,10000100b,11111100b,00000000b,00000000b; maximize (Win) 0x4B
|
||||
db 00000000b,11111100b,00000000b,00000000b,00000000b; minimize (Win) 0x4C
|
||||
db 11111000b,10001000b,10001000b,10001000b,11111000b; maximize (SDL) 0x4D
|
||||
db 00000000b,00000000b,00100000b,01010000b,00100000b; shw fullstop 0x4E
|
||||
db 01110000b,01000000b,01000000b,01000000b,00000000b; shw left bracket 0x4F
|
||||
db 00000000b,00010000b,00010000b,00010000b,01110000b; shw right bracket 0x50
|
||||
db 00000000b,00000000b,00000000b,01000000b,00100000b; shw comma 0x51
|
||||
db 00000000b,00100000b,01110000b,00100000b,00000000b; shw mid-dot 0x52
|
||||
db 11111000b,00001000b,11110000b,00100000b,11000000b; shw wo 0x53
|
||||
db 00000000b,11111000b,01010000b,01100000b,01000000b; shw mini a 0x54
|
||||
db 00000000b,00010000b,00100000b,11100000b,00100000b; shw mini i 0x55
|
||||
db 00000000b,00100000b,11111000b,10001000b,00110000b; shw mini u 0x56
|
||||
db 00000000b,00000000b,11111000b,00100000b,11111000b; shw mini e 0x57
|
||||
db 00000000b,00010000b,11111000b,00110000b,11010000b; shw mini o 0x58
|
||||
db 00000000b,01000000b,11111000b,01010000b,01000000b; shw mini ya 0x59
|
||||
db 00000000b,00000000b,11110000b,00010000b,11111000b; shw mini yu 0x5A
|
||||
db 00000000b,11111000b,00001000b,01111000b,11111000b; shw mini yo 0x5B
|
||||
db 00000000b,10101000b,10101000b,00010000b,01100000b; shw mini tsu 0x5C
|
||||
db 00000000b,10000000b,01111000b,00000000b,00000000b; shw prolong 0x5D
|
||||
db 11111000b,00101000b,00110000b,00100000b,11000000b; shw a 0x5E
|
||||
db 00001000b,00110000b,11100000b,00100000b,00100000b; shw i 0x5F
|
||||
db 00100000b,11111000b,10001000b,00010000b,01100000b; shw u 0x60
|
||||
db 11111000b,00100000b,00100000b,00100000b,11111000b; shw e 0x61
|
||||
db 00010000b,11111000b,00110000b,01010000b,10010000b; shw o 0x62
|
||||
db 01000000b,11111000b,01001000b,01001000b,10011000b; shw ka 0x63
|
||||
db 00100000b,11111000b,00100000b,11111000b,00100000b; shw ki 0x64
|
||||
db 01000000b,01111000b,10001000b,00010000b,01100000b; shw ku 0x65
|
||||
db 01000000b,01111000b,10010000b,00010000b,01100000b; shw ke 0x66 ^^
|
||||
db 11111000b,00001000b,00001000b,00001000b,11111000b; shw ko 0x67
|
||||
db 01010000b,11111000b,01010000b,00010000b,01100000b; shw sa 0x68
|
||||
db 01000000b,10101000b,01001000b,00010000b,11100000b; shw shi 0x69
|
||||
db 11111000b,00001000b,00010000b,00110000b,11001000b; shw su 0x6A
|
||||
db 01000000b,11111000b,01010000b,01000000b,00111000b; shw se 0x6B
|
||||
db 10001000b,01001000b,00001000b,00010000b,01100000b; shw so 0x6C
|
||||
db 01000000b,01111000b,11001000b,00110000b,01100000b; shw ta 0x6D
|
||||
db 11111000b,00100000b,11111000b,00100000b,01000000b; shw chi 0x6E
|
||||
db 10101000b,10101000b,00001000b,00010000b,01100000b; shw tsu 0x6F
|
||||
db 11111000b,00000000b,11111000b,00100000b,11000000b; shw te 0x70
|
||||
db 01000000b,01000000b,01100000b,01010000b,01000000b; shw to 0x71
|
||||
db 00100000b,11111000b,00100000b,00100000b,01000000b; shw na 0x72
|
||||
db 11110000b,00000000b,00000000b,00000000b,11111000b; shw ni 0x73
|
||||
db 11111000b,00001000b,00101000b,00010000b,01101000b; shw nu 0x74
|
||||
db 00100000b,11111000b,00001000b,01110000b,10101000b; shw ne 0x75
|
||||
db 00001000b,00001000b,00001000b,00010000b,01100000b; shw no 0x76
|
||||
db 01010000b,01010000b,01010000b,10001000b,10001000b; shw ha 0x77
|
||||
db 10000000b,10011000b,11100000b,10000000b,01111000b; shw hi 0x78
|
||||
db 11111000b,00001000b,00001000b,00010000b,01100000b; shw hu 0x79
|
||||
db 01000000b,10100000b,10010000b,00001000b,00000000b; shw he 0x7A
|
||||
db 00100000b,11111000b,01110000b,10101000b,00100000b; shw ho 0x7B
|
||||
db 11111000b,00001000b,10010000b,01100000b,00100000b; shw ma 0x7C
|
||||
db 11111000b,00000000b,11111000b,00000000b,11111000b; shw mi 0x7D
|
||||
db 00100000b,01000000b,01000000b,10010000b,11111000b; shw mu 0x7E
|
||||
db 00001000b,01001000b,00110000b,00110000b,11001000b; shw me 0x7F
|
||||
db 11111000b,00100000b,11111000b,00100000b,00111000b; shw mo 0x80
|
||||
db 01000000b,11111100b,01001000b,00100000b,00100000b; shw ya 0x81
|
||||
db 11110000b,00010000b,00010000b,00010000b,11111000b; shw yu 0x82
|
||||
db 11111000b,00001000b,11111000b,00001000b,11111000b; shw yo 0x83
|
||||
db 11111000b,00000000b,11111000b,00010000b,01100000b; shw ra 0x84
|
||||
db 10001000b,10001000b,10001000b,00010000b,01100000b; shw ri 0x85
|
||||
db 01100000b,01100000b,01101000b,01101000b,10110000b; shw ru 0x86
|
||||
db 10000000b,10000000b,10001000b,10001000b,11110000b; shw re 0x87
|
||||
db 11111000b,10001000b,10001000b,10001000b,11111000b; shw ro 0x88
|
||||
db 11111000b,10001000b,00001000b,00010000b,01100000b; shw wa 0x89
|
||||
db 10000000b,01001000b,00001000b,00010000b,11100000b; shw n 0x8A
|
||||
db 10100000b,10100000b,00000000b,00000000b,00000000b; shw voiced 0x8B
|
||||
db 01000000b,10100000b,01000000b,00000000b,00000000b; shw halfvoiced 0x8C
|
||||
|
||||
; 189 .. 220
|
||||
GUIIconDataClose:
|
||||
@@ -4535,18 +3969,6 @@ GUIIconDataCheckBoxC:
|
||||
db 0 ,215,214,165,212,211,210,202,0 ,0
|
||||
db 0 ,0 ,202,202,202,202,202,202,0 ,0
|
||||
|
||||
GUIIconDataCheckBoxX:
|
||||
db 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0
|
||||
db 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0
|
||||
db 0 ,165,0 ,0 ,0 ,0 ,0 ,165,0 ,0
|
||||
db 0 ,220,165,218,217,216,165,0 ,0 ,0
|
||||
db 0 ,219,218,165,216,165,214,202,0 ,0
|
||||
db 0 ,218,217,216,165,214,213,202,0 ,0
|
||||
db 0 ,217,216,165,214,165,212,202,0 ,0
|
||||
db 0 ,216,165,214,213,212,165,202,0 ,0
|
||||
db 0 ,165,214,213,212,211,210,165,0 ,0
|
||||
db 0 ,0 ,202,202,202,202,202,202,0 ,0
|
||||
|
||||
GUIIconDataUpArrow:
|
||||
db 201,209,209,209,209,209,209,200,0 ,0
|
||||
db 207,205,205,202,203,205,205,203,0 ,0
|
||||
|
||||
@@ -706,21 +706,33 @@ GUIgetcurrentinput:
|
||||
.nokey
|
||||
ret
|
||||
|
||||
%macro KeyTabInc 1 ; tab array
|
||||
cmp dh,9
|
||||
jne %%done
|
||||
%macro KeyTabInc 1-* ; tab arrays
|
||||
push edx
|
||||
%rep %0
|
||||
xor edx,edx
|
||||
mov eax,[%1]
|
||||
cmp eax,[%1+4]
|
||||
je %%back
|
||||
inc dword[%1]
|
||||
jmp %%done
|
||||
%%back
|
||||
mov dword[%1],1
|
||||
%%done
|
||||
div dword[%1+4]
|
||||
mov [%1],edx
|
||||
%rotate 1
|
||||
or [%1],eax
|
||||
cmp eax,1
|
||||
je %%exit
|
||||
%rotate -1
|
||||
sub eax,[%1]
|
||||
adc dword[%1],0
|
||||
cmp dword[%1],0
|
||||
jne %%exit
|
||||
%rotate 1
|
||||
%endrep
|
||||
%%exit
|
||||
pop edx
|
||||
%endmacro
|
||||
|
||||
GUIInputKeys:
|
||||
cmp dh,9
|
||||
jne .notab
|
||||
KeyTabInc GUIInputTabs
|
||||
.notab
|
||||
ret
|
||||
|
||||
GUITCPIPKeys:
|
||||
@@ -838,13 +850,13 @@ GUISpeedKeys:
|
||||
|
||||
cmp dh,'A' ; Framerate Checkboxes
|
||||
jne .noautofr
|
||||
mov byte[FPSOn],0
|
||||
cmp byte[frameskip],0
|
||||
cmp byte[frameskip],0 ; 0 = autoframerate / 1-10 = frameskip 0-9
|
||||
je .zero
|
||||
mov byte[frameskip],0
|
||||
jmp .notzero
|
||||
.zero
|
||||
mov byte[frameskip],2
|
||||
mov byte[FPSOn],0
|
||||
mov byte[frameskip],1
|
||||
.notzero
|
||||
.noautofr
|
||||
ret
|
||||
@@ -939,7 +951,15 @@ GUIGUIOptnsKeys:
|
||||
ret
|
||||
|
||||
GUIVideoKeys:
|
||||
cmp dh,9
|
||||
jne near .notab
|
||||
cmp byte[NTSCFilter],0
|
||||
jne .ntsc
|
||||
KeyTabInc GUIVideoTabs
|
||||
jmp .notab
|
||||
.ntsc
|
||||
KeyTabInc GUIVideoTabs,GUIVntscTab
|
||||
.notab
|
||||
cmp dh,'a'
|
||||
jb .nocap
|
||||
cmp dh,'z'
|
||||
@@ -1340,8 +1360,12 @@ GUIVideoKeys:
|
||||
.nograyscale
|
||||
.notfilterstab
|
||||
|
||||
cmp dword[GUIVideoTabs],3
|
||||
cmp dword[GUIVntscTab],1
|
||||
jne .notntsctab
|
||||
cmp dh,'B'
|
||||
jne .noblend
|
||||
xor byte[NTSCBlend],1
|
||||
.noblend
|
||||
.notntsctab
|
||||
ret
|
||||
|
||||
|
||||
@@ -53,12 +53,14 @@ ProcessMouse:
|
||||
call Set_MouseYMax
|
||||
.nohold1
|
||||
cmp byte[GUIHold],5 ; Sound Slider
|
||||
je .dohold5
|
||||
je .holdslider
|
||||
cmp byte[GUIHold],6 ; Speed Slider
|
||||
je .dohold5
|
||||
je .holdslider
|
||||
cmp byte[GUIHold],2 ; Colour Slider
|
||||
je .holdslider
|
||||
cmp byte[GUIHold],7 ; Video Slider
|
||||
jne .nohold2m
|
||||
.dohold5
|
||||
.holdslider
|
||||
mov ecx,[GUIHoldXlimL] ; Sets min/max move range for mouse
|
||||
mov edx,[GUIHoldXlimR] ; once holding slider
|
||||
call Set_MouseXMax
|
||||
@@ -334,7 +336,7 @@ ProcessMouseButtons:
|
||||
xor ebx,ebx
|
||||
mov bl,[GUIwinorder+eax]
|
||||
cmp byte[GUIHold],2
|
||||
je .hold2
|
||||
je near .hold2
|
||||
cmp byte[GUIHold],3
|
||||
je near .hold3
|
||||
cmp byte[GUIHold],4
|
||||
@@ -343,6 +345,8 @@ ProcessMouseButtons:
|
||||
je near .hold5
|
||||
cmp byte[GUIHold],6
|
||||
je near .hold6
|
||||
cmp byte[GUIHold],7
|
||||
je near .hold7
|
||||
cmp byte[GUIHold],1
|
||||
je near .hold
|
||||
cmp byte[GUIHold],255
|
||||
@@ -452,6 +456,23 @@ ProcessMouseButtons:
|
||||
.nogreat6
|
||||
mov byte[lastmouseholded],1
|
||||
jmp DisplayGUISpeedClick
|
||||
.hold7
|
||||
; Video Slide Bar Hold
|
||||
mov eax,[GUIHoldYlim]
|
||||
mov [GUImouseposy],eax
|
||||
mov ebx,[GUImouseposx]
|
||||
mov eax,[GUIHoldXlimL]
|
||||
cmp ebx,eax
|
||||
jnl .noless7
|
||||
mov [GUImouseposx],eax
|
||||
.noless7
|
||||
mov eax,[GUIHoldXlimR]
|
||||
cmp ebx,eax
|
||||
jng .nogreat7
|
||||
mov [GUImouseposx],eax
|
||||
.nogreat7
|
||||
mov byte[lastmouseholded],1
|
||||
jmp DisplayGUIVideoClick
|
||||
.hold
|
||||
cmp word[GUImouseposy],16
|
||||
jge .noover
|
||||
@@ -2182,7 +2203,7 @@ DisplayGUIMovieClick:
|
||||
%%noclick
|
||||
%endmacro
|
||||
|
||||
%macro GUIPTabClick 4 ; minX, maxX, var, value
|
||||
%macro GUIPTabClick 3-* ; minX, maxX, value, var, vars to zero
|
||||
cmp eax,%1+1
|
||||
jl %%noclick
|
||||
cmp eax,%2-1
|
||||
@@ -2191,7 +2212,14 @@ DisplayGUIMovieClick:
|
||||
jl %%noclick
|
||||
cmp edx,22
|
||||
jg %%noclick
|
||||
mov %3,%4
|
||||
mov dword[%4],%3
|
||||
%if (%0>4)
|
||||
%rotate 4
|
||||
%rep (%0-4)
|
||||
mov dword[%1],0
|
||||
%rotate 1
|
||||
%endrep
|
||||
%endif
|
||||
%%noclick
|
||||
%endmacro
|
||||
|
||||
@@ -2213,11 +2241,11 @@ DisplayGUIInputClick:
|
||||
;x,y,x2,y2,currentwin,vpos,#entries,starty,y/entry,cpos,winval,win#,dclicktick#
|
||||
GUIWinControl 5,36,107,34+5*8,GUIBlankVar,GUIcurrentinputviewloc,GUINumValue,35,8,GUIcurrentinputcursloc,4,3,0
|
||||
|
||||
GUIPTabClick 0,21,dword[GUIInputTabs],1
|
||||
GUIPTabClick 22,43,dword[GUIInputTabs],2
|
||||
GUIPTabClick 44,65,dword[GUIInputTabs],3
|
||||
GUIPTabClick 66,87,dword[GUIInputTabs],4
|
||||
GUIPTabClick 88,109,dword[GUIInputTabs],5
|
||||
GUIPTabClick 0,21,1,GUIInputTabs
|
||||
GUIPTabClick 22,43,2,GUIInputTabs
|
||||
GUIPTabClick 44,65,3,GUIInputTabs
|
||||
GUIPTabClick 66,87,4,GUIInputTabs
|
||||
GUIPTabClick 88,109,5,GUIInputTabs
|
||||
|
||||
GUIPHoldbutton 123,34,153,45,14 ; Buttons
|
||||
GUIPHoldbutton 123,50,177,61,40
|
||||
@@ -2381,7 +2409,6 @@ DisplayGUIOptionClick:
|
||||
%endif
|
||||
ret
|
||||
|
||||
|
||||
DisplayGUIVideoClick2:
|
||||
cmp dword[GUIVideoTabs],1 ; modes
|
||||
jne near .notmodestab2
|
||||
@@ -2393,11 +2420,11 @@ DisplayGUIVideoClick2:
|
||||
GUIPostWinBoxMove 5,27,115,27+5*8,GUIcurrentvideoviewloc,GUIcurrentvideocursloc,GUINumValue,.scrollup,.scrolldown,DisplayGUIVideoClick.skipscrol,5
|
||||
.notmodestab2
|
||||
DisplayGUIVideoClick:
|
||||
GUIPTabClick 0,39,dword[GUIVideoTabs],1
|
||||
GUIPTabClick 40,91,dword[GUIVideoTabs],2
|
||||
cmp dword[GUIVideoTabs+4],3
|
||||
GUIPTabClick 0,39,1,GUIVideoTabs,GUIVntscTab
|
||||
GUIPTabClick 40,91,2,GUIVideoTabs,GUIVntscTab
|
||||
cmp byte[NTSCFilter],1
|
||||
jne .nontscf
|
||||
GUIPTabClick 92,125,dword[GUIVideoTabs],3
|
||||
GUIPTabClick 92,125,1,GUIVntscTab,GUIVideoTabs
|
||||
.nontscf
|
||||
|
||||
cmp dword[GUIVideoTabs],1 ; modes
|
||||
@@ -2542,13 +2569,103 @@ DisplayGUIVideoClick:
|
||||
GUIClickCButtonT 115,183,byte[vsyncon],byte[Triplebufen]
|
||||
%endif
|
||||
GUIClickCButton 11,183,byte[GrayscaleMode]
|
||||
.notfilterstab
|
||||
|
||||
cmp dword[GUIVideoTabs],3 ; NTSC
|
||||
jne .notntsctab
|
||||
.notntsctab
|
||||
mov al,[vsyncon]
|
||||
mov [cfgvsync],al
|
||||
.notfilterstab
|
||||
|
||||
cmp dword[GUIVntscTab],1 ; NTSC
|
||||
jne near .notntsctab
|
||||
mov eax,[GUImouseposx] ; update mouse location
|
||||
sub eax,[GUIwinposx+5*4]
|
||||
mov edx,[GUImouseposy]
|
||||
sub edx,[GUIwinposy+5*4]
|
||||
|
||||
GUIClickCButton 5,25,byte[NTSCBlend] ; Checkboxes
|
||||
|
||||
;Sliders
|
||||
cmp eax,15 ; X-Range for click-area
|
||||
jl near .nomovebar
|
||||
cmp eax,15+100
|
||||
jg near .nomovebar
|
||||
cmp edx,54 ; Y-Range for click-area
|
||||
jl near .nomovebar
|
||||
cmp edx,58
|
||||
jg .nohuebar
|
||||
sub eax,15
|
||||
mov [NTSCHue],al
|
||||
mov byte[GUIHold],7 ; Lock mouse to bar when clicked
|
||||
mov eax,[GUIwinposy+5*4]
|
||||
add eax,56
|
||||
mov [GUIHoldYlim],eax
|
||||
jmp .nowarpbar
|
||||
.nohuebar
|
||||
cmp edx,74
|
||||
jl near .nomovebar
|
||||
cmp edx,78
|
||||
jg .nosatbar
|
||||
sub eax,15
|
||||
mov [NTSCSat],al
|
||||
mov byte[GUIHold],7
|
||||
mov eax,[GUIwinposy+5*4]
|
||||
add eax,76
|
||||
mov [GUIHoldYlim],eax
|
||||
jmp .nowarpbar
|
||||
.nosatbar
|
||||
cmp edx,94
|
||||
jl near .nomovebar
|
||||
cmp edx,98
|
||||
jg .nocontbar
|
||||
sub eax,15
|
||||
mov [NTSCCont],al
|
||||
mov byte[GUIHold],7
|
||||
mov eax,[GUIwinposy+5*4]
|
||||
add eax,96
|
||||
mov [GUIHoldYlim],eax
|
||||
jmp .nowarpbar
|
||||
.nocontbar
|
||||
cmp edx,114
|
||||
jl near .nomovebar
|
||||
cmp edx,118
|
||||
jg .nobrightbar
|
||||
sub eax,15
|
||||
mov [NTSCBright],al
|
||||
mov byte[GUIHold],7
|
||||
mov eax,[GUIwinposy+5*4]
|
||||
add eax,116
|
||||
mov [GUIHoldYlim],eax
|
||||
jmp .nowarpbar
|
||||
.nobrightbar
|
||||
cmp edx,134
|
||||
jl .nomovebar
|
||||
cmp edx,138
|
||||
jg .nosharpbar
|
||||
sub eax,15
|
||||
mov [NTSCSharp],al
|
||||
mov byte[GUIHold],7
|
||||
mov eax,[GUIwinposy+5*4]
|
||||
add eax,136
|
||||
mov [GUIHoldYlim],eax
|
||||
jmp .nowarpbar
|
||||
.nosharpbar
|
||||
cmp edx,154
|
||||
jl .nomovebar
|
||||
cmp edx,158
|
||||
jg .nomovebar
|
||||
sub eax,15
|
||||
mov [NTSCWarp],al
|
||||
mov byte[GUIHold],7
|
||||
mov eax,[GUIwinposy+5*4]
|
||||
add eax,156
|
||||
mov [GUIHoldYlim],eax
|
||||
.nowarpbar
|
||||
mov eax,[GUIwinposx+5*4]
|
||||
add eax,15
|
||||
mov [GUIHoldXlimL],eax
|
||||
add eax,100
|
||||
mov [GUIHoldXlimR],eax
|
||||
.nomovebar
|
||||
|
||||
.notntsctab
|
||||
xor al,al
|
||||
ret
|
||||
|
||||
@@ -2944,7 +3061,7 @@ DisplayGUIOptnsClick:
|
||||
|
||||
cmp eax,25
|
||||
jl near .nomovebar
|
||||
cmp eax,25+32*4-1
|
||||
cmp eax,25+128
|
||||
jg near .nomovebar
|
||||
sub eax,25
|
||||
shr eax,2
|
||||
@@ -3036,7 +3153,7 @@ DisplayGUIOptnsClick:
|
||||
add eax,25
|
||||
mov [GUIHoldXlimL],eax
|
||||
mov eax,[GUIwinposx+10*4]
|
||||
add eax,25+32*4-1
|
||||
add eax,25+128
|
||||
mov [GUIHoldXlimR],eax
|
||||
.nohold
|
||||
ret
|
||||
@@ -3449,8 +3566,6 @@ DrawMouse:
|
||||
cmp bl,220
|
||||
ja .nomidshad
|
||||
sub bl,189
|
||||
; test bl,01h
|
||||
; jnz .nomidshad
|
||||
shr bl,1
|
||||
add bl,189
|
||||
mov [edi+288*7+5],bl
|
||||
@@ -3458,6 +3573,7 @@ DrawMouse:
|
||||
.nomidshad
|
||||
|
||||
.finishadow
|
||||
add al,88
|
||||
mov [edi],al
|
||||
.nodraw
|
||||
inc esi
|
||||
|
||||
@@ -281,8 +281,8 @@ GUIStringGreater2:
|
||||
add eax,dword[GUIwinsizex+%1*4]
|
||||
mov ecx,eax
|
||||
mov esi,[GUIwinsizey+%1*4]
|
||||
mov edx,[GUIWincol]
|
||||
add edx,1
|
||||
mov dl,[GUIWincol]
|
||||
inc dl
|
||||
.loop3
|
||||
DrawGUILine
|
||||
dec esi
|
||||
@@ -567,7 +567,7 @@ GUIOuttextwin2 %1,%2-1,%3-1,%4
|
||||
mov dl,[GUIWincol]
|
||||
DrawGUIWinBox %1,%2,%3-3+2,%4,%3+1,dl
|
||||
mov dl,[GUIWincol]
|
||||
add dl,1
|
||||
inc dl
|
||||
DrawGUIWinBox %1,%2-1,%3,%2,%5,dl
|
||||
mov dl,[GUIWincol]
|
||||
add dl,4
|
||||
@@ -588,7 +588,7 @@ GUIOuttextwin2 %1,%2-1,%3-1,%4
|
||||
mov dl,[GUIWincol]
|
||||
DrawGUIWinBox %1,%2,%3-3+2,%4,%3+1,dl
|
||||
mov dl,[GUIWincol]
|
||||
add dl,1
|
||||
inc dl
|
||||
DrawGUIWinBox %1,%2-1,%3,%2,%5,dl
|
||||
mov dl,[GUIWincol]
|
||||
add dl,4
|
||||
@@ -608,14 +608,38 @@ GUIOuttextwin2 %1,%2-1,%3-1,%4
|
||||
add esi,[vidbuffer]
|
||||
%endmacro
|
||||
|
||||
%macro GUIDrawTArea 1 ; win #id
|
||||
mov dl,[GUIWincol]
|
||||
inc dl
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add ebx,10
|
||||
mov ecx,eax
|
||||
add ecx,[GUIwinsizex+%1*4]
|
||||
mov esi,12
|
||||
%%loop1
|
||||
DrawGUILine
|
||||
dec esi
|
||||
jnz %%loop1
|
||||
add dl,3
|
||||
inc eax
|
||||
DrawGUILine
|
||||
sub ebx,13 ; set ebx to minY
|
||||
dec eax ; set eax to minX
|
||||
%endmacro
|
||||
|
||||
%macro DrawTabOn 1 ; %1 = array, ebp = offset, eax = minX, ebx = minY
|
||||
push edi
|
||||
mov esi,%1
|
||||
mov ecx,8
|
||||
add ecx,eax
|
||||
%%skip
|
||||
cmp byte[esi+ebp],0
|
||||
jne %%read1
|
||||
inc ebp
|
||||
jmp %%skip
|
||||
%%read1
|
||||
mov dl,[esi+ebp]
|
||||
cmp dl,0
|
||||
cmp byte[esi+ebp],0
|
||||
je %%ok1
|
||||
inc esi
|
||||
add ecx,6
|
||||
@@ -673,23 +697,26 @@ GUIOuttextwin2 %1,%2-1,%3-1,%4
|
||||
add eax,2 ; restore and set Xoff for next tab
|
||||
%%read2
|
||||
mov esi,%1
|
||||
mov dl,[esi+ebp]
|
||||
cmp dl,0
|
||||
cmp byte[esi+ebp],0
|
||||
je %%ok2
|
||||
inc ebp
|
||||
jmp %%read2
|
||||
%%ok2
|
||||
inc ebp ; set pointer to next string
|
||||
pop edi
|
||||
%endmacro
|
||||
|
||||
%macro DrawTabOff 1 ; %1 = array, ebp = offset, eax = minX, ebx = minY
|
||||
push edi
|
||||
mov esi,%1
|
||||
mov ecx,8
|
||||
add ecx,eax
|
||||
%%skip
|
||||
cmp byte[esi+ebp],0
|
||||
jne %%read1
|
||||
inc ebp
|
||||
jmp %%skip
|
||||
%%read1
|
||||
mov dl,[esi+ebp]
|
||||
cmp dl,0
|
||||
cmp byte[esi+ebp],0
|
||||
je %%ok1
|
||||
inc esi
|
||||
add ecx,6
|
||||
@@ -711,7 +738,6 @@ GUIOuttextwin2 %1,%2-1,%3-1,%4
|
||||
jnz %%draw1
|
||||
sub ebx,10
|
||||
push ebx ; save Yoff for next drawing step
|
||||
push ebp ; save array offset
|
||||
mov byte[GUItextcolor],202
|
||||
cmp byte[GUIWincoladd],0
|
||||
je %%nochange
|
||||
@@ -723,25 +749,18 @@ GUIOuttextwin2 %1,%2-1,%3-1,%4
|
||||
add edx,6
|
||||
push edx ; save label Xoff
|
||||
SetVidbufLoc
|
||||
push edi
|
||||
mov edi,%1
|
||||
add edi,ebp
|
||||
call GUIOutputStringwin
|
||||
pop edi
|
||||
pop edx
|
||||
pop ebx
|
||||
pop ebp
|
||||
push ebp ; save array offset again
|
||||
add byte[GUItextcolor],15
|
||||
dec edx
|
||||
dec ebx
|
||||
SetVidbufLoc
|
||||
push edi
|
||||
mov edi,%1
|
||||
add edi,ebp
|
||||
call GUIOutputStringwin
|
||||
pop edi
|
||||
pop ebp ; restore pointer
|
||||
pop ebx ; restore Yoff for drawing step
|
||||
pop eax
|
||||
inc eax ; restore and set Xoff for drawing step
|
||||
@@ -756,50 +775,71 @@ GUIOuttextwin2 %1,%2-1,%3-1,%4
|
||||
inc eax
|
||||
%%read2
|
||||
mov esi,%1
|
||||
mov dl,[esi+ebp]
|
||||
cmp dl,0
|
||||
cmp byte[esi+ebp],0
|
||||
je %%ok2
|
||||
inc ebp
|
||||
jmp %%read2
|
||||
%%ok2
|
||||
inc ebp ; set pointer to next string
|
||||
pop edi
|
||||
%endmacro
|
||||
|
||||
%macro GUIDrawTab 2 ; window id #, tabs/label array
|
||||
mov dl,[GUIWincol]
|
||||
add dl,1
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add ebx,10
|
||||
mov ecx,eax
|
||||
add ecx,[GUIwinsizex+%1*4]
|
||||
mov esi,12
|
||||
%%loop1
|
||||
DrawGUILine
|
||||
dec esi
|
||||
jnz %%loop1
|
||||
add dl,3
|
||||
inc eax
|
||||
DrawGUILine
|
||||
sub ebx,13 ; set ebx to minY
|
||||
dec eax ; set eax to minX
|
||||
mov esi,[%2] ; active tab
|
||||
mov ecx,[%2+4] ; total #
|
||||
%macro GUIDrawTabs 1 ; tabs/label array
|
||||
mov ecx,[%1+4] ; total #
|
||||
cmp ecx,0
|
||||
je near %%nodraw
|
||||
mov esi,[%1] ; active tab
|
||||
mov ebp,8 ; set array offset at top of labels
|
||||
%%loop2
|
||||
dec esi ; check if tab is the current one
|
||||
push ecx
|
||||
push esi
|
||||
jnz near %%disabled
|
||||
DrawTabOn %2 ; draws tab, updates eax, ebx & ebp for next tab...
|
||||
jmp %%done
|
||||
DrawTabOn %1 ; draws tab, updates eax, ebx & ebp for next tab...
|
||||
jmp near %%done
|
||||
%%disabled
|
||||
DrawTabOff %2 ; ... and autosizes the tab for its label
|
||||
DrawTabOff %1 ; ... and autosizes the tab for its label
|
||||
%%done
|
||||
pop esi
|
||||
pop ecx
|
||||
dec ecx
|
||||
jnz %%loop2
|
||||
%%nodraw
|
||||
%endmacro
|
||||
|
||||
%macro GUIDrawSlider 6 ; win #id, minX, width, Ypos, variable, text
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add eax,%2
|
||||
add ebx,%4
|
||||
mov ecx,eax
|
||||
add ecx,%3
|
||||
xor edx,edx
|
||||
mov dl,215
|
||||
sub dl,[GUIWincoladd]
|
||||
DrawGUILine
|
||||
inc ecx
|
||||
inc eax
|
||||
sub dl,13
|
||||
DrawGUILine
|
||||
xor eax,eax
|
||||
mov al,[%5]
|
||||
mov dword[GUITemp],%2-4
|
||||
add [GUITemp],eax
|
||||
GUIDisplayIconWin %1,[GUITemp],%4-4,GUIIconDataSlideBar
|
||||
mov word[%6],' '
|
||||
mov esi,%6+3
|
||||
mov al,[%5]
|
||||
mov bl,10
|
||||
%%asciilp ; turns decimal into ascii
|
||||
dec esi
|
||||
xor ah,ah
|
||||
div bl
|
||||
add ah,48
|
||||
mov [esi],ah
|
||||
cmp al,0
|
||||
jne %%asciilp
|
||||
mov dword[GUITemp],%6 ; Display Value (Green)
|
||||
GUIDisplayTextG %1,%2+%3+6,%4-1,[GUITemp]
|
||||
%endmacro
|
||||
|
||||
; DGUIDisplay
|
||||
@@ -1166,7 +1206,7 @@ SECTION .text
|
||||
mov dl,[GUIWincol]
|
||||
DrawGUIWinBox %1,%2+1,%3,%2+18,%3,dl
|
||||
mov dl,[GUIWincol]
|
||||
add dl,1
|
||||
inc dl
|
||||
DrawGUIWinBox %1,%2,%3+1,%2-1,%3+5,dl
|
||||
mov dl,[GUIWincol]
|
||||
add dl,4
|
||||
@@ -1274,7 +1314,8 @@ DisplayGUIInput: ; Player Select, Joystick/keyboard Type List, Button Assignm
|
||||
mov eax,[GUIInputTabs]
|
||||
dec al
|
||||
mov [cplayernum],al
|
||||
GUIDrawTab 3,GUIInputTabs
|
||||
GUIDrawTArea 3
|
||||
GUIDrawTabs GUIInputTabs
|
||||
|
||||
GUIDisplayTextY 3,6,26,GUIInputTextA
|
||||
xor eax,eax
|
||||
@@ -1632,12 +1673,12 @@ DisplayGUIVideo:
|
||||
|
||||
GUIDrawWindowBox 5,GUIVideoDisp ; Video Modes List/Options
|
||||
|
||||
xor ebx,ebx
|
||||
mov bl,[NTSCFilter]
|
||||
add ebx,2
|
||||
mov [GUIVideoTabs+4],ebx
|
||||
|
||||
GUIDrawTab 5,GUIVideoTabs
|
||||
GUIDrawTArea 5
|
||||
GUIDrawTabs GUIVideoTabs
|
||||
cmp byte[NTSCFilter],0
|
||||
je near .nontsc
|
||||
GUIDrawTabs GUIVntscTab
|
||||
.nontsc
|
||||
|
||||
cmp dword[GUIVideoTabs],1
|
||||
jne near .notmodestab
|
||||
@@ -1860,8 +1901,23 @@ DisplayGUIVideo:
|
||||
%endif
|
||||
.notfilterstab
|
||||
|
||||
cmp dword[GUIVideoTabs],3
|
||||
jne .notntsctab
|
||||
cmp dword[GUIVntscTab],1
|
||||
jne near .notntsctab
|
||||
GUIDisplayCheckboxu 5,5,25,NTSCBlend,GUIVideoTextG1,0
|
||||
|
||||
GUIDisplayTextY 5,7,46,GUIVideoTextG2
|
||||
GUIDisplayTextY 5,7,66,GUIVideoTextG3
|
||||
GUIDisplayTextY 5,7,86,GUIVideoTextG4
|
||||
GUIDisplayTextY 5,7,106,GUIVideoTextG5
|
||||
GUIDisplayTextY 5,7,126,GUIVideoTextG6
|
||||
GUIDisplayTextY 5,7,146,GUIVideoTextG7
|
||||
|
||||
GUIDrawSlider 5,15,100,56,NTSCHue,GUIVideoTextG
|
||||
GUIDrawSlider 5,15,100,76,NTSCSat,GUIVideoTextG
|
||||
GUIDrawSlider 5,15,100,96,NTSCCont,GUIVideoTextG
|
||||
GUIDrawSlider 5,15,100,116,NTSCBright,GUIVideoTextG
|
||||
GUIDrawSlider 5,15,100,136,NTSCSharp,GUIVideoTextG
|
||||
GUIDrawSlider 5,15,100,156,NTSCWarp,GUIVideoTextG
|
||||
.notntsctab
|
||||
ret
|
||||
|
||||
@@ -1869,6 +1925,7 @@ SECTION .data
|
||||
GUIVideoTabs dd 1,2
|
||||
db 'MODES',0
|
||||
db 'FILTERS',0
|
||||
GUIVntscTab dd 0,1
|
||||
db 'NTSC',0
|
||||
|
||||
GUIVideoTextB db 'LEGEND:',0
|
||||
@@ -1904,6 +1961,15 @@ GUIVideoText8 db 'SET',0 ; set button
|
||||
GUIVideoText9 db 'VSYNC',0 ; -c
|
||||
GUIVideoTexte db 'NTSC',0
|
||||
|
||||
GUIVideoTextG db '---%',0
|
||||
GUIVideoTextG1 db 'BLEND FRAMES',0
|
||||
GUIVideoTextG2 db 'HUE:',0
|
||||
GUIVideoTextG3 db 'SATURATION:',0
|
||||
GUIVideoTextG4 db 'CONTRAST:',0
|
||||
GUIVideoTextG5 db 'BRIGHTNESS:',0
|
||||
GUIVideoTextG6 db 'SHARPNESS:',0
|
||||
GUIVideoTextG7 db 'HUE WARPING:',0
|
||||
|
||||
SECTION .bss
|
||||
GUIVStA resd 3
|
||||
GUIcurrentvideoviewloc resd 1
|
||||
@@ -1961,51 +2027,7 @@ DisplayGUISound: ; Sound Related Options
|
||||
add [GUITemp],eax
|
||||
GUIDisplayTextG 6,23,64,[GUITemp]
|
||||
|
||||
mov eax,[GUIwinposx+6*4] ; Volume Level Slider
|
||||
mov ebx,[GUIwinposy+6*4]
|
||||
mov ecx,eax
|
||||
add eax,15
|
||||
add ecx,15+100
|
||||
add ebx,91
|
||||
xor edx,edx
|
||||
mov dl,215
|
||||
sub dl,[GUIWincoladd]
|
||||
DrawGUILine
|
||||
inc ecx
|
||||
inc eax
|
||||
sub dl,13
|
||||
DrawGUILine
|
||||
xor eax,eax
|
||||
mov al,[MusicRelVol]
|
||||
mov dword[GUITemp],11
|
||||
add [GUITemp],eax
|
||||
GUIDisplayIconWin 6,[GUITemp],87,GUIIconDataSlideBar
|
||||
mov dword[GUISoundTextC1],' '
|
||||
mov byte[GUISoundTextC1+3],'%'
|
||||
mov esi,GUISoundTextC1+2
|
||||
xor eax,eax
|
||||
mov al,[MusicRelVol]
|
||||
mov ebx,10
|
||||
div bl
|
||||
add ah,48
|
||||
mov [esi],ah
|
||||
cmp al,0
|
||||
je .nomore
|
||||
dec esi
|
||||
xor ah,ah
|
||||
div bl
|
||||
add ah,48
|
||||
mov [esi],ah
|
||||
cmp al,0
|
||||
je .nomore
|
||||
dec esi
|
||||
xor ah,ah
|
||||
div bl
|
||||
add ah,48
|
||||
mov [esi],ah
|
||||
.nomore
|
||||
mov [GUITemp],esi
|
||||
GUIDisplayTextG 6,119,89,[GUITemp]
|
||||
GUIDrawSlider 6,15,100,91,MusicRelVol,GUISoundTextC1
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
@@ -3027,7 +3049,7 @@ GUIGameOptnsTextC7 db 'SAVE SPC',0
|
||||
|
||||
GUIGameOptnsTextD1 db 'MISC TOGGLES:',0
|
||||
GUIGameOptnsTextD1a db 'USE PL12/34',0
|
||||
GUIGameOptnsTextD1b db 'CLRSWITCHES',0
|
||||
GUIGameOptnsTextD1b db 'PANIC KEY',0
|
||||
GUIGameOptnsTextD1c db 'DISPLAY FPS',0
|
||||
GUIGameOptnsTextD1d db 'BATT POWER',0
|
||||
|
||||
@@ -3104,19 +3126,19 @@ DisplayGUIOptns: ; GUI Options
|
||||
xor eax,eax
|
||||
mov al,[TRVal2]
|
||||
shl eax,2
|
||||
mov dword[GUITemp],22
|
||||
mov dword[GUITemp],23
|
||||
add [GUITemp],eax
|
||||
GUIDisplayIconWin 10,[GUITemp],120,GUIIconDataSlideBar
|
||||
xor eax,eax
|
||||
mov al,[TGVal2]
|
||||
shl eax,2
|
||||
mov dword[GUITemp],22
|
||||
mov dword[GUITemp],23
|
||||
add [GUITemp],eax
|
||||
GUIDisplayIconWin 10,[GUITemp],132,GUIIconDataSlideBar
|
||||
xor eax,eax
|
||||
mov al,[TBVal2]
|
||||
shl eax,2
|
||||
mov dword[GUITemp],22
|
||||
mov dword[GUITemp],23
|
||||
add [GUITemp],eax
|
||||
GUIDisplayIconWin 10,[GUITemp],144,GUIIconDataSlideBar
|
||||
|
||||
@@ -3491,7 +3513,7 @@ SECTION .text
|
||||
mov dl,[GUIWincol]
|
||||
DrawGUIWinBox %1,%2,%6,%4,%3,dl ; freezes if you replace %6 with %3-1
|
||||
mov dl,[GUIWincol]
|
||||
add dl,1
|
||||
inc dl
|
||||
DrawGUIWinBox %1,%2-1,%3,%2,%5,dl
|
||||
mov dl,[GUIWincol]
|
||||
add dl,4
|
||||
@@ -3507,7 +3529,7 @@ SECTION .text
|
||||
mov dl,[GUIWincol]
|
||||
DrawGUIWinBox %1,%2,%6,%4,%3,dl
|
||||
mov dl,[GUIWincol]
|
||||
add dl,1
|
||||
inc dl
|
||||
DrawGUIWinBox %1,%2-1,%3,%2,%5,dl
|
||||
mov dl,[GUIWincol]
|
||||
add dl,4
|
||||
@@ -3532,7 +3554,7 @@ SECTION .text
|
||||
mov dl,[GUIWincol]
|
||||
DrawGUIWinBox %1,%2,%6,%4,%3,dl
|
||||
mov dl,[GUIWincol]
|
||||
add dl,1
|
||||
inc dl
|
||||
DrawGUIWinBox %1,%2-1,%3,%2,%5,dl
|
||||
mov dl,[GUIWincol]
|
||||
add dl,4
|
||||
@@ -4233,8 +4255,8 @@ DisplayGUIAddOns: ;Select Special Controllers
|
||||
mov eax,GUIAddOnEETopBar
|
||||
mov ebx,GUIAddOnsDisp
|
||||
.loopA
|
||||
mov cl,byte[eax]
|
||||
mov byte[ebx],cl
|
||||
mov cl,[eax]
|
||||
mov [ebx],cl
|
||||
inc eax
|
||||
inc ebx
|
||||
cmp cl,0
|
||||
@@ -4263,8 +4285,8 @@ DisplayGUIAddOns: ;Select Special Controllers
|
||||
mov eax,GUIAddOnsDispEE
|
||||
mov ebx,GUIAddOnsDisp
|
||||
.loopB
|
||||
mov cl,byte[eax]
|
||||
mov byte[ebx],cl
|
||||
mov cl,[eax]
|
||||
mov [ebx],cl
|
||||
inc eax
|
||||
inc ebx
|
||||
cmp cl,0
|
||||
@@ -4273,8 +4295,8 @@ DisplayGUIAddOns: ;Select Special Controllers
|
||||
pop ebx
|
||||
pop eax
|
||||
|
||||
GUIDisplayText 17,20,15,GUIAddOnText1
|
||||
GUIDisplayText 17,112,15,GUIAddOnText2
|
||||
GUIDisplayTextY 17,20,15,GUIAddOnText1
|
||||
GUIDisplayTextY 17,112,15,GUIAddOnText2
|
||||
|
||||
GUIDisplayButtonHoleTu 17,9,23,byte[device1],0,GUIAddOnText3,0
|
||||
GUIDisplayButtonHoleTu 17,9,33,byte[device1],1,GUIAddOnText4,0
|
||||
@@ -4523,14 +4545,13 @@ DisplayGUISave: ;Save & Rewind options/Hotkeys
|
||||
GUIDisplayCheckboxu 20,11,100,PauseRewind,GUISaveTextB7,12
|
||||
|
||||
GUIDisplayBBox 20,150,17,165,24,167 ; Rewind States Box
|
||||
xor ax,ax
|
||||
mov ah,[RewindStates]
|
||||
mov al,48
|
||||
add ah,48
|
||||
.asciiloop
|
||||
cmp ah,58
|
||||
jb .hex2asciidone
|
||||
add al,1
|
||||
inc al
|
||||
sub ah,10
|
||||
jmp .asciiloop
|
||||
.hex2asciidone
|
||||
@@ -4538,14 +4559,13 @@ DisplayGUISave: ;Save & Rewind options/Hotkeys
|
||||
GUIDisplayTextG 20,154,19,GUISaveTextZ3
|
||||
|
||||
GUIDisplayBBox 20,150,29,165,36,167 ; Second/Rewind Box
|
||||
xor ax,ax
|
||||
mov ah,[RewindFrames]
|
||||
mov al,48
|
||||
add ah,48
|
||||
.asciiloop2
|
||||
cmp ah,58
|
||||
jb .hex2asciidone2
|
||||
add al,1
|
||||
inc al
|
||||
sub ah,10
|
||||
jmp .asciiloop2
|
||||
.hex2asciidone2
|
||||
@@ -4649,7 +4669,6 @@ DisplayGUISpeed: ;Speed Options
|
||||
GUIDisplayCheckboxun 21,11,145,frameskip,0,GUISpeedTextC2,0
|
||||
|
||||
GUIDisplayBBox 21,96,24,114,31,167 ; FF Ratio Box
|
||||
xor ax,ax
|
||||
mov ah,[FFRatio]
|
||||
add ah,2
|
||||
mov al,48
|
||||
@@ -4657,7 +4676,7 @@ DisplayGUISpeed: ;Speed Options
|
||||
.asciiloop
|
||||
cmp ah,58
|
||||
jb .hex2asciidone
|
||||
add al,1
|
||||
inc al
|
||||
sub ah,10
|
||||
jmp .asciiloop
|
||||
.hex2asciidone
|
||||
@@ -4669,7 +4688,6 @@ DisplayGUISpeed: ;Speed Options
|
||||
GUIDisplayTextG 21,101,26,GUISpeedTextZ3
|
||||
|
||||
GUIDisplayBBox 21,96,35,114,42,167 ; SD Ratio Box
|
||||
xor ax,ax
|
||||
mov ah,[SDRatio]
|
||||
add ah,2
|
||||
mov al,48
|
||||
@@ -4677,7 +4695,7 @@ DisplayGUISpeed: ;Speed Options
|
||||
.asciiloop2
|
||||
cmp ah,58
|
||||
jb .hex2asciidone2
|
||||
add al,1
|
||||
inc al
|
||||
sub ah,10
|
||||
jmp .asciiloop2
|
||||
.hex2asciidone2
|
||||
@@ -4717,7 +4735,7 @@ DisplayGUISpeed: ;Speed Options
|
||||
xor eax,eax
|
||||
mov al,[EmuSpeed]
|
||||
shl eax,1
|
||||
mov dword[GUITemp],12
|
||||
mov dword[GUITemp],11
|
||||
add [GUITemp],eax
|
||||
GUIDisplayIconWin 21,[GUITemp],171,GUIIconDataSlideBar
|
||||
mov dword[GUISpeedTextD1],0
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
|
||||
|
||||
%include "macros.mac"
|
||||
%include "video/2xsaimmx.inc"
|
||||
%include "video/copyvid.inc"
|
||||
|
||||
EXTSYM BGMA,V8Mode,antienab,cacheud,cbitmode,ccud,cfield,cgram,coladdb,coladdg
|
||||
EXTSYM coladdr,curblank,curfps,cvidmode,delay,extlatch,fnamest,En2xSaI
|
||||
@@ -38,14 +40,11 @@ EXTSYM intrlng,mode7hr,newgfx16b,vesa2_clbitng,vesa2_clbitng2,CSStatus
|
||||
EXTSYM CSStatus2,CSStatus3,SpecialLine,Clear2xSaIBuffer,vidbufferofsb,bg1scroly
|
||||
EXTSYM bg1objptr,DecompAPtr,HalfTransB,HalfTransC,cur_zst_size,old_zst_size
|
||||
EXTSYM MovieProcessing,mzt_chdir,UpChdir,MovieFrameStr,GetMovieFrameStr
|
||||
EXTSYM MovieDisplayFrame
|
||||
EXTSYM MouseCount,device2
|
||||
EXTSYM MovieDisplayFrame,SloMo,MouseCount,device2
|
||||
|
||||
%ifndef __MSDOS__
|
||||
EXTSYM MouseMoveX,MouseMoveY,MouseButtons,MultiMouseProcess,mouse
|
||||
%endif
|
||||
|
||||
%ifdef __MSDOS__
|
||||
%else
|
||||
EXTSYM SB_blank,vsyncon,Triplebufen,granadd
|
||||
%endif
|
||||
|
||||
@@ -54,7 +53,6 @@ NEWSYM ScreenScale, resb 1 ; If horizontal is scaled or not
|
||||
NEWSYM TempDebugV, resw 1 ; Temporary Debugging variable
|
||||
SECTION .text
|
||||
|
||||
|
||||
%macro MMXStuff 0
|
||||
%%1
|
||||
movq mm0,[esi]
|
||||
@@ -67,56 +65,7 @@ SECTION .text
|
||||
jnz %%1
|
||||
%endmacro
|
||||
|
||||
%macro FPUStuff 1
|
||||
FILD QWORD[ESI+%1*16]
|
||||
FILD QWORD[ESI+8+%1*16]
|
||||
FISTP QWORD[ES:EDI+8+%1*16]
|
||||
FISTP QWORD[ES:EDI+%1*16]
|
||||
%endmacro
|
||||
|
||||
%MACRO CopyFPU 0
|
||||
%ENDMACRO
|
||||
|
||||
%include "video/2xsaimmx.inc"
|
||||
%include "video/copyvid.inc"
|
||||
|
||||
SECTION .text
|
||||
NEWSYM FPUZero
|
||||
%if 0
|
||||
|
||||
; omg this is lame ;P
|
||||
mov [.Zero],eax
|
||||
mov [.Zero+4],eax
|
||||
mov [.Zero2],eax
|
||||
mov [.Zero2+4],eax
|
||||
.TopOfLoop
|
||||
FILD QWORD[.Zero]
|
||||
FILD QWORD[.Zero2]
|
||||
FXCH
|
||||
FISTP QWORD[EDI]
|
||||
FISTP QWORD[EDI+8]
|
||||
ADD EDI,16
|
||||
DEC ECX
|
||||
JNZ .TopOfLoop
|
||||
%else
|
||||
fld1
|
||||
fsub st0,st0
|
||||
.TopOfLoop
|
||||
fst qword[edi]
|
||||
fst qword[edi+8]
|
||||
add edi,16
|
||||
dec ecx
|
||||
jnz .TopOfLoop
|
||||
fstp st0
|
||||
%endif
|
||||
ret
|
||||
|
||||
%if 0
|
||||
SECTION .bss
|
||||
.Zero resd 2
|
||||
.Zero2 resd 2
|
||||
SECTION .text
|
||||
%endif
|
||||
|
||||
;*******************************************************
|
||||
; ShowVideo Processes & displays video
|
||||
@@ -548,118 +497,119 @@ NEWSYM outputhex16
|
||||
|
||||
SECTION .data
|
||||
NEWSYM ASCII2Font
|
||||
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
|
||||
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,30h,00h,00h,00h,00h,00h,00h
|
||||
db 00h,3Eh,33h,31h,3Fh,37h,2Fh,3Dh,3Ah,3Bh,35h,38h,39h,25h,28h,29h
|
||||
db 01h,02h,03h,04h,05h,06h,07h,08h,09h,0Ah,2Eh,40h,2Ah,32h,2Bh,36h
|
||||
db 3Ch,0Bh,0Ch,0Dh,0Eh,0Fh,10h,11h,12h,13h,14h,15h,16h,17h,18h,19h
|
||||
db 1Ah,1Bh,1Ch,1Dh,1Eh,1Fh,20h,21h,22h,23h,24h,2Ch,34h,2Dh,42h,26h
|
||||
db 41h,0Bh,0Ch,0Dh,0Eh,0Fh,10h,11h,12h,13h,14h,15h,16h,17h,18h,19h
|
||||
db 1Ah,1Bh,1Ch,1Dh,1Eh,1Fh,20h,21h,22h,23h,24h,43h,00h,44h,27h,00h
|
||||
db 0Dh,1Fh,0Fh,0Bh,0Bh,0Bh,0Bh,0Dh,0Fh,0Fh,0Fh,13h,13h,13h,0Bh,0Bh
|
||||
db 0Fh,0Bh,0Bh,19h,19h,19h,1Fh,1Fh,23h,19h,1Fh,0Dh,10h,23h,1Ah,10h
|
||||
db 0Bh,4Eh,4Fh,50h,51h,52h,53h,54h,55h,56h,57h,58h,59h,5Ah,5Bh,5Ch
|
||||
db 5Dh,5Eh,5Fh,60h,61h,62h,63h,64h,65h,66h,67h,68h,69h,6Ah,6Bh,6Ch
|
||||
db 6Dh,6Eh,6Fh,70h,71h,72h,73h,74h,75h,76h,77h,78h,79h,7Ah,7Bh,7Ch
|
||||
db 7Dh,7Eh,7Fh,80h,81h,82h,83h,84h,85h,86h,87h,88h,89h,8Ah,8Bh,8Ch
|
||||
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
|
||||
db 00h,00h,00h,00h,00h,00h,00h,4Dh,4Ch,4Bh,4Ah,45h,46h,47h,48h,49h
|
||||
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
|
||||
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,30h,00h,00h,00h,00h,00h,00h
|
||||
db 00h,3Eh,33h,31h,3Fh,37h,2Fh,3Dh,3Ah,3Bh,35h,38h,39h,25h,28h,29h
|
||||
db 01h,02h,03h,04h,05h,06h,07h,08h,09h,0Ah,2Eh,40h,2Ah,32h,2Bh,36h
|
||||
db 3Ch,0Bh,0Ch,0Dh,0Eh,0Fh,10h,11h,12h,13h,14h,15h,16h,17h,18h,19h
|
||||
db 1Ah,1Bh,1Ch,1Dh,1Eh,1Fh,20h,21h,22h,23h,24h,2Ch,34h,2Dh,42h,26h
|
||||
db 41h,0Bh,0Ch,0Dh,0Eh,0Fh,10h,11h,12h,13h,14h,15h,16h,17h,18h,19h
|
||||
db 1Ah,1Bh,1Ch,1Dh,1Eh,1Fh,20h,21h,22h,23h,24h,43h,00h,44h,27h,00h
|
||||
db 0Dh,1Fh,0Fh,0Bh,0Bh,0Bh,0Bh,0Dh,0Fh,0Fh,0Fh,13h,13h,13h,0Bh,0Bh
|
||||
db 0Fh,0Bh,0Bh,19h,19h,19h,1Fh,1Fh,23h,19h,1Fh,0Dh,10h,23h,1Ah,10h
|
||||
db 0Bh,4Eh,4Fh,50h,51h,52h,53h,54h,55h,56h,57h,58h,59h,5Ah,5Bh,5Ch
|
||||
db 5Dh,5Eh,5Fh,60h,61h,62h,63h,64h,65h,66h,67h,68h,69h,6Ah,6Bh,6Ch
|
||||
db 6Dh,6Eh,6Fh,70h,71h,72h,73h,74h,75h,76h,77h,78h,79h,7Ah,7Bh,7Ch
|
||||
db 7Dh,7Eh,7Fh,80h,81h,82h,83h,84h,85h,86h,87h,88h,89h,8Ah,8Bh,8Ch
|
||||
db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
|
||||
db 00h,00h,00h,00h,00h,00h,00h,4Dh,4Ch,4Bh,4Ah,45h,46h,47h,48h,49h
|
||||
|
||||
NEWSYM FontData
|
||||
db 0,0,0,0,0,0,0,0
|
||||
db 01111100b,11000110b,11001110b,11010110b ; 0, 01
|
||||
; bitmap 8x8 font ; char, offset for ASCII2Font
|
||||
db 0,0,0,0,0,0,0,0 ; ' ', 00
|
||||
db 01111100b,11000110b,11001110b,11010110b ; 0, 01
|
||||
db 11100110b,11000110b,01111100b,00000000b
|
||||
db 00011000b,00111000b,01111000b,00011000b ; 1, 02
|
||||
db 00011000b,00111000b,01111000b,00011000b ; 1, 02
|
||||
db 00011000b,00011000b,01111110b,00000000b
|
||||
db 01111100b,11000110b,00001100b,00011000b ; 2, 03
|
||||
db 01111100b,11000110b,00001100b,00011000b ; 2, 03
|
||||
db 00110000b,01100110b,11111110b,00000000b
|
||||
db 01111100b,11000110b,00000110b,00111100b ; 3, 04
|
||||
db 01111100b,11000110b,00000110b,00111100b ; 3, 04
|
||||
db 00000110b,11000110b,01111100b,00000000b
|
||||
db 00111100b,01101100b,11001100b,11111110b ; 4, 05
|
||||
db 00111100b,01101100b,11001100b,11111110b ; 4, 05
|
||||
db 00001100b,00001100b,00001100b,00000000b
|
||||
db 11111110b,11000000b,11000000b,11111100b ; 5, 06
|
||||
db 11111110b,11000000b,11000000b,11111100b ; 5, 06
|
||||
db 00000110b,11000110b,01111100b,00000000b
|
||||
db 00111100b,01100000b,11000000b,11111100b ; 6, 07
|
||||
db 00111100b,01100000b,11000000b,11111100b ; 6, 07
|
||||
db 11000110b,11000110b,01111100b,00000000b
|
||||
db 11111110b,11000110b,00000110b,00001100b ; 7, 08
|
||||
db 11111110b,11000110b,00000110b,00001100b ; 7, 08
|
||||
db 00011000b,00011000b,00011000b,00000000b
|
||||
db 01111100b,11000110b,11000110b,01111100b ; 8, 09
|
||||
db 01111100b,11000110b,11000110b,01111100b ; 8, 09
|
||||
db 11000110b,11000110b,01111100b,00000000b
|
||||
db 01111100b,11000110b,11000110b,01111110b ; 9, 0A
|
||||
db 01111100b,11000110b,11000110b,01111110b ; 9, 0A
|
||||
db 00000110b,11000110b,01111100b,00000000b
|
||||
db 00111000b,01101100b,11000110b,11111110b ; A, 0B
|
||||
db 00111000b,01101100b,11000110b,11111110b ; A, 0B
|
||||
db 11000110b,11000110b,11000110b,00000000b
|
||||
db 11111100b,11000110b,11000110b,11111100b ; B, 0C
|
||||
db 11111100b,11000110b,11000110b,11111100b ; B, 0C
|
||||
db 11000110b,11000110b,11111100b,00000000b
|
||||
db 01111100b,11000110b,11000000b,11000000b ; C, 0D
|
||||
db 01111100b,11000110b,11000000b,11000000b ; C, 0D
|
||||
db 11000000b,11000110b,01111100b,00000000b
|
||||
db 11111100b,11000110b,11000110b,11000110b ; D, 0E
|
||||
db 11111100b,11000110b,11000110b,11000110b ; D, 0E
|
||||
db 11000110b,11000110b,11111100b,00000000b
|
||||
db 11111110b,11000000b,11000000b,11111000b ; E, 0F
|
||||
db 11111110b,11000000b,11000000b,11111000b ; E, 0F
|
||||
db 11000000b,11000000b,11111110b,00000000b
|
||||
db 11111110b,11000000b,11000000b,11111000b ; F, 10
|
||||
db 11111110b,11000000b,11000000b,11111000b ; F, 10
|
||||
db 11000000b,11000000b,11000000b,00000000b
|
||||
db 01111100b,11000110b,11000000b,11000000b ; G, 11
|
||||
db 01111100b,11000110b,11000000b,11000000b ; G, 11
|
||||
db 11001110b,11000110b,01111100b,00000000b
|
||||
db 11000110b,11000110b,11000110b,11111110b ; H, 12
|
||||
db 11000110b,11000110b,11000110b,11111110b ; H, 12
|
||||
db 11000110b,11000110b,11000110b,00000000b
|
||||
db 00111100b,00011000b,00011000b,00011000b ; I, 13
|
||||
db 00111100b,00011000b,00011000b,00011000b ; I, 13
|
||||
db 00011000b,00011000b,00111100b,00000000b
|
||||
db 00011110b,00001100b,00001100b,00001100b ; J, 14
|
||||
db 00011110b,00001100b,00001100b,00001100b ; J, 14
|
||||
db 00001100b,11001100b,00111100b,00000000b
|
||||
db 11001100b,11011000b,11110000b,11100000b ; K, 15
|
||||
db 11001100b,11011000b,11110000b,11100000b ; K, 15
|
||||
db 11110000b,11011000b,11001100b,00000000b
|
||||
db 11000000b,11000000b,11000000b,11000000b ; L, 16
|
||||
db 11000000b,11000000b,11000000b,11000000b ; L, 16
|
||||
db 11000000b,11000000b,11111110b,00000000b
|
||||
db 11000110b,11101110b,11111110b,11010110b ; M, 17
|
||||
db 11000110b,11101110b,11111110b,11010110b ; M, 17
|
||||
db 11000110b,11000110b,11000110b,00000000b
|
||||
db 11000110b,11100110b,11110110b,11011110b ; N, 18
|
||||
db 11000110b,11100110b,11110110b,11011110b ; N, 18
|
||||
db 11001110b,11000110b,11000110b,00000000b
|
||||
db 01111100b,11000110b,11000110b,11000110b ; O, 19
|
||||
db 01111100b,11000110b,11000110b,11000110b ; O, 19
|
||||
db 11000110b,11000110b,01111100b,00000000b
|
||||
db 11111100b,11000110b,11000110b,11111100b ; P, 1A
|
||||
db 11111100b,11000110b,11000110b,11111100b ; P, 1A
|
||||
db 11000000b,11000000b,11000000b,00000000b
|
||||
db 01111100b,11000110b,11000110b,11000110b ; Q, 1B
|
||||
db 01111100b,11000110b,11000110b,11000110b ; Q, 1B
|
||||
db 11010110b,11001110b,01111110b,00000000b
|
||||
db 11111100b,11000110b,11000110b,11111100b ; R, 1C
|
||||
db 11111100b,11000110b,11000110b,11111100b ; R, 1C
|
||||
db 11001100b,11000110b,11000110b,00000000b
|
||||
db 01111100b,11000110b,11000000b,01111100b ; S, 1D
|
||||
db 01111100b,11000110b,11000000b,01111100b ; S, 1D
|
||||
db 00000110b,11000110b,01111100b,00000000b
|
||||
db 01111110b,00011000b,00011000b,00011000b ; T, 1E
|
||||
db 01111110b,00011000b,00011000b,00011000b ; T, 1E
|
||||
db 00011000b,00011000b,00011000b,00000000b
|
||||
db 11000110b,11000110b,11000110b,11000110b ; U, 1F
|
||||
db 11000110b,11000110b,11000110b,11000110b ; U, 1F
|
||||
db 11000110b,11000110b,01111100b,00000000b
|
||||
db 11000110b,11000110b,11000110b,11000110b ; V, 20
|
||||
db 11000110b,11000110b,11000110b,11000110b ; V, 20
|
||||
db 01101100b,00111000b,00010000b,00000000b
|
||||
db 11000110b,11000110b,11000110b,11010110b ; W, 21
|
||||
db 11000110b,11000110b,11000110b,11010110b ; W, 21
|
||||
db 11010110b,11111110b,01101100b,00000000b
|
||||
db 11000110b,01101100b,00111000b,00010000b ; X, 22
|
||||
db 11000110b,01101100b,00111000b,00010000b ; X, 22
|
||||
db 00111000b,01101100b,11000110b,00000000b
|
||||
db 11001100b,11001100b,01111000b,00110000b ; Y, 23
|
||||
db 11001100b,11001100b,01111000b,00110000b ; Y, 23
|
||||
db 00110000b,00110000b,00110000b,00000000b
|
||||
db 11111100b,10001100b,00011000b,00110000b ; Z, 24
|
||||
db 11111100b,10001100b,00011000b,00110000b ; Z, 24
|
||||
db 01100000b,11000100b,11111100b,00000000b
|
||||
db 00000000b,00000000b,00000000b,11111110b ; -, 25
|
||||
db 00000000b,00000000b,00000000b,11111110b ; -, 25
|
||||
db 00000000b,00000000b,00000000b,00000000b
|
||||
db 00000000b,00000000b,00000000b,00000000b ; _, 26
|
||||
db 00000000b,00000000b,00000000b,00000000b ; _, 26
|
||||
db 00000000b,00000000b,11111110b,00000000b
|
||||
db 01110000b,11011100b,00000110b,00000000b ; ~, 27
|
||||
db 01110000b,11011100b,00000110b,00000000b ; ~, 27
|
||||
db 00000000b,00000000b,00000000b,00000000b
|
||||
db 00000000b,00000000b,00000000b,00000000b ; ., 28
|
||||
db 00000000b,00000000b,00000000b,00000000b ; ., 28
|
||||
db 00000000b,00110000b,00110000b,00000000b
|
||||
db 00000010b,00000100b,00001000b,00010000b ; /, 29
|
||||
db 00000010b,00000100b,00001000b,00010000b ; /, 29
|
||||
db 00100000b,01000000b,10000000b,00000000b
|
||||
db 00001100b,00011000b,00110000b,01100000b ; <, 2A
|
||||
db 00001100b,00011000b,00110000b,01100000b ; <, 2A
|
||||
db 00110000b,00011000b,00001100b,00000000b
|
||||
db 01100000b,00110000b,00011000b,00001100b ; >, 2B
|
||||
db 01100000b,00110000b,00011000b,00001100b ; >, 2B
|
||||
db 00011000b,00110000b,01100000b,00000000b
|
||||
db 00111000b,00100000b,00100000b,00100000b ; [, 2C
|
||||
db 00111000b,00100000b,00100000b,00100000b ; [, 2C
|
||||
db 00100000b,00100000b,00111000b,00000000b
|
||||
db 00111000b,00001000b,00001000b,00001000b ; ], 2D
|
||||
db 00111000b,00001000b,00001000b,00001000b ; ], 2D
|
||||
db 00001000b,00001000b,00111000b,00000000b
|
||||
db 00000000b,00011000b,00011000b,00000000b ; :, 2E
|
||||
db 00000000b,00011000b,00011000b,00000000b ; :, 2E
|
||||
db 00011000b,00011000b,00000000b,00000000b
|
||||
db 00011000b,00100100b,00011000b,00111010b ; &, 2F
|
||||
db 00011000b,00100100b,00011000b,00111010b ; &, 2F
|
||||
db 01000100b,01000110b,00111010b,00000000b
|
||||
; Arrow, 30
|
||||
; #, 31 (, 3A {, 43
|
||||
@@ -2607,22 +2557,29 @@ SECTION .text
|
||||
;*******************************************************
|
||||
|
||||
NEWSYM showfps
|
||||
mov cl,50
|
||||
mov al,60
|
||||
cmp byte[romispal],0
|
||||
jne .nontsc
|
||||
mov cl,60
|
||||
.nontsc
|
||||
je .ntsc
|
||||
mov al,50
|
||||
.ntsc
|
||||
inc byte[curfps]
|
||||
cmp byte[nextframe],cl
|
||||
cmp byte[nextframe],al
|
||||
jb .nofrc
|
||||
mov al,[curfps]
|
||||
mov [lastfps],al
|
||||
mov al,[curfps2]
|
||||
mov [lastfps2],al
|
||||
mov cl,[curfps]
|
||||
mov [lastfps],cl
|
||||
mov cl,[curfps2]
|
||||
mov [lastfps2],cl
|
||||
mov byte[curfps],0
|
||||
mov byte[curfps2],0
|
||||
sub byte[nextframe],cl
|
||||
sub byte[nextframe],al
|
||||
.nofrc
|
||||
mov cl,[SloMo]
|
||||
cmp cl,0
|
||||
je .noslw
|
||||
inc cl
|
||||
div cl
|
||||
.noslw
|
||||
mov cl,al
|
||||
|
||||
cmp byte[cbitmode],1
|
||||
je near .do16b
|
||||
@@ -2660,73 +2617,50 @@ NEWSYM showfps
|
||||
ret
|
||||
|
||||
.do16b
|
||||
mov al,[lastfps]
|
||||
mov bl,10
|
||||
xor ah,ah
|
||||
div bl
|
||||
shl al,4
|
||||
add ah,al
|
||||
mov al,ah
|
||||
mov esi,208*288*2+32*2
|
||||
add esi,[vidbuffer]
|
||||
push ecx
|
||||
call outputhex16
|
||||
mov esi,208*288*2+48*2
|
||||
add esi,[vidbuffer]
|
||||
mov al,[lastfps]
|
||||
push ecx
|
||||
xor ecx,ecx
|
||||
.strloop
|
||||
xor ah,ah
|
||||
add al,48
|
||||
sub esi,8*2
|
||||
.asciiloop16b
|
||||
cmp al,58
|
||||
jb .h2adone16b
|
||||
inc ah
|
||||
sub al,10
|
||||
jmp .asciiloop16b
|
||||
.h2adone16b
|
||||
mov cl,al
|
||||
mov al,[ASCII2Font+ecx]
|
||||
call outputchar16b
|
||||
mov al,ah
|
||||
or al,al
|
||||
jnz .strloop
|
||||
|
||||
mov esi,208*288*2+48*2
|
||||
add esi,[vidbuffer]
|
||||
mov al,29h
|
||||
call outputchar16b
|
||||
pop ecx
|
||||
mov esi,208*288*2+48*2
|
||||
add esi,[vidbuffer]
|
||||
mov al,41 ; '/'
|
||||
call outputchar16b
|
||||
pop ecx
|
||||
|
||||
mov al,cl
|
||||
mov bl,10
|
||||
xor ah,ah
|
||||
div bl
|
||||
shl al,4
|
||||
add ah,al
|
||||
mov al,ah
|
||||
mov esi,208*288*2+56*2
|
||||
add esi,[vidbuffer]
|
||||
call outputhex16
|
||||
ret
|
||||
|
||||
.ng16b
|
||||
mov byte[ngfont],1
|
||||
|
||||
mov al,[lastfps]
|
||||
mov bl,10
|
||||
xor ah,ah
|
||||
div bl
|
||||
shl al,4
|
||||
add ah,al
|
||||
mov al,ah
|
||||
mov esi,208*288+32
|
||||
add esi,[vidbuffer]
|
||||
push ecx
|
||||
call outputhex
|
||||
|
||||
mov esi,208*288+48
|
||||
add esi,[vidbuffer]
|
||||
mov al,29h
|
||||
call outputchar
|
||||
pop ecx
|
||||
|
||||
mov al,cl
|
||||
mov bl,10
|
||||
xor ah,ah
|
||||
div bl
|
||||
shl al,4
|
||||
add ah,al
|
||||
mov al,ah
|
||||
mov esi,208*288+56
|
||||
add esi,[vidbuffer]
|
||||
call outputhex
|
||||
ret
|
||||
mov al,cl
|
||||
mov bl,10
|
||||
xor ah,ah
|
||||
div bl
|
||||
shl al,4
|
||||
add ah,al
|
||||
mov al,ah
|
||||
mov esi,208*288*2+56*2
|
||||
add esi,[vidbuffer]
|
||||
call outputhex16
|
||||
ret
|
||||
|
||||
SECTION .bss
|
||||
NEWSYM spcdebugaddr, resd 1
|
||||
NEWSYM tempoffset, resw 1
|
||||
|
||||
NEWSYM Testval, resd 1
|
||||
SECTION .text
|
||||
|
||||
|
||||
Reference in New Issue
Block a user