NEWS |
|
2024-11-17
|
Is it possible to run Linux on MyCPU? Yes it is! But it takes 52 minutes to boot.
|
2023-03-28
|
If you're thinking about building your own MyCPU, but don't know where to get the boards,
take a look at BudgeTronics.
They offer the
complete set of all MyCPU boards for a discount price of only 79.00 Euro.
And they also offer a
backplane for your computer replica for only 29.00 Euro.
|
2023-03-24
|
Today I present a new computer design to the public. I call it
My4TH and it is the successor
of MyNOR. Like MyNOR, the new My4TH
computer has a one-bit NOR gate "ALU". It is a special
Forth computer system that closely follows the Forth 2012 standard. The My4TH board
is only 10 x 10 cm and consists of only 16 logic chips plus RAM, ROM and EEPROM.
|
2021-07-03
|
In the last months several people have asked me for the Gerber files of the MyCPU boards.
I dug out my old Eagle version and installed it under Linux/Wine to create the Gerber files
from the old Eagle board files. A ZIP archive with the Gerber data is available
here.
|
2021-07-03
|
My new homebrew CPU project "MyNOR" got an update:
I have re-constructed the computer with 2495 transistors. I call the new transistorized computer
"TraNOR".
TraNOR runs at up to 7 MHz.
|
2021-01-14
|
The MyCPU forum is closed forever. I am not willing to reopen it because there was
virtually nothing going on in the forum. I'm sorry.
|
All the electronics above on a single FPGA board:
The MyCPU is a "Central Processing Unit" that is completely built
with discrete logic gates. Over the years the project has grown, and now the
MyCPU is the brain of a real Personal Computer. The computer has the following
capabilities and features:
- All is built with 74HCxxx circuits. No higher integrated parts are use
(except the EPROMs, RAMs and UARTs).
- The system runs with up to 8 MHz
- available hardware: 8 Bit CPU at 8 MHz (the "MyCPU"), 1.03 MB
RAM / 128 KB ROM, Interrupt Controller, Multi-I/O with 2 serial ports, 1
printer port, LCD and PS/2-Keyboard interface, IDE-Controller for 4
harddisks, VGA graphic card, Ethernet Controller.
- available software: DOS-like operating system, games, disk tools,
programming tools, TCP/IP-stack, web server
- The computer can be programmed in basic, assembler and "C". The
basic-interpreter is integrated into the operating system, and the assembler
is an executable that is loaded from disk and translates the assembly syntax
into binary code on the MyCPU. The C-Compiler is a cross-compiler that runs
on a Windows or Linux based host system.
- The realtime operating system
"pico]OS" has been ported
to the MyCPU. Applications for pico]OS
can be written in "C". This is a good starting point for education
purpose.
- I have ported "Contiki" to MyCPU.
Contiki is a network enabled window application, that comes with widgets like
a web browser and a FTP client. You can surf in the internet with MyCPU!
- The project is totally open source. Please contact me if you are missing
something like schematics, software or descriptions.
You want to know more about MyCPU? Please
read this article!
If you are interested in the project, you may now
|
|
|
MyCPU boots Linux in 52 minutes (see the video:)
|
Since the early days of MyCPU, I have dreamed of emulating an x86 PC with MyCPU and
booting MS DOS on my machine. But I never found the time to implement the
x86 CPU emulator. 24 years later I found Charles Lohr's Github page with his
RISC-V emulator.
This emulator was simple enough to port to MyCPU, but I had to add more memory
to the system. The slim Linux kernel I downloaded from Github needed at least
16MB of RAM to run stable. I made a cheap and simple memory extension board and
booted Linux on MyCPU. See the linked video.
If you like, you can download
the schematics, the emulator software and the Linux image
and try it yourself. To get the same result as I did, you need to clock your
MyCPU with a 23.400MHz oscillator (Q2). JP3 must be set to position 2-3 and JP5 to 2-3.
Have fun!
|
|
Chip8-Interpreter for MyCPU
|
CHIP-8
is a language interpreter used on the old TELMAC-1800 and COSMAC VIP computers in 1977.
The original interpreter is small (less than 512 bytes), uses simple instructions and is easy
to program. The early games like Pong, Brix and Tank fit in less than 256 bytes program code.
The chip8-Interpreter for MyCPU can also execute SCHIP programs. SCHIP is an extension to
CHIP-8 and was written in 1990 for the HP48 graphing calculator.
The MyCPU software package contains about 30 games, including the well known Space Invaders
game, Blinky (a Pac-Man clone), Brix, Joust, Sokoban, Tetris and others.
To run the chip8 interpreter, download the latest MyCPU emulator (at least revision 7)
and enter "chip8" at the prompt. Please note that you need Kernel version 2.21
or higher on your MyCPU.
|
|
Contiki on MyCPU
|
Do you know Contiki? Contiki is a window based operating system for
computers (or embedded systems) that have only very little memory.
I have ported Contiki to MyCPU with the goal to have access to
various Contiki applications. Porting the Contiki core to MyCPU
was very hard work, but know it is very simple to compile the
applications, since the user API is completely transparent
to the applications. Most Contiki applications run without modifications on MyCPU!
One really nice application is the internet web browser (see the picture
on the right). I did some improvements on the app and now the browser
is a really usable program.
Contiki can be controlled by a computer mouse. The red dot in the picture
is the mouse cursor. The mouse hovers over the yellow highlighted link,
the link target is shown in the status line at the bottom.
Read more about Contiki on MyCPU
|
|
The MyCPU Overdose
|
Please have a look at the picture (you may click it to enlarge):
The MyCPU runs the Realtime-OS Pico]OS. The clock is displayed in a Pico]OS-Task, and
the MyCPU kernel runs in the idle task. The HTTP-Server runs in the kernel idle loop,
and the Basic Interpreter is executed as application.
Summary: RTOS / Basic / Webserver are running at the same time on the MyCPU!
In the picture you see: Firefox loading the MyCPU-website that is hosted ON THE MYCPU,
two file-downloads with a throughput of 5.3kb each, a Telnet Client that is connected to
the MyCPU, the MyCPU-Emulator Debugging Window and the MyCPU VGA Screen Emulation Window
that shows the Basic Interpreter and the Clock Demo Program. This is no fake! It's real!
The MyCPU-Emulator is connected
through a SLIP link and with help of the WinPcap-Driver
to the MS Windows host. The MyCPU has the IP-Address 192.168.178.11 assigned,
the PC has the address 192.168.178.24.
|
|
If you are interested in the networking capabilities of MyCPU, please read this
article about networking with MyCPU.
|
The MyCPU-Computer on the Pi and More 7 (2015-06-20 in Trier, Germany):
The desk with a MyCPU setup and a laptop running the MyCPU Emulator
A close-up of the MyCPU
-- more Pictures --
Die MyCPU ist ein Prozessor, der komplett aus diskreten Logik-Gattern besteht.
Das Projekt ist immer weiter gewachsen, und mittlerweile ist aus dem CPU-Projekt
ein ganzer Computer entstanden. Der Computer hat die folgenden Eigenschaften:
- Er besteht überwiegend aus Bausteinen der 74er TTL-Serie. Keine
hochintegrierten Bauteile wurden benutzt (außer der EPROMs, RAMs und UARTs).
- Der Computer läuft mit maximal 8 MHz
- verfügbare Hardware: 8 Bit CPU mit 8 MHz (die "MyCPU"), 1.03 MB
RAM / 128 KB ROM, Interrupt Controller, Multi-I/O mit zwei seriellen
Schnittstellen und
einem parallelen Drucker-Port, LCD und PS2-Tastatur-Anschluß,
IDE-Controller für 4 Festplatten, VGA Grafikkarte und Ethernet Controller.
- verfügbare Software: DOS-artiges Betriebssystem, Spiele, DOS-Tools,
Pragrammierer-Tools, TCP/IP-Stack, Webserver
- Der Computer kann in Basic, Assembler oder in "C" programmiert
werden. Der Basic-Interpreter ist in das Betriebssystem integriert. Der
Assembler wird von der Festplatte nachgeladen und übersetzt Assembler-Quelltexte
in binären Code. Der C-Compiler ist ein Cross-Compiler, der auf einem
Windows- oder Linux-basierten Gastsystem läuft.
- Das Echtzeitbetriebssystem
"pico]OS"
wurde auf die MyCPU portiert. Anwendungen für
pico]OS
können in "C" geschrieben werden. Dies ist ein gute Einstieg
für Bildung und Lehre.
- Ich habe die Fenster-Applikation "Contiki"
auf die MyCPU portiert. Jetzt läuft sogar ein Webbrowser auf der MyCPU,
so dass man mit der MyCPU im Internet surfen und Dateien herunterladen kann.
- Das Projekt ist komplett Open Source, alles was zum Nachbau benötigt
wird, ist hier auf meiner Seite erhältlich. Solltest du doch etwas
vermissen, dann schreib mir bitte eine email.
Wenn du an dem Projekt interessiert bist, kannst du nun
MyCPU es una
"Unidad Central de Proceso" que ha sido construida
completamente a partir de compuertas lógicas discretas. A través de los
años el proyecto ha crecido, y hoy MyCPU es el corazón de una PC real. El
ordenador tiene las siguientes características:
- Esta construida a partir de circuitos integrados de la serie 74HCxxx.
No hay otros componentes integrados (a excepción de EPROMs, RAMs y UARTs).
- El sistema corre hasta 8 MHz.
- Hardware disponible: CPU de 8 MHz ("MyCPU"), 1.03 MB de RAM y 128 KB de
ROM, controlador de Interrupciones, Multi E/S con dos puertos seriales, un
paralelo, LCD e interfaz PS/2 para teclado, controladora IDE para cuatro
discos duros y una tarjeta gráfica VGA.
- Software disponible: Sistema operativo tipo DOS, juegos, herramientas de
disco, herramientas de programación, pila TCP/IP, servidor web.
- El ordenador puede programarse en BASIC, Assembler y C. El interprete
BASIC está integrado en el sistema operativo, y el Assembler es un
ejecutable que se carga desde el disco y traduce las instrucciones al
código binario de MyCPU. C es un crosscompiler que ejecuta en un host,
bajo Windows o Linux.
- El sistema operativo de tiempo real "pico]OS"
ha sido portado a MyCPU.
Las aplicaciones para pico]OS
deben ser escritas en C. Es un buen punto de arranque para estudiantes.
- El proyecto es completamente open source. Por favor contácteme si no
entiende alguno de los esquemas, software o descripciones.
Si esta interesado en el proyecto, puede:
Homebuilt CPUs WebRing
Join the ring?
To join the Homebuilt CPUs ring, drop Warren a line,
mentioning your page's URL. He'll then add it to the list.
You will need to copy this code fragment into your page.
Note: The ring is chartered for projects that include a home-built
CPU. It can emulate a commercial part, that′s OK. But actually using that
commercial CPU doesn′t rate. Likewise, the project must have been
at least partially built: pure paper designs don′t rate either.
It can be built using any technology you like, from relays to FPGAs.
|
|
|