Skip to content

Commit

Permalink
hold: Introduce some reasonable graphics
Browse files Browse the repository at this point in the history
  • Loading branch information
ejona86 committed Jul 28, 2021
1 parent 1f35d8e commit fd2d24f
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 5 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ build/highscores.ips: build/highscores.o build/ips.o
build/highscores.nes: build/tetris.nes

hold: build/hold.nes
build/hold.o: build/tetris.inc
build/hold.o: build/tetris.inc build/hold_game.nam.stripe
build/hold.ips.cfg: build/hold.o
build/hold.ips: build/hold.o build/ips.o
build/hold.nes: build/tetris.nes
Expand Down
30 changes: 26 additions & 4 deletions hold.s
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

.include "ips.inc"
.include "build/tetris.inc"
.include "tetris-tbl.inc"

; $FF for no hold
savedPiece := $005B
Expand All @@ -13,6 +14,11 @@ player1_savedPieceLocked := $007C
player2_savedPiece := $009B
player2_savedPieceLocked := $009C

.segment "NAMETABLE"
ips_segment "NAMETABLE",game_nametable,$460

.incbin "build/hold_game.nam.stripe"

.segment "GAME_INIT"
ips_segment "GAME_INIT",$8707

Expand Down Expand Up @@ -72,7 +78,6 @@ playState_playerControlsActiveTetrimino_mod:
lda savedPieceLocked
bne @ret

inc savedPieceLocked
lda #$00
sta autorepeatY
sta tetriminoY
Expand All @@ -87,6 +92,7 @@ playState_playerControlsActiveTetrimino_mod:
sta savedPiece
bmi @noOldPiece

inc savedPieceLocked
stx currentPiece
@ret:
rts
Expand All @@ -110,13 +116,29 @@ stageSpriteForSavedPiece:
jsr loadSpriteIntoOamStaging ; from stageSpriteForNextPiece
lda #$28
sta spriteXOffset
lda #$37
lda #$30
sta spriteYOffset
ldx savedPiece
bmi @ret
bmi @showHold
lda orientationToSpriteTable,x
sta spriteIndexInOamContentLookup
jmp loadSpriteIntoOamStaging
@ret:

@showHold:
ldx oamStagingLength
ldy #$00
@byte: lda @holdSprites,y
sta oamStaging,x
iny
inx
cpy #4*4
bne @byte
stx oamStagingLength
rts

@holdSprites:
set_tbl CHR01+CHR_RIGHT
.byte $34,"H",$03,$20
.byte $34,"O",$03,$28
.byte $34,"L",$03,$30
.byte $34,"D",$03,$38
Binary file added hold_game.nam
Binary file not shown.

0 comments on commit fd2d24f

Please sign in to comment.