mirror of
https://github.com/nathanriggs/AppleIIAsm-Collection.git
synced 2025-01-19 03:30:55 +00:00
9849dbb5ea
items in disk folder will be updated automatically, whereas items in the source folder will be updated periodically due to having to manually sort through files to copy and paste
92 lines
2.7 KiB
Plaintext
92 lines
2.7 KiB
Plaintext
*
|
|
*``````````````````````````````*
|
|
* SINPUT :: SPECIAL INPUT *
|
|
* *
|
|
* INPUTS A STRING OF TEXT VIA *
|
|
* MONITOR HOOKS. MAC 255 CHARS *
|
|
*- -*
|
|
* CLOBBERS: *
|
|
* *
|
|
* FLAGS: ???----- REG: AXYM *
|
|
*- -*
|
|
* CYCLES: ??? *
|
|
* SIZE: *
|
|
*- -*
|
|
* USAGE: *
|
|
* LDA #>(ADDRESS) *
|
|
* PHA *
|
|
* LDA #<(ADDRESS) *
|
|
* PHA *
|
|
* JSR SINPUT *
|
|
*- -*
|
|
* ENTRY *
|
|
* *
|
|
* TOP OF STACK *
|
|
* *
|
|
* LOW BYTE OF RETURN ADDRESS *
|
|
* HI BYTE OF RETURN ADDRESS *
|
|
* LOW BYTE OF INPUT ADDRESS *
|
|
* HI BYTE OF INPUT ADDRESS *
|
|
*- -*
|
|
* EXIT *
|
|
* *
|
|
* TOP OF STACK *
|
|
* *
|
|
* LOW BYTE OF RETURN ADDRESS *
|
|
* HI BYTE OF RETURN ADDRESS *
|
|
* *
|
|
* A = LOW BYTE OF ADDRESS *
|
|
* X = LENGTH OF STRING *
|
|
* Y = LENGTH OF STRING *
|
|
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
|
|
*
|
|
SINPUT
|
|
*
|
|
** SAVE RETURN ADDRESS
|
|
*
|
|
PLA
|
|
STA :RETADR
|
|
PLA
|
|
STA :RETADR+1
|
|
*
|
|
** GET PARAMETERS
|
|
*
|
|
PLA
|
|
STA ADDR1 ; STORE IN ZERO
|
|
PLA ; PAGE
|
|
STA ADDR1+1
|
|
*
|
|
LDX #$00
|
|
JSR GETLN
|
|
STX :STRLEN ; STORE STR LENGTH
|
|
CPX #0
|
|
BEQ :EXIT
|
|
*
|
|
:INP_CLR
|
|
LDY #0
|
|
LDA :STRLEN ; LENGTH OF STRING
|
|
STA (ADDR1),Y ; PUT LENGTH AT START OF LOC
|
|
:LOOP
|
|
LDA KEYBUFF,Y ; PUT STR INTO NEW LOC
|
|
INY
|
|
STA (ADDR1),Y
|
|
CPY :STRLEN ; IF Y < STR LENGTH
|
|
BNE :LOOP ; LOOP; ELSE, CONTINUE
|
|
*
|
|
:EXIT
|
|
*
|
|
** RESTORE RETURN ADDRESS
|
|
*
|
|
LDA :RETADR+1
|
|
PHA
|
|
LDA :RETADR
|
|
PHA
|
|
*
|
|
RTS
|
|
*
|
|
** DATA
|
|
*
|
|
:STRLEN DS 1
|
|
:RETADR DS 2
|
|
*
|