diff --git a/definitions.asm b/definitions.asm index 995b30c..412e3af 100644 --- a/definitions.asm +++ b/definitions.asm @@ -25,6 +25,8 @@ TextBackgroundColor = $02 ; REAL constans - use: LDA #TextBackgroundColor TextForegroundColor = $0A space = 0 ; space in screencodes +KeyRepeatSpeed = 15 ; (max 127 !!!) + ;character codes for symbols (tank, parachute, etc. ) char_parachute_______ = $02 char_flag____________ = $1e diff --git a/scorch.asm b/scorch.asm index 0117c05..c0eb67a 100644 --- a/scorch.asm +++ b/scorch.asm @@ -26,7 +26,7 @@ ;--------------------------------------------------- icl 'definitions.asm' ;--------------------------------------------------- - + .zpvar DliColorBack .byte = $63 .zpvar xdraw .word = $64 ;variable X for plot .zpvar ydraw .word ;variable Y for plot (like in Atari Basic - Y=0 in upper right corner of the screen) .zpvar xbyte .word @@ -1674,22 +1674,27 @@ getkeyend ;-------------------------------------------------- .proc WaitForKeyRelease ;-------------------------------------------------- + mva #128-KeyRepeatSpeed pressTimer ; tricky +StillWait + bit pressTimer + bmi KeyReleased lda STICK0 and #$0f cmp #$0f - bne WaitForKeyRelease + bne StillWait lda STRIG0 - beq WaitForKeyRelease + beq StillWait .IF TARGET = 800 lda SKSTAT cmp #$ff - bne WaitForKeyRelease + bne StillWait lda CONSOL and #%00000110 ; Select and Option only cmp #%00000110 - bne WaitForKeyRelease - rts + bne StillWait .ENDIF +KeyReleased + rts .endp ;-------------------------------------------------- .proc IsKeyPressed ; A=0 - yes , A>0 - no diff --git a/scorch.bin b/scorch.bin index 952afa4..1836cd1 100644 Binary files a/scorch.bin and b/scorch.bin differ diff --git a/scorch.xex b/scorch.xex index 2763941..e591325 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/variables.asm b/variables.asm index 18988b2..9098334 100644 --- a/variables.asm +++ b/variables.asm @@ -414,8 +414,6 @@ ResultX ;ResultY .DS 1 ResultOfTankNr .DS 1 -DliColorBack - .ds 1 ;---------------------------------------------------- ;PutChar4x4 diff --git a/weapons.asm b/weapons.asm index fd1e5f8..7aafbf7 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1419,7 +1419,7 @@ pressedSpace lda #0 sta ATRACT ; reset atract mode sta pressTimer ; reset - jsr WaitForKeyRelease + jsr WaitForKeyRelease.StillWait lda pressTimer cmp #25 ; 1/2s bcc fire