Any Chance of running CP/M?

Large numbers of old CP/M machines were 40, 64 or other column widths (even less than 40 in some cases). HHGTTG does not assume an 80 column screen if my memory is correct. It’s configurable and it picks it up from CP/M when possible (CP/M 3 provides the video width). Certainly I’ve played it fine on a 40 column screen

Yep checked. The byte after the initial JMP in the binary is the width setting and was adjusted according to the machine it was sold for.

2 Likes

What about just running am emulator for the CP/M code you want to use?

CP/M works reasonably well at 60 columns. I use it on my phone in termux, usually between 45 and 60 columns. I did modify trek80 (Star Trek) to work in 60 columns, not sure it totally works though.

CP/M does not require an ansi terminal, unless you find some rare program that was specifically written to use one. So writing a terminal for CP/M is rather simple.

....+....1....+....2....+....3....+....4....+....5....+....6
A>dir
A: DUMP     COM : SDIR     COM : SUBMIT   COM : ED       COM
A: STAT     COM : BYE      COM : RMAC     COM : CREF80   COM
A: LINK     COM : L80      COM : M80      COM : SID      COM
A: RESET    COM : WM       HLP : ZSID     COM : MAC      COM
A: TRACE    UTL : HIST     UTL : M        ASM : LIB80    COM
A: WM       COM : HIST     COM : DDT      COM : Z80ASM   COM
A: CLS      COM : SLRNK    COM : MOVCPM   COM : ASM      COM
A: LOAD     COM : XSUB     COM : LIB      COM : PIP      COM
A: SYSGEN   COM : M        PRN : M        HEX : M        COM
A: T        TXT : TEST     Z80 : TEST     BAK : TEST     COM
A: TEST     LST : TTTT     COM : RUN      COM
....+....1....+....2....+....3....+....4....+....5....+....6
D>dir
D: MBASIC   COM : STARTRK  BAS : STARINS  BAS : OTHELLO  COM
D: CRC      COM : DEMO     ASM : LADDER   COM : LADDER   DAT
D: T        BAS : TREK     BAS
D>mbasic t.bas
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
34872 Bytes free

          THE USS ENTERPRISE --- NCC-1701


                            ,------*------,
            ,-------------   '---  ------'
             '-------- --'      / /
                 ,---' '-------/ /--,
                  '----------------'





 YOUR ORDERS ARE AS FOLLOWS:
 --------------------------
 DESTROY THE 19 KLINGON WARSHIPS WHICH HAVE INVADED THE
 GALAXY BEFORE THEY CAN ATTACK FEDERATION HEADQUARTERS
 ON STARDATE 2428. THIS GIVES YOU 28 DAYS. THERE ARE
 3 STARBASES IN THE GALAXY FOR RESUPPLYING YOUR SHIP.

 ARE YOU READY TO ACCEPT COMMAND? yes


 YOUR MISSION BEGINS WITH YOUR STARSHIP LOCATED
 IN THE GALACTIC QUADRANT, 'CAPELLA I'.

  +-1---2---3---4---5---6---7---8-+
 1|                        <E>  * |1  STARDATE   2400.0
 2|                               |2  CONDITION   GREEN
 3|     *               *         |3  QUADRANT     3, 5
 4|                 *             |4  SECTOR       1, 7
 5|                               |5  TORPEDOES      10
 6|                     *         |6  ENERGY       3000
 7|         *   *   *             |7  SHIELDS         0
 8|                               |8  KLINGONS       19
  +-1---2---3---4---5---6---7---8-+

 COMMAND?

I don’t know how I missed this, but…

This works pretty well. The later versions run in 80 columns, but it takes a bit of work to get used to it - but it does work. I was able to get into WordStar, and actually able to read the screen.

On my PicoCalc (Pico 2W,) it is available as an optional firmware on version 2.3 of Pelrun’s UF2 Loader ( UF2 Loader release ). It loads fine, and runs great. With the highest speed version, it emulates a 32 MHz Z-80, and the SD Card feels darned near a gazillion megabytes.

1 Like