Close
0%
0%

Serial + Memory Card for the Microprofessor MPF-IB

An attempt to make programming the MPF-IB as easy to program as an Arduino.

Similar projects worth following
The MultiTech MPF-I(B) line of single board computers never had a serial port extension, so this is not a remake. To fill the remainder of the eurocard sized board, a configurable RAM extension is added. Per 4 kByte segment the RAM can be disabled, read-write, read-only or write only (useful to copy a ROM in place). With a non-violent RAM replacement, it is even usable as ROM! The monitor ROM for the serial port is at the moment quite simple, but intended as an extension to the original MPF_I monitor. It now almost fills the 4 kByte page (F000h-FFFFh). See the links for more information.

The code size is now just under 4 kByte.

ZMC80 Computer                  2015 MCook
 adaptation to MPF-1 / Z80 DART 2022 F.J.Kraan
Monitor v1.2, ROM: E000h, RAM: 1800h, DART: E0h

ZMC80 Monitor Command List
? - view command list
C - clear screen
D - print 100h bytes from specified location
E - edit bytes in memory
F - fill memory range with value
G - jump to memory address
K - call to memory address
L - load intel-hex file
M - copy bytes in memory
O - write byte to output port
P - print port scan (00-FF)
Q - test MPF keyboard
R - monitor reset
S - calculate checksum for memory range
T - test memory range
Z - dump user registers (STEP)
+ - print next block of memory
- - print previous block of memory

The original ZMC80 monitor can be found here: https://github.com/MatthewWCook/Z80Project/tree/master/Z80%20Monitor%20Part%201/Code

Serial_Mem_B.pdf

Adobe Portable Document Format - 465.80 kB - 02/17/2022 at 08:40

Preview

  • Development environment outline

    fjkraan12/18/2025 at 14:58 0 comments

    The old situation relied on the ROM Emulator to upload code into the MPF-I memory space. With the hex-load routine, this is now possible from the serial monitor. As this upload uses the same serial connection as
    the monitor console, so it is probably not very sound. At the other hand it seems to work and similar
    configurations work for the 6809-BEM3 and SPC16/10 configurations. 

    The potential problem exists at the host side, where the terminal program connected to the serial port must 
    allow another program to feed the new code (in .hex or .s19 format) to the monitor.

    For the MPF-I dev.env, the terminal is a PuTTY session for the commands and the ROM Emulator Terminal for
    the hex-feed. As there is no handshake, a 0.1s delay is inserted between the lines. With the other dev.envs,
    a cat file.hex > /dev/ttyUSB0 works, so there is some handshaking there. To be investigated.

    Re-investigated minicom again, as this should be the integrated Linux terminal & download program. Found 
    a reason why it didn't work; it was checking the modem handshake line DCD. '^A o' > 'Modem and dialing' > 'R'.
    It still displays OFFLINE, but works. In the main configuration menu, select 'Save setup as dfl'. This 
    created a .minirc.dfl file:

    # Machine-generated file - use setup menu in minicom to change parameters.
    pu pname9           YUNYNascii
    pu pprog9           ascii-xfr -dsv -l 100
    pu baudrate         9600
    pu bits             8
    pu parity           N
    pu stopbits         1
    pu updir            ./
    pu downdir          ./
    pu hasdcd           No 
    pu rtscts           No 

     The 'pprog9' option is modified, inserting 100 ms delay between the lines of the hex-intel file.

  • Software & hardware changes

    fjkraan10/12/2024 at 13:17 0 comments

    Some of the recent changes:
    * The monitor now can use either the DART Channel A or B, depending on a single I/O-port address,
    * A four pass RAM test is introduced, which executes seven checks on each address. This will catch most RAM chip and adressing errors,
    * For the MPF-I, most keys on the keyboard can be tested,
    * On the hardware front, a new version of the board is on its way, using
    a 16x BAUD rate clock. This should improve the (still planned) Hex-Intel transfer command.

View all 2 project logs

Enjoy this project?

Share

Discussions

Does this project spark your interest?

Become a member to follow this project and never miss any updates