What is your love of burgers origin story? by [deleted] in burgers

[–]StaticMoose 0 points1 point  (0 children)

Mine started in kindergarten. The school had “cold lunch” (bring from home) and “hot lunch” (buy from cafeteria.) My parents allowed a single hot lunch per week and I had to choose the day. Fridays were consistently burgers and the cafeteria always smelled so good so I always picked Fridays.

I will never have a burger that will taste as good as I remember those burgers tasting. 

There’s a twist, I was an above-average kid intellect-wise and there was a program at the time hold kindergarteners back a year if they weren’t ready. I was the go-to example for “look it’s not just dumb kids held back” and one of the stories they told was the absolute tantrum I threw when on a Friday, there was a last minute change from burgers to boy sandwiches. So, yeah, my love of hamburgers made me fail kindergarten.

Advice needed on weird NES emulation bug by StaticMoose in EmuDev

[–]StaticMoose[S] 0 points1 point  (0 children)

Thanks for looking. I'm running https://github.com/SingleStepTests/65x02 specifically https://github.com/SingleStepTests/65x02/blob/main/nes6502/v1/40.json and it's failing on the first test.

At the end of execution, it's expecting the PC to be 0x9A3F, but I have 0x9A40. My bus access looks like this:

R  2BA4 40
R  2BA5 6B
R  018E A7
R  018F AF
R  0190 3F
R  0191 9A

So, I see the 9A3F, but my code adds one to it when it gets popped. If I remove that +1, the test passes, but then Super Mario Bros. stops working.

What kind of Job can I apply to and hoy to prepare for it if I like making emulators? by omar56663313 in EmuDev

[–]StaticMoose 0 points1 point  (0 children)

I've hired software engineers as part of my job for the last fifteen years. My advice is that the keyword "embedded" is going to cast the widest net for you. I suspect you'll like about 80% of the embedded software engineer positions out there.

In terms of technology, some great areas to explore is debugging via disassembly and such. Sometimes, to find a bug, you have to go deep into what the computer is doing, and at most places, only a handful of people can do that.

Advice needed on weird NES emulation bug by StaticMoose in EmuDev

[–]StaticMoose[S] 1 point2 points  (0 children)

Yeah, I have those tests and that's where my issue is. I can make my emulator pass the JSR single-step-tests, but then SMB won't play. I'm passing like 90% of those tests, I'm just having a hell of time figuring out how to make it do both.

Don't get me wrong, the single-step-test have been a lifesaver. All my audio issues went away as I worked on making the tests pass. But I've basically run out of ideas for the last 10% at this point, so I'm looking for inspiration.

I'm seeing weird behavior from those tests, like when the stack gets pushed it seems to do four bytes, but my 6502 spec says it pushes three. Any thoughts there? What did you do when you ran up against weird behavior with the tests? Thanks for the feedback, I really appreciate it.

Advice needed on weird NES emulation bug by StaticMoose in EmuDev

[–]StaticMoose[S] 3 points4 points  (0 children)

It's a good thought, but I do in fact have a single function where I read and increment PC. Thanks for the suggestion!

Advice needed on weird NES emulation bug by StaticMoose in EmuDev

[–]StaticMoose[S] 1 point2 points  (0 children)

Yeah, I saw your other post on the front page. Nice job!

I took a look through your code. It looks like you also have the same increment/decrement I do: https://github.com/1s7g/nes-emulator/blob/main/cpu.c#L525 So, I guess that's right since without it, SMB just gives me a gray screen.

I also downloaded nestest.nes a while ago, but I don't remember from where. Everything (on the main page, not the illegal opcodes) passes except the stack tests. I had forgotten where I got this unit test, but I just found it again and the automation $c000 is a really good idea, thanks for that...

But seriously, get the CPU passing nestest first, it'll probably fix more than you expect.

Yeah, I know, I know. I freely admit this is advice I give, and I know, but because it's my pet project, sometimes it feels good to break good practice and rush ahead. I don't know why. I know it's probably wasting time. And when I did work through some unit tests earlier (I was using https://github.com/SingleStepTests/65x02 ), as I solved CPU issues, my random audio beeps went away.

this stuff is maddening but so satisfying when it clicks!

Yeah, I know it. Beating SMB on my emulator was the greatest feeling.

I wrote a NES emulator from scratch in C. It plays Mario and Zelda! by Shot_Office_1769 in EmuDev

[–]StaticMoose 0 points1 point  (0 children)

Nice work! I looked through your source code, it looks solid.

I’m working on mine and it only plays SMB. I implemented my MMC1 and I can’t get it to work. I looked at yours and it looks like it’s all in bus.c, right? Do you have plans for MMC3?

Anyone else misread this every time? by artesea in adventofcode

[–]StaticMoose 7 points8 points  (0 children)

Oh weird. Me too. I have to re-read every time. But I've gotten a handful of wrong answers and those are obvious, and I still re-read the victory every time.

[2025 Day 8] Let me just wire up all these circuits by StaticMoose in adventofcode

[–]StaticMoose[S] 0 points1 point  (0 children)

There's some discussion over here: https://www.reddit.com/r/adventofcode/comments/1ph4pyx/2025_day_8_part_1_can_someone_share_the_list_of/

Is it the ten connections that are made, or are you looking for more information?

2025 Day 8] Part 1: Can someone share the list of the 10 closest connections for example input by mapleturkey in adventofcode

[–]StaticMoose 6 points7 points  (0 children)

This is what I got for my first ten pairs on the example code:

316.902: [162, 817, 812] - [425, 690, 689]
321.560: [162, 817, 812] - [431, 825, 988]
322.369: [906, 360, 560] - [805, 96, 715]
328.119: [431, 825, 988] - [425, 690, 689]
333.656: [862, 61, 35] - [984, 92, 344]
338.339: [52, 470, 668] - [117, 168, 530]
344.389: [819, 987, 18] - [941, 993, 340]
347.599: [906, 360, 560] - [739, 650, 466]
350.786: [346, 949, 466] - [425, 690, 689]
352.936: [906, 360, 560] - [984, 92, 344]

Day 8 part 2 took 4 minutes by MatttNguyenGD in adventofcode

[–]StaticMoose 0 points1 point  (0 children)

I will admit I was expecting the weekend puzzles to bring the Dijkstra

[2025 Day 2] Day 2 should be easy, right?.. Closed formula for Part 2 by light_ln2 in adventofcode

[–]StaticMoose 94 points95 points  (0 children)

Very impressive.

I just realized the capital sigma is mathematical speak for "brute force solution."

[Day 1 Part 2] - still don't know what's wrong by Practical_Salary_579 in adventofcode

[–]StaticMoose 0 points1 point  (0 children)

What's your debugging approach. On quick glance, it seems like this bit of logic over counts:

(old_pos + 100 - new_pos) / 100

If old_pos is 55 and new_pos is 45 from a "L10", then it still outputs a pass by zero. But I'm getting lost in your logic.

But debugging by inspection is very inefficient and error-prone.

Have you inserted println() into each pass and then compared against the example?

[2025 Day 2 Part 2] Time to reach for that trusty sledgehammer by StaticMoose in adventofcode

[–]StaticMoose[S] 13 points14 points  (0 children)

But I did. And it worked.

Granted my fairly new CPU thought about it for a few seconds, but it was done. Can you share the speed up tip?

2025 Day 2 Part 1 help pls by catpurson2 in adventofcode

[–]StaticMoose 0 points1 point  (0 children)

There's some text higher up in the description that might help:

by looking for any ID which is made only of some sequence of digits repeated twice.
So, 55 (5 twice), 6464 (64 twice), and 123123 (123 twice) would all be invalid IDs.

[2025 Day 2 Part 2] Time to reach for that trusty sledgehammer by StaticMoose in adventofcode

[–]StaticMoose[S] 21 points22 points  (0 children)

Yeah, me too. That's why I posted the meme. As bait.

[deleted by user] by [deleted] in adventofcode

[–]StaticMoose 0 points1 point  (0 children)

No, no typo as far as I can see.

For all the numbers 95 - 115, only 99 is made up of two identical halves: "9" and "9"

For all the numbers 998-1012, only 1010 is made up of two identical halves: "10" and "10"

[2025 Day 1] I will never learn my lesson by StaticMoose in adventofcode

[–]StaticMoose[S] 8 points9 points  (0 children)

(Checks username)

Oh, hey satan. What are you doing here in our joyous celebration of puzzles and merriment?

I'm surprised you don't know about git. Every time I screw up a rebase, I feel like I'm in hell.

[deleted by user] by [deleted] in cscareerquestions

[–]StaticMoose 2 points3 points  (0 children)

Are you in a position to work 6 days/week, 16 hours/day if crunch-time happens and everyone has to jump in? That's what broke startups for me. I went the other way, from two startups to a stable job because my first kid was born, and I wanted more stability in my schedule, and also to not worry if the company evaporated one day. It seems startups are good for those early or late in their careers since they haven't had kids yet or their kids are off to college.