
    REM
    REM Main program initialization and run loop
    REM

Initialize_Variables:
 U=255 : V=256 : BEGIN=7000H : ESC=27
 PTR_SAV=40F0H : PTR_MAX=PTR_SAV + 2 : FULL=0

Initialize_Pointer:
 XBY(PTR_SAV)=INT(BEGIN/V) : XBY(PTR_SAV+1) = BEGIN.AND.U

User_Menu:
 PRINT : PRINT "Press 'D' to Display the Data,"
 PRINT "      'C' to change the sample count,"
 PRINT "          or any other key to start the data logging."
 GOSUB Get_Char : PRINT

    REM CHECK FOR "r" OR "R" TO REPEAT DATA DUMP
 IF (G=44H).OR.(G=64H) THEN GOTO Data_Dump

    REM CHECK FOR "c" OR "C" TO REPEAT PARAMETER UPDATE
 IF (G=43H).OR.(G=63H) THEN GOTO Ask_Change_Pointer

    REM Check if the data has already been collected.
 IF FULL = 0 THEN GOTO Collect_Data

 PRINT "Data has already been collected. Overwrite? (Y/N)"
 GOSUB Get_Char : PRINT

    REM CHECK FOR "y" OR "Y" TO LOG DATA AGAIN
 IF (G=59H).OR.(G=79H) THEN GOTO Collect_Data
 GOTO User_Menu
