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: