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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [stella] Video Chess player usa, Eckhard Stolberg | Thread | Re: [stella] Video Chess player usa, Glenn Saunders |
Re: [stella] Save Mary/VCS, jvmatthe | Date | Re: [stella] Video Chess player usa, Glenn Saunders |
Month |