nmlgc
287d7ea554
[Reduction] #197 : VSync-related global data
...
[Binary change] nop → db 0 after the data declarations in every affected
executable.
2014-08-26 22:52:26 +02:00
nmlgc
1f804283f8
[Reduction] #196 : bseek_
...
With underscore. Seek origin as a separate parameter.
I'm... sure there is a reason?
2014-08-26 22:15:00 +02:00
nmlgc
ed6c5e3067
[Reduction] #195 : bseek
...
Without underscore. Relative seek.
2014-08-26 22:04:11 +02:00
nmlgc
c60e71aa12
[Reduction] #194 : text_fillca
2014-08-26 22:02:09 +02:00
nmlgc
fae5f003ad
[Reduction] #193 : bread
...
This function doesn't seem to be used outside pfopen(), and IDA struggles with
that function, which explains the missing references.
2014-08-26 21:34:06 +02:00
nmlgc
5d2d4feca0
[Reduction] #192 : bgetc
2014-08-26 21:23:54 +02:00
nmlgc
40de176f2c
[Reduction] #191 : bcloser
2014-08-26 20:54:57 +02:00
nmlgc
777a718390
[Reduction] #189-190: bgm_init and bgm_finish
...
And that's all the games seem to use from the master.lib BGM module.
2014-08-26 07:58:33 +02:00
nmlgc
b134176731
[Reduction] #187-188: bgm_timer_init and bgm_timer_finish
...
[Binary change] Order of 2 relocations in TH04's MAINE.EXE and TH05's OP.EXE
and MAINE.EXE.
2014-08-26 07:39:57 +02:00
nmlgc
54ceaad556
[Reduction] #184-186: RTC interrupt manager
2014-08-26 07:25:43 +02:00
nmlgc
0bb3f897e0
[Reduction] #183 : bgm_timerhook
2014-08-26 06:18:06 +02:00
nmlgc
b7aa7291db
[Reduction] #182 : bgm_read_sdata
...
[Binary change] Order of 2 relocations in all modified executables.
2014-08-26 06:07:19 +02:00
nmlgc
17fa89801b
[Reduction] #181 : bgm_sound
2014-08-26 01:51:57 +02:00
nmlgc
fab08f2923
[Reduction] #180 : bgm_stop_sound
2014-08-26 01:41:08 +02:00
nmlgc
8b7313010e
[Reduction] #179 : bgm_stop_play
2014-08-26 00:40:14 +02:00
nmlgc
1520dea475
[Reduction] #178 : bgm_effect_sound
2014-08-26 00:34:16 +02:00
nmlgc
06d0171bad
[Reduction] #176-177: bgm_play
...
[Binary change] Order of 3 relocations in TH04's MAINE.EXE and TH05's OP.EXE
and MAINE.EXE.
2014-08-26 00:25:48 +02:00
nmlgc
d0be24acea
[Reduction] #175 : bgm_pinit
2014-08-26 00:01:58 +02:00
nmlgc
8416cc93c9
[Reduction] #174 : bgm_mget
2014-08-25 23:08:17 +02:00
nmlgc
69daab38b2
[Reduction] #173 : bgm_set_tempo
2014-08-25 22:58:39 +02:00
nmlgc
509d3b31b9
[Reduction] #172 : BGM-related internal data
...
Initializing the BSS data to 0 instead of the ? in the original source file
avoids size changes in the MZ header.
[Binary change] Order of 5 relocations in TH04's and TH05's MAIN.EXE.
2014-08-25 22:35:22 +02:00
nmlgc
674ecce1c3
[Reduction] #171 : _bgm_bell_org
...
[Binary change] db 0 → nop before the function in every affected executable.
2014-08-25 04:49:19 +02:00
nmlgc
4a36dd15de
[Reduction] #159 : super_entry_bfnt
...
[Binary change] Order of 5 relocations in TH05's MAIN.EXE.
2014-08-23 18:09:23 +02:00
nmlgc
3de251fb60
Identify 4 functions accidentally missed in TH01's ZUNSOFT.COM
...
Wow. I just had to miss smem_release() once to find myself with a total of 4
missed functions (+ smem_wget(), bfnt_entry_pat() and
bfnt_extend_header_analysis()) a day later. Blasted tiny model.
2014-08-23 17:30:00 +02:00
nmlgc
656f993e8d
[Reduction] #158 : bfnt_palette_set
2014-08-23 16:56:01 +02:00
nmlgc
6e6293be79
[Reduction] #157 : palette_init
2014-08-23 16:18:30 +02:00
nmlgc
e76a9948b8
[Reduction] #156 : palette_show
2014-08-23 16:11:16 +02:00
nmlgc
61ccf52f3e
[Reduction] #155 : Palette data
2014-08-23 15:47:05 +02:00
nmlgc
138fcd2fce
[Reduction] #153-154: Key beep control
2014-08-23 14:01:53 +02:00
nmlgc
4759e85765
[Reduction] #152 : js_end
...
Popcorn.
2014-08-23 13:46:31 +02:00
nmlgc
6114c2871c
[Reduction] #151 : bfnt_extend_header_analysis
...
And here we have another TASM limitation: INCLUDE file names apparently are
strcpy()'d to a buffer with a fixed size of 32 bytes, causing a crash when
trying to include any file with a longer name. Quality.
2014-08-23 13:18:32 +02:00
nmlgc
20b998a428
[Reduction] #150 : bfnt_extend_header_skip
2014-08-23 12:23:03 +02:00
nmlgc
7046c47d28
[Reduction] #149 : bfnt_header_read
2014-08-23 12:08:48 +02:00
nmlgc
56a45d0b1d
[Reduction] #148 : bfnt_entry_pat
2014-08-23 11:51:14 +02:00
nmlgc
c718cc159a
[Reduction] #147 : 4-bit VRAM pixel rotation table
...
[Binary change] Order of three relocations in TH05's OP.EXE and MAINE.EXE.
2014-08-23 03:16:07 +02:00
nmlgc
76139a57c8
[Reduction] #146 : dos_axdx
2014-08-23 03:03:17 +02:00
nmlgc
cd1d7b341e
[Reduction] #145 : dos_keyclear
2014-08-23 03:02:18 +02:00
nmlgc
4d3b735008
[Reduction] #144 : dos_puts2
2014-08-23 01:48:16 +02:00
nmlgc
50bd48da18
[Reduction] #143 : dos_setvect
2014-08-23 01:38:22 +02:00
nmlgc
a756bab3cc
[Reduction] #142 : dos_read
2014-08-23 01:07:04 +02:00
nmlgc
4bcebcd875
[Reduction] #141 : dos_seek
2014-08-23 00:59:10 +02:00
nmlgc
ba3e077fc8
[Reduction] #140 : dos_close
2014-08-23 00:48:48 +02:00
nmlgc
2e2151b592
[Reduction] #139 : super_entry_pat
...
Heh, all the references to this function are still expressed in db opcode
form, because IDA couldn't process the self-modifying code in
bfnt_entry_pat(). That's almost practical in our case!
2014-08-23 00:28:05 +02:00
nmlgc
4e6ef3bd8d
[Reduction] #138 : super_entry_at
2014-08-22 23:56:33 +02:00
nmlgc
857c443b57
[Reduction] #137 : super_free
...
... yeah, TH02's MAINE.EXE indeed seems to not free its superimposed data.
In case it even allocates any.
[Binary change] db 0 → nop in ZUNSOFT.COM.
2014-08-22 23:45:21 +02:00
nmlgc
22112eab6a
[Reduction] #136 : super_cancel_pat
2014-08-22 23:33:18 +02:00
nmlgc
587f109e6a
[Reduction] #135 : Superimposed pattern data
...
... It really shows that I forgot to compress the "db 0" statements in
2bd664c5e4
.
2014-08-22 22:31:44 +02:00
nmlgc
8b32104540
[Reduction] #131-134: graph_pi_load_pack
...
Second biggest master.lib object right there... and apparently, TASM doesn't
support segment prefixes in EQU directives?
And yes, there really is no viable solution for both the NOPCALL problem (the
TASM manual states that these NOPs are inserted during single-pass assembly,
which we can't do) and the complementary jump sequences (which are only
inserted for forward references when specifying the JUMPS directive, which
doesn't seem to work for us either).
2014-08-22 21:15:44 +02:00
nmlgc
fbb78b9dd0
Replace the compatibility NOPs with a macro
2014-08-22 18:03:40 +02:00
nmlgc
aaa2d23fc8
[Reduction] #126 : graph_pi_free
...
Huh, the compatibility NOPs extend to master.lib as well?
2014-08-22 01:39:42 +02:00
nmlgc
c3202f4450
[Reduction] #125 : hmem_lallocate
2014-08-22 01:19:52 +02:00
nmlgc
47781cd013
[Reduction] #124 : smem_wget
2014-08-22 01:04:46 +02:00
nmlgc
7cde3a50ec
[Reduction] #123 : smem_release
...
Need to do this function before smem_wget() to keep the alignment identical.
2014-08-22 00:59:18 +02:00
nmlgc
ea4db822ab
[Reduction] #120-122: Heap memory functions
...
With even more misreferences in switch tables.
2014-08-22 00:17:53 +02:00
nmlgc
969990a819
[Reduction] #119 : mem_assign_dos
...
Containing, again, fixes for misreferences in TH04.
2014-08-21 23:30:20 +02:00
nmlgc
fc0ccd5e2b
[Reduction] #117-118: mem_assign and mem_assign_all
2014-08-21 23:05:54 +02:00
nmlgc
d270a625e5
[Reduction] #116 : master.lib memory manager variables
2014-08-21 22:54:07 +02:00
nmlgc
99b9963082
[Reduction] #115 : dos_ropen
...
AKA "fontfile_open()", and originally kept in FONTOPEN.ASM... yeah.
2014-08-21 22:09:18 +02:00
nmlgc
d1ccecdfa9
[Reduction] #106-108: PC-98 EGC setup
...
"Enhanced Graphic Charger", hm...
2014-08-20 22:24:05 +02:00
nmlgc
d3aaca7bd3
[Reduction] #90 : text_clear
2014-08-20 16:45:24 +02:00
nmlgc
eff96385b0
[Reduction] #82-89: PC-98 escape sequences
...
I don't know anything about ANSI/VT100/??? escape sequences, but after some
quick research, these sequences and their effect seem to be specific to the
PC-98 (although they're implemented as part of DOS, of course).
2014-08-20 16:27:28 +02:00
nmlgc
8f6c28c939
Restore master.lib's FUNC and ENDFUNC macros
...
With seg000 changed to word alignment and all definitions for "func" removed,
the master.lib functions can keep their exact alignment themselves.
[Binary change] db 0 → nop before get_machine_98() in the MAIN.EXE and
MAINE.EXE files of TH04 and TH05, respectively.
2014-08-20 15:25:40 +02:00
nmlgc
a033b347fc
[Reduction] #44 : graph_extmode
2014-08-15 16:12:09 +02:00
nmlgc
a313ae5d78
[Reduction] #43 : Text VRAM variables
2014-08-15 14:26:44 +02:00
nmlgc
d95fc3cdd9
[Reduction] #32 : get_machine
2014-08-14 14:48:55 +02:00
nmlgc
7b9a30fc8d
[Reduction] #31 : get_machine_98
2014-08-14 14:30:48 +02:00
nmlgc
1c91cc75e7
[Reduction] #30 : get_machine_at
...
Um. Not sure if ZUN used an older version there, or if these additional
branches simply resulted from a lack of optimization...
And I even had to convert the labels to local syntax.
2014-08-14 14:27:36 +02:00
nmlgc
af609d5e1c
[Reduction] #29 : get_machine_dosbox
2014-08-14 13:22:17 +02:00
nmlgc
59688e23fc
[Reduction] #28 : Machine_State
...
We~ll, OK, it's just a single variable, but it's originally stored in its own
.ASM file as well.
And yup, that's how we're going to treat data slices.
2014-08-14 13:22:14 +02:00
nmlgc
cc313d5095
[Reduction] #27 : check_machine_fmr
2014-08-14 12:22:50 +02:00
nmlgc
534ba2d142
[Reduction] #5 : bfill
...
To get anywhere, we must become able to include assembly files that define
their own segments. But this will only work if we include these files in the
order they appear in in our dumps, *starting from the very first one*. And to
include the very first one, we must first get rid of the erroneous references
to the first few bytes of the data segment... and this function happens to be
the first one referencing those.
2014-08-10 11:47:36 +02:00