Documentation of the BISMON Static Source Code Analyzer

Total Page:16

File Type:pdf, Size:1020Kb

Documentation of the BISMON Static Source Code Analyzer documentation of the BISMON static source code analyzer. This report and the Bismon static analyzer has been funded by European H2020 projects www.chariotproject.eu (grant 780075) and www.decoder-project.eu (grant 824231). The opinions are those of the author(s) only. The content of the publication herein is the sole responsibility of the publishers and it does not necessarily represent the views expressed by the European Commission or its services. Basile STARYNKEVITCH (CEA, LIST) DILS/LSL from its SOFTWARE SECURITY LABORATORY author: [email protected] http://starynkevitch.net/Basile/ unverified, unapproved, unchecked draft Ful of Mistaks. Some version of this DRAFT report might be downloadable from http://starynkevitch.net/Basile/bismon- doc.pdf This partly generated document and the Bismon software itself are co-developed in an agile and incremental manner, and have exactly 3932 git commits on Mon 01 Feb 2021 03:26:24 PM MET. For more, please see https://github.com/bstarynk/bismon/commits/ for details. These commits are too many and too fine grained to be considered as “versions”. Given the agile and continuous workflow, it is unreasonable, and practically impossible, to identify any formalized versions. This document is co-developed with the Bismon software itself, it was typeset using LATEX on Linux and contains some generated documentation 1, mixed with hand-written text. During development of bismon, the amount of gen- erated documentation will grow. The entire history of Bismon (both the software -including its persistent store- and this document) is available on https://github.com/bstarynk/bismon/commits and has, for this document of commit id 61e424abbb482e7e++ (done on 2021-Feb-01) generated on Feb 01, 2021, exactly 3932 commits (or elementary changes). Since changes on any file in the git repository can affect this document, no “version” is identifiable. For convenience to the reader, here are the last 2 three git commit-s: commit 61e424abbb482e7eb81dcd2da7d12bb1e667f2b8 Author: Basile Starynkevitch <[email protected]> Date: Mon Feb 1 14:08:34 2021 +0100 mention both chariot and decoder M doc/bismon-doc.tex commit 9e198ce90e47a60a45c6cdc025c166fb159d3bf4 Author: Basile Starynkevitch <[email protected]> Date: Mon Feb 1 11:05:16 2021 +0100 the output of ./bismon -help goes into the documentation M build-bismon-doc.sh M doc/appendix-bm.tex M doc/bismon-doc.tex A doc/genscripts/005-bismon-help.sh commit 3eee9ed1ff85ef0f28ef74049c31014618bd72e7 Author: Basile Starynkevitch <[email protected]> Date: Mon Feb 1 10:24:32 2021 +0100 show gitid in -help message M main_BM.c 1The generated parts are clearly identified as such, and are extracted from the Bismon system. 2Obtained by the git log -name-status -3 command running in bismon top source directory. the BISMON static source code analyzer There is no notion of any identifiable “version” in bismon, so also in this report. The work is incremental and the development is agile. copyright message 'Copyright © 2018 - 2021 CEA (Commissariat à l’énergie atomique et aux énergies alternatives). $ This deliverable contains original unpublished work except where clearly indicated otherwise. Acknowl- edgement of previously published material and of the work of others has been made through appropriate citation, quotation or both. Reproduction is authorised provided the source is acknowledged (see last page for licensing details). & % notice This work is funded (from start of 2018 to end of 2020) thru the CHARIOT project (see its web site on http://chariotproject.eu/) which has received funding from the European Unions Horizon 2020 re- search and innovation programme under the Grant Agreement No 780075. This work is also partly funded -from 2019 to 2021- by the DECODER H2020 project, under its Grant Agreement 824231. DRAFT 61e424abbb482e7e++ on 2021-Feb-01 Page 2 of 77 the BISMON static source code analyzer Contents 1 Introduction 5 1.1 Mapping CHARIOT output .................................... 5 1.2 Deliverable Overview and Report Structure ........................... 5 1.3 Expected audience ........................................ 6 1.4 The CHARIOT vision on specialized static source code analysis for more secure and safer IoT software development ....................................... 8 1.4.1 About static source code analysis and IoT ........................ 8 1.4.2 The power of an existing compiler: GCC ........................ 11 1.4.3 Leveraging simple static source analysis on GCC .................... 17 1.5 Lessons learned from GCC MELT ................................ 19 1.6 Driving principles for the Bismon persistent monitor ....................... 20 1.6.1 About Bismon ...................................... 20 1.6.2 About Bismon as a domain-specific language ...................... 22 1.6.3 About Bismon as a evolving software system ...................... 24 1.6.4 About Bismon as a static source code analyzer framework ............... 26 1.7 Multi-threaded and distributed aspects of Bismon ........................ 26 2 Data and its persistence in Bismon 29 2.1 Data processed in Bismon ..................................... 29 2.1.1 Immutable values ..................................... 29 2.1.2 Mutable objects ...................................... 30 2.2 garbage collection of values and objects ............................. 32 2.3 persistence in Bismon ....................................... 33 2.3.1 file organization of the persistent state .......................... 34 2.3.2 persisting objects ..................................... 35 3 Static analysis of source code in Bismon 37 3.1 static analysis of GCC code .................................... 37 3.2 static analysis of IoT firmware or application code ........................ 37 3.3 static analysis related to pointers and addresses ......................... 38 4 Using Bismon 41 4.1 How JSON is used by Bismon .................................. 41 4.1.1 The canonical JSON encoding of Bismon values .................... 41 4.1.2 The nodal JSON decoding into Bismon values ...................... 42 4.1.3 JSON extraction with extract_json ......................... 43 4.2 Web interface internal design ................................... 45 4.3 Using bismon for CHARIOT ................................... 48 5 Miscellanous work 49 5.1 Contributions to other free software projects ........................... 49 5.1.1 Aborted contribution to libonion ........................... 49 5.1.2 Contribution to GCC ................................... 49 5.2 Design and implementation of the compiler and linker extension ................ 49 6 Conclusion 50 A Building bismon from its source code 51 A.1 Prerequisites for building bismon ................................ 51 A.2 File naming conventions in bismon ............................... 51 A.3 Naming conventions and source files organization for bismon ................. 52 A.4 Generators and meta-programs in bismon ........................... 54 DRAFT 61e424abbb482e7e++ on 2021-Feb-01 Page 1 of 77 the BISMON static source code analyzer B Configuring bismon from its source code 54 C Building bismon from its source code 54 C.1 Checking the version of bismon ................................. 55 D Dumping and restoring the bismon persistent heap 57 Index 58 References 65 DRAFT 61e424abbb482e7e++ on 2021-Feb-01 Page 2 of 77 the BISMON static source code analyzer List of Figures 1 the CHARIOT compilation of some IoT firmware or application (simplified) .......... 11 2 The Bismon monitor used by some IoT developer team following the CHARIOT approach. .. 19 3 crude (soon deprecated) GTK interface oct. 22, 2018, git commit cbdcf1ec351c3f2a ......... 25 4 generated dump example: first_test_module in file store2.bmon .......... 35 5 syntax of values in dumped data files. .............................. 35 List of Tables 1 adherence to CHARIOT’s GA deliverable and tasks descriptions ................ 5 2 recursive inlining with constant folding in GCC (C source) ................... 12 3 recursive inlining with constant folding in GCC (generated early Gimple) ........... 12 4 recursive inlining with constant folding in GCC (generated SSA form) ............. 13 5 recursive inlining with constant folding in GCC (generated optimized) ............. 14 6 recursive inlining with constant folding in GCC (generated MIPS assembler) ......... 14 7 optimization around heap allocation by GCC (C source) ..................... 15 8 optimization around heap allocation by GCC (generated Gimple) ................ 16 9 optimization around heap allocation by GCC (generated SSA/optimized) ............ 16 10 optimization around heap allocation by GCC (generated x86-64 assembly) ........... 17 11 canonical JSON encoding v json of a Bismon value v. ..................... 41 12 nodal JSON decoding xjsyJnodK of a JSON value js. ........................ 42 13 simple extraction from some JSON thing js; (see also table 14 below.) ............... 43 14 complex extraction from some JSON thing js; (see also table 13 above.) .............. 44 DRAFT 61e424abbb482e7e++ on 2021-Feb-01 Page 3 of 77 the BISMON static source code analyzer Glossary of terms and abbreviations used Abbreviation / Description Term binutils GNU free software package containing assembler as, linker ld and other utilities to operate on object files or binary executables, etc... https://www.gnu.org/software/binutils/ bismon the free software framework and persistent monitor described here ; source repository on http://github.com/bstarynk/bismon/
Recommended publications
  • Tinn-R Team Has a New Member Working on the Source Code: Wel- Come Huashan Chen
    Editus eBook Series Editus eBooks is a series of electronic books aimed at students and re- searchers of arts and sciences in general. Tinn-R Editor (2010 1. ed. Rmetrics) Tinn-R Editor - GUI forR Language and Environment (2014 2. ed. Editus) José Cláudio Faria Philippe Grosjean Enio Galinkin Jelihovschi Ricardo Pietrobon Philipe Silva Farias Universidade Estadual de Santa Cruz GOVERNO DO ESTADO DA BAHIA JAQUES WAGNER - GOVERNADOR SECRETARIA DE EDUCAÇÃO OSVALDO BARRETO FILHO - SECRETÁRIO UNIVERSIDADE ESTADUAL DE SANTA CRUZ ADÉLIA MARIA CARVALHO DE MELO PINHEIRO - REITORA EVANDRO SENA FREIRE - VICE-REITOR DIRETORA DA EDITUS RITA VIRGINIA ALVES SANTOS ARGOLLO Conselho Editorial: Rita Virginia Alves Santos Argollo – Presidente Andréa de Azevedo Morégula André Luiz Rosa Ribeiro Adriana dos Santos Reis Lemos Dorival de Freitas Evandro Sena Freire Francisco Mendes Costa José Montival Alencar Junior Lurdes Bertol Rocha Maria Laura de Oliveira Gomes Marileide dos Santos de Oliveira Raimunda Alves Moreira de Assis Roseanne Montargil Rocha Silvia Maria Santos Carvalho Copyright©2015 by JOSÉ CLÁUDIO FARIA PHILIPPE GROSJEAN ENIO GALINKIN JELIHOVSCHI RICARDO PIETROBON PHILIPE SILVA FARIAS Direitos desta edição reservados à EDITUS - EDITORA DA UESC A reprodução não autorizada desta publicação, por qualquer meio, seja total ou parcial, constitui violação da Lei nº 9.610/98. Depósito legal na Biblioteca Nacional, conforme Lei nº 10.994, de 14 de dezembro de 2004. CAPA Carolina Sartório Faria REVISÃO Amek Traduções Dados Internacionais de Catalogação na Publicação (CIP) T591 Tinn-R Editor – GUI for R Language and Environment / José Cláudio Faria [et al.]. – 2. ed. – Ilhéus, BA : Editus, 2015. xvii, 279 p. ; pdf Texto em inglês.
    [Show full text]
  • AMNESIA 33: How TCP/IP Stacks Breed Critical Vulnerabilities in Iot
    AMNESIA:33 | RESEARCH REPORT How TCP/IP Stacks Breed Critical Vulnerabilities in IoT, OT and IT Devices Published by Forescout Research Labs Written by Daniel dos Santos, Stanislav Dashevskyi, Jos Wetzels and Amine Amri RESEARCH REPORT | AMNESIA:33 Contents 1. Executive summary 4 2. About Project Memoria 5 3. AMNESIA:33 – a security analysis of open source TCP/IP stacks 7 3.1. Why focus on open source TCP/IP stacks? 7 3.2. Which open source stacks, exactly? 7 3.3. 33 new findings 9 4. A comparison with similar studies 14 4.1. Which components are typically flawed? 16 4.2. What are the most common vulnerability types? 17 4.3. Common anti-patterns 22 4.4. What about exploitability? 29 4.5. What is the actual danger? 32 5. Estimating the reach of AMNESIA:33 34 5.1. Where you can see AMNESIA:33 – the modern supply chain 34 5.2. The challenge – identifying and patching affected devices 36 5.3. Facing the challenge – estimating numbers 37 5.3.1. How many vendors 39 5.3.2. What device types 39 5.3.3. How many device units 40 6. An attack scenario 41 6.1. Other possible attack scenarios 44 7. Effective IoT risk mitigation 45 8. Conclusion 46 FORESCOUT RESEARCH LABS RESEARCH REPORT | AMNESIA:33 A note on vulnerability disclosure We would like to thank the CERT Coordination Center, the ICS-CERT, the German Federal Office for Information Security (BSI) and the JPCERT Coordination Center for their help in coordinating the disclosure of the AMNESIA:33 vulnerabilities.
    [Show full text]
  • Analysis of Firmware Security in Embedded ARM Environments
    Analysis of Firmware Security in Embedded ARM Environments Dane A. Brown Dissertation submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Engineering T. Charles Clancy, Chair Ryan Gerdes Yaling Yang Jonathan Black Patrick Schaumont August 13, 2019 Arlington, Virginia Keywords: Security, Firmware, Embedded Devices, ARM Copyright 2019, Dane A. Brown Analysis of Firmware Security in Embedded ARM Environments Dane A. Brown (ABSTRACT) Modern enterprise-grade systems with virtually unlimited resources have many options when it comes to implementing state of the art intrusion prevention and detection solutions. These solutions are costly in terms of energy, execution time, circuit board area, and capital. Sus- tainable Internet of Things devices and power-constrained embedded systems are thus forced to make suboptimal security trade-offs. One such trade-off is the design of architectures which prevent execution of injected shell code, yet have allowed Return Oriented Program- ming (ROP) to emerge as a more reliable way to execute malicious code following attacks. ROP is a method used to take over the execution of a program by causing the return address of a function to be modified through an exploit vector, then returning to small segments of otherwise innocuous code located in executable memory one after the other to carry out the attacker’s aims. We show that the Tiva TM4C123GH6PM microcontroller, which utilizes an ARM Cortex-M4F processor, can be fully controlled with this technique. Firmware code is pre-loaded into a ROM on Tiva microcontrollers which can be subverted to erase and rewrite the flash memory where the program resides.
    [Show full text]
  • MAX3946 1Gbps to 11.3Gbps, SFP+ Laser Driver with Laser Impedance
    19-5182; Rev 1; 5/11 EVALUATION KIT AVAILABLE 1Gbps to 11.3Gbps, SFP+ Laser Driver with Laser Impedance Mismatch Tolerance MAX3946 General Description Features The MAX3946 is a +3.3V, multirate, low-power laser S 225mW Power Dissipation Enables < 1W SFP+ diode driver designed for Ethernet and Fibre Channel Modules transmission systems at data rates up to 11.3Gbps. S Up to 100mW Power Consumption Reduction by This device is optimized to drive a differential transmit- Enabling the Use of Unmatched FP/DFB TOSAs ter optical subassembly (TOSA) with a 25I flex circuit. The unique design of the output stage enables use of S Supports SFF-8431 SFP+ MSA and SFF-8472 unmatched TOSAs, greatly reducing headroom limita- Digital Diagnostic tions and lowering power consumption. S 225mW Power Dissipation at 3.3V (IMOD = 40mA, The device receives differential CML-compatible signals IBIAS = 60mA Assuming 25I TOSA) with on-chip line termination. It can deliver laser modula- S Single +3.3V Power Supply tion current of up to 80mA, at an edge speed of 22ps S Up to 11.3Gbps (NRZ) Operation (20% to 80%), into a 5I to 25I external differential load. S Programmable Modulation Current from 10mA to The device is designed to have a symmetrical output 100mA (5I Load) stage with on-chip back terminations integrated into its outputs. A high-bandwidth, fully differential signal S Programmable Bias Current from 5mA to 80mA path is implemented to minimize deterministic jitter. An S Programmable Input Equalization equalization block can be activated to compensate for S Programmable Output Deemphasis the SFP+ connector.
    [Show full text]
  • Coreboot - the Free firmware
    coreboot - the free firmware Linux Club of Peking University April 9th, 2016 . Linux Club of Peking University coreboot - the free firmware April 9th, 2016 1 / 30 1 History 2 Why use coreboot 3 How coreboot works 4 Building and using coreboot 5 Flashing 6 Utilities and Debugging 7 Contribute to coreboot 8 Proprietary Components 9 References . Linux Club of Peking University coreboot - the free firmware April 9th, 2016 2 / 30 History: from LinuxBIOS to coreboot coreboot has a very long history, stretching back more than 15 years to when it was known as LinuxBIOS. While the project has gone through lots of changes over the years, many of the earliest developers still contribute today. Linux Club of Peking University coreboot - the free firmware April 9th, 2016 3 / 30 LinuxBIOS v1: 1999-2000 The coreboot project originally started as LinuxBIOS in 1999 at Los Alamos National Labs (LANL) by Ron Minnich. Ron needed to boot a cluster made up of many x86 mainboards without the hassles that are part of the PC BIOS. The goal was to do minimal hardware initilization in order to boot Linux as fast as possible. Linux already had the drivers and support to initialize the majority of devices. Ron and a number of other key contributors from LANL, Linux NetworkX, and other open source firmware projects successfully booted Linux from flash. From there they were able to discover other nodes in the cluster, load a full kernel and user space, and start the clustering software. Linux Club of Peking University coreboot - the free firmware April 9th, 2016 4 / 30 LinuxBIOS v2: 2000-2005 After the initial success of v1, the design was expanded to support more CPU architectures (x86, Alpha, PPC) and to support developers with increasingly diverse needs.
    [Show full text]
  • Linux Kernel. LTS? LTSI?
    ARM Reference Kernel of Tizen 3 MyungJoo Ham, Ph.D. MyungJoo Ham Tizen “System Domain” & System SW Lab “Base Domain” Architect SW Platform Team SWC Samsung Electronics ARM Reference Kernel of Tizen 3 1. What is it? 2. Idea & Principle 3. Design & Updates 4. Discussion What is “Tizen Reference Kernel” • Kernel (& BSP) for Tizen Reference Devices BSP Validated & Tested for the Reference Devices Image from seoz.com 3 What is “Tizen Reference Kernel” • Kernel (& BSP) for Tizen Reference Devices BSP Validated & Tested for the Reference Devices Yet Another BSP? Image from seoz.com 4 Need for “Tizen Reference Kernel” • Distribute reference devices • Tizen-common kernel features & interface • Basis for next-gen Tizen development 1 KDBUS, User PM-QoS, PASS, DMABUF Sync FW, … 2 CMA, DRM-Exynos, Devfreq, Extcon, Charger-manager, LAB/Turboboost … • Support Tizen Vendors! • Well-known and well-written example. • Code basis for vendors. 5 Previous Tizen ARM Reference Kernel (~2.2.1) • Linux 3.0.15 • Obsolete LTS. (Current: 3.4 & 3.10) • Support RD-PQ (Tizen 2) & RD-210 (Tizen 1 & 2) • RD-PQ: Exynos4412 • RD-210: Exynos4210 (Linux 2.6.36 for Tizen 1) • Not Good as Reference • Too many backported features. • Too OLD! No LTS/LTSI support • Many kernel hacks & dirty patches • git history removed. 1. Forked from production kernel. 2. Hard to read 6 Status of Tizen 3 Reference Kernels • Two Reference Kernels: ARM / Intel • ARM (armv7, aarch64) • Linux 3.10.y • 3.10.33 @ 2014/05 • Full git history. • armv6 support (Raspberry Pi) coming soon. (Thanks to Univ. of Warsaw) • Test & validation phase (integration test with userspace) • Intel (x86, x86_64) • Linux 3.14.1 • Recent ATOM SoC support merged @ 3.14 • Test & validation phase (integration test with userspace) 7 ARM Reference Kernel of Tizen 3 1.
    [Show full text]
  • Introductory Lecture & FLOSS
    Introductory Lecture & FLOSS Lecture 1 TU Wien, 193.067 Free and Open Technologies (WS 2019/2020) Christoph Derndorfer and Lukas F. Lang This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Introduction Organization ● Lectures: ○ Weekly lecture to cover course materials (until Christmas) ○ Lectures take place on Tuesdays, 17:00–19:00, Argentinierstraße 8, Seminarraum/Bibliothek 194-05 ○ Attendance is mandatory ● Group project: ○ In groups of 4 students ○ 3 meetings with lecturers during the semester (week 44/2019, week 48/2019, week 2/2020) ○ Final presentations at the end of January (week 4/2020) ● Final paper: ○ In groups of 2 students ○ Final presentations at the end of January (week 5/2020) ○ Deadline: Sunday, February 9, 2020, 23:59 CET (no exceptions!) Organization ● Grading: ○ 50% group project ○ 35% seminar paper ○ 15% participation during lectures ○ All course components need to be passed in order to pass the overall course! ● Course materials: ○ Will be provided at https://free-and-open-technologies.github.io ● For further questions: ○ Email [email protected] and [email protected] Lecture outline 1. FLOSS (Free/Libre and Open Source Software) 2. Open Hardware 3. Open Data 4. Open Content/Open Educational Resources 5. Open Science/Research 6. Open Access 7. Open Spaces/Open Practices: Metalab Vienna 8. Guest Lecture: Stefanie Wuschitz (Mz* Baltazar’s Lab) Group project ● Goal: ○ Extend, contribute to, or create a new open project within scope of lecture topics ● Choose topic from a list (see course website) or (even better) suggest your own: ○ Groups of 4 students ○ Send a 1-page proposal until Friday, October 25, via email to both lecturers ■ Define the idea, goal, (potential) impact, requirements, and estimated effort ■ State deliverables (should be broken down into three milestones to discuss in meetings) ● Requirements: ○ Open and accessible (Git repository, openly licensed) → others can access/use/study/extend ○ Use time sheet to track and compare estimated vs.
    [Show full text]
  • System Tools Reference Manual for Filenet Image Services
    IBM FileNet Image Services Version 4.2 System Tools Reference Manual SC19-3326-00 IBM FileNet Image Services Version 4.2 System Tools Reference Manual SC19-3326-00 Note Before using this information and the product it supports, read the information in “Notices” on page 1439. This edition applies to version 4.2 of IBM FileNet Image Services (product number 5724-R95) and to all subsequent releases and modifications until otherwise indicated in new editions. © Copyright IBM Corporation 1984, 2019. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this manual 17 Manual Organization 18 Document revision history 18 What to Read First 19 Related Documents 19 Accessing IBM FileNet Documentation 20 IBM FileNet Education 20 Feedback 20 Documentation feedback 20 Product consumability feedback 21 Introduction 22 Tools Overview 22 Subsection Descriptions 35 Description 35 Use 35 Syntax 35 Flags and Options 35 Commands 35 Examples or Sample Output 36 Checklist 36 Procedure 36 May 2011 FileNet Image Services System Tools Reference Manual, Version 4.2 5 Contents Related Topics 36 Running Image Services Tools Remotely 37 How an Image Services Server can hang 37 Best Practices 37 Why an intermediate server works 38 Cross Reference 39 Backup Preparation and Analysis 39 Batches 39 Cache 40 Configuration 41 Core Files 41 Databases 42 Data Dictionary 43 Document Committal 43 Document Deletion 43 Document Services 44 Document Retrieval 44 Enterprise Backup/Restore (EBR)
    [Show full text]
  • A User's Guide to the Lout Document Formatting System
    A User’s Guide to the Lout Document Formatting System Jeffrey H. Kingston Version 3.40 June 2013 Copyright 1991, 2013 Jeffrey H. Kingston, School of Information Technologies, The University of Sydney 2006, Australia. ISBN 0 86758 9515. Preface This User’s Guide brings together in one document everything needed for the day-to-day use of Version 3 of the Lout document formatting system. There are three other documents describing Lout: the Expert’s Guide [5], which you need if you want to add new features to Lout; a journal paper on the design and implementation of Lout [3]; and a set of overhead transparencies [4]that cover much the same ground as this Guide. These documents are all distributed with the software. Lout is distributed free of charge under the GNU Public License. The primary source is ftp://ftp.it.usyd.edu.au/jeff/lout containing a gzipped tar file of the current version, and various other things including a PostScript version of this guide. The distribution contains source code, libraries,documentation, license, and installation instructions. A mailing list has been set up for discussion of all topics related to Lout. To subscribe (or unsubscribe), visit http://lists.nongnu.org/mailman/listinfo/lout-users After subscribing, to post an item send email to [email protected]; it will be forwarded to all subscribers via email. There is also a web site at http://savannah.nongnu.org/projects/lout. Lout began in 1984 as a research project into the design of a high-level language for document formatting.
    [Show full text]
  • CP/M-80 Kaypro
    $3.00 June-July 1985 . No. 24 TABLE OF CONTENTS C'ing Into Turbo Pascal ....................................... 4 Soldering: The First Steps. .. 36 Eight Inch Drives On The Kaypro .............................. 38 Kaypro BIOS Patch. .. 40 Alternative Power Supply For The Kaypro . .. 42 48 Lines On A BBI ........ .. 44 Adding An 8" SSSD Drive To A Morrow MD-2 ................... 50 Review: The Ztime-I .......................................... 55 BDOS Vectors (Mucking Around Inside CP1M) ................. 62 The Pascal Runoff 77 Regular Features The S-100 Bus 9 Technical Tips ........... 70 In The Public Domain... .. 13 Culture Corner. .. 76 C'ing Clearly ............ 16 The Xerox 820 Column ... 19 The Slicer Column ........ 24 Future Tense The KayproColumn ..... 33 Tidbits. .. .. 79 Pascal Procedures ........ 57 68000 Vrs. 80X86 .. ... 83 FORTH words 61 MSX In The USA . .. 84 On Your Own ........... 68 The Last Page ............ 88 NEW LOWER PRICES! NOW IN "UNKIT"* FORM TOO! "BIG BOARD II" 4 MHz Z80·A SINGLE BOARD COMPUTER WITH "SASI" HARD·DISK INTERFACE $795 ASSEMBLED & TESTED $545 "UNKIT"* $245 PC BOARD WITH 16 PARTS Jim Ferguson, the designer of the "Big Board" distributed by Digital SIZE: 8.75" X 15.5" Research Computers, has produced a stunning new computer that POWER: +5V @ 3A, +-12V @ 0.1A Cal-Tex Computers has been shipping for a year. Called "Big Board II", it has the following features: • "SASI" Interface for Winchester Disks Our "Big Board II" implements the Host portion of the "Shugart Associates Systems • 4 MHz Z80-A CPU and Peripheral Chips Interface." Adding a Winchester disk drive is no harder than attaching a floppy-disk The new Ferguson computer runs at 4 MHz.
    [Show full text]
  • Week 49, 2018 – Friday 7Th December Click Here to View the Email As a PDF
    Shipping Regulations and Guidance Week 49, 2018 – Friday 7th December Click Here to view the email as a PDF. Forward this email to a friend Flag State Regulations and Guidance Updates​ UK – has released a new marine guidance notice entitled 'ILO Work in Fishing Convention, 2007 (No. 188) – Fishermen's Work Agreements'. Australia – has released an amendment order to marine order 'Certificates of survey - national law'. Marshall Islands – has published a new marine safety advisory entitled 'Guidance on the Development of a Ship Implementation Plan for the Consistent Implementation of the 0.50% Sulphur Limit under MARPOL Annex VI'. Panama – has updated three circulars: 'Ballast Water Management Convention 2004, Panama Policy' 'Adoption of Amendments to MARPOL 73/78, Annex VI Panama Policy on IMO- DCS scheme'. 'Correction of Deficiencies found in ASI InspectionsCorrection of Deficiencies found in ASI Inspections'. Isle of Man – has issued a new shipping notice entitled 'SOLAS Chapter XI-2 & the ISPS Code'. Singapore – has released a new port marine circular entitled 'Johor Bahru Port Limits'. Recent Class Society Guidance American Bureau of Shipping – has released a new guidance document entitled 'Guide for Enhanced Shaft Alignment', and has updated seven collections of documents: 'Guide for Building and Classing International Naval Ships' 'Rules for Building and Classing Offshore Support Vessels' 'Rules for Building and Classing High-Speed Naval Craft' 'Rules for Building and Classing Mobile Offshore Drilling Units' 'Rules for Building and Classing High-Speed Craft' 'Rules for Building and Classing Steel Vessels' 'Rules for Building and Classing Steel Vessels Under 90 Meters in Length'. Bureau Veritas – has has issued a new guidance document entitled 'Rules for the Classification of Diving Systems'.
    [Show full text]
  • GNU A2ps, Version 4.14 General Purpose Postscript Generating Utility Edition 4.14, 2 May 2007
    GNU a2ps, version 4.14 General Purpose PostScript Generating Utility Edition 4.14, 2 May 2007 Akim Demaille Miguel Santana Copyright c 1988-1993 Miguel Santana Copyright c 1995-2000 Akim Demaille, Miguel Santana Copyright c 2007 Akim Demaille, Miguel Santana and Masayuki Hatta Permission is granted to make and distribute verbatim copies of this manual provided the copy- right notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the condi- tions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice maybe stated in a translation approved by the Free Software Foundation. i Short Contents 1 Introduction :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1 2 User's Guide :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 4 3 Invoking a2ps ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 9 4 Configuration Files :::::::::::::::::::::::::::::::::::::::::::::::::: 27 5 Library Files ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 35 6 Encodings ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 39 7 Pretty Printing ::::::::::::::::::::::::::::::::::::::::::::::::::::: 44 8 PostScript ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 71 9 Contributions
    [Show full text]