Hi all,
I've been working quite a bit recently with SunOS 4 on a SPARCstation 5,
seeing what I can coax out of it in terms of building and supporting a
modern computing environment. I know that TUHS isn't really the right
place for this, but can someone point me to somewhere that is? I've made
significant progress in some areas and spent a lot of cycles to get there -
for instance, I have GCC 3.4.6 up and running - so I'd like to contribute
to a community if one exists. Is there a modern equivalent of sun-managers?
-Henry
Hi all (and TUHS),
The Third Edition rand(III) page [1] ends with
WARNING The author of this routine has been writing
random-number generators for many years and has
never been known to write one that worked.
My understanding is that Ken wrote the rand implementation.
But I'm curious about the origin of this warning.
I had assumed that Ken wrote it as a combination warning+joke,
but Rob suggested that to him it didn't sound like Ken and
perhaps Doug or Dennis had written it. Does anyone remember?
Separately, I am trying to find out what the very first
Unix rand implementation was. In the TUHS archives,
the incomplete V2 sources contain a reference to srand
in cmd/bas0.s [2], but there is no definition in the tree.
The V3 man pages list it, but as far as I can tell full
library sources do not appear in the TUHS archives
until the V6 snapshot. The V6 rand [3] is:
rand:
mov r1,-(sp)
mov ranx,r1
mpy $13077.,r1
add $6925.,r1
mov r1,r0
mov r0,ranx
bic $100000,r0
mov (sp)+,r1
rts pc
Perhaps this is the original rand as well? It is hard to imagine
a much simpler one, other than perhaps removing the addition,
but doing so would create a sequence of only odd numbers.
From the man page description it sounds like this has to be the
original generator, perhaps with different constants.
Thanks!
Best,
Russ
[1]
https://github.com/dspinellis/unix-history-repo/blob/Research-V3/man/man3/r…
[2]
https://github.com/dspinellis/unix-history-repo/blob/Research-V2/cmd/bas0.s
[3]
https://github.com/dspinellis/unix-history-repo/blob/Research-V6/usr/source…
I don't know about the PiSCSI in particular. For the SCSI2SD, if you have
the drive properly defined in the controller you can just use dd to write
the image to the SD card at the offset where the drive is defined. If the
drive is the first thing on the card, dd if=image of=drive conv=notrunc
will do what you want.
-Henry
On Wed, 13 Mar 2024 at 18:12, <earl(a)baugh.org> wrote:
> I’ll have to see about pulling stuff out this weekend and maybe move
> forward.
>
> Still am missing one part — how to get an external SCSI emulator to the
> point where I can get a disk image to it.
>
> Is there a way to move the disk created in TME onto an emulator?? (BTW,
> I’ll probably be using the PiSCSI for this, since I want to have multiple
> images out there, as well as a SD drive so I don’t chance losing stuff
> after getting it all set up.
>
> Earl
>
> On Mar 13, 2024, at 6:09 PM, Henry Bent <henry.r.bent(a)gmail.com> wrote:
>
> The emulation of proper tape drive records is present in TME - see this
> fragment from the setup file that I have to install SunOS 2:
>
> ## power up the machine:
> ##
> # uncomment this line to automatically power up the machine when
> # tmesh starts:
> #
> command tape0 load sunos-2.0-sun2/tape1/01 sunos-2.0-sun2/tape1/02
> sunos-2.0-sun2/tape1/03 sunos-2.0-sun2/tape1/04 sunos-2.0-sun2/tape1/05
> sunos-2.0-sun2/tape1/06 sunos-2.0-sun2/tape1/07 sunos-2.0-sun2/tape1/08
> sunos-2.0-sun2/tape1/09 sunos-2.0-sun2/tape1/10
> command mainbus0 power up
>
> Let me know if you need more of a walkthrough, I'd have to get NetBSD
> running in a VM as I haven't worked with this in a long time, but I'm sure
> it still works.
>
> -Henry
>
> On Wed, 13 Mar 2024 at 18:04, <earl(a)baugh.org> wrote:
>
>> I had old instructions to do this but getting TME running was a bit
>> quirky. And the package had lost most of it’s support.
>> (I did just go out and find that some folks have somewhat resurrected
>> it…)
>>
>> I have the install manual for 3.5 (
>> http://www.bitsavers.org/pdf/sun/sunos/3.5/800-2089-10A_Release_3.5_Manual_…
>> )
>> And did find this about TME Now ( https://pkgsrc.se/wip/tme )
>> And these instructions (which from the link before this page indicated as
>> of 2019 they still worked
>> http://people.csail.mit.edu/fredette/tme/sun3-150-nbsd.html )
>>
>> That would get me “close” if I could somehow write to an emulated SCSI
>> device.. or the SD card that supported it… etc. Blue SCSI, Green SCSI, Pi
>> SCSI, etc. I don’t care which (would prefer something that would let me use
>> a “real” drive… SSD or similar is fine… rather than SD card). I do have an
>> image that gets me “somewhat” booting with a SCSI2SD but the additional
>> drive mounts are wrong in the fstab/mtab so I can’t get it fully to boot….
>>
>> If I can figure out the process, I’ll make images and share them (for all
>> the early Sun OS’s) and write up a web page and post it to archive.org so
>> nobody has to go thru this again :-)
>>
>> Earl
>>
>> On Mar 13, 2024, at 5:56 PM, Henry Bent <henry.r.bent(a)gmail.com> wrote:
>>
>> TME - most recently https://osdn.net/projects/nme/ - in theory does what
>> you want. Its setup and use is a bit idiosyncratic, and I have found that
>> it is unhappy running on OSs other than NetBSD, but if you get it running
>> it just works. I've used it to set up installations of SunOS 3 and 4 on
>> sun2, sun3, and sun4 architectures.
>>
>> -Henry
>>
>> On Wed, 13 Mar 2024 at 17:49, <earl(a)baugh.org> wrote:
>>
>>> I’m looking for a “Sun OS 3.5” emulation running where I can attach a
>>> SCSI emulator to it and get the full OS installed.
>>> I’ve got tape images but I haven’t found the process to emulate how it
>>> used to work.
>>>
>>> From the initial boot prompt, you extracted them to the “swap partition”
>>> and then started the install and it would prompt you for the next tape when
>>> needed.
>>> So, I guess we’d need an emulated tape or something, etc. I have all
>>> the tar’s (all the way back to Sun OS 1 or so) but have been frustrated
>>> trying to make some progress.
>>>
>>> Earl
>>>
>>>
>>> On Mar 13, 2024, at 5:31 PM, Henry Bent <henry.r.bent(a)gmail.com> wrote:
>>>
>>> On Wed, 13 Mar 2024 at 17:27, Will Senn <will.senn(a)gmail.com> wrote:
>>>
>>>> On 3/13/24 3:12 PM, Henry Bent wrote:
>>>>
>>>> Hi all,
>>>>
>>>> I've been working quite a bit recently with SunOS 4 on a SPARCstation
>>>> 5, seeing what I can coax out of it in terms of building and supporting a
>>>> modern computing environment. I know that TUHS isn't really the right
>>>> place for this, but can someone point me to somewhere that is? I've made
>>>> significant progress in some areas and spent a lot of cycles to get there -
>>>> for instance, I have GCC 3.4.6 up and running - so I'd like to contribute
>>>> to a community if one exists. Is there a modern equivalent of sun-managers?
>>>>
>>>> -Henry
>>>>
>>>> Not an answer to the question, but on a tangent...
>>>>
>>>> I recently saw that Solaris 11.4 SRU66 was released and had a yearning
>>>> to see how things in Solaris land were doing (can't stand Gnome so
>>>> OpenIndiana's a bust)... but with Oracle's Solaris, it's a mess at least
>>>> for hobbyists (only get release patches, so I'm guessing the most up to
>>>> date 'release' was 11.4 in 2018). So, when I saw your post on SunOS 4, I
>>>> thought I'd tool around and see if it was easy to get rolling as a VM,
>>>> turns out things have come a long way on that front:
>>>>
>>>> https://defcon.no/sysadm/playing-with-sunos-4-1-4-on-qemu/
>>>>
>>>> OpenWindows 3... wow... works great on my Mint instance. Now, if I
>>>> could just remember how commands work on SunOS :).
>>>>
>>>
>>> Thanks Will! You may also be interested in
>>> https://john-millikin.com/running-sunos-4-in-qemu-sparc as another
>>> resource about running SunOS 4 in QEMU. I have considered moving my setup
>>> to QEMU, especially as it would be very easy to create a hard drive image
>>> since I am using a SCSI2SD board, but there is something about running
>>> these things on the original hardware that is difficult to leave behind.
>>>
>>> -Henry
>>>
>>>
>>>
>>
>
The emulation of proper tape drive records is present in TME - see this
fragment from the setup file that I have to install SunOS 2:
## power up the machine:
##
# uncomment this line to automatically power up the machine when
# tmesh starts:
#
command tape0 load sunos-2.0-sun2/tape1/01 sunos-2.0-sun2/tape1/02
sunos-2.0-sun2/tape1/03 sunos-2.0-sun2/tape1/04 sunos-2.0-sun2/tape1/05
sunos-2.0-sun2/tape1/06 sunos-2.0-sun2/tape1/07 sunos-2.0-sun2/tape1/08
sunos-2.0-sun2/tape1/09 sunos-2.0-sun2/tape1/10
command mainbus0 power up
Let me know if you need more of a walkthrough, I'd have to get NetBSD
running in a VM as I haven't worked with this in a long time, but I'm sure
it still works.
-Henry
On Wed, 13 Mar 2024 at 18:04, <earl(a)baugh.org> wrote:
> I had old instructions to do this but getting TME running was a bit
> quirky. And the package had lost most of it’s support.
> (I did just go out and find that some folks have somewhat resurrected it…)
>
> I have the install manual for 3.5 (
> http://www.bitsavers.org/pdf/sun/sunos/3.5/800-2089-10A_Release_3.5_Manual_…
> )
> And did find this about TME Now ( https://pkgsrc.se/wip/tme )
> And these instructions (which from the link before this page indicated as
> of 2019 they still worked
> http://people.csail.mit.edu/fredette/tme/sun3-150-nbsd.html )
>
> That would get me “close” if I could somehow write to an emulated SCSI
> device.. or the SD card that supported it… etc. Blue SCSI, Green SCSI, Pi
> SCSI, etc. I don’t care which (would prefer something that would let me use
> a “real” drive… SSD or similar is fine… rather than SD card). I do have an
> image that gets me “somewhat” booting with a SCSI2SD but the additional
> drive mounts are wrong in the fstab/mtab so I can’t get it fully to boot….
>
> If I can figure out the process, I’ll make images and share them (for all
> the early Sun OS’s) and write up a web page and post it to archive.org so
> nobody has to go thru this again :-)
>
> Earl
>
> On Mar 13, 2024, at 5:56 PM, Henry Bent <henry.r.bent(a)gmail.com> wrote:
>
> TME - most recently https://osdn.net/projects/nme/ - in theory does what
> you want. Its setup and use is a bit idiosyncratic, and I have found that
> it is unhappy running on OSs other than NetBSD, but if you get it running
> it just works. I've used it to set up installations of SunOS 3 and 4 on
> sun2, sun3, and sun4 architectures.
>
> -Henry
>
> On Wed, 13 Mar 2024 at 17:49, <earl(a)baugh.org> wrote:
>
>> I’m looking for a “Sun OS 3.5” emulation running where I can attach a
>> SCSI emulator to it and get the full OS installed.
>> I’ve got tape images but I haven’t found the process to emulate how it
>> used to work.
>>
>> From the initial boot prompt, you extracted them to the “swap partition”
>> and then started the install and it would prompt you for the next tape when
>> needed.
>> So, I guess we’d need an emulated tape or something, etc. I have all
>> the tar’s (all the way back to Sun OS 1 or so) but have been frustrated
>> trying to make some progress.
>>
>> Earl
>>
>>
>> On Mar 13, 2024, at 5:31 PM, Henry Bent <henry.r.bent(a)gmail.com> wrote:
>>
>> On Wed, 13 Mar 2024 at 17:27, Will Senn <will.senn(a)gmail.com> wrote:
>>
>>> On 3/13/24 3:12 PM, Henry Bent wrote:
>>>
>>> Hi all,
>>>
>>> I've been working quite a bit recently with SunOS 4 on a SPARCstation 5,
>>> seeing what I can coax out of it in terms of building and supporting a
>>> modern computing environment. I know that TUHS isn't really the right
>>> place for this, but can someone point me to somewhere that is? I've made
>>> significant progress in some areas and spent a lot of cycles to get there -
>>> for instance, I have GCC 3.4.6 up and running - so I'd like to contribute
>>> to a community if one exists. Is there a modern equivalent of sun-managers?
>>>
>>> -Henry
>>>
>>> Not an answer to the question, but on a tangent...
>>>
>>> I recently saw that Solaris 11.4 SRU66 was released and had a yearning
>>> to see how things in Solaris land were doing (can't stand Gnome so
>>> OpenIndiana's a bust)... but with Oracle's Solaris, it's a mess at least
>>> for hobbyists (only get release patches, so I'm guessing the most up to
>>> date 'release' was 11.4 in 2018). So, when I saw your post on SunOS 4, I
>>> thought I'd tool around and see if it was easy to get rolling as a VM,
>>> turns out things have come a long way on that front:
>>>
>>> https://defcon.no/sysadm/playing-with-sunos-4-1-4-on-qemu/
>>>
>>> OpenWindows 3... wow... works great on my Mint instance. Now, if I could
>>> just remember how commands work on SunOS :).
>>>
>>
>> Thanks Will! You may also be interested in
>> https://john-millikin.com/running-sunos-4-in-qemu-sparc as another
>> resource about running SunOS 4 in QEMU. I have considered moving my setup
>> to QEMU, especially as it would be very easy to create a hard drive image
>> since I am using a SCSI2SD board, but there is something about running
>> these things on the original hardware that is difficult to leave behind.
>>
>> -Henry
>>
>>
>>
>
TME - most recently https://osdn.net/projects/nme/ - in theory does what
you want. Its setup and use is a bit idiosyncratic, and I have found that
it is unhappy running on OSs other than NetBSD, but if you get it running
it just works. I've used it to set up installations of SunOS 3 and 4 on
sun2, sun3, and sun4 architectures.
-Henry
On Wed, 13 Mar 2024 at 17:49, <earl(a)baugh.org> wrote:
> I’m looking for a “Sun OS 3.5” emulation running where I can attach a SCSI
> emulator to it and get the full OS installed.
> I’ve got tape images but I haven’t found the process to emulate how it
> used to work.
>
> From the initial boot prompt, you extracted them to the “swap partition”
> and then started the install and it would prompt you for the next tape when
> needed.
> So, I guess we’d need an emulated tape or something, etc. I have all
> the tar’s (all the way back to Sun OS 1 or so) but have been frustrated
> trying to make some progress.
>
> Earl
>
>
> On Mar 13, 2024, at 5:31 PM, Henry Bent <henry.r.bent(a)gmail.com> wrote:
>
> On Wed, 13 Mar 2024 at 17:27, Will Senn <will.senn(a)gmail.com> wrote:
>
>> On 3/13/24 3:12 PM, Henry Bent wrote:
>>
>> Hi all,
>>
>> I've been working quite a bit recently with SunOS 4 on a SPARCstation 5,
>> seeing what I can coax out of it in terms of building and supporting a
>> modern computing environment. I know that TUHS isn't really the right
>> place for this, but can someone point me to somewhere that is? I've made
>> significant progress in some areas and spent a lot of cycles to get there -
>> for instance, I have GCC 3.4.6 up and running - so I'd like to contribute
>> to a community if one exists. Is there a modern equivalent of sun-managers?
>>
>> -Henry
>>
>> Not an answer to the question, but on a tangent...
>>
>> I recently saw that Solaris 11.4 SRU66 was released and had a yearning to
>> see how things in Solaris land were doing (can't stand Gnome so
>> OpenIndiana's a bust)... but with Oracle's Solaris, it's a mess at least
>> for hobbyists (only get release patches, so I'm guessing the most up to
>> date 'release' was 11.4 in 2018). So, when I saw your post on SunOS 4, I
>> thought I'd tool around and see if it was easy to get rolling as a VM,
>> turns out things have come a long way on that front:
>>
>> https://defcon.no/sysadm/playing-with-sunos-4-1-4-on-qemu/
>>
>> OpenWindows 3... wow... works great on my Mint instance. Now, if I could
>> just remember how commands work on SunOS :).
>>
>
> Thanks Will! You may also be interested in
> https://john-millikin.com/running-sunos-4-in-qemu-sparc as another
> resource about running SunOS 4 in QEMU. I have considered moving my setup
> to QEMU, especially as it would be very easy to create a hard drive image
> since I am using a SCSI2SD board, but there is something about running
> these things on the original hardware that is difficult to leave behind.
>
> -Henry
>
>
>
On Thu, Mar 7, 2024, 4:14 PM Tom Lyon <pugs78 at gmail.com> wrote:
> For no good reason, I've been wondering about the early history of C
> compilers that were not derived from Ritchie, Johnson, and Snyder at Bell.
> Especially for x86. Anyone have tales?
> Were any of those compilers ever used to port UNIX?
An unusual one would be the “revenue bomb” compiler that Charles Simonyi and Richard Brodie did at Microsoft in 1981.
This compiler was intended to provided a uniform environment for the menagerie of 8 and 16-bit computers of the era. It compiled to a byte code which executed through a small interpreter. This by itself was hardly new of course, but it had some unique features. It generated code in overlays, so that it could run a code base larger than 64KB (but it defined only one data segment). It also defined a small set of “system” commands, that allowed for uniform I/O. I still have the implementation spec for that interpreter somewhere.
This compiler was used for the first versions of Multiplan and Word, and my understanding is that the byte code engine was later re-used in Visual Basic. I think the compiler also had a Xenix port, maybe it even was Xenix native (and at this time, Xenix would still essentially have been V7).
I am not sure to what extent this compiler was independent of the Bell compilers. It could well be that it was based on PCC, Microsoft was a Unix licensee after all and at the time busy doing ports. On the other hand, Charles Simonyi would certainly have been capable of creating his own from scratch. I do know that this compiler preceded Lattice C, the latter of which was distributed by Microsoft as Microsoft C 1.0.
Maybe others know more about this Simonyi/Brodie compiler?
Paul
Notes:
http://www.memecentral.com/mylife.htmhttps://web.archive.org/web/20080905231519/http://www.computerworld.com/sof…http://seefigure1.com/images/xenix/xenix-timeline.jpg
> The author of this routine has been writing
> random-number generators for many years and has
> never been known to write one that worked.
It sounds like Ken to me. Although everybody had his
own favorite congruential random number generator,
some worse than others, I believe it was Ken who put
one in the math library.
The very fact that rand existed, regardless of its quality,
enabled a lovely exploit. When Ken pioneered password
cracking by trying every word in word lists at hand, one
of the password files he found plenty of hits in came from
Berkeley. He told them and they responded by assigning
random passwords to everybody. That was a memorable
error. Guessing that the passwords were generated by
a simple encoding of the output of rand, Ken promptly
broke 100% of the newly "hardened" password file.
Doug
The zorland c compiler from zortech, x86 pc compiler from a small uk company.
i used it to write my final year project at college in 1988. sadly i couldn’t use the interdata running v7 as i was doing image processing and needed to access an ISA framestore card.
i built a motion compensated video standards converter, and thanks to the 80287 i managed something like 6 hours per frame.
i think zortech claimed they wrote one of the first c++ compilers (rather than using c++).
-Steve
For no good reason, I've been wondering about the early history of C
compilers that were not derived from Ritchie, Johnson, and Snyder at Bell.
Especially for x86. Anyone have tales?
Were any of those compilers ever used to port UNIX?
Perspective from a friend...
Warner
---------- Forwarded message ---------
From: Poul-Henning Kamp <phk(a)phk.freebsd.dk>
Date: Mon, Mar 11, 2024 at 2:24 AM
Subject: non-Bell C compiler
To: <imp(a)freebsd.org>
I noticed the "non-bell C" thread on TUHS and can add a data point
from datamuseum.dk:
The Danish Company "Christian Rovsing A/S" evidently had a C-compiler
for their CR80 mini computer, and my guess is that they created it
in order to qualify for DoD contracts in the POSIX regime.
Example C source:
https://datamuseum.dk/aa//cr80/80/802c73092.html
Listing file from the compiler:
https://datamuseum.dk/aa//cr80/ef/ef65339dc.html
Listing file from the assembler:
http://datamuseum.dk/aa/cr80/32/32ef5456f.html
Listing from the linker:
https://datamuseum.dk/aa//cr80/17/170304129.html
So far we have not spotted the actual compiler anywhere
in the media we have read.
Mention of C being used for project delivery:
http://datamuseum.dk/aa/cr80/1c/1c0b47f0e.html
And btw: That one is from a CDC disc-pack which a father+son
team has read by building a SMD-USB converter.
That project may be interesting in the TUHS domain as well:
https://github.com/Datamuseum-DK/pico-smd-controller
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk(a)FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.