[Reverse-engineering] [th02/th03/th04/th05] Back/front page pairs

Because using just one variable would have totally been too
straightforward.

Funded by -Tom-.
This commit is contained in:
nmlgc 2018-12-29 22:13:47 +01:00
parent 35ef90f4d1
commit c2ef9d51b6
5 changed files with 339 additions and 340 deletions

View File

@ -0,0 +1,3 @@
public _page_back, _page_front
_page_back db ?
_page_front db ?

File diff suppressed because it is too large Load Diff

View File

@ -488,10 +488,10 @@ loc_9A14:
mov byte_23B01, 0
loc_9A25:
graph_accesspage byte_23AEF
graph_showpage byte_23AEE
mov byte_23AEF, al
xor byte_23AEE, 1
graph_accesspage _page_front
graph_showpage _page_back
mov _page_front, al
xor _page_back, 1
call grcg_setcolor pascal, (GC_RMW shl 16) + 0
mov bx, 3932h
call sub_B37C
@ -951,8 +951,8 @@ loc_9E24:
push 0
call graph_200line
call sub_F0EE
mov byte_23AEE, 0
mov byte_23AEF, 1
mov _page_back, 0
mov _page_front, 1
graph_accesspage 0
graph_showpage 1
call snd_se_reset
@ -8018,7 +8018,7 @@ loc_DE6A:
loc_DE6E:
mov byte ptr [si+0Fh], 0
cmp byte_23AEE, 0
cmp _page_back, 0
jz short loc_DE8F
cmp byte ptr [si+1Eh], 0
jz short loc_DE85
@ -42277,8 +42277,7 @@ byte_23AEA db ?
db ? ;
db ? ;
db ? ;
byte_23AEE db ?
byte_23AEF db ?
include th02/hardware/pages[bss].asm
word_23AF0 dw ?
dword_23AF2 dd ?
word_23AF6 dw ?

View File

@ -421,10 +421,10 @@ loc_AC58:
loc_AC7A:
call sub_CCD6
graph_accesspage byte_25A3D
graph_showpage byte_25A3C
mov byte_25A3D, al
xor byte_25A3C, 1
graph_accesspage _page_front
graph_showpage _page_back
mov _page_front, al
xor _page_back, 1
call snd_se_update
inc dword_266C6
mov ax, frame
@ -893,8 +893,8 @@ loc_B156:
call far ptr palette_show
call sub_10D77
call tiles_render_all
mov byte_25A3C, 1
mov byte_25A3D, 0
mov _page_back, 1
mov _page_front, 0
graph_accesspage 1
graph_showpage 0
call tiles_render_all
@ -1738,7 +1738,7 @@ loc_BA2E:
cmp ax, 180h
jge short locret_B9EC
mov bh, 0
mov bl, byte_25A3C
mov bl, _page_back
add bx, bx
add ax, [bx+4260h]
jns short loc_BA46
@ -4129,7 +4129,7 @@ sub_CC3A endp
sub_CCD6 proc near
push bp
mov bp, sp
mov al, byte_25A3C
mov al, _page_back
mov ah, 0
add ax, ax
mov dx, _scroll_line
@ -4445,7 +4445,7 @@ sub_CF44 proc near
mov bp, sp
cmp _scroll_speed, 0
jnz short loc_CFB6
cmp byte_25A3C, 1
cmp _page_back, 1
jnz short loc_CFB6
cmp stage_id, 5
jz short loc_CF63
@ -4554,7 +4554,7 @@ sub_D016 proc near
assume es:nothing
mov di, (PLAYFIELD_H - 1) * ROW_SIZE + PLAYFIELD_VRAM_X
mov dx, 0A6h
mov al, byte_25A3D
mov al, _page_front
loc_D02B:
mov cx, 18h
@ -4603,7 +4603,7 @@ arg_2 = word ptr 6
shr ax, 3
add di, ax
mov dx, 0A6h
mov al, byte_25A3C
mov al, _page_back
loc_D075:
mov cx, 8
@ -5407,14 +5407,14 @@ sub_D6EB proc far
call sub_10D4B
mov PaletteTone, 64h ; 'd'
call far ptr palette_show
graph_accesspage byte_25A3D
graph_accesspage _page_front
call sub_D098
call sub_D016
call sub_D56C
push 2
nopcall sub_CBA4
call sub_D7EE
graph_accesspage byte_25A3C
graph_accesspage _page_back
push 1
call frame_delay
pop bp
@ -45474,8 +45474,7 @@ word_25A36 dw ?
byte_25A38 db ?
db ?
word_25A3A dw ?
byte_25A3C db ?
byte_25A3D db ?
include th02/hardware/pages[bss].asm
map_seg dw ?
include th04/tiles[bss].asm
dword_266C6 dd ?

View File

@ -516,10 +516,10 @@ loc_AFF0:
loc_B003:
call sub_10214
graph_accesspage byte_25353
graph_showpage byte_25352
mov byte_25353, al
xor byte_25352, 1
graph_accesspage _page_front
graph_showpage _page_back
mov _page_front, al
xor _page_back, 1
call snd_se_update
inc dword_25FDC
mov ax, frame
@ -1027,8 +1027,8 @@ loc_B4BB:
call far ptr palette_show
call sub_118F3
call tiles_render_all
mov byte_25352, 1
mov byte_25353, 0
mov _page_back, 1
mov _page_front, 0
graph_accesspage 1
graph_showpage 0
call tiles_render_all
@ -6798,7 +6798,7 @@ loc_E2A4:
cmp ax, 180h
jge short locret_E262
mov bh, 0
mov bl, byte_25352
mov bl, _page_back
add bx, bx
add ax, [bx+356Eh]
jns short loc_E2BC
@ -8123,7 +8123,7 @@ sub_EE58 proc near
mov bp, sp
cmp _scroll_speed, 0
jnz short loc_EE92
cmp byte_25352, 1
cmp _page_back, 1
jnz short loc_EE92
nopcall sub_F2B4
mov fp_2C92E, offset sub_EE51
@ -8210,7 +8210,7 @@ sub_EEF2 proc near
assume es:nothing
mov di, (PLAYFIELD_H - 1) * ROW_SIZE + PLAYFIELD_VRAM_X
mov dx, 0A6h
mov al, byte_25353
mov al, _page_front
loc_EF07:
mov cx, 24
@ -8259,7 +8259,7 @@ arg_2 = word ptr 6
shr ax, 3
add di, ax
mov dx, 0A6h
mov al, byte_25352
mov al, _page_back
loc_EF51:
mov cx, 8
@ -8732,12 +8732,12 @@ loc_F333:
call sub_118D1
mov PaletteTone, 64h ; 'd'
call far ptr palette_show
graph_accesspage byte_25353
graph_accesspage _page_front
call sub_EFAC
call sub_EEF2
call sub_F1A6
call sub_F463
graph_accesspage byte_25352
graph_accesspage _page_back
push 1
call frame_delay
pop bp
@ -10174,7 +10174,7 @@ sub_10214 proc near
mov _scroll_active, 0
loc_10223:
mov al, byte_25352
mov al, _page_back
mov ah, 0
add ax, ax
mov dx, _scroll_line
@ -36582,7 +36582,7 @@ sub_1E60E endp
sub_1E66F proc near
push bp
mov bp, sp
cmp byte_25352, 0
cmp _page_back, 0
jz short loc_1E696
mov byte ptr word_25FFA, 12h
mov byte_26000, 0Dh
@ -43652,8 +43652,7 @@ dword_2534B dd ?
db ?
lives db ?
bombs db ?
byte_25352 db ?
byte_25353 db ?
include th02/hardware/pages[bss].asm
map_seg dw ?
include th04/tiles[bss].asm
dword_25FDC dd ?