[HN Gopher] From ASCII to ASIC: Porting donut.c to a tiny slice ...
       ___________________________________________________________________
        
       From ASCII to ASIC: Porting donut.c to a tiny slice of silicon
        
       Author : a1k0n
       Score  : 69 points
       Date   : 2025-01-12 17:36 UTC (5 hours ago)
        
 (HTM) web link (www.a1k0n.net)
 (TXT) w3m dump (www.a1k0n.net)
        
       | binarymax wrote:
       | So great to see this excellent explanation. Have been a fan of
       | donut.c since it first came out. Also I'm way better at golfing
       | js than c so it kinda feels like you wrote this just for me :)
        
       | malux85 wrote:
       | The thing about donut.c is that its source code is shaped like a
       | donut, that's a huge part of its charm.
       | 
       | While altering it to use shifts and adds is a fun exercise, since
       | its source code is no longer shaped like the donut it renders, I
       | would argue that a large part of its charm has disappeared and
       | it's no longer a donut.c
        
         | Zamiel_Snawley wrote:
         | It's trivial to reformat the source code into a donut shape.
        
           | zamadatix wrote:
           | Sometimes it's those trivial changes which add a lot of the
           | overall charm.
        
           | refulgentis wrote:
           | Non-trivial, IMHO - automating it sounds non trivial, and
           | doing by hand is quite non-trivial, right? We gotta go make
           | hand edits line by line?
        
             | mianos wrote:
             | Considering the language, C and the size of the file, I
             | would not argue it is not trivial. The key feature of
             | donut.c is how small the file actually is.
             | 
             | For something larger or in other languages, or having text
             | strings, certainly not trivial.
        
       | swores wrote:
       | Going slightly off topic, I was interested to learn from this
       | blog about Tiny Tapeout, the service they've used to order their
       | custom chip design. The concept for anyone as unfamiliar with it
       | as me is that lots of people pay a few hundred dollars each to
       | get a small part of a chip being made, and once it's made they
       | receive the chip ready to use with their section everyone else's,
       | too, with a way to choose which bit gets run.
       | 
       | I know basically nothing about chip design, and I'm wondering if
       | anyone could tell me: is this only useful for education purposes,
       | for example learning how to make a chip that creates a donut on a
       | screen, or are there people using Tiny Tapeout for useful
       | projects, too?
       | 
       | For each of their chip runs, they publish a list of the different
       | people's projects that got included -
       | https://tinytapeout.com/runs/ - but it's not easy to spot which
       | ones might be more than somebody just learning how to play with
       | chip design.
       | 
       | Essentially, if someone were to pick this up as a hobby, what is
       | the most interesting thing they could make using this?
        
       | refulgentis wrote:
       | I've been _deeply_ curious about the sort of speedup you get from
       | doing what was in software, on hardware:
       | 
       | I know the chips hasn't been delivered yet, but, the statements
       | at the beginning re: we can expect a new frame every N
       | nanoseconds, give me hope there's a rough heuristic for what
       | speedup we'd expect in this particular case.
       | 
       | Do we have a rough* understanding of what the speedup will be?
       | 
       | * Within 2 OOMs
        
         | megous wrote:
         | New pixel. Not new frame.
        
       ___________________________________________________________________
       (page generated 2025-01-12 23:00 UTC)