warner losh

Video Footage of the first PDP-7 to run Unix

Hunting down Ken’s PDP-7: video footage foundIn my prior blog post, I traced Ken’s scrounged PDP-7 to SN 34. In this post I’ll show that we have actual video footage of that PDP-7 due to an old film from Bell Labs. this gives us almost a minute of foot…

The PDP-7 Where Unix Began

Serial Number of First Unix SystemIn preparation for a talk on Seventh Edition Unix this fall, I stumbled upon a service list from DEC for all known PDP-7 machines. From that list, and other sources, I believe that PDP-7 serial number 34 was the origin…

Strange Code

Now That’s WeirdI was trying to compile some ancient code I pulled off the net. It is related to the Venix stuff I’ve been doing on and off of late.put = bp->b_nleft;if (put > cnt)    put = cnt;bp->b_nleft -= put;to = bp->b_ptr;as…

Adding additional revisions

Adding other directoriesSometimes you need to add commits from other places / directories to a repo you’ve slimmed down. This post uses the timed example to offer some advice.SMM.docFortunately for us, the SMM.doc directory was moved late in the game. …

Splitting up a git repo — Single directory

Splitting up a git repo — Single directoryFreeBSD has a large, sprawling svn repo that was once a CVS repo. There are times that things in that repo have outlived their usefulness. Sometimes those items are best moved to a FreeBSD port. One easy way t…

Most things in the VENIX emulator are working

SUCCESSSo I got tired of the terrible progress I was making chasing down issues. I thought if I could just create a simple program and get that working, I’d have much better luck.So I wrote a simple K&R style C program:int a=123;int b;extern char *…

Even more VENIX emulator progress

So in looking at the traces for why cal wasn’t working, I noticed something odd:0212:100D: jmp 0x109e0212:109C: rcrw $0xff,0xdceb(%bx,%si)Invalid opcode c1What? I’m not super-duper strong on Intel assembler, but I sure know that 109e is not 109c. So wh…

VENIX/86 emulator taking shape…

Frequent readers will recall my obsession with Venix on the Rainbow.For the past year or so in my off moments, I’ve been trying to put together a Venix binary emulator. This is part of a larger project to reconstruct the Venix sources from the ancient …

Extracting part of the FreeBSD tree

Extacting the history CTM into its ownIn the early days of the FreeBSD project, CTM provided a competitive advantage to the project by allowing those that weren’t completely connected to the internet. CTM provided convenient way to get the sources via …

Arm testing

Testing before the branchSo, tonight I tested 4 images that were 12.0 snapshots. I downloaded all the arm images that the re@ produces. The version string was 20180719-r336479.GUMSTIX is impossible. There’s no hardware it could run on, so I ignore…

Recovering git repo

I had a crash shortly after updating my git tree to master. When I rebooted, git was confused:% git statusfatal: not a git repository (or any of the parent directories): .gitNeedless to say, my heart skipped a beat. I have a ton of un-backed-up branche…

How to get a memory mapped serial console

Memory mapped uartSo, a friend was bringing up FreeBSD on a new system. It didn’t have a traditionally mapped UART, but a memory mapped one, like we have in the embedded world. After stumbling around, I thought I’d document how to get a serial port in …

Setting up a SVN mirror

Setting up the svn mirrorJust following the steps inhttps://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/subversion-primer.htmlin the Setting up a svn mirror (5.4.7) but have found there’s some issues…First step, grab the svn seed fi…

FreeBSD cumulative commit graphs

FreeBSD Commit GraphI’ve updated an old graph from a talk I gave in 2010 to have data up through today. The rate of development seems fairly steady.When last I did this release, stable branches were flatter and lived longer. Now there’s a fair amount o…

Reading in my Rainbow Floppy Collection

Recently, I acquired a kryoflux board to help read in the Venix floppies… I finally have it up and running.I’ve managed to read in most of my collection of ~300 Rainbow floppies. 95% of them were actual Rainbow disks. The other 5% were either co…

v7 compilation for simple .c’s in /usr/src/cmd.

After about 4 and a half hours of build time, I have results to share. There’s 110 .c files in /usr/src/cmd. 85 of these compile and link (it’s unclear if they run). 25 have a compile or link error:accton, sa (lack of acct in libc)ar, nm, prof, ranlib,…

Rebuilding v7 sources on Venix, early results

I just started rebuilding the v7 sources on my Venix Rainbow on a lark. I’ll post a full writeup, but here’s a two early things I’ve learned.

First, it takes 1 minute to compile cat.c into cat. Yes, one full minute. On my normal server, it takes .1s of elapsed time. This is a 600x speedup since then, likely more

(Read more...)