<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://bitchin100.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Philip.avery</id>
	<title>Bitchin100 DocGarden - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://bitchin100.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Philip.avery"/>
	<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=Special:Contributions/Philip.avery"/>
	<updated>2026-04-10T11:45:14Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3746</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3746"/>
		<updated>2021-01-28T00:22:33Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* News &amp;amp; Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
* 28-Jan-21 ---- Bug fixed in CPMUPD.CO to prevent possible hanging on completion. Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
             &lt;br /&gt;
* 01-Jul-20 ---- M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2.3&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Philip Avery&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3745</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3745"/>
		<updated>2021-01-28T00:18:58Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* News &amp;amp; Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21 ---- Bug fixed in CPMUPD.CO to prevent possible hanging on completion. Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
             &lt;br /&gt;
01-Jul-20  ---- M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2.3&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Philip Avery&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3744</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3744"/>
		<updated>2021-01-28T00:13:30Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Installation and Set Up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21 *  Bug fixed in CPMUPD.CO to prevent possible hanging on completion. Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
             &lt;br /&gt;
1-Jul-20  *  M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2.3&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Philip Avery&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=File:CPMUPD.CO&amp;diff=3743</id>
		<title>File:CPMUPD.CO</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=File:CPMUPD.CO&amp;diff=3743"/>
		<updated>2021-01-28T00:10:55Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: Philip.avery uploaded a new version of &amp;amp;quot;File:CPMUPD.CO&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installer/updater&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3742</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3742"/>
		<updated>2021-01-27T21:00:46Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* News &amp;amp; Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21 *  Bug fixed in CPMUPD.CO to prevent possible hanging on completion. Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
             &lt;br /&gt;
1-Jul-20  *  M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Philip Avery&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3741</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3741"/>
		<updated>2021-01-27T20:56:59Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* News &amp;amp; Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21 * Bug fixed in CPMUPD.CO to prevent possible hanging on completion.&lt;br /&gt;
             Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
&lt;br /&gt;
1-Jul-20     M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Philip Avery&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3740</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3740"/>
		<updated>2021-01-27T20:56:16Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Acknowledgements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21    Bug fixed in CPMUPD.CO to prevent possible hanging on completion.&lt;br /&gt;
             Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
&lt;br /&gt;
1-Jul-20     M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Philip Avery&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3739</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3739"/>
		<updated>2021-01-27T20:55:56Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Headline text */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21    Bug fixed in CPMUPD.CO to prevent possible hanging on completion.&lt;br /&gt;
             Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
&lt;br /&gt;
1-Jul-20     M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Philip Avery&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3738</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3738"/>
		<updated>2021-01-27T20:55:37Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Headline text */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21    Bug fixed in CPMUPD.CO to prevent possible hanging on completion.&lt;br /&gt;
             Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
&lt;br /&gt;
1-Jul-20     M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
== Headline text ==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Philip Avery&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3737</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3737"/>
		<updated>2021-01-27T20:55:19Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Acknowledgements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21    Bug fixed in CPMUPD.CO to prevent possible hanging on completion.&lt;br /&gt;
             Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
&lt;br /&gt;
1-Jul-20     M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
== Headline text ==&lt;br /&gt;
Philip Avery&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3736</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3736"/>
		<updated>2021-01-27T20:54:53Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Acknowledgements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21    Bug fixed in CPMUPD.CO to prevent possible hanging on completion.&lt;br /&gt;
             Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
&lt;br /&gt;
1-Jul-20     M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Philip Avery&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3735</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3735"/>
		<updated>2021-01-27T20:54:31Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Acknowledgements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21    Bug fixed in CPMUPD.CO to prevent possible hanging on completion.&lt;br /&gt;
             Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
&lt;br /&gt;
1-Jul-20     M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Philip Avery&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3734</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3734"/>
		<updated>2021-01-27T20:53:39Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Acknowledgements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21    Bug fixed in CPMUPD.CO to prevent possible hanging on completion.&lt;br /&gt;
             Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
&lt;br /&gt;
1-Jul-20     M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Philip Avery&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3733</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3733"/>
		<updated>2021-01-27T20:53:17Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Acknowledgements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21    Bug fixed in CPMUPD.CO to prevent possible hanging on completion.&lt;br /&gt;
             Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
&lt;br /&gt;
1-Jul-20     M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Philip Avery&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3732</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3732"/>
		<updated>2021-01-27T20:52:54Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Acknowledgements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21    Bug fixed in CPMUPD.CO to prevent possible hanging on completion.&lt;br /&gt;
             Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
&lt;br /&gt;
1-Jul-20     M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;&#039;&#039;Philip Avery&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3731</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3731"/>
		<updated>2021-01-27T20:50:53Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Philip Avery */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21    Bug fixed in CPMUPD.CO to prevent possible hanging on completion.&lt;br /&gt;
             Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
&lt;br /&gt;
1-Jul-20     M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;Philip Avery&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3730</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3730"/>
		<updated>2021-01-27T20:50:11Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* News &amp;amp; Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21    Bug fixed in CPMUPD.CO to prevent possible hanging on completion.&lt;br /&gt;
             Mandatory to use this version (2.3) for REXCPM V2.&lt;br /&gt;
&lt;br /&gt;
1-Jul-20     M100 CP/M released.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;Philip Avery&#039;&#039; =&lt;br /&gt;
&#039;&#039;1-Jul-20&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3729</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3729"/>
		<updated>2021-01-27T20:45:18Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Installation and Set Up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= News &amp;amp; Updates =&lt;br /&gt;
&lt;br /&gt;
28-Jan-21&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;Philip Avery&#039;&#039; =&lt;br /&gt;
&#039;&#039;1-Jul-20&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3469</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3469"/>
		<updated>2020-11-16T01:47:13Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Installation and Set Up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REXCPM manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;Philip Avery&#039;&#039; =&lt;br /&gt;
&#039;&#039;1-Jul-20&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3336</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3336"/>
		<updated>2020-07-25T00:23:07Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Installation and Set Up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 0,60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;Philip Avery&#039;&#039; =&lt;br /&gt;
&#039;&#039;1-Jul-20&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3310</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3310"/>
		<updated>2020-06-30T23:32:47Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* The right &amp;amp; wrong CP/M Application software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How much free memory in M100 CP/M?&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;Philip Avery&#039;&#039; =&lt;br /&gt;
&#039;&#039;1-Jul-20&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3309</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3309"/>
		<updated>2020-06-30T23:31:44Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* The right &amp;amp; wrong CP/M Application software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;How much free memory in M100 CP/M?&#039;&#039;&#039;&#039;&#039; Some applications may need this for configuring. BDOS starts at DE1Eh (56862)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;Philip Avery&#039;&#039; =&lt;br /&gt;
&#039;&#039;1-Jul-20&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3308</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3308"/>
		<updated>2020-06-30T23:20:22Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Philip Avery */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;Philip Avery&#039;&#039; =&lt;br /&gt;
&#039;&#039;1-Jul-20&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3307</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3307"/>
		<updated>2020-06-30T23:19:14Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;Philip Avery&#039;&#039; =&lt;br /&gt;
1-Jul-20&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3306</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3306"/>
		<updated>2020-06-30T23:15:43Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Special M100 CP/M features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may soon change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3305</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3305"/>
		<updated>2020-06-30T23:14:36Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Importing &amp;amp; Exporting software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation and Set Up).&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3304</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3304"/>
		<updated>2020-06-30T23:13:58Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Importing &amp;amp; Exporting software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see comment in Installation &amp;amp; Setup&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3303</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3303"/>
		<updated>2020-06-30T23:13:10Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Importing &amp;amp; Exporting software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary. (Note: if using USB-serial converter, see &lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3302</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3302"/>
		<updated>2020-06-30T23:10:54Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Installation and Set Up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter has &amp;quot;FTDI&amp;quot; chipset to avoid this error).  &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary.&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3301</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3301"/>
		<updated>2020-06-30T23:03:33Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
(Note: if using USB-serial converters. Whilst some cheap converters work fine for normal M100 transfers (ie less than 32KB), experience has shown failure can occur with larger CP/M files. If a &amp;quot;checksum error&amp;quot; is displayed during M100 CP/M install, the USB-serial converter is likely to be the problem. Ensure your converter is   &lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished. The RS-232 settings used are: 98N1D (19200 baud)&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary.&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= Initialising RS-232 =&lt;br /&gt;
&lt;br /&gt;
When connecting a device to the RS-232 port (disregard if redirecting video to it), the port needs initialising. Longer term a Config utility or function key is the goal, but in the meantime the RS-232 port can be set to: 98N1D (19200) by:&lt;br /&gt;
 - Press LABEL, then F3 until RS23 is displayed, press LABEL again. Now reselect your video mode of choice by: LABEL, pressing F3, LABEL again &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3256</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3256"/>
		<updated>2020-06-13T04:44:57Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
&lt;br /&gt;
   * M100 CP/M is currently in beta testing&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device. &#039;&#039;&#039;&#039;&#039;News 13-Jun-20: Suggest holding off making this mod as may change for a Z80 compatible solution&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished.&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary.&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3246</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3246"/>
		<updated>2020-05-28T21:49:58Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: /* Installation and Set Up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------=============  PAGE UNDER DEVELOPMENT!!!================&lt;br /&gt;
-------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
&lt;br /&gt;
   * M100 CP/M is currently in beta testing&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted altogether from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device.&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished.&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary.&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3245</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3245"/>
		<updated>2020-05-28T21:47:39Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------=============  PAGE UNDER DEVELOPMENT!!!================&lt;br /&gt;
-------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
&lt;br /&gt;
   * M100 CP/M is currently in beta testing&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here are two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device.&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished.&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary.&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3244</id>
		<title>M100 CP/M</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M&amp;diff=3244"/>
		<updated>2020-05-28T21:45:01Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------=============  PAGE UNDER DEVELOPMENT!!!================&lt;br /&gt;
-------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;What is M100 CP/M?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
M100 CP/M is an implementation of CP/M 2.2 that is tailored to the TRS-80 Model 100 &amp;amp; Tandy 102. Now able to run the predominant operating system of the 1970s &amp;amp; early 1980s means a huge library of programming languages, text adventures, utilities, etc, can now run on these computers. Here is a quick [https://obsolescence.wixsite.com/obsolescence/introduction-to-cpm look] into CP/M.  M100 CP/M is free to download from [[#Installation and Set Up|Installation and Set Up]].&lt;br /&gt;
&lt;br /&gt;
In order to run CP/M, these computers need two changes to hardware:&lt;br /&gt;
   * RAM needs to be present in lower 32KB region&lt;br /&gt;
   * Some form of memory to act as disk storage&lt;br /&gt;
&lt;br /&gt;
[[REXCPM]] is the device that achieves this. Developed by long-standing M100 hardware specialist Steve Adolph, REXCPM is a plug &#039;n play Option ROM board that provides the lower 32KB, plus either 2MB or 4MB of RAM-disk.&lt;br /&gt;
&lt;br /&gt;
This package of M100 CP/M &amp;amp; REXCPM makes these computers a venerable CP/M machine with their small footprint, enviable keyboard, super-fast RAM-disk, long battery life, etc, etc.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
&lt;br /&gt;
   * M100 CP/M is currently in beta testing&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
= Installation and Set Up =&lt;br /&gt;
&lt;br /&gt;
Once your REXCPM board is installed &amp;amp; verified by running RXCMGR (REX manager) successfully, download these files:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Model&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Revision&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Installer/updater&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPMUPD.CO|CPMUPD.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM.CO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:CPM.CO|CPM.CO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 2MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm210.bk|CPM210.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; or &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;M100/T102&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CPM for 4MB REXCPM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[Media:Cpm410.bk|CPM410.BK]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Move CPMUPD.CO &amp;amp; CPM.CO to your M100. Leave CPM210.BK (or CPM410.BK) on the emulated-TPDD.&lt;br /&gt;
 Issue CLEAR 60000 from Basic. In Main Menu, execute CPMUPD.CO.&lt;br /&gt;
&lt;br /&gt;
Enter the &#039;Install filename&#039;, either CPM210.BK or CPM410.BK. As you have no existing CP/M disk, press &#039;y&#039; to confirm.&lt;br /&gt;
&lt;br /&gt;
M100 CP/M will install, taking 5-lines of progress dots... (about 2min 35sec). On completion, you&#039;ll be returned to Main Menu. If there was a TPDD-error, the program will stop &amp;amp; display error message.&lt;br /&gt;
&lt;br /&gt;
Re-activate RXCMGR by selecting it &amp;amp; F8. CP/M can be entered by two ways: selecting &#039;&#039;&#039;CPM.CO&#039;&#039;&#039; or by REXCPM hot-key &#039;&#039;&#039;&#039;ctrl-c&#039;&#039;&#039;&#039;. In fact if you&#039;re only going to use the hot-key, CPM.CO can be deleted from Menu.&lt;br /&gt;
&lt;br /&gt;
= Using CP/M =&lt;br /&gt;
&lt;br /&gt;
To exit CP/M to M100 Main Menu, press F8.&lt;br /&gt;
&lt;br /&gt;
There is only one &#039;disk drive&#039; in M100 CP/M, the &amp;quot;A&amp;quot; drive. It is however nearly 2MB (or 4MB) in size.&lt;br /&gt;
&lt;br /&gt;
CP/M commands can be in lower case, here&#039;s two common examples:&lt;br /&gt;
&lt;br /&gt;
* dir   - produces a Directory&lt;br /&gt;
&lt;br /&gt;
* stat  - shows free space on disk&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.oocities.org/homeofoscarvermeulen/cpm/cpm_commands.html summary] of commands. Here is the full [http://www.cpm.z80.de/manuals/cpm22-m.pdf manual] for CP/M 2.2.&lt;br /&gt;
&lt;br /&gt;
= Special M100 CP/M features =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCREEN CONTROL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CP/M is designed for 80 x 24 screen size, thus the 40 x 8 of the M100 presents challenges. Some software wont recognise ctrl-s (or PAUSE key on M100) to stop scrolling. Zork adventure series is an example of this. So M100 CP/M can turn off scrolling until a key is pressed.&lt;br /&gt;
&lt;br /&gt;
* F1 - toggles between Scroll Locked (Sc L) and &#039;Scroll Standard&#039; (Sc S). Press LABEL to see this. In Locked mode, when the display is ready to scroll, the cursor will be at the right-hand bottom awaiting any key press. F1 can be pressed at anytime, however best to select it before starting the offending program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some software doesn&#039;t use the standard CP/M key-entry routines resulting in a cursor not displaying. Zork is also an example of this.&lt;br /&gt;
&lt;br /&gt;
* F2 - toggles between &#039;Cursor Full-time (Cu F) and &#039;Cursor Standard&#039; (Cu S). Press LABEL to see this. If a program doesn&#039;t show a cursor when at keyboard input, select &#039;Cursor Full-time&#039;. F2 can be pressed anytime. The reason Cursor Standard is an option is so a flashing cursor isn&#039;t a distraction when the CPU is processing or doing graphics on the M100 LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M100 CP/M can redirect video output to an external monitor giving full 80x24 display. Using this [[VT100]] device, an old CRT or LCD VGA monitor can be put to good use. There is also the option to redirect video through the Cassette or BCR ports ([[BCR TTL SERIAL HACK]]), thereby keeping the RS-232 port free for connecting to an emulated-TPDD or other serial device.&lt;br /&gt;
&lt;br /&gt;
* F3 - toggles between M100 (M100 LCD 40x8), RS23 (RS-232 port) and CASS (Cassette/BCR port). LABEL has to be active to make a change. The change occurs when LABEL is extinguished.&lt;br /&gt;
&lt;br /&gt;
= The right &amp;amp; wrong CP/M Application software =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The CP/M-era spanned several processors, so only 8080 CP/M software will run on M100 CP/M, not that for Z80 or 8086. Most early CP/M software was 8080 and is retrospectively referred to as CPM-80, as opposed to CPM-86. However Z80 software can also be classed as CPM-80.&lt;br /&gt;
&lt;br /&gt;
Here is a good [http://www.retroarchive.org/cpm/index.html library] of software. (NB some maybe Z80 or 8086). Here is [http://planemo.org/retro/downloads/z100/software/cpm/ another]. (Should be good as it&#039;s for 8085).&lt;br /&gt;
&lt;br /&gt;
Here is our list of [[M100 CP/M Application Software]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wrong&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programs known not to run on M100 CP/M&lt;br /&gt;
&lt;br /&gt;
 - Turbo Pascal (requires Z80)&lt;br /&gt;
 - VDE full-screen editor (requires Z80)&lt;br /&gt;
&lt;br /&gt;
= Importing &amp;amp; Exporting software =&lt;br /&gt;
&lt;br /&gt;
Once you have found some &#039;&#039;&#039;&#039;&#039;Right&#039;&#039;&#039;&#039;&#039; software, you need to &#039;&#039;&#039;import&#039;&#039;&#039; it into M100 CP/M.&lt;br /&gt;
* Have the files in the current directory on your emulated TPDD. Currently filenames must be 6.2 format (eg &#039;progra.co&#039;) as opposed to CP/M&#039;s 8.3 format (eg &#039;program.com&#039;), so temporary renaming maybe necessary.&lt;br /&gt;
&lt;br /&gt;
In CP/M, use the IMPORT command to copy from TPDD into CP/M, eg:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co program.com&#039;&#039;&#039;  (this imports &#039;progra.co&#039; from TPDD and saves as &#039;program.com&#039;)&lt;br /&gt;
&lt;br /&gt;
Other examples: &lt;br /&gt;
      &lt;br /&gt;
* &#039;&#039;&#039;import progra.co&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;import progra.co .com&#039;&#039;&#039;   (imports &amp;amp; saves as &#039;progra.com&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exporting is the same, but ensure you&#039;re saving in 6.2 format. eg&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;export program.com progra.co&#039;&#039;&#039;   (this exports &#039;program.com&#039; to TPDD and saves as &#039;progra.co&#039;)&lt;br /&gt;
&lt;br /&gt;
(other variants work as for IMPORT)&lt;br /&gt;
&lt;br /&gt;
IMPORT &amp;amp; EXPORT HELP&lt;br /&gt;
&lt;br /&gt;
Entering the command &amp;quot;import&amp;quot; or &amp;quot;export&amp;quot; with no filename displays help text &amp;amp; examples.&lt;br /&gt;
&lt;br /&gt;
= In case of Difficulty =&lt;br /&gt;
&lt;br /&gt;
If the M100 hangs during CP/M, try the following in order, proceeding to the next step only if necessary:  &lt;br /&gt;
&lt;br /&gt;
 - ctrl-c&lt;br /&gt;
 - Reset. Will return to Menu. If a blank M100 Menu comes up, don&#039;t panic&lt;br /&gt;
 - Turn power off/on. This should restore Menu &lt;br /&gt;
 - If Menu is still blank, enter Basic and CALL 63012&lt;br /&gt;
 - This should restore RXCMGR &amp;amp; you&#039;ll be able to restore your RAM image from a REX backup (assuming you&#039;ve made one)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
I would like to thank those who have contributed to the project:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steve Adolph&#039;&#039;&#039; - for producing REXCPM hardware (which is a delight to program). For CASS/BCR video output, hi-speed Backup and technical support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kenneth Pettit&#039;&#039;&#039; - for VirtualT as this project would have remained a dream if not for VT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mike Stein&#039;&#039;&#039; - for alerting me to Geoff Graham&#039;s VT-100 Terminal project and for beta-testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model T Software]]&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3243</id>
		<title>M100 CP/M Application Software</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3243"/>
		<updated>2020-05-28T04:53:05Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Here is known-good CP/M software for the M100 including that which is configured or patched to work on the M100. If you find more software, please make it known on the bitchin100.com discussion list &amp;amp; we&#039;ll include it here.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;.zip download&#039;&#039;&#039;||&#039;&#039;&#039;Name&#039;&#039;&#039;||&#039;&#039;&#039; Works on 40x8 &#039;&#039;&#039;||&#039;&#039;&#039; Works on 80x24 &#039;&#039;&#039;||&#039;&#039;&#039;Description &amp;amp; Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LANGUAGES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.bdsoft.com/dist/bdsc-all.zip BDS-C]||BDS-C C-language compiler||YES||YES||K&amp;amp;R C. Noted for its fast compile time. Further info [https://www.bdsoft.com/resources/bdsc.html here]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Tiny3.zip|TINY]]||Tiny Basic||YES||YES||Tiny Basic from mid-1970s. All input must be in uppercase. Use BYE to exit. Includes Tic-Tac-Toe game. LOAD TAC&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GAMES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:LADDER.zip|LADDER]]||LADDER||NO||YES||Classic Ladder game. Use 4&amp;amp;6 for left/right, space to jump. (8 for up?)&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Othello.zip|Othello]]||OTHELLO||NO||YES||Classic Othello / Reversi game&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TEXT EDITORS&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED40.zip|VEDIT40]]||VEDIT40||YES||NO||Full-screen text editor configured for M100 LCD - 40x8. Very similar to M100 TEXT. Thanks to Steve Adolph&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED80.zip|VEDIT80]]||VEDIT80||NO||YES||Full-screen text editor configured for M100 VT-100 - 80x24. Very similar to M100 TEXT. Thanks to Steve Adolph&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VEDcust.zip|VEDIT customization info]]||-||-||-|| Customization info used to create VED40 and VED80&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VEDIT.zip|VEDIT distribution]]||-||-||-|| VEDIT distribution 1.32&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-}&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3242</id>
		<title>M100 CP/M Application Software</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3242"/>
		<updated>2020-05-28T04:49:20Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Here is known-good CP/M software for the M100 including that which is configured or patched to work on the M100. If you find more software, please make it known on the bitchin100.com discussion list &amp;amp; we&#039;ll include it here.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;.zip download&#039;&#039;&#039;||&#039;&#039;&#039;Name&#039;&#039;&#039;||&#039;&#039;&#039; Works on 40x8 &#039;&#039;&#039;||&#039;&#039;&#039; Works on 80x24 &#039;&#039;&#039;||&#039;&#039;&#039;Description &amp;amp; Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LANGUAGES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.bdsoft.com/dist/bdsc-all.zip BDS-C]||BDS-C C-language compiler||YES||YES||K&amp;amp;R C. Noted for its fast compile time. Further info [https://www.bdsoft.com/resources/bdsc.html here]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Tiny3.zip|TINY]]||Tiny Basic||YES||YES||Tiny Basic from mid 1970s. All input must be in uppercase. Use BYE to exit. Includes Tic-Tac-Toe game. LOAD TAC. RUN&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GAMES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:LADDER.zip|LADDER]]||LADDER||NO||YES||Classic LADDER game. Use 4&amp;amp;6 for left/right, space to jump. (8 for up?)&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Othello.zip|Othello]]||OTHELLO||NO||YES||Classic Othello / Reversi game&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TEXT EDITORS&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED40.zip|VEDIT40]]||VEDIT40||YES||NO||Full-screen text editor configured for M100 LCD - 40x8. Very similar to M100 TEXT. Thanks to Steve Adolph&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED80.zip|VEDIT80]]||VEDIT80||NO||YES||Full-screen text editor configured for M100 VT-100 - 80x24. Very similar to M100 TEXT. Thanks to Steve Adolph&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VEDcust.zip|VEDIT customization info]]||-||-||-|| Customization info used to create VED40 and VED80&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VEDIT.zip|VEDIT distribution]]||-||-||-|| VEDIT distribution 1.32&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-}&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=File:Tiny3.zip&amp;diff=3241</id>
		<title>File:Tiny3.zip</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=File:Tiny3.zip&amp;diff=3241"/>
		<updated>2020-05-28T04:44:06Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3240</id>
		<title>M100 CP/M Application Software</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3240"/>
		<updated>2020-05-28T04:43:36Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Here is known-good CP/M software for the M100 including that which is configured or patched to work on the M100. If you find more software, please make it known on the bitchin100.com discussion list &amp;amp; we&#039;ll include it here.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;.zip download&#039;&#039;&#039;||&#039;&#039;&#039;Name&#039;&#039;&#039;||&#039;&#039;&#039; Works on 40x8 &#039;&#039;&#039;||&#039;&#039;&#039; Works on 80x24 &#039;&#039;&#039;||&#039;&#039;&#039;Description &amp;amp; Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LANGUAGES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.bdsoft.com/dist/bdsc-all.zip BDS-C]||BDS-C C-language compiler||YES||YES||K&amp;amp;R C. Noted for its fast compile time. Further info [https://www.bdsoft.com/resources/bdsc.html here]&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GAMES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:LADDER.zip|LADDER]]||LADDER||NO||YES||Classic LADDER game. Use 4&amp;amp;6 for left/right, space to jump. (8 for up?)&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Othello.zip|Othello]]||OTHELLO||NO||YES||Classic Othello / Reversi game&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TEXT EDITORS&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED40.zip|VEDIT40]]||VEDIT40||YES||NO||Full-screen text editor configured for M100 LCD - 40x8. Very similar to M100 TEXT. Thanks to Steve Adolph&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED80.zip|VEDIT80]]||VEDIT80||NO||YES||Full-screen text editor configured for M100 VT-100 - 80x24. Very similar to M100 TEXT. Thanks to Steve Adolph&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VEDcust.zip|VEDIT customization info]]||-||-||-|| Customization info used to create VED40 and VED80&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VEDIT.zip|VEDIT distribution]]||-||-||-|| VEDIT distribution 1.32&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-}&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=File:VED40.zip&amp;diff=3231</id>
		<title>File:VED40.zip</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=File:VED40.zip&amp;diff=3231"/>
		<updated>2020-05-26T21:35:30Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: Philip.avery uploaded a new version of &amp;amp;quot;File:VED40.zip&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3230</id>
		<title>M100 CP/M Application Software</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3230"/>
		<updated>2020-05-26T21:19:51Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Here is known-good CP/M software for the M100 including that which is configured or patched to work on the M100. If you find more software, please make it known on the bitchin100.com discussion list &amp;amp; we&#039;ll include it here.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;.zip download&#039;&#039;&#039;||&#039;&#039;&#039;Name&#039;&#039;&#039;||&#039;&#039;&#039; Works on 40x8 &#039;&#039;&#039;||&#039;&#039;&#039; Works on 80x24 &#039;&#039;&#039;||&#039;&#039;&#039;Description &amp;amp; Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LANGUAGES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.bdsoft.com/dist/bdsc-all.zip BDS-C]||BDS-C C-language compiler||YES||YES||K&amp;amp;R C. Noted for its fast compile time. Further info [https://www.bdsoft.com/resources/bdsc.html here]&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GAMES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:LADDER.zip|LADDER]]||Ladder||NO||YES||Classic LADDER game. Use 4&amp;amp;6 for left/right, space to jump. (8 for up?)&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TEXT EDITORS&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED40.zip|VEDIT40]]||VEDIT40||YES||NO||Full-screen text editor configured for M100 LCD - 40x8. Very similar to M100 TEXT. Thanks to Steve Adolph&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED80.zip|VEDIT80]]||VEDIT80||NO||YES||Full-screen text editor configured for M100 VT-100 - 80x24. Very similar to M100 TEXT. Thanks to Steve Adolph&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-}&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=File:VED80.zip&amp;diff=3229</id>
		<title>File:VED80.zip</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=File:VED80.zip&amp;diff=3229"/>
		<updated>2020-05-26T21:19:08Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: Philip.avery uploaded a new version of &amp;amp;quot;File:VED80.zip&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=File:VED80.zip&amp;diff=3228</id>
		<title>File:VED80.zip</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=File:VED80.zip&amp;diff=3228"/>
		<updated>2020-05-26T21:10:17Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3227</id>
		<title>M100 CP/M Application Software</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3227"/>
		<updated>2020-05-26T04:37:21Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Here is known-good CP/M software for the M100 including that which is configured or patched to work on the M100. If you find more software, please make it known on the bitchin100.com discussion list &amp;amp; we&#039;ll include it here.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;.zip download&#039;&#039;&#039;||&#039;&#039;&#039;Name&#039;&#039;&#039;||&#039;&#039;&#039; Works on 40x8 &#039;&#039;&#039;||&#039;&#039;&#039; Works on 80x24 &#039;&#039;&#039;||&#039;&#039;&#039;Description &amp;amp; Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LANGUAGES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.bdsoft.com/dist/bdsc-all.zip BDS-C]||BDS-C C-language compiler||YES||YES||K&amp;amp;R C. Noted for its fast compile time. Further info [https://www.bdsoft.com/resources/bdsc.html here]&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GAMES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:LADDER.zip|LADDER]]||Ladder||NO||YES||Classic LADDER game. Use 4&amp;amp;6 for left/right, space to jump. (8 for up?)&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TEXT EDITORS&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED40.zip|VEDIT40]]||VEDIT40||YES||NO||Full-screen text editor configured for M100 LCD - 40x8. Very similar to M100 TEXT. Thanks to Steve Adolph. (Still in development)&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED80.zip|VEDIT80]]||VEDIT80||NO||YES||Full-screen text editor configured for M100 VT-100 - 80x24. Very similar to M100 TEXT. Thanks to Steve Adolph. (Still in development)&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-}&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3226</id>
		<title>M100 CP/M Application Software</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3226"/>
		<updated>2020-05-26T04:35:10Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Here is known-good CP/M software for the M100 including that which is configured or patched to work on the M100. If you find more software, please make it known on the bitchin100.com discussion list &amp;amp; we&#039;ll include it here.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;.zip download&#039;&#039;&#039;||&#039;&#039;&#039;Name&#039;&#039;&#039;||&#039;&#039;&#039; Works on 40x8 &#039;&#039;&#039;||&#039;&#039;&#039; Works on 80x24 &#039;&#039;&#039;||&#039;&#039;&#039;Description &amp;amp; Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LANGUAGES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.bdsoft.com/dist/bdsc-all.zip BDS-C]||BDS-C C-language compiler||YES||YES||K&amp;amp;R C. Noted for its fast compile time. Further info [https://www.bdsoft.com/resources/bdsc.html here]&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GAMES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:LADDER.zip|LADDER]]||Ladder||NO||YES||Classic LADDER game. Use 4&amp;amp;6 for left/right, space to jump. (8 for up?)&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TEXT EDITORS&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED40.zip|VED40]]||VEDIT40||YES||NO||Full-screen text editor configured for M100 LCD - 40x8. Very similar to M100 TEXT. Thanks to Steve Adolph. (Still in development)&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED80.zip|VED80]]||VEDIT80||NO||YES||Full-screen text editor configured for M100 VT-100 - 80x24. Very similar to M100 TEXT. Thanks to Steve Adolph. (Still in development)&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-}&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3225</id>
		<title>M100 CP/M Application Software</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3225"/>
		<updated>2020-05-26T04:32:29Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Here is known-good CP/M software for the M100 including that which is configured or patched to work on the M100. If you find more software, please make it known on the bitchin100.com discussion list &amp;amp; we&#039;ll include it here.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;.zip download&#039;&#039;&#039;||&#039;&#039;&#039;Name&#039;&#039;&#039;||&#039;&#039;&#039; Works on 40x8 &#039;&#039;&#039;||&#039;&#039;&#039; Works on 80x24 &#039;&#039;&#039;||&#039;&#039;&#039;Description &amp;amp; Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LANGUAGES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.bdsoft.com/dist/bdsc-all.zip BDS-C]||BDS-C C-language compiler||YES||YES||K&amp;amp;R C. Noted for its fast compile time. Further info [https://www.bdsoft.com/resources/bdsc.html here]&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GAMES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:LADDER.zip|LADDER]]||Ladder||NO||YES||Classic LADDER game. Use 4&amp;amp;6 for left/right, space to jump. (8 for up?)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TEXT EDITORS&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED40.zip|VED40]]||VEDIT40||YES||NO||Full-screen text editor configured for M100 LCD - 40x8. Very similar to M100 TEXT. Thanks to Steve Adolph. (Still in development)&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED80.zip|VED80]]||VEDIT80||NO||YES||Full-screen text editor configured for M100 VT-100 - 80x24. Very similar to M100 TEXT. Thanks to Steve Adolph. (Still in development)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3224</id>
		<title>M100 CP/M Application Software</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3224"/>
		<updated>2020-05-26T04:27:31Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Here is known-good CP/M software for the M100 including that which is configured or patched to work on the M100. If you find more software, please make it known on the bitchin100.com discussion list &amp;amp; we&#039;ll include it here.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;.zip download&#039;&#039;&#039;||&#039;&#039;&#039;Name&#039;&#039;&#039;||&#039;&#039;&#039; Works on 40x8 &#039;&#039;&#039;||&#039;&#039;&#039; Works on 80x24 &#039;&#039;&#039;||&#039;&#039;&#039;Description &amp;amp; Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LANGUAGES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.bdsoft.com/dist/bdsc-all.zip BDS-C]||BDS-C C-language compiler||YES||YES||K&amp;amp;R C. Noted for its fast compile time. Further info [https://www.bdsoft.com/resources/bdsc.html here]&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GAMES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:LADDER.zip|LADDER]]||Ladder||No||YES||Classic LADDER game. Use 4&amp;amp;6 for left/right, space to jump. (8 for up?)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TEXT EDITORS&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:VED40.zip|VED40]]||VEDIT40||YES||No||Full-screen text editor configured for M100. Very similar to M100 TEXT. Thanks to Steve Adolph. (Still in development)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=File:VED40.zip&amp;diff=3223</id>
		<title>File:VED40.zip</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=File:VED40.zip&amp;diff=3223"/>
		<updated>2020-05-26T04:25:37Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3222</id>
		<title>M100 CP/M Application Software</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3222"/>
		<updated>2020-05-26T04:25:04Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Here is known-good CP/M software for the M100 including that which is configured or patched to work on the M100. If you find more software, please make it known on the bitchin100.com discussion list &amp;amp; we&#039;ll include it here.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;.zip download&#039;&#039;&#039;||&#039;&#039;&#039;Name&#039;&#039;&#039;||&#039;&#039;&#039; Works on 40x8 &#039;&#039;&#039;||&#039;&#039;&#039; Works on 80x24 &#039;&#039;&#039;||&#039;&#039;&#039;Description &amp;amp; Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LANGUAGES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.bdsoft.com/dist/bdsc-all.zip BDS-C]||BDS-C C-language compiler||YES||YES||K&amp;amp;R C. Noted for its fast compile time. Further info [https://www.bdsoft.com/resources/bdsc.html here]&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GAMES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:LADDER.zip|LADDER]]||Ladder||No||YES||Classic LADDER game. Use 4&amp;amp;6 for left/right, space to jump. (8 for up?)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TEXT EDITORS&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.bdsoft.com/dist/bdsc-all.zip BDS-C]||VEDIT40||YES||No||Full-screen text editor configured for M100. Very similar to M100 TEXT. Thanks to Steve Adolph. (Still in development)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3221</id>
		<title>M100 CP/M Application Software</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=M100_CP/M_Application_Software&amp;diff=3221"/>
		<updated>2020-05-26T04:18:47Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:M100CPM.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Here is known-good CP/M software for the M100 including that which is configured or patched to work on the M100. If you find more software, please make it known on the bitchin100.com discussion list &amp;amp; we&#039;ll include it here.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;.zip download&#039;&#039;&#039;||&#039;&#039;&#039;Name&#039;&#039;&#039;||&#039;&#039;&#039; Works on 40x8 &#039;&#039;&#039;||&#039;&#039;&#039; Works on 80x24 &#039;&#039;&#039;||&#039;&#039;&#039;Description &amp;amp; Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LANGUAGES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.bdsoft.com/dist/bdsc-all.zip BDS-C]||BDS-C C-language compiler||YES||YES||K&amp;amp;R C. Noted for its fast compile time. Further info [https://www.bdsoft.com/resources/bdsc.html here]&lt;br /&gt;
|-&lt;br /&gt;
||||||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GAMES&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:LADDER.zip|LADDER.zip]]||Ladder||No||YES||Classic LADDER game. Use 4&amp;amp;6 for left/right, space to jump. (8 for up?)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TEXT EDITORS&#039;&#039;&#039;||||||||&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.bdsoft.com/dist/bdsc-all.zip BDS-C]||VEDIT40||YES||No||Full-screen text editor configured for M100. Very similar to M100 TEXT. Thanks to Steve Adolph.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
	<entry>
		<id>https://bitchin100.com/wiki/index.php?title=File:LADDER.zip&amp;diff=3220</id>
		<title>File:LADDER.zip</title>
		<link rel="alternate" type="text/html" href="https://bitchin100.com/wiki/index.php?title=File:LADDER.zip&amp;diff=3220"/>
		<updated>2020-05-26T04:08:56Z</updated>

		<summary type="html">&lt;p&gt;Philip.avery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Philip.avery</name></author>
	</entry>
</feed>