22 min

How to write a text input routine in Commodore BASIC Jay's Commodore Podcast

    • Technology

In this screencast I’ll show you how to write your own INPUT routine in Commodore BASIC. This comes in handy when you want to reject certain keys from being used when asking users for keyboard input. In my example I’m going to allow all alpha characters (A-Z), as well as SPACE, RETURN and the DELETE key.

Here’s the code:

.gist table { margin-bottom: 0; }



























This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.

Learn more about bidirectional Unicode characters



Show hidden characters



























5 print







10 w$=""







20 print "(greater than)_";







30 get a$:if a$="" then 30







40 a=asc(a$)







50 if a=13 then 200:rem return







60 if a=32 then 110:rem space







70 if a=20 then 300:rem backspace







100 if a90 then 30







110 print chr$(20);a$;"D";







115 w$=w$+a$







120 goto 30







200 rem handle return







210 print chr$(20)







215 if w$="" then print:print"you typed







nothing!":end







220 print:print"you typed:":print w$







230 end







300 rem handle backspace







305 if len(w$)=0 then 30







310 print chr$(20);chr$(20);"D";







320 w$=left$(w$,len(w$)-1)







330 goto 30













view raw



input.bas



hosted with ❤ by GitHub

In this screencast I’ll show you how to write your own INPUT routine in Commodore BASIC. This comes in handy when you want to reject certain keys from being used when asking users for keyboard input. In my example I’m going to allow all alpha characters (A-Z), as well as SPACE, RETURN and the DELETE key.

Here’s the code:

.gist table { margin-bottom: 0; }



























This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.

Learn more about bidirectional Unicode characters



Show hidden characters



























5 print







10 w$=""







20 print "(greater than)_";







30 get a$:if a$="" then 30







40 a=asc(a$)







50 if a=13 then 200:rem return







60 if a=32 then 110:rem space







70 if a=20 then 300:rem backspace







100 if a90 then 30







110 print chr$(20);a$;"D";







115 w$=w$+a$







120 goto 30







200 rem handle return







210 print chr$(20)







215 if w$="" then print:print"you typed







nothing!":end







220 print:print"you typed:":print w$







230 end







300 rem handle backspace







305 if len(w$)=0 then 30







310 print chr$(20);chr$(20);"D";







320 w$=left$(w$,len(w$)-1)







330 goto 30













view raw



input.bas



hosted with ❤ by GitHub

22 min

Top Podcasts In Technology

The Instagram Stories - Social Media News
The Instagram Stories, Daniel Hill
Lex Fridman Podcast
Lex Fridman
Whatsapp
Rami AP
TikTok
Catarina Vieira
Thinking Crypto News & Interviews
Tony Edward
Darknet Diaries
Jack Rhysider