2

While trying to boot to CP/M automatically on my RC2014 Z80, I encountered a problem getting SCM to show a CP/M boot option. According to the docs, ROM address 4000 (88 on the ROM label) is SCM with CP/M boot option.

88 – Small Computer Monitor for pageable ROM, 64k RAM, SIO/2 or 68B50 ACIA, with Microsoft BASIC and CP/M boot options [Note that this is a 16k image, so Page Size needs to be set to 16k and only A14 and A15 jumpers to select]

As directed, I set my ROM address jumper positions to 010 and changed the page size jumpers to 16k.

ROM jumpers for image 88

This successfully loads the R4 image of SCM, but doesn't include the CPM, BASIC, and WBASIC boot options (contrary to the docs).

Small Computer Monitor - RC2014
*?
Small Computer Monitor by Stephen C Cousins (www.scc.me.uk)
Version 1.0.0 configuration R4 for Z80 based RC2014 systems

Monitor commands:
A [<address>]  = Assemble        |  D [<address>]   = Disassemble
M [<address>]  = Memory display  |  E [<address>]   = Edit memory
R [<name>]     = Registers/edit  |  F [<name>]      = Flags/edit
B [<address>]  = Breakpoint      |  S [<address>]   = Single step
I <port>       = Input from port |  O <port> <data> = Output to port
G [<address>]  = Go to program
BAUD <device> <rate>             |  CONSOLE <device>
FILL <start> <end> <byte>        |  API <function> [<A>] [<DE>]
DEVICES, DIR, HELP, RESET
*CPM
Bad command
*cpm
Bad command
*BASIC
Bad parameter
*basic
Bad parameter

According to the RC2014 SCM docs, it should show the following at the end of the help ? command output:

DEVICES, DIR, HELP, RESET
BASIC Grant Searle’s adaptation of Microsoft BASIC
WBASIC Warm start BASIC (retains BASIC program)
CPM Load CP/M from Compact Flash (requires prepared CF card)
*CPM

Z80 CP/M BIOS 1.0 by G. Searle 2007-13

CP/M 2.2 Copyright 1979 (c) by Digital Research

A>

Is this a problem with the ROM itself, or a problem with the way I'm configuring the ROM jumpers?

Edit: I shared this question with the RC2014 Google Group. If I get an answer, I'll share it here.

Moderation note: See meta discussion on RC2014.

1 Answer 1

2

The solution is simple. It's a problem with the ROM page selection jumper configuration. I believe that when A13 is set, it loads only 8k of the 16k image into the page. If this happens, then the boot options are hidden.

A13 should not be set

The solution is to remove the A13 jumper entirely. It appears that this causes the full 16k image to be loaded from ROM, and the boot options appear. This is actually indicated in the docs, but it's subtle. It doesn't explicitly say "do not set A13" but that is implied because only A14 and A15 should be set.

only A14 and A15 jumpers to select

A13 jumper removed

Now, the boot options appear, and typing cpm works.

Small Computer Monitor - RC2014
*?
Small Computer Monitor by Stephen C Cousins (www.scc.me.uk)
Version 1.0.0 configuration R4 for Z80 based RC2014 systems

Monitor commands:
A [<address>]  = Assemble        |  D [<address>]   = Disassemble
M [<address>]  = Memory display  |  E [<address>]   = Edit memory
R [<name>]     = Registers/edit  |  F [<name>]      = Flags/edit
B [<address>]  = Breakpoint      |  S [<address>]   = Single step
I <port>       = Input from port |  O <port> <data> = Output to port
G [<address>]  = Go to program
BAUD <device> <rate>             |  CONSOLE <device>
FILL <start> <end> <byte>        |  API <function> [<A>] [<DE>]
DEVICES, DIR, HELP, RESET
BASIC    Grant Searle's adaptation of Microsoft BASIC
WBASIC   Warm start BASIC (retains BASIC program)
CPM      Load CP/M from Compact Flash (requires prepared CF card)
*cpm

Z80 CP/M BIOS 1.0 by G. Searle 2007-13

CP/M 2.2 Copyright 1979 (c) by Digital Research

A>

Edit: From Spencer Owen, the creator of the RC2014:

I'm sure Steve Cousins can confirm this, but I believe that when SCM starts up, it will expect to see the appropriate bits of code for CP/M or BASIC at certain addresses. If these aren't there then there's no point in giving you the CP/M or BASIC boot options.

Edit: According to another RC2014 community member, setting A13 repeats the first 8K:

IIRC, there is a "filesystem" at the top of the ROM that has the "files" for CPM and BASIC. By having A13 set, that upper 8Kbytes is a repeat of the first 8Kbytes and won't see the filesystem. I've fallen for the 8Kbyte vs 16Kbyte ROM swapping problem many times, and never learn! :-D

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .