diff options
Diffstat (limited to 'console.s')
-rw-r--r-- | console.s | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -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 |