--- hatari/src/convert/low320x16.c 2019/04/01 07:09:16 1.1.1.1 +++ hatari/src/convert/low320x16.c 2019/04/01 07:09:32 1.1.1.2 @@ -1,49 +1,28 @@ -// Screen Conversion, Low Res to 320x16Bit - -#include - -void ConvertLowRes_320x16Bit_YLoop(void); -void Line_ConvertLowRes_320x16Bit(void); +/* Screen Conversion, Low Res to 320x16Bit */ void ConvertLowRes_320x16Bit(void) { - unsigned long *edi, *ebp; - unsigned short *esi; - register unsigned long eax, ebx, ecx, edx; + Uint32 *edi, *ebp; + Uint16 *esi; + register Uint32 eax, ebx, ecx, edx; edx=0; - Convert_StartFrame(); /* Start frame, track palettes */ - ScrY = STScreenStartHorizLine; /* Starting line in ST screen */ + Convert_StartFrame(); /* Start frame, track palettes */ + ScrY = STScreenStartHorizLine; /* Starting line in ST screen */ do /* y-loop */ { eax = STScreenLineOffset[ScrY] + STScreenLeftSkipBytes; /* Offset for this line + Amount to skip on left hand side */ - edi = (unsigned long *)((char *)pSTScreen + eax); /* ST format screen 4-plane 16 colours */ - ebp = (unsigned long *)((char *)pSTScreenCopy + eax); /* Previous ST format screen */ - esi = (unsigned short *)pPCScreenDest; - -#if __BYTE_ORDER == 4321 - AdjustLinePaletteRemapBIGENDIAN(); -#else + edi = (Uint32 *)((Uint8 *)pSTScreen + eax); /* ST format screen 4-plane 16 colours */ + ebp = (Uint32 *)((Uint8 *)pSTScreenCopy + eax); /* Previous ST format screen */ + esi = (Uint16 *)pPCScreenDest; /* PC format screen */ + AdjustLinePaletteRemap(); -#endif /* - __asm { - // Get screen addresses, 'edi'-ST screen, 'ebp'-Previous ST screen, 'esi'-PC screen - mov eax,[ScrY] - mov eax,STScreenLineOffset[eax*4] // Offset for this line - add eax,[STScreenLeftSkipBytes] // Amount to skip on left hand side - mov edi,[pSTScreen] // ST format screen 4-plane 16 colours - add edi,eax - mov ebp,[pSTScreenCopy] // Previous ST format screen - add ebp,eax - mov esi,[pPCScreenDest] // PC format screen, byte per pixel 256 colours - call AdjustLinePaletteRemap // Change palette table, DO NOT corrupt edx,edi,esi or ebp! jmp Line_ConvertLowRes_320x16Bit // 0 palette same, can do check tests - } } */ @@ -91,7 +70,7 @@ copy_word: mov [bScreenContentsChanged],TRUE */ -#if __BYTE_ORDER == 4321 +#if SDL_BYTEORDER == SDL_BIG_ENDIAN /* Plot pixels */ LOW_BUILD_PIXELS_0 ; /* Generate 'ecx' as pixels [4,5,6,7] */ PLOT_LOW_320_16BIT(12) ;