Saturday, July 8, 2017

Building a 68000 Single Board Computer - More Books and Alternative Version of TUTOR

I recently picked up a couple more 68000 books.

68000, 68010, 68020 Primer by Stan Kelly-Bootle and Bob Fowler covers 68000 family programming. It has a friendly and not highly technical style. While not heavy on examples (most examples are not complete programs), it does a good job of explaining the important concepts of the 68000, including some aspects which might appear to be quirks but are intended behavior (like the Z versus X flags). It even covers basic concepts like binary arithmetic for readers who may not be familiar with them. The appendix of 68000 Resources is interesting from a historical perspective, listing a number of 68000 hardware and software suppliers, most of which are now long defunct.

68000 Microcomputer Experiments by Alan D. Wilcox, subtitled "Using the Motorola Educational Computer Board", is a small spiral bound book that covers the 68000 more from a hardware perspective. Each chapter covers a topics such as "Programming with Tutor" and "Using the Serial Port", with a series of lab experiments and exercises. Some of the experiments require an oscilloscope, logic probe, and optionally a logic analyzer. It is aimed mostly at university level electrical engineering students and it most useful if you have access to a Motorola ECB board. Most of the book is relevant to my TS2 board, as it is similar and mostly compatible, which exceptions like the parallel port and cassette tape interfaces. The appendices have useful reference material, some of which came from Motorola documentation.

Newer Version of TUTOR?

I have come across some references to there possibly being a newer version of the TUTOR firmware used in the Motorola ECB (and on my TS2 computer). One of the references was the old 68000 FAQ.

I found some source code for a newer version of TUTOR and compared it to the "official" 1.3 version. After cleaning up some differences like line ending formats, the differences I noted in the source code were:

  • The newer one is version 2.1.1 versus 1.3.
  • It has code to convert commands to uppercase so input is not case sensitive (this is an annoyance in the 1.3 version).
  • It was written to use a MC68681 DUART rather than two 6850 ACIAs.This implies it was for a different board design.
  • Transparent mode was modified because the hardware did not physically connect the ports together, so it had to all be done in software.
  • The tape interface routines were removed, presumably because the hardware was not present.
  • The Abort button support was removed.

I didn't try running this version because my board has 6850 UARTs. One reference referred to this version as being for a "modified Alberta ECB". My suspicion is that this version was modified for a similar board to the Motorola ECB that was used at the University of Alberta (similar to how Teesside University developed their TS2), but I haven't been able to find any further information, so it still remains something of a mystery.

No comments: