From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from minnie.tuhs.org (minnie.tuhs.org [45.79.103.53]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 4120395c for ; Tue, 23 Apr 2019 22:12:00 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id D4A60948EF; Wed, 24 Apr 2019 08:11:58 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 01243948EE; Wed, 24 Apr 2019 08:11:16 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="oYtjAMYg"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 15AC3948EC; Wed, 24 Apr 2019 08:11:14 +1000 (AEST) Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.47]) by minnie.tuhs.org (Postfix) with ESMTPS id 90EA6948EE for ; Wed, 24 Apr 2019 08:11:13 +1000 (AEST) Received: by mail-ot1-f47.google.com with SMTP id t8so14313751otp.7 for ; Tue, 23 Apr 2019 15:11:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=8zlq1hcF9s90UNKsX/CgPHTvvOFx8Rfd+iV8rdFsp0o=; b=oYtjAMYghg9D+1DhjA/vcVtDOlkjdxiU5R9mHN+M+DDuB+obk6jPFt9EXMevsZpYgX U4x5Pp0b+Gv8NYt09DSc3912j2jegdkK4ELuOSgfmq+tSUAkqom1sFtqu2ICBwi5MbDc uK6CVNFn2Pbi1J6Uz8mZp7z8nRWJFZNeokWi6JUObMdWJ4PaLxkfXHOyzvPpd2SlzzNY 2hYtHrnWA+tCon7uc3czmU/1CaJ9eH3k+rMv6B0mUabof7Vw0QXL694MbgXO0JRphC+d j/BlVc2DsyZDGLb8pl8euyfHl/mpWzmjcgL/EDe8wz5Gd9IY8A9OMtlXcYZLQULNY8ji 8ePQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=8zlq1hcF9s90UNKsX/CgPHTvvOFx8Rfd+iV8rdFsp0o=; b=U8iSTt9WG/gf0+4F27f2ntIc2R5xM0xwmWosAidZnbO6HU/5xtG3/67FYCR4ORBRe0 1AN1afe5eQYIOOSFb3J2uVCaXuIAkzDaA5Y4F0GpmuA7jrUWvYcJWlEMwCvPywX/pJfA Axo/kfYgsqKc0fhRkqjxQjP2jzb0Z1Xoxoh0C28lsY1l45UZmaGT17aRjGvZR7Ih0Xgn nk9hJHpGE3pDOE2b8EGyyldCBPEUXuzlLdL1i7/DNuUbvlMnJjshz7qUnRHn++OCcxZh 44FwnqiyD5am35YkoH2udmRm9auVOM/JyMRqD9bphQT1ogKJqtHQwdz8YVjqIu+zIULX YYsA== X-Gm-Message-State: APjAAAWgleQ0aWz4zKLhxISwQzgsRHrvSJZWzKwuG3sxL7LhSu2s4vUC b00ouGg3tHwcqCuF+xOhMVzn94hyCd/RkgU1qKKpqnEU X-Google-Smtp-Source: APXvYqz2PoFU64oktJCNDOWHTLmQafTEDH+HqsU7kQgYEMrf6LKdYmsCbahO+UTEdmxClY3mPVQe0eqzP3beEmRBlLU= X-Received: by 2002:a9d:5908:: with SMTP id t8mr17696897oth.45.1556057472481; Tue, 23 Apr 2019 15:11:12 -0700 (PDT) MIME-Version: 1.0 From: Robert Swierczek Date: Tue, 23 Apr 2019 18:11:01 -0400 Message-ID: To: TUHS main list Content-Type: text/plain; charset="UTF-8" Subject: [TUHS] New project to recreate the B compiler for the PDP-11 X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" I just started a project to recreate the B compiler for the PDP-11 as authentically as possible, given the few fragments that remain and some educated guesswork. It should be fun (for various definitions of fun). Here is the repository https://github.com/rswier/pdp11-B I have borrowed some tools from Warren's https://github.com/DoctorWkt/unix-jun72 I have made a good start at reverse engineering the B run time library in /usr/lib/libb.a. I have tried to make the source match the same style as the earliest C library found on the last1120c-bits tape. The remaining functions in libb.a include printf and printn which appear to be written in B. This should provide more clues needed to create the compiler. I am also tackling the dis-assembly of the threaded code interpreter /usr/lib/bilib.a (which at the moment is a big mess on my hard-drive) Later steps will include creating the B compiler itself by carefully pruning down the last1120c C compiler. The fun here will be to boot-strap the B compiler without help from any existing modern compilers. I think TMG will come into play to make that happen. All are welcome to contribute! Rob