100 REMark ============================================= 110 REMark *** ZERO_2 Control program *** 120 REMark ver1.0, copyright  David Buckley, 11/1/86 121 REMark ver2.0, copyright  David Buckley, 31/1/86 122 REMark ver2.2, copyright  David Buckley, May 1988 130 REMark ver2.6 see below after CLEAR 140 REMark History 150 REMark ------- 160 REMark 2.4 2-6-94 penmtrcmd$ introduced, <20 too fast 161 REMark 2.5 7Aug06 get_cmnd_val gave 0 for cmnd_val$>'999' 162 REMark 2.6 9Dec06 get_cmnd_val test >9999 removed, range test put in FD,BK,RT,LT 163 REMark homing$, unwinding$ flags added, maxTurn, maxRange added 164 REMark PROC ErrorMsg added 170 REMark --------------------------------------------- 180 REMark * PROGRAM * 190 : 200 CLEAR 210 prog_version$ = '2.6' 215 REMark directory$ ='win1_zero2_' 216 directory$ ='dos2_QL_Z2_' 220 coldinit 230 : 240 REMark * END PROGRAM * 250 REMark ============================================== 260 : 270 REMark Area for USER procedures 310 DEFine PROCedure demo 530 DEFine PROCedure wiggle 690 DEFine PROCedure squarish (d) 860 DEFine PROCedure test 890 REMark ============================================== 900 REMark *** Start of SYSTEM PROCEDURES AREA 910 REMark ============================================= 920 REMark *** INITIALISATION PROCEDURES *** 930 REMark --------------------------------------------- 940 DEFine PROCedure init_globals 1630 DEFine PROCedure coldinit 1760 DEFine PROCedure zinit :REMark USER entry 2180 REMark ============================================= 2190 REMark *** ERROR RECOVERY *** 2200 REMark ---------------------------------------------- 2210 DEFine PROCedure oops :REMark USER entry 2460 REMark ============================================= 2470 REMark *** USER ASSISTANCE *** 2480 REMark --------------------------------------------- 2490 DEFine PROCedure QUIT :REMark USER entry 2550 DEFine PROCedure help :REMark USER entry 2760 DEFine PROCedure exit_help 2820 DEFine FuNction fn_wait_key$(msg$) 2930 DEFine FuNction strip_spaces$ ( word$ ) 3040 DEFine PROCedure alert :REMark USER entry 3100 DEFine PROCedure buzz :REMark USER entry 3150 REMark ============================================= 3160 REMark *** PROCESSING LINK *** 3170 REMark --------------------------------------------- 3180 DEFine PROCedure processing_link (cmnd$,cmnd_code,cmnd_value) 3190 REMark link robot control procedures to other processes 3270 REMark ============================================= 3280 REMark *** ROBOT-CONTROL PROCEDURES *** 3290 REMark --------------------------------------------- 3300 DEFine PROCedure robot_whereabouts (cmnd_code, cmnd_value) 3310 REMark calculate robots new co-ordinates 3450 REMark --------------------------------------------- 3460 REMark * USER PROCEDURES * 3470 REMark --------------------------------------------- 3480 DEFine PROCedure home :REMark USER entry 3780 DEFine PROCedure unwind :REMark USER entry 3940 DEFine PROCedure ihome :REMark USER entry 4050 DEFine PROCedure sb(cmnd_value) :REMark USER entry 4130 DEFine PROCedure jc :REMark USER entry 4430 DEFine PROCedure FD(cmnd_value) :REMark USER entry 4560 DEFine PROCedure BK(cmnd_value) :REMark USER entry 4690 DEFine PROCedure RT(cmnd_value) :REMark USER entry 4820 DEFine PROCedure LT(cmnd_value) :REMark USER entry 4950 DEFine PROCedure peninit :REMark USER entry 5100 DEFine PROCedure pd :REMark USER entry 5190 DEFine PROCedure pu :REMark USER entry 5280 DEFine PROCedure rl(cmnd_value) :REMark USER entry 5440 DEFine PROCedure ll(cmnd_value) :REMark USER entry 5600 DEFine PROCedure ls(cmnd_value) :REMark USER entry 5720 DEFine PROCedure hl(cmnd_value) :REMark USER entry 5880 DEFine PROCedure hh(cmnd_value) :REMark USER entry 6040 DEFine PROCedure ho :REMark USER entry 6130 DEFine PROCedure hn(cmnd_value) :REMark USER entry 6250 DEFine PROCedure wt(cmnd_value) :REMark USER entry 6330 DEFine PROCedure hoot( cmnd_value ) :REMark USER entry 6510 DEFine PROCedure flsh( cmnd_value ) :REMark USER entry 6690 DEFine PROCedure flht( cmnd_value ) :REMark USER entry 6840 REMark ============================================= 6850 REMark *** SHORT-TERM-MEMORY PROCEDURES *** 6860 REMark --------------------------------------------- 6870 DEFine PROCedure learn :REMark USER entry 6950 DEFine PROCedure nolearn :REMark USER entry 7030 DEFine PROCedure forget :REMark USER entry 7110 DEFine PROCedure remember_move (cmnd$) 7190 DEFine PROCedure rlist :REMark USER entry 7240 DEFine PROCedure ralter :REMark USER entry 7460 DEFine PROCedure rfix :REMark USER entry 7550 REMark ============================================= 7560 REMark * SHORT-TERM MEMORY TESTING * 7570 REMark --------------------------------------------- 7580 DEFine PROCedure replay :REMark USER entry 7630 DEFine PROCedure bplay :REMark USER entry 7680 DEFine PROCedure do_steps ( direction ) 8140 DEFine PROCedure rstep :REMark USER entry 8600 DEFine PROCedure unlearn :REMark USER entry 8750 REMark ============================================= 8760 REMark *** GENERAL MEMORY PROCEDURES *** 8770 REMark --------------------------------------------- 8780 DEFine PROCedure mlist :REMark USER entry 8900 DEFine PROCedure list_cmnds (title_msg$, cmnd_list$) 9250 DEFine PROCedure exec_cmnd (cmnd_string$) 9670 DEFine FuNction get_cmnd_num ( cmnd$, name_len ) 9820 DEFine FuNction get_cmnd_val (cmnd$,cmnd_num,name_len) 9970 DEFine PROCedure exec_reverse_cmnd (cmnd_string$) 10330 REMark ============================================= 10340 REMark *** LONG-TERM-MEMORY PROCEDURES *** 10350 REMark --------------------------------------------- 10360 DEFine PROCedure mnames :REMark USER entry 10410 DEFine PROCedure mexec :REMark USER entry 10650 DEFine PROCedure exec_routine (cmnd_num) 10790 DEFine FuNction get_routine_start ( cmnd_num ) 10910 DEFine FuNction get_routine_length (cmnd_num ) 10980 DEFine PROCedure mget :REMark USER entry 11130 DEFine FuNction get_cmnd_list$ (name$) 11290 DEFine PROCedure rsave :REMark USER entry 11660 DEFine PROCedure get_routines 11840 REMark ============================================= 11850 REMark *** DISPLAY PROCESING PROCEDURES *** 11860 REMark --------------------------------------------- 11870 DEFine PROCedure init_windows 12820 DEFine PROCedure display_moves(cmnd$) 12890 DEFine PROCedure learning_screens (state) 13140 DEFine PROCedure learning_msg 13230 DEFine PROCedure no_learning_msg 13290 DEFine PROCedure help_scrn 13360 DEFine PROCedure help_scrn_1 13620 DEFine PROCedure help_scrn_2 13850 DEFine PROCedure help_scrn_2a 14000 DEFine PROCedure help_scrn_3 14190 DEFine PROCedure help_scrn_3a 14440 DEFine PROCedure imap :REMark USER entry 14720 DEFine PROCedure cmap :REMark USER entry 14920 DEFine PROCedure drg_scrn 14980 DEFine PROCedure draw_move (cmnd_code, cmnd_value) 15110 DEFine PROCedure print_robot_position 15280 DEFine PROCedure draw_robot 15605 DEFine PROCedure ErrorMsg(errortxt$,errorval) :REMark [2.6]