Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 9 of 9

Thread: Teensy 3.1 running ... CP/M!!!

  1. #1
    Junior Member
    Join Date
    Nov 2014
    Posts
    10

    Teensy 3.1 running ... CP/M!!!

    Hi everyone,

    I have been searching around for a board that would allow me to implement a small project I call "CP/M on a stick", where I plan to migrate my Z80-CP/M emulation inside a USB based little board.
    Seeing that the Teensy 3.1 has a very nice processor and 64K of RAM made me choose it for a test. So I ordered a couple (always order spares).
    I did not even receive my "Teensies" yet, but I already have a few questions, which maybe someone can help.

    1. Can it be programmed only with Arduino IDE? If not, can it be programmed with the regular AVR Studio 6?
    2. Does it have any means of debugging when using the Arduino IDE?
    3. Does the USB port on the Teensy become a "uart/COM port" I can turn into the "console" for the emulated CP/M "computer"? Connecting to it using "putty" for example?
    4. As I plan to be doing emulation, performance is a must. Is the Arduino IDE in any way an impact on performance?

    To be honest I have not had any experience with Arduinos so far, but I have written a lot of code for XMegas and AVR32 boards using the AVR Studio, so I would prefer to use it as the IDE to use with the Teensy.

    So, if anyone can share some insight around this area I would be very grateful.

    Thanks a lot,
    Marcelo "Mockba" Dantas.

  2. #2
    Senior Member
    Join Date
    Nov 2012
    Location
    Boston, MA, USA
    Posts
    1,112
    1) Not just with Arduino IDE. You can use other environments but will need to make a workable build system yourself.
    2) No (but you can print values to serial)
    3) Yes, it can
    4) No, the choice of editor and simplified auto linker has no performance impact. The actual compiler is gcc.

    Since CP/M is not open source, are you writing a Z80 emulator to run the binaries on?

  3. #3
    Junior Member
    Join Date
    Nov 2014
    Posts
    10
    Quote Originally Posted by Nantonos View Post
    1) Not just with Arduino IDE. You can use other environments but will need to make a workable build system yourself.
    2) No (but you can print values to serial)
    3) Yes, it can
    4) No, the choice of editor and simplified auto linker has no performance impact. The actual compiler is gcc.

    Since CP/M is not open source, are you writing a Z80 emulator to run the binaries on?
    Yes ... In fact I have it running already (http://runcpm.blogspot.com/)
    Currently I use it to run CP/M programs on my Windows 8 box, but I want to turn the Teensy into a small, usb, portable CP/M (emulated) computer.
    "CP/M on a stick" as I use to call the idea .

    Thanks,
    Marcelo.

  4. #4
    Not exactly written in C, but the source is partly available for different versions:
    http://www.cpm.z80.de/source.html

    Also here is another link referencing the source available from the museum site:
    http://hackaday.com/2014/10/06/cpm-s...code-released/
    Check out the links below on that page. Someone has a complete CP/M system running on a 50MHz micro. So you might be able to contact whoever did that and get some pointers.

  5. #5
    Member
    Join Date
    Aug 2014
    Location
    Anaheim CA
    Posts
    21
    Nice.. 40 years ago CP/M was "Portable"... If you were Young.. & Superman.. but us old 'hackers" found it a very new revelation.
    I used a "portable" CP/M machine that had a yellow screen..
    It fit in a small "Portmanteau"...
    Only 35 pounds...
    BUT The BIG DEAL..
    Was that IT Had "2" 5 1/4" floppy drives..
    Remember the floppy drives that had the center drop down drawer?
    I sometimes wonder what if Kildall / CP/M or Bill Gates hadn't happened?
    My first box was a 386/33.. W / 2 MB of ram in the hi-mem space above the 'normal 640K address space'...
    I could keep as many as 6 "TSR'S" at one time.
    The only real issue was the console I/O and switching between various keystrokes..
    Where sometimes.. WP? '.' XX 'shortcuts' overlapped other key functions..
    A Very Long Day and perhaps too many beers.
    But for CP/M and Dr. Gary Kildall, a possibly very different world.

    R. K. Johnson Sr.

    Doc

  6. #6
    Junior Member
    Join Date
    Sep 2020
    Posts
    3

    CPM 8080 or z80 emulator Be Great

    Quote Originally Posted by mockba View Post
    Hi everyone,

    I have been searching around for a board that would allow me to implement a small project I call "CP/M on a stick", where I plan to migrate my Z80-CP/M emulation inside a USB based little board.
    Seeing that the Teensy 3.1 has a very nice processor and 64K of RAM made me choose it for a test. So I ordered a couple (always order spares).
    I did not even receive my "Teensies" yet, but I already have a few questions, which maybe someone can help.

    1. Can it be programmed only with Arduino IDE? If not, can it be programmed with the regular AVR Studio 6?
    2. Does it have any means of debugging when using the Arduino IDE?
    3. Does the USB port on the Teensy become a "uart/COM port" I can turn into the "console" for the emulated CP/M "computer"? Connecting to it using "putty" for example?
    4. As I plan to be doing emulation, performance is a must. Is the Arduino IDE in any way an impact on performance?

    To be honest I have not had any experience with Arduinos so far, but I have written a lot of code for XMegas and AVR32 boards using the AVR Studio, so I would prefer to use it as the IDE to use with the Teensy.

    So, if anyone can share some insight around this area I would be very grateful.

    Thanks a lot,
    Marcelo "Mockba" Dantas.


    Take some work to do as I see it.
    Built a z80 wire-wrapped S100 board years ago Based on the godbout board my friend had.
    got a seagate floppy by building some computer kits from local dealer and got a tarbell floppy controller unpopulated from a friend.
    then Built some kits from dealer for ram IMSAI 4k boards ( had 1k memory protect with leds to indicate protected) IMSAI SIO and VIO memory mapped video ahead of its time.
    Goto 64k or more at end. had 3k in it at end. But made some money with it running cross compiler for 6502 and a blood pressure monitor. Rewote it for drug store and sill in pharmacys today.
    VitalTecknology.
    Etc. Had Pc CPM emulators on pc win10 slow, Rasberry Pi 4 was really fast. Like to see what the Teensy 4 can do. just got it.
    Others had interest in C64 emulator, but I want the CPM one to. Rasberry pi proubly has sources for it in ARM ?

    Good Luck.. Be Watching or trying.
    Bill

  7. #7
    Junior Member
    Join Date
    Nov 2014
    Posts
    10
    Hi there,

    I have since then implemented it on the Teensy 3.5 and up.
    It is very fast on the 4.1.
    Source code at http://mockbatheb.org/

    Cheers,
    Marcelo

  8. #8
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    22,980
    Should we mention your CP/M emulator on the blog? Usually at least 1 photo or video showing its actual usage is needed. Are there any pictures?

  9. #9
    Junior Member
    Join Date
    Nov 2014
    Posts
    10
    Quote Originally Posted by PaulStoffregen View Post
    Should we mention your CP/M emulator on the blog? Usually at least 1 photo or video showing its actual usage is needed. Are there any pictures?
    Hi Paul,

    Sure, why not?
    I have an unpublished website for it, other than the GitHub, which is https://marcelofdantas.wixsite.com/runcpm. We can take a screenshot from there.
    Or we can show something more specifically related to the Teensy if you prefer.
    It has been running fine on anything from the Teensy 3.5 and above. And I will probably port it to anything you release that has a uSD slot on it.
    On the 4.1 it is a rocket ... to the point one could use it to write some IoT application using Basic, C, Pascal, Mumps or even dBase II (oh no).
    I also have it on hackaday: https://hackaday.io/project/18291-runcpm
    So just let me know what you have in mind.

    Cheers,
    Marcelo.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •