• Some questions which show my age ...

    From Bill Collis@21:1/5 to All on Mon Feb 27 11:39:11 2023
    Does anyone still use the old 8080 / 8085? Is there any point writing software especially to run on these old processors (as opposed to Z80 family)?

    Is there a ROMable version of CP/M? (PCP/M?). If not, is anyone interested in collaborating on a version which would fit in 4 kB? I'm in a fairly advanced stage of developing a Tiny CP/M / Tiny CDOS on the Altair 8800 simulator.

    Has anyone published benchmarks comparing CP/M compilers?

    Thanks, Bill

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Captain Nemo@21:1/5 to Bill Collis on Mon Feb 27 22:44:03 2023
    On Mon, 27 Feb 2023 11:39:11 -0800 (PST), Bill Collis wrote:

    Does anyone still use the old 8080 / 8085? Is there any point writing software especially to run on these old processors (as opposed to Z80 family)?

    There's still a large number of TRS-80 Model 100/102 users out there
    (80C85 CPU).

    I don't know about the 8080, though. There are a bunch of retro computer systems (mostly solder-it-yourself) that use either a Z80 or an 8085.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Randy McLaughlin@21:1/5 to Captain Nemo on Mon Feb 27 15:52:12 2023
    On Monday, February 27, 2023 at 4:44:14 PM UTC-6, Captain Nemo wrote:
    On Mon, 27 Feb 2023 11:39:11 -0800 (PST), Bill Collis wrote:

    Does anyone still use the old 8080 / 8085? Is there any point writing software especially to run on these old processors (as opposed to Z80 family)?
    There's still a large number of TRS-80 Model 100/102 users out there
    (80C85 CPU).

    I don't know about the 8080, though. There are a bunch of retro computer systems (mostly solder-it-yourself) that use either a Z80 or an 8085.
    Ever heard of the 8800c?

    https://deramp.com/altair_8800c.html

    I have one.


    Randy

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Douglas Miller@21:1/5 to All on Mon Feb 27 16:58:10 2023
    As far as ROMable CP/M, I've not heard of any. There are some difficulties, and 4K is probably impossible. There was a "proof of concept" version of CP/NET (CP/NOS) made to fit in a 4K ROM. That effort does show what would need to be done to CP/M to
    accomplish the same thing. Basically, all the variable space needs to be separated out, but most of that has to be initialized so you need the init data in ROM space and have to add code that copies that into RAM (and/or zeroes chunks of RAM) before
    running anything significant. At least we have the source code, so one can consider it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Bill Collis on Tue Feb 28 12:29:53 2023
    On 28/02/2023 6:39 am, Bill Collis wrote:
    Does anyone still use the old 8080 / 8085? Is there any point writing software especially to run on these old processors (as opposed to Z80 family)?

    The Z80 is young?

    8080 1974
    Z80 1976
    8085 1976

    I would ask who is the application for. If CP/M users then it's never a great idea to limit the audience. A memorable moment was getting an email from a user excited to have found an application that supported his 8085-clone computer.
    How many Z80-only authors can say that :)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mark Ogden@21:1/5 to dxforth on Tue Feb 28 03:58:14 2023
    On Tuesday, 28 February 2023 at 01:29:54 UTC, dxforth wrote:
    On 28/02/2023 6:39 am, Bill Collis wrote:
    Does anyone still use the old 8080 / 8085? Is there any point writing software especially to run on these old processors (as opposed to Z80 family)?
    I am aware of several people with an Intel MDS (8080/8085), which was the reference machine for CP/M and of course ISIS II. I personally now use emulators.

    Is there a ROMable version of CP/M? (PCP/M?). If not, is anyone interested in collaborating on a version which would fit in 4 kB? I'm in a fairly advanced stage of developing a Tiny CP/M / Tiny CDOS on the Altair 8800 simulator.
    CPMplus was available on ROM https://www.cpcwiki.eu/index.php/Graduate_Software and https://www.cpcwiki.eu/index.php/CPM_Plus_ROM

    if you want CP/M 2.2 then as noted you would need to factor out some of the data to put into RAM, with suitable initialisation code. Fortunately much of the defined data is not changed so can be left in ROM.
    There are many cases where CP/M is stored in ROM and copied to RAM, which whilst probably not you are after, the copying from ROM to RAM is certainly quicker than booting from disk.

    Has anyone published benchmarks comparing CP/M compilers?
    I seem to remember in the publications of the time, there were often code size benchmarks as there was the focus on code size. However, most of these largely reflected the libraries bound to the code, without comparing the functionality the libraries
    offered, The vendors who avoided binding the floating point libraries usually did better. I don't recall any seeing any compile time benchmarks, most would probably have been dominated by floppy disk access.

    Quite a few C compilers are listed on http://www.z80.eu/c-compiler.html, (other language compilers are also listed on the site). Most are for z80, but the Whitesmiths compiler and Micro C compiler at least, are for 8080/8085.
    The Whitesmiths compiler did a good job of optimising expressions etc. but its final code generation did appear to suffer from trying to emulate the VAX numeric format and on passing arguments to support functions as per standard C calls. I know later
    versions of the compiler supported the Z80 and did pass arguments in registers to improve the code.

    In terms of code quality the Intel PL/M compiler is quite good, but it targets 8080/8085.

    One of the challenges with Z80 compilers is that index registers are both a blessing and a curse. They tend to increase code size and runtime, unless the compiler optimises them away with alternative code. Unless you need to use a native compiler the new
    compilers e.g. SDCC, are probably the best to use as they are still under active development, support ANSI and can take advantage of the larger memory to provide better optimised code.
    I would also note that many of the widely available ex commercial compilers, were later improved by their vendors.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Douglas Miller@21:1/5 to All on Tue Feb 28 06:17:41 2023
    Yes, there is a conceptual difference between actually running from ROM and using ROM as offline, non-volatile, storage. But there were plenty of retro systems that used ROM this way, where they would copy the ROM into RAM and then unmap the ROM (only
    running from ROM for a short time after RESET). That had its risks, but also made some things easier.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Steve Nickolas@21:1/5 to Douglas Miller on Tue Feb 28 11:52:59 2023
    On Tue, 28 Feb 2023, Douglas Miller wrote:

    Yes, there is a conceptual difference between actually running from ROM
    and using ROM as offline, non-volatile, storage. But there were plenty
    of retro systems that used ROM this way, where they would copy the ROM
    into RAM and then unmap the ROM (only running from ROM for a short time
    after RESET). That had its risks, but also made some things easier.

    Certainly the Nabu shadows its ROM and finishes running the bootloader out
    of the RAM (as far as CP/M machines go).

    -uso.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roger Hanscom@21:1/5 to All on Tue Feb 28 09:35:22 2023
    Hi Bill,

    Does anyone still use the old 8080 / 8085? Is there any point writing software especially to run on these old processors
    (as opposed to Z80 family)?

    Another thing to think about is that there are emulators that only run 8080 code. For example, COM2X that runs with CP/M 68K.
    I treasure applications that are written for the 8080. They are usable with CP/M 68K and provide additional capability for it.

    Has anyone published benchmarks comparing CP/M compilers?

    I invested a fair amount of effort in getting a number of legacy compilers working on my CP/M 2.2 SBC (20 MHz). As I remember they
    included C, Pascal, FORTRAN, BASIC, and even PL/I. I used them to compile one particular application (ASCII display of a Mandelbrot),
    and compare execution times and the size of the executables. I tried to post the results on the Vintage Computer Forum, and it was
    greeted with yawns.

    From failing memory, Hi-Tech C came out best. I was surprised that Turbo Pascal didn't do better. Of course, I regard Pascal as "begin....end"
    hell.

    Roger

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Collis@21:1/5 to Douglas Miller on Tue Feb 28 09:51:56 2023
    On Tuesday, 28 February 2023 at 01:58:11 UTC+1, Douglas Miller wrote:
    As far as ROMable CP/M, I've not heard of any. There are some difficulties, and 4K is probably impossible. There was a "proof of concept" version of CP/NET (CP/NOS) made to fit in a 4K ROM. That effort does show what would need to be done to CP/M to
    accomplish the same thing. Basically, all the variable space needs to be separated out, but most of that has to be initialized so you need the init data in ROM space and have to add code that copies that into RAM (and/or zeroes chunks of RAM) before
    running anything significant. At least we have the source code, so one can consider it.

    Thanks for replying Douglas. You clearly understand some of the difficulties involved. Let me emphasize that I already have an almost working CP/M 1 like system (with some CP/M 2 additions) running in about 3 kB of initialized memory. That includes
    CCP, BDOS, BIOS. Add another page each if you want 8080 or CDOS compatibility. At that modest memory footprint you get CPR and other intrinsic commands in the CCP. Are there any simple intrinsic commands you would like to see added?

    Obviously fitting all that in ROM creates problems. Although RMAC could collect all the code and variable areas as CSEG and DSEG, I have so far preferred to configure by hand using absolute addresses. There are a number of complications. For example
    the BIOS jump vectors need to be in RAM so that interception (e.g. by EX.COM) continue to work.

    On the other hand, some aspects are easy, my CCP only uses 3 bytes of temporary variables (plus stack).

    Why bother to put CP/M in ROM at all? Well some hardware enthusiasts like to make minimal systems. You could for example, get CP/M to run on an EZ80 with its abundant EPROM and 16 kB of RAM. Warm boots would be faster, but in practice EX.COM avoids
    the overhead of rereading the system anyway. And of course buggy programs cannot overwrite the system.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Roger Hanscom on Wed Mar 1 12:25:38 2023
    On 1/03/2023 4:35 am, Roger Hanscom wrote:
    Hi Bill,

    Does anyone still use the old 8080 / 8085? Is there any point writing software especially to run on these old processors
    (as opposed to Z80 family)?

    Another thing to think about is that there are emulators that only run 8080 code. For example, COM2X that runs with CP/M 68K.
    I treasure applications that are written for the 8080. They are usable with CP/M 68K and provide additional capability for it.

    Has anyone published benchmarks comparing CP/M compilers?

    I invested a fair amount of effort in getting a number of legacy compilers working on my CP/M 2.2 SBC (20 MHz). As I remember they
    included C, Pascal, FORTRAN, BASIC, and even PL/I. I used them to compile one particular application (ASCII display of a Mandelbrot),
    and compare execution times and the size of the executables. I tried to post the results on the Vintage Computer Forum, and it was
    greeted with yawns.

    From failing memory, Hi-Tech C came out best. I was surprised that Turbo Pascal didn't do better. Of course, I regard Pascal as "begin....end"
    hell.

    Yawns? Surprised it didn't come to blows.

    Benchmarking can be unintuitive e.g. this from some years ago:

    https://groups.google.com/g/comp.os.cpm/c/IOLs5kCi5ic/m/mVigMsLVjlgJ

    (MYZ80 under WIN98 Pentium 200)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From CP/M User@21:1/5 to Roger Hanscom on Tue Feb 28 23:37:57 2023
    On Wednesday, March 1, 2023 at 4:35:23 AM UTC+11, Roger Hanscom wrote:

    From failing memory, Hi-Tech C came out best. I was surprised that Turbo Pascal didn't do better. Of course, I regard Pascal as "begin....end"
    hell.

    Roger

    I've got better results from Hisoft Pascal when compared to Turbo Pascal. Though TP I feel is more Generic than System Specific even though both exist on numerous Z80 Systems.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Paolo Amoroso@21:1/5 to Bill Collis on Wed Mar 1 02:11:46 2023
    On Monday, February 27, 2023 at 8:39:13 PM UTC+1, Bill Collis wrote:
    Does anyone still use the old 8080 / 8085? Is there any point writing software especially to run on these old processors (as opposed to Z80 family)?

    I don't know now but this Retrocomputing StackExchange question is relevant to code written back in the day: Long Term Prevalence of 8080 Code Over Z80 Code in Software Packages https://retrocomputing.stackexchange.com/questions/26479/long-term-
    prevalence-of-8080-code-over-z80-code-in-software-packages

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Paolo Amoroso on Wed Mar 1 21:25:27 2023
    On 1/03/2023 9:11 pm, Paolo Amoroso wrote:
    On Monday, February 27, 2023 at 8:39:13 PM UTC+1, Bill Collis wrote:
    Does anyone still use the old 8080 / 8085? Is there any point writing software especially to run on these old processors (as opposed to Z80 family)?

    I don't know now but this Retrocomputing StackExchange question is relevant to code written back in the day: Long Term Prevalence of 8080 Code Over Z80 Code in Software Packages https://retrocomputing.stackexchange.com/questions/26479/long-term-
    prevalence-of-8080-code-over-z80-code-in-software-packages

    8080 was itself an extension of the 8008 instruction set so the code can be said to go back to the early 70's. Floating point routines I still use today derived from an 8008 listing.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Thorbj=C3=B8rn_Ravn_Ander@21:1/5 to Bill Collis on Sat Mar 4 13:23:00 2023
    On Monday, February 27, 2023 at 8:39:13 PM UTC+1, Bill Collis wrote:
    Does anyone still use the old 8080 / 8085? Is there any point writing software especially to run on these old processors (as opposed to Z80 family)?

    Is there a ROMable version of CP/M? (PCP/M?). If not, is anyone interested in collaborating on a version which would fit in 4 kB? I'm in a fairly advanced stage of developing a Tiny CP/M / Tiny CDOS on the Altair 8800 simulator.

    Has anyone published benchmarks comparing CP/M compilers?

    Thanks, Bill

    To ny understanding the Z80 instructions allow you primarily to save space with shorter instructions and a few more registers which are somewhat cumbersome to use, and they are not particularly faster.

    So, unless space is a premium for your program, or your compiler is really, really smart, 8080 should be fine.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Douglas Miller@21:1/5 to All on Sat Mar 4 15:25:49 2023
    Actually, many of the Z80 instructions are faster, at least the block I/O and move instructions. You can get 2x performance compared to the 8080 equivalents. But it is true that many of the Z80 instruction don't save space or time, depending on the usage.
    The index registers can also save a lot, since the equivalent 8080 instructions often require saving/restoring registers plus doing LXI and DAD. The relative jumps can save space, but can be slower.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonathan Harston@21:1/5 to Bill Collis on Mon Mar 6 04:29:38 2023
    On Monday, February 27, 2023 at 7:39:13 PM UTC, Bill Collis wrote:
    Is there a ROMable version of CP/M? (PCP/M?).

    I worked out a simple ROM-able CP/M here: https://mdfs.net/Software/CPM/SmallSys/BIOS.ASM

    As written, the BDOS and BIOS is in ROM and is copied to RAM on startup,
    and loads the CCP from disk. Increasing the ROM size would allow you
    to also put the CCP into ROM, and increase the BIOS functionality.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bart Fox@21:1/5 to jgh@mdfs.net on Sun Mar 12 20:32:19 2023
    On Mon, 6 Mar 2023 04:29:38 -0800 (PST), Jonathan Harston
    <jgh@mdfs.net> wrote:
    I worked out a simple ROM-able CP/M here:
    ...
    Increasing the ROM size would allow you
    to also put the CCP into ROM, and increase the BIOS functionality.
    You could try compression with e.g. zx7. The decomression code
    snippet is very small.

    Bart

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Phil G@21:1/5 to All on Thu Mar 16 07:42:50 2023
    Is there a ROMable version of CP/M? (PCP/M?)

    Gemini, who continued to make Nascom compatible boards long after the demise of Nascom, issued their GM813 processor board with RP/M which was not actually CP/M but allowed CP/M programs be run without disks using storage on tape cassette via its
    inbuilt Nascom-2 (Cottis-Blandford) cuts interface. RP/M was a kind of CP/Mified monitor rom. It supported most bdos calls and could handle just one file IIRC.
    The idea was that you could develop CP/M software whilst saving your pennies for a disk system, a popular pastime in the UK at the time :-)
    https://nascom.wordpress.com/gemini/software/rp-m-a/ https://nascom.wordpress.com/gemini/hardware/gm813-processor/
    Cheers
    Phil

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tom Lake@21:1/5 to Roger Hanscom on Sat Mar 18 04:54:58 2023
    On Tuesday, February 28, 2023 at 12:35:23 PM UTC-5, Roger Hanscom wrote:
    Hi Bill,
    Does anyone still use the old 8080 / 8085? Is there any point writing software especially to run on these old processors
    (as opposed to Z80 family)?
    Another thing to think about is that there are emulators that only run 8080 code. For example, COM2X that runs with CP/M 68K.
    I treasure applications that are written for the 8080. They are usable with CP/M 68K and provide additional capability for it.
    Has anyone published benchmarks comparing CP/M compilers?
    I invested a fair amount of effort in getting a number of legacy compilers working on my CP/M 2.2 SBC (20 MHz). As I remember they
    included C, Pascal, FORTRAN, BASIC, and even PL/I. I used them to compile one particular application (ASCII display of a Mandelbrot),
    and compare execution times and the size of the executables. I tried to post the results on the Vintage Computer Forum, and it was
    greeted with yawns.

    From failing memory, Hi-Tech C came out best. I was surprised that Turbo Pascal didn't do better. Of course, I regard Pascal as "begin....end"
    hell.

    Roger
    CP/M 68K doesn't run 8080 code. It runs Motorola 68000 code, doesn't it?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roger Hanscom@21:1/5 to Tom Lake on Sat Mar 18 10:17:29 2023
    On Saturday, March 18, 2023 at 4:54:59 AM UTC-7, Tom Lake wrote: ....<snip>.....
    CP/M 68K doesn't run 8080 code. It runs Motorola 68000 code, doesn't it?

    Sure. But there's a great 8080 emulator that runs on CP/M68K that runs 8080 code. It's called "COM2X" and was written by Jim Cathey (I think that's right?). You just point it to the .COM file like so: COM2X MBASIC.COM TEST.BAS, and it will bring up
    classic 8080 MBASIC and run TEST.BAS. It's a great piece of work. I only wish it had been written to emulate Z80, but it doesn't. *frown*

    Roger

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)