mirror of
https://github.com/nmlgc/ReC98.git
synced 2025-02-26 20:55:09 +00:00

Reasons: • piano_fm_part_put_raw(): SI register referenced and not saved on the stack • piano_current_note_from(): Would be decompilable… into a mess. Not worth adding a separate translation unit just for it. • piano_part_keys_put_raw(): DI register saved before the SI register • piano_pressed_key_put(): DI register referenced and not immediately saved on the stack • piano_label_put_raw(): SI and DI registered referenced and not saved on the stack • grcg_setcolor_direct_seg1_raw(): Let's procrastinate this one until we have to reference all of these instances in C land. And we could have even emitted that PIANO_KEY_PRESSED_TOP pixel data into the code segment, by using `#pragma option -z` to give identical names to both the code and the data segment. At least we can decompile the first two functions here. Part of P0135, funded by [Anonymous].
43 lines
653 B
HTML
43 lines
653 B
HTML
; ReC98
|
|
; -----
|
|
; PC-98 hardware constants not covered by master.lib
|
|
|
|
; Text
|
|
; ====
|
|
GAIJI_W = 16
|
|
GAIJI_TRAM_W = (GAIJI_W / 8)
|
|
GLYPH_HALF_W = 8
|
|
GLYPH_FULL_W = 16
|
|
GLYPH_H = 16
|
|
; ====
|
|
|
|
; Graphics
|
|
; ========
|
|
BYTE_DOTS = 8
|
|
RES_X = 640
|
|
RES_Y = 400
|
|
ROW_SIZE = (RES_X / BYTE_DOTS)
|
|
PLANE_SIZE = (ROW_SIZE * RES_Y)
|
|
COLOR_COUNT = 16
|
|
|
|
PLANE_COUNT = 4
|
|
|
|
; RGB color triple, used for the Palettes structure
|
|
rgb_t struc
|
|
r db ?
|
|
g db ?
|
|
b db ?
|
|
rgb_t ends
|
|
|
|
palette_t struc
|
|
colors rgb_t COLOR_COUNT dup(<?>)
|
|
palette_t ends
|
|
; ========
|
|
|
|
SEG_PLANE_B = 0A800h
|
|
SEG_PLANE_R = 0B000h
|
|
SEG_PLANE_G = 0B800h
|
|
SEG_PLANE_E = 0E000h
|
|
SEG_PLANE_DIST_BRG = 800h
|
|
SEG_PLANE_DIST_E = 2800h
|