Close
0%
0%

CRISS CP/M 8-bit Homebrew DIY Computer (AVR based)

the FIRST Single-board DIY 8-bit Personal Computer with VGA, Mice, Ethernet and Printer support, GPIO and CP/M powered!

Similar projects worth following
Meet my CRISS CP/M: the modern single-board 8-bit full-featured DIY personal computer! It is not a toy, it is REAL Computer and the sophisticated control platform powered by LAN remote control!

Features:

OS: CP/M 2.2 = programming languages, text processing, games, business software, ...
Instructions: Z80 (Zilog), extended with MUL, DIV, and floating-point, 1us LD r,r ops
Memory: 55 Kb TPA(!!) from 64 Kb SRAM + 128 Kb EPROM = 3 switchable user sessions!
Video: VGA (!) 8 colors (!) 24/25x80 or 30/31x64, 5 symb. sets, 160x96 px + sleep mode (!)
Storage: SD-card
Keyboard: PS/2, 2 layouts + PS/2 mouse (!)
Printer: serial / LPT
Interfaces: RS-232, UART, Ethernet, I2C/GPIO
Real time clock
Single-tone melody generator with built-in speaker
Terminals emulation: VT100, Robotron PC1715, Kaypro II, ADM, Microbee, TRS-80, ...

8-bit AVR MCUs based, DIP only, no modules and development boards, 100% open project! Join us at DISCORD: https://discord.gg/TZgxdAmskw

CRISS is a 21st-century CP/M 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. Standard image is monochrome green-on-black, looking instantly familiar to users of Kaypro's, Osborne's and other contemporary CP/M machines. Starting from May 2023 VGA module was enhanced with the additional circuit based on ATTINY84 MCU and 4-bit shift register that colorizes video to the 8 colors!

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. 

Housed in a neat little case (13x10cm PCB size), 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).

The basic idea was to build really 8-bit computer that would use modern technologies and components. CRISS CP/M did it! 

Now AVR runs BASIC, TURBO PASCAL, C, FORTRAN etc., plays TETRIS, ZORK and other games, makes text processing, runs spreadsheets and much more. CP/M software world is much wider than it is usually imagined and CRISS can "switch" the platform on the fly without rebooting!

All videos are from the real device, no emulation! :)

As a component base the line of the Microchip (Atmel) AVR family was chosen as a reliable and honest 8-bit platform. All interfaces are implemented using specialized microcircuits. Internal frequency is 20 MHz, Z80 emulation corresponds to the 4MHz z80 CPU, 1us register-to-register operation time.

The computer is built following the classic structure: the central processor is implemented using the ATMEGA1284P and emulates Z80 CPU with extended commands set, the peripheral controller is built on the ATMEGA328P, the VGA controller is built on the ATMEGA328P and ATTINY13 without overclocking(!), the Ethernet controller is ENC28J60 (Microchip), RTC is DS1305 (Dallas), the RAM 64Kx8 is W24512 (Winbond). 

Internal SPI bus with the address decoder allows easily add additional peripheral device: CAN bus etc, such devices are accessible via IN/OUT commands from the user programs in any language.

100% open project, send me requests for any info, DIY kits and assembled boxes are also available!

It is great example how your CRISS CP/M workspace may look like! Thanks  to GinDiamond 

CRISS_CPM_schematic_small.png

Schematic and wiring diagram

Portable Network Graphics (PNG) - 233.07 kB - 08/29/2021 at 08:01

Preview

PCB2.pdf

PCB layout

Adobe Portable Document Format - 41.55 kB - 08/25/2021 at 15:48

Preview

criss0.zip

Firmware level 0: bootloaders

x-zip-compressed - 2.98 kB - 08/29/2021 at 07:54

Download

  • 1 × ATMEGA1284P Microprocessors, Microcontrollers, DSPs / Microcontrollers (MCUs)
  • 2 × ATMEGA328P Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × ATTINY13 Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × W24512 Memory ICs / Static RAM (SRAM)
  • 1 × ENC28J60 Ethernet SPI adapter

View all 7 components

  • Meet CRISS CP/M Lan Server Edition!

    Igor2 days ago 0 comments

    Yes, it's true! The first CP/M based LAN Server in the world is the reality! Tiny size  fits to a 2-ports LAN wall-mounted socket box, it allows to install it anywhere you need! 

    Programming is really easy. CRISS CP/M may be splited into two parts: CPU + RAM and Video + SD. Black RJ-45 socket on the photo serves to connect CRISS CP/M LanSE board to the "second part", together they operate like a standard CRISS CP/M Computer. To boot-up Server Edition uses EPROM chip. It is really cool: develop and test you program using a standard CRISS CP/M computer, store it into the EEPROM and your server is ready to operate! Ethernet UDP communication is a native CRISS interface, you really need just a couple of code lines to configure it, send and receive data. Remote monitoring is also available, it is standard CRISS feature.

    Turbo Pascal program example sources will be published at the GitHub soon. If anyone need gerbers and schematic just email me mail@criss.fun. It's free :))

  • ​CRISS CP/M Lan Server Edition

    Igor08/15/2024 at 11:35 0 comments

    CRISS CP/M Lan Server Edition is coming. It is the best platform to build your own custom smart control system and the first real control platform based on CP/M OS! The board contains minimal set of components, for the programming it is coupled with the "rest part" of the computer. You may use any programming language available for CRISS CP/M! After the testing project will be published and described at Discord, don't forget to join!

  • Brief Project Description in German

    Igor07/07/2024 at 10:48 0 comments

  • Firmware 4.67 is coming with cool new features!

    Igor04/07/2024 at 09:17 0 comments

    Firmware 4.67 is coming. What's new there: 

    • Buffered UART input with 16 bytes Rx buffer
    • New screen output modes with the fixed status bar line (top or bottom)
    • The greatest option: you may now slow down your computer on the fly and play old games or discover how programs draw on the screen

    After the testing firmware will be published on the project web-site.

  • Fantastic! VGA Color Support Is Added!

    Igor06/17/2023 at 08:58 1 comment

    New release of the CRISS CP/M Computer supports 8 colors for the video output now! Just two 14-pins ICs did this trick and now VGA output is colorized!

    More info and technical data updates will be added soon! Let's colorize our retro life! It was a real challenge to do it, not so easy as it looks!

  • PCBs are available now at PCBway!

    Igor01/05/2023 at 13:37 0 comments

    Great news! 

    CRISS CP/M project has won the sponsorship support from PCBway.com service!!! New updated version of PCB 3.19 was ordered and now it is available for order as shared project! Thank you to PCBway for this present!

    Direct link for the project description and ordering:

    https://www.pcbway.com/project/shareproject/CRISS_CP_M_8_bit_Personal_Computer_598692be.html

  • CRISS CP/M Dedicated Server at DISCORD!

    Igor11/12/2022 at 18:07 0 comments

    Thinking to assemble your own CRISS CP/M computer but still not sure?  Need help, advise or support? Need BOM or actual schematic? 

    Great news for you! CRISS CP/M dedicated server was launched at discord.com today! It will collect all information and experience concerning the CRISS CP/M project. Also it will be the main worldwide community for the CRISS CP/M users. 

    Build your own CRISS CP/M computer now! Join us: https://discord.gg/TZgxdAmskw now and get your FREE starter kit for Christmas!

  • CRISS CP/M Power-Up

    Igor11/11/2022 at 19:36 0 comments

    CRISS CP/M Power-Up from Leslie Marentette (Canada)

  • Source code is available at the Github!

    Igor09/28/2022 at 15:54 0 comments

    If you are going to build custom version of the computer, please find the source code at the project's Github page.

  • 3D Printable Case for the CRISS Computer!

    Igor09/05/2022 at 10:19 0 comments

    Excellent news! Thanking to @ljmarent efforts CRISS CP/M has got the 3D printable body! It is not just a copy of the standard G738 case, it was wisely customized with the optional VESA and DIN-rail mounting options!

    After it will be verified and approved design files will be published here! Thank you, Les!

View all 20 project logs

  • 1
    Video-lesson for home assembling

View all instructions

Enjoy this project?

Share

Discussions

Peabody1929 wrote 07/09/2024 at 18:43 point

This system emulates a Z80.  One can emulate a Z80 under windows faster and easier.  Why not get a HP EliteDesk 800 G2 Desktop (refurb)?  It is about the same size and costs about $100.  It has 16GB of RAM and 240GB of SSD and comes with Win10 Pro.  Just load SIMH Z80 and it is done.

  Are you sure? yes | no

Igor wrote 07/10/2024 at 08:23 point

Hi @Peabody1929 , thank you for your comment, exellent note! Yes, there are a lot of methods how to emulate Z80, but in this project the core idea was to build real hw 8-bit computer using modern DIP components with 8-bit architecture. It is not just Z80 emulation, emulation is about 20% of the problem, but it is also video card, internal port system, peripheral support, integrating Ethernet into standard CP/M 2.2 BIOS calls etc. It was really attractive challenge and it 100% really works!

  Are you sure? yes | no

Igor wrote 01/05/2023 at 18:35 point

The first CRISS CP/M computer in 2023 was born! Congratulations to GinDiamond from the DISCORD CRISS community!

  Are you sure? yes | no

Igor wrote 11/08/2021 at 15:11 point

Yes, it has happened! Mouse support is in the firmware! There are two ways how to use it: either send request 0xe0 to port 215 and read buttons and X, Y movements from the ports 216, 217, 218 - just 4 code lines! (programmer's mode) or at any time press Ctrl-Alt-NumLock and automouse mode will be activated: mouse movements are reported as arrow keys and it allows to use mouse in native CP/M programs! Yes, CP/M Wordstar with mouse is now real! In all cases active mouse is signaled by NumLock led. Enjoy mice in CP/M programs!

  Are you sure? yes | no

esiako wrote 10/12/2021 at 20:32 point

nice but how long this device work on one AA?

  Are you sure? yes | no

Igor wrote 10/15/2021 at 17:53 point

Good question! Not so much in the current version. But it can be split into 2 parts: main CPU controlling external device via UART and the "rest": VGA, SD, ... to control and setup it. In this case you will be able to program it using any programming language and standard keyboard/monitor, save the program to the EEPROM and CPU will execute it without unnecessary "extension". Firmware supports it. In this case you can either consider low-power RAM or use "sleep" feature of the firmware, that puts computer into power-save mode for desired interval. In such architecture AA can be really considered as backup power source.

  Are you sure? yes | no

esiako wrote 10/18/2021 at 10:23 point

I'm looking for device with very long working time

for example a month

  Are you sure? yes | no

aldolo wrote 10/09/2021 at 02:40 point

nice and clean assembly. as usual software is more valuable then hardware if cp/m is still a thing. thinking about the dotmatrix printer in the attic...

  Are you sure? yes | no

Igor wrote 10/09/2021 at 07:39 point

You can revitalize it with the CRISS CP/M! :) Serial printers are supported "from the box", for the LPT support you'll need just tiny converter board that fits into the DB25 socket.

  Are you sure? yes | no

Igor wrote 10/06/2021 at 11:09 point

Wow! Minesweeper for CRISS CP/M was included into the official list of Minesweeper games! Take a look at here: https://minesweepergame.com/download/game.php?id=110

  Are you sure? yes | no

xyzzywny wrote 09/01/2021 at 23:27 point

where are the applications shown in the video available?

  Are you sure? yes | no

Igor wrote 09/02/2021 at 05:02 point

Take a look at http://www.translatetheweb.com/?from=ru&to=en&dl=en&ref=trb&a=http%3A%2F%2Fcriss.fun%2F Support - Soft. Thanks!

  Are you sure? yes | no

Hakaday wrote 09/01/2021 at 18:48 point

Cool retro computer!

Please do take https://pcbdesign.smps.us/creepage.html into consideration for your own safety when a PCB has both mains and low voltages.

  Are you sure? yes | no

Igor wrote 09/01/2021 at 19:42 point

Thank you for the comment! Yes, it is considered and the magazine article contains exact instructions how to be safe and isolate high and low voltage sides. The PCB also has an option to use external 5 VDC PSU instead of 230 VAC. During the design time only 5V power must be used, there is special connector for that near the LAN socket. Thanks!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates