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! Amazing functionality: it is not a toy, it is REAL Computer, spy-free Computer and the sophisticated control platform for your projects!

Features:

OS: CP/M 2.2 = programming languages, text processors, games, business software, ...
Instructions: Z80 (Zilog), extended with MUL, DIV, and floating-point, 1us LD r,r ops
Memory: 64 Kb SRAM + 128 Kb EPROM = 3 switchable user sessions!
Video: VGA (!) monochrome 24/25x80 5 symb sets, graphics 160x96 px + sleep mode (!)
Storage: SD-card
Keyboard: PS/2, 2 layouts + PS/2 mouse (!)
Printer: YES, serial or LPT
Interfaces: RS-232, UART, Ethernet, GPIO
Real time clock with battery
Single-tone melody generator with built-in speaker
Hardware 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, programmers support website www.criss.fun.

The basic idea was to build really 8-bit computer that would use modern technologies and components. CRISS CP/M did it! 8-bit MCUs only, standard keyboard, monitor and LAN can be used, CP/M OS provides compatibility with the standard software, LAN and other "modern" features are incorporated into the BIOS and accessible with just few lines of code from a user program!

Single-board design, AC/DC PSU is on the board, standard sockets, DIP components only, and just 13x10cm PCB size!

Now AVR runs BASIC, TURBO PASCAL, C, FORTRAN etc., plays TETRIS 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) but 128kB chips also can be used. 

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!

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

  • New firmware

    Igor10 hours ago 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! 

  • Final release of CRISS CP/M LPT adapter

    Igor10/29/2021 at 16:23 0 comments

    Final release of CRISS CP/M LPT adapter is ready and is testing now.  Hope that it is pre-alpha release. Next firmware will come with the LPT support! Alternatively the adapter can be used as 24-lines GPIO.

  • LPT-port support getting standard!

    Igor10/17/2021 at 11:43 0 comments

    LPT-port support becames standard option: adapter is mounted inside the DB25 socket. Now the full version of the CRISS MPS adapter looks like one on the picture (pre-release version): MPS socket combines keyboard, RS-232 and LPT. After finishing testing PCB and schematic will be published here. Now versions of the firmware will come with LPT support. LPT also can be used as standard 24-port GPIO.

  • Cutting panels for CRISS CP/M computer

    Igor10/07/2021 at 14:18 0 comments


    Funny, really?

  • User's Guide is available

    Igor09/24/2021 at 20:31 0 comments

    CRISS CP/M support site www.criss.fun news: User's guide is coming!

    Technical and programmer's reference is preparing, coming soon! Don't hesitate to contact me if you need DIY kit!

  • FAQ and How to section on the support site

    Igor09/10/2021 at 13:47 0 comments

    In order to support DIYers on the support website www.criss.fun special sections FAQ and How to are added. Please send info requests and questions by email!

  • MINESWEEPER for CRISS!

    Igor09/06/2021 at 16:19 1 comment

    Welcome new game for CRISS: classical Minesweeper! Any idea what to do else? In few days after testing the program will be uploaded to the project website www.criss.fun with Turbo Pascal source codes!

View all 7 project logs

  • 1
    Video-lesson for home assembling

View all instructions

Enjoy this project?

Share

Discussions

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