Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reconstruct source code for FACTOR. #780

Merged
merged 1 commit into from
Apr 1, 2018
Merged

Reconstruct source code for FACTOR. #780

merged 1 commit into from
Apr 1, 2018

Conversation

atsampson
Copy link
Contributor

Based on a disassembly, so any misunderstandings in the comments are my own fault.

It turns out that this uses a straightforward trial division approach, although it has a couple of neat tricks to speed up its inner loop. To be fair, most of the better factoring algorithms we'd use today hadn't been invented in 1977.

I've put the reconstructed source in src/sysen1, but that's a fairly arbitrary choice; any better suggestions?

Fixes #96.

@eswenson1
Copy link
Member

I'd probably put it in sysen3, under the premise that this is not a very critical piece of software. That's where we've been putting some of the random sources for programs where we weren't sure what the correct sysenX directory was.

This is based on a disassembly of the binary AI:SYS1;TS FACTOR; the
binary and its help file .INFO.;FACTOR ORDER are both dated 1977-09-27.
MC had an identical copy with a later date.

This assembles into a binary that's identical to the original, except
that the original version has all its symbols marked as global, and no
assembly info.

Fixes #96.
@atsampson
Copy link
Contributor Author

Sounds good; moved to src/sysen3.

@larsbrinkhoff larsbrinkhoff added the reconstructed Source code reconstructed from binaries, maybe with help from other sources. label Apr 1, 2018
@atsampson atsampson merged commit f3d9ccb into master Apr 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
reconstructed Source code reconstructed from binaries, maybe with help from other sources.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants