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.
This commit is contained in:
@@ -20,6 +20,8 @@
|
|||||||
|
|
||||||
; Tools for the GUI (string functions are also used elsewhere)
|
; Tools for the GUI (string functions are also used elsewhere)
|
||||||
|
|
||||||
|
SECTION .text
|
||||||
|
|
||||||
NEWSYM CopyString
|
NEWSYM CopyString
|
||||||
push eax
|
push eax
|
||||||
.again
|
.again
|
||||||
|
|||||||
@@ -56,6 +56,8 @@ EXTSYM Grab_PNG_Data
|
|||||||
popad
|
popad
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
SECTION .text
|
||||||
|
|
||||||
GUIBufferData:
|
GUIBufferData:
|
||||||
mov ecx,16384
|
mov ecx,16384
|
||||||
cmp byte[cbitmode],1
|
cmp byte[cbitmode],1
|
||||||
@@ -1144,7 +1146,7 @@ SECTION .bss
|
|||||||
|
|
||||||
NEWSYM picnum, resw 1
|
NEWSYM picnum, resw 1
|
||||||
|
|
||||||
SECTION .data
|
SECTION .text
|
||||||
|
|
||||||
NEWSYM savepcx
|
NEWSYM savepcx
|
||||||
%ifndef NO_PNG
|
%ifndef NO_PNG
|
||||||
|
|||||||
@@ -38,24 +38,6 @@
|
|||||||
;----------------------
|
;----------------------
|
||||||
|
|
||||||
BITS 32
|
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
|
srcPtr equ 8
|
||||||
deltaPtr equ 12
|
deltaPtr equ 12
|
||||||
@@ -96,7 +78,7 @@ colorA3 equ 4
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SECTION .text
|
||||||
|
|
||||||
NEWSYM _2xSaISuper2xSaILine
|
NEWSYM _2xSaISuper2xSaILine
|
||||||
; Store some stuff
|
; Store some stuff
|
||||||
|
|||||||
@@ -2118,7 +2118,7 @@ HighResProc:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
SECTION .data
|
SECTION .data
|
||||||
FuncTable
|
FuncTable:
|
||||||
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
||||||
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
||||||
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
||||||
@@ -2152,7 +2152,7 @@ FuncTable
|
|||||||
dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
|
dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
|
||||||
dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
|
dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
|
||||||
|
|
||||||
FuncTable2
|
FuncTable2:
|
||||||
dd ..@cross0, ..@cross1, ..@cross2, ..@flag0,
|
dd ..@cross0, ..@cross1, ..@cross2, ..@flag0,
|
||||||
dd ..@cross4, ..@flag0, ..@flag0, ..@flag0,
|
dd ..@cross4, ..@flag0, ..@flag0, ..@flag0,
|
||||||
dd ..@cross8, ..@flag0, ..@flag0, ..@flag0,
|
dd ..@cross8, ..@flag0, ..@flag0, ..@flag0,
|
||||||
|
|||||||
@@ -2089,7 +2089,7 @@ HighResProc:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
SECTION .data
|
SECTION .data
|
||||||
FuncTable
|
FuncTable:
|
||||||
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
||||||
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
||||||
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
||||||
@@ -2123,7 +2123,7 @@ FuncTable
|
|||||||
dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
|
dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
|
||||||
dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
|
dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
|
||||||
|
|
||||||
FuncTable2
|
FuncTable2:
|
||||||
dd ..@cross0, ..@cross1, ..@cross2, ..@crossN,
|
dd ..@cross0, ..@cross1, ..@cross2, ..@crossN,
|
||||||
dd ..@cross4, ..@crossN, ..@crossN, ..@crossN,
|
dd ..@cross4, ..@crossN, ..@crossN, ..@crossN,
|
||||||
dd ..@cross8, ..@crossN, ..@crossN, ..@crossN,
|
dd ..@cross8, ..@crossN, ..@crossN, ..@crossN,
|
||||||
|
|||||||
@@ -2705,7 +2705,7 @@ HighResProc:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
SECTION .data
|
SECTION .data
|
||||||
FuncTable
|
FuncTable:
|
||||||
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
||||||
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
||||||
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
||||||
@@ -2739,7 +2739,7 @@ FuncTable
|
|||||||
dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
|
dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
|
||||||
dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
|
dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
|
||||||
|
|
||||||
FuncTable2
|
FuncTable2:
|
||||||
dd ..@cross0, ..@cross1, ..@cross2, ..@flag0,
|
dd ..@cross0, ..@cross1, ..@cross2, ..@flag0,
|
||||||
dd ..@cross4, ..@flag0, ..@flag0, ..@flag0,
|
dd ..@cross4, ..@flag0, ..@flag0, ..@flag0,
|
||||||
dd ..@cross8, ..@flag0, ..@flag0, ..@flag0,
|
dd ..@cross8, ..@flag0, ..@flag0, ..@flag0,
|
||||||
|
|||||||
@@ -2767,7 +2767,7 @@ HighResProc:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
SECTION .data
|
SECTION .data
|
||||||
FuncTable
|
FuncTable:
|
||||||
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
||||||
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
||||||
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
||||||
@@ -2801,7 +2801,7 @@ FuncTable
|
|||||||
dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
|
dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
|
||||||
dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
|
dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
|
||||||
|
|
||||||
FuncTable2
|
FuncTable2:
|
||||||
dd ..@cross0, ..@cross1, ..@cross2, ..@crossN,
|
dd ..@cross0, ..@cross1, ..@cross2, ..@crossN,
|
||||||
dd ..@cross4, ..@crossN, ..@crossN, ..@crossN,
|
dd ..@cross4, ..@crossN, ..@crossN, ..@crossN,
|
||||||
dd ..@cross8, ..@crossN, ..@crossN, ..@crossN,
|
dd ..@cross8, ..@crossN, ..@crossN, ..@crossN,
|
||||||
|
|||||||
@@ -4238,7 +4238,7 @@ HighResProc:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
SECTION .data
|
SECTION .data
|
||||||
FuncTable
|
FuncTable:
|
||||||
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
||||||
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
||||||
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
||||||
|
|||||||
@@ -4161,7 +4161,7 @@ HighResProc:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
SECTION .data
|
SECTION .data
|
||||||
FuncTable
|
FuncTable:
|
||||||
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
||||||
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
||||||
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
||||||
|
|||||||
@@ -668,36 +668,39 @@ EXTSYM fulladdtab,cwinptr
|
|||||||
jnz near .offscrtrc
|
jnz near .offscrtrc
|
||||||
jmp .goon
|
jmp .goon
|
||||||
|
|
||||||
SECTION .bss
|
SECTION .data
|
||||||
.temp resd 1 ; for byte move left
|
ALIGN32
|
||||||
.mode7xpos resd 1 ; x position
|
.temp dd 0 ; for byte move left
|
||||||
.tempa2 resd 1 ; keep this blank!
|
.mode7xpos dd 0 ; x position
|
||||||
.mode7xrpos resd 1 ; x position
|
.tempa2 dd 0 ; keep this blank!
|
||||||
.tempa resd 1 ; keep this blank!
|
.mode7xrpos dd 0 ; x position
|
||||||
.mode7ypos resd 1 ; y position
|
.tempa dd 0 ; keep this blank!
|
||||||
.tempb2 resd 1 ; keep this blank!
|
.mode7ypos dd 0 ; y position
|
||||||
.mode7yrpos resd 1 ; y position
|
.tempb2 dd 0 ; keep this blank!
|
||||||
.tempb resd 1 ; keep this blank!
|
.mode7yrpos dd 0 ; y position
|
||||||
.mode7xadder resd 1 ; number to add for x
|
.tempb dd 0 ; keep this blank!
|
||||||
.tempc2 resd 1 ; keep this blank!
|
.mode7xadder dd 0 ; number to add for x
|
||||||
.mode7xadd2 resd 1 ; number to add for x
|
.tempc2 dd 0 ; keep this blank!
|
||||||
.tempc resd 1 ; keep this blank!
|
.mode7xadd2 dd 0 ; number to add for x
|
||||||
.mode7yadder resd 1 ; number to add for y
|
.tempc dd 0 ; keep this blank!
|
||||||
.tempd2 resd 1 ; keep this blank!
|
.mode7yadder dd 0 ; number to add for y
|
||||||
.mode7yadd2 resd 1 ; number to add for y
|
.tempd2 dd 0 ; keep this blank!
|
||||||
.tempd resd 1 ; keep this blank!
|
.mode7yadd2 dd 0 ; number to add for y
|
||||||
.mode7ptr resd 1 ; pointer value
|
.tempd dd 0 ; keep this blank!
|
||||||
.mode7xinc resd 1 ; number to add for x
|
.mode7ptr dd 0 ; pointer value
|
||||||
.mode7yinc resd 1 ; number to add for y
|
.mode7xinc dd 0 ; number to add for x
|
||||||
.mode7xsloc resd 1 ; which screen x
|
.mode7yinc dd 0 ; number to add for y
|
||||||
.mode7ysloc resd 1 ; which screen y
|
.mode7xsloc dd 0 ; which screen x
|
||||||
.mode7xsrl resd 1 ; which relative screen x
|
.mode7ysloc dd 0 ; which screen y
|
||||||
.mode7ysrl resd 1 ; which relative screen y
|
.mode7xsrl dd 0 ; which relative screen x
|
||||||
.cxloc resd 1 ; cx location
|
.mode7ysrl dd 0 ; which relative screen y
|
||||||
.cyloc resd 1 ; cy location
|
.cxloc dd 0 ; cx location
|
||||||
|
.cyloc dd 0 ; cy location
|
||||||
|
|
||||||
SECTION .text
|
SECTION .text
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
SECTION .text
|
||||||
;*******************************************************
|
;*******************************************************
|
||||||
; Processes & Draws Mode 7 half Addition
|
; Processes & Draws Mode 7 half Addition
|
||||||
;*******************************************************
|
;*******************************************************
|
||||||
|
|||||||
@@ -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 bg1ptr(b,c,d) for the pointer to the tile number contents
|
||||||
; use bg1objptr for the pointer to the object tile contents
|
; use bg1objptr for the pointer to the object tile contents
|
||||||
|
|
||||||
|
SECTION .text
|
||||||
|
|
||||||
NEWSYM makedualwincol
|
NEWSYM makedualwincol
|
||||||
mov dl,[winlogicb]
|
mov dl,[winlogicb]
|
||||||
shr dl,2
|
shr dl,2
|
||||||
@@ -1954,7 +1956,7 @@ NEWSYM clearback16bdualrev2
|
|||||||
|
|
||||||
SECTION .bss
|
SECTION .bss
|
||||||
NEWSYM DoTransp, resb 1
|
NEWSYM DoTransp, resb 1
|
||||||
SECTION .data
|
SECTION .text
|
||||||
|
|
||||||
;*******************************************************
|
;*******************************************************
|
||||||
; Clear Backarea, 16-bit mode w/ transparency
|
; Clear Backarea, 16-bit mode w/ transparency
|
||||||
|
|||||||
@@ -52,6 +52,8 @@ EXTSYM ngcwinptr,domosaicng,pesimpng,mode7hr,BGMA,mode7ab,mode7cd,BG1SYl,BG1SXl
|
|||||||
inc ebp
|
inc ebp
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
SECTION .text
|
||||||
|
|
||||||
NEWSYM Makemode7Table
|
NEWSYM Makemode7Table
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
.nextentry
|
.nextentry
|
||||||
|
|||||||
@@ -275,6 +275,8 @@ EXTSYM vidbright,prevbrightdc,Gendcolortable,mode7ab,mode7cd,BGMA,BG1SXl,BG1SYl
|
|||||||
add esi,2
|
add esi,2
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
SECTION .text
|
||||||
|
|
||||||
NEWSYM drawmode7win16b
|
NEWSYM drawmode7win16b
|
||||||
test byte[scrndis],1
|
test byte[scrndis],1
|
||||||
jz .notdisabled
|
jz .notdisabled
|
||||||
|
|||||||
Reference in New Issue
Block a user