Sonic and Sega Retro Message Board: Clownacy - Viewing Profile - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help

Group:
Tech Member: Tech Members
Active Posts:
312 (0.42 per day)
Most Active In:
Engineering & Reverse Engineering (226 posts)
Joined:
06-July 13
Profile Views:
9790
Last Active:
User is online 14 minutes ago
Currently:
Viewing Board Index

My Information

Member Title:
Needs to make an avatar
Age:
Age Unknown
Birthday:
August 22
Gender:
Male Male
Location:
Englandland

Contact Information

E-mail:
Private

Previous Fields

National Flag:
uk
SA2 Emblems:
5

Latest Visitors

Posts I've Made

  1. In Topic: Some changes and fixes for Sonic 2

    11 July 2015 - 08:02 PM

    (Ripped largely from ReadySonic)

    Ever get snared in a bridge while in debug mode? Obviously, those things don't make any attempt to avoid interacting with the player while in debug mode, while many other objects do.

    First up, let's fix up the debug object itself: go to Debug_Init and, below the 'move.b #AniIDSonAni_Walk,anim(a0)', add this:

    	btst	#3,status(a0)	; is Sonic standing on an object?
    	beq.s	+		; if not, branch
    	bclr	#3,status(a0)	; clear Sonic's standing flag
    	move.b	interact(a0),d0	; get object ID
    	clr.b	interact(a0)	; clear object ID
    	lsl.w	#6,d0
    	addi.w	#Object_RAM,d0
    	movea.w	d0,a2
    	bclr	#3,status(a2)	; clear object's standing flag
    +
    


    Since Sonic and certain objects keep track of if they're being touched, and what by, we need to clear all that when entering debug mode. Without this additional fix, our fix would cause another bug where bridges stay deformed when entering debug mode.

    Next up, the bridge itself. sub_F872 is what handles deforming the bridge, and changing the player's Y position accordingly. Since AI Tails doesn't enter debug mode with the player, we don't want to ignore the entire subroutine; only the part involving the main character.

    Above 'lea (MainCharacter).w,a1', add this check:

    	tst.w	(Debug_placement_mode).w
    	bne.s	+++
    


    Now we need to mess with those annoying nameless labels. Add a '+' before the 'rts', and change the 'blo.s ++' to 'blo.s +++'.
  2. In Topic: Bunnie In Sonic 1

    11 July 2015 - 07:02 AM

    Why release something with a day-1 bug list?
  3. In Topic: Sonic 2 Clone Driver v2

    09 July 2015 - 07:09 AM

    Here's an update that's been collecting dust since April.

    v2.3
    • Made FadeOutSFX use d6 instead of d7, so that it doesn't conflict with Sound_PlayBGM
    • Optimised PSG envelopes with more efficient use of flags
    • Made previous version's bugs toggleable with Fix_DriverBugs
    • Added Valley Bell's Sega chant pan fix
    • Added Valley Bell's 0 FM track fix
    • Added Valley Bell's cfFadeInToPrevious PSG noise type fix
    • Added a (commented out) call to FadeOutSpecSFX in Sound_PlayBGM
    • Un-commented-out the calls under Sound_PlayBGM
    • S2-ified FadeOutSFX
    • Corrected StopSoundAndMusic comment
    • Improved cfFadeInToPrevious FM6 fix
    • Reduced RAM usage by employing a trick from S&K's driver: the SFX/special SFX share RAM with the 1up music backup
    • Switched to using 'STRUCT' to define track RAM
    • Defined driver RAM with phase/ds.b combo
    • Split v_1up_ram_copy into v_1up_ram_copy and v_1up_variables (variables now go after tracks)
    • As part of the SFX/track backup share, the playback control bytes of all tracks are separately backed-up
    • Made Sound_PlayBGM's extra life code clear the special SFX tracks' 'is playing' bit
    • Special SFX code above FMDACInitBytes now uses tst.b instead of tst.w
    • Moved v_special_voice_ptr back next to v_voice_ptr (RAM is dynamic now, so it can go here without wasting any RAM if unused)
    • Made continuous SFX RAM toggleable
    • Reduced zTrack size to $2E by changing LoopCounters from 4 bytes to 2 bytes, as S&K's driver has it
    • Reduced zTrack size to $2C with some track-specific RAM usage
    • FinishTrackUpdate no longer clears VolFlutter on non-PSG tracks
    • Removed now-useless label (loc_721B6)


    Anyhow, this is a major update because of the massive RAM improvement (and it's about time the v2.2.X line died off).

    Now, where's my feedback saying that I'm a god that should be worshipped?
  4. In Topic: Basic Questions & Answers thread

    07 July 2015 - 02:10 PM

    Wouldn't updating CRAM mid-frame cause those VDP dots to appear onscreen?
  5. In Topic: Basic Questions & Answers thread

    06 July 2015 - 06:30 AM

    I tried once, a long time ago. At the time, it seemed unfixable.

    In LevelSelect_DrawIcon, the plane mappings are updated, and then the palette is. Problem is, updating the plane doesn't work like updating a sprite, where the change only appears on the screen towards the end of the frame, rather, it updates immediately, before the palette update, which, itself, takes affect during V-Int.

Friends