message.a65

     1:  ; KERNAL system essages
     2:  
     3:  LMESSAGES:
     4:  
     5:  StrIoError:
     6:          .byte   ASC_CR
     7:          htasc   "I/O ERROR #"           ; used in case an I/O error occurs in a KERNAL routine, and zNSGFLG.6 is set
     8:  
     9:  StrSearching:
    10:          .byte   ASC_CR
    11:          htasc   "SEARCHING "            ; used when loading, and zNSGFLG.7 is set
    12:  
    13:  StrFor:
    14:          htasc   "FOR "                  ; used when loading with a file name, and zNSGFLG.7 is set
    15:  
    16:  StrPlay:
    17:  
    18:  .ifdef JIFFY
    19:  
    20:  StrRecPlay = $F0EB
    21:  
    22:  JDLF0D8:
    23:          lda     #$00
    24:          sta     VIC + VICII_O_SprEnable
    25:  @JDLF0DD:
    26:          adc     #$01
    27:          bne     @JDLF0DD
    28:          rts
    29:  
    30:  JDLF0E2:
    31:          lda     zPTR2
    32:  JDLF0E4:
    33:          pha
    34:          jsr     kCLRCHN
    35:          pla
    36:          tax
    37:          jmp     kCHKIN
    38:  
    39:  JDLF0ED:
    40:          lda     #$00
    41:          sta     zTSFCNT
    42:          jmp     IecDataClear
    43:  
    44:  JDLF0F4:
    45:          txa
    46:          pha
    47:          jsr     JDLF7A2
    48:          pla
    49:          tax
    50:  @JDLF0FB:
    51:          lda     JDLF398,x
    52:          jsr     kCHROUT
    53:          inx
    54:          dey
    55:          bne     @JDLF0FB
    56:          rts
    57:  
    58:  .else
    59:  
    60:  .if CompileComputer = C64_SX64
    61:  
    62:          ; the SX64 does not have a tape, thus, "PRESS PLAY ON TAPE" is not needed there
    63:          ; However, it redefines the Shift+Run/STOP message. This alternative message
    64:          ; can be found here:
    65:  
    66:  TEXT_LOAD_8_RUN:
    67:          .byte   "LOAD",'"',":*",'"',",8",ASC_CR
    68:          .byte   "RUN",ASC_CR
    69:  END_TEXT_LOAD_8_RUN:
    70:  
    71:  .else
    72:          .byte   ASC_CR,"PRESS PLAY ON " ; used when loading from tape (on the 4064, zNSGFLG.7 has to be set, too)
    73:  .endif
    74:          htasc   "TAPE"                  ; remaining part of the "PRESS PLAY ON TAPE" message
    75:  
    76:  StrRecPlay:
    77:          htasc   "PRESS RECORD & PLAY ON TAPE"   ; used when storing to tape (on the 4064, zNSGFLG.7 has to be set, too)
    78:  
    79:  .endif
    80:  
    81:  StrLoading:
    82:          .byte   ASC_CR
    83:          htasc   "LOADING"               ; used when KERNAL LOAD is executed, and zNSGFLG.7 is set
    84:  
    85:  StrSaving:
    86:          .byte   ASC_CR
    87:          htasc   "SAVING "               ; used when KERNAL SAVE is executed, and zNSGFLG.7 is set
    88:  
    89:  StrVerifying:
    90:          .byte   ASC_CR
    91:          htasc   "VERIFYING"             ; used when KERNAL VERIFY is executed, and zNSGFLG.7 is set
    92:  
    93:  StrFound:
    94:          .byte   ASC_CR
    95:          htasc   "FOUND "                ; used when loading from tape
    96:  StrOk:
    97:          .byte   ASC_CR,"OK",ASC_CR + $80        ; used when loading from or storing to tape (on the 4064, zNSGFLG.7 has to be set, too)
    98:  
    99:  
   100:  OutputMessageIfAllowed:
   101:          bit     zNSGFLG                 ; check KERNAL output policy
   102:          bpl     OutputMessage_ClcRts    ; bit 7 unset -> policy forbids output -> branch, all done
   103:  
   104:  OutputMessage:
   105:          lda     LMESSAGES,y             ; get character from message
   106:          php                             ; remember status (especially N, which represents bit 7 of the message)
   107:  
   108:          and     #$7F                    ; delete bit 7 (which acts as an end marker)
   109:          jsr     kCHROUT                 ; output the character
   110:          iny                             ; proceed to next character
   111:  
   112:          plp                             ; get back N as indicator for bit 7 of the message
   113:          bpl     OutputMessage           ; bit 7 was not set -> process to next character
   114:  
   115:  OutputMessage_ClcRts:
   116:          clc                             ; mark: no error
   117:          rts
   118:          ; -------------------
Valid XHTML 1.0 Strict
message.a65.html; generated on Fri Sep 18 21:44:54 2015 by ca65html
uz@cc65.org