From e03454b33b8f9c172c5f908b1df64dd7afdbca11 Mon Sep 17 00:00:00 2001 From: n-a-c-h <> Date: Sun, 10 Jul 2005 14:19:28 +0000 Subject: [PATCH] Making sure code is in executable sections Round 4. Fixed a very weird section change mid macro in video code - perhaps fixed CT Black Omen bug. --- zsnes/src/gui/guitools.inc | 2 ++ zsnes/src/gui/menu.asm | 4 ++- zsnes/src/video/2xsaimmx.inc | 20 +------------ zsnes/src/video/hq2x16.asm | 4 +-- zsnes/src/video/hq2x32.asm | 4 +-- zsnes/src/video/hq3x16.asm | 4 +-- zsnes/src/video/hq3x32.asm | 4 +-- zsnes/src/video/hq4x16.asm | 2 +- zsnes/src/video/hq4x32.asm | 2 +- zsnes/src/video/m716text.asm | 57 +++++++++++++++++++----------------- zsnes/src/video/makev16t.asm | 4 ++- zsnes/src/video/mode7.asm | 2 ++ zsnes/src/video/mode716.asm | 2 ++ 13 files changed, 53 insertions(+), 58 deletions(-) diff --git a/zsnes/src/gui/guitools.inc b/zsnes/src/gui/guitools.inc index 14eb5bb5..ba955088 100644 --- a/zsnes/src/gui/guitools.inc +++ b/zsnes/src/gui/guitools.inc @@ -20,6 +20,8 @@ ; Tools for the GUI (string functions are also used elsewhere) +SECTION .text + NEWSYM CopyString push eax .again diff --git a/zsnes/src/gui/menu.asm b/zsnes/src/gui/menu.asm index 03ad0c03..ee0a426a 100644 --- a/zsnes/src/gui/menu.asm +++ b/zsnes/src/gui/menu.asm @@ -56,6 +56,8 @@ EXTSYM Grab_PNG_Data popad %endmacro +SECTION .text + GUIBufferData: mov ecx,16384 cmp byte[cbitmode],1 @@ -1144,7 +1146,7 @@ SECTION .bss NEWSYM picnum, resw 1 -SECTION .data +SECTION .text NEWSYM savepcx %ifndef NO_PNG diff --git a/zsnes/src/video/2xsaimmx.inc b/zsnes/src/video/2xsaimmx.inc index 188f99f3..4d3e318d 100644 --- a/zsnes/src/video/2xsaimmx.inc +++ b/zsnes/src/video/2xsaimmx.inc @@ -38,24 +38,6 @@ ;---------------------- BITS 32 -%ifdef __DJGPP__ -; GLOBAL __2xSaILine -; GLOBAL __2xSaISuperEagleLine -; GLOBAL _Init_2xSaIMMX -%else - GLOBAL _2xSaILine - GLOBAL _2xSaISuperEagleLine - GLOBAL Init_2xSaIMMX -%endif - SECTION .text - -%ifdef __DJGPP__ -;EXTERN_C void __2xSaILine (uint8 *srcPtr, uint32 srcPitch, uint32 width, -; uint8 *dstPtr, uint32 dstPitch, uint16 dstSegment); -%else -;EXTERN_C void _2xSaILine (uint8 *srcPtr, uint32 srcPitch, uint32 width, -; uint8 *dstPtr, uint32 dstPitch); -%endif srcPtr equ 8 deltaPtr equ 12 @@ -96,7 +78,7 @@ colorA3 equ 4 - +SECTION .text NEWSYM _2xSaISuper2xSaILine ; Store some stuff diff --git a/zsnes/src/video/hq2x16.asm b/zsnes/src/video/hq2x16.asm index 44af1063..b160cbc7 100644 --- a/zsnes/src/video/hq2x16.asm +++ b/zsnes/src/video/hq2x16.asm @@ -2118,7 +2118,7 @@ HighResProc: ret SECTION .data -FuncTable +FuncTable: dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7 dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15 dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23 @@ -2152,7 +2152,7 @@ FuncTable dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247 dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255 -FuncTable2 +FuncTable2: dd ..@cross0, ..@cross1, ..@cross2, ..@flag0, dd ..@cross4, ..@flag0, ..@flag0, ..@flag0, dd ..@cross8, ..@flag0, ..@flag0, ..@flag0, diff --git a/zsnes/src/video/hq2x32.asm b/zsnes/src/video/hq2x32.asm index 44601a77..81cf5b5f 100644 --- a/zsnes/src/video/hq2x32.asm +++ b/zsnes/src/video/hq2x32.asm @@ -2089,7 +2089,7 @@ HighResProc: ret SECTION .data -FuncTable +FuncTable: dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7 dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15 dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23 @@ -2123,7 +2123,7 @@ FuncTable dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247 dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255 -FuncTable2 +FuncTable2: dd ..@cross0, ..@cross1, ..@cross2, ..@crossN, dd ..@cross4, ..@crossN, ..@crossN, ..@crossN, dd ..@cross8, ..@crossN, ..@crossN, ..@crossN, diff --git a/zsnes/src/video/hq3x16.asm b/zsnes/src/video/hq3x16.asm index c6d66823..dba5a606 100644 --- a/zsnes/src/video/hq3x16.asm +++ b/zsnes/src/video/hq3x16.asm @@ -2705,7 +2705,7 @@ HighResProc: ret SECTION .data -FuncTable +FuncTable: dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7 dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15 dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23 @@ -2739,7 +2739,7 @@ FuncTable dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247 dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255 -FuncTable2 +FuncTable2: dd ..@cross0, ..@cross1, ..@cross2, ..@flag0, dd ..@cross4, ..@flag0, ..@flag0, ..@flag0, dd ..@cross8, ..@flag0, ..@flag0, ..@flag0, diff --git a/zsnes/src/video/hq3x32.asm b/zsnes/src/video/hq3x32.asm index 8003bb4c..940cd920 100644 --- a/zsnes/src/video/hq3x32.asm +++ b/zsnes/src/video/hq3x32.asm @@ -2767,7 +2767,7 @@ HighResProc: ret SECTION .data -FuncTable +FuncTable: dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7 dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15 dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23 @@ -2801,7 +2801,7 @@ FuncTable dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247 dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255 -FuncTable2 +FuncTable2: dd ..@cross0, ..@cross1, ..@cross2, ..@crossN, dd ..@cross4, ..@crossN, ..@crossN, ..@crossN, dd ..@cross8, ..@crossN, ..@crossN, ..@crossN, diff --git a/zsnes/src/video/hq4x16.asm b/zsnes/src/video/hq4x16.asm index 88062945..e620aa1f 100644 --- a/zsnes/src/video/hq4x16.asm +++ b/zsnes/src/video/hq4x16.asm @@ -4238,7 +4238,7 @@ HighResProc: ret SECTION .data -FuncTable +FuncTable: dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7 dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15 dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23 diff --git a/zsnes/src/video/hq4x32.asm b/zsnes/src/video/hq4x32.asm index 9a85d78f..cc2382cd 100644 --- a/zsnes/src/video/hq4x32.asm +++ b/zsnes/src/video/hq4x32.asm @@ -4161,7 +4161,7 @@ HighResProc: ret SECTION .data -FuncTable +FuncTable: dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7 dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15 dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23 diff --git a/zsnes/src/video/m716text.asm b/zsnes/src/video/m716text.asm index d605847f..304fe507 100644 --- a/zsnes/src/video/m716text.asm +++ b/zsnes/src/video/m716text.asm @@ -668,36 +668,39 @@ EXTSYM fulladdtab,cwinptr jnz near .offscrtrc jmp .goon -SECTION .bss -.temp resd 1 ; for byte move left -.mode7xpos resd 1 ; x position -.tempa2 resd 1 ; keep this blank! -.mode7xrpos resd 1 ; x position -.tempa resd 1 ; keep this blank! -.mode7ypos resd 1 ; y position -.tempb2 resd 1 ; keep this blank! -.mode7yrpos resd 1 ; y position -.tempb resd 1 ; keep this blank! -.mode7xadder resd 1 ; number to add for x -.tempc2 resd 1 ; keep this blank! -.mode7xadd2 resd 1 ; number to add for x -.tempc resd 1 ; keep this blank! -.mode7yadder resd 1 ; number to add for y -.tempd2 resd 1 ; keep this blank! -.mode7yadd2 resd 1 ; number to add for y -.tempd resd 1 ; keep this blank! -.mode7ptr resd 1 ; pointer value -.mode7xinc resd 1 ; number to add for x -.mode7yinc resd 1 ; number to add for y -.mode7xsloc resd 1 ; which screen x -.mode7ysloc resd 1 ; which screen y -.mode7xsrl resd 1 ; which relative screen x -.mode7ysrl resd 1 ; which relative screen y -.cxloc resd 1 ; cx location -.cyloc resd 1 ; cy location +SECTION .data +ALIGN32 +.temp dd 0 ; for byte move left +.mode7xpos dd 0 ; x position +.tempa2 dd 0 ; keep this blank! +.mode7xrpos dd 0 ; x position +.tempa dd 0 ; keep this blank! +.mode7ypos dd 0 ; y position +.tempb2 dd 0 ; keep this blank! +.mode7yrpos dd 0 ; y position +.tempb dd 0 ; keep this blank! +.mode7xadder dd 0 ; number to add for x +.tempc2 dd 0 ; keep this blank! +.mode7xadd2 dd 0 ; number to add for x +.tempc dd 0 ; keep this blank! +.mode7yadder dd 0 ; number to add for y +.tempd2 dd 0 ; keep this blank! +.mode7yadd2 dd 0 ; number to add for y +.tempd dd 0 ; keep this blank! +.mode7ptr dd 0 ; pointer value +.mode7xinc dd 0 ; number to add for x +.mode7yinc dd 0 ; number to add for y +.mode7xsloc dd 0 ; which screen x +.mode7ysloc dd 0 ; which screen y +.mode7xsrl dd 0 ; which relative screen x +.mode7ysrl dd 0 ; which relative screen y +.cxloc dd 0 ; cx location +.cyloc dd 0 ; cy location + SECTION .text %endmacro +SECTION .text ;******************************************************* ; Processes & Draws Mode 7 half Addition ;******************************************************* diff --git a/zsnes/src/video/makev16t.asm b/zsnes/src/video/makev16t.asm index 38bd2ae4..470ef5f7 100644 --- a/zsnes/src/video/makev16t.asm +++ b/zsnes/src/video/makev16t.asm @@ -56,6 +56,8 @@ EXTSYM ofsmmptr,ofsmcyps,bgtxadd,bg1ptrx,bg1ptry,a16x16xinc,a16x16yinc ; use bg1ptr(b,c,d) for the pointer to the tile number contents ; use bg1objptr for the pointer to the object tile contents +SECTION .text + NEWSYM makedualwincol mov dl,[winlogicb] shr dl,2 @@ -1954,7 +1956,7 @@ NEWSYM clearback16bdualrev2 SECTION .bss NEWSYM DoTransp, resb 1 -SECTION .data +SECTION .text ;******************************************************* ; Clear Backarea, 16-bit mode w/ transparency diff --git a/zsnes/src/video/mode7.asm b/zsnes/src/video/mode7.asm index b3e4dc71..98bf7cb2 100644 --- a/zsnes/src/video/mode7.asm +++ b/zsnes/src/video/mode7.asm @@ -52,6 +52,8 @@ EXTSYM ngcwinptr,domosaicng,pesimpng,mode7hr,BGMA,mode7ab,mode7cd,BG1SYl,BG1SXl inc ebp %endmacro +SECTION .text + NEWSYM Makemode7Table xor eax,eax .nextentry diff --git a/zsnes/src/video/mode716.asm b/zsnes/src/video/mode716.asm index 8a08f4a0..acab140b 100644 --- a/zsnes/src/video/mode716.asm +++ b/zsnes/src/video/mode716.asm @@ -275,6 +275,8 @@ EXTSYM vidbright,prevbrightdc,Gendcolortable,mode7ab,mode7cd,BGMA,BG1SXl,BG1SYl add esi,2 %endmacro +SECTION .text + NEWSYM drawmode7win16b test byte[scrndis],1 jz .notdisabled