https://hackaday.com/2021/08/30/criss-cp-m-provides-modern-hardware-for-a-classic-os/ Skip to content Logo Hackaday Primary Menu * Home * Blog * Hackaday.io * Tindie * Hackaday Prize * Submit * About * Search for: [ ] [Search] September 1, 2021 CRISS CP/M Provides Modern Hardware For A Classic OS 23 Comments * by: Robin Kearey August 30, 2021 * * * * * Title: [CRISS CP/M Provides ] Copy Short Link: [https://hackaday.com] Copy [CRISS-CPM] Today you might choose run Windows, Linux, MacOS or some other OS on your computer. Back in the 1980s however, you generally had little choice: a certain home computer came with a certain OS, and that was it. If yours was based on a Z80 processor, chances are it ran CP/M. While differences in hardware often made direct data exchange difficult, CP/M provided at least a basic level of software compatibility between various Z80-based computers. Although eventually supplanted by MS-DOS (which initially aimed to be compatible with CP/M), enthusiasts kept the classic OS running on old hardware throughout the 90s and even beyond. [Igor] decided to make a 21st-century CP/M machine by designing the CRISS, a single-board computer based mainly on AVR microcontrollers. The CPU is a 20 MHz ATMEGA1284P, which imitates a 4 MHz Z80 through machine-code emulation. A pair of ATMEGA328s run the peripheral controller and a VGA output, so the CRISS can be used with modern monitors. True to its heritage however, the image is monochrome green-on-black, looking instantly familiar to users of Kaypros, Osbornes and other contemporary CP/M machines. Software is loaded through an SD card that holds floppy images. The CRISS can directly run programs written for the Kaypro II and Robotron 1715 computers, although other platforms can be supported as well with a software upgrade. [Igor] shows it running programs ranging from the Turbo Pascal compiler to games like Xonix and Tetris. Housed in a neat little case, the CRISS can communicate with standard PS/2 keyboards and serial printers. Even an Ethernet port is provided for those willing to experiment with network connectivity (a rare feature in the 1980s). We love seeing modern retro builds like this; similar projects we've covered before include the compact ZZ80MB and the huge Z20X. Others have used different ways of running CP/M on modern hardware, such as booting it directly on a Raspberry Pi or emulating an Altair on an ESP32. * [share_face] * [share_twit] * [share_in] * [share_mail] Posted in RetrocomputingTagged ATmega 1284P, AVR, CP/M, z80 Post navigation - Printing Ceramics Made Easier Small Footprint Scara Laser Engraver Has Massive Build Area - 23 thoughts on "CRISS CP/M Provides Modern Hardware For A Classic OS" 1. Michael Black says: August 30, 2021 at 10:04 pm In 1984 I got a Radio Shack Color Computer, specifically because it could run Microware OS-9. The closest thing to Unix I could afford. Report comment Reply 1. Alex says: August 31, 2021 at 9:40 am OS-9 is amazing, level 2 more so, and the tuned Nitros9 with a 6309 is almost unbelievable. Report comment Reply 2. Peter da Silva says: August 31, 2021 at 11:48 am I lusted after that around 1981 but held out until 1985 and got an Amiga 1000. AmigaOS wasn't as much like UNIX, but once you've seen the large flat address space of the 68000 you can never go back to ~the~farm~ 64k again. Report comment Reply 2. Jonathan Pallant says: August 30, 2021 at 11:13 pm I don't understand how you can write an article about modern CP/M machines and not mention the RC2014. Report comment Reply 1. Steven Roberts says: August 31, 2021 at 7:12 am +100 Report comment Reply 3. Lily says: August 30, 2021 at 11:42 pm "100% open project" ... "I'm not allowed to publish it" ... That's not an open project. Report comment Reply 1. udif says: August 30, 2021 at 11:57 pm That's because it was made for a magazine article. Probably like academic publications. You can't put it in a public place, but you can write the author and he's allowed to send you a copy. However, even in the project page, the author offers only schematic and BOM, but doesn't mention source code for the Z/ 80 emulator or the other two micros used for VGA and peripheral controls. Report comment Reply 1. hlide fremen says: August 31, 2021 at 4:54 am So that's not an open project but a clickbait. Report comment Reply 2. Truth says: August 31, 2021 at 4:58 am Could this be the source code, or at least some of it ? https://github.com/mastmees/z-two "CP/M machine with Z80 emulated on ATMega See project page at http://www.nomad.ee/micros/z-two/ for full story. Z-Two runs about 110000 Z80 instructions per second on emulator running on ATMega1284p, and is fully functional CP/M machine, albeit a slow one. It uses SD card as storage (maxed out disk space for CP/M, 16x8MB drives), VGA monitor (80x30 text) and PS/2 keyboard. There is a serial port with USB-Serial converter for getting data in and out of the machine." Report comment Reply 1. hlide fremen says: August 31, 2021 at 1:39 pm Ok read both Z-one and Z-two projects. Z-one was done BEFORE Z-two and was focusing upon using a true Z80 driving I/O ports through an ATMega1284P. Z-two is based upon Z-one but with the Z80 emulation inside the AVR chip. As we know, it is even slower than Z-one (where the limitation is Z80 should not above 4.6MHz because "I/O through AVR will be 3x slower than at 4.6MHz!"). Report comment Reply 4. ziew says: August 31, 2021 at 12:48 am First of all -- the distance between mains and signal lines on PCB creeps me out. Pun intended. But seriously, I'd really like to see what ATtiny13 is doing in the VGA department. Looks like it provides timing with a simple assembly code doing nops and outs, but I may be wrong. Report comment Reply 1. Antron Argaiv says: August 31, 2021 at 3:28 am Agree. I would have chosen a DC input. Report comment Reply 5. Tom Cook says: August 31, 2021 at 1:50 am Why would you emulate a 4MHz Z80 when a 10MHz Z80 is available from RS Components for a few quid? Report comment Reply 1. John Butcher says: August 31, 2021 at 3:45 am Err... For the fun of doing it, simply because you can. Report comment Reply 2. Truth says: August 31, 2021 at 6:22 am A modern 20MHz ZiLOG CMOS Z80 is about EUR/$/PS12* for the CPU alone and uses 100 mA** at 5V and then you need to add all the other required chips to do anything useful, like RAM and (EEP)ROM and IO chips. An Microchip ATMega1284p costs about EUR/$/PS5 for the CPU which includes 16K x 8 RAM, 4K x 8 EEPROM and 128KB (64K x 16) FLASH which can be powered from 1.8V (4MHz) ~ 5.5V (20MHz @ 4.5V or higher) and uses a maximum of 200mA when clocked at 20MHz. Both will use a 512KB SRAM chip (AS6C4008) at about EUR/$/PS5 But the reality is, that in emulation it will be at peak a 4.6MHz Z80. If running code like: https://github.com/mastmees /z-two But emulation does have the advantage that someone who loves the 6052 could use the exact same hardware for their project. And a third personcould say screw the emulation I'll use the ATMega1284p for my CPU. * a 10MHz ZiLOG CMOS Z80 is about EUR/$/PS6 ** the lower cost NMOS part is 200mA Report comment Reply 1. Truth says: August 31, 2021 at 6:25 am Sorry that one is 0.8MHz I was thinking of this one ( https://github.com/mastmees/z-one ) which says a Z80 running at up to 4.6MHz. Report comment Reply 1. hlide fremen says: August 31, 2021 at 12:48 pm Thank you for the link. Report comment Reply 2. hlide fremen says: August 31, 2021 at 1:01 pm Read it and found no Z80 emulator source. In fact, that AVR is probably driven by a true Z80 in fact. Report comment Reply 2. Techokami says: August 31, 2021 at 4:33 pm After double checking on DigiKey, they have a 6MHz Z80, brand new from Zilog, still in production, for $6.85: https://www.digikey.com/en/products/detail/zilog/ Z84C0006PEG/929204 So yeah, using another CPU to emulate a Z80 like this seems a bit... convoluted? IMHO Report comment Reply 6. hlide fremen says: August 31, 2021 at 4:51 am That project is supposedly to be open source, right? so why there is no link to source? I'm very curious about how it is able to run an equivalent 4MHz Z80 on a 20MHz AVR. Usually, you cannot achieve above 1MHz Z80 emulation with an Arduino MEGA (16MHz). A lot of source is missing in the project page. Report comment Reply 7. tyu56ty says: August 31, 2021 at 6:58 am it can run fuzix? Report comment Reply 8. Etienne says: August 31, 2021 at 10:30 am I only want multi-core MP/M with a floating point and AEA encryption coprocessors. Oh wait, I have Linux on a Core-I5... Report comment Reply 9. Cbob says: August 31, 2021 at 11:16 am Oddly enough, no sense of nostalgia for CP/M. Granted, that might be because the last place I saw it running was on a NCR(?) cash register/ POS system the mid/early 80's. Report comment Reply Leave a Reply Cancel reply Please be kind and respectful to help make the comments section excellent. (Comment Policy) This site uses Akismet to reduce spam. Learn how your comment data is processed. Search Search for: [ ] [Search] Never miss a hack Follow on facebook Follow on twitter Follow on youtube Follow on rss Contact us Subscribe [ ] [ ] [Subscribe] If you missed it * [bornhack-2] Reporting From BornHack 2021: Hacker Camps Making It Through The Pandemic 4 Comments * [1280px-pre] Fusion Ignition: What Does The NIF's 1.3 MJ Yield Mean For Fusion Research? 25 Comments * Art of 3D printer in the middle of creating a Hackaday Jolly Wrencher 3D Printering: Is Hassle-Free Bed Leveling Finally Here? 57 Comments * [accelerome] Who Owns The Machine Anyway? 43 Comments * [PXL_202108] Hands-On: MNT Reforms The Laptop 118 Comments More from this category Our Columns * [LinuxFu-th] Linux Fu: User Space File Systems -- Now For Windows, Too! 12 Comments * Art of 3D printer in the middle of creating a Hackaday Jolly Wrencher 3D Printering: Is Hassle-Free Bed Leveling Finally Here? 57 Comments * [links-thum] Hackaday Links: August 29, 2021 14 Comments * [AmazonPalm] Ask Hackaday: What Is Amazon Thinking By Entering The Palm-Reading Business? 59 Comments * [microphone] Hackaday Podcast 133: Caustic Lenses, Not Ice-Cream Automation, Archery Mech Suit, And The Cheapest Robot Arm No comments More from this category Search Search for: [ ] [Search] Never miss a hack Follow on facebook Follow on twitter Follow on youtube Follow on rss Contact us Subscribe [ ] [ ] [Subscribe] If you missed it * [bornhack-2] Reporting From BornHack 2021: Hacker Camps Making It Through The Pandemic 4 Comments * [1280px-pre] Fusion Ignition: What Does The NIF's 1.3 MJ Yield Mean For Fusion Research? 25 Comments * Art of 3D printer in the middle of creating a Hackaday Jolly Wrencher 3D Printering: Is Hassle-Free Bed Leveling Finally Here? 57 Comments * [accelerome] Who Owns The Machine Anyway? 43 Comments * [PXL_202108] Hands-On: MNT Reforms The Laptop 118 Comments More from this category Categories Categories[Select Category ] Our Columns * [LinuxFu-th] Linux Fu: User Space File Systems -- Now For Windows, Too! 12 Comments * Art of 3D printer in the middle of creating a Hackaday Jolly Wrencher 3D Printering: Is Hassle-Free Bed Leveling Finally Here? 57 Comments * [links-thum] Hackaday Links: August 29, 2021 14 Comments * [AmazonPalm] Ask Hackaday: What Is Amazon Thinking By Entering The Palm-Reading Business? 59 Comments * [microphone] Hackaday Podcast 133: Caustic Lenses, Not Ice-Cream Automation, Archery Mech Suit, And The Cheapest Robot Arm No comments More from this category Recent comments * JamesC on 3D Printering: Is Hassle-Free Bed Leveling Finally Here? * Foldi-One on Hands-On: MNT Reforms The Laptop * Nitpicker Smartyass on One Wood Ring To Rule Them All * Elliot Williams on Who Owns The Machine Anyway? * 8bitwiz on Motorola 68000 SBC Runs Again With A Raspberry Pi On Top * Gregg Eshelman on Calculate Like It's 1989 With This HP15C Emulator * Cato on Reporting From BornHack 2021: Hacker Camps Making It Through The Pandemic * Gregg Eshelman on Calculate Like It's 1989 With This HP15C Emulator * Elliot Williams on Linux Fu: User Space File Systems -- Now For Windows, Too! * 2ftg on Building A Hundred-Year-Old Radio Transmitter Now on Hackaday.io * Dominik Meffert has updated details to DIY Inkjet Printer. * Dominik Meffert has updated the project titled DIY Inkjet Printer. * Dominik Meffert has added a new log for DIY Inkjet Printer. * Benjamin Vernoux liked A 10X 100MHz Differential Probe. * abdulrehman.ikram3 liked DeltaBionics Rev0.1. * Daphne has updated components for the project titled Use FATFS to get files attributes. * Daphne has added details to Use FATFS to get files attributes. * Daphne has added a new project titled Use FATFS to get files attributes. * Circuits DIY has added details to Joule Thief Circuit. * Circuits DIY has added a new project titled Joule Thief Circuit. Logo * Home * Blog * Hackaday.io * Tindie * Hackaday Prize * Video * Submit A Tip * About * Contact Us Never miss a hack Follow on facebook Follow on twitter Follow on youtube Follow on rss Contact us Subscribe to Newsletter [ ] [ ] [Subscribe] Copyright (c) 2021 | Hackaday, Hack A Day, and the Skull and Wrenches Logo are Trademarks of Hackaday.com | Privacy Policy | Terms of Service Powered by WordPress VIP [impression] [close] By using our website and services, you expressly agree to the placement of our performance, functionality and advertising cookies. Learn more OK