Making sure code is in executable sections Final Round. Fixed a very weird section change mid macro in video code - perhaps fixed CT Black Omen bug.

This commit is contained in:
n-a-c-h
2005-07-10 14:54:10 +00:00
parent c2c742738b
commit ac62471e38
14 changed files with 59 additions and 35 deletions

View File

@@ -267,6 +267,8 @@ EXTSYM pesimpng,ScrDispl
.calculatea .calculatea
%endmacro %endmacro
SECTION .text
Mode7Startup16b: Mode7Startup16b:
Mode7Calculate16b Mode7Calculate16b
; esi = pointer to video buffer ; esi = pointer to video buffer

View File

@@ -54,6 +54,7 @@ ALIGN16
inc ebp inc ebp
%endmacro %endmacro
SECTION .text
NEWSYM drawmode716b NEWSYM drawmode716b
test byte[scaddset],1 test byte[scaddset],1

View File

@@ -26,6 +26,8 @@ EXTSYM xtravbuf,dcolortab,vidbright
%include "video/mode7.mac" %include "video/mode7.mac"
SECTION .text
NEWSYM Gendcolortable NEWSYM Gendcolortable
; generate Direct Color Table ; generate Direct Color Table
push eax push eax

View File

@@ -30,6 +30,8 @@ EXTSYM cwinptr
; Processes & Draws Mode 7 ; Processes & Draws Mode 7
;******************************************************* ;*******************************************************
SECTION .text
ALIGN16 ALIGN16
NEWSYM drawmode716extbg NEWSYM drawmode716extbg

View File

@@ -263,38 +263,40 @@ EXTSYM fulladdtab
Mode7ProcessB %1, domosaic16b, 2 Mode7ProcessB %1, domosaic16b, 2
ALIGN32 ALIGN32
SECTION .bss SECTION .data
.temp resd 1 ; for byte move left
.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
.mode7xincc resd 1 ; range check for x .mode7xinc dd 0 ; number to add for x
.mode7yinc resd 1 ; number to add for y .mode7xincc dd 0 ; range check 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 resw 1 ; cx location .mode7ysrl dd 0 ; which relative screen y
.cyloc resw 1 ; cy location .cxloc dw 0 ; cx location
.m7xaddofa resd 1 .cyloc dw 0 ; cy location
.m7xaddof2a resd 1 .m7xaddofa dd 0
.m7yaddofa resd 1 .m7xaddof2a dd 0
.m7yaddof2a resd 1 .m7yaddofa dd 0
.m7yaddof2a dd 0
SECTION .text SECTION .text
.drawmode7win .drawmode7win
@@ -317,6 +319,8 @@ SECTION .text
;******************************************************* ;*******************************************************
; Processes & Draws Mode 7 half Addition ; Processes & Draws Mode 7 half Addition
;******************************************************* ;*******************************************************
SECTION .text
NEWSYM drawmode716t NEWSYM drawmode716t
test byte[scaddset],1 test byte[scaddset],1
jnz near drawmode7dcolor jnz near drawmode7dcolor

View File

@@ -39,6 +39,8 @@ EXTSYM ProcessMode7ngwin,ProcessMode7ngwinB
; Processes & Draws Mode 7 ; Processes & Draws Mode 7
;******************************************************* ;*******************************************************
SECTION .text
NEWSYM drawmode7extbg NEWSYM drawmode7extbg
mov esi,[cwinptr] mov esi,[cwinptr]
mov [winptrref],esi mov [winptrref],esi

View File

@@ -205,6 +205,7 @@ EXTSYM pal16bxcl,coadder16,a16x16xinc,a16x16yinc,curypos,yflipadd
%%loop %%loop
%endmacro %endmacro
SECTION .text
NEWSYM draw8x816tms NEWSYM draw8x816tms
cmp byte[bgmode],5 cmp byte[bgmode],5

View File

@@ -90,6 +90,8 @@ EXTSYM vidmemch4s,vidmemch8s,cpalval,bgtxadd2,SpecialLine
ret ret
%endmacro %endmacro
SECTION .text
cache2b16b: cache2b16b:
DoCache vcache2b,vcache2bs DoCache vcache2b,vcache2bs
cache4b16b: cache4b16b:

View File

@@ -173,6 +173,8 @@
%%nodraw %%nodraw
%endmacro %endmacro
SECTION .text
Nextwinmode: Nextwinmode:
push ebx push ebx
mov ebx,[ngcwinptr] mov ebx,[ngcwinptr]

View File

@@ -100,6 +100,8 @@ EXTSYM WindowDisables,winlogicb,ngwinptr,objwlrpos,objwen,objclineptr,CSprWinPtr
mov [winbg1enval+eax+%1*256],bl mov [winbg1enval+eax+%1*256],bl
%endmacro %endmacro
SECTION .text
NEWSYM newengine8b NEWSYM newengine8b
; store line by line data ; store line by line data
; BGMode, BGxScrollX, BGxScrollY, both BGPtrs ; BGMode, BGxScrollX, BGxScrollY, both BGPtrs

View File

@@ -80,6 +80,8 @@ EXTSYM bgtxadd2
; 3 = All of subscreen added to specific mainscreens ; 3 = All of subscreen added to specific mainscreens
; 4 = Add+Sub enabled ; 4 = Add+Sub enabled
SECTION .text
NEWSYM setpalallng NEWSYM setpalallng
mov dword[palchanged],1 mov dword[palchanged],1

View File

@@ -78,6 +78,8 @@ EXTSYM yposngom,flipyposngom,cbgval,ofsmval,ofsmvalh,vram,bgtxadd2
jnz near .finline jnz near .finline
%endmacro %endmacro
SECTION .text
NEWSYM drawtileng2b NEWSYM drawtileng2b
cmp byte[ngwinen],1 cmp byte[ngwinen],1
je near drawtileng2bwin je near drawtileng2bwin

View File

@@ -22,7 +22,7 @@
SECTION .text
Nextwinmode: Nextwinmode:

View File

@@ -556,7 +556,7 @@ NEWSYM Get_Key
ret ret
SECTION .data SECTION .data
KeyConvTable KeyConvTable:
db 255,27 ,'1','2','3','4','5','6' ; 00h db 255,27 ,'1','2','3','4','5','6' ; 00h
db '7','8','9','0','-','=',8 ,9 db '7','8','9','0','-','=',8 ,9
db 'Q','W','E','R','T','Y','U','I' ; 10h db 'Q','W','E','R','T','Y','U','I' ; 10h
@@ -568,7 +568,7 @@ KeyConvTable
db 255,255,255,255,255,255,255,255 ; 40h db 255,255,255,255,255,255,255,255 ; 40h
db 200,201,202,203,204,205,206,207 db 200,201,202,203,204,205,206,207
db 208,209,210,211,255,255,255,255 ; 50h db 208,209,210,211,255,255,255,255 ; 50h
KeyConvTableS KeyConvTableS:
db 255,27 ,'!','@','#','$','%','^' ; 00h db 255,27 ,'!','@','#','$','%','^' ; 00h
db '&','*','(',')','_','+',8 ,9 db '&','*','(',')','_','+',8 ,9
db 'Q','W','E','R','T','Y','U','I' ; 10h db 'Q','W','E','R','T','Y','U','I' ; 10h