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 SSV 22 source code #1875

Merged
merged 2 commits into from
May 8, 2020
Merged

Reconstruct SSV 22 source code #1875

merged 2 commits into from
May 8, 2020

Conversation

larsbrinkhoff
Copy link
Member

Reconstruct SSV 22 source code from the IMTRAN'ed binary.

According to records (see #1001), SSV 22 is from 1974-04-05. (Roughly contemporary with MAZE, #236, #1330.) The closest relative seems to be the ML file IMLAC; SSV 52 dated 1973-01-11. This file may have been edited to run on a PDS-4 (#1598), but the differences are minor. Other files which can inform the reconstruction are SSVMSE (#1398), SST 21 (#1503), and STV 21.

@larsbrinkhoff larsbrinkhoff added dynamic modeling Things from the Dynamic Modeling machine. reconstructed Source code reconstructed from binaries, maybe with help from other sources. imlac labels Apr 29, 2020
@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Apr 29, 2020

Also reverse engineer some documentation for SSV 22.

This is from the KEYDIS table. Some key codes for now.

Key Function
XMIT Line transmit
Control ↓ Delete down
Move cursor down
Right arrow
Control → Delete right
Control ↑ Delete up
Move cursor up
Control → Delete left
Move curor left
Control Shift TAB Reload (jump to bootstrap)
Control TAB Reinitialize SSV
Shift TAB Set TTY mode
LF LF
Shift LF Down
FF 14
Shift FF Toggle TTY/EDIT mode
CR CR
Shift CR Reverse CRLF
Shift PAGE SMIT Slow page xmit
Control PAGE XMIT Page xmit, clearing screen
HOME Home
Shift HOME Home up
Shift 230 Clear current line
230 Toggle cursor twitchery
Control 230 Clear screen
Shift BRK Toggle auto repeat
BRK Toggle upper/lower case
232 Delete character to the right of cursor
ESC Esc, Altmode
Control Shift ESC Start program at 10000
234 Delete current line
235 Insert comment
Shift 235 Toggle margin line
236 37
Shift 236 Delete character to the right of cursor
237 11
377 DEL
Shift 377 Delete character to the right of cursor
Control Shift 377 Clear screen

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented May 1, 2020

Cursor etc codes. From TTYDIS table:

Code Function
001 Dispatch on next character
007 Dong, ring bell
010 Backspace
011 Tab
012 Line feed, more cursor down and to the left margin
013 Move cursor down
014 Clear screen
015 Carriage return, move cursor to left margin
016 x y Move cursor to x, y
017 Move cursor left
020 Delete from cursor to end of screen
021 Delete from cursor to end of line
022 Clear screen
023 Delete current line
024 Move cursor to start of screen
025 More cursor to end of screen
030 Delete character
031 Move cursor right
032 Move cursor up
033 Insert altmode
035 a b c d ARDS set point
036 a b c d ARDS long vector
037 a b ARDS short vector

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented May 1, 2020

001 dispatch character, next character:

Code Function
001 Jump to 40, load program from bootstrap
002 Insert TECO cursor
003 Move to end of screen
004 Same as 003
005 Same as 003
006 Jump to 10000, for overlaid program
007 Edit mode
010 TTY mode

@larsbrinkhoff larsbrinkhoff marked this pull request as draft May 3, 2020 20:44
@larsbrinkhoff larsbrinkhoff force-pushed the lars/ssv22 branch 2 times, most recently from 5453b8f to 7cc8fa5 Compare May 3, 2020 20:51
@larsbrinkhoff
Copy link
Member Author

@jdersch, this is source code for SSV 22.

@larsbrinkhoff
Copy link
Member Author

The assembled file is an exact binary match against @tuban's SSV file. MIDAS 324 is used rather than the latest version, because the latter will insert extra zeroes.

The file IMLAC; SSV 52 dated 1973-01-07 was edited to match the Imlac
block loader format file http://www.ubanproductions.com/Imlac/ssv,
which claims to be SSV 22.  SSVMSE 38 from 1977-12-13 was also helpful
in the process.

IMSRC; SSVCHR 22 is entirely from disassembly.  The original file
would have been machine generated by SYMFOR.
@larsbrinkhoff larsbrinkhoff marked this pull request as ready for review May 7, 2020 18:10
@larsbrinkhoff larsbrinkhoff merged commit 4f21a27 into master May 8, 2020
@larsbrinkhoff larsbrinkhoff deleted the lars/ssv22 branch May 8, 2020 06:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dynamic modeling Things from the Dynamic Modeling machine. imlac 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.

2 participants