maddy
banner
maddylnstasis.bsky.social
maddy
@maddylnstasis.bsky.social
queer (she/they)
mediocre "game developer"

pfp picrew by @reelrollsweat on tumblr

very wip site of the web:
https://maddyinstasis.neocities.org/
because dmc dma can happen mid-instruction, i basically accidentally created a real time corruptor for my emulator, lol. sometimes it would try to read a value, get interrupted by dma, and then happily store the now-unrelated value. this isn't the same as the hardware dpcm audio bug, but it's close
November 17, 2025 at 7:43 PM
update: smb3 works. problems were dmc dma incorrectly modifying the data bus, mmc3 selecting the opposite mirroring mode to the one it should have, and the graphics bank inversion being backwards (not shown due here to forcing them to be opposite before i knew what the issue actually was)
November 17, 2025 at 7:35 PM
i was forgetting to clear a flag. whoops. this is because interrupts are polled again in the interrupt routine to get the actual interrupt vector, and i forgot to clear the flag the second time
November 15, 2025 at 3:17 AM
holy image compression wtf
November 15, 2025 at 3:11 AM
yeah irq isn't supposed to do that. interrupts are only supposed to push 3 values, but the stack pointer is mysteriously being decremented by 6 instead. i guess irq is running twice for some reason?
November 15, 2025 at 3:10 AM
so far i've already found out that the return address isn't being overwritten, instead the stack pointer is in the wrong location
November 15, 2025 at 2:42 AM
probably want this too
November 15, 2025 at 2:07 AM
also, to be clear, this isn't a winforms text box. i'm just using winforms to create the windows and receive keyboard input from them. this is my own monogame-specific ui framework
November 14, 2025 at 4:20 AM
i clear the inputs when focus is lost, so no need to worry about weird stuff happening when key up events aren't sent. this seems to be what monogame's keyboard class does anyways. i was able to play super mario bros from a secondary window, so it's probably responsive enough for debug windows
November 14, 2025 at 4:18 AM
i have a page for this project on my website, so you can read more there, and i'll update it once i make progress i'm happy with, which is tbd. maybe after i get smb3 working, maybe after i get the apu fully working, including dmc and fixing the crackling sounds, idk
November 10, 2025 at 9:43 PM
and all of this is to figure out why accuracycoin crashes when running the b flag test. after analysis, i found that the return address is getting corrupted, now i need to find out how. once i confirm that irq is working correctly, i'll implement mmc3 so the emulator can run super mario bros 3
November 10, 2025 at 9:38 PM
i'll want keyboard input, since the whole reason i'm doing this now is so i can create a memory viewer, and watch it as i advance a specific number of instructions from the trace logger, so i'll want to type in how far to advance. keyboard input doesn't work out of focus of the main window, though
November 10, 2025 at 9:37 PM
i've gotten mouse input working since monogame's mouse input doesn't actually care about window focus, which window is on top, or if the cursor is even in the window at all. so getting the cursor's position relative to any window is trivial, since i can get any window's position
November 10, 2025 at 9:35 PM
monogame's GameWindow.Create() function doesn't work, so i'm using forms windows instead. monogame does provide the SwapChainRenderTarget class, though, which lets me draw on these windows easily enough
November 10, 2025 at 9:33 PM
after having actually played a red gm map, my point still stands
August 20, 2025 at 10:37 PM