1. 20

I am attempting to collect a list of “toy” processor/vm specifications like CHIP-8 and TOY/2 and am having difficulty in finding more. Lobsters is likely the one community I am a part of where there may be enough people in an interest in such things to be able to get a few more added to the list.

(If you came here with suggestions of processors that have been used in toys, e.g the 6502 being used in Tamagotchi, I am interested in those too but as a separate concern)

  1.  

  2. 11

    There’s always the granddaddy of them, Knuth’s MIX, and its successor MMIX.

      1. 5

        Not “toy” level, but Retro Forth’s processor Nga would definitely pique your interest. The documentation is incredible.

        1. 5

          There is SWEET16 but that was used for actual serious work so maybe it doesn’t meet your criteria.

          There are plenty of One Instruction Set Computers to choose from. Subleq seems to be the design most often discussed.

          I wanted to link to some documentation of The Pinky Processor but all I could find was a post that briefly mentions it. As far as I remember the interesting thing about the design was that it was addressing granularity was not based on bytes like we’re used to but was instead done by bits. You could specify any bit in memory with a single address and there were no alignment requirements so you could put a 4-bit field followed immediately by a 13-bit field, followed immediately by a 5-bit field, and so on. If anybody can find the original specification document I’d love to see it.

          Edited to add: The Gray-1: a computer made from just memory chips.

          1. 2

            Each and every link has brought a smile; I especially like the Gray-1 computer.

          2. 5

            Depending on how much you consider use in a crackme/CTF a toy, you may be interested in Dan32 and some native Baudot ISA.

            1. 2
            2. 4

              There’s i.e. PICO-8 “fantasy console”, but I’m not sure this fits your criteria (http://www.lexaloffle.com/pico-8.php).

              1. 6

                If it does, there’s also clones/homages like the TIC-80

                1. 3

                  In that vein, there’s also LIKO-12, quadplay+, and pixel vision 8.

                  There are ports of PICO-8, too (at least PicoLove, PX8, and JSGS), though I don’t know if they’re relevant (they don’t define a new VM, just reimpliment an existing one).

                  There’s also a number of abandoned (or seemingly abandoned) retro-consoles, including NEKO-8, Unicorn Console, and Load81.

                  1. 1

                    Is the PICO-8 open source? The site makes it look like it’s proprietary, but it seems weird to make your game on someone’s software platform. (I can’t tell why that feels stranger than flash games.)

                    1. 2

                      It is not open source, which (I suspect) is one of the reasons that people created TIC-80, LIKO-12, etc.

                  2. 4

                    The DCPU-16 comes to mind. It should have been part of the sci-fi game 0x10c, but that project died. The CPU spec stuck around.

                    1. 3

                      Oh I remember this, it saddened me that the whole 0x10c project got cancelled. Incidentally I just found an extension on the original that someone made https://fail0verflow.com/media/files/dcpu16-proposal.txt

                    2. 3

                      4stack processor https://bernd-paysan.de/4stack.htm

                      J1 forth processor https://excamera.com/sphinx/fpga-j1.html

                      Book about stack processors “Stack Computers: the new wave” online https://users.ece.cmu.edu/~koopman/stack_computers/index.html

                      The late Jeff Fox assembled this list (I do not know who ist in charge of the website now). http://www.ultratechnology.com/chips.htm

                      until 2015 one could buy the MARC4 4bit processor from Atmel (may be lurking in your car key fob remote)

                      And there are loads of (subset of ) java processors for smart cards and similar devices.

                      I once had a link to a list of lisp processor designs, but its gone.

                      1. 1

                        The MARC4 rings a bell. I can’t find the website now but I had bookmarked a decade ago someones project where they had made a remote temperature sensor that radioed to a base station temp/humidity and could last for years on a single 9v battery being built of less than six components that fit on a board that was barely bigger than the contacts of the 9V it plugged into.

                      2. 3

                        You can’t swing a meme without hitting one. They are all basically faux retro clones of CHIP-8 which ran on the RCA 1802

                        1. 2

                          Are you interested in toy-level programming languages?

                          1. 1

                            I am, my favourite at the moment is LDPL

                            1. 2

                              This probably isn’t as mature as LDPL, but PISC is a stack based programming language that’s fairly small as things stand, but it has some (to me at least) interesting properties. I am biased, since I am it’s creator, however.

                              Later, if you’re interested, I can show you am even simplerstack based based language written in JavaScript, but that currently doesn’t have the code anywhere pleasant to read, and it’s still half-baked from a language standpoint. It’s quite handy as an RPN calculator for me at the moment. (I am also biased as the creator of that as well)

                          2. 2

                            What about programming-puzzle games, like TIS-100 or Human Resource Machine?

                            1. 2

                              SHENZHEN I/O also had a cute architecture

                              1. 1

                                Baba is You is basically logic programming.

                              2. 2

                                The first assembly language I learned in uni was https://en.wikipedia.org/wiki/LC-3 where our teachers had a purposefully broken dialect. We ended up having to write the simulator code to do right bit shifts, masks, and a bunch of other missing features. It was interesting, but sure do I wish they would have just taught us a language that was useful and taught the concepts.

                                1. 2

                                  I TA’d a class using this spec years ago - https://github.com/arrdem/batbridge/blob/master/doc/batbridge.md - and have a bunch of stale blog posts on microarchitecture and most of an assembler built targeting it as a result.

                                  1. 2

                                    Does the Simpletron qualify?

                                    1. 2

                                      Do they need to be real? The DS9K is pretty amusing.