aboutsummaryrefslogtreecommitdiff
path: root/console.s
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2021-04-03 18:14:50 -0400
committerB. Watson <yalhcru@gmail.com>2021-04-03 18:14:50 -0400
commit38fbe6b269192f151aeb9f171a895520d0fd6479 (patch)
treedbd4342aa5775e398fbac2112e2d25a05712a7c6 /console.s
parent05374f05f17e28fd3e1f37e573ecacafe37f497f (diff)
downloadtaipan-38fbe6b269192f151aeb9f171a895520d0fd6479.tar.gz
Turbo fight mode, initial implementation
Diffstat (limited to 'console.s')
-rw-r--r--console.s22
1 files changed, 22 insertions, 0 deletions
diff --git a/console.s b/console.s
index 8ca93c2..af044d2 100644
--- a/console.s
+++ b/console.s
@@ -11,6 +11,7 @@
.importzp destptr ; from draw_lorcha.s
.importzp sreg
.import _cprintulong, _cputc, _cprint_taipan, _timed_getch, _orders
+ .import _turbo
.ifdef CART_TARGET
.segment "HIGHCODE"
@@ -256,13 +257,34 @@ _plus_or_space:
; extern void set_orders(void);
_set_orders:
+ lda _turbo ; in turbo fight mode?
+ beq @sowait ; no, so wait like usual
+ lda CH ; turbo = yes, did user hit a key?
+ cmp #$ff
+ bne @sowait ; yes, wait like usual
+ rts
+@sowait:
+ lda #0
+ sta _turbo
jsr _timed_getch
+ ;cmp #$46 ; is it capital F?
+ ;beq @soturbo
+ ;cmp #$52 ; or capital R?
+ ;bne @sonoturbo
+ cmp #$60 ; capital letter?
+ bcs @sonoturbo ; nope, disable turbo
+@soturbo:
+ ora #$20 ; convert to lowercase
+ sta _turbo ; enable turbo
+ ;;; sta COLOR4 ; for debugging
+@sonoturbo:
ldx #3
@solp:
cmp orders_tbl-1,x
beq @returnx
dex
bne @solp
+ stx _turbo ; invalid order, disable turbo
rts
@returnx:
stx _orders