<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Teaching an Almost 40-year Old UNIX about Backspace	</title>
	<atom:link href="https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/feed/" rel="self" type="application/rss+xml" />
	<link>https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/</link>
	<description>Fun with Virtualization</description>
	<lastBuildDate>Thu, 29 Feb 2024 03:36:43 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>
		By: Yoshi128k		</title>
		<link>https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-356712</link>

		<dc:creator><![CDATA[Yoshi128k]]></dc:creator>
		<pubDate>Thu, 29 Feb 2024 03:36:43 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=8068#comment-356712</guid>

					<description><![CDATA[I made the requisite patches to the system source code and rebuilt the kernel, but it panics when I attempt to boot it (my old kernel still works, however). Is it possible I missed a step, or did the kernel compilation wrong?]]></description>
			<content:encoded><![CDATA[<p>I made the requisite patches to the system source code and rebuilt the kernel, but it panics when I attempt to boot it (my old kernel still works, however). Is it possible I missed a step, or did the kernel compilation wrong?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Eric Hanneken		</title>
		<link>https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-252847</link>

		<dc:creator><![CDATA[Eric Hanneken]]></dc:creator>
		<pubDate>Tue, 07 Apr 2020 00:06:13 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=8068#comment-252847</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-252844&quot;&gt;Roy&lt;/a&gt;.

Yes, I used diff -e to generate the embedded ed(1) scripts.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-252844">Roy</a>.</p>
<p>Yes, I used diff -e to generate the embedded ed(1) scripts.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Roy		</title>
		<link>https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-252844</link>

		<dc:creator><![CDATA[Roy]]></dc:creator>
		<pubDate>Mon, 06 Apr 2020 23:57:00 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=8068#comment-252844</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-252825&quot;&gt;Eric Hanneken&lt;/a&gt;.

diff -e ?]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-252825">Eric Hanneken</a>.</p>
<p>diff -e ?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Eric Hanneken		</title>
		<link>https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-252825</link>

		<dc:creator><![CDATA[Eric Hanneken]]></dc:creator>
		<pubDate>Mon, 06 Apr 2020 21:52:27 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=8068#comment-252825</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-190844&quot;&gt;xorhash&lt;/a&gt;.

I created a shell script to patch the source using ed(1):

https://gist.github.com/ehanneken/2413ec505a1e9c18f80a7fd3a081b99e]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-190844">xorhash</a>.</p>
<p>I created a shell script to patch the source using ed(1):</p>
<p><a href="https://gist.github.com/ehanneken/2413ec505a1e9c18f80a7fd3a081b99e" rel="nofollow ugc">https://gist.github.com/ehanneken/2413ec505a1e9c18f80a7fd3a081b99e</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Eric Hanneken		</title>
		<link>https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-252820</link>

		<dc:creator><![CDATA[Eric Hanneken]]></dc:creator>
		<pubDate>Mon, 06 Apr 2020 21:39:32 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=8068#comment-252820</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-190844&quot;&gt;xorhash&lt;/a&gt;.

I wrote a shell script that uses ed(1) to patch the source code:

cd /usr

ed ./src/cmd/getty.c &#060;&#060;&#039;EOE&#039;
12c
struct tchars tchars = { &#039;\003&#039;, &#039;\034&#039;, &#039;\021&#039;, &#039;\023&#039;, &#039;\004&#039;, &#039;\377&#039; };
.
8,9c
#define ERASE &#039;\177&#039;
#define KILL &#039;\025&#039;
.
w
q
EOE

ed ./src/cmd/login.c &#060;&#060;&#039;EOE&#039;
46,47c
	ttyb.sg_erase = 0177;
	ttyb.sg_kill = 025;
.
w
q
EOE

ed ./sys/dev/tty.c &#060;&#060;&#039;EOE&#039;
559a
	 * DEL is just a very fancy backspace today.
	 * However, just reducing colp by one is insufficient.
	 * We need to send an actual ^H.
	 * We&#039;re taking this opportunity to also rub out the
	 * previous character.
	 */
	if (c==0177) {
		ttyoutput(010, tp);
		ttyoutput(&#039; &#039;, tp);
		ttyoutput(010, tp);
		return;
	}
	/*
.
w
q
EOE

ed ./sys/h/tty.h &#060;&#060;&#039;EOE&#039;
84c
#define	CINTR	003		/* ctl-c */
.
82c
#define	CKILL	025
.
80c
#define	CERASE	0177		/* default special characters */
.
w
q
EOE]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-190844">xorhash</a>.</p>
<p>I wrote a shell script that uses ed(1) to patch the source code:</p>
<p>cd /usr</p>
<p>ed ./src/cmd/getty.c &lt;&lt;&#039;EOE&#039;<br />
12c<br />
struct tchars tchars = { &#039;\003&#039;, &#039;\034&#039;, &#039;\021&#039;, &#039;\023&#039;, &#039;\004&#039;, &#039;\377&#039; };<br />
.<br />
8,9c<br />
#define ERASE &#039;\177&#039;<br />
#define KILL &#039;\025&#039;<br />
.<br />
w<br />
q<br />
EOE</p>
<p>ed ./src/cmd/login.c &lt;&lt;&#039;EOE&#039;<br />
46,47c<br />
	ttyb.sg_erase = 0177;<br />
	ttyb.sg_kill = 025;<br />
.<br />
w<br />
q<br />
EOE</p>
<p>ed ./sys/dev/tty.c &lt;&lt;&#039;EOE&#039;<br />
559a<br />
	 * DEL is just a very fancy backspace today.<br />
	 * However, just reducing colp by one is insufficient.<br />
	 * We need to send an actual ^H.<br />
	 * We&#039;re taking this opportunity to also rub out the<br />
	 * previous character.<br />
	 */<br />
	if (c==0177) {<br />
		ttyoutput(010, tp);<br />
		ttyoutput(&#039; &#039;, tp);<br />
		ttyoutput(010, tp);<br />
		return;<br />
	}<br />
	/*<br />
.<br />
w<br />
q<br />
EOE</p>
<p>ed ./sys/h/tty.h &lt;&lt;&#039;EOE&#039;<br />
84c<br />
#define	CINTR	003		/* ctl-c */<br />
.<br />
82c<br />
#define	CKILL	025<br />
.<br />
80c<br />
#define	CERASE	0177		/* default special characters */<br />
.<br />
w<br />
q<br />
EOE</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Rhialto		</title>
		<link>https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-191191</link>

		<dc:creator><![CDATA[Rhialto]]></dc:creator>
		<pubDate>Wed, 31 Jan 2018 23:26:40 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=8068#comment-191191</guid>

					<description><![CDATA[A simple trick I&#039;ve read (I haven&#039;t tried it, but it sounds like it should work), is to use tar to write to a disk device. Outside the SIMH instance it is of course a file, and you can use tar on that file too. It just needs to understand the old V7 tar format.
Or otherwise you can do it one plain file at a time (although that might get tricky with detecting the end of it).]]></description>
			<content:encoded><![CDATA[<p>A simple trick I&#8217;ve read (I haven&#8217;t tried it, but it sounds like it should work), is to use tar to write to a disk device. Outside the SIMH instance it is of course a file, and you can use tar on that file too. It just needs to understand the old V7 tar format.<br />
Or otherwise you can do it one plain file at a time (although that might get tricky with detecting the end of it).</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Eric Olson		</title>
		<link>https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-191153</link>

		<dc:creator><![CDATA[Eric Olson]]></dc:creator>
		<pubDate>Mon, 29 Jan 2018 17:42:43 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=8068#comment-191153</guid>

					<description><![CDATA[It is possible to get tmux to pass crtl+h for backspace and proceed without recompiling code for either R7 Unix or tmux.  Details are at my thread Historic Unix R7 using SIMH on the Raspberry Pi forum 

https://www.raspberrypi.org/forums/viewtopic.php?p=1055855#p1056719

This thread also details how to enable the high-speed DZ11 serial port driver in R7 and connect to those ports remotely using ssh.]]></description>
			<content:encoded><![CDATA[<p>It is possible to get tmux to pass crtl+h for backspace and proceed without recompiling code for either R7 Unix or tmux.  Details are at my thread Historic Unix R7 using SIMH on the Raspberry Pi forum </p>
<p><a href="https://www.raspberrypi.org/forums/viewtopic.php?p=1055855#p1056719" rel="nofollow ugc">https://www.raspberrypi.org/forums/viewtopic.php?p=1055855#p1056719</a></p>
<p>This thread also details how to enable the high-speed DZ11 serial port driver in R7 and connect to those ports remotely using ssh.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: xorhash		</title>
		<link>https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-190865</link>

		<dc:creator><![CDATA[xorhash]]></dc:creator>
		<pubDate>Thu, 18 Jan 2018 11:01:40 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=8068#comment-190865</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-190861&quot;&gt;DOS&lt;/a&gt;.

That&#039;s pretty convenient. Good find!

It also gives me an idea. I thought I was done with V7, but here we go again.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-190861">DOS</a>.</p>
<p>That&#8217;s pretty convenient. Good find!</p>
<p>It also gives me an idea. I thought I was done with V7, but here we go again.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: DOS		</title>
		<link>https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-190864</link>

		<dc:creator><![CDATA[DOS]]></dc:creator>
		<pubDate>Thu, 18 Jan 2018 10:33:11 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=8068#comment-190864</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-190863&quot;&gt;Alexander Voropai&lt;/a&gt;.

Thanks!  I found that project, but those first two tools are missing from the README.md so I didn&#039;t notice them.  I see that they support multiple files per tape as you&#039;d hope.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-190863">Alexander Voropai</a>.</p>
<p>Thanks!  I found that project, but those first two tools are missing from the README.md so I didn&#8217;t notice them.  I see that they support multiple files per tape as you&#8217;d hope.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Alexander Voropai		</title>
		<link>https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-190863</link>

		<dc:creator><![CDATA[Alexander Voropai]]></dc:creator>
		<pubDate>Thu, 18 Jan 2018 10:08:44 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=8068#comment-190863</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-190856&quot;&gt;DOS&lt;/a&gt;.

JFYI there are also a &quot;standard&quot; SIMH tools
https://github.com/simh/simtools
( simtools/converters )
mksimtape - creates a SIMH tape
( simtools/extracters )
rawtap is extracter/creator
mtdump - dumps a tape structure]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/comment-page-1/#comment-190856">DOS</a>.</p>
<p>JFYI there are also a &#8220;standard&#8221; SIMH tools<br />
<a href="https://github.com/simh/simtools" rel="nofollow ugc">https://github.com/simh/simtools</a><br />
( simtools/converters )<br />
mksimtape &#8211; creates a SIMH tape<br />
( simtools/extracters )<br />
rawtap is extracter/creator<br />
mtdump &#8211; dumps a tape structure</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
