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:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ EXTSYM cwinptr
|
|||||||
; Processes & Draws Mode 7
|
; Processes & Draws Mode 7
|
||||||
;*******************************************************
|
;*******************************************************
|
||||||
|
|
||||||
|
SECTION .text
|
||||||
|
|
||||||
ALIGN16
|
ALIGN16
|
||||||
|
|
||||||
NEWSYM drawmode716extbg
|
NEWSYM drawmode716extbg
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -173,6 +173,8 @@
|
|||||||
%%nodraw
|
%%nodraw
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
SECTION .text
|
||||||
|
|
||||||
Nextwinmode:
|
Nextwinmode:
|
||||||
push ebx
|
push ebx
|
||||||
mov ebx,[ngcwinptr]
|
mov ebx,[ngcwinptr]
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SECTION .text
|
||||||
|
|
||||||
|
|
||||||
Nextwinmode:
|
Nextwinmode:
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user