X-Git-Url: http://git.subgeniuskitty.com/vvhitespace/.git/blobdiff_plain/f969012f20e1d28118c4589dcc3d6ef689214533..f0e3023da0dabbd199dedfd00b84deb75bca8578:/examples/wump/wump_ui.pvvs diff --git a/examples/wump/wump_ui.pvvs b/examples/wump/wump_ui.pvvs index 455e30d..88ff4b0 100644 --- a/examples/wump/wump_ui.pvvs +++ b/examples/wump/wump_ui.pvvs @@ -58,6 +58,49 @@ TNSS | PUTCHAR TNSS | PUTCHAR NTN | RTS +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@ Name: +@ move_or_shoot +@ Description: +@ Parse user input, branching to the appropriate subroutine to move or shoot. +@ This function does not perform any boundary checks/limits. +@ Call Stack: +@ +@ Return Stack: +@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#include +NSSVTSTSSSTSN | MARK: 10100010 (move_or_shoot) + +NSTTSSTTSSTN | JSR > 10011001 (get_line) + +@ Examine the first character of the user input buffer for 'm' or 's'. +@ If character is something else, prompt user to try again. +SSSTTSSSSSSSSSSSSN | PUSH 0x3000 (USER_INPUT_BUFFER address) +TTT | LOAD +SSSSTTSTTSTN | PUSH 109 (ASCII 'm') +TSST | SUBTRACT +NTSTSTSSSTSSSSSSSSSN | BRZ > 10100010 00000000 (move) +SSSTTSSSSSSSSSSSSN | PUSH 0x3000 (USER_INPUT_BUFFER address) +TTT | LOAD +SSSSTTTSSTTN | PUSH 115 (ASCII 's') +TSST | SUBTRACT +NTSTSTSSSTSSSSSSSSTN | BRZ > 10100010 00000001 (shoot) +NSTTTTTTTTTSSSSTSSSN | JSR > 11111111 00001000 (problem_with_input) +SSSSN | PUSH 0 (number of string substitutions) +NSTTSSSN | JSR > 1000 (printf) +NSNTSTSSSTSN | JMP > 10100010 (move_or_shoot) + +@ User typed 'm' +NSSVTSTSSSTSSSSSSSSSN | MARK: 10100010 00000000 (move) +@ TODO: JSR move +NTN | RTS + +@ User typed 's' +NSSVTSTSSSTSSSSSSSSTN | MARK: 10100010 00000001 (shoot) +@ TODO: JSR shoot +NTN | RTS + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Name: @ get_answer @@ -90,7 +133,7 @@ TTT | LOAD SSSSTTSTTTSN | PUSH 110 (ASCII 'n') TSST | SUBTRACT NTSTSSTTSSSSSSSSSSTN | BRZ > 10011000 00000001 (answer: no) -NSTTTTTTTTTSSSSTSSSN | JSR > 11111111 00001000 (problem_with_yes_no_answer) +NSTTTTTTTTTSSSSTSSSN | JSR > 11111111 00001000 (problem_with_input) SSSSN | PUSH 0 (number of string substitutions) NSTTSSSN | JSR > 1000 (printf) NSNTSSTTSSSN | JMP > 10011000 (get_answer)