PRIVATE &password ; <- @keyword ; ^ @variable.builtin ENTRY &password ; <- @keyword ; ^ @variable.parameter ENTRY %LINE &salt ; <- @keyword ; ^ @constant.builtin ; ^ @variable.parameter IF "&password"=="" ; <- @keyword.conditional ; ^ @string ; ^ @variable.builtin ; ^ @operator ( ECHO "Failed to provide password." ENDDO ; ^ @keyword.return ) ELSE ; <- @keyword.conditional ( PRIVATE &pass &pass=FALSE() ; ^ @function.builtin WHILE !&pass ; ^ @operator ( GOSUB verify_password "&password" ; ^ @function.call RETURNVALUES &pass ; ^ @variable.parameter WAIT 10.ms ; ^ @number.float ) IF !&pass GOTO fail ; ^ @label ELSE IF &debug ; ^ @keyword.conditional ; ^ @keyword.conditional ( GOSUB start_debug ; ^ @function.call ) ) LOCAL &num ; ^ @variable.builtin &num = 2. ; ^ @number RePeaT &num PRINT "Password: &password" ; ^ @variable.builtin ; ^ @variable.builtin WinCLEAR FramePOS ,,,,Maximized ; ^ @punctuation.delimiter ; ^ @constant.builtin WinPOS 0% 50% 100% 35% ; ^ @number.float COVerage.ListFunc ENDDO fail: ; <- @label PRINT %ERROR "Password verification failed." END ; ^ @keyword.return verify_password: ; <- @function ( PARAMETERS &password ; ^ @variable.parameter SYStem.Option.KEYCODE "&password" SYStem.JtagClock 1kHz ; ^ @number.float SYStem.Mode.Attach Data.Set N: EAXI:0x34000000 %Long 0x34000100 0x34000021 /verify ; ^ @constant.builtin ; ^ @constant.builtin ; ^ @number ; ^ @constant.builtin ; ^ @number ; ^ @constant.builtin RETURN TRUE() ; ^ @keyword.return ) SUBROUTINE start_debug ; <- @keyword.function ; ^ @function ( COVerage.ListModule %MULTI.OBC \sieve ; ^ @keyword ; ^ @constant.builtin ; ^ @variable Var.DRAW flags[0..16] /Alternate 3 ; ^ @keyword ; ^ @variable ; ^ @constant.builtin ; ^ @number Go main RETURN ; ^ @keyword.return ) // vim: set ft=t32: