Last update: 2000-04-12
This web site provides information on an educational package for teaching computer architecture, computer organization, microprocessors, or microprocessor interfacing. The "example architecture" is the 68000 microprocessor.
The complete package consists of the following:
The textbook is published by Prentice Hall. It includes a all the software necessary for the labs. Instructors may contact Prentice Hall and request a complimentary copy of the text or the "Instructor's Manual" that accompanies the text.
The Instructor's Manual is in three parts: (a) solutions to even-numbered questions in the text, (b) transparency masters to support classroom lectures, and (c) the Lab Manual. Schools are welcome to copy and distribute the Lab Manual to students.
The 68KMB and the six I/O Boards are available from URDA, Inc. Non-students may obtain a copy of the Lab Manual from URDA for a nominal fee.
"68KMB" stands for "68000 Mini-Board". It is a 68000-based single-board computer specifically designed for students or individuals who wish to learn about the 68000 microprocessor or interfacing to the 68000 microprocessor.
The 68KMB features include:
The 68KMB is shipped complete with a User's Manual, an RS232C cable, and an AC adapter.
A nice feature of the 68KMB is that it does not require a separate regulated power supply. Since the board only draws about 750 mA of current, it can operate from an AC adapter.
The relatively low frequency of the 68KMB was chosen to keep costs low. Both the CPU and the 68681 DUART operate from the same crystal. A frequency of 3.6864 MHz is used because it is the recommended frequency for the 68681 to generate accurate clock signals for the RS232C serial ports.
Jumpers are included to allow for a separate crystal for the CPU. 8.0 MHz operation can be achieved by adding a crystal and two capacitors. 16 MHz operation is possible, as well; however a 16 MHz version of the CPU is required (see Tech Note #3).
The 68KMB monitor program, MON68K, includes all the commands necessary to load, execute, and debug user programs. The complete listing for MON68K is given in an appendix of the text. MON68K commands include:
DI Disassemble instructions
GO Go to user program starting
GT Go to temporary breakpoint
HE Help screen displayed on console
LG Load S-records and go
LO Load S-records and return to monitor
MC Memory copy
MD Memory dump
MF Memory fill
MM Memory modify/display
MT Memory test
RD Registers dumped to console.
SZ Set size of data for MD command
TD Trace delay for TR command.
TR Trace instructions
.R Change user register
? Display help screen
For anyone interested in building their own 68KMB, this is certainly possible. Click here for a photo of the wire wrap version of the first 68KMB.
The "student disk" included with the textbook contains a comprehensive set of software -- enough for a complete course on the 68000 microprocessor.
The installation of the software is trivial. Just put the disk in drive A: or B: and type INSTALL. A directory called 68KMB will be created on drive C: and all files will be copied there.
The following DOS programs are included:
A68K.EXE 68000 cross assembler
XLINK.EXE linker
PC-VT.EXE VT100 terminal emulation program
The cross assembler (A68K) is a very powerful assembler that includes all the bells and whistles (macros, relocatable modules, etc.). It works hand-in-hand with the linker (XLINK) to create executable programs formatted in Motorola S-records.
The terminal emulator (PC-VT) executes on the host PC and configures it as a "dumb terminal". The PC then connects to the 68KMB via a serial port (COM1, COM2, etc.). Programs written, assembled, and linked on the host computer are easily transferred to the 68KMB for execution.
Several batch files are included to simplify assembling and linking. As well, all the steps required to get up-and-running are described in detail in the Lab Manual.
Besides the three DOS programs described above, the student disk includes the source code for dozens of 68000 demo programs. These programs are either from the text or from the labs.
Click here to see a directory listing of C:\68KMB after the software is installed.
Click here to download the files that accompany the text. (You’ll have to unzip this and fiddle a bit with the directories.)
Six Input/Output boards are available to demonstrate interfaces to the 68KMB. These boards are used in the lab projects, presented in the Lab Manual. There are lots of interesting demo programs that use the I/O boards. Typically, a lab begins by asking students to study, load, and execute a demo program. Then, a problem is defined for the student to solve.
Here's a brief description of each board. (Click on the names to view a photo of each.)
I/O BOARD #1 Six toggle switches, eight LEDs
I/O BOARD #2 For toggle switches, one 7-segment LED
I/O BOARD #3 Four 7-segment LEDs
I/O BOARD #4 Eight 7-segment LEDs
I/O BOARD #5 Hexadecimal keypad
I/O BOARD #6 8-bit DAC, 8-bit ADC
The Lab Manual contains the following 15 labs:
Lab #1 - Introduction to DOS EDIT (optional)
Lab #2 - Introduction to PC-VT
Lab #3 - Introduction to the 68KMB
Lab #4 - Introduction to A68K and XLINK
Lab #5 - Programming problems
Lab #6 - Character I/O
Lab #7 - Interface to switches and LEDs
Lab #8 - Interface to a 7-segment LED
Lab #9 - Interface to a 4-digit display
Lab #10 - Interface to an 8-digit display
Lab #11 - Interface to a hexadecimal keypad
Lab #12 - Interface to a digital-to-analog converter
Lab #13 - Interface to an analog-to-digital converter
Lab #14 - Modular programming
Lab #15 - Firmware development
Click here to download the Lab Manual in PDF format (400K)
Of course, all textbooks have a few typos, and a few have been noted in The 68000 Microprocessor.
CLICK HERE for a list of typos and other comments. I've also found a few errors in the Instructors' Manual; however, I do not plan on releasing these on the web.
I'd be grateful to learn of any additional errors. If you find any, please send email to mack@yorku.ca.
Since publication of the 1st edition of The 68000 Microprocessor, numerous additions were made to the 68KMB package. These are available as the 68KMB EXTRA package. The EXTRA package consists of a disk and a set of labs. Together, these feature
· One-step installation
· A new-and-improved programming environment
· Four libraries containing 74 useful subroutines
· Numerous demo programs
· More lab experiments
· Source code for all subroutines and demo programs
· Version 5.0 of MON68K
The EXTRA package is not a replacement of the original package; it is a supplement to it. If you are a teacher using the original package, then you'll want to get the EXTRA package for future, more advanced, projects.
The new programming environment uses a batch file called MAKE.BAT to replace the existing linker batch file (L.BAT). Any of more than 70 subroutines may be used in programs simply by declaring them EXTERN. The MAKE batch program takes care of the rest. Of course, all the subroutines are fully documented in the manual and in the source files.
The EXTRA package contains the following new labs and appendices:
Lab #16 – Introduction to the EXTRA package
Lab #17 – More fun with analog I/O
Lab #18 – (deleted)
Lab #19 – Interface to a stepper motor
Lab #20 – Interface to a liquid crystal display
Lab #21 – Interface to a serial EEPROM
Lab #22 – Interface to a mouse
Lab #23 – Interface to a digital thermometer/thermostat
Appendix A – Frequently asked questions
Appendix B – Subroutine descriptions
Appendix C – MON68K version 5.0
Appendix D – EQU files
Appendix E – Listings of demo programs
Appendix F – 68681 operation and register descriptions
Downloads…
· Lab files ( ZIP format – 1.6 MB)
· Student disk ( ZIP format – 120 KB)
The boards and the textbook are not available through Scott MacKenzie. Below is some information on how to get these. If you have any difficulty getting information or if you have further questions, please get in touch (mac@snowhite.cis.uoguelph.ca).
The boards: The 68KMB and the I/O boards are available through
URDA, Inc.
1811 Jancey Street, Suite 200
Pittsburgh, PA
USA 15206-1065
Voice: 1-800-338-0517 (US only)
Voice: 1-412-363-0990
Fax: 1-412-782-5058
The 68KMB is priced at $325.00 and the six I/O boards are priced at $550.00. (US currency). This is the quantity-one price. If you are thinking of a bulk purchase for your school's lab, then you can discuss the price further with URDA.
If you are located outside the United States, the best approach is to send a fax to URDA and request a quote, including shipping. You'll get a response within 24 hours.
The book: The 68000 Microprocessor textbook is available through Prentice Hall. Please contact your local representative. It's a good idea to have the ISBN number (0-02-373654-2) handy when you call. If you are a teacher, request a copy of the Instructor's Manual (ISBN 0-02-373655-0) while you're at it.
If you are willing to pay by credit card, you can order the book over the phone and have a copy sent to you by mail.
The Canadian phone number for Prentice Hall is 1-800-567-3800.
The US phone number is 1-800-947-7700.
For inquiries outside North America, please contact Debbie Yarnell at Prentice Hall (debbie_yarnell@prenhall.com).
Problems? If you have any trouble tracking down the book or the 68KMB, please send me an email message (mack@yorku.ca).
Thanks,
Scott MacKenzie