Close
0%
0%

One Page Computing Challenge

Roll your own challenge: computing in 66 lines of printout - homebrew CPU, or emulator, or both! Or anything really.

Similar projects worth following
Here's a challenge for everyone interested in CPU design - design something small. In fact, so small you can fit it on one page.

To keep it fun, make up your own idea of what that means - one page of spec, or one page of schematic, or one page of HDL, or a one-page emulator in the language of your choice. If you can write a one-page monitor, or any application in one page, that's interesting too!

There's a thread for discussion and contributions over on the AnyCPU forum: see
http://anycpu.org/forum/viewtopic.php?f=3&t=372

And if you want to define one page as a huge page with tiny font, go ahead! Personally I'm more interested in the 66-line fanfold paper, which is I think 132 characters across. I hope not to code-golf, so the code is remains readable and self-explanatory. I just might allow myself to print at 8 lines per inch, and get 88 lines to the page.

Enjoy this project?

Share

Discussions

Julian wrote 06/14/2018 at 02:36 point

My entry: https://hackaday.io/project/159003-c61 -- a 6-bit pipelined CPU with schematic that fits on a single page.

  Are you sure? yes | no

Ed S wrote 07/10/2018 at 18:01 point

A 6-bit Harvard homebrew CPU - excellent! Thanks for posting to the #One Page Computing Challenge 

  Are you sure? yes | no

Jade wrote 04/19/2018 at 03:36 point

Here's what I made today: https://hackaday.io/project/146481-szompu

Here's an image, with the extra register and little LEDs to tell you what data is being sent where.  (the register (OUTPUT_REG) is a fill-in for a co-processor, since the way that it communicate is through a shared register anyway)

someone please tell me how to embed images properly

  Are you sure? yes | no

Ed S wrote 07/13/2017 at 20:05 point

See our #OPC-5 - a CPU for FPGA, in one page which is still evolving but has been seen to compute hundreds of digits of Pi. It's a 16-bit wide, word-addressed machine, with 16 registers.

  Are you sure? yes | no

Ed S wrote 06/25/2017 at 14:59 point

What would be a good a demonstration that the one-page creation is indeed a computer? For me, controlling some hardware according to a program is ample demonstration, and for a more conventional machine, some kind of numeric processing, for example something like any one of these:

- print out the first N squares [1]

- the first N Fibonacci numbers

- the first N primes

- the first N square roots

- the first N digits of e

- the first N digits of pi

- Mastermind / cows and bulls game

- Higher/Lower guess a number game

- Lunar Lander game (not real time, of course! Turn-based.)

[1] Historically interesting: EDSAC ran a squares and differences program written by Wilkes. It had multiplication, so squaring was easy, but printing numbers in decimal always takes effort. http://www.cl.cam.ac.uk/~mr10/edsacposter.pdf

Running any kind of HLL interpreter would support any of those programs, but they could equally well be written in assembler. I'd be surprised to see a reasonable interpreter in one page.

  Are you sure? yes | no

Ed S wrote 06/24/2017 at 15:16 point

Our #OPC-1 CPU for CPLD is a one-page cpu.

  Are you sure? yes | no

agp.cooper wrote 06/17/2017 at 06:48 point

Okay, here is mine (but it is a rather long page): 

  Are you sure? yes | no

Ed S wrote 06/17/2017 at 06:52 point

Ooh, a TTL machine - transport triggered - 8 bit - what's not to love?

  Are you sure? yes | no

agp.cooper wrote 06/17/2017 at 07:32 point

Built in Front Panel, built and working.

AlanX

  Are you sure? yes | no

agp.cooper wrote 06/17/2017 at 07:39 point

Here is the monitor program and the LED light chaser program:


  Are you sure? yes | no

Ed S wrote 06/17/2017 at 07:52 point

Maybe you can join in over on the AnyCPU forum: see 

http://anycpu.org/forum/viewtopic.php?f=3&t=372

?

  Are you sure? yes | no

Ed S wrote 05/28/2017 at 21:04 point

As you wish - the nice thing about this challenge is that you make your own constraints.

  Are you sure? yes | no

Yann Guidon / YGDES wrote 05/28/2017 at 20:50 point

entries are in a PDF file with a single page ? :-)

  Are you sure? yes | no

Ed S wrote 06/03/2017 at 06:41 point

(Actually that printout is from a web page - CSS can do green bar paper! With a background image for the holes. See http://www.pdp8.net/images/greenbar.shtml)

  Are you sure? yes | no

Does this project spark your interest?

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