view src/hermes/mmx_main.asm @ 1140:af8b0f9ac2f4

iPod Linux framebuffer support. --ryan. Date: Sun, 19 Jun 2005 15:53:22 -0700 From: Joshua Oreman <oremanj@gmail.com> To: sdl@libsdl.org Subject: [SDL] [PATCH] iPod framebuffer video driver Hi SDL-list, I've been working on a port of SDL to iPodLinux (http://www.ipodlinux.org). I've created a patch for both the standard 2-bit iPod screen (using an unchangeable palette) and the 16-bit iPod photo. The patch is attached, against version 1.2.8. I've created two pages on the iPodLinux wiki about this patch: http://www.ipodlinux.org/Building_SDL and http://www.ipodlinux.org/SDL_Programming. See those pages if you're curious. Comments? Questions? Is this something that might be able to get into SDL 1.2.9? Thanks for your feedback! -- Josh
author Ryan C. Gordon <icculus@icculus.org>
date Thu, 08 Sep 2005 07:33:22 +0000
parents 74212992fb08
children da33b7e6d181
line wrap: on
line source

;
; mmx format converter main loops for HERMES
; Some routines Copyright (c) 1998 Christian Nentwich (c.nentwich@cs.ucl.ac.uk)
; This source code is licensed under the GNU LGPL
; 
; Please refer to the file COPYING.LIB contained in the distribution for
; licensing conditions		
;

BITS 32

GLOBAL _ConvertMMX
GLOBAL _mmxreturn


SECTION .text
		
;; _ConvertMMX:	 
;; [ESP+8] ConverterInfo*
;; --------------------------------------------------------------------------
;; ConverterInfo (ebp+..)
;;   0:	void *s_pixels
;;   4:	int s_width
;;   8:	int s_height
;;  12:	int s_add
;;  16:	void *d_pixels
;;  20:	int d_width
;;  24:	int d_height
;;  28:	int d_add
;;  32:	void (*converter_function)() 
;;  36: int32 *lookup
	
_ConvertMMX:
	push ebp
	mov ebp,esp

; Save the registers used by the blitters, necessary for optimized code
	pusha

	mov eax,[ebp+8]

        cmp dword [eax+4],BYTE 0
	je endconvert
	
	mov ebp,eax
	
	mov esi,[ebp+0]
	mov edi,[ebp+16]
	
y_loop:	
	mov ecx,[ebp+4]

	jmp [ebp+32]

_mmxreturn:	
	add esi,[ebp+12]
	add edi,[ebp+28]
	
	dec dword  [ebp+8]
	jnz y_loop

	
; Restore the registers used by the blitters, necessary for optimized code
	popa

	pop ebp

endconvert:
	emms
	
	ret