VOGONS


First post, by xyquest4018

User metadata
Rank Newbie
Rank
Newbie

Hello everyone,

I’m new here and currently researching the full version history of XyWrite.

I wanted to share something that may be of interest: I’ve published what I believe to be the first bit-perfect reconstruction of XyWrite II Plus v1.10, based on original materials and validation against known binaries. The source code is available here:

GitHub: https://github.com/xyquest4018/xywrite2

I’d greatly appreciate any comments, validation, or feedback from those familiar with XyWrite internals, build environments, or historical distributions.

In parallel, I’m trying to find all possible versions of XyWrite across its entire lifecycle. Below is my current working draft of what I'm still missing. I’m especially interested in corrections, missing versions, and any archival insights—particularly for early releases.

Working Draft – XyWrite Version Table - still need to find these

XyWrite
1983 – v2.0/2.1 – DOS – Advanced formatting & menu customization – ~100 KB

XyWrite II Plus
1984 – v1.00 – DOS – Introduced XPL – 70,016 bytes
1985 – v2.0 (Transitional) – DOS – Bridge to III engine – 142,848 bytes

XyWrite III
1986 – v3.0 – DOS – Major rewrite; 9-window multitasking – 158,208 bytes
1986 – v3.05 – DOS – Macro standardization – 159,104 bytes
1987 – v3.06 – DOS – Terminal patch – 160,112 bytes
1987 – v3.1/3.11 – DOS – Final non-Plus III – 162,336 bytes
1987 – v3.12 – DOS – “LaserJet Bridge” – 162,816 bytes
1987 – v3.15 – DOS – “Star” build; 32-bit headers – ~163 KB

XyWrite III Plus
1987 – v3.50 – DOS – Initial Plus engine – 170,496 bytes
1987 – v3.51 – DOS – Speller stabilization – 171,112 bytes
1987 – v3.52c – DOS – Typewriter mode fix – 172,233 bytes
1987 – v3.52m – DOS – “Micro” build – 170,112 bytes
1987 – v3.52r – DOS – Macro memory fix – 172,233 bytes
1987 – v3.53 – DOS – Printer expansion – 172,361 bytes
1988 – v3.54a – DOS – DCA/RFT patch – ~180 KB
1988 – v3.54b – DOS – Newsroom/AP fixes – ~180 KB
1989 – v3.55a – DOS – Scandinavian maintenance – 180,604 bytes
1989 – v3.55b – DOS – NetWare SFT build – 180,604 bytes
1989 – v3.57A/B/C/D – DOS – Final 3.57; FAT16 fix – 210,112 bytes
1990 – v3.58 – DOS – Final retail III Plus – 212,480 bytes

Coyote (Internal Beta)
1991 – v3.90–3.96 – DOS – Hybrid III+/4 alpha – ~450 KB

IBM Signature (Project J)
1991 – v1.01–1.03 – DOS – Maintenance updates – 528,640 bytes
1991 – v1.04 – DOS – Enterprise-only build – size unknown
1992 – v1.05 – DOS – OS/2 VDM crash fix – ~535 KB

XyWrite 4 (XyQuest Return)
1992 – v4.010 – DOS – Pre-retail beta – 610,304 bytes
1993 – v4.0 – DOS – WYSIWYG & Bitstream fonts – 614,400 bytes
1993 – v4.01/4.01b – DOS – Graphics fixes – ~615 KB
1993 – v4.012 – DOS – XPL leak fix – 622,592 bytes
1993 – v4.013 – DOS – Orbis bundle – 638,976 bytes
1993 – v4.014A/a – DOS – OEM fixes – ~640 KB
1993 – v4.014L/L+ – DOS – Laptop builds – 642,816 bytes
1993 – v4.015 – DOS – Dialog refinement – 645,112 bytes
1993 – v4.015-B – DOS – Microlytics reintegration – 645,112 bytes
1993 – v4.015-B2 – DOS – Thesaurus memory fix – 645,112 bytes
1993 – v4.015-C – DOS – “Clean” newsroom build – 645,120 bytes
1993 – v4.015L – DOS – Laptop optimization – 645,112 bytes
1993 – v4.015Q – DOS – OEM Quick build – 645,112 bytes
1993 – v4.015-O – DOS – Orbis search integration – 651,264 bytes
1993 – v4.016 – DOS – SVGA & Win 3.1 stability – 658,432 bytes
1993–94 – v4.016A–D – DOS – Enterprise hotfixes – 658,432 bytes
1994 – v4.017E – DOS – European charset – 661,421 bytes
1994 – v4.017-X – DOS – Win95 shell fix – 661,424 bytes

XyWrite for Windows (XyWin)
1992 – v1.0 – Win16 – First GUI release – ~800 KB
1993 – v4.11 – Win16 – Filter/font improvements – ~1.0 MB
1993 – v4.11a – Win16 – FastDisk compatibility fix – ~1.0 MB
1994 – v4.12j – Win16 – OLE/clipboard fixes – ~1.1 MB

I’m particularly interested in:

Any missing intermediate builds or regional variants
Original distribution disks or verified binaries
Toolchain details used for building different versions

Thanks in advance for any insights—this is a fascinating system and I’m hoping to document it as accurately as possible.

Best regards,
XYQUEST

Reply 1 of 7, by Snover

User metadata
Rank l33t++
Rank
l33t++
xyquest4018 wrote on Yesterday, 17:54:

I wanted to share something that may be of interest: I’ve published what I believe to be the first bit-perfect reconstruction of XyWrite II Plus v1.10, based on original materials and validation against known binaries. The source code is available here:

GitHub: https://github.com/xyquest4018/xywrite2

I’d greatly appreciate any comments, validation, or feedback from those familiar with XyWrite internals, build environments, or historical distributions.

Welcome to VOGONS!

With respect for your efforts, running IDA on a binary and then pasting the auto-analysis disassembly into some asm files and then shoving those through a linker isn’t a “reconstruction”. It is like zipping and unzipping a file then going “look! the output is bit-perfect!”. Yes, of course it is. They are the same bits.

When reverse engineers talk about doing “reconstructions”, they mean that they’ve done actual work to rewrite each subroutine in a high-level language that compiles back down to the original machine code. That’s not what has happened here. The low-effort and self-aggrandising tone on this repository (did you use an LLM and not disclose it? It sure seems that way) is going to immediately alienate you from others in the community who might otherwise be receptive.

I understand and appreciate your excitement and enthusiasm, but if you actually want community support, you’re very much starting off on the wrong foot. I hope that you will reconsider the approach and come back with a more grounded and realistic attitude, rather than one which loudly and falsely proclaims “ PROJECT COMPLETE” after essentially zero effort.

Yes, it’s my fault.

Reply 2 of 7, by xyquest4018

User metadata
Rank Newbie
Rank
Newbie

Thanks for the welcome and for taking the time to respond—I do appreciate the feedback.

That said, I think there may be a misunderstanding of what was actually done here.

This isn’t a simple “run IDA, copy/paste, reassemble” process. Getting from disassembly (whether from IDA or Ghidra) to a working, linkable, and bit-identical binary requires resolving a number of non-trivial issues—addressing, relocation assumptions, segment handling, instruction encoding differences, and cases where disassemblers emit constructs that don’t map cleanly back to assembler syntax. In several places, raw opcodes had to be analyzed and rewritten into valid instructions while preserving exact machine code output.

So while I agree that the term “reconstruction” can mean different things in different contexts, this effort was not zero-effort or purely mechanical.

Regarding the “complete” wording—that’s fair criticism. What I meant was completion of an initial stage (i.e., achieving a reproducible, bit-matching build), not that the project as a whole is finished. The README does outline additional work (cleanup, documentation, refactoring, etc.), but I can see how the phrasing could be misleading and I’ll adjust that.

My goal here isn’t to overstate anything, but to:

make the codebase buildable and inspectable
document the structure of the program
and provide a foundation for deeper analysis or eventual higher-level reconstruction

If others here have insights into the original toolchain, undocumented behavior, or version differences, I’d genuinely welcome that input—that’s a big part of why I posted.

Thanks again for the feedback.

Reply 3 of 7, by Snover

User metadata
Rank l33t++
Rank
l33t++

Are you using an LLM to reply?

Yes, it’s my fault.

Reply 4 of 7, by xyquest4018

User metadata
Rank Newbie
Rank
Newbie

Did you review the files? Did you build the project? Did you compare results with the original xywrite2? So stop making accusations and do some real work and review this properly and stop throwing darts. I decided to share this for the benefit of all but there has to be one that is always putting down others because he does not like the language or whatever it is. I'll keep it on for other people if they are interested and will be released XyWrite 3.58b and XyWrite 4.018 full source code soon.

Reply 5 of 7, by Garrett W

User metadata
Rank Oldbie
Rank
Oldbie

l o l, get outta here

Reply 6 of 7, by xyquest4018

User metadata
Rank Newbie
Rank
Newbie

with pleasure - buffoons! Who would think that this great community had such buffoons....

Reply 7 of 7, by megatron-uk

User metadata
Rank l33t
Rank
l33t

You are NOT releasing the source code. You are merely regurgitating the already obfuscated object code in a form which allows the binaries to be recreated. That is not reimplementation. Take the inputs, the outputs and recreate the behaviour from scratch... THAT is a reimplementation. You have simply stolen the existing code and claim it as your own.

You also still haven't answered the question about LLM use. From the style and format of your repo Readme.md file, and the word soup contained within, I think we have all we need to know.

My collection database and technical wiki:
https://www.target-earth.net