mirror of
https://github.com/nathanriggs/AppleIIAsm-Collection.git
synced 2024-06-15 00:29:31 +00:00
- massive overhaul of architecture - first round of optimizations - first draft of the technical manual for the entire library - reorganization of directory structure
50 lines
1.3 KiB
Plaintext
50 lines
1.3 KiB
Plaintext
*
|
|
*``````````````````````````````*
|
|
* SINPUT (NATHAN RIGGS) *
|
|
* *
|
|
* INPUT *
|
|
* *
|
|
* NONE *
|
|
* *
|
|
* OUTPUT: *
|
|
* *
|
|
* .X = LENGTH OF STRING *
|
|
* RETURN = STRING TYPED *
|
|
* RETLEN = LENGTH OF STRING *
|
|
* *
|
|
* DESTROY: AXYNVBDIZCMS *
|
|
* ^^^^^ ^^ *
|
|
* *
|
|
* CYCLES: 60+ *
|
|
* SIZE: 45 BYTES *
|
|
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
|
|
*
|
|
]STRLEN EQU VARTAB ; 1 BYTE
|
|
*
|
|
SINPUT
|
|
*
|
|
LDX #$00
|
|
JSR GETLN
|
|
STX ]STRLEN ; STORE STR LENGTH
|
|
CPX #0 ; IF LEN = 0, EXIT
|
|
BNE :INP_CLR
|
|
STX RETLEN
|
|
STX RETURN
|
|
JMP :EXIT
|
|
:INP_CLR
|
|
LDA ]STRLEN ; LENGTH OF STRING
|
|
STA RETURN ; STRING LENGTH FIRST BYTE
|
|
STA RETLEN ; PUT LENGTH + 1 HERE
|
|
INC RETLEN
|
|
LDX #255
|
|
LDY #0
|
|
:LOOP
|
|
INX
|
|
INY
|
|
LDA KEYBUFF,X ; PUT STR INTO NEW LOC
|
|
STA RETURN,Y
|
|
CPX ]STRLEN ; IF Y < STR LENGTH
|
|
BNE :LOOP ; LOOP; ELSE, EXIT
|
|
:EXIT
|
|
RTS
|