.text:0042E187                 push    offset aGpucleardynare ; "GPUclearDynarec"
.text:0042E18C                 push    edx             ; hModule
.text:0042E18D                 mov     dword_50EE88, eax
.text:0042E192                 call    esi ; GetProcAddress
.text:0042E194                 test    eax, eax
.text:0042E196                 pop     edi
.text:0042E197                 mov     dword_50F038, eax
.text:0042E19C                 pop     esi
.text:0042E19D                 jz      short loc_42E1A6




void CALLBACK GPUshowScreenPic(unsigned char * pMem)

.text:0042E12E                 push    offset aGpushowscreenp ; "GPUshowScreenPic"
.text:0042E133                 push    eax             ; hModule
.text:0042E134                 call    esi ; GetProcAddress
.text:0042E136                 mov     ecx, dword_4C4D30
.text:0042E13C                 push    offset aGpucursor ; "GPUcursor"
.text:0042E141                 push    ecx             ; hModule
.text:0042E142                 mov     dword_50F8E8, eax




long CALLBACK GPUclose()                               // WINDOWS CLOSE

.text:0042DED1 loc_42DED1:                             ; CODE XREF: sub_42DDD0+EDj
.text:0042DED1                 mov     eax, dword_4C4D30
.text:0042DED6                 push    offset aGpuclose ; "GPUclose"
.text:0042DEDB                 push    eax             ; hModule
.text:0042DEDC                 call    esi ; GetProcAddress
.text:0042DEDE                 test    eax, eax
.text:0042DEE0                 mov     dword_50F080, eax
.text:0042DEE5                 jnz     short loc_42DEF9
.text:0042DEE7                 push    offset aGpuclose ; "GPUclose"
.text:0042DEEC                 push    offset aGetprocaddress ; " * GetProcAddress error %s\n"
.text:0042DEF1                 call    loc_439340
.text:0042DEF6                 add     esp, 8




// I shot the sheriff... last function called from emu 

long CALLBACK GPUshutdown()

.text:0042DE7F loc_42DE7F:                             ; CODE XREF: sub_42DDD0+9Bj
.text:0042DE7F                 mov     ecx, dword_4C4D30
.text:0042DE85                 push    offset aGpushutdown ; "GPUshutdown"
.text:0042DE8A                 push    ecx             ; hModule
.text:0042DE8B                 call    esi ; GetProcAddress
.text:0042DE8D                 test    eax, eax
.text:0042DE8F                 mov     dword_50F050, eax
.text:0042DE94                 jnz     short loc_42DEA8
.text:0042DE96                 push    offset aGpushutdown ; "GPUshutdown"
.text:0042DE9B                 push    offset aGetprocaddress ; " * GetProcAddress error %s\n"
.text:0042DEA0                 call    loc_439340
.text:0042DEA5                 add     esp, 8




long CALLBACK GPUopen(HWND hwndGPU)                    

.text:0042DEA8                 mov     edx, dword_4C4D30
.text:0042DEAE                 push    offset aGpuopen ; "GPUopen"
.text:0042DEB3                 push    edx             ; hModule
.text:0042DEB4                 call    esi ; GetProcAddress
.text:0042DEB6                 test    eax, eax
.text:0042DEB8                 mov     dword_50F03C, eax
.text:0042DEBD                 jnz     short loc_42DED1
.text:0042DEBF                 push    offset aGpuopen ; "GPUopen"
.text:0042DEC4                 push    offset aGetprocaddress ; " * GetProcAddress error %s\n"
.text:0042DEC9                 call    loc_439340
.text:0042DECE                 add     esp, 8




void CALLBACK GPUwriteStatus(unsigned long gdata)
 unsigned long lCommand=(gdata>>24)&0xff;

   // reset gpu
   case 0x00:

   // dis/enable display (1/0)
   case 0x03:  

.text:0042DF9C loc_42DF9C:                             ; CODE XREF: sub_42DDD0+1B8j
.text:0042DF9C                 mov     edx, dword_4C4D30
.text:0042DFA2                 push    offset aGpuwritestatus ; "GPUwriteStatus"
.text:0042DFA7                 push    edx             ; hModule
.text:0042DFA8                 call    esi ; GetProcAddress
.text:0042DFAA                 test    eax, eax
.text:0042DFAC                 mov     dword_50F4C8, eax
.text:0042DFB1                 jnz     short loc_42DFC5
.text:0042DFB3                 push    offset aGpuwritestatus ; "GPUwriteStatus"
.text:0042DFB8                 push    offset aGetprocaddress ; " * GetProcAddress error %s\n"
.text:0042DFBD                 call    loc_439340
.text:0042DFC2                 add     esp, 8




; Vsync routine

void CALLBACK GPUupdateLace(void)

.text:0042E090 loc_42E090:                             ; CODE XREF: sub_42DDD0+2ACj
.text:0042E090                 mov     edx, dword_4C4D30
.text:0042E096                 push    offset aGpuupdatelace ; "GPUupdateLace"
.text:0042E09B                 push    edx             ; hModule
.text:0042E09C                 call    esi ; GetProcAddress
.text:0042E09E                 test    eax, eax
.text:0042E0A0                 mov     dword_50F034, eax
.text:0042E0A5                 jnz     short loc_42E0B9
.text:0042E0A7                 push    offset aGpuupdatelace ; "GPUupdateLace"
.text:0042E0AC                 push    offset aGetprocaddress ; " * GetProcAddress error %s\n"
.text:0042E0B1                 call    loc_439340
.text:0042E0B6                 add     esp, 8




; note: This is the F4 option (epsxe limit / GPU limiter)

void CALLBACK GPUsetframelimit(unsigned long option)   // new EPSXE interface func: main emu can enable/disable fps limitation this way

.text:0042E14F                 push    offset aGpusetframelim ; GPUsetframelimit
.text:0042E154                 push    edx             ; hModule
.text:0042E155                 mov     dword_50F060, eax
.text:0042E15A                 call    esi ; GetProcAddress
.text:0042E15C                 mov     dword_50F4C0, eax
.text:0042E161                 mov     eax, dword_4C4D30
