Re: A83: Blinking
[Prev][Index][Thread]
Re: A83: Blinking
Alan C Johnson wrote:
> Try my routine! This is kind of complicated. E-mail me if you don't
> understand
>
> ;----------------Direct Input Equates----------------
>
> RstKey .equ 0ffh
>
> Group_1 .equ 0feh
>
> KDown .equ 254
> KLeft .equ 253
> KRight .equ 251
> KUp .equ 247
>
> Group_2 .equ 0fdh
>
> KEnter .equ 254
> KPlus .equ 253
> KMinus .equ 251
> KMul .equ 247
> KDiv .equ 239
> KPower .equ 223
> KClear .equ 191
>
> Group_3 .equ 0fbh
>
> kMinus2 .equ 254
> kThree .equ 253
> kSix .equ 251
> kNine .equ 247
> kRbracket .equ 239
> kTan .equ 223
> kVars .equ 191
>
> Group_4 .equ 0f7h
>
> KPoint .equ 254
> KTwo .equ 253
> KFive .equ 251
>
> KEight .equ 247
> KLbracket .equ 239
> KCos .equ 223
> KPrgm .equ 191
> KStat .equ 127
>
> Group_5 .equ 0efh
>
> KZero .equ 254
> KOne .equ 253
> KFour .equ 251
> KSeven .equ 247
> KComma .equ 239
> KSin .equ 223
> KMatrx .equ 191
> KX .equ 127
>
> Group_6 .equ 0dfh
>
> KSto .equ 253
> KLn .equ 251
> KLog .equ 247
> kX2 .equ 239
> kX-1 .equ 223
> kMath .equ 191
> kAlpha .equ 127
>
> Group_7 .equ 0bfh
>
> KGraph .equ 254
> KTrace .equ 253
>
> KZoom .equ 251
> KWindow .equ 247
> KY .equ 239
> k2nd .equ 223
> kMode .equ 191
> kDel .equ 127
>
> Group1 .equ Group_1
> Group2 .equ Group_2
> Group3 .equ Group_3
> Group4 .equ Group_4
> Group5 .equ Group_5
> Group6 .equ Group_6
> Group7 .equ Group_7
>
> ; Title Blink
>
> ; Replace this comment with whatever otherinfo you want
> ; displayed along with the title
>
> Flash:
> ld de,10000 ; DE is the timer
> ld a,b ; B is the inverse text flag (B=1 or 0)
> xor 1 ; If B=0, 1->b, vice versa: Is B 0 ; (All in a 1 byte
> instruction)
> call z,NormFlash ; Yes: Display Normal text
> call nz,InvFlash ; No: Display Inverse text
>
> ;----------------Key/Flash Delay----------------
>
> KeyDelay:
> ld a,RstKey ; Reset Keyport
> out (1),a ; Send to Keyport
how about this instead
call Reset
Reset:
ld a,RstKey
out (1),a
ret
it would save you a few bytes total
>
>
> ld a,Group2 ; Set Keyport to Group2
> out (1),a ; Send to Keyport
> in a,(1) ; Get Keypress in a
same with this call GET_PORT
GET_PORT:
out (1),a
in a,(1)
ret
> cp KCLEAR ; Is it Clear?
> jp z,EndOfGame ; Yes: Quit
>
> ld a,RstKey ; Reset Keyport
> out (1),a ; Send to Keyport
>
> ld a,Group7 ; Set Keyport to Group7
> out (1),a ; Send to Keyport
> in a,(1) ; Get Keypress in a
> cp k2nd ; Is it 2nd
> jp z,GameStart ; Yes: Start game
>
> cp kMode ; Is it Mode?
> jp z,Options ; Yes: Options Menu
>
> dec de ; DE-1->DE
> ld a,d
> or e ; Is DE 0?
> jp nz,KeyDelay ; No: Delay/Getkey again
> jp Flash ; Yes: Goto Flash
>
> ;----------------Display Title Routines----------------
>
> NormFlash:
> res textInverse,(iy+textFlags)
> call DispTitle
> ret
> InvFlash:
> set textInverse,(iy+textFlags)
> call DispTitle
> ret
> DispTitle:
> push af
> call _homeup
> ld hl,Title
> call _puts
> pop af
> ret
>
> >
> >Yet another question hoping to get answered :) How do the blinking
> >letters
> >in galaxian or penguins in the title picture work. I looked at the
> >source
> >but there is a lot going on there and it is hard to find.
> >
> >From: Chris
> >mecad@scv.net
> >
> >
>
> _____________________________________________________________________
> You don't need to buy Internet access to use free Internet e-mail.
> Get completely free e-mail from Juno at http://www.juno.com
> Or call Juno at (800) 654-JUNO [654-5866]
References: