Re: [stella] Video Chess player usage

Subject: Re: [stella] Video Chess player usage
From: Eckhard Stolberg <Eckhard_Stolberg@xxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 05 Jun 1999 16:32:03 +0200
Hello Glenn,

At 09:50 04.06.99 -0700, you wrote:
>
>Could someone good at disassembly tell me how the players are used in Video
>Chess?
>
>Is it two sets of doubled players?
>
>I've been emailing Bob Whitehead and even he doesn't remember that much.

Here is the code that displays one row of chess pieces. I hope
it's commented good enough for your task. If not, just ask again.

BTW, I read somewhere that you are going to interview Craig Nelson
and Dennis Caswell.

In the booklet for the first SC-CD it sais that none of the Starpath
programmers made it to Bridgestone. I just read a review for a PC game
named Battle Bugs, that Craig and Dennis did for Epyx in '94. The
game was later released through Dynamix/Sierra, but some in-game
graphics show the Epyx logo while the title screen sais 
'Copyright 1994, Bridgestone Mutimedia Group'. Maybe you can ask
them about this for the new CD.


Ciao, Eckhard Stolberg

p.s. Could you get some autographs from that interview session for me too
please. :-)
==============================================================================
PLAYER0 and PLAYER1 are set to two copies medium spacing.
PLAYER0 is positioned at pixel 51 (83).
PLAYER1 is positioned at pixel 67 (99).

PLAYER0 has the vertical delay turned on, which means register GRP0-1
will be displayed.
PLAYER1 has the vertical delay turned off, which means register GRP1-0
will be displayed.

The BALL is eight pixels wide and positioned at pixel 44. It gets
enabled for even chessboard rows to display the background for column A.

The PLAYFIELD is reflected. PF2 will be used for the chess board.
In even rows PF2 contains $98 which displays as ___xx__x x__xx___
In odd rows PF2 contains $66 which displays as  _xx__xx_ _xx__xx_

$CE/$CF is a pointer to the graphics for the chess piece in column A.
$FF holds the colour for the chess piece in coloumn A.
$CC/$CD is a pointer to the graphics for the chess piece in column B.
$FE holds the colour for the chess piece in coloumn B.
$CA/$CB is a pointer to the graphics for the chess piece in column C. 
$FD holds the colour for the chess piece in coloumn C.
$C8/$C9 is a pointer to the graphics for the chess piece in column D.
$FC holds the colour for the chess piece in coloumn D.
$C6/$C7 is a pointer to the graphics for the chess piece in column E.
$FB holds the colour for the chess piece in coloumn E.
$C4/$C5 is a pointer to the graphics for the chess piece in column F.
$FA holds the colour for the chess piece in coloumn F.
$C2/$C3 is a pointer to the graphics for the chess piece in column G.
$F9 holds the colour for the chess piece in coloumn G.
$C0/$C1 is a pointer to the graphics for the chess piece in column H.
$F8 holds the colour for the chess piece in coloumn H.

       LDY    #$05    ;2   counter for height of chess pieces (6 scanlines)
       LDA    ($CC),Y ;5   load graphics for piece in column B
       LSR            ;2   shift graphics right one pixel
       STA    GRP0    ;3   store to GRP0-0
LF1CF: LDA    $FE     ;3   load colour for piece in column B
       STA    COLUP0  ;3   store it
       STA    HMCLR   ;3   clear movement registers
       STA    WSYNC   ;3   new scanline
       STA    HMOVE   ;3   create HMOVE blank stripe
       JMP    LF209   ;3   start loop

LF1FE: LDA    ($CC),Y ;5   load graphics for column B
       LSR            ;2   shift graphics right one pixel
       STA    GRP0    ;3   store to GRP0-0
       LDA    $FE     ;3   load colour for column B
       STA    HMOVE   ;3   move PLAYER0 to pixel 51(83) and PLAYER1 to 67(99)
       STA    COLUP0  ;3   store colour for column B
LF209: LDA    ($C8),Y ;5   load graphics for column D
       LSR            ;2   shift graphics right one pixel
       STA    GRP1    ;3   store it to GRP1-0 (move GRP0-0 to GRP0-1)
       LDA    $FC     ;3   load colour for column D
       STA.w  $0007   ;4   store to COLUP1 with one extra cycle delay
       LDA    ($C4),Y ;5   load graphics for column F
       LSR            ;2   shift graphics right one pixel
       STA    GRP0    ;3   store it to GRP0-0
       LDA    ($C0),Y ;5   load graphics for column H
       LSR            ;2   shift right one pixel
       LDX    $FA     ;3   load colour for column F to x-register
       STX    COLUP0  ;3   store it at pixel 67
       STA    GRP1    ;3   change graphics for columns F and H at pixel 76
       LDX    $F8     ;3   load colour for column H
       STX    COLUP1  ;3   store it at pixel 94
       LDA    #$70    ;2   value to shift objects 7 pixels to the left
       STA    HMP0    ;3   prepare PLAYER0 for shift
       STA    HMP1    ;3   prepare PLAYER1 for shift
       LDA    $FF     ;3   load colour for coloumn A
       STA    COLUP0  ;3   store it
       LDX    $FB     ;3   load colour for column E to x-register
       STA    WSYNC   ;3   next scanline
       STA    HMOVE   ;3   move PLAYER0 to pixel 44(76) and PLAYER1 to 60(92)
       LDA    ($CE),Y ;5   load graphics for column A
       STA    GRP0    ;3   store it to GRP0-0
       LDA    ($CA),Y ;5   load graphics for column C
       STA    GRP1    ;3   store it to GRP1-1 (move GRP0-0 to GRP0-1)
       LDA    $FD     ;3   load colour for column C
       STA    COLUP1  ;3   store it
       LDA    ($C6),Y ;5   load graphics for column E
       STA    GRP0    ;3   store it to GRP0-0
       LDA    ($C2),Y ;5   load graphics for column G
       STX    COLUP0  ;3   change colour for column E at pixel 55
       LDX    $F9     ;3   load colour for column G to x-register
       STA    GRP1    ;3   change graphics for columns E and G at pixel 73
       STX    COLUP1  ;3   change colour for column G at pixel 82
       LDA    #$90    ;2   value to shift objects 7 pixels to the right 
       STA    HMP0    ;3   prepare PLAYER0 for shift
       STA    HMP1    ;3   prepare PLAYER1 for shift
       DEY            ;2   decrease graphics line counter
       BPL    LF1FE   ;2   all lines displayed? jump if not

clear graphics
shift chess board
enable/disable BALL
prepare graphic pointers and colours for next chess board row
loop to start until all eight rows have been displayed




--
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/

Current Thread