Go Down

Topic: CP/M computer on Arduino Nano 3.0 (Read 14733 times) previous topic - next topic


My simulator passed the test DIAGNOSTICS II V1.2 - CPU TEST by SUPERSOFT ASSOCIATES:


Epic game "Star Trek" running in my "nanocomputer":


I'm going to try this on:


I would like to make a compact portable CP/M computer.

Thank you for your work.

It is a really cool project.


The project is unfrozen :-)

Successful tests of connection the PS/2-keyboard via the STM8 adapter made my "nanocomputer" autonomous.

So cpm4nano Mk V:
Arduino Nano 3.0 - emulates the i8080, provides work with memory and disks, performs video output and serial communication
RAM - 2 x 32 KB FM24C256-G I2C-chips
FDD - SD-card
input - PS/2-keyboard via STM8S103F3P6 adapter
output - in parallel to the video output (20 lines x 45 columns, font 4 x 8) and serial port (USB-UART converter)

P.S. I tested the connection to the tube TV (the clarity of the image is worse than on the LCD, but the synchronization is not broken and the font is readable).


"Handmade" case for "nanocomputer":


Added the ability to enable the "turbo" mode "on the fly" using the jumper - disabling the rendering of pixels in the TV frame, an analog of FAST MODE in ZX81. The BASIC test execution time is reduced in this mode from 120 to 70 seconds.


Adding a read-ahead/write-through instruction cache (single-line, 16 bytes) between the emulation core and I2C-memory accelerated the work of CP/M, for example, the time it took to complete DIR on a floppy disk with system files and tests was reduced by one and a half times.


Oct 16, 2019, 09:58 pm Last Edit: Oct 16, 2019, 10:07 pm by miker00lz
Very nice! I love seeing emulator projects on AVR. But aren't you going to wear out the SD very quickly by using it as RAM?

You should take a look at the Teensy line of boards if you are interested in more memory and speed. They are compatible with the Arduino environment. The T4.0 is especially nice (600 MHz Cortex-M7, 1 MB RAM), and only $20!

I did a similar project recently, but with 8086 on a Mega2560.

EDIT: Nevermind, I see you stopped using SD for RAM. (Or I misunderstood the original post)

Go Up