Custom_text_input - simondotm/stardot-wiki GitHub Wiki

Custom Text Input

This is a custom text input routine that I wrote since the BBC's standard INPUT command handles commas differently from what I needed.

The Code

  10 REM Custom text input example

  20 REM by Francis G. Loch

  30 

  40 DIM mc% 100

  50 DIM buffer% 255

  60 osasci=&FFE3

  70 osbyte=&FFF4

  80 osrdch=&FFE0

  90 FOR opt%=0 TO 2 STEP 2

 100 P%=mc%

 110[          OPT opt%

 120.getText

 130           LDA #2

 140           LDX #0

 150           JSR osbyte

 160           LDY #0

 170.loop

 180           JSR osrdch

 190           CMP #27

 200           BNE chkReturn

 210           LDA #13

 220           JSR osasci

 230           STA buffer%

 240           LDA #126

 250           JSR osbyte

 260           RTS

 270.chkReturn

 280           CMP #13

 290           BNE chkDelete

 300           JSR osasci

 310           STA buffer%,Y

 320           RTS

 330.chkDelete

 340           CMP #127

 350           BNE chkLimit

 360           CPY #0

 370           BEQ loop

 380           JSR osasci

 390           DEY

 400           JMP loop

 410.chkLimit

 420           CPY #255

 430           BEQ loop

 440           JSR osasci

 450           STA buffer%,Y

 460           INY

 470           JMP loop

 480]

 490 NEXT

 500 

 510 PRINT "Enter text: ";

 520 A$=FNgetText

 530 PRINT A$

 540 END

 550 

 560 DEF FNgetText

 570 CALL getText

 580 =$buffer%

Comment by J.G.Harston

But, that does exactly the same as INPUT LINE A$.

⚠️ **GitHub.com Fallback** ⚠️