make hud a little faster

This commit is contained in:
Myramong
2018-09-16 12:02:23 -03:00
parent 10dfec6d4c
commit 7472adf9d3

View File

@@ -75,17 +75,19 @@ SEP #$30
LDX.b $06 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+4 ; draw 10's digit LDX.b $06 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+4 ; draw 10's digit
LDX.b $07 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+6 ; draw 1's digit LDX.b $07 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+6 ; draw 1's digit
LDA.l GoalItemRequirement : AND.w #$00FF : CMP.w #$00FF : BEQ .skip SEP #$20
LDA.w #$2830 : STA !GOAL_DRAW_ADDRESS+8 ; draw slash LDA.l GoalItemRequirement : CMP.b #$FF : BEQ .skip
LDA.l GoalItemRequirement LDA.l GoalItemRequirement
AND.w #$00FF JSR HudHexToDec3Digit
JSR HudHexToDec4Digit REP #$20
LDA.w #$2830 : STA !GOAL_DRAW_ADDRESS+8 ; draw slash
LDX.b $05 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+10 ; draw 100's digit LDX.b $05 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+10 ; draw 100's digit
LDX.b $06 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+12 ; draw 10's digit LDX.b $06 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+12 ; draw 10's digit
LDX.b $07 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+14 ; draw 1's digit LDX.b $07 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+14 ; draw 1's digit
BRA .done BRA .done
.skip .skip
REP #$20
LDA.w #$207F ; transparent tile LDA.w #$207F ; transparent tile
STA !GOAL_DRAW_ADDRESS+8 STA !GOAL_DRAW_ADDRESS+8
STA !GOAL_DRAW_ADDRESS+10 STA !GOAL_DRAW_ADDRESS+10
@@ -96,7 +98,7 @@ SEP #$30
; Draw Dungeon Compass Counts ; Draw Dungeon Compass Counts
;================================================================================ ;================================================================================
REP #$20 REP #$20
LDA.l CompassMode : AND #$00FF : BEQ + ; skip if CompassMode is 0. Saves LDA.l CompassMode : AND #$00FF : BEQ + ; skip if CompassMode is 0.
JSL.l DrawDungeonCompassCounts ; compasses.asm JSL.l DrawDungeonCompassCounts ; compasses.asm
+ +
@@ -180,18 +182,6 @@ SEP #$30
LDA !DrawMagicMeter_mp_tilemap+6, X : STA $7EC806 LDA !DrawMagicMeter_mp_tilemap+6, X : STA $7EC806
RTL RTL
;================================================================================ ;================================================================================
; 16-bit A, 8-bit X ; 16-bit A, 8-bit X
; in: A(b) - Byte to Convert ; in: A(b) - Byte to Convert
@@ -202,23 +192,23 @@ HudHexToDec4Digit:
- -
CMP.w #1000 : !BLT + CMP.w #1000 : !BLT +
INY INY
!SUB.w #1000 : BRA - SBC.w #1000 : BRA -
+ +
STY $04 : LDY #$90 ; Store 1000s digit & reset Y STY $04 : LDY #$90 ; Store 1000s digit & reset Y
- -
CMP.w #100 : !BLT + CMP.w #100 : !BLT +
INY INY
!SUB.w #100 : BRA - SBC.w #100 : BRA -
+ +
STY $05 : LDY #$90 ; Store 100s digit & reset Y STY $05 : LDY #$90 ; Store 100s digit & reset Y
- -
CMP.w #10 : !BLT + CMP.w #10 : !BLT +
INY INY
!SUB.w #10 : BRA - SBC.w #10 : BRA -
+ +
STY $06 : LDY #$90 ; Store 10s digit & reset Y STY $06 : LDY #$90 ; Store 10s digit & reset Y
CMP.w #1 : !BLT +
- -
CMP.w #1 : !BLT +
INY INY
DEC : BNE - DEC : BNE -
+ +
@@ -235,17 +225,17 @@ HudHexToDec3Digit: ; this may be overkill, could have used the 4 digit one...
- -
CMP.b #100 : !BLT + CMP.b #100 : !BLT +
INY INY
!SUB.b #100 : BRA - SBC.b #100 : BRA -
+ +
STY $05 : LDY.b #$90 ; Store 100s digit and reset Y STY $05 : LDY.b #$90 ; Store 100s digit and reset Y
- -
CMP.b #10 : !BLT + CMP.b #10 : !BLT +
INY INY
!SUB.b #10 : BRA - SBC.b #10 : BRA -
+ +
STY $06 : LDY #$90 ; Store 10s digit and reset Y STY $06 : LDY #$90 ; Store 10s digit and reset Y
CMP.b #1 : !BLT +
- -
CMP.b #1 : !BLT +
INY INY
DEC : BNE - DEC : BNE -
+ +
@@ -262,11 +252,11 @@ HudHexToDec2Digit:
- -
CMP.b #10 : !BLT + CMP.b #10 : !BLT +
INY INY
!SUB.b #10 : BRA - SBC.b #10 : BRA -
+ +
STY $06 : LDY #$90 ; Store 10s digit and reset Y STY $06 : LDY #$90 ; Store 10s digit and reset Y
CMP.b #1 : !BLT +
- -
CMP.b #1 : !BLT +
INY INY
DEC : BNE - DEC : BNE -
+ +