Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- https://hiddenpalace.org/Sonic_the_Hedgehog_3_(Nov_3,_1993_prototype)
- https://tcrf.net/Proto:Sonic_the_Hedgehog_3
- https://www.youtube.com/watch?v=WCL-GZucUxA
- https://forums.sonicretro.org/index.php?threads/sonic-month-2019-sonic-3.38936/
- Interestingly, there are some source code bits for Star Trek: The Next Generation – Future's Past in this proto.
- 0xAFF0E
- ,WhichMessage
- Bra @DoneInput
- @InComingHail:
- Move.w #3,WhichMessage
- Bra @DoneInput
- @ImpulseDamaged:
- Move.w #4,WhichMessage
- Bra @DoneInput
- 0xBFAB4
- the screen.
- DMAScrollArrows:
- Subq.w #1,ArrowDelay ; Determine if arrow buffers or blanks should
- Bne.s @NoTogg ; be DMA'ed this makes the arrows flash.
- Move.w #15,ArrowDelay ; Reset delay between flashes.
- Eor.w #1,ArrowToggle ; Toggle between blanks and arrows.
- @NoTogg:
- Tst.w ArrowToggle ; Branch to relevent bit.
- Beq.s @ArrowsOff
- ; ====== Arrows on, DMA the buffers. ======
- Lea UpArrowBuffer,A0 ; Source.
- Lea ScrollBBase+(27*2)+(21*64),A1 ; Destination.
- Move.w #1,D0 ; Number of words.
- Move.l #VDP_VRAMWrite,D1 ; Set to write to VRAM.
- Moveq #2,D2 ; Auto increment.
- Jsr PushDMA ; Move characters to VRAM.
- Lea DownArrowBuffer,A0 ; Source.
- Lea ScrollBBase+(27*2)+(26*64),A1 ; Destination.
- Move.w #1,D0
- 0xCF970
- Lea ScrollBBase+($b*64)+(27*2),A1
- Jsr Word_2GVRAM
- Move.w #AsciiOffset+CHR_Palette0+CHR_HighPri,D5 ; Color is different if in impulse.
- Bra @DoneSeperators
- @NotImpulse:
- Move.w #AsciiOffset+CHR_Palette3+CHR_HighPri+'.',D0 ; Place decimal points and '/' seperators.
- Lea ScrollBBase+($5*64)+(28*2),A1
- Jsr Word_2GVRAM
- Lea ScrollBBase+($7*64)+(27*2),A1
- Jsr Word_2GVRAM
- Lea ScrollBBase+($d*64)+(28*2),A1
- Jsr Word_2GVRAM
- Move.w #AsciiOffset+CHR_Palette3+CHR_HighPri+'/',D0
- Lea ScrollBBase+($9*64)+(27*2),A1
- Jsr Word_2GVRAM
- Lea ScrollBBase+($b*64)+(27*2),A1
- Jsr Word_2GVRAM
- Move.w #AsciiOffset+CHR_Palette3+CHR_HighPri,D5 ; Set up character color.
- @DoneSeperators:
- Move.w CurrentDistance,D7 ; Get whole part of DISTANCE.
- Moveq #3,D6 ; Three characters.
- Moveq #'$',D2 ; Lead with a spaces.
- Lea ScrollBBase+($5*64)+(25*2),A1 ; Screen destination.
- Jsr PrintVal ; Print it.
- Move.w CurrentDistance+2,D7 ; Get fractional part of DISTANCE.
- Moveq #2,D6 ; Two digits.
- Move.w
- 0xDFEF3
- _No1,VIEW_NOT_FLIPPED,VIEW_SIZE_6
- Dc.b VIEW_PLANET10,VIEW_PAL_NoA,VIEW_FLIPPED,VIEW_SIZE_6
- Dc.b VIEW_PLANET4,VIEW_PAL_NoC,VIEW_FLIPPED,VIEW_SIZE_7
- Dc.b VIEW_PLANET10,VIEW_PAL_No1,VIEW_NOT_FLIPPED,VIEW_SIZE_7
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement