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
%endmacro
SECTION .text
Mode7Startup16b:
Mode7Calculate16b
; esi = pointer to video buffer

View File

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

View File

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

View File

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

View File

@@ -263,38 +263,40 @@ EXTSYM fulladdtab
Mode7ProcessB %1, domosaic16b, 2
ALIGN32
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
.mode7xincc resd 1 ; range check 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 resw 1 ; cx location
.cyloc resw 1 ; cy location
.m7xaddofa resd 1
.m7xaddof2a resd 1
.m7yaddofa resd 1
.m7yaddof2a resd 1
SECTION .data
.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
.mode7xincc dd 0 ; range check 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 dw 0 ; cx location
.cyloc dw 0 ; cy location
.m7xaddofa dd 0
.m7xaddof2a dd 0
.m7yaddofa dd 0
.m7yaddof2a dd 0
SECTION .text
.drawmode7win
@@ -317,6 +319,8 @@ SECTION .text
;*******************************************************
; Processes & Draws Mode 7 half Addition
;*******************************************************
SECTION .text
NEWSYM drawmode716t
test byte[scaddset],1
jnz near drawmode7dcolor

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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