mirror of https://github.com/nmlgc/ReC98.git
[Reverse-engineering] [th05] Music Room piano coordinates
This commit is contained in:
parent
b74b7f9bce
commit
2b617dfa75
|
@ -1,3 +1,9 @@
|
||||||
|
#define PIANO_X 384
|
||||||
|
#define PIANO_Y 64
|
||||||
|
#define PIANO_H 15
|
||||||
|
#define PIANO_PADDING_BOTTOM 3
|
||||||
|
#define PIANO_H_PADDED (PIANO_H + PIANO_PADDING_BOTTOM)
|
||||||
|
|
||||||
// Using the same naming convention as for the gaiji characters...
|
// Using the same naming convention as for the gaiji characters...
|
||||||
#pragma option -b-
|
#pragma option -b-
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
@ -18,5 +24,21 @@ typedef enum {
|
||||||
|
|
||||||
extern const unsigned char PIANO_LABEL_FONT[pl_COUNT][PIANO_LABEL_FONT_H];
|
extern const unsigned char PIANO_LABEL_FONT[pl_COUNT][PIANO_LABEL_FONT_H];
|
||||||
|
|
||||||
|
#define PIANO_LABEL_DIST_X 32
|
||||||
|
#define PIANO_LABEL_DIST_Y 4
|
||||||
|
|
||||||
|
#define PIANO_LABEL_X(col) (PIANO_X - PIANO_LABEL_DIST_X + (col * PIANO_LABEL_FONT_W))
|
||||||
|
#define PIANO_LABEL_Y(row) (PIANO_Y + PIANO_LABEL_DIST_Y + (row * PIANO_H_PADDED))
|
||||||
|
|
||||||
// Assumes that the GRCG is active.
|
// Assumes that the GRCG is active.
|
||||||
|
#define piano_label_puts(row, chr1, chr2, chr3) \
|
||||||
|
piano_label_putc(0, row, chr1); \
|
||||||
|
piano_label_putc(1, row, chr2); \
|
||||||
|
piano_label_putc(2, row, chr3); \
|
||||||
|
|
||||||
|
#define piano_label_putc(col, row, chr) \
|
||||||
|
_AL = chr; \
|
||||||
|
_DI = (PIANO_LABEL_Y(row) * ROW_SIZE) + (PIANO_LABEL_X(col) / 8); \
|
||||||
|
piano_label_put_raw();
|
||||||
|
|
||||||
void pascal piano_label_put_raw();
|
void pascal piano_label_put_raw();
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
PIANO_X = 384
|
||||||
|
PIANO_Y = 64
|
||||||
|
PIANO_H = 15
|
||||||
|
PIANO_PADDING_BOTTOM = 3
|
||||||
|
PIANO_H_PADDED = (PIANO_H + PIANO_PADDING_BOTTOM)
|
||||||
|
|
||||||
|
PIANO_LABEL_DIST_X = 32
|
||||||
|
PIANO_LABEL_DIST_Y = 4
|
||||||
|
|
||||||
|
PIANO_LABEL_X = PIANO_X - PIANO_LABEL_DIST_X
|
||||||
|
PIANO_LABEL_Y = PIANO_Y + PIANO_LABEL_DIST_Y
|
||||||
|
|
||||||
|
piano_label_puts macro row:req, chr1:req, chr2:req, chr3:req
|
||||||
|
piano_label_putc 0, row, chr1
|
||||||
|
piano_label_putc 1, row, chr2
|
||||||
|
piano_label_putc 2, row, chr3
|
||||||
|
endm
|
||||||
|
|
||||||
|
piano_label_putc macro col:req, row:req, chr:req
|
||||||
|
mov al, chr
|
||||||
|
mov di, ((PIANO_LABEL_Y + (row * PIANO_H_PADDED)) * ROW_SIZE) + ((PIANO_LABEL_X + (col * PIANO_LABEL_FONT_W)) / 8)
|
||||||
|
call piano_label_put_raw
|
||||||
|
endm
|
87
th05_op.asm
87
th05_op.asm
|
@ -22,6 +22,7 @@
|
||||||
include ReC98.inc
|
include ReC98.inc
|
||||||
include th05/th05.inc
|
include th05/th05.inc
|
||||||
include th05/music/music.inc
|
include th05/music/music.inc
|
||||||
|
include th05/music/piano.inc
|
||||||
|
|
||||||
extern SCOPY@:proc
|
extern SCOPY@:proc
|
||||||
extern _execl:proc
|
extern _execl:proc
|
||||||
|
@ -5133,74 +5134,26 @@ sub_D894 proc far
|
||||||
mov ax, 0A800h
|
mov ax, 0A800h
|
||||||
mov es, ax
|
mov es, ax
|
||||||
assume es:nothing
|
assume es:nothing
|
||||||
mov di, 1400h
|
mov di, (PIANO_Y + (0 * PIANO_H_PADDED)) * ROW_SIZE
|
||||||
call sub_DA30
|
call sub_DA30
|
||||||
mov di, 19A0h
|
mov di, (PIANO_Y + (1 * PIANO_H_PADDED)) * ROW_SIZE
|
||||||
call sub_DA30
|
call sub_DA30
|
||||||
mov di, 1F40h
|
mov di, (PIANO_Y + (2 * PIANO_H_PADDED)) * ROW_SIZE
|
||||||
call sub_DA30
|
call sub_DA30
|
||||||
mov di, 24E0h
|
mov di, (PIANO_Y + (3 * PIANO_H_PADDED)) * ROW_SIZE
|
||||||
call sub_DA30
|
call sub_DA30
|
||||||
mov di, 2A80h
|
mov di, (PIANO_Y + (4 * PIANO_H_PADDED)) * ROW_SIZE
|
||||||
call sub_DA30
|
call sub_DA30
|
||||||
mov di, 3020h
|
mov di, (PIANO_Y + (5 * PIANO_H_PADDED)) * ROW_SIZE
|
||||||
call sub_DA30
|
call sub_DA30
|
||||||
mov ah, GC_RI
|
mov ah, GC_RI
|
||||||
call grcg_setcolor_direct_noint_1
|
call grcg_setcolor_direct_noint_1
|
||||||
mov al, pl_F
|
piano_label_puts 0, pl_F, pl_M, pl_1
|
||||||
mov di, 156Ch
|
piano_label_puts 1, pl_F, pl_M, pl_2
|
||||||
call piano_label_put_raw
|
piano_label_puts 2, pl_F, pl_M, pl_3
|
||||||
mov al, pl_M
|
piano_label_puts 3, pl_F, pl_M, pl_4
|
||||||
mov di, 156Dh
|
piano_label_puts 4, pl_F, pl_M, pl_5
|
||||||
call piano_label_put_raw
|
piano_label_puts 5, pl_S, pl_S, pl_G
|
||||||
mov al, pl_1
|
|
||||||
mov di, 156Eh
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_F
|
|
||||||
mov di, 1B0Ch
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_M
|
|
||||||
mov di, 1B0Dh
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_2
|
|
||||||
mov di, 1B0Eh
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_F
|
|
||||||
mov di, 20ACh
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_M
|
|
||||||
mov di, 20ADh
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_3
|
|
||||||
mov di, 20AEh
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_F
|
|
||||||
mov di, 264Ch
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_M
|
|
||||||
mov di, 264Dh
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_4
|
|
||||||
mov di, 264Eh
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_F
|
|
||||||
mov di, 2BECh
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_M
|
|
||||||
mov di, 2BEDh
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_5
|
|
||||||
mov di, 2BEEh
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_S
|
|
||||||
mov di, 318Ch
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_S
|
|
||||||
mov di, 318Dh
|
|
||||||
call piano_label_put_raw
|
|
||||||
mov al, pl_G
|
|
||||||
mov di, 318Eh
|
|
||||||
call piano_label_put_raw
|
|
||||||
GRCG_OFF_VIA_XOR al
|
GRCG_OFF_VIA_XOR al
|
||||||
push ds
|
push ds
|
||||||
mov ah, PMD_GET_WORKAREA_ADDRESS
|
mov ah, PMD_GET_WORKAREA_ADDRESS
|
||||||
|
@ -5227,31 +5180,31 @@ sub_D96E proc far
|
||||||
GRCG_SETMODE_VIA_MOV al, GC_RMW
|
GRCG_SETMODE_VIA_MOV al, GC_RMW
|
||||||
mov ax, 0A800h
|
mov ax, 0A800h
|
||||||
mov es, ax
|
mov es, ax
|
||||||
mov di, 3020h
|
mov di, (PIANO_Y + (5 * PIANO_H_PADDED)) * ROW_SIZE
|
||||||
call sub_DA30
|
call sub_DA30
|
||||||
lds bx, dword_1281A
|
lds bx, dword_1281A
|
||||||
mov di, 1400h
|
mov di, (PIANO_Y + (0 * PIANO_H_PADDED)) * ROW_SIZE
|
||||||
mov si, 0
|
mov si, 0
|
||||||
call sub_D9E2
|
call sub_D9E2
|
||||||
add bx, 2
|
add bx, 2
|
||||||
mov di, 19A0h
|
mov di, (PIANO_Y + (1 * PIANO_H_PADDED)) * ROW_SIZE
|
||||||
mov si, 1
|
mov si, 1
|
||||||
call sub_D9E2
|
call sub_D9E2
|
||||||
add bx, 2
|
add bx, 2
|
||||||
mov di, 1F40h
|
mov di, (PIANO_Y + (2 * PIANO_H_PADDED)) * ROW_SIZE
|
||||||
mov si, 2
|
mov si, 2
|
||||||
call sub_D9E2
|
call sub_D9E2
|
||||||
add bx, 2
|
add bx, 2
|
||||||
mov di, 24E0h
|
mov di, (PIANO_Y + (3 * PIANO_H_PADDED)) * ROW_SIZE
|
||||||
mov si, 3
|
mov si, 3
|
||||||
call sub_D9E2
|
call sub_D9E2
|
||||||
add bx, 2
|
add bx, 2
|
||||||
mov di, 2A80h
|
mov di, (PIANO_Y + (4 * PIANO_H_PADDED)) * ROW_SIZE
|
||||||
mov si, 4
|
mov si, 4
|
||||||
call sub_D9E2
|
call sub_D9E2
|
||||||
mov ah, GC_RI
|
mov ah, GC_RI
|
||||||
call grcg_setcolor_direct_noint_1
|
call grcg_setcolor_direct_noint_1
|
||||||
mov di, 3020h
|
mov di, (PIANO_Y + (5 * PIANO_H_PADDED)) * ROW_SIZE
|
||||||
add bx, 4
|
add bx, 4
|
||||||
call sub_DA12
|
call sub_DA12
|
||||||
call near ptr sub_DA6B
|
call near ptr sub_DA6B
|
||||||
|
|
Loading…
Reference in New Issue