wandering.shop is one of the many independent Mastodon servers you can use to participate in the fediverse.
Wandering.Shop aims to have the vibe of a quality coffee shop at a busy SF&F Convention. Think tables of writers, fans and interested passers-by sharing drinks and conversation on a variety of topics.

Server stats:

784
active users

#sonic2

0 posts0 participants0 posts today
Capheind the Decker<p>Does <a href="https://social.sdf.org/tags/Sonic2" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Sonic2</span></a> 2-player mode just not play well with <a href="https://social.sdf.org/tags/Emulation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Emulation</span></a>?</p>
video games skies and skylinesSonic the hedgehog 2 (Master System) (1992)<br> .<br> <a href="https://pixelfed.social/discover/tags/sonic?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#sonic</a> <a href="https://pixelfed.social/discover/tags/Sonicthehedgehog?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#Sonicthehedgehog</a> <a href="https://pixelfed.social/discover/tags/Sonicthehedgehog2?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#Sonicthehedgehog2</a><br> <a href="https://pixelfed.social/discover/tags/sonic2?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#sonic2</a> <a href="https://pixelfed.social/discover/tags/sega?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#sega</a> <a href="https://pixelfed.social/discover/tags/segamastersystem?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#segamastersystem</a> <a href="https://pixelfed.social/discover/tags/mastersystem?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#mastersystem</a> <a href="https://pixelfed.social/discover/tags/8bit?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#8bit</a> <a href="https://pixelfed.social/discover/tags/8bitgames?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#8bitgames</a> <a href="https://pixelfed.social/discover/tags/videogames?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#videogames</a> <a href="https://pixelfed.social/discover/tags/gaming?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#gaming</a> <a href="https://pixelfed.social/discover/tags/games?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#games</a> <a href="https://pixelfed.social/discover/tags/retrogaming?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#retrogaming</a> <a href="https://pixelfed.social/discover/tags/retrogames?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#retrogames</a> <a href="https://pixelfed.social/discover/tags/arcade?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#arcade</a> <a href="https://pixelfed.social/discover/tags/aesthetic?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#aesthetic</a> <a href="https://pixelfed.social/discover/tags/backgrounds?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#backgrounds</a> <a href="https://pixelfed.social/discover/tags/gamebackgrounds?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#gamebackgrounds</a> <a href="https://pixelfed.social/discover/tags/clouds?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#clouds</a> <a href="https://pixelfed.social/discover/tags/sky?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#sky</a> <a href="https://pixelfed.social/discover/tags/pixelart?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#pixelart</a> <a href="https://pixelfed.social/discover/tags/pixelaesthetic?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#pixelaesthetic</a> <a href="https://pixelfed.social/discover/tags/VGArt?src=hash" class="u-url hashtag" rel="nofollow noopener" target="_blank">#VGArt</a>
Anisse<p>Sonic 2 wasn't starting at all in my <a href="https://social.treehouse.systems/tags/GameGear" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameGear</span></a> <a href="https://social.treehouse.systems/tags/emulator" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>emulator</span></a>. It seemed like there was some kind of infinite loop. I looked at how the game behaved in <a href="https://social.treehouse.systems/tags/Emulicious" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Emulicious</span></a>, another (closed-source) emulator with great debugging capability.</p><p>I noticed something weird on my emulation: after a HALT, the VDP interrupt would wake-up the CPU, it would be handled and return. But when returning it jumped straight into the previous HALT instruction (!), meaning it looped and never moved forward. I fixed this by implementing the missing PC increment, and it fixed the startup of <a href="https://social.treehouse.systems/tags/Sonic2" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Sonic2</span></a>!</p><p>Later, I went looking at another game that didn't start: Global Gladiators. I figured it might be something related with an infinite loop. I went to the frame that looped, and noticed something similar: a loop reading from the VDP V Counter (or line counter), waiting for it to be 0xC0. But it never happened ! Because at 0xC0, the VDP raised an interrupt and by the time the interrupt was handled, the VDP already had processed a few other lines. So the code looped, waiting for an event that never happened. Emulicious seemed to send the interrupt at 0xC1, contrary to what the official Game Gear manual said would happen; but Charles McDonald's VDP documentation from 2002 said it *should* happen 0xC1. So I simply fixed it by using this same value. But something tells me there might be other timing-related bugs hiding here. At least I can now play on of the greatest games of the platform 😉 </p><p>In the end, this untested interrupt code is the source of multiple bugs... I need to find a way to write simple test for these.</p><p><a href="https://social.treehouse.systems/tags/gears" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gears</span></a> <a href="https://social.treehouse.systems/tags/EmulatorDevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>EmulatorDevelopment</span></a> <a href="https://social.treehouse.systems/tags/GlobalGladiators" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GlobalGladiators</span></a> <a href="https://social.treehouse.systems/tags/McDonalds" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>McDonalds</span></a> <a href="https://social.treehouse.systems/tags/projects" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>projects</span></a></p>