MPU302, Repurposed SPX MPU board for CP/M-68K

www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_cpm68k_mpu302_dsc_29550813.jpg

A detailed writeup about the reverse engineering of MPU302 is published on Hackaday

Guide for operating CP/M68K v1.3 on MPU302

Powering up

Powering the board requires a 25-pin null modem cable between the CRAFT connector and a PC. Set baud rate to 38400, 8N1, RTS/CTS hardware handshake.

Hook up 5V & ground to the points indicated by the arrows. The '+5V' arrow points to a gold-plated wire-wrap post soldered to the banded end of the capacitor. The power consumption is about 250mA.

www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_cpm68k_mpu302_power_up.jpg

Immediately at power on, this message (bold) will be displayed:

AMBug v2.07a–Hardware handshake with CTS/RTS, 8/30/2017
RAM at $0 and alias at $200000, boot ROM at $600000. Type “he” for help
>

The front panel LED will alternate between red-orange-green once every second. At this point the AMbug monitor is running.

To boot CP/M68k, type 'bo' at > prompt, and this message will be displayed:

Boot CP/M 68K v1.3 CP/M-68K V1.3 COPYRIGHT (C) 1982, 1984, 1985 Digital Research A>

There are 3 “disks” on the board:

  • Drive A contains the CP/M68K v1.3 distribution files, Drive A resides on flash and is read only.
  • Drive B contains the BASIC compiler and associated BASIC library. Drive B also reside on flash and is read only.
  • Drive C resides on super-capacitor-backed RAM. It is read/write-able.

Content of Drive A:

A: CPM      REL : SD       REL : CPM      SYS : DDT68000 68K : README   TXT
A: CB68     68K : AS68INIT     : CLIB         : CLINK    SUB : CLINKE   SUB
A: CLINKF   SUB : LIBE     A   : LIBF     A   : S        O   : ASSERT   H
A: CTYPE    H   : ERRNO    H   : MORE     C   : OPTION   H   : OSATTR   H
A: OSIF     H   : OSIFERR  H   : PORTAB   H   : CB68     L68 : SETJMP   H
A: SIGNAL   H   : STDIO    H   : C        SUB : CE       SUB : FORMAT   S
A: INIT     S   : LOADR    O   : OVHDLR   O   : TERM     C   : TERMA    S
A: XFER86   C   : BDOS     S   : BIOS     C   : BIOS     O   : BIOSA    O
A: BIOSA    S   : BIOSTYPS H   : BOOTER   O   : BOOTER   S   : CBIOS    S
A: CONFIG   C   : ELDBIOS  S   : ERGBIOS  S   : LDBIOS   O   : LDBIOSA  O
A: LDBIOSA  S   : LOADBIOS H   : LOADBIOS SUB : NOBIOSHI S   : NOBIOSLO S
A: NORMBIOS H   : NORMBIOS SUB : PUTBOOT  S   : VT52     C   : VT52     O
A: CB68     DOC : SHORT    BAS : ASCIIART BAS : CPMLDR   SYS : CPMLIB
A: LCPM     SU  : LCPM10   SUB : LDRLIB       : MAKELDR  SUB : RELCPM   SUB
A: RELOC    68K : PIP      68K : INIT     68K : COPY     68K : STAT     68K
A: DDT      68K : AS68     68K : DUMP     68K : LO68     68K : ED       68K
A: CP68     68K : AR68     68K : FIND     68K : MORE     68K : NM68     68K
A: C068     68K : C168     68K : LINK68   68K : SENDC68  68K : SIZE68   68K
A: XFER86   68K : FORMAT   68K : TERM     68K : CONFIG   68K : PUTBOOT  68K
A: AS68SYMB DAT

Content of drive B:

B: CONC     SUB : CLINKONC SUB : BASIC    SUB : BLINK    SUB : SETUPC   SUB
B: ME       TXT : ME       68K : ASM      SUB : GKERMIT  68K : NEWSIZE  S
B: FCOMP    S   : FCOPY    S   : TPALEN   S   : GKREADME TXT : BIOS     H
B: ED       H   : PORTAB   H   : STDIO    H   : BIOS     S

Drive C: is a RAM disk. It's content is preserved with super capacitor for at least a week. After a week of inactivity, it may need to be initialized with

init c:

Software updates

Software changes fairly often, so this is a dedicated page for software updates.

Documentation

Schematics

SPX-MPU is a 6-layer pc board with power/ground layers in the middle. On some pc boards it is easy to see the inner layers clearly. This is how schematics are derived:

  • Remove all components.
  • Take high resolution photos of the bare board, component side and solder side.
  • Overlay the component layer with the solder layer in Photoshop
  • Manually trace the signals, switching layer in Photoshop as the trace switches side. Use continuity meter to verify connections where needed.

There are two sheets of C size schematics and one size B schematic. Please note these are schematics of the original pc board. They do not reflect subsequent engineering changes.

CPU/memory schematic (updated 11/25/17),

I/O schematic (updated 11/25/17).

Reset logic schematic (updated 11/25/17).

Connector Definitions

DB25F (CRAFT) connector located at the front panel

96-pin DIN41612 connector

4×16 array test pads (note: this is an array of solder pads, 4 rows by 16 columns, located next to the hexadecimal rotary switch)

Engineering Changes

There are three groups of engineering changes to the original SPX-MPU board.

Backup AMbug Monitor

The board contains two AMbug monitors. The primary one resides on a pair of 29F010 flash, UB2, UB3. The backup monitor reside on the first sector (128K byte sector) of UD3, UE3. If the primary monitor is corrupted, the backup monitor can be activated by unsoldering and swapping two existing jumper wires as shown below. (A procedure on how to reprogram the primary AMbug will be written…)

backup_debugger.jpg

Enable CP/M-68K

Hardware handshake engineering changes are not necessary with AMbug version 2.07c

Enable hardware expansion

www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_boards_sbc_mpu302_cpm_no10_ecide_comp.jpg

Two engineering changes are required to enable expansion board to the 96-pin DIN41612 connector:

  • 5V power to the spare pin B32
  • Lower resistance of the control port.

Expansion Daughterboard

www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_boards_other_idecf2din_dsc_30871016.jpgCompactFlash IDE daughterboard. The CF IDE daughter board plugs into the DIN41612 connector. The BIOS detects the presence of the daughterboard and will enable 4 8-megabyte drives (drive D: thru G:). The number and size of the drives can be easily changed with an updated BIOS. More information on the CF IDE daughterboard can be found here.

boards/sbc/mpu302.txt · Last modified: 2020/11/05 21:19 by plasmo
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0