Login
You're viewing the front-end.social public feed.
  • Oct 12, 2026, 10:57 PM

    after implementing the basics of DMA, my little game boy emulator gets to the title screen of super mario land (colors are weird because i haven't bothered to implement background palettes yet)

    title screen of super mario land, but the colors look inverted (black where there should be white, etc)
    💬 1🔄 1⭐ 1

Replies

  • Oct 13, 2026, 8:43 PM

    hmm, you can create some very pretty conflicts (in red) on the video ram bus if you start a DMA from VRAM while the PPU is in mode 3 (tile/sprite rendering)

    gtk wave screenshot showing a number of horizontal patterns, including the "ma[12:0]" and "md[7:0]" entries, which are alternating between green and pinkish red
    💬 1🔄 0⭐ 0
  • Oct 13, 2026, 8:53 PM

    (the accesses in green are coming from the DMA peripheral, and the bus conflicts are happening when both DMA and the PPU are trying to put a value on the address bus)

    (i wonder how hot you could make a game boy SoC if you did this on purpose)

    (it's genuinely bewildering to keep track of which bus accesses from which components are possible under which conditions)

    💬 1🔄 0⭐ 0
  • Oct 13, 2026, 11:53 PM

    i think if i'm going to implement sprite rendering i might as well implement audio. sigh

    💬 1🔄 0⭐ 0
  • Oct 14, 2026, 3:36 PM

    i'm sure there's an option to turn on warnings about this, but a thing that sucks about cython is that leaving off a single type annotation on a function sets off a chain reaction in which anything that has the mis-annotated function in its call stack slows to a crawl (because now that function is using python values that have to be dynamically allocated and converted back and forth from C values). and then i end up having to comb through the generated C to find the problem

    💬 1🔄 0⭐ 0
  • Oct 14, 2026, 3:44 PM

    i am simultaneously (a) glad that i tried out cython for this project, because now i'm more familiar with how it works and behaves; and (b) convinced that you should basically never use cython. [alanis morissette voice] you live, you learn

    💬 1🔄 2⭐ 0
  • Oct 14, 2026, 4:15 PM

    @aparrish me not having heard of this: what's cython, an unholy fusion of python and C?
    me googling: oh my stars and garters

    💬 0🔄 0⭐ 0
  • Oct 14, 2026, 4:17 PM

    @horsewizard it's well intentioned, and it's amazing that it works as well as it does, but i can't help but feel that it is profoundly misguided

    💬 0🔄 0⭐ 0