head 1.3; access; symbols pkgsrc-2026Q1:1.3.0.104 pkgsrc-2026Q1-base:1.3 pkgsrc-2025Q4:1.3.0.102 pkgsrc-2025Q4-base:1.3 pkgsrc-2025Q3:1.3.0.100 pkgsrc-2025Q3-base:1.3 pkgsrc-2025Q2:1.3.0.98 pkgsrc-2025Q2-base:1.3 pkgsrc-2025Q1:1.3.0.96 pkgsrc-2025Q1-base:1.3 pkgsrc-2024Q4:1.3.0.94 pkgsrc-2024Q4-base:1.3 pkgsrc-2024Q3:1.3.0.92 pkgsrc-2024Q3-base:1.3 pkgsrc-2024Q2:1.3.0.90 pkgsrc-2024Q2-base:1.3 pkgsrc-2024Q1:1.3.0.88 pkgsrc-2024Q1-base:1.3 pkgsrc-2023Q4:1.3.0.86 pkgsrc-2023Q4-base:1.3 pkgsrc-2023Q3:1.3.0.84 pkgsrc-2023Q3-base:1.3 pkgsrc-2023Q2:1.3.0.82 pkgsrc-2023Q2-base:1.3 pkgsrc-2023Q1:1.3.0.80 pkgsrc-2023Q1-base:1.3 pkgsrc-2022Q4:1.3.0.78 pkgsrc-2022Q4-base:1.3 pkgsrc-2022Q3:1.3.0.76 pkgsrc-2022Q3-base:1.3 pkgsrc-2022Q2:1.3.0.74 pkgsrc-2022Q2-base:1.3 pkgsrc-2022Q1:1.3.0.72 pkgsrc-2022Q1-base:1.3 pkgsrc-2021Q4:1.3.0.70 pkgsrc-2021Q4-base:1.3 pkgsrc-2021Q3:1.3.0.68 pkgsrc-2021Q3-base:1.3 pkgsrc-2021Q2:1.3.0.66 pkgsrc-2021Q2-base:1.3 pkgsrc-2021Q1:1.3.0.64 pkgsrc-2021Q1-base:1.3 pkgsrc-2020Q4:1.3.0.62 pkgsrc-2020Q4-base:1.3 pkgsrc-2020Q3:1.3.0.60 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.3.0.56 pkgsrc-2020Q2-base:1.3 pkgsrc-2020Q1:1.3.0.36 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.3.0.58 pkgsrc-2019Q4-base:1.3 pkgsrc-2019Q3:1.3.0.54 pkgsrc-2019Q3-base:1.3 pkgsrc-2019Q2:1.3.0.52 pkgsrc-2019Q2-base:1.3 pkgsrc-2019Q1:1.3.0.50 pkgsrc-2019Q1-base:1.3 pkgsrc-2018Q4:1.3.0.48 pkgsrc-2018Q4-base:1.3 pkgsrc-2018Q3:1.3.0.46 pkgsrc-2018Q3-base:1.3 pkgsrc-2018Q2:1.3.0.44 pkgsrc-2018Q2-base:1.3 pkgsrc-2018Q1:1.3.0.42 pkgsrc-2018Q1-base:1.3 pkgsrc-2017Q4:1.3.0.40 pkgsrc-2017Q4-base:1.3 pkgsrc-2017Q3:1.3.0.38 pkgsrc-2017Q3-base:1.3 pkgsrc-2017Q2:1.3.0.34 pkgsrc-2017Q2-base:1.3 pkgsrc-2017Q1:1.3.0.32 pkgsrc-2017Q1-base:1.3 pkgsrc-2016Q4:1.3.0.30 pkgsrc-2016Q4-base:1.3 pkgsrc-2016Q3:1.3.0.28 pkgsrc-2016Q3-base:1.3 pkgsrc-2016Q2:1.3.0.26 pkgsrc-2016Q2-base:1.3 pkgsrc-2016Q1:1.3.0.24 pkgsrc-2016Q1-base:1.3 pkgsrc-2015Q4:1.3.0.22 pkgsrc-2015Q4-base:1.3 pkgsrc-2015Q3:1.3.0.20 pkgsrc-2015Q3-base:1.3 pkgsrc-2015Q2:1.3.0.18 pkgsrc-2015Q2-base:1.3 pkgsrc-2015Q1:1.3.0.16 pkgsrc-2015Q1-base:1.3 pkgsrc-2014Q4:1.3.0.14 pkgsrc-2014Q4-base:1.3 pkgsrc-2014Q3:1.3.0.12 pkgsrc-2014Q3-base:1.3 pkgsrc-2014Q2:1.3.0.10 pkgsrc-2014Q2-base:1.3 pkgsrc-2014Q1:1.3.0.8 pkgsrc-2014Q1-base:1.3 pkgsrc-2013Q4:1.3.0.6 pkgsrc-2013Q4-base:1.3 pkgsrc-2013Q3:1.3.0.4 pkgsrc-2013Q3-base:1.3 pkgsrc-2013Q2:1.3.0.2 pkgsrc-2013Q2-base:1.3 pkgsrc-2013Q1:1.2.0.64 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.2.0.62 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.2.0.60 pkgsrc-2012Q3-base:1.2 pkgsrc-2012Q2:1.2.0.58 pkgsrc-2012Q2-base:1.2 pkgsrc-2012Q1:1.2.0.56 pkgsrc-2012Q1-base:1.2 pkgsrc-2011Q4:1.2.0.54 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q3:1.2.0.52 pkgsrc-2011Q3-base:1.2 pkgsrc-2011Q2:1.2.0.50 pkgsrc-2011Q2-base:1.2 pkgsrc-2011Q1:1.2.0.48 pkgsrc-2011Q1-base:1.2 pkgsrc-2010Q4:1.2.0.46 pkgsrc-2010Q4-base:1.2 pkgsrc-2010Q3:1.2.0.44 pkgsrc-2010Q3-base:1.2 pkgsrc-2010Q2:1.2.0.42 pkgsrc-2010Q2-base:1.2 pkgsrc-2010Q1:1.2.0.40 pkgsrc-2010Q1-base:1.2 pkgsrc-2009Q4:1.2.0.38 pkgsrc-2009Q4-base:1.2 pkgsrc-2009Q3:1.2.0.36 pkgsrc-2009Q3-base:1.2 pkgsrc-2009Q2:1.2.0.34 pkgsrc-2009Q2-base:1.2 pkgsrc-2009Q1:1.2.0.32 pkgsrc-2009Q1-base:1.2 pkgsrc-2008Q4:1.2.0.30 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.28 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.26 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.24 pkgsrc-2008Q2-base:1.2 cwrapper:1.2.0.22 pkgsrc-2008Q1:1.2.0.20 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.18 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.16 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.14 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.12 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.10 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.8 pkgsrc-2006Q3-base:1.2 pkgsrc-2006Q2:1.2.0.6 pkgsrc-2006Q2-base:1.2 pkgsrc-2006Q1:1.2.0.4 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.2 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.1.1.1.0.10 pkgsrc-2005Q3-base:1.1.1.1 pkgsrc-2005Q2:1.1.1.1.0.8 pkgsrc-2005Q2-base:1.1.1.1 pkgsrc-2005Q1:1.1.1.1.0.6 pkgsrc-2005Q1-base:1.1.1.1 pkgsrc-2004Q4:1.1.1.1.0.4 pkgsrc-2004Q4-base:1.1.1.1 pkgsrc-2004Q3:1.1.1.1.0.2 pkgsrc-2004Q3-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.3 date 2013.04.13.19.08.27; author dholland; state Exp; branches; next 1.2; 1.2 date 2005.11.03.21.38.04; author rillig; state Exp; branches; next 1.1; 1.1 date 2004.07.23.19.01.41; author wiz; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2004.07.23.19.01.41; author wiz; state Exp; branches; next ; desc @@ 1.3 log @Lift i386-only restriction. Does not actually require nasm. Reduce pkglint. PKGREVISION -> 6. @ text @$NetBSD: patch-ac,v 1.2 2005/11/03 21:38:04 rillig Exp $ - Fix C syntax (string constants continued onto the next line must have a backslash) - Use the asm blocks only on platforms where they're understood. Disable the more elaborate blitter modes on other platforms until/unless someone wants to write non-asm equivalents. --- src/ddrawsdl.cpp.orig 2002-03-26 15:02:25.000000000 +0000 +++ src/ddrawsdl.cpp @@@@ -12,6 +12,7 @@@@ */ #include +#include #include "globals.h" #include "gfx.h" @@@@ -174,69 +175,83 @@@@ void UpdateFrame_h() { switch(fBlitterMode) { case 1: - __asm__ __volatile__(".align 32 - cld - rep +#if defined(__i386__) || defined(__x86_64__) + __asm__ __volatile__(".align 32\n\ + cld\n\ + rep\n\ movsw" : :"S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"((g_pDDSPrimary->h * g_pDDSPrimary->pitch)>>1)); +#else + memcpy(g_pDDSPrimary->pixels, dx_buffer, g_pDDSPrimary->h * g_pDDSPrimary->pitch); +#endif break; case 2: - __asm__ __volatile__("pusha - xorl %%eax, %%eax - movl $448, %%ebx - emms - sum: - movq (%0, %%eax, 1), %%mm0 - movq %%mm0, %%mm1 - punpcklwd %%mm0, %%mm0 - addl $8, %%eax - punpckhwd %%mm1,%%mm1 - movq %%mm0, -16(%1, %%eax, 2) - cmpl %%ebx, %%eax - - movq %%mm1, -8(%1, %%eax, 2) - jnz sum - xorl %%eax, %%eax - - addl %2, %0 - decl %%edx - - leal (%1, %2, 4), %1 - jnz sum - emms +#if defined(__i386__) + __asm__ __volatile__("pusha\n\ + xorl %%eax, %%eax\n\ + movl $448, %%ebx \n\ + emms\n\ + sum:\n\ + movq (%0, %%eax, 1), %%mm0\n\ + movq %%mm0, %%mm1\n\ + punpcklwd %%mm0, %%mm0\n\ + addl $8, %%eax\n\ + punpckhwd %%mm1,%%mm1\n\ + movq %%mm0, -16(%1, %%eax, 2)\n\ + cmpl %%ebx, %%eax\n\ + \n\ + movq %%mm1, -8(%1, %%eax, 2)\n\ + jnz sum\n\ + xorl %%eax, %%eax\n\ + \n\ + addl %2, %0\n\ + decl %%edx\n\ + \n\ + leal (%1, %2, 4), %1\n\ + jnz sum\n\ + emms\n\ popa" : : "S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"(g_pDDSPrimary->pitch>>1), "d"(144)); +#else + /* If you put real code here, enable the corresponding option in main() */ + assert(0); +#endif break; case 3: - __asm__ __volatile__("pusha - xorl %%eax, %%eax - movl $896, %%ebx - emms - sum3: - movq (%0, %%eax, 1), %%mm0 - movq %%mm0, %%mm1 - punpcklwd %%mm0, %%mm0 - addl $8, %%eax - punpckhwd %%mm1,%%mm1 - movq %%mm0, -16(%1, %%eax, 2) - cmpl %%ebx, %%eax - - movq %%mm1, -8(%1, %%eax, 2) - jnz sum3 - xorl %%eax, %%eax - - addl %2, %0 - decl %%edx - - leal (%1, %2, 4), %1 - jnz sum3 - emms +#if defined(__i386__) + __asm__ __volatile__("pusha\n\ + xorl %%eax, %%eax\n\ + movl $896, %%ebx \n\ + emms\n\ + sum3:\n\ + movq (%0, %%eax, 1), %%mm0\n\ + movq %%mm0, %%mm1\n\ + punpcklwd %%mm0, %%mm0\n\ + addl $8, %%eax\n\ + punpckhwd %%mm1,%%mm1\n\ + movq %%mm0, -16(%1, %%eax, 2)\n\ + cmpl %%ebx, %%eax\n\ + \n\ + movq %%mm1, -8(%1, %%eax, 2)\n\ + jnz sum3\n\ + xorl %%eax, %%eax\n\ + \n\ + addl %2, %0\n\ + decl %%edx\n\ + \n\ + leal (%1, %2, 4), %1\n\ + jnz sum3\n\ + emms\n\ popa" : : "S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"(g_pDDSPrimary->pitch>>1), "d"(144)); +#else + /* If you put real code here, enable the corresponding option in main() */ + assert(0); +#endif break; } //Niels(adjust to suit) use the asm below, or use standard memcpy/fast_memcpy etc, updateframe_v is not implemented @@@@ -418,68 +433,82 @@@@ void UpdateFrame_v() { switch(fBlitterMode) { case 1: - __asm__ __volatile__(".align 32 - cld - rep +#if defined(__i386__) || defined(__x86_64__) + __asm__ __volatile__(".align 32\n\ + cld\n\ + rep\n\ movsw" : :"S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"((g_pDDSPrimary->h * g_pDDSPrimary->pitch)>>1)); +#else + memcpy(g_pDDSPrimary->pixels, dx_buffer, g_pDDSPrimary->h * g_pDDSPrimary->pitch); +#endif break; case 2: // double scanlines - __asm__ __volatile__("pusha - xorl %%eax, %%eax - movl $288, %%ebx - emms - sumb: - movq (%0, %%eax, 1), %%mm0 - movq %%mm0, %%mm1 - punpcklwd %%mm0, %%mm0 - addl $8, %%eax - punpckhwd %%mm1,%%mm1 - movq %%mm0, -16(%1, %%eax, 2) - cmpl %%ebx, %%eax - - movq %%mm1, -8(%1, %%eax, 2) - jnz sumb - xorl %%eax, %%eax - - addl %2, %0 - decl %%edx - - leal (%1, %2, 4), %1 - jnz sumb - emms +#if defined(__i386__) + __asm__ __volatile__("pusha\n\ + xorl %%eax, %%eax\n\ + movl $288, %%ebx \n\ + emms\n\ + sumb:\n\ + movq (%0, %%eax, 1), %%mm0\n\ + movq %%mm0, %%mm1\n\ + punpcklwd %%mm0, %%mm0\n\ + addl $8, %%eax\n\ + punpckhwd %%mm1,%%mm1\n\ + movq %%mm0, -16(%1, %%eax, 2)\n\ + cmpl %%ebx, %%eax\n\ + \n\ + movq %%mm1, -8(%1, %%eax, 2)\n\ + jnz sumb\n\ + xorl %%eax, %%eax\n\ + \n\ + addl %2, %0\n\ + decl %%edx\n\ + \n\ + leal (%1, %2, 4), %1\n\ + jnz sumb\n\ + emms\n\ popa" : : "S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"(g_pDDSPrimary->pitch>>1), "d"(224)); +#else + /* If you put real code here, enable the corresponding option in main() */ + assert(0); +#endif break; case 3: // double stretch mode - __asm__ __volatile__("pusha - xorl %%eax, %%eax - movl $576, %%ebx - emms - sumc: - movq (%0, %%eax, 1), %%mm0 - movq %%mm0, %%mm1 - punpcklwd %%mm0, %%mm0 - addl $8, %%eax - punpckhwd %%mm1,%%mm1 - movq %%mm0, -16(%1, %%eax, 2) - cmpl %%ebx, %%eax - - movq %%mm1, -8(%1, %%eax, 2) - jnz sumc - xorl %%eax, %%eax - - addl %2, %0 - decl %%edx - - leal (%1, %2, 4), %1 - jnz sumc - emms +#if defined(__i386__) + __asm__ __volatile__("pusha\n\ + xorl %%eax, %%eax\n\ + movl $576, %%ebx \n\ + emms\n\ + sumc:\n\ + movq (%0, %%eax, 1), %%mm0\n\ + movq %%mm0, %%mm1\n\ + punpcklwd %%mm0, %%mm0\n\ + addl $8, %%eax\n\ + punpckhwd %%mm1,%%mm1\n\ + movq %%mm0, -16(%1, %%eax, 2)\n\ + cmpl %%ebx, %%eax\n\ + \n\ + movq %%mm1, -8(%1, %%eax, 2)\n\ + jnz sumc\n\ + xorl %%eax, %%eax\n\ + \n\ + addl %2, %0\n\ + decl %%edx\n\ + \n\ + leal (%1, %2, 4), %1\n\ + jnz sumc\n\ + emms\n\ popa" : : "S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"(g_pDDSPrimary->pitch>>1), "d"(224)); +#else + /* If you put real code here, enable the corresponding option in main() */ + assert(0); +#endif break; } SDL_Flip(g_pDDSPrimary); @ 1.2 log @Fixed wrong use of WRKSRC. @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.1.1.1 2004/07/23 19:01:41 wiz Exp $ d3 8 a10 1 --- src/ddrawsdl.cpp.orig 2002-03-26 16:02:25.000000000 +0100 d12 9 a20 1 @@@@ -174,66 +174,66 @@@@ void UpdateFrame_h() d27 1 d34 3 d62 1 d89 4 d119 1 d146 8 a153 1 @@@@ -418,65 +418,65 @@@@ void UpdateFrame_v() d160 1 d167 3 d195 1 d222 4 d251 1 d278 7 @ 1.1 log @Initial revision @ text @d1 1 a1 1 $NetBSD$ d3 2 a4 2 --- ddrawsdl.cpp.orig 2002-03-26 16:02:25.000000000 +0100 +++ ddrawsdl.cpp @ 1.1.1.1 log @Initial import of Cygne-SDL-0.1: Originally Cygne was developed by Dox as a Bandai Wonderswan (Colour) emulator for Windows systems. From version 2.1 Dox decided to release the Windows sources to the public in GPL form which allows others to use the source and hack it :) Cygne/SDL is a Cygne port using the Simple Directmedia Layer (SDL) library. Cygne/SDL is released as OpenSource under the GPL license. It uses code from the orignal Cygne (allthough a bit modified), code from the MAME NEC CPU core as well as portions from several SDLemu emulation projects. Anybody may hack the current sourcecode if they like or can make additional changes into it. @ text @@