' ========================================================================= ' ' File....... Menu.BS2 ' Purpose.... ' Author..... Jon Williams -- Parallax, Inc. ' E-mail..... jwilliams@parallax.com ' Started.... ' Updated.... DD MMM YYYY ' ' {$STAMP BS2} ' {$PBASIC 2.5} ' ' ========================================================================= ' -----[ Program Description ]--------------------------------------------- ' -----[ Revision History ]------------------------------------------------ ' -----[ Conditional Definitions ]----------------------------------------- ' -----[ I/O Definitions ]------------------------------------------------- ' -----[ Constants ]------------------------------------------------------- ' -----[ Variables ]------------------------------------------------------- char VAR Byte vPos VAR Byte hPos VAR Byte vCount VAR Word hCount VAR Word ' -----[ EEPROM Data ]----------------------------------------------------- MoveH DATA Word 150 ' a DATA Word 150 ' b DATA Word 150 ' c DATA Word 1000 ' d DATA Word 150 ' e DATA Word 160 ' f DATA Word 170 ' g DATA Word 180 ' h DATA Word 190 ' i DATA Word 250 ' j MoveV DATA Word 300 ' 0 DATA Word 225 ' 1 DATA Word 750 ' 2 DATA Word 1000 ' 3 DATA Word 1500 ' 4 DATA Word 110 ' 5 DATA Word 175 ' 6 DATA Word 180 ' 7 DATA Word 290 ' 8 DATA Word 2000 ' 9 ' -----[ Initialization ]-------------------------------------------------- Reset: ' -----[ Program Code ]---------------------------------------------------- Main: DO GOSUB Menu ' get user input READ (MoveH + (hPos * 2)), Word hCount ' read from tables READ (MoveV + (vPos * 2)), Word vCount DEBUG CRSRXY, 31, 0, CLREOL, DEC hCount, CRSRXY, 31, 1, CLREOL, DEC vCount, CRSRXY, 0, 4, "Press a key..." DEBUGIN char LOOP END ' -----[ Subroutines ]----------------------------------------------------- Menu: DEBUG CLS, "Vertical movement (A - J)..... ", CR, "Horizontal movement (0 - 9)... " DEBUG CRSRXY, 31, 0 DEBUGIN hPos DEBUG CRSRXY, 31, 1 DEBUGIN DEC1 vPos LOOKDOWN hPos, ["aAbBcCdDeEfFgGhHiIjJ"], hPos IF (hPos > 19) THEN Menu hPos = hPos / 2 RETURN