DevkitSMSTutorial - ElOtroLado\n1 Tutorial Programación en C para Master System\n1.1 Lección 0: Instalando el entorno de desarrollo\n1.1.1 Compilador C\n1.2 Lección 1: Creando el proyecto\n1.2.1 Añadir Ficheros del devKitSMS\n1.2.2 Creamos el fichero del juego\n1.2.3 Bat de Compilación\n1.3 Lección 2: Pintar un Fondo\n1.3.1 Los graficos de la Master\n1.3.2 Una primera prueba con un fondo\n1.4 Lección 3: Scroll\n1.4.1 Scroll por Hardware en Master System\n1.4.2 Seteo de la posición del scroll\n1.5 Lección 4: Sprites\n1.5.1 Sprites en la Master System\n1.5.2 Añadiendo un sprite\n1.6 Lección 5: Animando los Sprites\n1.6.1 Preparando el spritesheet\n1.6.2 Animación sin recarga\n1.6.3 Mejorando la apariencia\n1.7 Lección 6: Animando más eficientemente\n1.7.1 Animación con recarga\n1.8 Lección 7: Añadiendo Control\n1.8.1 Añadiendo control por pad\n1.8.2 Añadiendo fisicas\n1.8.3 Aceleración y Desaceleración\n1.9 Lección 8: Sonido\n1.9.1 Añadiendo dependencias y recursos\n1.9.2 Efectos fx y opciones adicionales\n1.9.3 Como crear PSGs para la master system\nTutorial Programación en C para Master System\nLección 0: Instalando el entorno de desarrollo\nAntes de empezar nada, necesitaremos instalar un entorno de desarrollo completo. Vamos a ir por partes con ello:\nEl compilador usado para programar con el DevKitSMS es el SDCC, un compilador para microprocesadores empotrados, entre ellos el Z80. Vamos a instalarlo primero\nSe necesita bajar un build igual o superior a 3.5.5 (build #9487). Lo podéis conseguir aquí: \nUna vez instalado, entra en una consola de comandos (por ejemplo, En windows la command line o el powershell). Escribe "sdcc --version" y comprueba que se muestra el número de versión de SDCC. Si no lo hace, es probable que tengas que añadir SDCC al PATH.\nAhora toca descargar el DevKitSMS. Está alojado en . Si sabéis usar el Git, clonad el repositorio. Sino, podéis bajarlo todo como un zip en el botón verde que pone "Clone or Download".\nAbre el directorio donde has bajado el devkitSMS. Entra en el directorio ihx2sms, coge el archivo ihx2sms.exe y copialo en el directorio /bin de tu instalación de SDCC.\nHaz lo mismo con los directorios folder2c y assets2banks. Coge sus ejecutables y cópialos en el directorio /bin de tu instalación de SDCC\ndevKitSMS permite programar tanto para MasterSystem como para GameGear y SG-1000. Como de momento nos interesa la Master, coge del directorio SMSlib el fichero SMSlib.lib, y colócalo en el directorio /lib/z80 de tu instalación de SDCC.\nPara ayudarte en tu proceso de desarrollo, necesitarás un emulador con funciones de desarrollo, que te permita ver el estado de la máquina en todo momento. Hay dos buenas opciones para ello:\nEl típico emulador de master desde hace casi 20 años, tiene muchas features, pero está bastante viejuno. Lo puedes bajar de aquí: \nUn emulador bastante moderno y con muchas features, está programado en Java y es totalmente multiplataforma. Lo puedes bajar de aquí: \nUna vez bajado el emulador, podéis asociarlo a los archivos terminados en .sms\nUna herramienta que permite convertir los gráficos desde formatos modernos a binarios entendibles por la Master. La podéis bajar de aquí. . Aseguraros de guardarlo en algún directorio que tengáis en el PATH (o lo copiáis en el directorio de vuestro proyecto, como queráis).\nUna vez instalados todos estos programas, podemos avanzar a la lección 1 !!.\nLección 1: Creando el proyecto\nVamos a empezar creando un directorio en nuestra máquina donde albergaremos el codigo de nuestro proyecto. Para el tutorial voy a crear un directorio llamado elotroladogame en la carpeta documentos, pero lo podéis crear donde os plazca.\nAñadir Ficheros del devKitSMS\nAhora debemos copiar una serie de archivos al directorio del proyecto. El primero de todos es el crt0_sms.rel del directorio de devKitSMS al directorio de nuestro proyecto. A continuación copiamos el fichero SMSlib.h al mismo directorio del proyecto. El siguiente fichero es el peep-rules.txt del mismo directorio que el anterior, lo copiamos también al directorio del proyecto. Por último, copiamos los archivos PSGlib.h y PSGlib.rel al mismo directorio. Ahora deberíamos tener el directorio de nuestro proyecto de la siguiente manera:\nCreamos el fichero del juego\nComo nuestro siguiente paso, crearemos el fichero c principal para el juego, lo llamaremos game.c. Podéis crearlo con el editor de texto que os guste. Yo suelo usar Sublime Text, pero Notepad++ o Edit Plus, etc, son también buenas opciones. Para un IDE más currado, yo recomiendo CLion, pero vale pastuja.\nUna vez creado el fichero, empezaremos añadiendo la libreria de smslib, usando la directiva include de C. Seguidamente crearemos la función main. Para los que no conozcan C, todo programa que creemos empezará ejecutándose automáticamente en la función main del fichero principal. Justo antes definiremos una función llamada init_console(), que se encargará de inicializar la consola, y luego dejaremos la consola en un bucle infinito. Veamos primero el código.\nBuenooo, la cosa se ha puesto algo más complicada, ¿verdad?. Voy a explicar el codigo poco a poco. init_console es una función que hemos definido nosotros y que vamos a usar para inicializar la consola. Contiene lo siguiente:\nLa llamada a SMS_init inicializa la consola (vectores de interrupción, etc)\nLa llamada a SMS_setSpriteMode(SPRITEMODE_NORMAL) setea el modo de los sprites a normal (más información en la siguiente lección)\nLa llamada a SMS_displayOn() sirve para encender el renderizado en el VDP.\nUna vez llamada esta función, llegamos a un bucle while(1), que es un bucle infinito (1 se evalua como cierto siempre). De momento lo único que hacemos en este bucle es llamar a:\nSMS_waitForVBlank(): Esta función se queda esperando la interrupción de dibujado vertical. Esta interrupción salta cuando el haz de electrones ha acabado de dibujar la pantalla completa. Es muy útil para sincronizar la velocidad del juego, ya que esta función sincronizará la ejecución a 50 vueltas de bucle (en PAL) o a 60 (en NTSC).\nVamos a probar de compilar este pequeño código, para eso necesitamos un script de compilación.\nBat de Compilación\nEn el directorio del proyecto (elotroladogame en nuestro caso), crea un fichero que se llame compile.bat. Y le añadimos este contenido:\nLa primera linea se encarga de compilar el fichero del juego (game.c), la segunda línea linka el resultado con la librería, la tercera transforma el binario en una rom con extensión .sms, y la última línea ejecuta Emulicious y abre la rom recién creada.\nVemos lo que obtenemos...es una magnífica...¡pantalla negra!. Ojo, la rom está funcionando perfectamente, simplemente no hemos puesto nada que se mostrase en la pantalla. Eso lo haremos en la próxima lección!.\nLección 2: Pintar un Fondo\nTener una pantalla en negro no es algo que nos emocione mucho, así que vamos a intentar poner algo en la pantalla. Para eso primero tendré que explicar un poco como funciona el sistema gráfico de la Master System.\nLos graficos de la Master\nLas consolas de 8 bits y 16 bits tenían que lidiar con una gran limitación: la poca memória (RAM y VRAM) de la que disponian. Una manera de poder sobrepasar esta limitación era usando un sistema gráfico particular, los gráficos compuestos de baldosas (tiles). En la mayoría de estas consolas estos tiles eran piezas de 8x8 pixeles. Lo que se hacía era reservar una parte de la memoria para estas piezas, y luego construir los fondos y sprites colocando estas piezas como un puzzle, lo que permitía ahorrar memoría frente a guardar todos los pixeles de la memoría.\nEn el caso concreto de la master system, esta tenía una resolución típica (hay otros modos) de 256x192(32x24 tiles), y era capaz usar dos paletas de 16 colores simultaneos, a escoger entre 64 colores. Una de las paletas quedaba restringida a los fondos, y la otra podia ser usada por fondos y sprites, con lo que se podían llegar a usar fondos de 32 colores simultaneos. La master disponia de una capa dedicada exclusivamente al fondo (Background Layer), que tenía un tamaño de 32x28 tiles, en la que podíamos componer una imagen usando los tiles disponibles en la VRAM (usando además su capacidad de espejarlos horizontal y verticalmente), y sobre la que podíamos desplazar la "ventana virtual" del scroll.\nUsualmente pues, una imagen de un fondo de MasterSystem tendría tres conjuntos diferentes de información: el tileset (conjunto de todos los diferentes tiles de la imagen), el tilemap (o mapa con el tile a colocar en cada posición) y la paleta a usar (los 16 colores de la imagen)\nUna primera prueba con un fondo\nVamos a hacer una primera prueba con un fondo, para que se vea algo en la pantalla. Primero de todo, bajaros este fichero:\nCreamos una carpeta nueva dentro de nuestro proyecto, llamada gfx, y colocamos el fichero ahí. Luego creamos una carpeta llamada bank1 en la raiz del proyecto.\nAhora vamos a nuestro fichero bat, y añadimos el siguiente paso en la primera linea:\nbmp2tile.exe .\_gfx\_SegaMasterSystemTitleScreen.png -savetiles .\_bank1\_backgroundtiles.psgcompr -mirror -removedupes -savepalette .\_bank1\_backgroundpalette.bin -savetilemap .\_bank1\_backgroundtilemap.bin -exit\nEsta linea ejecutará la utilidad bmp2tile para convertir la imagen que hemos descargado a tres ficheros diferentes:\nEstos ficheros se habrán guardado en la carpeta bank1, y contendrán, respectivamente, los tiles, la paleta y el tilemap. La extensión que hemos puesto a los ficheros define el tipo de fichero. La extensión .bin indica que son binarios directamente, mientras que la extensión psgcompr, aplicable a los tiles, indica que estos están comprimidos usando la compresión "Phantasy Star Gaiden" (una compresión usada en ese juego de GameGear y replicada por los desarrolladores homebrew). Los tres ficheros, independientemente de si están comprimidos o no, están en formato binario, así que los convertiremos a ficheros c planos. Para eso usaremos la utilidad folder2c. añadiremos la siguiente línea debajo de la que hemos añadido justo antes\nfolder2c bank1 bank1\nEn esta línea le estamos diciendo que coja el directorio bank1, y convierta su contenido en ficheros c. El segundo parámetro es como queremos que se llamen los ficheros de salida. Si miramos ahora en el directorio raiz de nuestro proyecto, hay dos ficheros nuevos.\nDichos ficheros contienen los datos del fondo que acabamos de exportar, en formato C. En el fichero de cabecera .h, podemos ver las referencias al tileset, tilemap y paleta.\nAhora añadiremos un paso más para compilar, en que compilaremos el fichero bank1.c, y lo añadiremos como parámetro en el paso de linkado. La línea a añadir es esta: sdcc -c -mz80 --peep-file peep-rules.txt bank1.c\nY la linea de linkado queda tal que así: sdcc -o elotroladogame.ihx -mz80 --no-std-crt0 --data-loc 0xC000 crt0_sms.rel game.rel bank1.rel SMSlib.lib\nPor si acaso, os pongo como queda mi fichero .bat después de estos pasos (yo tengo la linea del bmp2tile descompuesta en tres, pero habría de dar lo mismo).\nVolvamos ahora a nuestro fichero game.c. Añadiremos una función nueva llamada load_graphics2vram(). Dentro de esta haremos estos tres pasos:\nCargar la paleta de fondos con SMS_loadBGPalette(backgroundpalette_bin)\nCargar los tiles comprimidos con formato PSGaiden con SMS_loadPSGaidencompressedTiles (backgroundtiles_psgcompr,0) , donde 0 es el primer tile donde empezamos a volcar el contenido.\nCargamos el tilemap con SMS_loadTileMap(0,0,backgroundtilemap_bin,backgroundtilemap_bin_size), donde los dos primeros parámetros es la posición donde empezamos a cargar el Tilemap, y el último es el tamaño del mismo (está en bank1.h).\nAñadimos arriba en los includes la referencia a bank1.h, y ponemos la llamada a nuestra nueva función justo antes del bucle. El código quedaría así:\nEs hora de probar que tal funciona la cosa con el emulador. Damos doble click a compile.bat y....\nTachán! ya tenemos un fondo en nuestra pantalla! No ha sido tan complicado, ¿verdad?\nEm la próxima lección, ¡le vamos a dar más vida con un poco de scroll!\nLección 3: Scroll\nAhora que ya tenemos un bonito fondo con el logo de Sega, es hora de que le demos una vuelta de tuerca para mejorar-lo. Aquí aprenderemos como usar el scroll por hardware que nos brinda el VDP de la Master System.\nScroll por Hardware en Master System\nUna de las características que definieron a la 3ª generación de consolas (Nes, Master system, Atari 7800....) es el hecho de que sus chips gráficos permitían la realización de scroll por hardware con una precisión de 1 pixel. En cambio, por ejemplo, la mayoría de microordenadores de 8 bit no soportaban de forma nativa la realización de scroll. En esas máquinas, el scroll debía realizar-se por software, lo que en la práctica suponía repintar todo el fondo con un cierto desplazamiento cada vez que movieramos un poco el scroll. Por esta razón muchos de los juegos de estas máquinas cuentan con scrolles lentos, o con desplazamientos de 8px.\nEn la master system, como hemos comentado, tenemos una metapantalla definida por el tilemap de 32x30 tiles, dentro de esta pantalla podemos mover libremente una ventana de 32x24 tiles(en el modo normal), que es lo se mostrará en la pantalla del televisor.\nSeteo de la posición del scroll\nVamos a definir primero un par de variables que contendrán los valores actuales de la posición del scroll. Para los que no sepáis programación, las variables son como pequeños cajones donde podemos guardar un valor que vamos a usar más adelante. Dichas variables se pueden definir dentro de una función (y solo serán accesibles dentro de esa función) o de forma global. En sistemas de 8 bits como la Master, es mejor usar variables globales y reutilizarlas en lo posible, dado que pasar variables de una función a otra resulta costoso en terminos de procesamiento.\nCada variable puede tener diferentes tipos. Por ejemplo, si definimos una variable como char, ocupará un byte (8 bits). Dicho byte servirá para representar valores de -128 a 127. Si la variable es unsigned char, servirá para representar valores de 0 a 255. Si definimos una variable como int, en cambio, esta ocupará 2 bytes (16 bits), y permitirá representar valores de -32,768 a 32,768, y si es un unsigned int, de 0 a 65535.\nDefiniremos dos variables globales para guardar la coordenada inicial de la ventana virtual de scroll, y lo haremos como unsigned char (ya que de 0 a 255 nos basta para guardar las posiciones de la pantalla virtual de 256x240). Sería algo así:\nAhora les daremos un valor inicial a dichar variables, con lo que en el main, justo antes de la llamada a init_console(), las seteamos a cero:\nY ahora actualizaremos la posición del scroll a este valor inicial, justo antes del bucle:\nEste paso es innecesario en este caso concreto, ya que el scroll siempre se inicia por defecto en la posición 0,0, pero lo dejo por claridad. Lo siguiente que haremos es actualizar la variable de la posición del scroll en cada vuelta del bucle, y posteriormente actualizamos la posición del scroll. El código quedaría así:\n¿Por que lo hemos separado por la instrucción SMS_waitForVBlank()? Esto lo hemos hecho por que como comenté en la lección pasada, esta función paraliza la ejecución hasta que se lanza la interrupción de barrido vertical, que es justo cuando la pantalla ha acabado de dibujar la línea inferior. Poniendo el seteo del scroll justo después, nos aseguramos que actualizamos el scroll mientras la pantalla no ha empezado a redibujarse, con lo que se evita un cambio de scroll a mitad del recorrido de la misma. Vayamos a probar que tal se ve esto, ¡compilemos otra vez!\n¡Ya tenemos un logo de Master System moviéndose suavemente hácia un lado!. Si os fijais en la ventana del tilemap de Emulicious, podréis ver como la "ventana virtual" se desplaza a través del tilemap. Cuando esta ventana sale por la derecha, vuelve a entrar por la izquierda, ya que actua como si estuviera en un rollo sin fín. Adicionalmente, estamos sacando ventaja del hecho de que la pantalla tiene exactamente 256 pixeles de ancho, justo el rango de nuestra variable que guarda la posición del scroll. Cuando la variable llega a un valor de 256, pasa a valer 0, pero al coincidir con la posición inicial del fondo, no nos damos cuenta de ese "reinicio" de su valor.\nVamos a añadir ahora un incremento en la posición y del scroll. Añadimos estas lineas para incrementar la variable de la posición y, y setear la posición y del scroll.\nVolvamos a darle a compilar, y vemos el resultado:\nAhora el fondo scrollea tanto en horizontal como en vertical, produciendo un efecto de scroll diagonal. En este caso, dado que el tilemap tiene 240 pixeles de altura en lugar de 256, se puede observar un pequeño salto en un determinado momento del scroll. Esto se produce por que cuando sobrepasamos el valor 240 del scroll vertical, vemos la misma posición de scroll que si estuviésemos en la posición cero. Para cuando llegamos al valor 255, tenemos el scroll justo en la misma posición que si tuvieramos el scroll en la posición 15. En el siguiente frame, desbordamos el valor máximo de la variable, y esta pasa a valer 0, con lo que el scroll da un salto de 15 pixeles "para atrás". Si lo queremos ver mejor, podemos quitar el seteo horizontal, y dejar que solo se actualice el scroll verticalmente:\nLe damos a compilar, y ahora se puede ver el efecto de salto que se produce, de una forma más clara:\nY esto ha sido de momento todo por esta lección. ¡¡La próxima, empezaremos a jugar con sprites!!\nEdit: Añado fichero con el código hasta la lección 3\nLección 4: Sprites\nLa Master System, como la NES y a diferencia de algunos ordenadores de 8 bits como el Amstrad o el Spectrum, permite la gestión de sprites directamente por medio del hardware. Esto tiene una gran ventaja, ya que el propio sistema es el que se encarga de gestionar el repintado de sprites sobre los fondos, la superposición de los sprites entre ellos gracias a la prioridad, etc. Juntamente con el scroll por hardware que ya hemos visto en la anterior lección, los sprites por hardware ayudaron a definir los videojuegos de esta generación, con scrolles rápidos con multitud de sprites moviéndose. Y también hizo míticos algunos de sus problemas, como los famosos parpadeos de sprites.\nSprites en la Master System\nEn la master hay dos tipos de sprites, los de 8x8 pixeles, y los "tall sprites", que son de 8x16 (dichos modos son excuyentes, así que no se pueden tener sprites de 8x8 y de 8x16 mezclados). En total permite la gestión de 64 sprites simultáneos, pero con una importante limitación, no puede haber más de 8 sprites en la misma línea horizontal de dibujado (El VDP, cuando va a empezar a dibujar un scanline, solo cachea los primeros 8 sprites que encuentra). En la Master todos los sprites comparten una misma paleta de 16 colores (15 colores + transparente), lo que puede parecer una limitación importante (La nes permite escoger entre 4 paletas de 3 + transparente, lo que en mi opinión resulta más limitante aún). Este color transparente es siempre el primer color, color zero, de la paleta.\nObviamente, el hecho de que los sprites sean de 8x8 o 8x16 obliga a tener que usar varios de ellos para ser capaces de animar figuras que tengan un tamaño acceptable para el juego. Eso es lo que provoca que se agoten tan rápidamente los sprites disponibles, especialmente por línea. Dado que en la misma línea siempre se dibujaban los 8 sprites con la mayor prioridad, si teníamos un juego en el que abundaban los momentos con más de 8 sprites en línea, habría varios de estos sprites que nunca se llegarian a dibujar. Una manera de solucionar esto era ir alternando las prioridades de los sprites cada frame, haciendo así que se fueran pintando alternativamente, y provocando el famoso parpadeo.\nAñadiendo un sprite\nVamos a coger un sprite para usar en nuestra primera prueba. He cogido un sprite del juego SpyvsSpy, al que he recoloreado un poco para darle algo más de vidilla. Bajaros el fichero que he colgado aquí, y lo colocamos en el directorio gfx\nSi os fijais en el tamaño que tiene, podemos ver que es de 16x24 pixeles, por lo que necesitaremos 2x3 sprites para representarlo. La librería no incluye ningun tipo de soporte para "metasprites", peor esto se puede solucionar de forma bastante fácil, aunque de momento lo haremos a mano. Vamos a añadir unas líneas para exportar los gráficos del sprite.\nSi os fijais, para ahorrar unas líneas he combinado la exportación de tiles, tilemap y paleta en una sola línea, y lo he cambiado a si mismo en la exportación del fondo que ya teníamos. Es exactamente lo mismo, solo que en la lección anterior había preferido ponerlo en líneas diferentes para que se entendiera mejor. Si examinais el fichero bank1.h, vereis que ahora ya tenemos las referencias a los tiles y paleta del sprite. Vamos a empezar por un primer paso, vamos a cargar la paleta de los sprites justo después de cargar la de los fondos, y luego añadiremos la carga de los tiles justo después de la carga de los tiles de fondo.\nHe definido un par de constantes para indicar las posiciones de la memoria de vídeo donde vamos a cargar los tiles, dado que cargaremos los sprites de tiles al principio de la memória, y los de sprites a partir de la posición 256. Si ejecutamos el juego con el emulicious, podremos ver como los tiles del sprite han sido cargados. Ahora tocará definir los sprites y empezar a usarlos. Vamos a crear un player y a colocarlo sobre el fondo.\nVamos a crear un par de variables que guardaran la posición del player, las llamamos player_x y player_y, y ahora añadiremos unos pasos justo antes y después de la instrucción SMS_waitForVBlank().\nLa función SMS_initSprites() sirve para inicializar y resetear el sistema de sprites, cosa que hacemos cada frame. Seguidamente llamamos a draw_main_character(), una función definida por nosotros (y que os explicaré más adelante) que se encarga de crear todo los sprites del player. Seguidamente llamamos a SMS_finalizeSprites(), lo que indica que ya hemos definido todos los sprites que hay en este frame. Después de VBlank, que nos marca que la pantalla acaba de dibujarse, llamamos a SMS_copySpritestoSAT(), que copia todos los sprites a la SAT (Sprite Attribute Table). Ahora queda la mandanga buena, que es definir la función draw_main_character:\nNo os asustéis por esta función, es la primera cosa que tiene pinta de complicada de todo el tutorial. En esta función estamos usando dos bucles For anidados. Un bucle For ejecuta un cierto número de veces el código contenido en su interior, dependiendo de la condición definida en él. En este caso, tenemos un bucle exterior que da 3 vueltas y un bucle interior que da 2. En cada vuelta del bucle interior hacemos una llamada a SMS_addSprite(), que coge tres parámetros: posicion x, posicion y y tile a pintar. Nuestra idea es hacer que se añadan los 6 sprites necesarios para dibujar el player, actualizando las posiciones y los tiles que son necesarios dibujar. Una apunte importante, la expresión i << 3 indica que hagamos 3 desplazamientos de bit a la izquierda (si, lo sé, suena a chino), y es una manera más eficiente de hacer i*8. O sea, cuando veais una expresion tipo x << 3, pensadla como x*8, una x << 2 es x*4, etc.\nLa posicion x con la que hacemos la llamada se calcula como la posición x original del player, sumando el número de vuelta del For interior multiplicado por 8, la posición y se calcula como la posición y original del player más el número de vuelta del For exterior multiplicado por 8. Por último, el tile se calcula como la posición inicial de los tiles de sprite sumando el numéro de vueltas exteriores multiplicado por dos, y sumando el número de vueltas interiores.\nVale, ahora que creo que me he quedado solo, voy a poner una pequeña tabla para que se entienda:\nnúmero de Tile\n1 player_x player_y SPRITE_TILES_POSITION\n2 player_x+8 player_y SPRITE_TILES_POSITION + 1\n3 player_x player_y+8 SPRITE_TILES_POSITION + 2\n4 player_x+8 player_y+8 SPRITE_TILES_POSITION + 3\n5 player_x player_y+16 SPRITE_TILES_POSITION + 4\n6 player_x+8 player_y+16 SPRITE_TILES_POSITION + 5\nComo véis, lo que se consigue con estos dos bucles es dibujar los 6 sprites, empezando por la esquina superior izquierda, y acabando por la inferior derecha, que coincide con el orden en el que exporta los tiles la utilidad Bmp2Tile. Vamos a ver como se va a ver nuestro nuevo protagonista. Compilemos!\nPodés ver que tenemos ahora un pequeño protagonista quietecito en la pantalla. Si quisieramos, podemos comentar la actualización del scroll en el main para que podamos ver más claramente a nuestro pequeño protagonista. Vamos a darle algo de movimiento. Añadid este cambio en el bucle del main:\n¡¡Ya tenemos nuestro protagonista dándose un paseo por la pantalla!! Lástima que de momento vaya un poco tieso y quieto. Vamos a arreglar eso en la próxima lección.\nPD: El link a los materiales de la lección 4: https://www.dropbox.com/s/bnbakqfxihf7tna/elotroladotutolesson4.zip?dl=0\nLección 5: Animando los Sprites\nEn la última lección dejamos a nuestro amigo Spy deslizándose como si estuviera en una cinta transportadora lo qual como un primer acercamiento no está mal, pero no quedaría muy bien en un juego de verdad. Vamos a animar su sprite para darlo un poco de vidilla.\nPreparando el spritesheet\nPrimero de todo, bajaros la imagen que os adjunto a continuación, y colocadla en el mismo directorio gfx. Esta imagen es lo que llamamos un spritesheet, que contiene diversas animaciones del personaje principal. La master, a diferéncia de la NES, no tiene capacidad de espejar los sprites de los personajes (aunque si de los fondos), por lo que hemos de colocar el personaje dos veces en el spritesheet, uno para cada sentido.\nVamos a exportar el spritesheet entero, para ello simplemente habéis de cambiar el nombre del fichero de la cuarta línea del compile.bat, y aseguraros que están puestas las opciones de noremovedupes y nomirror.\nSi ahora intentáis ejecutar el juego, veréis como nuestro muñeco ha quedado totalmente deformado. Una ojeada a la ventana donde vemos el contenido de la VRAM nos da la clave: Al haber exportado los nuevos frames, la posición de las partes del cuerpo de nuestro muñeco han cambiado.\nAnimación sin recarga\nVamos a hacer un pequeño cambio en la manera de calcular los tiles que muestran nuestro muñeco, lo haremos en una función nueva a la que llamaremos draw_main_character2 (nos interesa mantener la función vieja por un tiempo). Vamos a añadir unas cuantas constantes y hacer la función más generica:\nLas cuatro constantes de arriba definen el número de frames y tiles que componen cada frame, y el número de frames contando ambas direcciones, lo que nos resulta muy util para saber cuantos tiles saltar para buscar las partes inferiores del cuerpo.\nLa implementación de esta nueva función de dibujado del protagonista es la siguiente.\nDicha implementación no es la mejor por que se puede hacer por que incluye multiplicaciones, pero lo he dejado así de momento para que quede más claro. Como véis, he definido adicionalmente una variable llamada current_frame, que indicará el número de frame de la animación del protagonista en el que nos encontramos actualmente, por lo que tomará como valor 0, 1 o 2, para referirse a cada uno de los tres frames de los que disponemos. Lo inicializaremos a cero en el mismo sitio donde inicializamos las variables referidas al scroll, y lo incrementamos en cada llamada de draw_character_2. Vayamos a compilar y ejecutar, a ver que tal.\n¡Uf!, parece que a nuestro espía le ha cogido el baile de San Vito. El problema con esta implementación es que cambiamos el frame de animación por cada barrido de la pantalla, con lo que nuestro espía da 20 pasos completos por cada segundo. Esto es demasiado, así que vamos a hacer estos pequeños cambios que hay a continuación.\nHemos definido una nueva variable más, que es como un contador general de frames ejecutados. La he definido de tipo unsigned char (valores de 0 a 255) por que de momento ya me está bien que se vuelva a setear a cero cuando llegue a 255, pero puede ser que en un juego de verdad nos interese más que el tipo de la variable sea un unsigned int. En todo caso, la condición estraña del if se lee como: Cuando el resto de dividir la variable entre 16, sea igual a cero. Esto quiere decir que la condición se cumplirá cada 16 frames, y será entonces cuando se cambie el frame del personaje. Vayamos a probar ahora a ver que tal. ¡A compilar!\n¡Mucho mejor! Ahora la animación tiene mucho más sentido con el movimiento del muñeco. Vamos a hacer un par más de cambios, y el efecto va a mejorar aún más!. ¡Ojo que vienen curvas!\nVamos a intentar ahora que se mueva tambien el fondo a la vez, y aparte, que cambie la dirección a la que anda el muñeco cada cierto tiempo. Para poder hacer esto, crearemos una nueva variable que contiene la dirección actual, y la llamamos direction. Definimos dos constantes, DIRECTION_LEFT i DIRECTION_RIGHT y les damos como valor 0 y 1. Esta variable la inicializamos a DIRECTION_RIGHT al inicio, y la iremos cambiando de valor en el bucle principal cada vez que el framecounter llegue a 255. En ese mismo bucle principal actualizaremos las posiciones del scroll y del player, dependiendo de la dirección a la que estemos mirando. Por otro lado hemos de cambiar también la función que dibuja el player, para tener en cuenta la dirección a la que estamos mirando. El codigo final va a ser así:\nLe damos a compilar y ... ¡voilá! Ahora nuestro personaje es capaz de andar en las dos direcciones! Aunque aún no parece un juego, nuestro experimento ya empieza a tener un aspecto más trabajado.\nEn la siguiente lección veremos de que forma podemos optimizar más la gestión de la animación, pero de momento os dejo aquí un link a los materiales de esta lección:\nLección 6: Animando más eficientemente\nEn la pasada lección, para animar a nuestro protagonista cargamos todo su spritesheet en memoria simultaneamente. Esta aproximación tiene un problema cuando se tratan de animaciones en las que cada frame es muy grande y hay muchos frames. ¡Recordad que solo tenemos unos 200 y poco tiles para nuestros sprites!. Para mejorar esto, ¡vamos a hacer animaciones con recarga!\nAnimación con recarga\nVamos a usar una variación de los recursos que usamos en la lección anterior, van a estar ordenados de una manera diferente para que podamos sacar ventaja de la carga en la VRAM. Hechemos un ojo a la imagen que vamos a usar:\nComo veis, aquí los tiles están colocados en grupos de dos, y para cada frame colocamos primero los dos superiores, luego los dos inferiores, etc. Si ahora substituimos la imagen de la anterior lección por esta, veremos que pasa si ejecutamos (he cambiado el nombre de la imagen del compile.bat por spritesheet2.png):\nDe una forma parecida a como pasaba en la anterior lección, el cambiar el orden de los tiles provoca que los gráficos salgan de forma incorrecta. En este caso, hemos de cambiar como pintamos los tiles, debido a que ahora siempre pintaremos los mismo tiles. Dejaremos la funcion draw_main_character de la siguiente manera (he guardado la vieja llamandola draw_main_character2):\nY si ahora ejecutamos, tenemos a nuestro amigo el espia perfectamente quieto, pero saliendo bien dibujado.\n¿Por que estamos haciendo esto de esta manera? El objetivo ahora es dibujar nuestro protagonista siempre con los seis primeros tiles de la parte de la VRAM dedicada a los sprites. E iremos actualiando el contenido de esa parte de la VRAM en cada frame. ¿Que ganamos con eso? que en lugar de ocupar 36 tiles (6 x 6) con todas las animaciones del protagonista, solo gastamos 6. La desventaja es que vamos a gastar tiempo de proceso en cargar esos tiles, con lo que no podemos hacer esto con, por ejemplo, 5 enemigos a la vez.\nVayamos a ver que cambios vamos a hacer. Primero de todo, necesitamos que los tiles de los sprites no esten comprimidos, dado que nos interesa rapidez y que no se pierda tiempo con la descompresión. Vamos a ir al directorio bank1, borraremos el fichero spritetiles.psgcompr, y cambiaremos el compile.bat para grabar los sprites con el nombre spritetiles.bin.\nSi ahora probamos de compilar, tendremos un error de compilacion, dado que ha cambiado el nombre del recurso que estábamos usando. No os preocupeis, esto lo arreglamos rápidamente cambiando la función de carga de tiles:\nAhora vamos a proceder a cambiar el sistema de animación. Ahora solo necesitamos cargar los 6 tiles de la aniimación a la vez, así que la función de carga la volvemos a modificar para cargar solo 6 tiles. Dado que cada tile ocupa 32 bytes, y queremos cargar 6 tiles, el tamaño es 192. Para no poner el número directamente, vamos a hacer un par de defines al principio. Los defines y la función quedan así:\nY vamos a cambiar otra vez como funciona la función draw_main_character. Si os fijáis, ahora se va a volver a parecer bastante a la función que teníamos definida antes, y que hemos guardado como draw_main_character2. Primero de todo vamos a calcular qual es el primer tile para un determinado frame de la animación, y a partir de ahí cargar los seis tiles subsiguientes. Para calcular ese primer tile tenemos que tener en cuenta tanto el total de tiles que contiene la animación hacia una dirección, como el número de tiles que hay en cada frame. La función quedaría así:\nAquí uno de los puntos clave es esta expresión: &spritetiles_bin[frame_offset]. Aquí estamos cogiendo un punto inicial del array más adelante que la posición 0 (el símbolo & sirve para coger el puntero a esa posición). Vamos a probar que tal se ve la cosa...\nPerfecto! Como podéis ver, ahora solo estamos gastando seis tiles por cada frame de la animación, así que tenemos muchos tiles disponibles para usar en los demás sprites del juego!. La desventaja, como he comentado antes, es que no te puedes permitir recargar muchos tiles en un mismo frame, por que es un proceso intensivo que consume bastante proceso.\nEn la siguiente lección añadiremos la capacidad de controlar a nuestro personaje!. De momento os dejo con este link con el material de esta lección:\nLección 7: Añadiendo Control\nDe momento todo lo que hemos hecho solo nos permite tener una bonita animación corriendo por la pantalla, pero eso se parece poco a un juego real. Para hacer que se parezca más, añadiremos la posibilidad de poder mover al muñeco usando el pad, y que tanto el sprite como sus animaciones, como el fondo, reaccionen a nuestro input, moviéndose de la forma que toca.\nAñadiendo control por pad\nTenemos varias funciones de lectura de Pad, que permiten saber que direcciones se han pulsado en un determinado momento, cuales se han soltado, cuales es el status de todas ellas, etc. Sus prototipos, que podemos consultar en SMSlib.h, son los siguientes:\nY tenemos justo a continuación una serie de definiciones de las diferentes teclas que podemos chequear:\nVamos a añadir un cambio en el bucle principal, para que podamos cambiar la dirección en la que movemos el muñeco. Vayamos al main y cambiemos el punto donde cambiabamos la dirección cada ciertos frames. La dejamos así:\nAhora le damos a compilar, y ya podemos cambiar la dirección a la que se mueve el muñeco!:\nLo malo del estado en que hemos dejado esto, es que en el fondo no tenemos un verdadero control del muñeco, solo estamos cambiando su dirección de forma un tando aleatoria. Vamos a cambiar esto para tener un control más preciso. Uno de los primeros pasos es cambiar como funciona el movimiento del fondo. Vamos a hacer que el fondo solo avance cuando el muñeco se encuentra cerca de una de las esquinas, he cogido unos valores a ojo, de manera que cuando el player está más a la derecha que la coordenada 200, o más a la izquierda de la coordenada 56, es el fondo el que se desplaza, y sinó, es el muñeco el que lo hace. La función main la dejaríamos así:\nAhora le damos a compilar, y....¡funciona perfectamente! Ahora el movimiento tiene un poco más de sentido. Vamos a arreglarlo un poco más para que nuestro protagonista no está andando todo el rato, y se pare cuando no estamos pulsando una dirección concreta. Definiremos una variable llamada player_vx que indica la velocidad horizontal de nuestro protagonista. La definiremos como signed char por que puede ser positiva o negativa (nos mueve a la derecha o a la izquierda):\nY cambiamos la lógica de como reaccionamos a las pulsaciones del teclado, en vez de usar SMS_getKeysPressed, usaremos SMS_getKeysStatus, que nos permite conocer las direcciones que "siguen" pulsadas.\nY por último vamos a cambiar también como actualizamos los frames. A partir de ahora, el hecho de haya velocidad horizontal y no sea zero, es lo que utilizaremos para determinar que debemos ir cambiando de frame, y si la velocidad es zero, nos setearemos en el frame 0 de la animación. El código queda así:\nVamos a probar que tal ha ido la cosa, compilamos y aparece nuesto simpático personaje quieto como un palo:\nSi ahora empezamos a dar a derecha o izquierda, veremos como nuestro protagonista empieza a andar en la dirección que sea sin ningún tipo de problema.\n¡Y funciona perfectamente! Sería una lástima dejarlo así, ¿no?\nVamos a darle un toque adicional a las físicas añadiendo la posibilidad del salto. Para ello deberemos definir una nueva variable que nos indique la velocidad vertical, la llamamos player_vy. Dicha variable la definimos justo al lado de la velocidad horizontal, y la inicializamos a 0. He añadido también dos definiciones para las posiciones iniciales del player, que voy a usar de momento para controlar la caída durante el salto:\nTambién he cambiado como gestiono el input de las teclas. Ahora uso las funciones SMS_getKeysHeld() y SMS_getKeysPressed(), por que voy a diferenciar el "mantener" una tecla apretada, del realizar una sola pulsación. Aparte, dejo de usar el operador de igualdad para las comparaciones, ya que me interesa que pueda haber más de una tecla pulsada a la vez. Así que usaremos el operador de AND binario "&"\n¿Que estamos diciendo aquí? que si la velocidad vertical es 0 (estamos en el suelo) y pulsamos el boton 1, le asignaremos al player una velocidad vertical de -2. Vamos a tratar ahora esa velocidad vertical:\nLo que estamos haciendo aquí es, si la velocidad es distinta de zero, y nuestro personaje está en su posición inicial, o más arriba, aplicamos la velocidad a la posición actual. En caso de que nos hayamos pasado de su posición inical, recolocamos el player en su posición inicial, y seteamos la velocidad vertical a cero. Ya solo nos queda un paso. Para que un salto sea mas o menos realista, necesitamos que esta velocidad vertical vaya disminuyendo al subir y vuelva a incrementarse al bajar. Esto lo haremos en la función draw_main_character:\nVale, ahora le damos a compilar, y tendremos a nuestro muñeco que será capaz tanto de saltar hacia arriba como hacia adelante. Un gran progreso!!\nOs dejo aquí un zip con todo el material de esta lección, y para la próxima le vamos a añadir un poco de sonido a nuestro mejunje.\nLección 8: Sonido\nVamos a dar un buen cambio de tercio y nos vamos a dedicar a añadir algo de sonido a nuestro juego de prueba. La Master System cuenta con un chip SN76489 para generar el sonido, con tres canales de onda cuadrática programables y un canal de ruido programable. devKitSMS proporciona el sonido usando la libreria PSGLib del mismo autor, sverx, y que nos viene de perlas para nuestros experimentos.\nAñadiendo dependencias y recursos\nEl formato en que se encuentran grabados se conoce como psg, y podéis generaros vuestras própias músicas usando un tracker que los soporte, o soporte vgm y luego los pasais por un conversor.Para nuestra prueba, bajar los dos ficheros psg que os indico a continuación. Uno de ellos es una música y el otro un efecto de sonido, obra de mi compi David Sánchez "Murciano".\nAhora cogéis estos dos ficheros y los ponéis el directorio bank1. La utilidad folder2c se encargará de convertir los ficheros en arrays de c usables por nosotros.\nSi ahora lanzamos una compilación e inmediatamente después abrimos el fichero bank1.h, podremos ver que ya han aparecido los recursos convertidos.\nVale, vamos a meternos en harina. Primero de todo, añadimos a nuestro fichero la cabecera de la PSGlib. Si no la tenemos descargada, está en un subdirectorio dentro del mismo repositorio del devkitSMS. Asegurémonos que tanto PSGlib.h como PSGlib.rel están en el directorio base de nuestra prueba. Añadimos la cabecera:\nSi le echáis un ojo, veréis las operaciones que nos permite dicha librería:\nModificamos nuestro fichero .bat para añadir la libreria de sonido en las dependencias a la hora de compilar el main, justo después de cuando añadimos la SMSLib, la llamada a compilar queda tal que así:\nAhora, justo antes del bucle principal del main, añadimos una llamada a PSGPlay(), que es la función que sirve para iniciar la reproducción de una canción.\nY añadimos, justo después del VBlank, una llamada a PSGFrame(). Dicha llamada, lo que realiza, es la ejecución de un frame de la canción. Como queremos que la ejecución de la canción vaya al ritmo que toca, ponemos la llamada justo después del VBLANK, por lo que va sincronizada con la velocidad del juego.\nLe damos a compilar y...¡ya tenemos una magnífica música de David "Murciano" sonando en la master!\nEfectos fx y opciones adicionales\nVamos a incluir también el efecto de sonido que os he pasada antes. Hemos de realizar solo dos cambios muy tontos. Primero de todo, incluiremos la llamada PSGSFXPlay() cuando nuestro protagonista vaya a dar un salto:\nEn el segundo paramétro estamos pasando el canal que vamos a usar para la reproducción del efecto de sonido, hay dos disponibles SFX_CHANNEL2 y SFX_CHANNEL3, y la opción de hacerlo sonar en dos a la vez SFX_CHANNELS2AND3. Recordad que cuando sacamos un efecto de sonido por un canal, ese canal queda "ocupado" durante el tiempo que dura el efecto, con lo que perturba a la música que esté sonando en ese momento. Bueno, ahora solo nos queda añadir la llamada a PSGSFXFrame() justo al lado de donde llamamos el PSGFrame().\nVale, le damos a compilar y...¡ya tenemos un efecto sencillo de sonido sonando!. Es ideal poner la llamada a reproducir un SFX en algún lugar del código que no se ejecute muchas veces seguidas, ya que eso produciría un sonido de repetición bastante desagradable. Vamos a añadir un efecto mas. Existe una función adicional que se llama PSGSetMusicVolumeAttenuation, que sirve para modificar el volumen de la música. Dicha función accepta valores desde 0 (ninguna atenuación) a 15 (silencio). Vamos a añadir una variable al inicio y la inicializaremos a cero:\nY luego añadimos en el main un poco de código para que vaya cambiando la atenuación cada 64 frames. Lo hago cada tantos frames por que en las pruebas que he hecho, si cambias la atenuación cada frame o cada dos o tres, distorsiona bastante el sonido.\nY ahora le damos candela, y ya está! ya tenemos un efecto nuevo para el sonido!.\nComo crear PSGs para la master system\nVoy a irme un poco por la tangente ahora con un pequeño tutorial sobre como exportar canciones desde un tracker. Hay varias maneras de generar esas canciones, pero todas incluyen en generar un fichero en formato VGM (Video Game Music) y posteriormente convertir dicha canción al formato PSG, que es el que usa la librería.\nEn mi primera prueba, he usado la aplicación mod2psg. Dicha herramienta os permite abrir los antiguamente conocidos como "modulos" hechos con algún tracker, y convertirlos a vgm. Podéis encontrar la herramienta en: http://www.smspower.org/Music/Mod2PSG\nLuego he cogido un mod bajado de internet. El formato acceptado es el .MOD de 4 canales, el típico de los primeros tiempos del amiga:\nAbrimos dicho mod con la aplicación MOD2PSG, y le damos a exportar a vgm.\nAhora voy a usar las herramientas que se encuentran en el repositorio de la libreria PSGlib para convertir este vgm en un PSG. Para vuestra comodidad, he puesto las tres herramientas en un directorio llamado tools en el proyecto. Primero uso vgm2psg:\nAhora vamos a usar la herramienta llamada psgcomp para comprimir la información contenida en este psg, de manera que podamos rascar unos cuantos kbs (que van muy preciados en un cartucho). Si miramos, el psg que hemos sacado ocupa 11 kb. Le pasamos la herramienta de compresión:\nY nos queda un fichero justo por debajo de los 5 kbs! Vamos a probar que tal si lo incluímos en el juego. Copiamos el psg comprimido al directorio bank1, y cambiamos el código del main de la siguente forma:\nCompilamos, y ya podemos escuchar la nueva música sacada desde un mod!\nOtra alternativa de la que disponemos es la de usar un tracker, como Deflemask, para componer nuestras propias canciones, y luego crear el PSG para usarlo en nuestros juegos. El citado deflemask es uno de los trackers más populares actualmente, y permite generar tracks para multitud de consolas. Está disponible en descarga gratuita en:\nVamos a coger una de las canciones de ejemplo que están disponibles allí, y la exportaremos para usarla en nuestro juego. He escogido una llamada animeopening, y la exporto como fichero vgm.\nAhora el fichero vgm lo convertimos igual que antes, a psg.\nLe paso ahora la herramienta de compresión:\nY muevo el fichero resultante al directorio bank1, modifico el main.c tal que así:\nCompilamos y .... ¡ya tenemos la música funcionando perfectamente en nuestra pequeña demo! Para escucharla mejor podéis comentar las líneas referentes a la atenuación que hemos implementado antes.\nOs dejo aquí el zip con el código y las utilidades de esta lección: https://www.dropbox.com/s/n0g9ijnvw1jku46/elotroladotutolesson8.zip?dl=0\nObtenido de «http://www.elotrolado.net/w/index.php?title=DevkitSMSTutorial&oldid=377095»


Bolsa para comprar de yute con bolsillo de algodón - Seriandaluza\nPágina de Inicio ARTÍCULOS SIN PERSONALIZARBOLSASBOLSAS DE YUTEBolsa shopper de yute y algodón\nBolsa shopper de yute y algodón\n〉Bolsa de yute con bolsillo frontal para poder hacer la serigrafía.\n〉Asas en algodón reforzado.\n〉Longitud asa: 55 cm.\n〉Capacidad: 21 litros\nMedidas: 42 x 33 x 19 cm\nMaterial: 100% Yute laminado / 100% Algodón\n> VENTA DESDE 1 UNIDAD LISAS O PERSONALIZADAS.\nPara pequeñas cantidades: grabado láser\nPara grandes cantidades: serigrafía\nBolsa shopper de yute y algodón cantidad\nSKU: LI-W427 Categorías: ARTÍCULOS SIN PERSONALIZAR, BOLSAS, BOLSAS DE YUTE\nBOLSAS de yute y algodón para compras\nBolsa para comprar de yute laminado con bolsillo frontal de lona de 100% algodón con tinte ecológico para poder personalizar.\nAsas en algodón reforzado.\nLongitud de asa: 55 cm\nMaterial: 100% Yute laminado / Bolsillo: 100% lona de algodón\nÁREA 1 – Bolsillo frontal\nÁrea máxima de impresión: 360 x 220 mm\nLÁSER (pequeñas cantidades)\n〉PARA HACER LA COMPRA\nOlvidadas quedan las bolsas de plástico. Con las bolsas de yute transportarás cómodamente tu compra diaria.\nDate un caprichito y personalízala a tu gusto para lucir una bolsa para comprar única.\nIdeales para regalar con el diseño que tú quieras.\nTe mostramos una bolsa ya personalizada para regalar en el Día de la Madre.\n〉PARA CONSUMIDORES PREOCUPADOS POR EL MEDIOAMBIENTE\nEl yute es un material ecológico ideal para sustituir las perjudiciales bolsas de plástico.\nEl cultivo de esta fibra vegetal es respetuoso con el medio ambiente, y el yute se puede cosechar rápidamente. Proviene del árbol Corchorus Capsularis, que se cultiva en la India. El yute no requiere productos químicos para crecer, y su cultivo no afecta al ecosistema. Se puede cosechar cada seis meses, y no hace falta cortar al árbol que lo produce durante la cosecha.\nTe contamos que el uso del yute como tejido no es una novedad. Éste se ha utilizado tradicionalmente en el transporte y almacenamiento de productos agroalimentarios.\nAhora, aparte de este uso, el yute se utiliza con más creatividad en la fabricación de bolsas muy variadas y con múltiples utilidades: para la compra, para la playa, fundas para botellas, envases para regalos…\n〉PARA CONSUMIDORES QUE ADEMÁS SE PREOCUPAN POR LA IMAGEN\nCuando quieres tener un detalle con alguien no solo debes pensar en el regalo en sí mismo sino también en cómo se lo ofrecerás. Un obsequio con una buena presentación dice mucho más que el mismo sin que hayas cuidado los detalles.\nPor eso te ofrecemos esta bolsa regalos para que tus obsequios tengan una presentación elegante. Además, tendrán una práctica bolsa para multitud de ocasiones.\nPERSONALIZACIÓN MEDIANTE GRABADO LÁSER PARA PEQUEÑAS CANTIDADES.\nPara grandes cantidades personalización mediante serigrafía. Ponte en contacto con nosotros para obtener más información.\nVer todos los modelos de bolsas de yute.\nCONSEJOS DE CONSERVACIÓN: Lavado a mano solo pasando una esponja.\nSé el primero en valorar “Bolsa shopper de yute y algodón” Cancelar la respuesta\nBloc de notas Raimok\n1,29€ + INFO\n0,21€ + INFO\nBloc de notas Hertes – PERTEGAZ-\n1,24€ + INFO\n30,60€ – 35,95€


Mecánica y cocina rudimentaria - LA NACION Mecánica y cocina rudimentaria - LA NACION\nLA NACION | LA NACION revista | Experiencias\nMecánica y cocina rudimentaria\nSon innumerables las historias que abrazan mis muchos años de trajinar la Patagonia austral, ya sea por carretera, enripiado, trillo, sendero, vadeo, sirga, bote, esquí o a pie.\nA propósito de los objetos de gallina, hace más de treinta años un pequeño avión Twin Otter de LADE en el que viajábamos quedó averiado en la pista de tierra de Alto Río Mayo, en Chubut. Descendimos al pueblo y mientras buscábamos transporte para continuar viaje (una vieja camioneta F100) nos sentamos con mi novia y una amiga a almorzar en un restaurante del pueblo. El mozo, sin menú, nos ofreció de palabra milanesas con ensalada, a lo que respondimos al unísono que sí. Al poco tiempo regresó y nos preguntó si queríamos las milanesas con objetos o sin objetos. Inmediatamente le pregunté a qué se refería. Me guiñó un ojo y al oído me dijo... ¡huevos fritos! Consideró que los oídos de mis bellas acompañantes no merecían escuchar tan indigna palabra\nCrédito: Ilustración: Flor Sánchez Elia\nTerminado el almuerzo, sin poder contener risas y carcajadas por la solemne consideración, reanudamos el andar en la vieja camioneta por un camino polvoriento. Las jóvenes adelante, al resguardo del conductor, y yo en la caja, sentado sobre una llanta, mirando el desierto patagónico.\nAl vadear un río y golpear contra una piedra bocha, un estruendo grave hizo detener la marcha. Nos encontrábamos en una de aquellas regiones desérticas y ventosas serpenteadas por los ríos que tienen naciente en las altas cordilleras. El conductor, luego de una veloz mirada entre las ruedas, se pronuncio: Se partió el palier. Para recorrer estas tierras con amabilidad es preciso tener tiempo y paciencia y saber amoldarse a la magnífica adversidad. Con gran preocupación pregunté, mirando ya la hora tardía y la desolación del camino: ¿Qué vamos a hacer? El hombre, con una enorme sonrisa, me contesto: ¡Cambiamos el palier! Así, desenfundó de una rotosa arpillera una pieza nueva mientras me decía que en la Patagonia siempre hay que tener un palier de repuesto, y sacando su caja de herramientas se dispuso al arreglo.\nNosotros, mirando el atardecer sentados sobre la pala de una topadora de vialidad que se encontraba al costado del camino, felices de tener un conductor precavido y bien dispuesto. Ya con la última noche y luego de varios vadeos, el hombre nos depositó a salvo en destino, donde pernoctó y procedió a regresar a la mañana siguiente luego de un copioso desayuno.\nPuedo aseverar que el ingenio y la habilidad de los habitantes de estas tierras realzan la condición y espíritu humano, demostrando que siempre es mejor abrazar los contratiempos y buscar dignidad en los peores momentos para desmantelar los infortunios con parsimonia cordillerana. Paso a paso, como el tiro imbatible de una yunta de bueyes. Lo miré alejarse hasta que desapareció, lleno de admiración.\nAsí la adversidad puede ser extensiva a la cocina, llegar a casa para preparar un menú de bajo presupuesto parece difícil, pero debiera siempre ser un premio, ya que a veces cocinar con productos caros lleva al cocinero a un intento de estar a la altura de receta y componente, complicando el hacer o elongando la receta hasta lugares desacertados. Si en el canasto de las verduras encontramos papas, ajo y cebollas y en la alacena descansan magníficos algunos objetos de gallina, podemos hacer una épica tortilla de sartén negra con perejil, un soufflé de papas acebollado o unas papas hervidas y pisadas con huevos escrachados.\nMecánica y cocina rudimentaria deben ser materia de agrado.\nQueda una vez más demostrado que la vida en la Patagonia puede ser solitaria y ventosa, pero que estas tierras crían mujeres y hombres heroicos que abrazan desventura y alegría por igual. Precavidos y sonrientes.\nLA NACION revista | Experiencias


Las estrategias de relación con el cliente | Sugoru | A blog by Susana Gonzalez Ruiz\nPese a que en las empresas se repite la frase “el cliente es lo primero”, lo cierto es que hay que reconocer que algunos clientes son más importantes que otros. Algunos clientes realizan mayores compras o son más conocidos y, por lo tanto, no hay que esconder el hecho de que su fidelización es mucho más vital para la empresa que la fidelización de un cliente ocasional o anónimo.\nDe este modo, en la práctica, las empresas tratan de manera diferente a sus clientes en función de lo importantes que éstos son para ellas. La estrategia seguida por las empresas en estos casos puede ser de dos tipos: la del vasallaje y la de la excelencia.\n1. Estrategia del vasallaje\nLas empresas que utilizan la estrategia del vasallaje se caracterizan por tratar de manera muy dispar a sus clientes en función de su importancia.\nAsí, mientras que a los clientes “normales” se le dirige un trato de subsistencia (hacerlos esperar, no mantenerlos informados, visitas escasas, información de baja calidad, etc.), ante los clientes importantes se despliega todo un protocolo grandilocuente: se les da prioridad ante el resto de clientes, se hacen gastos extras para tratar de impresionarlos, el personal de mayor rango se da codazos para poder atenderlos personalmente, etc.\n2. Estrategia de la excelencia\nEn el otro extremo, encontramos la estrategia de la excelencia (con permiso de Tom Peters, gurú de la Excelencia).\nLas empresas que utilizan la estrategia de la excelencia se caracterizan por tratar de manera excelente a todos sus clientes. Como en cualquier empresa, existen clientes más importantes que otros, pero no existen tratos mejores que otros. La manera como han conseguido no discriminar a sus clientes en función de su importancia es elevando la calidad del trato para todo el mundo.\nLo que hay detrás de estas dos estrategias es, en definitiva, dos modelos diferentes de empresa. Normalmente, la estrategia del vasallaje es propia de empresas que se sienten inferiores y se desviven por conseguir grandes clientes que los saquen del anonimato. En cambio, la estrategia de la excelencia suele ser propia de empresas seguras de ser las mejores en lo que hacen, en las que se establecen unas relaciones en las que el cliente importante gana tanto como la propia empresa.\nCada estrategia, a su vez, genera una impresión diferente en el cliente importante. Mientras que en la estrategia del vasallaje, el cliente se siente superior a la empresa al ser consciente del trato diferencial que se le está destinando, en el caso de la estrategia de la excelencia el cliente se siente impresionado por la profesionalidad de la empresa.\nLa estrategia del vasallaje demuestra, además, una visión limitada al corto plazo por las empresas que la utilizan. Esta visión a corto plazo afecta, principalmente, a los clientes “normales”. En primer lugar, un cliente normal hoy puede ser un cliente importante mañana y la empresa puede estar segura de que recordará el trato recibido. En segundo lugar, la suma de muchos clientes normales es igual a un cliente importante.\nPublished on 25 February, 2012


APOYO A STARTUPS DE ALIMENTOS Y BEBIDAS EN AMÉRICA LATINA – Journalmex\nAPOYO A STARTUPS DE ALIMENTOS Y BEBIDAS EN AMÉRICA LATINA\nAcuerdo único en la región.\nInvertirá en el fondo Angel Ventures.\nNestlé anunció una inversión en Angel Ventures (AV), firma latinoamericana de capital de riesgo con sede en México y Fondo Oficial de la Alianza del Pacífico, con el objetivo de impulsar el crecimiento de startups de alimentos, bebidas y cuidado de mascotas en América Latina, ya sea de nuevas tecnologías, como de marcas o modelos de negocio.\nAcuerdo único en la región, en el que se unirán el liderazgo en innovación y tecnología de alimentos y bebidas de la empresa suiza, con las capacidades de inversión e impulso estratégico de la firma latinoamericana, a fin de apostar por los proyectos más innovadores de empresas de los países integrantes del bloque económico de la Alianza del Pacífico (conformado por Chile, Colombia, México y Perú), así como de otros países de la región.\nAV está enfocada en inversiones de empresas en etapa temprana con alto potencial de crecimiento. Fundada en 2008, su objetivo principal ha sido impulsar el desarrollo de nuevas empresas, vinculándolas con inversionistas estratégicos, como es el caso de la empresa suiza.\nLas firmantes del acuerdo, coinciden en la visión del alto potencial de desarrollo de esta región. Estamos seguros de que esta alianza estratégica derivará en el fortalecimiento del ecosistema de emprendimiento. Además de promover la generación de empleos, incrementar el nivel de competitividad en los jóvenes empresarios, y acercarnos a innovadoras propuestas que nos permitan continuar revolucionando la industria de alimentos y bebidas, afirmó Laurent Freixe, CEO de la empresa suiza para las Américas.\nEtiquetasA STARTUPS APOYO DE ALIMENTOS EN AMÉRICA LATINA Y BEBIDAS


No sin mi esmalte: Estampado 3D con jelly stamper - Born Pretty Store-\nOs voy a contar un poquito lo que he ido haciendo para conseguir esta manicura y lo que me ha parecido.\nLo primero que hice fue poner la base de kiko, ahora voy a ir variando porque he comprado algunas bases por un eurito que ya os contaré.\nUna vez seca puse una capa de fiesta, este color rojo precioso de masglo que gané en un sorteo, es el tono fiesta de los de secado rápido y me ha encantado su alta cobertura y rapidez al secar.\nSi os digo la verdad para esta manicura estuve dando mil vueltas, no tenía ninguna idea y lo fui haciendo "a lo loco" y tanto los diseños como el estampador son de Born Pretty Store\nDespués de mucho pensar decidí poner la mariposa, pero como había elegido una base oscura no sabía con que colores estampar, así que al final hice una doble estampación; primero puse la mariposa en negro para que y encima puse de nuevo la mariposa pero en plateado.\nComo veis con el estampador transparente es bastante fácil estampar encima el mismo diseño, aunque ponerlo completamente encima no es tan fácil, así que se quedó la mariposa como si estuviera en 3D, ¿verdad? Al final me encantó como quedó la mariposilla y me daba pena quitarla jeje.\nEn las otras uñas puse un estampado con amarillo, pero al colocarlo se quedó muy clarito ya que la base era muy oscura.\nPor ultimo una buena capa de top coat y... ¡a lucir uñitas!\nEl estampador me ha gustado mucho ya que es muy blandito y se amolda muy bien a la uña, además yo ahora tengo las uñas muy largas y los estampadores duros me resultan muy difíciles de utilizar ya que no llego a los lados de las uñas y como ya sabéis nunca colocaba el diseño recto y ahora esto se ha solucionado.\nEste tipo de estampadores son muy delicados y no se pueden limpiar con acetona, yo lo limpio con un royo quita pelusas y se va genial.\nSi os gusta el producto lo podéis comprar en el siguiente link, cuesta solo 2,99.\nSi os interesa alguna cosita de la web, ya sabéis que tienen de todo, desde nail art con un catálogo muy amplio, pasando por joyería hasta ropa, y con mi código MJSQ10 podréis aprovecharos de un 10% de descuento en vuestras compras.\nEspero que os haya gustado y ya sabéis que me podéis dejar cualquier, duda, sugerencia o lo que mas os guste abajo en comentarios.\nThe Magic's World 19 de mayo de 2016, 10:54\nPero que bonitas te han quedado!!!!!!!! Me encantan!!! :D\nMuchísimas gracias bonita, me alegro un montón de que te encanten.\nNail Art World 13 19 de mayo de 2016, 17:17\nTe han quedado muy bonitas, también tengo el estampador y la verdad que me ha costado un poco hacerme con él pero estampa genial y eso de que no salga torcida la estampación es un puntazo a su favor jeje\nNosin miesmalte 21 de mayo de 2016, 20:34\nMuchas gracias, el estampador es una auténtica maravilla, por fin puedo hacer manicuras sin torcerme, antes solo hacía pegatinas por lo mismo jeje.\nNails Enkha 20 de mayo de 2016, 9:59\nLo pondré en mi lista, la manicura te quedo genial. Yo suelo limpiarlos con celo, me acuerdo que el primero según lo limpie se me cayo al suelo y se me lleno de nuevo de porqueria jajaja.\nNosin miesmalte 21 de mayo de 2016, 20:36\nSi, ponlo en la lista porque con este invento es mucho más fácil estampar, yo hay veces que también con celo, pero me parece más práctico con el quita pelusas, suele pasar! Cuando lo limpiamos algo nos pasa jeje.\nYasny 20 de mayo de 2016, 20:02\nmira, esos estampadores transparentes son el mejor invento del mundo mundial xDDDD yo desde que lo tengo lo uso siempre *_* y el diseño es súper elegante nena!\nY tanto que son el mejor invento! Yo lo he usado muy poquito porque no tengo tiempo, pero en el verano le voy a dar mucho trote, muchas gracias reina.\nEl Mundo del Nail Art 23 de mayo de 2016, 19:31\nYo siempre hago las manicuras a lo loco, jajaja, muy pocas veces tengo algo planeado y muchas veces eso es lo mejor como la tuya que te ha quedado preciosa!\nY ese estampador lo he probado y me encantaaaaaaaaa, bssssss\nNosin miesmalte 11 de junio de 2016, 17:34\nYo hay veces que me biene de repente una inspiración y me la apunto para que no se me olvide jeje, pero muchas veces lo hago a lo loco, muchas gracias guapa!! Yo también estoy enamorada del estampador.


Batman: Arkham City Edición Game of the Year para Mac - Personajes | Feral Interactive\nBatman vive según un código estricto: proteger al inocente y capturar a los culpables, pero nunca matar bajo ninguna razón. Su sentido de la justicia hace del Caballero oscuro un adversario formidable para los villanos de Gotham, pero al permitir que el Joker viviera después de vencerle en Arkham Asylum, Batman puede haber sellado su propio destino.\nEl Payaso príncipe del crimen ha estado planeando su venganza desde que Batman estropeó su plan diabólico en Arkham Asylum. Ahora encarcelado dentro de Arkham City, el Joker está afectado por una enfermedad misteriosa que está destrozando su cara y su cuerpo. No se detendrá ante nada para encontrar una cura.\nIncreiblemente ágil y astuta, Catwoman es la mejor ladrona del mundo. Cuando es encerrada en Arkham City, se aprovecha del caos y la confusión para introducirse en la Sala de bienes confiscados sirviéndose de todo lo que encuentra allí.\nNombre real: Oswald Cobblepot\nUn señor del crimen brutal y sádico, el Pingüino en su tiempo estuvo detrás de muchas de las operaciones criminales de la ciudad de Gotham. Desde entonces ha convertido su encarcelamiento en Arkham City en una ventaja, y su banda ahora compite con las del Joker y Dos Caras por el dominio completo de la cárcel.\nNombre real: Dr Victor Fries\nIncapaz de sobrevivir mucho tiempo por encima del punto de congelación, Mister Freeze confía en su traje criogénico protector para estar sano. Como científico brillante y ahora un habitante de Arkham City, está siendo chantajeado por el Joker para que encuentre una cura para su misteriosa enfermedad.\nUn tiempo el heroico abogado de distrito de Gotham City, Harvey Dent fue víctima de un ataque que le dejó media cara llena de cicatrices; desde entonces ha estado obsesionado con la dualidad. Dos caras está usando sus conocimientos políticos para reclutar precisamente a la mitad de sus compañeros de Arkham City para su banda.\nDeterminado a superar y humillar a Batman, el Riddler ha escondido cientos de trofeos, puzzles y trampas mortales para él dentro Arkham City. Ha abducido a mucha gente inocente para utilizarlos como cebo, y Batman necesitará toda su inteligencia, habilidades y dispositivos para liberarlos.\nNombre real: Dick Grayson\nEn otro tiempo miembro de una familia circense conocida por sus números desafiando a la muerte, Dick Grayson se convirtió en el primer Robin después de que fuera ingresado en el orfanato y acogido por Bruce Wayne. Posteriormente se independizó de Batman para luchar contra el crimen por su cuenta como el misterioso Nightwing.\nNombre real: Tim Drake\nBatman necesita un compañero que le mantenga cuerdo. Ese compañero es Tim Drake, también conocido como Robin. Cuando Batman es encarcelado, Robin se debate entre rescatar a su mentor y al mismo tiempo seguir velando por la gente de Gotham City.


Chetumal | Llegan más especialistas a hospital materno de Chetumal\nRefuerzan el hospital materno con más especialistas\nInicio / Novedades Quintana Roo / Chetumal / Refuerzan el hospital materno con más especialistas\nEl Hospital Materno Infantil Morelos cuenta con nuevos médicos, enfermeras, laboratoristas y nutriólogos. (Foto: Joel Zamora)\nCHETUMAL, Q. Roo.- Un total de 41 profesionistas iniciaron su servicio social de un año en el Hospital Materno Infantil “Morelos”, y la primera capacitación que recibieron fue darle prioridad en atención a los pacientes.\nLuis Ángel Blanco Márquez, subsecretario de Salud en la zona sur, indicó que los nuevos son médicos, enfermeras, laboratoristas y nutriólogos que concluirán su servicio el próximo 29 de julio del 2018.\nComentó que antes, los nuevos integrantes tomaron un curso a principios de agosto con la finalidad de que conozcan sus derechos, responsabilidades y sobre todo, cómo deben de darse la atención a los usuarios del servicio.\nTambién te puede interesar: Anuncian nuevo Centro de Salud en la colonia Caribe\n“La capacitación que se les brindó fue que aprendan sobre la capacitación en la aplicación del tamiz neonatal y auditivo, habilidades para el fomento de la lactancia materna y el ingreso a la Unidad de Cuidados Intensivos Neonatales”, indicó.\nMónica Isabel Mendoza Cano, directora del Hospital Materno Infantil Morelos, indicó que la instrucción para los nuevos profesionistas que se sumaron para dar atención en el hospital, es que previo consentimiento de los pacientes, aprendan a la revisión de los mismos de acuerdo con la enfermedad que se presente.\n“Los preparamos anticipadamente, explicándole las maniobras que se deben de practicar, aplicando los reglamentos en materia de atención médica, cuidando de ofrecer la mejor calidad de servicio”, dijo.\nAsimismo, Mendoza Cano informó que al día de hoy los nuevos integrantes tienen conocimiento sobre la reanimación cardiopulmonar (RCP), lactancia y salud materna, planificación familiar y atención del recién nacido y los indicadores de calidad que deben cumplir en la atención de los pacientes.\nA principios del mes, también un grupo de 198 pasantes en odontología, enfermería, técnico laboratorio, farmacia, nutrición y química, fueron incorporados a igual número de comunidades rurales de la Jurisdicción Sanitaria Número Uno.\nLas comunidades que desde el 1 de agosto tienen servicios médicos con pasantes son Calderitas, Huay Pix, Pucté, Nuevo Becar, Francisco Mújica, Nuevo Veracruz, entre otras.\nPiden salida de director del Hospital de Bacalar por acoso\nAlrededor de 29 trabajadores del nosocomio interpusieron la queja.


Morir dignamente | ELESPECTADOR.COM\nDecíamos en este espacio el día de ayer que aunque la vida fuera un derecho con límites muy bien definidos no se trataba, ni mucho menos, de un privilegio absoluto: la simple existencia biológica no tiene sentido alguno en un Estado moderno si no va acompañada de la dignidad, el máximo presupuesto que un país como este dice defender.\nAl menos desde la Constitución. Vivir implica, por demás, hacerlo con un mínimo de condiciones. Buena parte de ese contrato social vigente se traduce en un acto igual de importante: el de morir dignamente. Así lo expresó la Corte Constitucional en la Sentencia C-239 de 1997, firmada por el ponente Carlos Gaviria Díaz.\nUn avance grande desde este lado del hemisferio, teniendo en cuenta que pocos países del mundo, a esa altura de la historia, discutían sobre dicha posibilidad: aplicar la eutanasia para determinados casos. Darle muerte a alguien cuando sufriera padecimientos intensos por culpa de una enfermedad terminal. Un acto mínimo de humanidad, si se quiere, ahogado en debates que tienen tintes religiosos a veces irrazonables, pero actuales. Tarde, sí, pero llegó la hora de dar ese paso.\nAl vanguardismo de la Corte en la materia lo siguió el usual estancamiento institucional que caracteriza a nuestro Congreso de la República. La exhortación hacia ese órgano era bastante clara: que “en el tiempo más breve posible y conforme a los principios constitucionales y a elementales consideraciones de humanidad, regule el tema de la muerte digna”. No lo hicieron pese a los intentos reiterados de algunos senadores de lograr encontrar el tiempo y lugar del debate. Siempre se archivaba la cosa.\nComo es usual en las políticas inconclusas de Colombia, tenemos un caso más: una mujer enferma de cáncer que murió esperando (y sufriendo mucho, por demás) que su EPS le garantizara ese derecho a morir dignamente. Esto, claro, porque hay un vacío legal.\nCualquier médico o enfermero, en alguna parte del país, no tiene por qué (aunque sí debería) tener en cuenta todas esas hondas consideraciones éticas, filosóficas y jurídicas: probablemente le dé miedo aplicar la eutanasia por falta de una orden clara de hacerlo. Eso, a pesar de lo cruel, es bastante entendible en la práctica diaria.\nPues no esperemos más: la Corte, de nuevo, ha dado un plazo, mucho más corto (perentorio, esta vez, menos mal), para que el Ministerio de Salud elabore un protocolo dirigido a “ hospitales, clínicas, IPS y EPS, y en general a todos los prestadores del servicio de salud” con el fin de que apliquen ese derecho.\nQue no se nos haga tarde, pues. Mucho más allá de las consideraciones religiosas o del absolutismo con que algunos ven el derecho a la vida, este es un acto elemental de humanidad: no se trata de decidir sobre la vida de alguien, sino de otorgarle algo de dignidad, cuando ya no la soporta más por obra de una enfermedad degenerativa y terminal.\nLa mujer, como por ponerle una cara a toda la situación, sufría de cáncer de colon, con intensos dolores y padecimientos: luego de cirugías, de radioterapias, de quimioterapias (que implica, por supuesto, más dolor) decidió que quería la eutanasia. No puede ser que por un vacío legal, que no del sistema jurídico, nunca se la dieran y muriera en esta cadena de ineficiencia administrativa e indignidad.


Presenta Centerpiece proyecto de planta de esterilización de productos Médicos\nCicuta News – Regional – 21/05/2020\nLa empresa Centerpiece presentó un proyecto para la instalación de la primera planta de esterilización de productos médicos en Tijuana, con lo que pretenden contribuir a la detonación de la economía local.\nDurante una reunión con el alcalde de Tijuana, Arturo González Cruz, en el ayuntamiento de la ciudad, el primer edil señaló que todos los proyectos que aporten crecimiento a la región, son bienvenidos.\n"En Tijuana son bienvenidos todos los proyectos que abonan al desarrollo de la comunidad. Uno de los ejes rectores de este gobierno es el bienestar social, una de las maneras correctas de brindarlo es la generación de empleos, que inyecte de capital a la región y reactive el sector productivo", explicó el primer edil.\nGonzález Cruz reconoció a los representantes de Centerpiece, por traer proyectos que consoliden la cadena de suministro de productos médicos en la ciudad, como una región destacada del sector de dispositivos de salud, que permitirían la llegada de una fábrica para el proceso de esterilización con tecnología de punta, con una vida útil de por lo menos, 20 años.\nPor su parte, el secretario de Desarrollo Económico, Arturo Pérez Behr, reconoció a la empresa por contemplar a Tijuana para su establecimiento, dando como resultado, una mayor detonación de este sector, que generará empleos para mejorar la calidad de vida de los tijuanenses y sus familias, trabajando, hoy todos por Tijuana, para garantizar su bienestar.\nEn tanto, el representante legal de Centerpiece, Alfonso González, indicó se estima una inversión de 60 millones de dólares, que estaría iniciando e principios del mes de julio de este año, tal proyecto traerá consigo la creación de 2 mil empleos directos y 10 mil indirectos.\nCenterpiece cuenta con una planta dedicada a la manufactura y ensamble de dispositivos médicos en el vecino municipio de Playas de Rosarito. La empresa se enfoca en acelerar la innovación y la comercialización de sus productos en la industria médica, a través de la vinculación, diseño y distribución de productos estériles.\nEn Tijuana existen 55 plantas de dispositivos médicos que emplean a un promedio de 50 mil personas. Tan sólo en el año 2019, la industria médica invirtió en la ciudad cerca de 148 millones de dólares y generó 4 mil 22 trabajos nuevos.\nEn la reunión de trabajo estuvieron presentes Matt Jordan, presidente de Centerpiece en Estados Unidos; Derek Dunlap, vicepresidente financiero y Víctor Saralegui, director de Ingeniería de la empresa.


Albella defiende que la actuación de la CNMV en el 'caso Popular' fue "más que correcta"\nEl presidente de la Comisión Nacional del Mercado de Valores (CNMV), Sebastián Albella, ha defendido que, en relación con la crisis que sufrió Popular y que terminó con la resolución del banco, el supervisor actuó "más que corrrectamente".\nDurante su intervención en el Foro ABC-Deloitte, cuestionado sobre la intervención de la CNMV en las posiciones cortas de Liberbank y no de Popular, el presidente del supervisor de los mercados ha defendido que ambos casos fueron "muy distintos".\nAlbella ha recordado sus palabras en la sesión del pasado 11 de enero de la comisión del Congreso que investiga la crisis y el programa de asistencia financiera, en la que explicó que las posiciones bajistas sobre Popular fueron estables entre su entrada en el supervisor y la fecha de la resolución y que, incluso, se redujeron en los últimos días.\n"Por lo tanto, no hubo ningún momento especialmente alarmante en que detectáramos actividad vendedora de cortos que nos llamara especialmente la atención", ha explicado Albella, que ha defendido que España es "el país más transparente en relación con las posiciones cortas", dado que es el único en la esfera europea que las publica quincenalmente.\nSin embargo, el caso de Liberbank fue distinto, dado que su cotización se vio afectada en los días posteriores a la resolución de Popular por informaciones que no tenían que ver con la propia entidad, como explicó en el Congreso.\nLa prohibición de cortos de Liberbank fue impuesta el pasado 12 de junio y prorrogada en dos ocasiones, en la última de ellas debido al lanzamiento de una ampliación de capital por parte del banco. Tras esta operación, las posiciones cortas en la entidad que preside Manuel Menéndez bajaron de forma significativa y ahora están en el entorno del 0,74% del capital.


Valbuena: «La MUD está totalmente deteriorada» - Diario Qué Pasa\nValbuena: «La MUD está totalmente deteriorada»\nMaracaibo — Con motivo de las declaraciones de la exdiputada María Machado, relacionadas a la creación del Movimiento Independiente Democrático (MID), la presidenta del Consejo Legislativo del estado Zulia (Clez), Magdelis Valbuena, señaló que «es evidente que la mal llamada Mesa de la Unidad Democrática (MUD) está totalmente deteriorada».\nSegún la primera autoridad del consejo legislativo, «nunca ha existido (MUD) porque no tienen un proyecto de país que los unifique, ni presentan propuestas ante problemas neurálgicos que se presentan, sino más bien críticas y descréditos ante la efectividad de las políticas del Gobierno nacional. Los integrantes de la mesa democrática más que unidad, lo que radican son proyectos individualistas que llevan a distorsionar los proyectos unitarios que puedan beneficiar a los venezolanos».\nValbuena expresó que «la exdiputada Machado viene hablando de un liderazgo y termina desligándose del proyecto de unidad que realza la MUD junto con otros líderes políticos, supuestas propuestas para el país que uno observa y son totalmente individuales, nada tiene que ver con el avance y desarrollo del país».\nRecalcó que «mientras la MUD está fracturada, el Gobierno nacional está de frente trabajando por el desarrollo del país».


musicoterapia y alzheimer | Musicoterapia & Terapia Multimedia\nEntradas etiquetadas como ‘musicoterapia y alzheimer’\nUn estudio realizado en 2009 en la Universidad California Davis muestra cómo en el córtex prefrontal medial de una persona sana existe un área que se activa cuando escuchamos una música conocida y evocamos recuerdos autobiográficos. Este hallazgo es especialmente valioso para ayudar a personas con esta enfermedad a recuperar recuerdos asociados a experiencias positivas de su vida a través de la música.\n“Podemos decir que la música tiene efectos sobre múltiples áreas del cerebro a nivel, tanto cortical como subcortical, y por lo tanto activa una red muy extensa que tiene una amplia cobertura de funciones”, explicó Mónica de Castro, musicoterapeuta especializada en geriatría y demencias, durante una ponencia realizada en el 56 Congreso de la Sociedad Española de Geriatría y Gerontología (SEGG) y el 20 Congreso de la Societat Catalana de Geriatría i Gerontología (SCGG), que acaba de celebrarse en Barcelona.\n“El ritmo influye sobre la regulación de la motricidad, la melodía tiene impacto sobre las emociones y la armonía está relacionada con aspectos cognitivos. Otros elementos como la intensidad, el tono, el tempo, la altura y el timbre se utilizan también para ayudar a regular estados de ánimo y aspectos fisiológicos”, añade De Castro.\nLa finalidad última de la musicoterapia es mejorar la calidad de vida de la persona. “Los pacientes con demencia mantienen la capacidad de procesar la música después de haber perdido la capacidad para procesar el lenguaje, por lo que la música se convierte, en las fases más avanzadas, en una importante vía para la conexión con su propia identidad y la comunicación con su entorno más cercano, activando la memoria biográfica, las emociones asociadas y ofreciendo la posibilidad de compartir una experiencia propia con otro ser humano. Además, puede ser un estímulo que les proporciona confort y que puede mejorar su contribución a las actividades básicas como el aseo o la alimentación”, explica la musicoterapeuta Mónica de Castro.\n“En fases leves y moderadas puede contribuir a mantener las capacidades cognitivas y funcionales preservadas, retrasando el nivel de dependencia”, añade.\nFinalmente existe evidencia de que “determinadas técnicas musicoterapéuticas pueden ayudar a reducir síntomas conductuales como la agresividad física y verbal o el deseo de deambular, contribuyendo a la mejora de la calidad de vida de la persona que padece la demencia y de sus cuidadores”, agrega de Castro.\nCampaña en favor de la musicoterapia\nHoy, 12 de julio, se celebrará a las 20.00h en el Hotel Gran Bilbao (España) un concierto benéfico; acto que forma parte de la campaña en favor de la musicoterepia aplicada a personas con alzhéimer, autismo y enfermedades raras promovida por la Fundación Musicoterapia y Salud, que pretende impulsar la creación de un centro de investigación en la materia.\nCon el lema ” Musicoterapia es Salud” se ha puesto en marcha esta campaña que fue presentada la semana pasada en un acto público en Bilbao. Su responsable, Carles Pérez, ha explicado que la musicoterapia aplicada a este tipo de enfermedades logra reducir la medicación, mejorar la autoestima y la calidad de vida los pacientes.\nEnfermedades, Eventos, Investigación, Music, Music Therapy\ncentro de investigación musicoterapia\nconcierto benéfico hotel gran bilbao\nmusicoterapia es salud\nmusicoterapia y enfermedades raras\nmusicoterapia y mejora de la autoestima\nresponsable campaña a favor de la musicoterapia\nLa psicóloga Carmen Díez charla con Rosa Cerro sobre musicoterapia\nCompartimos hoy con nuestros lectores, un interesante video que Carmen Díez ha publicado en su blog psicocarmendiez.com.\nCarmen Díez, dedicada a la psicologia y especialista en psicologia clínica y psicoterapia por la EFPA (Federación Europea de Asociaciones de Psicólogos), y miembro titular de la Asociación Española de Terapia Gestalt, tiene un interesante blog en el que publica post informativos, formativos… sobre muy diversos temas que nos aportan un gran aprendizaje.\nY, ha dedicado recientemente una entrada a la musicoterapia. Para ello, ha entrevistado a Rosa Cerro, musicoterapeuta de AFA Rioja que trabaja con afectados de Alzheimer.\nCon el permiso de Carmen, y de Rosa, os invitamos a ver este video.\npsicología y musicotereapia\nTaller de musicoterapia y Alzheimer en el Corte Inglés de Alicante\nParece que poco a poco la musicoterapia está alcanzado la relevancia que se merece. Cada vez más nos encontramos con instituciones, fundaciones, organismos … que imparten cursos de musicoterapia, fomentan la formación y su uso, ponen en marcha la implantación de programas de musicoterapia para diversos colectivos, etc.\nUna de las últimas noticias que nos hemos encontrado al respecto es esta. Según se publica en diversos foros, mañana, martes 4 de diciembre, se impartirá una taller teórico-práctico sobre Alzheimer y musicoterapia en el Corte Inglés de Alicante.\nContará con ponentes como Marina Romero, psicóloga y profesora de música o María Teresa Abad, experta en musicoterapia. Estarán presentes también Belén Estevan, Presidenta de la Asociación de Jubilados de Enfermería, y algún respresentatne de la Fundación de Servicios familiares de la Comunidad Valenciana, así como de S.O.D.E.P.A.\nEventos, Music Therapy, Noticias\nAsociación de Jubilados de Enfermería\nFundación de Servicios familiares de la Comunidad Valenciana\nmaría teresa abad\nOs invitamos a conocer Inside Alive, un impresionante documental realizado en EEUU por médicos que trataban a pacientes de Alzheimer con musicoterapia.\nEn el thriller muestra una historia realmente impactantes. Inside Alive pretende poner de manifiesto el poder que tiene la música para despertar recuerdos profundamente bloqueados. Pretende también fomentar la adopción de programas de música personalizadas como terapia ambulatoria en los hogares.\nPodéis consultar más información en http://www.ximotionmedia.com/\nHospitales, Investigación, Music, Music Therapy\nmusica y alzheimer\nprogramas de música como terapia\nFamiliares de enfermos de Alzheimer, premiados por el uso de la musicoterapia\nLa Asociación de Familiares de Enfermos de Alzheimer de Valencia (AFAV) se ha hecho con el Premio Farmaindustria de Iniciativas de Concienciación y Educación Sanitaria que celebró su VII Edición . El motivo del galardón ha sido un documental interactivo creado por esta asociación “Les Veus de la Memòria” y la utilización de musicoterapia en enfermos de alzheimer.\nEl documental “Les Veus de la Memòria“, desarrollado por AFAV con la colaboración de Barret Films, pretende mostrar el beneficio que producen en los enfermos de Alzheimer las terapias novedadosas como la musicoterapia; y lo hacen poniendo de manifiesto la historia y actividad del coro de la Fundación formado por enfermos de Alzheimer.\nEl documental, además del por el interés de su contenido ha sido galardonado porque utiliza fórmulas narrativas innovadoras que permiten interactuar al espectador para que se el mismo quien decida cómo quiere que le se contada la historia; de tal modo que le permite experimentar personalmente en qué consiste la musicoterapia mediante video juegos musicales on line.\nPodéis ver más información sobre el documental en http://www.unpost-itporelalzheimer.com/principal/proyecto_les_veus_de_la_memoria/ y todos los videos de AFAV en este enlace: http://vimeo.com/afav\nY conocer otros proyectos de AFAV en su página web: www.afav.org\nEnfermedades, Investigación, Music, Music Therapy, Noticias, Technology\ndocumental les veus de la memoria\ndocumental sobre alzheimer y musicoterapia\niniciativas de concienciación y educación sanitaria\npremio farmaindustria 2011


Arrestada exmiss venezolana en Austria por dirigir red de prostitución - Noticiero Digital\nArrestada exmiss venezolana en Austria por dirigir red de prostitución\nMensaje por redaccion_ok » 18 Jun 2018, 19:46\nLuisandra Barboza/ foto: @AlbertoRodNews / 18 jun 2018.- La exmiss venezolana Mariana Pares fue arrestada este lunes en Viena, Austria por presuntamente participar en una red de trata de blancas que sacaba mujeres de Venezuela y Colombia para prostituirlas.\nLea más: Rangel Ávalos denunció a Carlos Ocariz por presuntos hechos delictivos\nPares ofrecía a jóvenes “para ayudarlas a trabajar ofreciéndoles trabajo pero al llegar Viena, les quitaban sus pasaportes y las promocionaban como prostitutas y escorts VIP”, destacó el periodista Alberto Rodríguez en su cuenta de Twitter.\nLa joven es oriunda del estado Lara y “era conocida como “la meretriz guara” y buscaba a las mujeres para que ejercieran la prostitución y luego pedirles 50% de lo que cobraran, reseñó El Nacional.\nSe conoció que la denuncia la realizó una venezolana que vivía en Austria ante “la Unidad de Lucha contra la Trata de Seres Humanos y la Inmigración Clandestina de la BKA (Oficina Federal de Investigación Criminal de Alemania)” señaló el medio.\nTras la investigación detuvieron a cinco personas identificadas como: Francia Sofía, Francisco José, Jeffry José y Mariana Pares, en un apartamento donde habitaban. Durante el procedimiento se incautaron como evidencias computadoras laptops; celulares; euros en efectivos y otras divisas, además de sustancia estupefaciente.\nLa Policía Nacional de Austria rescató a 15 mujeres entre ellas venezolanas y colombianas. Las víctimas fueron liberadas luego de ser investigadas en la Fiscalía de Viena y quedaron bajo la figura de refugiadas. “Según las investigaciones, las jóvenes en Venezuela fueron reclutadas en discotecas y en Internet como niñeras.\nLas víctimas fueron intimidadas por amenazas y obligadas a prostituirse en apartamentos alquilados”, indicó Caraota Digital.\n“Pares también participó en el Miss Turismo Lara, además de haber participado en otros concursos de belleza y ganar el Señorita Miss Internacional 2016”, puntualizó Caraota Digital.\nRe: Exmiss venezolana fue arrestada en Austria por dirigir red de prostitución\nMensaje por Anko » 18 Jun 2018, 19:50\nDigna hija de Chiabe esa Miss.\nMensaje por Su Santidad » 18 Jun 2018, 20:11\nUna verdadera revolucionaria! Vivíendo en Europa a costilla de la miseria de los demás\nMensaje por Kaikuze » 18 Jun 2018, 20:16\nLa metieron presa por hacerle a sus compatriotas lo mismo que le hizo Chávez a sus "colegas".\nMensaje por losujc » 18 Jun 2018, 20:18\nAh buena vagabunda, una digna representante del régimen robolucionario.\nMensaje por LADIVINACOMEDIA » 18 Jun 2018, 20:22\nLos disociados son predecibles, ahora la puteria la inventaron ayer.\nMensaje por Cirilo Perez » 18 Jun 2018, 20:23\nMensaje por Solstrom » 18 Jun 2018, 20:35\nDicen que las mujeres austríacas y alemanas no tienen la gracia de sus congéneres Checas o Ucranianas y por ello las latinas hacen fuego por allá... será verdad?..\nMensaje por Cirilo Perez » 18 Jun 2018, 20:40\nProstitución. Se dice que es el oficio más antiguo del mundo debido a que en los ordenamientos como el Código Hammurabi de hace 3 mil 770 años, regulaba el derecho a la herencia de las prostitutas. Incluso en la Biblia se narran pasajes como el de María Magdalena en donde se habla de ellas.\nMensaje por Damiron » 18 Jun 2018, 20:47\n18 Jun 2018, 20:22\nAyer no, algunos la ejercen y son bien remunerados desde hace 20 años para acá...\nMensaje por HOMERO123456789 » 18 Jun 2018, 21:09\nLe echaron paja a esa gente\nPor cierto esas tipas que se prostituyen en el exterior para no ir presa dicen que son víctimas.\nEso debe ser mentira\nAhí debe está el principio ganar ganar\nÚltima edición por HOMERO123456789 el 19 Jun 2018, 12:49, editado 2 veces en total.\nRe: Arrestada exmiss venezolana en Austria por dirigir red de prostitución\nMensaje por ccsarte » 18 Jun 2018, 21:44\nHay un hotel cinco estrellas muy cerca de la Plaza Francia de Altamira que sirve para buscar clientes gay. La prostitución en Caracas produce billete.\nMensaje por tuquity » 18 Jun 2018, 22:14\ny....como sabes tu que la Gaira es lejos???? jajajaja\nEs jodiendo !!!!\nMensaje por Grezzo2 » 18 Jun 2018, 22:37\nQue pasara por la cabeza de una muchacha bien buenota a la que le ofrecen pagarle el pasaje y la estadia en Europa? Obvio que es para ser putas, o en verdad creían el cuento del modelaje profesional.\nLo mismo ocurre con las que creen que van a chulearse a los tipos en el extranjero sin darles nada a cambio, pueden salirse con la suya muchas veces, pero nunca se sabe cuando les tocará el primer loco e bola que les arrojara acido en el rostro.\nMensaje por Tereré » 18 Jun 2018, 23:13\n18 Jun 2018, 22:37\nSupe de dos muchachas a las que les ofrecieron llevarlas como cachifas, les quitaron el pasaporte, las pusieron a trabajar de prostitutas y las hacían cruzar fronteras en Europa, con cargamento de drogas. En uno de los países a donde las llevaron, una prosti voluntaria "compañera de trabajo" les prestó el celular, llamaron a su Embajada, donde les preguntaron si tenían cerca una ventana y si estaban muy alto. Como tenían una ventana y estaban en un primer piso, la orden fue saltar y correr a un lugar con mucha, mucha gente, pedir auxilio y llamar otra vez a la Embajada. De la Embajada llamaron a la policía local, que las rescató en seguida y las escondieron para ponerlas a salvo de la red de la que fueron víctimas.\nLa historia la tengo, de fuente hiper confiable.\nY mi pregunta, sigue siendo la misma. Si a una prosti de cualquier burdel venezolano le ofrecen hacer el mismo trabajo pero ganando en Euros ¿no se iría pero volando y muerta e' risa? ¿Por qué demonios se las tienen que llevar bajo engaño y en contra de su voluntad?


Las personas no compran cosas: compran historias. – marketing one\nPublicado por Fabian Salcedo el 23 diciembre, 2016 19 diciembre, 2016\nAudience Audit, Inc. hizo una investigación sobre personas de pequeñas empresas para Infusionsoft (una compañía de software que se dirige a pequeñas empresas) y creó algunos buenos ejemplos de cómo puede uno describir un segmento de su mercado.\nPor ejemplo, así es como podría lucir el mapa de objetivos para un pequeño empresario que busca incrementar más la rentabilidad trabajando con un asesor de impuestos.\nEntrada anterior Promueva sus productos o servicios menos populares.\nEntrada siguiente El secreto de las ventas es la construcción de relaciones.