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
Download

PCB2.pdf

PCB layout

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

Preview
Download

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

  • 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!

  • New games and more!

    Igor08/29/2022 at 10:52 0 comments

    The project is growing, more and more computers are appeared in the world! For you new logic game: MEMO! You have to find and open double cards. This version has 3 levels and some amazing features like flying cards!

    A perfect example how the pseudo-graphic symbols may be used! Pascal source codes are included.

    Video with the game is coming.  

  • New CRISS CP/M 2.2 with 55 Kb TPA!

    Igor04/18/2022 at 08:19 0 comments

    Starting from the CPU uC firmware 4.64 custom OS images may be used and one was built from the original sources of the CP/M 2.2 from Digital Research Corp. Because CRISS has in-built BIOS support the new release provides 55 Kb TPA memory! All sources for the OS boot image are available, please download upgrades from www.criss.fun  website! Don't forget to upgrade CPU uC to version 4.64. OS starts now from the address DF00h! 4 virtual 720 Kb floppy drives (A-D) are supported. Hitech C and Janus ADA are now compiling fine without the leak of the RAM problem! New videos with ADA testing for the Youtube channel are preparing and will be available soon.

    Fantastic, really? Coming very soon: next step memory optimized CPM 2.2 and CPM 3.0 support! Please follow!

  • Remote Monitoring is Working!

    Igor02/07/2022 at 06:39 0 comments

    That's really cool: internal settings allow to monitor and control what is happening with your CRISS computer over the LAN! For example you'll see what your kid is doing and will be able to help him remotely! You can monitor not only from the Windows computer but also from the another CRISS CP/M computer!

  • New firmware

    Igor11/30/2021 at 17:35 0 comments

    New set of firmware files are available at the project support web site. Version 4.62 MCPU, 1.22 for the Peripheral controller, 0.21 for the VGA controller. Main improvements are:

    • mouse support is fully incorporated in the "programmers" and "auto" mode (when mouse movements and clicks are converted to key pressing that allows to use mouse in old programs)
    • "mixed" video mode when each line is based on a separate symbol set is added
    • VGA sleep mode is implemented
    • GPIO stability was slightly improved
    • some new IOBYTE settings were implemented

    Next generation will come with improved LAN support and more attractive features! Coming soon!  Didn't order you Christmas gift yet? Why? Do it now!!! If there is no in the stock just write me an email! 

View all 16 project logs

  • 1
    Video-lesson for home assembling

View all instructions

Enjoy this project?

Share

Discussions

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