|
All,
I just want to share a few updates with the group. I'm very close to getting this project across the finish line. I was able to create a build versionlocations—the last ~150 or so are
As it stands, about 99% of the source code has been recovered, with minor patching of the NE header and relocations. However, I’m continuing to push—assembling and linking to create a
That said, the current source code could already be used to start fixing bugs, addressing errors, adding new features, and possibly even planning a port to a modern OS.
I also welcome any ideas for new features, bugs to prioritize, and suggestions on the best path forward for evolving the source code and porting it to
On the resources side, I was able to recover all assets used in XYWrite 4.13. I now have two .rc files and two .res files, along with all icons, BMPs,v>
At this point, I’d like to ask again if anyone has NB versions 5–8 and/or 10 (I already have 9 for testing—NOT, I repeat NOT, for RE; I’m not going down that path with NB). Also, has anyone been able to find versions of editor.exe, I’m still actively searching
Thank you, and until the next update.
Best,
----
Original: ORIGINAL\XW\XW.EXE
774,800 bytes
Built: BIN\XW.EXE
773,568 bytes
Delta: -1,232 bytes (-0.16%)
NE offset: orig=0x0400 built=0x0400
==============================================================================================================
==============================================================================================================
SECTION 1: NE HEADER — SIDE-BY-SIDE COMPARISON
==============================================================================================================
Field sp; Built Match
------------------------------ ------ -------------- -------------- ------
ne_signature nbsp; 'NE' YES
linker_ver_major 0x02 5 5 YES
linker_ver_minor 0x03 13
entry_table_offset 0x04 0x0422 0x0422 YES
entry_table_size 0x06 302
crc 0x08 0x213306CA 0x84841247 ** NO
flags 0x030A YES
auto_data_seg_index 0x0E 81 81 YES
initial_heap_size 0x10 900
initial_stack_size 0x12 8192 8192 YES
entry_ip 0x14 0x8593 0x8593 YES
entry_cs_index 0x16 70 69 ** NO
initial_sp 0x18 0x0000 0x0000 YES
initial_ss_index 0x1A 81
segment_count 0x1C 81 81 YES
module_ref_count 0x1E 10
nonres_name_tbl_size 0x20 725 725 YES
seg_table_offset 0x22 0x0040 0x0040 YES
resource_table_offset 0x24 0x02C8 0x02C8 YES
resident_name_offset 0x26 0x0348 0x0348 YES
module_ref_offset 0x28 0x034E 0x034E YES
import_name_offset 0x2A 0x0362 0x0362 YES
nonresident_name_offset 0x2C 0x00000950 0x00000950 YES
movable_entry_count 0x30 49 49 YES
alignment_shift 0x32 4 4 YES
resource_seg_count 0x34 0
target_os 0x36 2 2 YES
os2_exe_flags 0x37 0x00 0x00 YES
ret_thunk_offset 0x38 0x0000 0x0000 YES
seg_ref_thunk_offset 0x3A 0x0000 0x0000 YES
min_code_swap_size 0x3C 0
expected_win_ver 0x3E 0x0300 0x0300 YES
------------------------------ ------ -------------- -------------- ------
Header fields matching: 30/32
--- MZ DOS Stub ---
MZ stub size: orig=1024 built=1024 match=YES
====================================================================================================
OVERALL SUMMARY
====================================================================================================
Total segments: 81
Byte-identical: 74 (91.4%)
Tier-1 (trivial): 7
Tier-2 (close): 0
Tier-3 (moderate): 0
Tier-4 (significant): 0
Tier-5 (major): 0
Segment bytes (orig): 672,735
Segment bytes (built): 672,735
Byte match (overlap): 669,267 / 672,735 (99.48%)
File delta: -1,232 (-0.16%)
NE overhead orig: 102,065 (headers
NE overhead built: 100,833
Overhead delta: -1,232
--
====================================================================================================
PHASE 6 -- XW.EXE SEGMENT AUDIT REPORT
====================================================================================================
Original: 774,800 bytes (81 segments)
Built: 773,568 bytes (81 segments)
Delta: -1,232 bytes (-0.16%)
====================================================================================================
Seg Type Orig Built Delta Byte% 1g 2g 3g 4g 5g Tier 1stDiff
----------------------------------------------------------------------------------------------------
1 CODE 8673 8673 bsp; n/a
2 CODE 1 1 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE
3 CODE 5543 5543 bsp; n/a
4 CODE 14383 14383 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
5 CODE 3407 3407 bsp; n/a
6 CODE 10776 10776 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
7 CODE 13173 13173 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
8 CODE 4144 4144 bsp; n/a
9 CODE 8734 8734 bsp; n/a
10 CODE 1 1 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
11 CODE 10894 10894 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
12 CODE 15847 15847 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
13 CODE 8286 8286 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
14 CODE 13243 13243 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
15 CODE 5128 5128 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
16 CODE 13000 13000 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
17 CODE 14783 14783 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
18 CODE 7644 7644 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
19 CODE 7913 7913 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
20 CODE 10077 10077 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
21 CODE 4079 4079 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
22 CODE 30216 30216 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
23 CODE 1421 1421 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
24 CODE 8578 8578 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
25 CODE 20600 20600 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
26 CODE 1 1 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
27 CODE 1 1 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
28 CODE 1 1 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
29 CODE 7088 7088 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
30 CODE 3733 3733 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
31 CODE 25 25 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
32 CODE 22862 22862 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
33 CODE 1342 1342 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
34 CODE 4321 4321 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
35 CODE 5084 5084 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
36 CODE 2149 2149 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
37 CODE 11951 11951 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
38 CODE 3884 3884 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
39 CODE 3884 3884 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
40 CODE 3234 3234 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
41 CODE 934 934 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
42 CODE 6578 6578 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
43 CODE 2998 2998 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
44 CODE 6731 6731 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
45 CODE 14004 14004 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
46 CODE 8175 8175 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
47 CODE 14516 14516 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
48 CODE 4194 4194 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
49 CODE 7239 7239 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
50 CODE 6866 6866 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
51 CODE 11161 11161 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
52 CODE 21537 21537 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
53 CODE 5049 5049 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
54 CODE 9140 9140 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
55 CODE 8056 8056 +0 99.8% 0.999 0.997 0.995 0.993 0.990 TIER-1 0x1CAF
56 CODE 2155 2155 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
57 CODE 701 701 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
58 CODE 1435 1435 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
59 CODE 1 1 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
60 CODE 24 24 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
61 CODE 1 1 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
62 CODE 9153 9153 +0 95.8% 0.984 0.959 0.923 0.882 0.839 TIER-1 0x0E05
63 CODE 297 297 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
64 CODE 4303 4303 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
65 CODE 2584 2584 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
66 CODE 1 1 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
67 CODE 1 1 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
68 CODE 1 1 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
69 CODE 22079 22079 +0 95.9% 0.984 0.963 0.933 0.896 0.853 TIER-1 0x003A
70 CODE 37423 37423 +0 95.8% 0.990 0.973 0.939 0.896 0.846 TIER-1 0x0040
71 CODE 8872 8872 +0 97.0% 0.993 0.980 0.954 0.924 0.885 TIER-1 0x00DB
72 CODE 5756 5756 +0 95.2% 0.965 0.927 0.887 0.841 0.793 TIER-1 0x0017
73 DATA 37390 37390 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
74 DATA 37390 37390 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
75 DATA 0 0 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
76 DATA 5846 5846 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
77 DATA 3643 3643 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
78 DATA 15 15 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
79 DATA 207 207 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
80 DATA 868 868 +0 100.0% 1.000 1.000 1.000 1.000 1.000 DONE n/a
81 DATA 55307 55307 +0 99.9% 0.999 0.998 0.997 0.996 0.995 TIER-1 0x0DD6
----------------------------------------------------------------------------------------------------
TOT 672735 672735 +0
Segment totals: orig=672,735 built=672,735 delta=+0
NE overhead: orig=102,065 built=100,833 delta=-1,232
(headers + relocation fixups + alignment padding)
EXE file: orig=774,800 built=773,568 delta=-1,232
|