analysis

  • electronics analysis

    Using an el-cheapo logic analyser to detect address bus activity

    This note documents my exploration of using a $9.99 logic analyzer to watch my PAL-1 go through some address bus gyrations.

  • pdp-11 analysis

    PDP-11 BASIC, booting the hard way

    This note describes the process of running PDP-11 Basic from the PDP-11 Basic Paper Tape System. It is informed and inspired by Malcolm Macleod's webpage entitled, "PDP-11 Paper Tape BASIC" located at http://www.avitech.com.au/ptb/ptb.html. It describes the process, step by step, of keying in the bootstrap loader, running it to load the absolute loader from paper tape stored in bootstrap loader format, and then running the absolute loader to load the PDP-11 BASIC program from paper tape stored in absolute loader format.

    To learn more about how the bootstrap loader works, see my [prior note ]({% post_url 2015-12-21-analysis-of-the-pdp-11-bootstrap-loader-code %})

  • pdp-11 analysis

    Analysis of the PDP-11 bootstrap loader code

    This note describes, in detail, how the bootstrap loader code operates. While it is only 14 words, it is not trivial to understand. The bootstrap loader is self-modifying code

    The note is a work in progress. It begins by describing the first iteration where the loader loads a single byte from the tape reader. In this case the byte is octal 351, which is the first byte of the absolute loader and is the tape leader byte. Octal 351, when read by the bootstrap loader has the effect of causing the boot strap loader to overwrite a portion of itself that results in no change to its memory contents. Any other value, when read will cause the bootstrap loader to begin copying bytes into a memory location prior to the bootstrap loader itself and continuing to copy bytes until the bootstrap loader overwrites itself with the contents of the loaded program. Programs that are bootstrap loader programs contain a footer that restores they original bytes of the bootstrap loader except for the starting location.