Skip to content

Commit

Permalink
Fix sprite artifacts
Browse files Browse the repository at this point in the history
  • Loading branch information
grubbyplaya committed Mar 25, 2024
1 parent 3e39c89 commit fd42468
Show file tree
Hide file tree
Showing 20 changed files with 1,096 additions and 1,148 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
![](https://raw.githubusercontent.com/grubbyplaya/Sonic-2-CE/master/s2banner.png)

A currently unfinished port of the Sega Master System version of Sonic 2 to the TI-84+ CE.
A mostly complete port of the Sega Master System version of Sonic 2 to the TI-84+ CE.

So far, the game assembles into 32 appvars totaling 443 kilobytes in size. Every level works, but there are some image artifacts in some stages.
The game is 443 kilobytes in size. Make sure that every appvar and the launcher is loaded into archive memory, as the game will crash if any appvar is stored in RAM.

# Controls

Expand All @@ -20,7 +20,7 @@ Delete - Reset Game
- [x] Get the codebase to assemble using SPASM
- [x] Reimplement SMS mappers using appvars
- [x] Replace original 6bpp palettes with 16bpp approximations
- [x] Emulate the SMS VDP, rendering, caches, and all (~99% done)
- [x] Emulate the SMS VDP, rendering, caches, and all
- [x] Fix remaining runtime errors
- [ ] (MID PRIORITY) Get the game running at full speed
- [ ] (VERY LOW PRIORITY) expand the rendering area to fill the 84+ CE's screen
Binary file modified src/art/sonic/art_ucmp_sonic.bin
Binary file not shown.
Binary file modified src/art/sonic/art_ucmp_sonic_mirrored.bin
Binary file not shown.
Binary file modified src/bin/Sonic2.8xv
Binary file not shown.
Binary file modified src/bin/bank04.8xv
Binary file not shown.
Binary file modified src/bin/bank16.8xv
Binary file not shown.
Binary file modified src/bin/bank30.8xv
Binary file not shown.
Binary file modified src/bin/bank31.8xv
Binary file not shown.
Binary file modified src/bin/sonic2.8xp
Binary file not shown.
8 changes: 4 additions & 4 deletions src/includes/defines.asm
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@


; ---------------------------------------------------------
; Timing Definitions (based on 60hz display)
; Timing Definitions (based on 30hz display)
; ---------------------------------------------------------
#define Time_1Second 60
#define Time_2Seconds 120
#define Time_3Seconds 180
#define Time_1Second 30
#define Time_2Seconds 60
#define Time_3Seconds 90

; ---------------------------------------------------------
; Global Triggers Bitfield
Expand Down
4 changes: 2 additions & 2 deletions src/includes/player_states.asm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#define PlayerState_Standing $01
#define PlayerState_Idle $02 ;idle animation
#define PlayerState_Idle $02 ;idle animation
#define PlayerState_LookUp $03
#define PlayerState_Crouch $04
#define PlayerState_Walking $05
Expand All @@ -25,7 +25,7 @@
#define PlayerState_JumpFromRamp $1B ;e.g. in UGZ-3 before boss & when exiting SEZ/ALZ tube
#define PlayerState_DiagonalSpring $1C ;set after collision with diagonal spring
#define PlayerState_FallFromLoop $1D ;set if a player falls from loop (not moving fast enough).
#define PlayerState_Hurt $1E
#define PlayerState_Hurt $1E
#define PlayerState_LostLife $1F
#define PlayerState_EndOfLevel $20 ;Set at end of level. CPU controlled movement off of screen.
#define PlayerState_InPipe $21 ;Set in ALZ/SEZ on entering a pipe.
Expand Down
1 change: 1 addition & 0 deletions src/includes/ti_equates.asm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#define SegaTileCache pixelShadow
#define VRAM $D40000
#define VRAMEnd VRAM+((320*240)*2)
#define mpLcdTiming1 $E30004
#define mpLcdCtrl $E30018
#define mpLcdImsc $E3001C
#define mpLcdRis $E30020
Expand Down
Binary file modified src/layout/ghz/layout_ghz3.bin
Binary file not shown.
4 changes: 3 additions & 1 deletion src/level_select.asm
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,9 @@ LevelSelect_Values:
.db $06, $02 ;Crystal Egg Zone - Act 3

LevelSelect_MainLoop: ;0E46
call Engine_WaitForInterrupt
ei
halt
di
call _CheckInput
call _DrawCursor
ld a, (Engine_InputFlags)
Expand Down
2 changes: 1 addition & 1 deletion src/object_logic/bank30_logic.asm
Original file line number Diff line number Diff line change
Expand Up @@ -1417,7 +1417,7 @@ LABEL_B30_9826:
inc hl
ld (ix+$1e), l
ld (ix+$1f), h
ld de, $01e0
ld de, $00F0
xor a
sbc hl, de
ld a, h
Expand Down
Loading

0 comments on commit fd42468

Please sign in to comment.