Chess

Date: 198x
Type: Cassette
Platform(s): TS 1000
Tags: Chess

This chess program stores its entire game engine as Z80 machine code packed into the REM statement at line 1, with only two additional BASIC lines needed: a SLOW command to enable the display driver and a RAND USR X call to transfer execution into the machine code. Chess piece abbreviations Q, R, B, N, P, K are visible within the REM, likely corresponding to piece-type identifiers encoded in the engine’s data tables.


Related Products

A good introduction to chess. Full graphic representation of the chess board is included. Single level of play.
All legal moves including castling and en passant. High resolution graphics and 6 levels of play are supported.

Image Gallery

Source Code

   1 REM  FASTVAL LN [V]▝###=C RUN LN [X]▛#AT VAL [T]C▞£( IF AT / SCROLLAT  LPRINT #TAN ▘1▒LN ▙RNDF:ALN ▙RND7#CHR$ 0#:"[J]▟( CLEARLEN #F[-]##A##▞▘ NEW# RETURN C=▖ RETURN#C? RETURNBS"#▖IR▚ACS #C▝▞ ##TAN ▘" COPY PRINT  PLOT  POKE £\~~$ NEXT + FOR * DIM  RUN \,,"\~~£QRBNP[J]M#RND# NEW# RETURNPC#:▘▞▒5 SCROLLRND RETURNNC-I TO  RETURNKC(# RETURNQC"▞▖ RETURNRC▌I STOP RETURNB""#▚ PRINT  FASTVAL  RETURNZS2 RETURN[=]K,LN [V]RND RETURN▝K< PRINT LN [$]PI LET  RETURN C\~~AT  LPRINT # RETURN▘C▌ LET / AND AT  LPRINT  LET 7(PEEK TAN # NEW█5 SLOWRND4▝I LET -▀#▚ FAST PRINT  RETURNZS4 RETURN[=]K0LN [V]RND RETURN C0 RETURN▘4)# RETURN▘4£LN [$]PI# RETURN#S< RETURN#K? LET  LPRINT F+4ABS TAN # RETURN▘CODE [$]PI/ LET  LET  LPRINT #/VAL  FASTVAL STR$  FASTVAL #5RNDRNDLN 8▛LN \~~##▜# LET LN \~~# LPRINT LN /#K▘█# LPRINT SGN ## FASTSTR$ LN /#K▘[(] PRINT LN  RUN PILN ▘PIAT K▝▖▖SGN  LPRINT # LPRINT LN  IF PILN /#K▘▌LN  IF PILN  RUN PI#5WRND# FOR 5INKEY$ RND[Y]**▘▌ /"5#RND)#RND▘0 S▘ FOR  GOSUB [K]TAN UR#LEN K5Y## GOSUB [L]F6█RND▞#5Y#7 FASTVAL #LN [Z]RND RETURN 4;LN  RUN PI#LN  RUN RNDLN  RUN PILN ▙PIC\~~E█RND[X]4 PRINT AT  LPRINT RTAN AT  LPRINT (**[B]TAN ▞▌Y▒5[3]#7#( UNPLOT LN [4]RND RETURN▀4 INPUT 6▛RND#LN  RUN RND5[5]#LN [4]RND RETURN▝ FOR K>=LN ▙PICNOT [T]4 SAVE LN  COPYPI OR LN ▘PI OR S▒LN  FOR PILN [-]PI/TAB ##>/ RAND 5#RNDP#WCOS ▐##TAN 5#RNDO#▐##TAN [J]MINKEY$ RND▞#5Y#7 FASTVAL #LN [Z]RND RETURN▀4D#6▛RNDLN  RUN RNDLN ▙PIC1#-#LN  COPYPI OR [B]LN  PAUSE INKEY$ LN ▘PI OR ##>S▀LN [;]INKEY$ RLN  PAUSE INKEY$ / THENAT  LPRINT (COS UINKEY$ RND RETURN C RETURN5#RND#FF#-#>F##ACS #Q█C▝Q LN  RUN PITAN 5R##LEN █#TAN E▛RND,##Q >#TAN  NEW#5 PAUSE RND▞▌[Y]COS 7( CLS#TAN # OR M█RNDLN (PI OR #TAN 
   2 SLOW
   3 RAND USR X

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.