Products: 1K Chess, Chess and Chess Clock
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.
Content
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.