qbasic and modem
qbasic and modem
(OP)
can i write a game using qbasic and pressed phone keys with
dial up connection?
dial up connection?
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS Contact USThanks. We have received your request and will respond promptly. Come Join Us!Are you a
Computer / IT professional? Join Tek-Tips Forums!
*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail. Posting Guidelines |
|
Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.
Here's Why Members Love Tek-Tips Forums:
Register now while it's still free!
Already a member? Close this window and log in.
RE: qbasic and modem
I am betting that you could easily modify that to do what you want
RE: qbasic and modem
Are you wanting to use a land line for a game controller???
Never thought about doing that before
(I wonder if Direct X could recognize it as a game controller
Good Luck!
Have Fun, Be Young... Code BASIC

-Josh
http://cubee.topcities.com
PROGRAMMER: (n) Red-eyed, mumbling mammal capable of conversing with inanimate objects.
RE: qbasic and modem
DECLARE FUNCTION menu% () 'displays menu and accepts&returns input
DECLARE SUB waitforcall () 'waits for a call and connects when modem rings
DECLARE SUB callbbs () 'calls a place and connects
DECLARE SUB setmodemoption () 'sets modem option and saves it to a file
DECLARE SUB endprog () 'ends the program
DECLARE SUB connect () 'connects and handles output/input to/from modem
CONST HALT = 27
CLS
COLOR 6
DO
item% = menu%
SELECT CASE item%
CASE 1: waitforcall
CASE 2: callbbs
CASE 3: setmodemoption
CASE 4: endprog
END SELECT
LOOP UNTIL item% = 4
SYSTEM
SUB callbbs
COLOR 3
INPUT "Number to call: ", number$
opencom
PRINT #1, "ATDT" + number$
PRINT "Calling " + number$ + "...."
connect
END SUB
SUB connect
echo% = 0
PRINT "Start Typing when modems connect... Press <Esc> for options or to quit:"
PRINT
OPEN "CON" FOR OUTPUT AS #3
DO
ch$ = INKEY$
IF ch$ = CHR$(HALT) THEN 'if ESC pressed
PRINT "====== OPTIONS ======="
PRINT "1. Local echo on/off "
PRINT "2. Send HALT character (<ESC> by default)"
PRINT "3. Close port "
PRINT "4. Return to terminal "
SELECT CASE INPUT$(1)
CASE "1":
echo% = echo% XOR 1
between 0 and 1
PRINT "Local echo toggled. Returning to terminal...."
CASE "2":
PRINT #1, CHR$(HALT) PRINT "HALT character sent. Returning to terminal...."
CASE "3": EXIT DO
closes port
CASE "4":
pressing 4, but does X
CASE ELSE:
PRINT "Invalid option! Returning to terminal...."
END SELECT
ELSEIF ch$ <> "" THEN PRINT #1, ch$;
END IF
IF echo% = 1 THEN
PRINT #3, ch$;
ANSI.SYS, if avail
END IF
IF LOC(1) <> 0 THEN
inchar$ = INPUT$(1, #1)
ELSE
inchar$ = ""
END IF
PRINT #3, inchar$;
LOOP
CLOSE #1 'close the file once done
CLOSE #3 'close the screen of ANSI support
END SUB
SUB endprog
COLOR 7
PRINT "Ending Program."
END SUB
FUNCTION menu%
DO
COLOR 5
PRINT "==== BASTerm Menu ===="
PRINT " 1. Wait for a call "
PRINT " 2. Call somewhere "
PRINT " 3. Set Modem options "
PRINT " 4. End Program "
PRINT " Choose One: ";
LOCATE , , 1: ch$ = INPUT$(1)
PRINT : PRINT 'go to the next line then skip a line
LOOP UNTIL VAL(ch$) >= 1 AND VAL(ch$) <= 4
menu% = VAL(ch$) 'returns the typed option to the function's caller
END FUNCTION
SUB opencom
PRINT "Retrieving COM port data. Please hold."
OPEN "BASTerm.CFG" FOR INPUT AS #2
INPUT #2, comport$
CLOSE #2
OPEN comport$ + ",N,8,1,RB2048,TB2048" FOR RANDOM AS #1
END SUB
SUB setmodemoption
COLOR 2
INPUT "COM Port Number (1 or 2): ", portno$
INPUT "Modem Speed (300, 1200, 2400, etc): ", speed$
PRINT "Are The Settings Right? ";
ch$ = INPUT$(1)
IF ch$ = "Y" OR ch$ = "y" THEN
PRINT "Yes"
comport$ = "COM" + portno$ + ":" + speed$
OPEN "BASTerm.CFG" FOR OUTPUT AS #2
PRINT #2, comport$ 'store data
CLOSE #2 'close file
PRINT "Settings saved."
ELSE
PRINT "No" 'print No... something fancy here....
PRINT "Disregarding New Settings...."
END IF
PRINT
END SUB
SUB waitforcall
COLOR 3
opencom
PRINT #1, "ATS0=1"
connect
END SUB
This is the terminal program I told you about. In the connect SUB you should add your code for what you want to happen when certain characters come through.
I will be posting the whole of basterm.bas in the FAQ section for future quick-reference