View | Details | Raw Unified
Collapse All | Expand All

(-) zsnes-1.35/authors.txt (-1 / +26 lines)
 Lines 1-6    Link Here 
ZSNES Open Source Authors:
--------------
The ZSNES Team
--------------
zsKnight <zsknight@zsnes.com>
zsKnight <zsknight@zsnes.com>
_Demo_ <z_demo_z@users.sourceforge.net>
_Demo_ <z_demo_z@users.sourceforge.net>
pagefault
------------------
Additional Authors
------------------
stainless
pharos
teuf
relnev
prometheus
theoddone33
EvilTypeGuy
hpsolo
aaronl
Diablo-D3
-------------
Miscellaneous
-------------
Wilbern Cobb - initial OpenBSD work
Thorsten "mirabile" Glaser - more OpenBSD integration
Mitchell "The Khan Artist" Mebane - manpage
(-) zsnes-1.35/src/aclocal.m4 (-2 / +2 lines)
 Lines 1-6    Link Here 
dnl aclocal.m4 generated automatically by aclocal 1.4
dnl aclocal.m4 generated automatically by aclocal 1.4-p5
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl with or without modifications, as long as this notice is preserved.
(-) zsnes-1.35/src/cpu/dma.asm (-1 / +13 lines)
 Lines 88-94    Link Here 
    and al,00000111b
    and al,00000111b
    cmp al,5
    cmp al,5
    jne .notmode5dma
    jne .notmode5dma
    mov al,1
    sub al,4
.notmode5dma
.notmode5dma
    mov bl,al
    mov bl,al
    shl bl,3
    shl bl,3
 Lines 475-480    Link Here 
    xor ecx,ecx
    xor ecx,ecx
    mov al,[esi]
    mov al,[esi]
    and al,00000111b
    and al,00000111b
    cmp al,5
    jb .notmode567dma
    sub al,4
.notmode567dma
    mov ah,[.addrnumt+eax]
    mov ah,[.addrnumt+eax]
    mov [edx+16],ah
    mov [edx+16],ah
    mov bl,al
    mov bl,al
 Lines 575-580    Link Here 
    xor ecx,ecx
    xor ecx,ecx
    mov al,[esi]
    mov al,[esi]
    and al,00000111b
    and al,00000111b
    cmp al,5
    jb .notmode567dma
    sub al,4
.notmode567dma
    mov ah,[.addrnumt+eax]
    mov ah,[.addrnumt+eax]
    mov [edx+16],ah
    mov [edx+16],ah
    mov bl,al
    mov bl,al
 Lines 677-682    Link Here 
    xor ecx,ecx
    xor ecx,ecx
    mov al,[esi]
    mov al,[esi]
    and al,00000111b
    and al,00000111b
    cmp al,5
    jb .notmode567dma
    sub al,4
.notmode567dma
    mov ah,[.addrnumt+eax]
    mov ah,[.addrnumt+eax]
    mov [edx+16],ah
    mov [edx+16],ah
    mov bl,al
    mov bl,al
(-) zsnes-1.35/src/cpu/dspproc.asm (-4 / +15 lines)
 Lines 1746-1767    Link Here 
    sar eax,8
    sar eax,8
    add edx,eax
    add edx,eax
    cmp dword [filter0],488
    jne %%notfilter2
    mov eax,[prev0]
    movsx eax,ax
    mov [prev1],eax
    mov eax,edx
    and eax,0fffffffch
    mov [prev0],eax
    jmp %%skipclamp
%%notfilter2
    mov eax,[prev0]
    mov eax,[prev0]
    mov [prev1],eax
    mov [prev1],eax
    cmp edx,-32768
    cmp edx,-32768
    jnl %%notless
    jnl %%notless
    mov dx,0
    mov edx,-32768
;    mov edx,-32768
    mov byte[filteron],1
    mov byte[filteron],1
%%notless
%%notless
    cmp edx,32767
    cmp edx,32767
    jng %%notgreater
    jng %%notgreater
    mov dx,0
    mov edx,32767
;    mov edx,32767
    mov byte[filteron],1
    mov byte[filteron],1
%%notgreater
%%notgreater
    movsx edx,dx
    movsx edx,dx
    mov [prev0],edx
    mov [prev0],edx
%%skipclamp
%endmacro
%endmacro
%macro ProcessDynamicLowPass 0
%macro ProcessDynamicLowPass 0
(-) zsnes-1.35/src/cpu/regs.inc (-3 / +9 lines)
 Lines 64-70    Link Here 
    setreg 2141h*4,reg2141r
    setreg 2141h*4,reg2141r
    setreg 2142h*4,reg2142r
    setreg 2142h*4,reg2142r
    setreg 2143h*4,reg2143r
    setreg 2143h*4,reg2143r
    setreg 2144h*4,reg2144r
    setreg 2144h*4,reg2140r
    setreg 2180h*4,reg2180r
    setreg 2180h*4,reg2180r
    setreg 2A00h*4,reg2Axxr
    setreg 2A00h*4,reg2Axxr
 Lines 948-953    Link Here 
; V counter data by external or software latch
; V counter data by external or software latch
reg213Dr:
reg213Dr:
    cmp byte[latchyr],2 ; hack for games that don't read 213F
    je .noreset
    cmp byte[latchyr],1
    cmp byte[latchyr],1
    je .highv
    je .highv
    mov al,byte[latchy]
    mov al,byte[latchy]
 Lines 959-965    Link Here 
    or  al,byte[latchy+1]
    or  al,byte[latchy+1]
    mov byte[latchyr],0
    mov byte[latchyr],0
    ret
    ret
.noreset
    mov al,byte[latchy]
    and al,0FEh    
    or  al,byte[latchy+1]
    ret
; PPU Status Flag & Version number (OBJ over flags)
; PPU Status Flag & Version number (OBJ over flags)
reg213Er:
reg213Er:
    mov al,01h
    mov al,01h
 Lines 1426-1432    Link Here 
    ret
    ret
regINVALID:     ; Invalid Register
regINVALID:     ; Invalid Register
    cmp cx,2050h
    cmp cx,2100h
    jb .cleared
    jb .cleared
    mov al,ch
    mov al,ch
    cmp byte[SPC7110Enable],0
    cmp byte[SPC7110Enable],0
(-) zsnes-1.35/src/cpu/regsw.inc (+1 lines)
 Lines 109-114    Link Here 
    setregw 2141h*4,reg2141w
    setregw 2141h*4,reg2141w
    setregw 2142h*4,reg2142w
    setregw 2142h*4,reg2142w
    setregw 2143h*4,reg2143w
    setregw 2143h*4,reg2143w
    setregw 2144h*4,reg2140w
    setregw 2180h*4,reg2180w
    setregw 2180h*4,reg2180w
    setregw 2181h*4,reg2181w
    setregw 2181h*4,reg2181w
    setregw 2182h*4,reg2182w
    setregw 2182h*4,reg2182w
(-) zsnes-1.35/src/gui/gui.asm (-3 / +3 lines)
 Lines 606-611    Link Here 
NEWSYM CombinDataGlob, times 3300 db 0 ; 20-name, 42-combo, 2-key#, 1-P#, 1-ff
NEWSYM CombinDataGlob, times 3300 db 0 ; 20-name, 42-combo, 2-key#, 1-P#, 1-ff
NEWSYM CombinDataLocl, times 3300 db 0
NEWSYM CombinDataLocl, times 3300 db 0
NEWSYM CmdLineNetPlay, db 0
NEWSYM CmdLineTCPIPAddress, times 29 db 0
GUIwinorder times    18 db 0
GUIwinorder times    18 db 0
GUIwinpos   times    18 db 0
GUIwinpos   times    18 db 0
GUIwinactiv times    18 db 0
GUIwinactiv times    18 db 0
 Lines 892-900    Link Here 
    or bl,80h
    or bl,80h
    ret
    ret
NEWSYM CmdLineNetPlay, db 0
NEWSYM CmdLineTCPIPAddress, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
NEWSYM GUIRestoreVars
NEWSYM GUIRestoreVars
    mov edx,GUIFName
    mov edx,GUIFName
    call Open_File
    call Open_File
(-) zsnes-1.35/src/init.asm (+101 lines)
 Lines 1451-1456    Link Here 
.mmx2head db 50,58,56,62,50,62,49,95,39,77,95,95,95,95,95,95,95,95,95,95
.mmx2head db 50,58,56,62,50,62,49,95,39,77,95,95,95,95,95,95,95,95,95,95
EXTSYM ewj2hack
EXTSYM ewj2hack
EXTSYM latchyr
NEWSYM headerhack
NEWSYM headerhack
    mov byte[disablehdma],0
    mov byte[disablehdma],0
 Lines 1465-1470    Link Here 
    mov byte[MMXSRAMFix],0
    mov byte[MMXSRAMFix],0
    mov esi,[romdata]
    mov esi,[romdata]
    add esi,0FFC0h
    cmp dword[esi],'SAMU'
    jne .notsamuraishodown
    cmp dword[esi+4],'RAI '
    jne .notsamuraishodown
    cmp dword[esi+8],'SHOD'
    jne .notsamuraishodown
    cmp dword[esi+12],'OWN '
    jne .notsamuraishodown
    mov word [IRQHack],1
.notsamuraishodown
    mov esi,[romdata]
    add esi,07FC0h
    cmp dword[esi],0DFCAB0BDh
    jne .notfamista1
    cmp dword[esi+4],0D0A7CCB0h
    jne .notfamista1
    cmp dword[esi+8],02020C0BDh
    jne .notfamista1
    cmp dword[esi+12],20202020h
    jne .notfamista1
    mov esi,[romdata]
    add esi,2762Fh
    mov word [esi],0EAEAh ; Skip a check for value FF at 2140 when spc not
                          ; initialized yet?!?
.notfamista1
    mov esi,[romdata]
    add esi,07FC0h
    cmp dword[esi],0DFCAB0BDh
    jne .notfamista2
    cmp dword[esi+4],0D0A7CCB0h
    jne .notfamista2
    cmp dword[esi+8],03220C0BDh
    jne .notfamista2
    cmp dword[esi+12],20202020h
    jne .notfamista2
    mov esi,[romdata]
    add esi,6CEDh
    mov word [esi],0EAEAh ; Skip a check for value FF at 2140 when spc not
                          ; initialized yet?!?
    mov esi,[romdata]
    add esi,6CF9h
    mov word [esi],0EAEAh ; Skip a check for value FF at 2140 when spc not
                          ; initialized yet?!?
.notfamista2
    mov esi,[romdata]
    add esi,07FC0h
    cmp dword[esi],20434653h
    jne .notkamenrider
    cmp dword[esi+4],0D7DDD2B6h
    jne .notkamenrider
    cmp dword[esi+8],0B0DEC0B2h
    jne .notkamenrider
    cmp dword[esi+12],20202020h
    jne .notkamenrider
    mov byte[latchyr],2
.notkamenrider
    mov esi,[romdata]
    add esi,07FC0h
    cmp dword[esi],'EURO'
    jne .noteuropeanprimegoal
    cmp dword[esi+4],'PEAN'
    jne .noteuropeanprimegoal
    cmp dword[esi+8],' PRI'
    jne .noteuropeanprimegoal
    cmp dword[esi+12],'ME G'
    jne .noteuropeanprimegoal
    mov al,0h
    mov edi,spcRam
    mov ecx,65472
    rep stosb
    ret
.noteuropeanprimegoal
    mov esi,[romdata]
    add esi,07FC0h
    cmp dword[esi],'CYBE'
    jne .notcyberknight2
    cmp dword[esi+4],'R KN'
    jne .notcyberknight2
    cmp dword[esi+8],'IGHT'
    jne .notcyberknight2
    cmp dword[esi+12],' 2  '
    jne .notcyberknight2
    mov byte[cycpb268],75
    mov byte[cycpb358],77
    mov byte[cycpbl2],75
    mov byte[cycpblt2],75
    mov byte[cycpbl],75
    mov byte[cycpblt],75
.notcyberknight2
    mov esi,[romdata]
    add esi,07FC0h
    add esi,07FC0h
    cmp dword[esi],0B4B1DEC3h
    cmp dword[esi],0B4B1DEC3h
    jne .notdeasomething
    jne .notdeasomething
 Lines 6047-6052    Link Here 
    and al,0F0h
    and al,0F0h
    cmp al,10h
    cmp al,10h
    je .yessfx
    je .yessfx
    cmp al,20h
    je .yesobc
    cmp al,30h
    cmp al,30h
    je near .yessa1
    je near .yessa1
    cmp al,40h
    cmp al,40h
 Lines 6071-6076    Link Here 
    add esi,32704
    add esi,32704
    cmp dword[esi],'META'
    cmp dword[esi],'META'
    jne .notsfx
    jne .notsfx
.yesobc
    mov byte[OBCEnable],1
    mov byte[OBCEnable],1
    jmp .nosfx
    jmp .nosfx
.notsfx
.notsfx
(-) zsnes-1.35/src/linux/copyvwin.asm (-21 / +7 lines)
 Lines 38-49    Link Here 
SECTION .text
SECTION .text
NEWSYM copy640x480x16bwin
NEWSYM copy640x480x16bwin
    pushad
    cmp byte[curblank],40h
    cmp byte[curblank],40h
    jne .startcopy
    jne .startcopy
    popad
    ret
    ret
.startcopy
.startcopy
    pushad
    mov esi,[vidbuffer]
    mov esi,[vidbuffer]
    mov edi,[WinVidMemStart]
    mov edi,[WinVidMemStart]
    add esi,16*2+256*2+32*2
    add esi,16*2+256*2+32*2
 Lines 120-133    Link Here 
    inc ebx
    inc ebx
    dec dl
    dec dl
    jnz near .loopa
    jnz near .loopa
    popad
    xor byte[res512switch],1
    xor byte[res512switch],1
    cmp byte[MMXSupport],1
    cmp byte[MMXSupport],1
    je .mmx2
    je .mmx2
    popad
    ret
    ret
.mmx2
.mmx2
    emms
    emms
    popad
    ret
    ret
.yeshires
.yeshires
    mov byte[ebx],0
    mov byte[ebx],0
 Lines 231-237    Link Here 
.loopab
.loopab
    mov ecx,256
    mov ecx,256
    cmp byte[ebx],1
    cmp byte[ebx],1
    je .yeshiresb
    je near .yeshiresb
    cmp byte[ebx],1
    cmp byte[ebx],1
    jbe .ignorehrb
    jbe .ignorehrb
    call HighResProc
    call HighResProc
 Lines 261-270    Link Here 
    inc ebx
    inc ebx
    dec dl
    dec dl
    jnz .loopab
    jnz .loopab
    popad
    xor byte[res512switch],1
    xor byte[res512switch],1
    cmp byte[MMXSupport],1
    cmp byte[MMXSupport],1
    je near .mmx2
    je near .mmx2
    popad
    ret
    ret
.yeshiresb
.yeshiresb
    mov byte[ebx],0
    mov byte[ebx],0
 Lines 348-356    Link Here 
    inc ebx
    inc ebx
    dec dl
    dec dl
    jnz near .loopabh
    jnz near .loopabh
    popad
    cmp byte[MMXSupport],1
    cmp byte[MMXSupport],1
    je near .mmx2
    je near .mmx2
    popad
    ret
    ret
.mmxslh
.mmxslh
    mov eax,[spritetablea]
    mov eax,[spritetablea]
 Lines 448-456    Link Here 
    inc ebx
    inc ebx
    dec byte[lineleft]
    dec byte[lineleft]
    jnz near .loopabh2
    jnz near .loopabh2
    popad
    cmp byte[MMXSupport],1
    cmp byte[MMXSupport],1
    je near .mmx2
    je near .mmx2
    popad
    ret
    ret
.mmxslh2
.mmxslh2
    mov eax,[spritetablea]
    mov eax,[spritetablea]
 Lines 529-535    Link Here 
    jnz .nofielde
    jnz .nofielde
    add edi,[NumBytesPerLine]
    add edi,[NumBytesPerLine]
.nofielde
.nofielde
    popad
    ret
    ret
.hiresmode7
.hiresmode7
    cmp byte[MMXSupport],1
    cmp byte[MMXSupport],1
 Lines 557-563    Link Here 
    dec ecx
    dec ecx
    jnz .a2b
    jnz .a2b
    sub esi,75036*4
    sub esi,75036*4
    popad
    ret
    ret
.yeshiresngmmxmode7
.yeshiresngmmxmode7
    mov ecx,64
    mov ecx,64
 Lines 590-596    Link Here 
    dec ecx
    dec ecx
    jnz .mmxrb
    jnz .mmxrb
    sub esi,75036*4
    sub esi,75036*4
    popad
    ret
    ret
.hires
.hires
    cmp byte[MMXSupport],1
    cmp byte[MMXSupport],1
 Lines 611-617    Link Here 
    jnz .lowerfield
    jnz .lowerfield
    add edi,[NumBytesPerLine]
    add edi,[NumBytesPerLine]
.lowerfield
.lowerfield
    popad
    ret
    ret
.nofieldb
.nofieldb
    cmp byte[scanlines],1
    cmp byte[scanlines],1
 Lines 631-640    Link Here 
    add edi,4
    add edi,4
    dec ecx
    dec ecx
    jnz .bngb
    jnz .bngb
    popad
    ret
    ret
.scanlines
.scanlines
    popad
    ret
    ret
.yeshiresngmmx
.yeshiresngmmx
    mov eax,[spritetablea]
    mov eax,[spritetablea]
 Lines 663-669    Link Here 
    jnz .lowerfieldb
    jnz .lowerfieldb
    add edi,[NumBytesPerLine]
    add edi,[NumBytesPerLine]
.lowerfieldb
.lowerfieldb
    popad
    ret
    ret
.nofieldc
.nofieldc
    cmp byte[scanlines],1
    cmp byte[scanlines],1
 Lines 696-702    Link Here 
    add edi,32
    add edi,32
    dec ecx
    dec ecx
    jnz .mmxr2
    jnz .mmxr2
    popad
    ret
    ret
.antialias
.antialias
    add edi,[AddEndBytes]
    add edi,[AddEndBytes]
 Lines 730-736    Link Here 
    add esi,8
    add esi,8
    dec ecx
    dec ecx
    jnz .mmxr2aa
    jnz .mmxr2aa
    popad
    ret
    ret
.halfscanlines
.halfscanlines
    add edi,[AddEndBytes]
    add edi,[AddEndBytes]
 Lines 747-753    Link Here 
    add edi,4
    add edi,4
    dec ecx
    dec ecx
    jnz .abhs
    jnz .abhs
    popad
    ret
    ret
.quartscanlines
.quartscanlines
    add edi,[AddEndBytes]
    add edi,[AddEndBytes]
 Lines 767-773    Link Here 
    add edi,4
    add edi,4
    dec ecx
    dec ecx
    jnz .abhs2
    jnz .abhs2
    popad
    ret
    ret
.halfscanlinesmmx
.halfscanlinesmmx
    mov eax,[spritetablea]
    mov eax,[spritetablea]
 Lines 796-802    Link Here 
    add edi,32
    add edi,32
    dec ecx
    dec ecx
    jnz .mmxr2h
    jnz .mmxr2h
    popad
    ret
    ret
.quartscanlinesmmx
.quartscanlinesmmx
    mov eax,[spritetablea]
    mov eax,[spritetablea]
 Lines 1383-1389    Link Here 
    jmp .returninterps
    jmp .returninterps
.ignorehrs
.ignorehrs
    cmp byte[ebx],1
    cmp byte[ebx],1
    je .yeshiresb
    je near .yeshiresb
.ignorehrb
.ignorehrb
    push ebx
    push ebx
.ab
.ab
(-) zsnes-1.35/src/linux/sdlintrf.asm (+4 lines)
 Lines 170-175    Link Here 
    mov byte[esi+11+256],'t'
    mov byte[esi+11+256],'t'
    mov byte[esi+12+256],0
    mov byte[esi+12+256],0
    mov byte[spcon],1
    mov byte[soundon],1
    mov byte[cfgsoundon],1
    ; Get and set the initial directory
    ; Get and set the initial directory
%ifdef __LINUX__
%ifdef __LINUX__
    call obtaindir
    call obtaindir
(-) zsnes-1.35/src/linux/sdllink.c (-1 / +17 lines)
 Lines 580-585    Link Here 
	return TRUE;
	return TRUE;
}
}
int saybitdepth()
{
  int MyBitsPerPixel;
  const SDL_VideoInfo *info;
  SDL_Init(SDL_INIT_VIDEO);
  info = SDL_GetVideoInfo();
  MyBitsPerPixel = info->vfmt->BitsPerPixel;
  switch (MyBitsPerPixel)
    {
    case 0: printf("Cannot detect bitdepth. On fbcon and svgalib this is normal.\nTrying to force 16 bpp.\n\n"); break;
    case 16: break;
    default: printf("You are running in %d bpp, but ZSNES is forcing 16 bpp.\nYou may experience poor performance and/or crashing.\n\n", MyBitsPerPixel); break;
    }
  return 0;
}
int startgame(void)
int startgame(void)
{
{
	int status;
	int status;
 Lines 598-604    Link Here 
	if (sdl_state == vid_soft) sw_end();
	if (sdl_state == vid_soft) sw_end();
#ifdef __OPENGL__
#ifdef __OPENGL__
	else if (sdl_state == vid_gl) gl_end();
	else if (sdl_state == vid_gl) gl_end();
	saybitdepth();
	if (UseOpenGL)
	if (UseOpenGL)
	{
	{
		status = gl_start(WindowWidth, WindowHeight, BitDepth, FullScreen);
		status = gl_start(WindowWidth, WindowHeight, BitDepth, FullScreen);
(-) zsnes-1.35/src/linux/sw_draw.c (-3 / +1 lines)
 Lines 41-49    Link Here 
{
{
    unsigned int color32, p;
    unsigned int color32, p;
    int i;
    int i;
    Uint32 flags = SDL_DOUBLEBUF | SDL_HWSURFACE | SDL_HWPALETTE | SDL_ANYFORMAT
    Uint32 flags = SDL_DOUBLEBUF | SDL_HWSURFACE | SDL_HWPALETTE;
;
    DWORD GBitMask;
    DWORD GBitMask;
    
    
    p = BitConv32Ptr;
    p = BitConv32Ptr;
(-) zsnes-1.35/src/ui.asm (-11 / +2 lines)
 Lines 21-27    Link Here 
EXTSYM ConvertJoyMap,ConvertJoyMap1,ConvertJoyMap2,printhex,InitSPC
EXTSYM ConvertJoyMap,ConvertJoyMap1,ConvertJoyMap2,printhex,InitSPC
EXTSYM StartUp,PrintStr,WaitForKey,PrintChar,ZFileSystemInit
EXTSYM StartUp,PrintStr,WaitForKey,PrintChar,ZFileSystemInit
EXTSYM SPCDisable,SystemInit,allocmem
EXTSYM SPCDisable,SystemInit,allocmem
EXTSYM FPSOn,FPSAtStart,cfgsoundon,FirstTimeData
EXTSYM FPSOn,FPSAtStart,cfgsoundon
EXTSYM xa
EXTSYM xa
EXTSYM SBPort,SBInt,SBIrq,SBDMA,SBDMAPage,SBHDMAPage,getenv,vibracard
EXTSYM SBPort,SBInt,SBIrq,SBDMA,SBDMAPage,SBHDMAPage,getenv,vibracard
EXTSYM ram7fa,wramdataa
EXTSYM ram7fa,wramdataa
 Lines 69-82    Link Here 
	cld                     ;clear direction flag
	cld                     ;clear direction flag
%ifndef __MSDOS__
        cmp byte[FirstTimeData],1
        je .nofirsttime
	mov byte[soundon],1
	mov byte[cfgsoundon],1
.nofirsttime
%endif
	call setnoise
	call setnoise
	call InitSPC
	call InitSPC
	call allocmem           ;allocate memory
	call allocmem           ;allocate memory
 Lines 151-158    Link Here 
                 db 'ZSNES v',ZVERSION,' (c) 1997-2002, ZSNES Team (zsKnight & _Demo_)',13,10,13,10
                 db 'ZSNES v',ZVERSION,' (c) 1997-2002, ZSNES Team (zsKnight & _Demo_)',13,10,13,10
                 db 'Be sure to check http://www.zsnes.com/ for the latest version.',13,10
                 db 'Be sure to check http://www.zsnes.com/ for the latest version.',13,10
                 db 'Please report crashes to zsnes-devel@lists.sourceforge.net.',13,10,13,10
                 db 'Please report crashes to zsnes-devel@lists.sourceforge.net.',13,10,13,10
                 db '  Main Coders      : zsKnight, _Demo_, and pagefault',13,10
                 db 'ZSNES is written by the ZSNES Team (See AUTHORS.TXT)',13,10
                 db '  Assistant Coders : Pharos, teuf, theoddone33, and stainless',13,10,13,10
                 db 'ZSNES comes with ABSOLUTELY NO WARRANTY.  This is free software,',10,13
                 db 'ZSNES comes with ABSOLUTELY NO WARRANTY.  This is free software,',10,13
                 db 'and you are welcome to redistribute it under certain conditions;',10,13
                 db 'and you are welcome to redistribute it under certain conditions;',10,13
%ifdef __LINUX__
%ifdef __LINUX__
(-) zsnes-1.35/src/video/newgfx16.mac (-11 / +5 lines)
 Lines 2832-2843    Link Here 
    je near .offsetm
    je near .offsetm
    cmp byte[t16x161+ebx+%1*256],1
    cmp byte[t16x161+ebx+%1*256],1
    je near .tiles16x16
    je near .tiles16x16
    cmp byte[BGMA+ebx],4
    je near .offsetm
.nooffsetm
.nooffsetm
    mov eax,[BGPT1+ebx*2+%1*512]
    mov eax,[BGPT1+ebx*2+%1*512]
    test ecx,100h
    test ecx,100h
    jz .noyinc
    jz .noyinc
    cmp byte[osm2dis],1
    je .nooffsetm4
    cmp byte[BGMA+ebx],4
    je near .offsetm
.nooffsetm4
    add eax,[BGPT1Y+ebx*2+%1*512]
    add eax,[BGPT1Y+ebx*2+%1*512]
.noyinc
.noyinc
    lea ecx,[ecx*8]
    lea ecx,[ecx*8]
 Lines 3131-3140    Link Here 
    shl edx,6
    shl edx,6
    xor eax,eax
    xor eax,eax
    mov ax,[BGPT3+ebx*2]
    mov ax,[BGPT3+ebx*2]
    cmp dx,0
    jl .isneg1
    add ax,dx
    add ax,dx
.isneg1
    xor edx,edx
    xor edx,edx
    mov dx,[BG3SXl+ebx*2]
    mov dx,[BG3SXl+ebx*2]
    and dx,0F8h
    and dx,0F8h
 Lines 3303-3312    Link Here 
    shl edx,6
    shl edx,6
    xor eax,eax
    xor eax,eax
    mov ax,[BGPT3+ebx*2]
    mov ax,[BGPT3+ebx*2]
    cmp dx,0
    jl .isneg2
    add ax,dx
    add ax,dx
.isneg2
    xor edx,edx
    xor edx,edx
    mov dx,[BG3SXl+ebx*2]
    mov dx,[BG3SXl+ebx*2]
    and dx,0F8h
    and dx,0F8h
 Lines 3709-3718    Link Here 
    shl edx,6
    shl edx,6
    xor eax,eax
    xor eax,eax
    mov ax,[BGPT3+ebx*2]
    mov ax,[BGPT3+ebx*2]
    cmp dx,0
    jl .isneg3
    add ax,dx
    add ax,dx
.isneg3
    xor edx,edx
    xor edx,edx
    mov dx,[BG3SXl+ebx*2]
    mov dx,[BG3SXl+ebx*2]
    and dx,0F8h
    and dx,0F8h
(-) zsnes-1.35/src/video/newgfx.mac (-12 / +43 lines)
 Lines 2611-2630    Link Here 
    add ecx,ebx
    add ecx,ebx
    jmp %%yesmosaic
    jmp %%yesmosaic
%%nomosaic
%%nomosaic
    cmp byte[BGMA+ebx],5
    cmp byte[BGMA+ebx],5
    jae near .tiles16x8
    jae near .tiles16x8
%%yesmosaic
%%yesmosaic
    cmp byte[t16x161+ebx+%1*256],1
    cmp byte[t16x161+ebx+%1*256],1
    je near .tiles16x16
    je near .tiles16x16
    cmp byte[osm2dis],1
    je .nooffsetm
    cmp byte[BGMA+ebx],2
    cmp byte[BGMA+ebx],2
    je near .offsetm
    je near .offsetm
    cmp byte[BGMA+ebx],4
.nooffsetm
    je near .offsetm
    mov eax,[BGPT1+ebx*2+%1*512]
    mov eax,[BGPT1+ebx*2+%1*512]
    test ecx,100h
    test ecx,100h
    jz .noyinc
    jz .noyinc
    cmp byte[osm2dis],1
    je .nooffsetm4
    cmp byte[BGMA+ebx],4
    je near .offsetm
.nooffsetm4
    add eax,[BGPT1Y+ebx*2+%1*512]
    add eax,[BGPT1Y+ebx*2+%1*512]
.noyinc
.noyinc
    lea ecx,[ecx*8]
    lea ecx,[ecx*8]
 Lines 2888-2897    Link Here 
    shl edx,6
    shl edx,6
    xor eax,eax
    xor eax,eax
    mov ax,[BGPT3+ebx*2]
    mov ax,[BGPT3+ebx*2]
    cmp dx,0
    jl .isneg
    add ax,dx
    add ax,dx
.isneg
    xor edx,edx
    xor edx,edx
    mov dx,[BG3SXl+ebx*2]
    mov dx,[BG3SXl+ebx*2]
    and dx,0F8h
    and dx,0F8h
 Lines 2955-2960    Link Here 
    add eax,ecx
    add eax,ecx
    add [ofsmtptr],ecx
    add [ofsmtptr],ecx
    mov [ofsmmptr],eax
    mov [ofsmmptr],eax
    mov word[bgtxadd2],0
    cmp word[BGPT3X+ebx*2],0
    je .yesoverfl
    mov cx,word[BG3SXl+ebx*2]
    add cx,16
    test cx,100h
    jz .notoverfl
    add dword[ofsmcptr],800h
    sub word[bgtxadd2],800h
    jmp .yesoverfl
.notoverfl
    add word[bgtxadd2],800h
.yesoverfl
    mov dword[ofshvaladd],0
    mov dword[ofshvaladd],0
    mov ecx,[BGOPT1+ebx*2+%1*512]
    mov ecx,[BGOPT1+ebx*2+%1*512]
    mov edx,[BGMA+ebx]
    mov edx,[BGMA+ebx]
 Lines 3066-3075    Link Here 
%%yesmosaic
%%yesmosaic
    cmp byte[t16x161+ebx+%1*256],1
    cmp byte[t16x161+ebx+%1*256],1
    je near .tiles16x16
    je near .tiles16x16
    cmp byte[osm2dis],1
    je .nooffsetm
    cmp byte[BGMA+ebx],2
    cmp byte[BGMA+ebx],2
    je near .offsetm
    je near .offsetm
    cmp byte[BGMA+ebx],4
;    cmp byte[BGMA+ebx],4
    je near .offsetm
;    je near .offsetm
.nooffsetm
    mov eax,[BG1SYl+ebx*2+%1*512]
    mov eax,[BG1SYl+ebx*2+%1*512]
    and eax,0FFFFh
    and eax,0FFFFh
    add eax,ebx
    add eax,ebx
 Lines 3240-3249    Link Here 
    shl edx,6
    shl edx,6
    xor eax,eax
    xor eax,eax
    mov ax,[BGPT3+ebx*2]
    mov ax,[BGPT3+ebx*2]
    cmp dx,0
    jl .isneg
    add ax,dx
    add ax,dx
.isneg
    xor edx,edx
    xor edx,edx
    mov dx,[BG3SXl+ebx*2]
    mov dx,[BG3SXl+ebx*2]
    and dx,0F8h
    and dx,0F8h
 Lines 3275-3280    Link Here 
    mov eax,[BGPT1+ebx*2+%1*512]
    mov eax,[BGPT1+ebx*2+%1*512]
    mov [ofsmtptr],eax
    mov [ofsmtptr],eax
    mov [ofsmtptrs],eax
    mov [ofsmtptrs],eax
    mov word[bgtxadd2],0
    cmp word[BGPT3X+ebx*2],0
    je .yesoverfl
    mov cx,word[BG3SXl+ebx*2]
    add cx,16
    test cx,100h
    jz .notoverfl
    add dword[ofsmcptr],800h
    sub word[bgtxadd2],800h
    jmp .yesoverfl
.notoverfl
    add word[bgtxadd2],800h
.yesoverfl
    mov ecx,[BG1SXl+ebx*2+%1*512]
    mov ecx,[BG1SXl+ebx*2+%1*512]
    mov edx,[BGPT1X+ebx*2+%1*512]
    mov edx,[BGPT1X+ebx*2+%1*512]
    test ecx,100h
    test ecx,100h
(-) zsnes-1.35/src/win/winintrf.asm (+4 lines)
 Lines 189-194    Link Here 
    mov byte[esi+11+256],'t'
    mov byte[esi+11+256],'t'
    mov byte[esi+12+256],0
    mov byte[esi+12+256],0
    mov byte[spcon],1
    mov byte[soundon],1
    mov byte[cfgsoundon],1
    ; Get and set the initial directory
    ; Get and set the initial directory
    mov ebx,InitDir
    mov ebx,InitDir
    mov edx,InitDrive
    mov edx,InitDrive
(-) zsnes-1.35/src/win/zloaderw.c (-6 / +15 lines)
 Lines 40-46    Link Here 
                     romtype, scanlines, showallext, smallscreenon, soundon,
                     romtype, scanlines, showallext, smallscreenon, soundon,
                     spcon, vsyncon, DisplayS, fname, filefound, SnowOn,
                     spcon, vsyncon, DisplayS, fname, filefound, SnowOn,
                     NetChatFirst,NetServer,NetNewNick,
                     NetChatFirst,NetServer,NetNewNick,
                     NetFilename,TCPIPAddress,NetQuitAfter,UDPConfig;
                     NetFilename,CmdLineTCPIPAddress,NetQuitAfter,UDPConfig,
                     CmdLineNetPlay;
void ccmdline(void);
void ccmdline(void);
 Lines 178-184    Link Here 
         if (strptr<4) {
         if (strptr<4) {
           NetServer=0;
           NetServer=0;
         } else {
         } else {
           strp=&TCPIPAddress;
           CmdLineNetPlay = 1;
           strp=&CmdLineTCPIPAddress;
           strncpy(strp,ExtA[3],28);
           strncpy(strp,ExtA[3],28);
         }
         }
       }
       }
 Lines 670-679    Link Here 
    }
    }
    else
    else
    {
    {
      if(gfnm > 0)
      if(gfnm > 0) // Quick fix to allow spaces, might produce strange names
                   // if there are unrecognized options
      {
      {
        printf("Limit yourself to one filename\n");
        char *fvar, *fvar2;
        return 2;
        fvar=&fname;
        fvar2=&fname+fvar[0]+1;
        if(fvar[0]+3>127) return(2);
        fvar2[0]=' ';
        strncpy(&fvar2[1],argv[p],127-fvar[0]-1);
        fvar[0] += strlen(argv[p])+1;
        gfnm++;
      }
      }
      else
      else
      {
      {
 Lines 685-691    Link Here 
      }
      }
    }
    }
  }
  }
  if(gfnm == 1)
  if(gfnm > 0)
  {
  {
    filefound=0;
    filefound=0;
    makeextension();
    makeextension();