Skip to main content
Typo' fix.
Source Link
TonyM
  • 4.7k
  • 1
  • 23
  • 35

UsingBy using the LF/CR sequence, the OSASCI routine flowscan flow into the OSWRCH routine found. The actual software in the MOS is as follows:

(This routine had already been used in their preceding Acorn Atom computer, at a different ROM call addressaddresses.)

Using the LF/CR sequence, the OSASCI routine flows into the OSWRCH routine found in the MOS is as follows:

(This routine had already been used in their preceding Acorn Atom computer, at a different ROM call address.)

By using the LF/CR sequence, the OSASCI routine can flow into the OSWRCH routine. The actual software in the MOS is as follows:

(This routine had already been used in their preceding Acorn Atom computer, at different ROM call addresses.)

Typo' fix.
Source Link
TonyM
  • 4.7k
  • 1
  • 23
  • 35

To write a character to the current stream, programs call the 'OS write character' function OSWRCH at address &FFEE. This just writes the byte in A while preserving all 6502 registers (A, X, Y). At &FFEE there's just an indirect jump through the WRCHWRCHV vector to the actual routine.

To write a character to the current stream, programs call the 'OS write character' function OSWRCH at address &FFEE. This just writes the byte in A while preserving all 6502 registers (A, X, Y). At &FFEE there's just an indirect jump through the WRCH vector to the actual routine.

To write a character to the current stream, programs call the 'OS write character' function OSWRCH at address &FFEE. This just writes the byte in A while preserving all 6502 registers (A, X, Y). At &FFEE there's just an indirect jump through the WRCHV vector to the actual routine.

Typo' fix.
Source Link
TonyM
  • 4.7k
  • 1
  • 23
  • 35
FFE0FFDF    OSASCI    CMP     #&0D       ;Do an OSWRCH unless this is a CR.
FFE1              BNE     &FFEE
FFE3              JSR     FFEE       ;Got a CR. Use OSWRCH to it first.   
FFE6              LDA     #&0A       ;Now use OSWRCH to write the LF second.
FFE8              JSR     FFEE
FFEB              LDA     #&0D       ;Restore A and exit.
FFED              RTS
FFEE    OSWRCH    JMP     (&020E)    ;Jump through vector to routine.
FFE0    OSASCI    CMP     #&0D       ;Do an OSWRCH unless this is a CR.
FFE1              BNE     &FFEE
FFE3              JSR     FFEE       ;Got a CR. Use OSWRCH to it first.   
FFE6              LDA     #&0A       ;Now use OSWRCH to write the LF second.
FFE8              JSR     FFEE
FFEB              LDA     #&0D       ;Restore A and exit.
FFED              RTS
FFEE    OSWRCH    JMP     (&020E)    ;Jump through vector to routine.
FFDF    OSASCI    CMP     #&0D       ;Do an OSWRCH unless this is a CR.
FFE1              BNE     &FFEE
FFE3              JSR     FFEE       ;Got a CR. Use OSWRCH to it first.   
FFE6              LDA     #&0A       ;Now use OSWRCH to write the LF second.
FFE8              JSR     FFEE
FFEB              LDA     #&0D       ;Restore A and exit.
FFED              RTS
FFEE    OSWRCH    JMP     (&020E)    ;Jump through vector to routine.
Source Link
TonyM
  • 4.7k
  • 1
  • 23
  • 35
Loading