.. ./release/rr/docs/c64-kernal.s

File last touched at: 24.09.2003

 
eCFFF           =     $cfff               ;(0000)
getadr          =     $b7f7               ;(0000)
eBBD4           =     $bbd4               ;(0000)
eBBCA           =     $bbca               ;(0000)
mov2f           =     $bbc7               ;(0000)
negop           =     $bfb4               ;(0000)
e03A9           =     $03a9               ;(0000)
e3FA9           =     $3fa9               ;(0000)
e07A9           =     $07a9               ;(0000)
movfm           =     $bba2               ;(0000)
eB79E           =     $b79e               ;(0000)
e0330           =     $0330               ;(0000)
e0332           =     $0332               ;(0000)
e032C           =     $032c               ;(0000)
e0328           =     $0328               ;(0000)
e032A           =     $032a               ;(0000)
e0324           =     $0324               ;(0000)
e0326           =     $0326               ;(0000)
e0320           =     $0320               ;(0000)
e0322           =     $0322               ;(0000)
strout          =     $ab1e               ;(0000)  output string (ptr in a/y)
e031C           =     $031c               ;(0000)
e031E           =     $031e               ;(0000)
BRKVEC          =     $0318               ;(0000)  Kernal BRK Ptr
e031A           =     $031a               ;(0000)
IRQVEC          =     $0314               ;(0000)  Kernal IRQ Ptr
NMIVEC          =     $0316               ;(0000)  Kernal NMI Ptr
e0315           =     $0315               ;(0000)
e0310           =     $0310               ;(0000)
e0311           =     $0311               ;(0000)
e0312           =     $0312               ;(0000)
fdivt           =     $bb0f               ;(0000)
e030F           =     $030f               ;(0000)
e030C           =     $030c               ;(0000)
e030D           =     $030d               ;(0000)
e030E           =     $030e               ;(0000)
synerr          =     $af08               ;(0000)
fdiv            =     $bb07               ;(0000)
e0300           =     $0300               ;(0000)
eAEFD           =     $aefd               ;(0000)
mldvex          =     $bad4               ;(0000)
eBAB9           =     $bab9               ;(0000)
e02A9           =     $02a9               ;(0000)
e06A9           =     $06a9               ;(0000)
e02A5           =     $02a5               ;(0000)
e02A6           =     $02a6               ;(0000)
e02A4           =     $02a4               ;(0000)
frestr          =     $b6a3               ;(0000)
e02A1           =     $02a1               ;(0000)
e02A2           =     $02a2               ;(0000)
e02A0           =     $02a0               ;(0000)
e02A3           =     $02a3               ;(0000)
e029D           =     $029d               ;(0000)
e029E           =     $029e               ;(0000)
e029C           =     $029c               ;(0000)
e029F           =     $029f               ;(0000)
e0298           =     $0298               ;(0000)
e029B           =     $029b               ;(0000)
e0299           =     $0299               ;(0000)
e029A           =     $029a               ;(0000)
e0294           =     $0294               ;(0000)
e0297           =     $0297               ;(0000)
e0296           =     $0296               ;(0000)
e0295           =     $0295               ;(0000)
e0291           =     $0291               ;(0000)
e0290           =     $0290               ;(0000)
e0292           =     $0292               ;(0000)
e0293           =     $0293               ;(0000)
eAE91           =     $ae91               ;(0000)
stxpt           =     $a68e               ;(0000)
e028F           =     $028f               ;(0000)
e028C           =     $028c               ;(0000)
e028D           =     $028d               ;(0000)
e028E           =     $028e               ;(0000)
e0289           =     $0289               ;(0000)
e028B           =     $028b               ;(0000)
e0288           =     $0288               ;(0000)
e028A           =     $028a               ;(0000)
e0286           =     $0286               ;(0000)
e0287           =     $0287               ;(0000)
e0285           =     $0285               ;(0000)
e0284           =     $0284               ;(0000)
e0282           =     $0282               ;(0000)
e0283           =     $0283               ;(0000)
e0281           =     $0281               ;(0000)
eA67A           =     $a67a               ;(0000)
e0278           =     $0278               ;(0000)
eA677           =     $a677               ;(0000)
e0277           =     $0277               ;(0000)
e0276           =     $0276               ;(0000)
e026D           =     $026d               ;(0000)
eA663           =     $a663               ;(0000)
e0263           =     $0263               ;(0000)
e0259           =     $0259               ;(0000)
eA650           =     $a650               ;(0000)
eA644           =     $a644               ;(0000)
fmult           =     $ba28               ;(0000)
e0200           =     $0200               ;(0000)
e01FD           =     $01fd               ;(0000)
e01FC           =     $01fc               ;(0000)
eBDCD           =     $bdcd               ;(0000)
e05A9           =     $05a9               ;(0000)
e09A9           =     $09a9               ;(0000)
frmevl          =     $ad9e               ;(0000)
frmnum          =     $ad8a               ;(0000)
linkprg         =     $a533               ;(0000)
eA52A           =     $a52a               ;(0000)
eDD0D           =     $dd0d               ;(0000)
eDD0E           =     $dd0e               ;(0000)
eDD0F           =     $dd0f               ;(0000)
eDD04           =     $dd04               ;(0000)
eDD05           =     $dd05               ;(0000)
eDD06           =     $dd06               ;(0000)
eDD07           =     $dd07               ;(0000)
e0104           =     $0104               ;(0000)
__STACK__       =     $0100               ;(0000)  CPU Stack
CIA2            =     $dd00               ;(0000)  Complex Adapter Interface 2
ROBUF           =     $00f9               ;(0000)  RS232 Output Buffer Pointer.
zpF8            =     $00f8               ;(0000)
KEYTAB          =     $00f5               ;(0000)  Vector: Current Keyboard decoding Table. ($EB81)
RIBUF           =     $00f7               ;(0000)  RS232 Input Buffer Pointer.
zpF4            =     $00f4               ;(0000)
USER            =     $00f3               ;(0000)  Pointer: Current Colour RAM Location.
zpF1            =     $00f1               ;(0000)
eB0E6           =     $b0e6               ;(0000)
INSRT           =     $00d8               ;(0000)  Count of number of inserts outstanding.
LDTB1           =     $00d9               ;(0000)  Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
QTSW            =     $00d4               ;(0000)  Flag: Editor in Quote Mode $00 = Not.
LNMX            =     $00d5               ;(0000)  Current logical Line length: 39 or 79.
TBLX            =     $00d6               ;(0000)  Current Screen Line number of Cursor.
SCHAR           =     $00d7               ;(0000)  Screen value of current Input Character/Last Character Output.
eB8D7           =     $b8d7               ;(0000)
CRSW            =     $00d0               ;(0000)  Flag: Input from Screen = $03
PNTR            =     $00d3               ;(0000)  Cursor Column on current Line
PNT             =     $00d1               ;(0000)  Pointer: Current Screen Line Address.
BLNSW           =     $00cc               ;(0000)  Flag: Cursor blink $00 = Enabled
BLNCT           =     $00cd               ;(0000)  Timer: Count down for Cursor blink toggle.
GDBLN           =     $00ce               ;(0000)  Character under Cursor while Cursor Inverted.
BLNON           =     $00cf               ;(0000)  Flag: Cursor Status $00 = Off
int             =     $bccc               ;(0000)
INDX            =     $00c8               ;(0000)  Pointer: End of Line for Input (Used to suppress trailing spaces).
SFDX            =     $00cb               ;(0000)  Flag: Print shifted Characters.
LXSP            =     $00c9               ;(0000)  Cursor X/Y (Line/Column) position at start of Input.
LSTX            =     $00c5               ;(0000)  Matrix value of last Key pressed No Key = $40.
NDX             =     $00c6               ;(0000)  Number of Characters in Keyboard Buffer queue.
RVS             =     $00c7               ;(0000)  Flag: Reverse On/Off On = $01
zpC4            =     $00c4               ;(0000)
CAS1            =     $00c0               ;(0000)  Tape Motor Switch.
STAL            =     $00c1               ;(0000)  Start Address for LOAD and Cassette Write.
MEMUSS          =     $00c3               ;(0000)  Pointer: Type 3 Tape LOAD and general use.
ROPRTY          =     $00bd               ;(0000)  RS232 Output Parity/Tape Byte to be Input or Output.
FSBLK           =     $00be               ;(0000)  Tape Input/Output Block count.
MYCH            =     $00bf               ;(0000)  Serial Word Buffer.
zpBC            =     $00bc               ;(0000)
LA              =     $00b8               ;(0000)  Current File - Logical File number.
SA              =     $00b9               ;(0000)  Current File - Secondary Address.
FA              =     $00ba               ;(0000)  Current File - First Address (Device number).
FNADR           =     $00bb               ;(0000)  Pointer: Current File name Address.
BITTS           =     $00b4               ;(0000)  RS232 Write bit count/Tape Read timing Flag.
NXTBIT          =     $00b5               ;(0000)  RS232 Next Bit to send/Tape Read - End of Tape.
RODATA          =     $00b6               ;(0000)  RS232 Output Byte Buffer/Tape Read Error Flag.
FNLEN           =     $00b7               ;(0000)  Number of Characters in Filename.
CMPO            =     $00b0               ;(0000)  Tape timing Constants.
TAPE1           =     $00b2               ;(0000)  Pointer: Start Address of Tape Buffer ($033C).
SAL             =     $00ac               ;(0000)  Pointer: Tape Buffer/Screen scrolling.
EAL             =     $00ae               ;(0000)  Tape End Address/End of Program.
BITC1           =     $00a8               ;(0000)  RS232 Input Bit count/Tape temporary.
RINONE          =     $00a9               ;(0000)  RS232 Flag: Start Bit check/Tape temporary.
RIDATA          =     $00aa               ;(0000)  RS232 Input Byte Buffer/Tape temporary.
RIPRTY          =     $00ab               ;(0000)  RS232 Input parity/Tape temporary.
e10A9           =     $10a9               ;(0000)
e04A9           =     $04a9               ;(0000)
e80A9           =     $80a9               ;(0000)
e08A9           =     $08a9               ;(0000)
TBTCNT          =     $00a4               ;(0000)  Pulse Counter Tape Read or Write/Serial Bus shift Counter.
CNTDN           =     $00a5               ;(0000)  Tape Synchronising count down.
BUFPNT          =     $00a6               ;(0000)  Pointer: Tape I/O buffer.
INBIT           =     $00a7               ;(0000)  RS232 temporary for received Bit/Tape temporary.
TSFCNT          =     $00a3               ;(0000)  Bit Counter Tape Read or Write/Serial Bus EOI (End Of Input) Flag.
TIME            =     $00a0               ;(0000)  Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
DPSW            =     $009c               ;(0000)  Flag: Byte received from Tape.
MSGFLG          =     $009d               ;(0000)  Flag: $00 = Program mode: Suppress Error Messages
PTR1            =     $009e               ;(0000)  Tape Error log pass 1.
PTR2            =     $009f               ;(0000)  Tape Error log pass 2.
LDTND           =     $0098               ;(0000)  Number of Open Files/Index to File Table.
DFLTN           =     $0099               ;(0000)  Default Input Device (0).
DFLTO           =     $009a               ;(0000)  Default Output Device (3).
PRTY            =     $009b               ;(0000)  Parity of Byte Output to Tape.
C3PO            =     $0094               ;(0000)  Flag: Serial Bus - Output Character buffered.
BSOUR           =     $0095               ;(0000)  Buffered Character for Serial Bus.
SYNO            =     $0096               ;(0000)  Cassette Sync. number.
TEMPY           =     $0097               ;(0000)  Temporary storage of Y Register during RS232 fetch.
STATUS          =     $0090               ;(0000)  Kernal I/O Status Word  ST.
STKEY           =     $0091               ;(0000)  Flag: $7F = STOP key.
SVXT            =     $0092               ;(0000)  Timing Constant for Tape.
VERCKK          =     $0093               ;(0000)  Flag: 0 = Load
CHRGOT          =     $0079               ;(0000)  Entry to Get same Byte again.
TXTPTR          =     $007a               ;(0000)  Pointer: Current Byte of BASIC Text.
ready           =     $a474               ;(0000)
CHRGET          =     $0073               ;(0000)  basic chrget
FACOV           =     $0070               ;(0000)  FAC low-order rounding.
FBUFPT          =     $0071               ;(0000)  Pointer: Used during CRUNCH/ASCII conversion.
ARGSGN          =     $006e               ;(0000)  AFAC Sign.
ARISGN          =     $006f               ;(0000)  Sign of result of Arithmetic Evaluation.
BITS            =     $0068               ;(0000)  Bit Overflow Area during normalisation Routine.
AFAC            =     $0069               ;(0000)  Auxiliary Floating point Accumulator.
FACSGN          =     $0066               ;(0000)  FAC Sign.
SGNFLG          =     $0067               ;(0000)  Pointer: Series Evaluation Constant.
fadd            =     $b867               ;(0000)
zp64            =     $0064               ;(0000)
zp65            =     $0065               ;(0000)
FAC             =     $0061               ;(0000)  Main Floating point Accumulator.
FACHO           =     $0062               ;(0000)  FAC Mantissa.
JMPER           =     $0054               ;(0000)  Jump Vector used in Function Evaluation - JMP followed by Address ($4C
FOUR6           =     $0053               ;(0000)  Length of String Variable during Garbege collection.
fsub            =     $b850               ;(0000)
eB853           =     $b853               ;(0000)
FORPNT          =     $0049               ;(0000)  Pointer: Index Variable for FOR/NEXT loop.
faddh           =     $b849               ;(0000)
zp38            =     $0038               ;(0000)
eA43A           =     $a43a               ;(0000)
MEMSIZ          =     $0037               ;(0000)  Pointer: Highest Address available to BASIC ($A000).
error           =     $a437               ;(0000)
zp34            =     $0034               ;(0000)
FRETOP          =     $0033               ;(0000)  Pointer: Bottom of String space.
VARTAB          =     $002d               ;(0000)  Pointer: Start of BASIC Variables.
zp2C            =     $002c               ;(0000)
TXTTAB          =     $002b               ;(0000)  Pointer: Start of BASIC Text Area ($0801).
sign            =     $bc2b               ;(0000)
INDEX1          =     $0022               ;(0000)  First Utility Pointer.
VIC_CHRSCRN     =     $d018               ;(0000)  char and screen base
VIC_IRR         =     $d019               ;(0000)  interupt request register
_FILTVOL_       =     $d418               ;(0000)  Filter/Volume
zp18            =     $0018               ;(0000)
VIC_XSCROLL     =     $d016               ;(0000)  X-Scroll/Colmode
TEMPPT          =     $0016               ;(0000)  Pointer: Temporary String Stack.
LINNUM          =     $0014               ;(0000)  Temporary: Integer value.
VIC_YSCROLL     =     $d011               ;(0000)  Y-Scroll/Gfxmode
VIC_CURLINE     =     $d012               ;(0000)  current Rasterline
TANSGN          =     $0012               ;(0000)  Flag: TAN sign/Comparative result.
CHANNL          =     $0013               ;(0000)  File number of current Input Device.
movaf           =     $bc0c               ;(0000)
eBC0F           =     $bc0f               ;(0000)
eDC0D           =     $dc0d               ;(0000)
eDC0F           =     $dc0f               ;(0000)
eDC0E           =     $dc0e               ;(0000)
VERCK           =     $000a               ;(0000)  Flag: 0=Load 1=Verify.
reason          =     $a408               ;(0000)
e2009           =     $2009               ;(0000)
ADRAY2          =     $0005               ;(0000)  Jump Vector: Convert Integer in (A/Y) to Floating point in (FAC); ($B391).
INTEGR          =     $0007               ;(0000)  Temporary Integer during OR/AND.
zp04            =     $0004               ;(0000)
eDC07           =     $dc07               ;(0000)
eDC06           =     $dc06               ;(0000)
eDC04           =     $dc04               ;(0000)
eDC05           =     $dc05               ;(0000)
__CPUIO0__      =     $0000               ;(0000)  Cpu-Port Data-Direction
__CPUIO1__      =     $0001               ;(0000)  Cpu-Port Data
TEMP            =     $0002               ;(0000)  Unused. Free for user programs.
__CIA1__        =     $dc00               ;(0000)  Complex Interface Adapter 1
ADRAY1          =     $0003               ;(0000)  Jump Vector: Convert FAC to Integer in (A/Y)($B1AA).
BASIC           =     $a000               ;(0000)  Basic ROM
e8000           =     $8000               ;(0000)
e8003           =     $8003               ;(0000)
e8002           =     $8002               ;(0000)
eA002           =     $a002               ;(0000)

                *=    $E000               ;(e000)
;------------------------------------------------------------------------

;IO Kernal ROM
;------------------------------------------------------------------------
                sta   JMPER+$0002         ;(e000 85 56) Jump Vector used in Function Evaluation - JMP followed by Address ($4C
;IO Kernal ROM
;------------------------------------------------------------------------
                jsr   eBC0F               ;(e002 20 0F BC)
                lda   FAC                 ;(e005 A5 61) Main Floating point Accumulator.
                cmp   #$88                ;(e007 C9 88)
                bcc   iE00E               ;(e009 90 03)

iE00B:          jsr   mldvex              ;(e00b 20 D4 BA)
iE00E:          jsr   int                 ;(e00e 20 CC BC)
                lda   INTEGR              ;(e011 A5 07) Temporary Integer during OR/AND.
                clc                       ;(e013 18)
                adc   #$81                ;(e014 69 81)
                beq   iE00B               ;(e016 F0 F3)

                sec                       ;(e018 38)
                sbc   #$01                ;(e019 E9 01)
                pha                       ;(e01b 48)
                ldx   #$05                ;(e01c A2 05)
iE01E:          lda   AFAC,X              ;(e01e B5 69) Auxiliary Floating point Accumulator.
                ldy   FAC,X               ;(e020 B4 61) Main Floating point Accumulator.
                sta   FAC,X               ;(e022 95 61) Main Floating point Accumulator.
                sty   AFAC,X              ;(e024 94 69) Auxiliary Floating point Accumulator.
                dex                       ;(e026 CA)
                bpl   iE01E               ;(e027 10 F5)

                lda   JMPER+$0002         ;(e029 A5 56) Jump Vector used in Function Evaluation - JMP followed by Address ($4C
                sta   FACOV               ;(e02b 85 70) FAC low-order rounding.
                jsr   eB853               ;(e02d 20 53 B8)
                jsr   negop               ;(e030 20 B4 BF)
                lda   #$C4                ;(e033 A9 C4)
                ldy   #$BF                ;(e035 A0 BF)
                jsr   entry_e059          ;(e037 20 59 E0) entrypoint at $e059
                lda   #$00                ;(e03a A9 00)
                sta   ARISGN              ;(e03c 85 6F) Sign of result of Arithmetic Evaluation.
                pla                       ;(e03e 68)
                jsr   eBAB9               ;(e03f 20 B9 BA)
                rts                       ;(e042 60)
;------------------------------------------------------------------------
polyx:          sta   FBUFPT              ;(e043 85 71) Pointer: Used during CRUNCH/ASCII conversion.
                sty   FBUFPT+$0001        ;(e045 84 72) Pointer: Used during CRUNCH/ASCII conversion.
                jsr   eBBCA               ;(e047 20 CA BB)
                lda   #$57                ;(e04a A9 57)
                jsr   fmult               ;(e04c 20 28 BA)
                jsr   iE05D               ;(e04f 20 5D E0)
                lda   #$57                ;(e052 A9 57)
                ldy   #$00                ;(e054 A0 00)
                jmp   fmult               ;(e056 4C 28 BA)
;------------------------------------------------------------------------
;entrypoint at $e059
;------------------------------------------------------------------------
entry_e059:     sta   FBUFPT              ;(e059 85 71) Pointer: Used during CRUNCH/ASCII conversion.
                sty   FBUFPT+$0001        ;(e05b 84 72) Pointer: Used during CRUNCH/ASCII conversion.
iE05D:          jsr   mov2f               ;(e05d 20 C7 BB)
                lda   (FBUFPT),Y          ;(e060 B1 71) Pointer: Used during CRUNCH/ASCII conversion.
                sta   SGNFLG              ;(e062 85 67) Pointer: Series Evaluation Constant.
                ldy   FBUFPT              ;(e064 A4 71) Pointer: Used during CRUNCH/ASCII conversion.
                iny                       ;(e066 C8)
                tya                       ;(e067 98)
                bne   iE06C               ;(e068 D0 02)

                inc   FBUFPT+$0001        ;(e06a E6 72) Pointer: Used during CRUNCH/ASCII conversion.
iE06C:          sta   FBUFPT              ;(e06c 85 71) Pointer: Used during CRUNCH/ASCII conversion.
                ldy   FBUFPT+$0001        ;(e06e A4 72) Pointer: Used during CRUNCH/ASCII conversion.
iE070:          jsr   fmult               ;(e070 20 28 BA)
                lda   FBUFPT              ;(e073 A5 71) Pointer: Used during CRUNCH/ASCII conversion.
                ldy   FBUFPT+$0001        ;(e075 A4 72) Pointer: Used during CRUNCH/ASCII conversion.
                clc                       ;(e077 18)
                adc   #$05                ;(e078 69 05)
                bcc   iE07D               ;(e07a 90 01)

                iny                       ;(e07c C8)
iE07D:          sta   FBUFPT              ;(e07d 85 71) Pointer: Used during CRUNCH/ASCII conversion.
                sty   FBUFPT+$0001        ;(e07f 84 72) Pointer: Used during CRUNCH/ASCII conversion.
                jsr   fadd                ;(e081 20 67 B8)
                lda   #$5C                ;(e084 A9 5C)
                ldy   #$00                ;(e086 A0 00)
                dec   SGNFLG              ;(e088 C6 67) Pointer: Series Evaluation Constant.
                bne   iE070               ;(e08a D0 E4)

                rts                       ;(e08c 60)
;------------------------------------------------------------------------
;data
;------------------------------------------------------------------------
                .byte $98,$35,$44,$7A,$00,$68,$28,$B1;(e08d) (e08d .5d...(.)
                .byte $46,$00             ;(e095) (e095 f.)
                jsr   sign                ;(e097 20 2B BC)
                bmi   iE0D3               ;(e09a 30 37)

                bne   iE0BE               ;(e09c D0 20)

                jsr   iobase              ;(e09e 20 F3 FF)
                stx   INDEX1              ;(e0a1 86 22) First Utility Pointer.
                sty   INDEX1+$0001        ;(e0a3 84 23) First Utility Pointer.
                ldy   #$04                ;(e0a5 A0 04)
                lda   (INDEX1),Y          ;(e0a7 B1 22) First Utility Pointer.
                sta   FACHO               ;(e0a9 85 62) FAC Mantissa.
                iny                       ;(e0ab C8)
                lda   (INDEX1),Y          ;(e0ac B1 22) First Utility Pointer.
                sta   zp64                ;(e0ae 85 64)
                ldy   #$08                ;(e0b0 A0 08)
                lda   (INDEX1),Y          ;(e0b2 B1 22) First Utility Pointer.
                sta   FACHO+$0001         ;(e0b4 85 63) FAC Mantissa.
                iny                       ;(e0b6 C8)
                lda   (INDEX1),Y          ;(e0b7 B1 22) First Utility Pointer.
                sta   zp65                ;(e0b9 85 65)
                jmp   iE0E3               ;(e0bb 4C E3 E0)
;------------------------------------------------------------------------
iE0BE:          lda   #$8B                ;(e0be A9 8B)
                ldy   #$00                ;(e0c0 A0 00)
                jsr   movfm               ;(e0c2 20 A2 BB)
                lda   #$8D                ;(e0c5 A9 8D)
                ldy   #$E0                ;(e0c7 A0 E0)
                jsr   fmult               ;(e0c9 20 28 BA)
                lda   #$92                ;(e0cc A9 92)
                ldy   #$E0                ;(e0ce A0 E0)
                jsr   fadd                ;(e0d0 20 67 B8)
iE0D3:          ldx   zp65                ;(e0d3 A6 65)
                lda   FACHO               ;(e0d5 A5 62) FAC Mantissa.
                sta   zp65                ;(e0d7 85 65)
                stx   FACHO               ;(e0d9 86 62) FAC Mantissa.
                ldx   FACHO+$0001         ;(e0db A6 63) FAC Mantissa.
                lda   zp64                ;(e0dd A5 64)
                sta   FACHO+$0001         ;(e0df 85 63) FAC Mantissa.
                stx   zp64                ;(e0e1 86 64)
iE0E3:          lda   #$00                ;(e0e3 A9 00)
                sta   FACSGN              ;(e0e5 85 66) FAC Sign.
                lda   FAC                 ;(e0e7 A5 61) Main Floating point Accumulator.
                sta   FACOV               ;(e0e9 85 70) FAC low-order rounding.
                lda   #$80                ;(e0eb A9 80)
                sta   FAC                 ;(e0ed 85 61) Main Floating point Accumulator.
                jsr   eB8D7               ;(e0ef 20 D7 B8)
                ldx   #$8B                ;(e0f2 A2 8B)
                ldy   #$00                ;(e0f4 A0 00)
iE0F6:          jmp   eBBD4               ;(e0f6 4C D4 BB)
;------------------------------------------------------------------------
bioerr:         cmp   #$F0                ;(e0f9 C9 F0)
                bne   iE104               ;(e0fb D0 07)

                sty   zp38                ;(e0fd 84 38)
                stx   MEMSIZ              ;(e0ff 86 37) Pointer: Highest Address available to BASIC ($A000).
                jmp   eA663               ;(e101 4C 63 A6)
;------------------------------------------------------------------------
iE104:          tax                       ;(e104 AA)
                bne   iE109               ;(e105 D0 02)

                ldx   #$1E                ;(e107 A2 1E)
iE109:          jmp   error               ;(e109 4C 37 A4)
;------------------------------------------------------------------------
                jsr   entry_ffd2          ;(e10c 20 D2 FF) entrypoint at $ffd2
                bcs   bioerr              ;(e10f B0 E8)

                rts                       ;(e111 60)
;------------------------------------------------------------------------
                jsr   entry_ffcf          ;(e112 20 CF FF) entrypoint at $ffcf
                bcs   bioerr              ;(e115 B0 E2)

                rts                       ;(e117 60)
;------------------------------------------------------------------------
                jsr   iE4AD               ;(e118 20 AD E4)
                bcs   bioerr              ;(e11b B0 DC)

                rts                       ;(e11d 60)
;------------------------------------------------------------------------
                jsr   entry_ffc6          ;(e11e 20 C6 FF) entrypoint at $ffc6
                bcs   bioerr              ;(e121 B0 D6)

                rts                       ;(e123 60)
;------------------------------------------------------------------------
                jsr   entry_ffe4          ;(e124 20 E4 FF) entrypoint at $ffe4
                bcs   bioerr              ;(e127 B0 D0)

                rts                       ;(e129 60)
;------------------------------------------------------------------------
                jsr   frmnum              ;(e12a 20 8A AD)
                jsr   getadr              ;(e12d 20 F7 B7)
                lda   #$E1                ;(e130 A9 E1)
                pha                       ;(e132 48)
                lda   #$46                ;(e133 A9 46)
                pha                       ;(e135 48)
                lda   e030F               ;(e136 AD 0F 03)
                pha                       ;(e139 48)
                lda   e030C               ;(e13a AD 0C 03)
                ldx   e030D               ;(e13d AE 0D 03)
                ldy   e030E               ;(e140 AC 0E 03)
                plp                       ;(e143 28)
                jmp   (LINNUM)            ;(e144 6C 14 00) *($0014)=$0000 Temporary: Integer value.
;------------------------------------------------------------------------
;entrypoint at $e147
;------------------------------------------------------------------------
                php                       ;(e147 08)
                sta   e030C               ;(e148 8D 0C 03)
                stx   e030D               ;(e14b 8E 0D 03)
                sty   e030E               ;(e14e 8C 0E 03)
                pla                       ;(e151 68)
                sta   e030F               ;(e152 8D 0F 03)
                rts                       ;(e155 60)
;------------------------------------------------------------------------
                .byte $20,$D4,$E1,$A6,$2D,$A4,$2E,$A9;(e156) (e156  T..-...)
                .byte $2B,$20,$D8,$FF,$B0,$95,$60;(e15e) (e15e + X....)
                lda   #$01                ;(e165 A9 01)
                .byte $2C,<RINONE  ,>RINONE  ;(e167) (e167 ,..)
                sta   VERCK               ;(e16a 85 0A) Flag: 0=Load 1=Verify.
                jsr   slpara              ;(e16c 20 D4 E1)
                lda   VERCK               ;(e16f A5 0A) Flag: 0=Load 1=Verify.
                ldx   TXTTAB              ;(e171 A6 2B) Pointer: Start of BASIC Text Area ($0801).
                ldy   zp2C                ;(e173 A4 2C)
                jsr   entry_ffd5          ;(e175 20 D5 FF) entrypoint at $ffd5
                bcs   iE1D1               ;(e178 B0 57)

                lda   VERCK               ;(e17a A5 0A) Flag: 0=Load 1=Verify.
                beq   iE195               ;(e17c F0 17)

                ldx   #$1C                ;(e17e A2 1C)
                jsr   readst              ;(e180 20 B7 FF)
                and   #$10                ;(e183 29 10)
                bne   iE19E               ;(e185 D0 17)

                lda   TXTPTR              ;(e187 A5 7A) Pointer: Current Byte of BASIC Text.
                cmp   #$02                ;(e189 C9 02)
                beq   iE194               ;(e18b F0 07)

                lda   #$64                ;(e18d A9 64)
                ldy   #$A3                ;(e18f A0 A3)
                jmp   strout              ;(e191 4C 1E AB) output string (ptr in a/y)
;------------------------------------------------------------------------
iE194:          rts                       ;(e194 60)
;------------------------------------------------------------------------
iE195:          jsr   readst              ;(e195 20 B7 FF)
                and   #$BF                ;(e198 29 BF)
                beq   iE1A1               ;(e19a F0 05)

                ldx   #$1D                ;(e19c A2 1D)
iE19E:          jmp   error               ;(e19e 4C 37 A4)
;------------------------------------------------------------------------
iE1A1:          lda   TXTPTR+$0001        ;(e1a1 A5 7B) Pointer: Current Byte of BASIC Text.
                cmp   #$02                ;(e1a3 C9 02)
                bne   iE1B5               ;(e1a5 D0 0E)

                stx   VARTAB              ;(e1a7 86 2D) Pointer: Start of BASIC Variables.
                sty   VARTAB+$0001        ;(e1a9 84 2E) Pointer: Start of BASIC Variables.
                lda   #$76                ;(e1ab A9 76)
                ldy   #$A3                ;(e1ad A0 A3)
                jsr   strout              ;(e1af 20 1E AB) output string (ptr in a/y)
                jmp   eA52A               ;(e1b2 4C 2A A5)
;------------------------------------------------------------------------
iE1B5:          jsr   stxpt               ;(e1b5 20 8E A6)
                jsr   linkprg             ;(e1b8 20 33 A5)
                jmp   eA677               ;(e1bb 4C 77 A6)
;------------------------------------------------------------------------
                jsr   ocpara              ;(e1be 20 19 E2)
                jsr   entry_ffc0          ;(e1c1 20 C0 FF) entrypoint at $ffc0
                bcs   iE1D1               ;(e1c4 B0 0B)

                rts                       ;(e1c6 60)
;------------------------------------------------------------------------
                jsr   ocpara              ;(e1c7 20 19 E2)
                lda   FORPNT              ;(e1ca A5 49) Pointer: Index Variable for FOR/NEXT loop.
                jsr   entry_ffc3          ;(e1cc 20 C3 FF) entrypoint at $ffc3
                bcc   iE194               ;(e1cf 90 C3)

iE1D1:          jmp   bioerr              ;(e1d1 4C F9 E0)
;------------------------------------------------------------------------
slpara:         lda   #$00                ;(e1d4 A9 00)
                jsr   setnam              ;(e1d6 20 BD FF)
                ldx   #$01                ;(e1d9 A2 01)
                ldy   #$00                ;(e1db A0 00)
                jsr   setlfs              ;(e1dd 20 BA FF)
                jsr   deflt               ;(e1e0 20 06 E2)
                jsr   iE257               ;(e1e3 20 57 E2)
                jsr   deflt               ;(e1e6 20 06 E2)
                jsr   combyt              ;(e1e9 20 00 E2)
                ldy   #$00                ;(e1ec A0 00)
                stx   FORPNT              ;(e1ee 86 49) Pointer: Index Variable for FOR/NEXT loop.
                jsr   setlfs              ;(e1f0 20 BA FF)
                jsr   deflt               ;(e1f3 20 06 E2)
                jsr   combyt              ;(e1f6 20 00 E2)
                txa                       ;(e1f9 8A)
                tay                       ;(e1fa A8)
                ldx   FORPNT              ;(e1fb A6 49) Pointer: Index Variable for FOR/NEXT loop.
                jmp   setlfs              ;(e1fd 4C BA FF)
;------------------------------------------------------------------------
combyt:         jsr   cmmerr              ;(e200 20 0E E2)
                jmp   eB79E               ;(e203 4C 9E B7)
;------------------------------------------------------------------------
deflt:          jsr   CHRGOT              ;(e206 20 79 00) Entry to Get same Byte again.
                bne   iE20D               ;(e209 D0 02)

                pla                       ;(e20b 68)
                pla                       ;(e20c 68)
iE20D:          rts                       ;(e20d 60)
;------------------------------------------------------------------------
cmmerr:         jsr   eAEFD               ;(e20e 20 FD AE)
iE211:          jsr   CHRGOT              ;(e211 20 79 00) Entry to Get same Byte again.
                bne   iE20D               ;(e214 D0 F7)

                jmp   synerr              ;(e216 4C 08 AF)
;------------------------------------------------------------------------
ocpara:         lda   #$00                ;(e219 A9 00)
                jsr   setnam              ;(e21b 20 BD FF)
                jsr   iE211               ;(e21e 20 11 E2)
                jsr   eB79E               ;(e221 20 9E B7)
                stx   FORPNT              ;(e224 86 49) Pointer: Index Variable for FOR/NEXT loop.
                txa                       ;(e226 8A)
                ldx   #$01                ;(e227 A2 01)
                ldy   #$00                ;(e229 A0 00)
                jsr   setlfs              ;(e22b 20 BA FF)
                jsr   deflt               ;(e22e 20 06 E2)
                jsr   combyt              ;(e231 20 00 E2)
                stx   FORPNT+$0001        ;(e234 86 4A) Pointer: Index Variable for FOR/NEXT loop.
                ldy   #$00                ;(e236 A0 00)
                lda   FORPNT              ;(e238 A5 49) Pointer: Index Variable for FOR/NEXT loop.
                cpx   #$03                ;(e23a E0 03)
                bcc   iE23F               ;(e23c 90 01)

                dey                       ;(e23e 88)
iE23F:          jsr   setlfs              ;(e23f 20 BA FF)
                jsr   deflt               ;(e242 20 06 E2)
                jsr   combyt              ;(e245 20 00 E2)
                txa                       ;(e248 8A)
                tay                       ;(e249 A8)
                ldx   FORPNT+$0001        ;(e24a A6 4A) Pointer: Index Variable for FOR/NEXT loop.
                lda   FORPNT              ;(e24c A5 49) Pointer: Index Variable for FOR/NEXT loop.
                jsr   setlfs              ;(e24e 20 BA FF)
                jsr   deflt               ;(e251 20 06 E2)
                jsr   cmmerr              ;(e254 20 0E E2)
iE257:          jsr   frmevl              ;(e257 20 9E AD)
                jsr   frestr              ;(e25a 20 A3 B6)
                ldx   INDEX1              ;(e25d A6 22) First Utility Pointer.
                ldy   INDEX1+$0001        ;(e25f A4 23) First Utility Pointer.
                jmp   setnam              ;(e261 4C BD FF)
;------------------------------------------------------------------------
                lda   #$E0                ;(e264 A9 E0)
                ldy   #$E2                ;(e266 A0 E2)
                jsr   fadd                ;(e268 20 67 B8)
sin:            jsr   movaf               ;(e26b 20 0C BC)
                lda   #$E5                ;(e26e A9 E5)
                ldy   #$E2                ;(e270 A0 E2)
                ldx   ARGSGN              ;(e272 A6 6E) AFAC Sign.
                jsr   fdiv                ;(e274 20 07 BB)
                jsr   movaf               ;(e277 20 0C BC)
                jsr   int                 ;(e27a 20 CC BC)
                lda   #$00                ;(e27d A9 00)
                sta   ARISGN              ;(e27f 85 6F) Sign of result of Arithmetic Evaluation.
                jsr   eB853               ;(e281 20 53 B8)
                lda   #$EA                ;(e284 A9 EA)
                ldy   #$E2                ;(e286 A0 E2)
                jsr   fsub                ;(e288 20 50 B8)
                lda   FACSGN              ;(e28b A5 66) FAC Sign.
                pha                       ;(e28d 48)
                bpl   iE29D               ;(e28e 10 0D)

                jsr   faddh               ;(e290 20 49 B8)
                lda   FACSGN              ;(e293 A5 66) FAC Sign.
                bmi   iE2A0               ;(e295 30 09)

                lda   TANSGN              ;(e297 A5 12) Flag: TAN sign/Comparative result.
                eor   #$FF                ;(e299 49 FF)
                sta   TANSGN              ;(e29b 85 12) Flag: TAN sign/Comparative result.
iE29D:          jsr   negop               ;(e29d 20 B4 BF)
iE2A0:          lda   #$EA                ;(e2a0 A9 EA)
                ldy   #$E2                ;(e2a2 A0 E2)
                jsr   fadd                ;(e2a4 20 67 B8)
                pla                       ;(e2a7 68)
                bpl   iE2AD               ;(e2a8 10 03)

                jsr   negop               ;(e2aa 20 B4 BF)
iE2AD:          lda   #$EF                ;(e2ad A9 EF)
                ldy   #$E2                ;(e2af A0 E2)
                jmp   polyx               ;(e2b1 4C 43 E0)
;------------------------------------------------------------------------
                jsr   eBBCA               ;(e2b4 20 CA BB)
                lda   #$00                ;(e2b7 A9 00)
                sta   TANSGN              ;(e2b9 85 12) Flag: TAN sign/Comparative result.
                jsr   sin                 ;(e2bb 20 6B E2)
                ldx   #$4E                ;(e2be A2 4E)
                ldy   #$00                ;(e2c0 A0 00)
                jsr   iE0F6               ;(e2c2 20 F6 E0)
                lda   #$57                ;(e2c5 A9 57)
                ldy   #$00                ;(e2c7 A0 00)
                jsr   movfm               ;(e2c9 20 A2 BB)
                lda   #$00                ;(e2cc A9 00)
                sta   FACSGN              ;(e2ce 85 66) FAC Sign.
                lda   TANSGN              ;(e2d0 A5 12) Flag: TAN sign/Comparative result.
                jsr   iE2DC               ;(e2d2 20 DC E2)
                lda   #$4E                ;(e2d5 A9 4E)
                ldy   #$00                ;(e2d7 A0 00)
                jmp   fdivt               ;(e2d9 4C 0F BB)
;------------------------------------------------------------------------
iE2DC:          pha                       ;(e2dc 48)
                jmp   iE29D               ;(e2dd 4C 9D E2)
;------------------------------------------------------------------------
;data
;------------------------------------------------------------------------
                .byte $81,$49,$0F,$DA,$A2,$83,$49,$0F;(e2e0) (e2e0 .i.Z..i.)
                .byte $DA,$A2,$7F,$00,$00,$00,$00,$05;(e2e8) (e2e8 Z.......)
                .byte $84,$E6,$1A,$2D,$1B,$86,$28,$07;(e2f0) (e2f0 ...-..(.)
                .byte $FB,$F8,$87,$99,$68,$89,$01,$87;(e2f8) (e2f8 ........)
                .byte $23,$35,$DF,$E1,$86,$A5,$5D,$E7;(e300) (e300 #5....].)
                .byte $28,$83,$49,$0F,$DA,$A2;(e308) (e308 (.i.Z.)
                lda   FACSGN              ;(e30e A5 66) FAC Sign.
                pha                       ;(e310 48)
                bpl   iE316               ;(e311 10 03)

                jsr   negop               ;(e313 20 B4 BF)
iE316:          lda   FAC                 ;(e316 A5 61) Main Floating point Accumulator.
                pha                       ;(e318 48)
                cmp   #$81                ;(e319 C9 81)
                bcc   iE324               ;(e31b 90 07)

                lda   #$BC                ;(e31d A9 BC)
                ldy   #$B9                ;(e31f A0 B9)
                jsr   fdivt               ;(e321 20 0F BB)
iE324:          lda   #$3E                ;(e324 A9 3E)
                ldy   #$E3                ;(e326 A0 E3)
                jsr   polyx               ;(e328 20 43 E0)
                pla                       ;(e32b 68)
                cmp   #$81                ;(e32c C9 81)
                bcc   iE337               ;(e32e 90 07)

                lda   #$E0                ;(e330 A9 E0)
                ldy   #$E2                ;(e332 A0 E2)
                jsr   fsub                ;(e334 20 50 B8)
iE337:          pla                       ;(e337 68)
                bpl   iE33D               ;(e338 10 03)

                jmp   negop               ;(e33a 4C B4 BF)
;------------------------------------------------------------------------
iE33D:          rts                       ;(e33d 60)
;------------------------------------------------------------------------
;data
;------------------------------------------------------------------------
                .byte $0B,$76,$B3,$83,$BD,$D3,$79,$1E;(e33e) (e33e .....S..)
                .byte $F4,$A6,$F5,$7B,$83,$FC,$B0,$10;(e346) (e346 ........)
                .byte $7C,$0C,$1F,$67,$CA,$7C,$DE,$53;(e34e) (e34e ....J..s)
                .byte $CB,$C1,$7D,$14,$64,$70,$4C,$7D;(e356) (e356 KA....l.)
                .byte $B7,$EA,$51,$7A,$7D,$63,$30,$88;(e35e) (e35e ..q...0.)
                .byte $7E,$7E,$92,$44,$99,$3A,$7E,$4C;(e366) (e366 ...d.:.l)
                .byte $CC,$91,$C7,$7F,$AA,$AA,$AA,$13;(e36e) (e36e L.G.....)
                .byte $81,$00,$00,$00,$00 ;(e376) (e376 .....)
                jsr   entry_ffcc          ;(e37b 20 CC FF) entrypoint at $ffcc
                lda   #$00                ;(e37e A9 00)
                sta   CHANNL              ;(e380 85 13) File number of current Input Device.
                jsr   eA67A               ;(e382 20 7A A6)
                cli                       ;(e385 58)
iE386:          ldx   #$80                ;(e386 A2 80)
                jmp   (e0300)             ;(e388 6C 00 03) *($0300)=$e38b
;------------------------------------------------------------------------
                txa                       ;(e38b 8A)
                bmi   iE391               ;(e38c 30 03)

                jmp   eA43A               ;(e38e 4C 3A A4)
;------------------------------------------------------------------------
iE391:          jmp   ready               ;(e391 4C 74 A4)
;------------------------------------------------------------------------
                jsr   initv               ;(e394 20 53 E4)
                jsr   initcz              ;(e397 20 BF E3)
                jsr   initms              ;(e39a 20 22 E4)
                ldx   #$FB                ;(e39d A2 FB)
                txs                       ;(e39f 9A)
                bne   iE386               ;(e3a0 D0 E4)

initat:         inc   TXTPTR              ;(e3a2 E6 7A) Pointer: Current Byte of BASIC Text.
                bne   iE3A8               ;(e3a4 D0 02)

                inc   TXTPTR+$0001        ;(e3a6 E6 7B) Pointer: Current Byte of BASIC Text.
iE3A8:          lda   iEA60               ;(e3a8 AD 60 EA)
                cmp   #$3A                ;(e3ab C9 3A)
                bcs   iE3B9               ;(e3ad B0 0A)

                cmp   #$20                ;(e3af C9 20)
                beq   initat              ;(e3b1 F0 EF)

                sec                       ;(e3b3 38)
                sbc   #$30                ;(e3b4 E9 30)
                sec                       ;(e3b6 38)
                sbc   #$D0                ;(e3b7 E9 D0)
iE3B9:          rts                       ;(e3b9 60)
;------------------------------------------------------------------------
;Random Seed
;------------------------------------------------------------------------
                .byte $80,$4F,$C7,$52,$58 ;(e3ba) (e3ba .oGrx)
initcz:         lda   #$4C                ;(e3bf A9 4C)
                sta   JMPER               ;(e3c1 85 54) Jump Vector used in Function Evaluation - JMP followed by Address ($4C
                sta   e0310               ;(e3c3 8D 10 03)
                lda   #$48                ;(e3c6 A9 48)
                ldy   #$B2                ;(e3c8 A0 B2)
                sta   e0311               ;(e3ca 8D 11 03)
                sty   e0312               ;(e3cd 8C 12 03)
                lda   #$91                ;(e3d0 A9 91)
                ldy   #$B3                ;(e3d2 A0 B3)
                sta   ADRAY2              ;(e3d4 85 05) Jump Vector: Convert Integer in (A/Y) to Floating point in (FAC); ($B391).
                sty   ADRAY2+$0001        ;(e3d6 84 06) Jump Vector: Convert Integer in (A/Y) to Floating point in (FAC); ($B391).
                lda   #$AA                ;(e3d8 A9 AA)
                ldy   #$B1                ;(e3da A0 B1)
                sta   ADRAY1              ;(e3dc 85 03) Jump Vector: Convert FAC to Integer in (A/Y)($B1AA).
                sty   zp04                ;(e3de 84 04)
                ldx   #$1C                ;(e3e0 A2 1C)
iE3E2:          lda   initat,X            ;(e3e2 BD A2 E3)
                sta   CHRGET,X            ;(e3e5 95 73) basic chrget
                dex                       ;(e3e7 CA)
                bpl   iE3E2               ;(e3e8 10 F8)

                lda   #$03                ;(e3ea A9 03)
                sta   FOUR6               ;(e3ec 85 53) Length of String Variable during Garbege collection.
                lda   #$00                ;(e3ee A9 00)
                sta   BITS                ;(e3f0 85 68) Bit Overflow Area during normalisation Routine.
                sta   CHANNL              ;(e3f2 85 13) File number of current Input Device.
                sta   zp18                ;(e3f4 85 18)
                ldx   #$01                ;(e3f6 A2 01)
                stx   e01FD               ;(e3f8 8E FD 01)
                stx   e01FC               ;(e3fb 8E FC 01)
                ldx   #$19                ;(e3fe A2 19)
;IO Kernal ROM
;------------------------------------------------------------------------
                stx   TEMPPT              ;(e400 86 16) Pointer: Temporary String Stack.
;IO Kernal ROM
;------------------------------------------------------------------------
                sec                       ;(e402 38)
;IO Kernal ROM
;------------------------------------------------------------------------
                jsr   entry_ff9c          ;(e403 20 9C FF) entrypoint at $ff9c
                stx   TXTTAB              ;(e406 86 2B) Pointer: Start of BASIC Text Area ($0801).
                sty   zp2C                ;(e408 84 2C)
                sec                       ;(e40a 38)
                jsr   memtop              ;(e40b 20 99 FF)
                stx   MEMSIZ              ;(e40e 86 37) Pointer: Highest Address available to BASIC ($A000).
                sty   zp38                ;(e410 84 38)
                stx   FRETOP              ;(e412 86 33) Pointer: Bottom of String space.
                sty   zp34                ;(e414 84 34)
                ldy   #$00                ;(e416 A0 00)
                tya                       ;(e418 98)
                sta   (TXTTAB),Y          ;(e419 91 2B) Pointer: Start of BASIC Text Area ($0801).
                inc   TXTTAB              ;(e41b E6 2B) Pointer: Start of BASIC Text Area ($0801).
                bne   iE421               ;(e41d D0 02)

                inc   zp2C                ;(e41f E6 2C)
iE421:          rts                       ;(e421 60)
;------------------------------------------------------------------------
initms:         lda   TXTTAB              ;(e422 A5 2B) Pointer: Start of BASIC Text Area ($0801).
                ldy   zp2C                ;(e424 A4 2C)
                jsr   reason              ;(e426 20 08 A4)
                lda   #$73                ;(e429 A9 73)
                ldy   #$E4                ;(e42b A0 E4)
                jsr   strout              ;(e42d 20 1E AB) output string (ptr in a/y)
                lda   MEMSIZ              ;(e430 A5 37) Pointer: Highest Address available to BASIC ($A000).
                sec                       ;(e432 38)
                sbc   TXTTAB              ;(e433 E5 2B) Pointer: Start of BASIC Text Area ($0801).
                tax                       ;(e435 AA)
                lda   zp38                ;(e436 A5 38)
                sbc   zp2C                ;(e438 E5 2C)
                jsr   eBDCD               ;(e43a 20 CD BD)
                lda   #$60                ;(e43d A9 60)
                ldy   #$E4                ;(e43f A0 E4)
                jsr   strout              ;(e441 20 1E AB) output string (ptr in a/y)
                jmp   eA644               ;(e444 4C 44 A6)
;------------------------------------------------------------------------
;Basic Vectors
;------------------------------------------------------------------------
bvtrs:          .byte $8B,$E3,$83,$A4,$7C,$A5,$1A,$A7;(e447) (e447 ........)
                .byte $E4,$A7,$86,$AE     ;(e44f) (e44f ....)
initv:          ldx   #$0B                ;(e453 A2 0B)
iE455:          lda   bvtrs,X             ;(e455 BD 47 E4) Basic Vectors
                sta   e0300,X             ;(e458 9D 00 03)
                dex                       ;(e45b CA)
                bpl   iE455               ;(e45c 10 F7)

                rts                       ;(e45e 60)
;------------------------------------------------------------------------
;Reset Messages
;------------------------------------------------------------------------
                .byte $00,$20,$42,$41,$53,$49,$43,$20;(e45f) (e45f . basic )
                .byte $42,$59,$54,$45,$53,$20,$46,$52;(e467) (e467 bytes fr)
                .byte $45,$45,$0D,$00,$93,$0D,$20,$20;(e46f) (e46f ee....  )
                .byte $20,$20,$2A,$2A,$2A,$2A,$20,$43;(e477) (e477   **** c)
                .byte $4F,$4D,$4D,$4F,$44,$4F,$52,$45;(e47f) (e47f ommodore)
                .byte $20,$36,$34,$20,$42,$41,$53,$49;(e487) (e487  64 basi)
                .byte $43,$20,$56,$32,$20,$2A,$2A,$2A;(e48f) (e48f c v2 ***)
                .byte $2A,$0D,$0D,$20,$36,$34,$4B,$20;(e497) (e497 *.. 64k )
                .byte $52,$41,$4D,$20,$53,$59,$53,$54;(e49f) (e49f ram syst)
                .byte $45,$4D,$20,$20,$00,$5C;(e4a7) (e4a7 em  ..)
iE4AD:          pha                       ;(e4ad 48)
                jsr   entry_ffc9          ;(e4ae 20 C9 FF) entrypoint at $ffc9
                tax                       ;(e4b1 AA)
                pla                       ;(e4b2 68)
                bcc   iE4B6               ;(e4b3 90 01)

                txa                       ;(e4b5 8A)
iE4B6:          rts                       ;(e4b6 60)
;------------------------------------------------------------------------
                .byte $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA;(e4b7) (e4b7 ........)
                .byte $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA;(e4bf) (e4bf ........)
                .byte $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA;(e4c7) (e4c7 ........)
                .byte $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA;(e4cf) (e4cf ........)
                .byte $AA,$AA,$AA         ;(e4d7) (e4d7 ...)
iE4DA:          lda   e0286               ;(e4da AD 86 02)
                sta   (USER),Y            ;(e4dd 91 F3) Pointer: Current Colour RAM Location.
                rts                       ;(e4df 60)
;------------------------------------------------------------------------
iE4E0:          adc   #$02                ;(e4e0 69 02)
iE4E2:          ldy   STKEY               ;(e4e2 A4 91) Flag: $7F = STOP key.
                iny                       ;(e4e4 C8)
                bne   iE4EB               ;(e4e5 D0 04)

                cmp   TIME+$0001          ;(e4e7 C5 A1) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
iE4E9:                                    ;(e4e9) RS232 Input Buffer Pointer.
iE4EA           =     iE4E9+$01           ;(e4ea)
                bne   iE4E2               ;(e4e9 D0 F7)

iE4EB:          rts                       ;(e4eb 60)
;------------------------------------------------------------------------
                .byte $19,$26,$44,$19,$1A,$11,$E8,$0D;(e4ec) (e4ec .&d.....)
                .byte $70,$0C,$06,$06,$D1,$02,$37,$01;(e4f4) (e4f4 ....Q.7.)
                .byte $AE,$00,$69,$00     ;(e4fc) (e4fc ....)
iobase_direct:  ldx   #$00                ;(e500 A2 00)
                ldy   #$DC                ;(e502 A0 DC)
                rts                       ;(e504 60)
;------------------------------------------------------------------------
iE505:          ldx   #$28                ;(e505 A2 28)
                ldy   #$19                ;(e507 A0 19)
                rts                       ;(e509 60)
;------------------------------------------------------------------------
iE50A:          bcs   iE513               ;(e50a B0 07)

                stx   TBLX                ;(e50c 86 D6) Current Screen Line number of Cursor.
                sty   PNTR                ;(e50e 84 D3) Cursor Column on current Line
                jsr   iE56C               ;(e510 20 6C E5)
iE513:          ldx   TBLX                ;(e513 A6 D6) Current Screen Line number of Cursor.
                ldy   PNTR                ;(e515 A4 D3) Cursor Column on current Line
                rts                       ;(e517 60)
;------------------------------------------------------------------------
cint1:          jsr   iE5A0               ;(e518 20 A0 E5)
                lda   #$00                ;(e51b A9 00)
                sta   e0291               ;(e51d 8D 91 02)
                sta   BLNON               ;(e520 85 CF) Flag: Cursor Status $00 = Off
                lda   #$48                ;(e522 A9 48)
                sta   e028F               ;(e524 8D 8F 02)
                lda   #$EB                ;(e527 A9 EB)
                sta   e0290               ;(e529 8D 90 02)
                lda   #$0A                ;(e52c A9 0A)
                sta   e0289               ;(e52e 8D 89 02)
                sta   e028C               ;(e531 8D 8C 02)
                lda   #$0E                ;(e534 A9 0E)
                sta   e0286               ;(e536 8D 86 02)
                lda   #$04                ;(e539 A9 04)
                sta   e028B               ;(e53b 8D 8B 02)
                lda   #$0C                ;(e53e A9 0C)
                sta   BLNCT               ;(e540 85 CD) Timer: Count down for Cursor blink toggle.
                sta   BLNSW               ;(e542 85 CC) Flag: Cursor blink $00 = Enabled
iE544:          lda   e0288               ;(e544 AD 88 02)
                ora   #$80                ;(e547 09 80)
                tay                       ;(e549 A8)
                lda   #$00                ;(e54a A9 00)
                tax                       ;(e54c AA)
iE54D:          sty   LDTB1,X             ;(e54d 94 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                clc                       ;(e54f 18)
                adc   #$28                ;(e550 69 28)
                bcc   iE555               ;(e552 90 01)

                iny                       ;(e554 C8)
iE555:          inx                       ;(e555 E8)
                cpx   #$1A                ;(e556 E0 1A)
                bne   iE54D               ;(e558 D0 F3)

                lda   #$FF                ;(e55a A9 FF)
                sta   LDTB1,X             ;(e55c 95 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                ldx   #$18                ;(e55e A2 18)
iE560:          jsr   iE9FF               ;(e560 20 FF E9)
                dex                       ;(e563 CA)
                bpl   iE560               ;(e564 10 FA)

iE566:          ldy   #$00                ;(e566 A0 00)
                sty   PNTR                ;(e568 84 D3) Cursor Column on current Line
                sty   TBLX                ;(e56a 84 D6) Current Screen Line number of Cursor.
iE56C:          ldx   TBLX                ;(e56c A6 D6) Current Screen Line number of Cursor.
                lda   PNTR                ;(e56e A5 D3) Cursor Column on current Line
iE570:          ldy   LDTB1,X             ;(e570 B4 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                bmi   iE57C               ;(e572 30 08)

                clc                       ;(e574 18)
                adc   #$28                ;(e575 69 28)
                sta   PNTR                ;(e577 85 D3) Cursor Column on current Line
                dex                       ;(e579 CA)
                bpl   iE570               ;(e57a 10 F4)

iE57C:          lda   LDTB1,X             ;(e57c B5 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                and   #$03                ;(e57e 29 03)
                ora   e0288               ;(e580 0D 88 02)
                sta   PNT+$0001           ;(e583 85 D2) Pointer: Current Screen Line Address.
                lda   scrnlsbtab,X        ;(e585 BD F0 EC) Screenlines LSB Table
                sta   PNT                 ;(e588 85 D1) Pointer: Current Screen Line Address.
                lda   #$27                ;(e58a A9 27)
                inx                       ;(e58c E8)
iE58D:          ldy   LDTB1,X             ;(e58d B4 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                bmi   iE597               ;(e58f 30 06)

                clc                       ;(e591 18)
                adc   #$28                ;(e592 69 28)
                inx                       ;(e594 E8)
                bpl   iE58D               ;(e595 10 F6)

iE597:          sta   LNMX                ;(e597 85 D5) Current logical Line length: 39 or 79.
                rts                       ;(e599 60)
;------------------------------------------------------------------------
;entrypoint at $e59a
;------------------------------------------------------------------------
                jsr   iE5A0               ;(e59a 20 A0 E5)
                jmp   iE566               ;(e59d 4C 66 E5)
;------------------------------------------------------------------------
iE5A0:          lda   #$03                ;(e5a0 A9 03)
                sta   DFLTO               ;(e5a2 85 9A) Default Output Device (3).
                lda   #$00                ;(e5a4 A9 00)
                sta   DFLTN               ;(e5a6 85 99) Default Input Device (0).
                ldx   #$2F                ;(e5a8 A2 2F)
iE5AA:          lda   iECB8,X             ;(e5aa BD B8 EC)
                sta   eCFFF,X             ;(e5ad 9D FF CF)
                dex                       ;(e5b0 CA)
                bne   iE5AA               ;(e5b1 D0 F7)

                rts                       ;(e5b3 60)
;------------------------------------------------------------------------
iE5B4:          ldy   e0277               ;(e5b4 AC 77 02)
                ldx   #$00                ;(e5b7 A2 00)
iE5B9:          lda   e0278,X             ;(e5b9 BD 78 02)
                sta   e0277,X             ;(e5bc 9D 77 02)
                inx                       ;(e5bf E8)
                cpx   NDX                 ;(e5c0 E4 C6) Number of Characters in Keyboard Buffer queue.
                bne   iE5B9               ;(e5c2 D0 F5)

                dec   NDX                 ;(e5c4 C6 C6) Number of Characters in Keyboard Buffer queue.
                tya                       ;(e5c6 98)
                cli                       ;(e5c7 58)
                clc                       ;(e5c8 18)
                rts                       ;(e5c9 60)
;------------------------------------------------------------------------
iE5CA:          jsr   iE716               ;(e5ca 20 16 E7)
iE5CD:          lda   NDX                 ;(e5cd A5 C6) Number of Characters in Keyboard Buffer queue.
                sta   BLNSW               ;(e5cf 85 CC) Flag: Cursor blink $00 = Enabled
                sta   e0292               ;(e5d1 8D 92 02)
                beq   iE5CD               ;(e5d4 F0 F7)

                sei                       ;(e5d6 78)
                lda   BLNON               ;(e5d7 A5 CF) Flag: Cursor Status $00 = Off
                beq   iE5E7               ;(e5d9 F0 0C)

                lda   GDBLN               ;(e5db A5 CE) Character under Cursor while Cursor Inverted.
                ldx   e0287               ;(e5dd AE 87 02)
                ldy   #$00                ;(e5e0 A0 00)
                sty   BLNON               ;(e5e2 84 CF) Flag: Cursor Status $00 = Off
                jsr   iEA13               ;(e5e4 20 13 EA)
iE5E7:          jsr   iE5B4               ;(e5e7 20 B4 E5)
                cmp   #$83                ;(e5ea C9 83)
                bne   iE5FE               ;(e5ec D0 10)

                ldx   #$09                ;(e5ee A2 09)
                sei                       ;(e5f0 78)
                stx   NDX                 ;(e5f1 86 C6) Number of Characters in Keyboard Buffer queue.
iE5F3:          lda   iECE6,X             ;(e5f3 BD E6 EC)
                sta   e0276,X             ;(e5f6 9D 76 02)
                dex                       ;(e5f9 CA)
                bne   iE5F3               ;(e5fa D0 F7)

                beq   iE5CD               ;(e5fc F0 CF)

iE5FE:          cmp   #$0D                ;(e5fe C9 0D)
                bne   iE5CA               ;(e600 D0 C8)

                ldy   LNMX                ;(e602 A4 D5) Current logical Line length: 39 or 79.
                sty   CRSW                ;(e604 84 D0) Flag: Input from Screen = $03
iE606:          lda   (PNT),Y             ;(e606 B1 D1) Pointer: Current Screen Line Address.
                cmp   #$20                ;(e608 C9 20)
                bne   iE60F               ;(e60a D0 03)

                dey                       ;(e60c 88)
                bne   iE606               ;(e60d D0 F7)

iE60F:          iny                       ;(e60f C8)
                sty   INDX                ;(e610 84 C8) Pointer: End of Line for Input (Used to suppress trailing spaces).
                ldy   #$00                ;(e612 A0 00)
                sty   e0292               ;(e614 8C 92 02)
                sty   PNTR                ;(e617 84 D3) Cursor Column on current Line
                sty   QTSW                ;(e619 84 D4) Flag: Editor in Quote Mode $00 = Not.
                lda   LXSP                ;(e61b A5 C9) Cursor X/Y (Line/Column) position at start of Input.
                bmi   iE63A               ;(e61d 30 1B)

                ldx   TBLX                ;(e61f A6 D6) Current Screen Line number of Cursor.
                jsr   iE6ED               ;(e621 20 ED E6)
                cpx   LXSP                ;(e624 E4 C9) Cursor X/Y (Line/Column) position at start of Input.
                bne   iE63A               ;(e626 D0 12)

                lda   LXSP+$0001          ;(e628 A5 CA) Cursor X/Y (Line/Column) position at start of Input.
                sta   PNTR                ;(e62a 85 D3) Cursor Column on current Line
                cmp   INDX                ;(e62c C5 C8) Pointer: End of Line for Input (Used to suppress trailing spaces).
                bcc   iE63A               ;(e62e 90 0A)

                bcs   iE65D               ;(e630 B0 2B)

iE632:          tya                       ;(e632 98)
                pha                       ;(e633 48)
                txa                       ;(e634 8A)
                pha                       ;(e635 48)
                lda   CRSW                ;(e636 A5 D0) Flag: Input from Screen = $03
                beq   iE5CD               ;(e638 F0 93)

iE63A:          ldy   PNTR                ;(e63a A4 D3) Cursor Column on current Line
                lda   (PNT),Y             ;(e63c B1 D1) Pointer: Current Screen Line Address.
                sta   SCHAR               ;(e63e 85 D7) Screen value of current Input Character/Last Character Output.
                and   #$3F                ;(e640 29 3F)
                asl   SCHAR               ;(e642 06 D7) Screen value of current Input Character/Last Character Output.
                bit   SCHAR               ;(e644 24 D7) Screen value of current Input Character/Last Character Output.
                bpl   iE64A               ;(e646 10 02)

                ora   #$80                ;(e648 09 80)
iE64A:          bcc   iE650               ;(e64a 90 04)

                ldx   QTSW                ;(e64c A6 D4) Flag: Editor in Quote Mode $00 = Not.
                bne   iE654               ;(e64e D0 04)

iE650:          bvs   iE654               ;(e650 70 02)

                ora   #$40                ;(e652 09 40)
iE654:          inc   PNTR                ;(e654 E6 D3) Cursor Column on current Line
                jsr   iE684               ;(e656 20 84 E6)
                cpy   INDX                ;(e659 C4 C8) Pointer: End of Line for Input (Used to suppress trailing spaces).
                bne   iE674               ;(e65b D0 17)

iE65D:          lda   #$00                ;(e65d A9 00)
                sta   CRSW                ;(e65f 85 D0) Flag: Input from Screen = $03
                lda   #$0D                ;(e661 A9 0D)
                ldx   DFLTN               ;(e663 A6 99) Default Input Device (0).
                cpx   #$03                ;(e665 E0 03)
                beq   iE66F               ;(e667 F0 06)

                ldx   DFLTO               ;(e669 A6 9A) Default Output Device (3).
                cpx   #$03                ;(e66b E0 03)
                beq   iE672               ;(e66d F0 03)

iE66F:          jsr   iE716               ;(e66f 20 16 E7)
iE672:          lda   #$0D                ;(e672 A9 0D)
iE674:          sta   SCHAR               ;(e674 85 D7) Screen value of current Input Character/Last Character Output.
                pla                       ;(e676 68)
                tax                       ;(e677 AA)
                pla                       ;(e678 68)
                tay                       ;(e679 A8)
                lda   SCHAR               ;(e67a A5 D7) Screen value of current Input Character/Last Character Output.
                cmp   #$DE                ;(e67c C9 DE)
                bne   iE682               ;(e67e D0 02)

                lda   #$FF                ;(e680 A9 FF)
iE682:          clc                       ;(e682 18)
                rts                       ;(e683 60)
;------------------------------------------------------------------------
iE684:          cmp   #$22                ;(e684 C9 22)
                bne   iE690               ;(e686 D0 08)

                lda   QTSW                ;(e688 A5 D4) Flag: Editor in Quote Mode $00 = Not.
                eor   #$01                ;(e68a 49 01)
                sta   QTSW                ;(e68c 85 D4) Flag: Editor in Quote Mode $00 = Not.
                lda   #$22                ;(e68e A9 22)
iE690:          rts                       ;(e690 60)
;------------------------------------------------------------------------
iE691:          ora   #$40                ;(e691 09 40)
iE693:          ldx   RVS                 ;(e693 A6 C7) Flag: Reverse On/Off On = $01
                beq   iE699               ;(e695 F0 02)

iE697:          ora   #$80                ;(e697 09 80)
iE699:          ldx   INSRT               ;(e699 A6 D8) Count of number of inserts outstanding.
                beq   iE69F               ;(e69b F0 02)

                dec   INSRT               ;(e69d C6 D8) Count of number of inserts outstanding.
iE69F:          ldx   e0286               ;(e69f AE 86 02)
                jsr   iEA13               ;(e6a2 20 13 EA)
                jsr   iE6B6               ;(e6a5 20 B6 E6)
iE6A8:          pla                       ;(e6a8 68)
                tay                       ;(e6a9 A8)
                lda   INSRT               ;(e6aa A5 D8) Count of number of inserts outstanding.
                beq   iE6B0               ;(e6ac F0 02)

                lsr   QTSW                ;(e6ae 46 D4) Flag: Editor in Quote Mode $00 = Not.
iE6B0:          pla                       ;(e6b0 68)
                tax                       ;(e6b1 AA)
                pla                       ;(e6b2 68)
                clc                       ;(e6b3 18)
                cli                       ;(e6b4 58)
                rts                       ;(e6b5 60)
;------------------------------------------------------------------------
iE6B6:          jsr   iE8B3               ;(e6b6 20 B3 E8)
                inc   PNTR                ;(e6b9 E6 D3) Cursor Column on current Line
                lda   LNMX                ;(e6bb A5 D5) Current logical Line length: 39 or 79.
                cmp   PNTR                ;(e6bd C5 D3) Cursor Column on current Line
                bcs   iE700               ;(e6bf B0 3F)

                cmp   #$4F                ;(e6c1 C9 4F)
                beq   iE6F7               ;(e6c3 F0 32)

                lda   e0292               ;(e6c5 AD 92 02)
                beq   iE6CD               ;(e6c8 F0 03)

                jmp   iE967               ;(e6ca 4C 67 E9)
;------------------------------------------------------------------------
iE6CD:          ldx   TBLX                ;(e6cd A6 D6) Current Screen Line number of Cursor.
                cpx   #$19                ;(e6cf E0 19)
                bcc   iE6DA               ;(e6d1 90 07)

                jsr   iE8EA               ;(e6d3 20 EA E8)
                dec   TBLX                ;(e6d6 C6 D6) Current Screen Line number of Cursor.
                ldx   TBLX                ;(e6d8 A6 D6) Current Screen Line number of Cursor.
iE6DA:          asl   LDTB1,X             ;(e6da 16 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                lsr   LDTB1,X             ;(e6dc 56 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                inx                       ;(e6de E8)
                lda   LDTB1,X             ;(e6df B5 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                ora   #$80                ;(e6e1 09 80)
                sta   LDTB1,X             ;(e6e3 95 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                dex                       ;(e6e5 CA)
                lda   LNMX                ;(e6e6 A5 D5) Current logical Line length: 39 or 79.
                clc                       ;(e6e8 18)
                adc   #$28                ;(e6e9 69 28)
                sta   LNMX                ;(e6eb 85 D5) Current logical Line length: 39 or 79.
iE6ED:          lda   LDTB1,X             ;(e6ed B5 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                bmi   iE6F4               ;(e6ef 30 03)

                dex                       ;(e6f1 CA)
                bne   iE6ED               ;(e6f2 D0 F9)

iE6F4:          jmp   iE9F0               ;(e6f4 4C F0 E9)
;------------------------------------------------------------------------
iE6F7:          dec   TBLX                ;(e6f7 C6 D6) Current Screen Line number of Cursor.
                jsr   iE87C               ;(e6f9 20 7C E8)
                lda   #$00                ;(e6fc A9 00)
                sta   PNTR                ;(e6fe 85 D3) Cursor Column on current Line
iE700:          rts                       ;(e700 60)
;------------------------------------------------------------------------
iE701:          ldx   TBLX                ;(e701 A6 D6) Current Screen Line number of Cursor.
                bne   iE70B               ;(e703 D0 06)

                stx   PNTR                ;(e705 86 D3) Cursor Column on current Line
                pla                       ;(e707 68)
                pla                       ;(e708 68)
                bne   iE6A8               ;(e709 D0 9D)

iE70B:          dex                       ;(e70b CA)
                stx   TBLX                ;(e70c 86 D6) Current Screen Line number of Cursor.
                jsr   iE56C               ;(e70e 20 6C E5)
                ldy   LNMX                ;(e711 A4 D5) Current logical Line length: 39 or 79.
                sty   PNTR                ;(e713 84 D3) Cursor Column on current Line
                rts                       ;(e715 60)
;------------------------------------------------------------------------
iE716:          pha                       ;(e716 48)
                sta   SCHAR               ;(e717 85 D7) Screen value of current Input Character/Last Character Output.
                txa                       ;(e719 8A)
                pha                       ;(e71a 48)
                tya                       ;(e71b 98)
                pha                       ;(e71c 48)
                lda   #$00                ;(e71d A9 00)
                sta   CRSW                ;(e71f 85 D0) Flag: Input from Screen = $03
                ldy   PNTR                ;(e721 A4 D3) Cursor Column on current Line
                lda   SCHAR               ;(e723 A5 D7) Screen value of current Input Character/Last Character Output.
                bpl   iE72A               ;(e725 10 03)

                jmp   iE7D4               ;(e727 4C D4 E7)
;------------------------------------------------------------------------
iE72A:          cmp   #$0D                ;(e72a C9 0D)
                bne   iE731               ;(e72c D0 03)

                jmp   iE891               ;(e72e 4C 91 E8)
;------------------------------------------------------------------------
iE731:          cmp   #$20                ;(e731 C9 20)
                bcc   iE745               ;(e733 90 10)

                cmp   #$60                ;(e735 C9 60)
                bcc   iE73D               ;(e737 90 04)

                and   #$DF                ;(e739 29 DF)
                bne   iE73F               ;(e73b D0 02)

iE73D:          and   #$3F                ;(e73d 29 3F)
iE73F:          jsr   iE684               ;(e73f 20 84 E6)
                jmp   iE693               ;(e742 4C 93 E6)
;------------------------------------------------------------------------
iE745:          ldx   INSRT               ;(e745 A6 D8) Count of number of inserts outstanding.
                beq   iE74C               ;(e747 F0 03)

                jmp   iE697               ;(e749 4C 97 E6)
;------------------------------------------------------------------------
iE74C:          cmp   #$14                ;(e74c C9 14)
                bne   iE77E               ;(e74e D0 2E)

                tya                       ;(e750 98)
                bne   iE759               ;(e751 D0 06)

                jsr   iE701               ;(e753 20 01 E7)
                jmp   iE773               ;(e756 4C 73 E7)
;------------------------------------------------------------------------
iE759:          jsr   iE8A1               ;(e759 20 A1 E8)
                dey                       ;(e75c 88)
                sty   PNTR                ;(e75d 84 D3) Cursor Column on current Line
                jsr   iEA24               ;(e75f 20 24 EA)
iE762:          iny                       ;(e762 C8)
                lda   (PNT),Y             ;(e763 B1 D1) Pointer: Current Screen Line Address.
                dey                       ;(e765 88)
                sta   (PNT),Y             ;(e766 91 D1) Pointer: Current Screen Line Address.
                iny                       ;(e768 C8)
                lda   (USER),Y            ;(e769 B1 F3) Pointer: Current Colour RAM Location.
                dey                       ;(e76b 88)
                sta   (USER),Y            ;(e76c 91 F3) Pointer: Current Colour RAM Location.
                iny                       ;(e76e C8)
                cpy   LNMX                ;(e76f C4 D5) Current logical Line length: 39 or 79.
                bne   iE762               ;(e771 D0 EF)

iE773:          lda   #$20                ;(e773 A9 20)
                sta   (PNT),Y             ;(e775 91 D1) Pointer: Current Screen Line Address.
                lda   e0286               ;(e777 AD 86 02)
                sta   (USER),Y            ;(e77a 91 F3) Pointer: Current Colour RAM Location.
                bpl   iE7CB               ;(e77c 10 4D)

iE77E:          ldx   QTSW                ;(e77e A6 D4) Flag: Editor in Quote Mode $00 = Not.
                beq   iE785               ;(e780 F0 03)

                jmp   iE697               ;(e782 4C 97 E6)
;------------------------------------------------------------------------
iE785:          cmp   #$12                ;(e785 C9 12)
                bne   iE78B               ;(e787 D0 02)

                sta   RVS                 ;(e789 85 C7) Flag: Reverse On/Off On = $01
iE78B:          cmp   #$13                ;(e78b C9 13)
                bne   iE792               ;(e78d D0 03)

                jsr   iE566               ;(e78f 20 66 E5)
iE792:          cmp   #$1D                ;(e792 C9 1D)
                bne   iE7AD               ;(e794 D0 17)

                iny                       ;(e796 C8)
                jsr   iE8B3               ;(e797 20 B3 E8)
                sty   PNTR                ;(e79a 84 D3) Cursor Column on current Line
                dey                       ;(e79c 88)
                cpy   LNMX                ;(e79d C4 D5) Current logical Line length: 39 or 79.
                bcc   iE7AA               ;(e79f 90 09)

                dec   TBLX                ;(e7a1 C6 D6) Current Screen Line number of Cursor.
                jsr   iE87C               ;(e7a3 20 7C E8)
                ldy   #$00                ;(e7a6 A0 00)
iE7A8:          sty   PNTR                ;(e7a8 84 D3) Cursor Column on current Line
iE7AA:          jmp   iE6A8               ;(e7aa 4C A8 E6)
;------------------------------------------------------------------------
iE7AD:          cmp   #$11                ;(e7ad C9 11)
                bne   iE7CE               ;(e7af D0 1D)

                clc                       ;(e7b1 18)
                tya                       ;(e7b2 98)
                adc   #$28                ;(e7b3 69 28)
                tay                       ;(e7b5 A8)
                inc   TBLX                ;(e7b6 E6 D6) Current Screen Line number of Cursor.
                cmp   LNMX                ;(e7b8 C5 D5) Current logical Line length: 39 or 79.
                bcc   iE7A8               ;(e7ba 90 EC)

                beq   iE7A8               ;(e7bc F0 EA)

                dec   TBLX                ;(e7be C6 D6) Current Screen Line number of Cursor.
iE7C0:          sbc   #$28                ;(e7c0 E9 28)
                bcc   iE7C8               ;(e7c2 90 04)

                sta   PNTR                ;(e7c4 85 D3) Cursor Column on current Line
                bne   iE7C0               ;(e7c6 D0 F8)

iE7C8:          jsr   iE87C               ;(e7c8 20 7C E8)
iE7CB:          jmp   iE6A8               ;(e7cb 4C A8 E6)
;------------------------------------------------------------------------
iE7CE:          jsr   iE8CB               ;(e7ce 20 CB E8)
                jmp   iEC44               ;(e7d1 4C 44 EC)
;------------------------------------------------------------------------
iE7D4:          and   #$7F                ;(e7d4 29 7F)
                cmp   #$7F                ;(e7d6 C9 7F)
                bne   iE7DC               ;(e7d8 D0 02)

                lda   #$5E                ;(e7da A9 5E)
iE7DC:          cmp   #$20                ;(e7dc C9 20)
                bcc   iE7E3               ;(e7de 90 03)

                jmp   iE691               ;(e7e0 4C 91 E6)
;------------------------------------------------------------------------
iE7E3:          cmp   #$0D                ;(e7e3 C9 0D)
                bne   iE7EA               ;(e7e5 D0 03)

                jmp   iE891               ;(e7e7 4C 91 E8)
;------------------------------------------------------------------------
iE7EA:          ldx   QTSW                ;(e7ea A6 D4) Flag: Editor in Quote Mode $00 = Not.
                bne   iE82D               ;(e7ec D0 3F)

                cmp   #$14                ;(e7ee C9 14)
                bne   iE829               ;(e7f0 D0 37)

                ldy   LNMX                ;(e7f2 A4 D5) Current logical Line length: 39 or 79.
                lda   (PNT),Y             ;(e7f4 B1 D1) Pointer: Current Screen Line Address.
                cmp   #$20                ;(e7f6 C9 20)
                bne   iE7FE               ;(e7f8 D0 04)

                cpy   PNTR                ;(e7fa C4 D3) Cursor Column on current Line
                bne   iE805               ;(e7fc D0 07)

iE7FE:          cpy   #$4F                ;(e7fe C0 4F)
;IO Kernal ROM
;------------------------------------------------------------------------
                beq   iE826               ;(e800 F0 24)

;IO Kernal ROM
;------------------------------------------------------------------------
                jsr   iE965               ;(e802 20 65 E9)
iE805:          ldy   LNMX                ;(e805 A4 D5) Current logical Line length: 39 or 79.
                jsr   iEA24               ;(e807 20 24 EA)
iE80A:          dey                       ;(e80a 88)
                lda   (PNT),Y             ;(e80b B1 D1) Pointer: Current Screen Line Address.
                iny                       ;(e80d C8)
                sta   (PNT),Y             ;(e80e 91 D1) Pointer: Current Screen Line Address.
                dey                       ;(e810 88)
                lda   (USER),Y            ;(e811 B1 F3) Pointer: Current Colour RAM Location.
                iny                       ;(e813 C8)
                sta   (USER),Y            ;(e814 91 F3) Pointer: Current Colour RAM Location.
                dey                       ;(e816 88)
                cpy   PNTR                ;(e817 C4 D3) Cursor Column on current Line
                bne   iE80A               ;(e819 D0 EF)

                lda   #$20                ;(e81b A9 20)
                sta   (PNT),Y             ;(e81d 91 D1) Pointer: Current Screen Line Address.
                lda   e0286               ;(e81f AD 86 02)
                sta   (USER),Y            ;(e822 91 F3) Pointer: Current Colour RAM Location.
                inc   INSRT               ;(e824 E6 D8) Count of number of inserts outstanding.
iE826:          jmp   iE6A8               ;(e826 4C A8 E6)
;------------------------------------------------------------------------
iE829:          ldx   INSRT               ;(e829 A6 D8) Count of number of inserts outstanding.
                beq   iE832               ;(e82b F0 05)

iE82D:          ora   #$40                ;(e82d 09 40)
                jmp   iE697               ;(e82f 4C 97 E6)
;------------------------------------------------------------------------
iE832:          cmp   #$11                ;(e832 C9 11)
                bne   iE84C               ;(e834 D0 16)

                ldx   TBLX                ;(e836 A6 D6) Current Screen Line number of Cursor.
                beq   iE871               ;(e838 F0 37)

                dec   TBLX                ;(e83a C6 D6) Current Screen Line number of Cursor.
                lda   PNTR                ;(e83c A5 D3) Cursor Column on current Line
                sec                       ;(e83e 38)
                sbc   #$28                ;(e83f E9 28)
                bcc   iE847               ;(e841 90 04)

                sta   PNTR                ;(e843 85 D3) Cursor Column on current Line
                bpl   iE871               ;(e845 10 2A)

iE847:          jsr   iE56C               ;(e847 20 6C E5)
                bne   iE871               ;(e84a D0 25)

iE84C:          cmp   #$12                ;(e84c C9 12)
                bne   iE854               ;(e84e D0 04)

                lda   #$00                ;(e850 A9 00)
                sta   RVS                 ;(e852 85 C7) Flag: Reverse On/Off On = $01
iE854:          cmp   #$1D                ;(e854 C9 1D)
                bne   iE86A               ;(e856 D0 12)

                tya                       ;(e858 98)
                beq   iE864               ;(e859 F0 09)

                jsr   iE8A1               ;(e85b 20 A1 E8)
                dey                       ;(e85e 88)
                sty   PNTR                ;(e85f 84 D3) Cursor Column on current Line
                jmp   iE6A8               ;(e861 4C A8 E6)
;------------------------------------------------------------------------
iE864:          jsr   iE701               ;(e864 20 01 E7)
                jmp   iE6A8               ;(e867 4C A8 E6)
;------------------------------------------------------------------------
iE86A:          cmp   #$13                ;(e86a C9 13)
                bne   iE874               ;(e86c D0 06)

                jsr   iE544               ;(e86e 20 44 E5)
iE871:          jmp   iE6A8               ;(e871 4C A8 E6)
;------------------------------------------------------------------------
iE874:          ora   #$80                ;(e874 09 80)
                jsr   iE8CB               ;(e876 20 CB E8)
                jmp   iEC4F               ;(e879 4C 4F EC)
;------------------------------------------------------------------------
iE87C:          lsr   LXSP                ;(e87c 46 C9) Cursor X/Y (Line/Column) position at start of Input.
                ldx   TBLX                ;(e87e A6 D6) Current Screen Line number of Cursor.
iE880:          inx                       ;(e880 E8)
                cpx   #$19                ;(e881 E0 19)
                bne   iE888               ;(e883 D0 03)

                jsr   iE8EA               ;(e885 20 EA E8)
iE888:          lda   LDTB1,X             ;(e888 B5 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                bpl   iE880               ;(e88a 10 F4)

                stx   TBLX                ;(e88c 86 D6) Current Screen Line number of Cursor.
                jmp   iE56C               ;(e88e 4C 6C E5)
;------------------------------------------------------------------------
iE891:          ldx   #$00                ;(e891 A2 00)
                stx   INSRT               ;(e893 86 D8) Count of number of inserts outstanding.
                stx   RVS                 ;(e895 86 C7) Flag: Reverse On/Off On = $01
                stx   QTSW                ;(e897 86 D4) Flag: Editor in Quote Mode $00 = Not.
                stx   PNTR                ;(e899 86 D3) Cursor Column on current Line
                jsr   iE87C               ;(e89b 20 7C E8)
                jmp   iE6A8               ;(e89e 4C A8 E6)
;------------------------------------------------------------------------
iE8A1:          ldx   #$02                ;(e8a1 A2 02)
                lda   #$00                ;(e8a3 A9 00)
iE8A5:          cmp   PNTR                ;(e8a5 C5 D3) Cursor Column on current Line
                beq   iE8B0               ;(e8a7 F0 07)

                clc                       ;(e8a9 18)
                adc   #$28                ;(e8aa 69 28)
                dex                       ;(e8ac CA)
                bne   iE8A5               ;(e8ad D0 F6)

                rts                       ;(e8af 60)
;------------------------------------------------------------------------
iE8B0:          dec   TBLX                ;(e8b0 C6 D6) Current Screen Line number of Cursor.
                rts                       ;(e8b2 60)
;------------------------------------------------------------------------
iE8B3:          ldx   #$02                ;(e8b3 A2 02)
                lda   #$27                ;(e8b5 A9 27)
iE8B7:          cmp   PNTR                ;(e8b7 C5 D3) Cursor Column on current Line
                beq   iE8C2               ;(e8b9 F0 07)

                clc                       ;(e8bb 18)
                adc   #$28                ;(e8bc 69 28)
                dex                       ;(e8be CA)
                bne   iE8B7               ;(e8bf D0 F6)

                rts                       ;(e8c1 60)
;------------------------------------------------------------------------
iE8C2:          ldx   TBLX                ;(e8c2 A6 D6) Current Screen Line number of Cursor.
                cpx   #$19                ;(e8c4 E0 19)
                beq   iE8CA               ;(e8c6 F0 02)

                inc   TBLX                ;(e8c8 E6 D6) Current Screen Line number of Cursor.
iE8CA:          rts                       ;(e8ca 60)
;------------------------------------------------------------------------
iE8CB:          ldx   #$0F                ;(e8cb A2 0F)
iE8CD:          cmp   cgcolorcodes,X      ;(e8cd DD DA E8) CBM Color Codes Table
                beq   iE8D6               ;(e8d0 F0 04)

                dex                       ;(e8d2 CA)
                bpl   iE8CD               ;(e8d3 10 F8)

                rts                       ;(e8d5 60)
;------------------------------------------------------------------------
iE8D6:          stx   e0286               ;(e8d6 8E 86 02)
                rts                       ;(e8d9 60)
;------------------------------------------------------------------------
;CBM Color Codes Table
;------------------------------------------------------------------------
cgcolorcodes:   .byte $90,$05,$1C,$9F,$9C,$1E,$1F,$9E;(e8da) (e8da ........)
                .byte $81,$95,$96,$97,$98,$99,$9A,$9B;(e8e2) (e8e2 ........)
iE8EA:          lda   SAL                 ;(e8ea A5 AC) Pointer: Tape Buffer/Screen scrolling.
                pha                       ;(e8ec 48)
                lda   SAL+$0001           ;(e8ed A5 AD) Pointer: Tape Buffer/Screen scrolling.
                pha                       ;(e8ef 48)
                lda   EAL                 ;(e8f0 A5 AE) Tape End Address/End of Program.
                pha                       ;(e8f2 48)
                lda   EAL+$0001           ;(e8f3 A5 AF) Tape End Address/End of Program.
                pha                       ;(e8f5 48)
iE8F6:          ldx   #$FF                ;(e8f6 A2 FF)
                dec   TBLX                ;(e8f8 C6 D6) Current Screen Line number of Cursor.
                dec   LXSP                ;(e8fa C6 C9) Cursor X/Y (Line/Column) position at start of Input.
                dec   e02A5               ;(e8fc CE A5 02)
iE8FF:          inx                       ;(e8ff E8)
                jsr   iE9F0               ;(e900 20 F0 E9)
                cpx   #$18                ;(e903 E0 18)
                bcs   iE913               ;(e905 B0 0C)

                lda   scrnlsbtab+$0001,X  ;(e907 BD F1 EC) Screenlines LSB Table
                sta   SAL                 ;(e90a 85 AC) Pointer: Tape Buffer/Screen scrolling.
                lda   LDTB1+$0001,X       ;(e90c B5 DA) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                jsr   iE9C8               ;(e90e 20 C8 E9)
                bmi   iE8FF               ;(e911 30 EC)

iE913:          jsr   iE9FF               ;(e913 20 FF E9)
                ldx   #$00                ;(e916 A2 00)
iE918:          lda   LDTB1,X             ;(e918 B5 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                and   #$7F                ;(e91a 29 7F)
                ldy   LDTB1+$0001,X       ;(e91c B4 DA) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                bpl   iE922               ;(e91e 10 02)

                ora   #$80                ;(e920 09 80)
iE922:          sta   LDTB1,X             ;(e922 95 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                inx                       ;(e924 E8)
                cpx   #$18                ;(e925 E0 18)
                bne   iE918               ;(e927 D0 EF)

                lda   zpF1                ;(e929 A5 F1)
                ora   #$80                ;(e92b 09 80)
                sta   zpF1                ;(e92d 85 F1)
                lda   LDTB1               ;(e92f A5 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                bpl   iE8F6               ;(e931 10 C3)

                inc   TBLX                ;(e933 E6 D6) Current Screen Line number of Cursor.
                inc   e02A5               ;(e935 EE A5 02)
                lda   #$7F                ;(e938 A9 7F)
                sta   __CIA1__            ;(e93a 8D 00 DC) Complex Interface Adapter 1
                lda   __CIA1__+$0001      ;(e93d AD 01 DC) Complex Interface Adapter 1
                cmp   #$FB                ;(e940 C9 FB)
                php                       ;(e942 08)
                lda   #$7F                ;(e943 A9 7F)
                sta   __CIA1__            ;(e945 8D 00 DC) Complex Interface Adapter 1
                plp                       ;(e948 28)
                bne   iE956               ;(e949 D0 0B)

                ldy   #$00                ;(e94b A0 00)
iE94D:          nop                       ;(e94d EA)
                dex                       ;(e94e CA)
                bne   iE94D               ;(e94f D0 FC)

                dey                       ;(e951 88)
                bne   iE94D               ;(e952 D0 F9)

                sty   NDX                 ;(e954 84 C6) Number of Characters in Keyboard Buffer queue.
iE956:          ldx   TBLX                ;(e956 A6 D6) Current Screen Line number of Cursor.
iE958:          pla                       ;(e958 68)
                sta   EAL+$0001           ;(e959 85 AF) Tape End Address/End of Program.
                pla                       ;(e95b 68)
                sta   EAL                 ;(e95c 85 AE) Tape End Address/End of Program.
                pla                       ;(e95e 68)
                sta   SAL+$0001           ;(e95f 85 AD) Pointer: Tape Buffer/Screen scrolling.
                pla                       ;(e961 68)
                sta   SAL                 ;(e962 85 AC) Pointer: Tape Buffer/Screen scrolling.
                rts                       ;(e964 60)
;------------------------------------------------------------------------
iE965:          ldx   TBLX                ;(e965 A6 D6) Current Screen Line number of Cursor.
iE967:          inx                       ;(e967 E8)
                lda   LDTB1,X             ;(e968 B5 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                bpl   iE967               ;(e96a 10 FB)

                stx   e02A5               ;(e96c 8E A5 02)
                cpx   #$18                ;(e96f E0 18)
                beq   iE981               ;(e971 F0 0E)

                bcc   iE981               ;(e973 90 0C)

                jsr   iE8EA               ;(e975 20 EA E8)
                ldx   e02A5               ;(e978 AE A5 02)
                dex                       ;(e97b CA)
                dec   TBLX                ;(e97c C6 D6) Current Screen Line number of Cursor.
                jmp   iE6DA               ;(e97e 4C DA E6)
;------------------------------------------------------------------------
iE981:          lda   SAL                 ;(e981 A5 AC) Pointer: Tape Buffer/Screen scrolling.
                pha                       ;(e983 48)
                lda   SAL+$0001           ;(e984 A5 AD) Pointer: Tape Buffer/Screen scrolling.
                pha                       ;(e986 48)
                lda   EAL                 ;(e987 A5 AE) Tape End Address/End of Program.
                pha                       ;(e989 48)
                lda   EAL+$0001           ;(e98a A5 AF) Tape End Address/End of Program.
                pha                       ;(e98c 48)
                ldx   #$19                ;(e98d A2 19)
iE98F:          dex                       ;(e98f CA)
                jsr   iE9F0               ;(e990 20 F0 E9)
                cpx   e02A5               ;(e993 EC A5 02)
                bcc   iE9A6               ;(e996 90 0E)

                beq   iE9A6               ;(e998 F0 0C)

                lda   iECEF,X             ;(e99a BD EF EC)
                sta   SAL                 ;(e99d 85 AC) Pointer: Tape Buffer/Screen scrolling.
                lda   INSRT   ,X          ;(e99f B5 D8) Count of number of inserts outstanding.
                jsr   iE9C8               ;(e9a1 20 C8 E9)
                bmi   iE98F               ;(e9a4 30 E9)

iE9A6:          jsr   iE9FF               ;(e9a6 20 FF E9)
                ldx   #$17                ;(e9a9 A2 17)
iE9AB:          cpx   e02A5               ;(e9ab EC A5 02)
                bcc   iE9BF               ;(e9ae 90 0F)

                lda   LDTB1+$0001,X       ;(e9b0 B5 DA) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                and   #$7F                ;(e9b2 29 7F)
                ldy   LDTB1,X             ;(e9b4 B4 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                bpl   iE9BA               ;(e9b6 10 02)

                ora   #$80                ;(e9b8 09 80)
iE9BA:          sta   LDTB1+$0001,X       ;(e9ba 95 DA) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                dex                       ;(e9bc CA)
                bne   iE9AB               ;(e9bd D0 EC)

iE9BF:          ldx   e02A5               ;(e9bf AE A5 02)
                jsr   iE6DA               ;(e9c2 20 DA E6)
                jmp   iE958               ;(e9c5 4C 58 E9)
;------------------------------------------------------------------------
iE9C8:          and   #$03                ;(e9c8 29 03)
                ora   e0288               ;(e9ca 0D 88 02)
                sta   SAL+$0001           ;(e9cd 85 AD) Pointer: Tape Buffer/Screen scrolling.
                jsr   iE9E0               ;(e9cf 20 E0 E9)
                ldy   #$27                ;(e9d2 A0 27)
iE9D4:          lda   (SAL),Y             ;(e9d4 B1 AC) Pointer: Tape Buffer/Screen scrolling.
                sta   (PNT),Y             ;(e9d6 91 D1) Pointer: Current Screen Line Address.
                lda   (EAL),Y             ;(e9d8 B1 AE) Tape End Address/End of Program.
                sta   (USER),Y            ;(e9da 91 F3) Pointer: Current Colour RAM Location.
                dey                       ;(e9dc 88)
                bpl   iE9D4               ;(e9dd 10 F5)

                rts                       ;(e9df 60)
;------------------------------------------------------------------------
iE9E0:          jsr   iEA24               ;(e9e0 20 24 EA)
                lda   SAL                 ;(e9e3 A5 AC) Pointer: Tape Buffer/Screen scrolling.
                sta   EAL                 ;(e9e5 85 AE) Tape End Address/End of Program.
                lda   SAL+$0001           ;(e9e7 A5 AD) Pointer: Tape Buffer/Screen scrolling.
                and   #$03                ;(e9e9 29 03)
                ora   #$D8                ;(e9eb 09 D8)
                sta   EAL+$0001           ;(e9ed 85 AF) Tape End Address/End of Program.
                rts                       ;(e9ef 60)
;------------------------------------------------------------------------
iE9F0:          lda   scrnlsbtab,X        ;(e9f0 BD F0 EC) Screenlines LSB Table
                sta   PNT                 ;(e9f3 85 D1) Pointer: Current Screen Line Address.
                lda   LDTB1,X             ;(e9f5 B5 D9) Screen Line link Table/Editor temporaries. High Byte of Line Screen Memory Location.
                and   #$03                ;(e9f7 29 03)
                ora   e0288               ;(e9f9 0D 88 02)
                sta   PNT+$0001           ;(e9fc 85 D2) Pointer: Current Screen Line Address.
                rts                       ;(e9fe 60)
;------------------------------------------------------------------------
iE9FF:          ldy   #$27                ;(e9ff A0 27)
                jsr   iE9F0               ;(ea01 20 F0 E9)
                jsr   iEA24               ;(ea04 20 24 EA)
iEA07:          lda   #$20                ;(ea07 A9 20)
                sta   (PNT),Y             ;(ea09 91 D1) Pointer: Current Screen Line Address.
                jsr   iE4DA               ;(ea0b 20 DA E4)
                nop                       ;(ea0e EA)
                dey                       ;(ea0f 88)
                bpl   iEA07               ;(ea10 10 F5)

                rts                       ;(ea12 60)
;------------------------------------------------------------------------
iEA13:          tay                       ;(ea13 A8)
                lda   #$02                ;(ea14 A9 02)
                sta   BLNCT               ;(ea16 85 CD) Timer: Count down for Cursor blink toggle.
                jsr   iEA24               ;(ea18 20 24 EA)
                tya                       ;(ea1b 98)
iEA1C:          ldy   PNTR                ;(ea1c A4 D3) Cursor Column on current Line
                sta   (PNT),Y             ;(ea1e 91 D1) Pointer: Current Screen Line Address.
                txa                       ;(ea20 8A)
                sta   (USER),Y            ;(ea21 91 F3) Pointer: Current Colour RAM Location.
                rts                       ;(ea23 60)
;------------------------------------------------------------------------
iEA24:          lda   PNT                 ;(ea24 A5 D1) Pointer: Current Screen Line Address.
                sta   USER                ;(ea26 85 F3) Pointer: Current Colour RAM Location.
                lda   PNT+$0001           ;(ea28 A5 D2) Pointer: Current Screen Line Address.
                and   #$03                ;(ea2a 29 03)
                ora   #$D8                ;(ea2c 09 D8)
                sta   zpF4                ;(ea2e 85 F4)
                rts                       ;(ea30 60)
;------------------------------------------------------------------------
;entrypoint at $ea31
;------------------------------------------------------------------------
                jsr   udtim               ;(ea31 20 EA FF)
                lda   BLNSW               ;(ea34 A5 CC) Flag: Cursor blink $00 = Enabled
                bne   iEA61               ;(ea36 D0 29)

                dec   BLNCT               ;(ea38 C6 CD) Timer: Count down for Cursor blink toggle.
                bne   iEA61               ;(ea3a D0 25)

                lda   #$14                ;(ea3c A9 14)
                sta   BLNCT               ;(ea3e 85 CD) Timer: Count down for Cursor blink toggle.
                ldy   PNTR                ;(ea40 A4 D3) Cursor Column on current Line
                lsr   BLNON               ;(ea42 46 CF) Flag: Cursor Status $00 = Off
                ldx   e0287               ;(ea44 AE 87 02)
                lda   (PNT),Y             ;(ea47 B1 D1) Pointer: Current Screen Line Address.
                bcs   iEA5C               ;(ea49 B0 11)

                inc   BLNON               ;(ea4b E6 CF) Flag: Cursor Status $00 = Off
                sta   GDBLN               ;(ea4d 85 CE) Character under Cursor while Cursor Inverted.
                jsr   iEA24               ;(ea4f 20 24 EA)
                lda   (USER),Y            ;(ea52 B1 F3) Pointer: Current Colour RAM Location.
                sta   e0287               ;(ea54 8D 87 02)
                ldx   e0286               ;(ea57 AE 86 02)
                lda   GDBLN               ;(ea5a A5 CE) Character under Cursor while Cursor Inverted.
iEA5C:          eor   #$80                ;(ea5c 49 80)
iEA5E:                                    ;(ea5e)
iEA60           =     iEA5E+$02           ;(ea60)
                jsr   iEA1C               ;(ea5e 20 1C EA)
iEA61:          lda   __CPUIO1__          ;(ea61 A5 01) Cpu-Port Data
                and   #$10                ;(ea63 29 10)
                beq   iEA71               ;(ea65 F0 0A)

                ldy   #$00                ;(ea67 A0 00)
                sty   CAS1                ;(ea69 84 C0) Tape Motor Switch.
                lda   __CPUIO1__          ;(ea6b A5 01) Cpu-Port Data
                ora   #$20                ;(ea6d 09 20)
                bne   iEA79               ;(ea6f D0 08)

iEA71:          lda   CAS1                ;(ea71 A5 C0) Tape Motor Switch.
                bne   iEA7B               ;(ea73 D0 06)

                lda   __CPUIO1__          ;(ea75 A5 01) Cpu-Port Data
                and   #$1F                ;(ea77 29 1F)
iEA79:          sta   __CPUIO1__          ;(ea79 85 01) Cpu-Port Data
iEA7B:          jsr   iEA87               ;(ea7b 20 87 EA)
                lda   eDC0D               ;(ea7e AD 0D DC)
                pla                       ;(ea81 68)
                tay                       ;(ea82 A8)
                pla                       ;(ea83 68)
                tax                       ;(ea84 AA)
                pla                       ;(ea85 68)
                rti                       ;(ea86 40)
iEA87:          lda   #$00                ;(ea87 A9 00)
                sta   e028D               ;(ea89 8D 8D 02)
                ldy   #$40                ;(ea8c A0 40)
                sty   SFDX                ;(ea8e 84 CB) Flag: Print shifted Characters.
                sta   __CIA1__            ;(ea90 8D 00 DC) Complex Interface Adapter 1
                ldx   __CIA1__+$0001      ;(ea93 AE 01 DC) Complex Interface Adapter 1
                cpx   #$FF                ;(ea96 E0 FF)
                beq   iEAFB               ;(ea98 F0 61)

                tay                       ;(ea9a A8)
                lda   #$81                ;(ea9b A9 81)
                sta   KEYTAB              ;(ea9d 85 F5) Vector: Current Keyboard decoding Table. ($EB81)
                lda   #$EB                ;(ea9f A9 EB)
                sta   KEYTAB+$0001        ;(eaa1 85 F6) Vector: Current Keyboard decoding Table. ($EB81)
                lda   #$FE                ;(eaa3 A9 FE)
                sta   __CIA1__            ;(eaa5 8D 00 DC) Complex Interface Adapter 1
iEAA8:          ldx   #$08                ;(eaa8 A2 08)
                pha                       ;(eaaa 48)
iEAAB:          lda   __CIA1__+$0001      ;(eaab AD 01 DC) Complex Interface Adapter 1
                cmp   __CIA1__+$0001      ;(eaae CD 01 DC) Complex Interface Adapter 1
                bne   iEAAB               ;(eab1 D0 F8)

iEAB3:          lsr   A                   ;(eab3 4A)
                bcs   iEACC               ;(eab4 B0 16)

                pha                       ;(eab6 48)
                lda   (KEYTAB),Y          ;(eab7 B1 F5) Vector: Current Keyboard decoding Table. ($EB81)
                cmp   #$05                ;(eab9 C9 05)
                bcs   iEAC9               ;(eabb B0 0C)

                cmp   #$03                ;(eabd C9 03)
                beq   iEAC9               ;(eabf F0 08)

                ora   e028D               ;(eac1 0D 8D 02)
                sta   e028D               ;(eac4 8D 8D 02)
                bpl   iEACB               ;(eac7 10 02)

iEAC9:          sty   SFDX                ;(eac9 84 CB) Flag: Print shifted Characters.
iEACB:          pla                       ;(eacb 68)
iEACC:          iny                       ;(eacc C8)
                cpy   #$41                ;(eacd C0 41)
                bcs   iEADC               ;(eacf B0 0B)

                dex                       ;(ead1 CA)
                bne   iEAB3               ;(ead2 D0 DF)

                sec                       ;(ead4 38)
                pla                       ;(ead5 68)
                rol   A                   ;(ead6 2A)
                sta   __CIA1__            ;(ead7 8D 00 DC) Complex Interface Adapter 1
                bne   iEAA8               ;(eada D0 CC)

iEADC:          pla                       ;(eadc 68)
                jmp   (e028F)             ;(eadd 6C 8F 02) *($028f)=$0000
;------------------------------------------------------------------------
iEAE0:          ldy   SFDX                ;(eae0 A4 CB) Flag: Print shifted Characters.
                lda   (KEYTAB),Y          ;(eae2 B1 F5) Vector: Current Keyboard decoding Table. ($EB81)
                tax                       ;(eae4 AA)
                cpy   LSTX                ;(eae5 C4 C5) Matrix value of last Key pressed No Key = $40.
                beq   iEAF0               ;(eae7 F0 07)

                ldy   #$10                ;(eae9 A0 10)
                sty   e028C               ;(eaeb 8C 8C 02)
                bne   iEB26               ;(eaee D0 36)

iEAF0:          and   #$7F                ;(eaf0 29 7F)
                bit   e028A               ;(eaf2 2C 8A 02)
                bmi   iEB0D               ;(eaf5 30 16)

                bvs   iEB42               ;(eaf7 70 49)

                cmp   #$7F                ;(eaf9 C9 7F)
iEAFB:          beq   iEB26               ;(eafb F0 29)

                cmp   #$14                ;(eafd C9 14)
                beq   iEB0D               ;(eaff F0 0C)

                cmp   #$20                ;(eb01 C9 20)
                beq   iEB0D               ;(eb03 F0 08)

                cmp   #$1D                ;(eb05 C9 1D)
                beq   iEB0D               ;(eb07 F0 04)

                cmp   #$11                ;(eb09 C9 11)
                bne   iEB42               ;(eb0b D0 35)

iEB0D:          ldy   e028C               ;(eb0d AC 8C 02)
                beq   iEB17               ;(eb10 F0 05)

                dec   e028C               ;(eb12 CE 8C 02)
                bne   iEB42               ;(eb15 D0 2B)

iEB17:          dec   e028B               ;(eb17 CE 8B 02)
                bne   iEB42               ;(eb1a D0 26)

                ldy   #$04                ;(eb1c A0 04)
                sty   e028B               ;(eb1e 8C 8B 02)
                ldy   NDX                 ;(eb21 A4 C6) Number of Characters in Keyboard Buffer queue.
                dey                       ;(eb23 88)
                bpl   iEB42               ;(eb24 10 1C)

iEB26:          ldy   SFDX                ;(eb26 A4 CB) Flag: Print shifted Characters.
                sty   LSTX                ;(eb28 84 C5) Matrix value of last Key pressed No Key = $40.
                ldy   e028D               ;(eb2a AC 8D 02)
                sty   e028E               ;(eb2d 8C 8E 02)
                cpx   #$FF                ;(eb30 E0 FF)
                beq   iEB42               ;(eb32 F0 0E)

                txa                       ;(eb34 8A)
                ldx   NDX                 ;(eb35 A6 C6) Number of Characters in Keyboard Buffer queue.
                cpx   e0289               ;(eb37 EC 89 02)
                bcs   iEB42               ;(eb3a B0 06)

                sta   e0277,X             ;(eb3c 9D 77 02)
                inx                       ;(eb3f E8)
                stx   NDX                 ;(eb40 86 C6) Number of Characters in Keyboard Buffer queue.
iEB42:          lda   #$7F                ;(eb42 A9 7F)
                sta   __CIA1__            ;(eb44 8D 00 DC) Complex Interface Adapter 1
                rts                       ;(eb47 60)
;------------------------------------------------------------------------
;entrypoint at $eb48
;------------------------------------------------------------------------
                lda   e028D               ;(eb48 AD 8D 02)
                cmp   #$03                ;(eb4b C9 03)
                bne   iEB64               ;(eb4d D0 15)

                cmp   e028E               ;(eb4f CD 8E 02)
                beq   iEB42               ;(eb52 F0 EE)

                lda   e0291               ;(eb54 AD 91 02)
                bmi   iEB76               ;(eb57 30 1D)

                lda   VIC_CHRSCRN         ;(eb59 AD 18 D0) char and screen base
                eor   #$02                ;(eb5c 49 02)
                sta   VIC_CHRSCRN         ;(eb5e 8D 18 D0) char and screen base
                jmp   iEB76               ;(eb61 4C 76 EB)
;------------------------------------------------------------------------
iEB64:          asl   A                   ;(eb64 0A)
                cmp   #$08                ;(eb65 C9 08)
                bcc   iEB6B               ;(eb67 90 02)

                lda   #$06                ;(eb69 A9 06)
iEB6B:          tax                       ;(eb6b AA)
                lda   keytabptr,X         ;(eb6c BD 79 EB) Pointer to Keyboard decoding tables 1-4
                sta   KEYTAB              ;(eb6f 85 F5) Vector: Current Keyboard decoding Table. ($EB81)
                lda   keytabptr+$0001,X   ;(eb71 BD 7A EB) Pointer to Keyboard decoding tables 1-4
                sta   KEYTAB+$0001        ;(eb74 85 F6) Vector: Current Keyboard decoding Table. ($EB81)
iEB76:          jmp   iEAE0               ;(eb76 4C E0 EA)
;------------------------------------------------------------------------
keytabptr:                                ;(eb79)
iEB7A           =     keytabptr+$01       ;(eb7a)
;Pointer to Keyboard decoding tables 1-4
;------------------------------------------------------------------------
                .byte $81,$EB,$C2,$EB,$03,$EC,$78,$EC;(eb79) (eb79 ..B.....)
;Keyboard decoding table 1
;------------------------------------------------------------------------
                .byte $14,$0D,$1D,$88,$85,$86,$87,$11;(eb81) (eb81 ........)
                .byte $33,$57,$41,$34,$5A,$53,$45,$01;(eb89) (eb89 3wa4zse.)
                .byte $35,$52,$44,$36,$43,$46,$54,$58;(eb91) (eb91 5rd6cftx)
                .byte $37,$59,$47,$38,$42,$48,$55,$56;(eb99) (eb99 7yg8bhuv)
                .byte $39,$49,$4A,$30,$4D,$4B,$4F,$4E;(eba1) (eba1 9ij0mkon)
                .byte $2B,$50,$4C,$2D,$2E,$3A,$40,$2C;(eba9) (eba9 +pl-.:@,)
                .byte $5C,$2A,$3B,$13,$01,$3D,$5E,$2F;(ebb1) (ebb1 .*;..=^/)
                .byte $31,$5F,$04,$32,$20,$02,$51,$03;(ebb9) (ebb9 1..2 .q.)
                .byte $FF,$94,$8D,$9D,$8C,$89,$8A,$8B;(ebc1) (ebc1 ........)
                .byte $91,$23,$D7,$C1,$24,$DA,$D3,$C5;(ebc9) (ebc9 .#WA$ZSE)
                .byte $01,$25,$D2,$C4,$26,$C3,$C6,$D4;(ebd1) (ebd1 .%RD&CFT)
                .byte $D8,$27,$D9,$C7,$28,$C2,$C8,$D5;(ebd9) (ebd9 X'YG(BHU)
                .byte $D6,$29,$C9,$CA,$30,$CD,$CB,$CF;(ebe1) (ebe1 V)IJ0MKO)
                .byte $CE,$DB,$D0,$CC,$DD,$3E,$5B,$BA;(ebe9) (ebe9 N.PL.>[.)
                .byte $3C,$A9,$C0,$5D,$93,$01,$3D,$DE;(ebf1) (ebf1 <..]..=.)
                .byte $3F,$21,$5F,$04,$22,$A0,$02,$D1;(ebf9) (ebf9 ?!.."..Q)
;IO Kernal ROM
;------------------------------------------------------------------------
                .byte $83,$FF,$94,$8D,$9D,$8C,$89,$8A;(ec01) (ec01 ........)
                .byte $8B,$91,$96,$B3,$B0,$97,$AD,$AE;(ec09) (ec09 ........)
                .byte $B1,$01,$98,$B2,$AC,$99,$BC,$BB;(ec11) (ec11 ........)
                .byte $A3,$BD,$9A,$B7,$A5,$9B,$BF,$B4;(ec19) (ec19 ........)
                .byte $B8,$BE,$29,$A2,$B5,$30,$A7,$A1;(ec21) (ec21 ..)..0..)
                .byte $B9,$AA,$A6,$AF,$B6,$DC,$3E,$5B;(ec29) (ec29 ..._..>[)
                .byte $A4,$3C,$A8,$DF,$5D,$93,$01,$3D;(ec31) (ec31 .<..]..=)
                .byte $DE,$3F,$81,$5F,$04,$95,$A0,$02;(ec39) (ec39 .?......)
                .byte $AB,$83,$FF         ;(ec41) (ec41 ...)
iEC44:          cmp   #$0E                ;(ec44 C9 0E)
                bne   iEC4F               ;(ec46 D0 07)

                lda   VIC_CHRSCRN         ;(ec48 AD 18 D0) char and screen base
                ora   #$02                ;(ec4b 09 02)
                bne   iEC58               ;(ec4d D0 09)

iEC4F:          cmp   #$8E                ;(ec4f C9 8E)
                bne   iEC5E               ;(ec51 D0 0B)

                lda   VIC_CHRSCRN         ;(ec53 AD 18 D0) char and screen base
                and   #$FD                ;(ec56 29 FD)
iEC58:          sta   VIC_CHRSCRN         ;(ec58 8D 18 D0) char and screen base
iEC5B:          jmp   iE6A8               ;(ec5b 4C A8 E6)
;------------------------------------------------------------------------
iEC5E:          cmp   #$08                ;(ec5e C9 08)
                bne   iEC69               ;(ec60 D0 07)

                lda   #$80                ;(ec62 A9 80)
                ora   e0291               ;(ec64 0D 91 02)
                bmi   iEC72               ;(ec67 30 09)

iEC69:          cmp   #$09                ;(ec69 C9 09)
                bne   iEC5B               ;(ec6b D0 EE)

                lda   #$7F                ;(ec6d A9 7F)
                and   e0291               ;(ec6f 2D 91 02)
iEC72:          sta   e0291               ;(ec72 8D 91 02)
                jmp   iE6A8               ;(ec75 4C A8 E6)
;------------------------------------------------------------------------
;Keyboard decoding table 4 with ctrl
;------------------------------------------------------------------------
                .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF;(ec78) (ec78 ........)
                .byte $1C,$17,$01,$9F,$1A,$13,$05,$FF;(ec80) (ec80 ........)
                .byte $9C,$12,$04,$1E,$03,$06,$14,$18;(ec88) (ec88 ........)
                .byte $1F,$19,$07,$9E,$02,$08,$15,$16;(ec90) (ec90 ........)
                .byte $12,$09,$0A,$92,$0D,$0B,$0F,$0E;(ec98) (ec98 ........)
                .byte $FF,$10,$0C,$FF,$FF,$1B,$00,$FF;(eca0) (eca0 ........)
                .byte $1C,$FF,$1D,$FF,$FF,$1F,$1E,$FF;(eca8) (eca8 ........)
                .byte $90,$06,$FF,$05,$FF,$FF,$11,$FF;(ecb0) (ecb0 ........)
iECB8:          .byte $FF,$00,$00,$00,$00,$00,$00,$00;(ecb8) (ecb8 ........)
                .byte $00,$00,$00,$00,$00,$00,$00,$00;(ecc0) (ecc0 ........)
                .byte $00,$00,$9B,$37,$00,$00,$00,$08;(ecc8) (ecc8 ...7....)
                .byte $00,$14,$0F,$00,$00,$00,$00,$00;(ecd0) (ecd0 ........)
                .byte $00,$0E,$06,$01,$02,$03,$04,$00;(ecd8) (ecd8 ........)
iECE0:                                    ;(ece0) Unused. Free for user programs.
iECE6           =     iECE0+$06           ;(ece6)
                .byte $01,$02,$03,$04,$05,$06,$07,$4C;(ece0) (ece0 .......l)
iECE8:                                    ;(ece8) Pointer: Used by READ - current DATA Item Address.
iECEF           =     iECE8+$07           ;(ecef)
                .byte $4F,$41,$44,$0D,$52,$55,$4E,$0D;(ece8) (ece8 oad.run.)
scrnlsbtab:                               ;(ecf0)
iECF1           =     scrnlsbtab+$01      ;(ecf1)
;Screenlines LSB Table
;------------------------------------------------------------------------
                .byte $00,$28,$50,$78,$A0,$C8,$F0,$18;(ecf0) (ecf0 .(p..H..)
                .byte $40,$68,$90,$B8,$E0,$08,$30,$58;(ecf8) (ecf8 @.....0x)
                .byte $80,$A8,$D0,$F8,$20,$48,$70,$98;(ed00) (ed00 ..P. h..)
                .byte $C0                 ;(ed08) (ed08 .)
iED09:          ora   #$40                ;(ed09 09 40)
iED0B:                                    ;(ed0b) Screen Column for last TAB.
iED0C           =     iED0B+$01           ;(ed0c)
                bit   e2009               ;(ed0b 2C 09 20)
                jsr   iF0A4               ;(ed0e 20 A4 F0)
iED11:          pha                       ;(ed11 48)
                bit   C3PO                ;(ed12 24 94) Flag: Serial Bus - Output Character buffered.
                bpl   iED20               ;(ed14 10 0A)

                sec                       ;(ed16 38)
                ror   TSFCNT              ;(ed17 66 A3) Bit Counter Tape Read or Write/Serial Bus EOI (End Of Input) Flag.
                jsr   iED40               ;(ed19 20 40 ED)
                lsr   C3PO                ;(ed1c 46 94) Flag: Serial Bus - Output Character buffered.
                lsr   TSFCNT              ;(ed1e 46 A3) Bit Counter Tape Read or Write/Serial Bus EOI (End Of Input) Flag.
iED20:          pla                       ;(ed20 68)
                sta   BSOUR               ;(ed21 85 95) Buffered Character for Serial Bus.
                sei                       ;(ed23 78)
                jsr   iEE97               ;(ed24 20 97 EE)
                cmp   #$3F                ;(ed27 C9 3F)
                bne   iED2E               ;(ed29 D0 03)

                jsr   iEE85               ;(ed2b 20 85 EE)
iED2E:          lda   CIA2                ;(ed2e AD 00 DD) Complex Adapter Interface 2
                ora   #$08                ;(ed31 09 08)
                sta   CIA2                ;(ed33 8D 00 DD) Complex Adapter Interface 2
iED36:          sei                       ;(ed36 78)
                jsr   iEE8E               ;(ed37 20 8E EE)
                jsr   iEE97               ;(ed3a 20 97 EE)
                jsr   iEEB3               ;(ed3d 20 B3 EE)
iED40:          sei                       ;(ed40 78)
                jsr   iEE97               ;(ed41 20 97 EE)
                jsr   iEEA9               ;(ed44 20 A9 EE)
                bcs   iEDAD               ;(ed47 B0 64)

                jsr   iEE85               ;(ed49 20 85 EE)
                bit   TSFCNT              ;(ed4c 24 A3) Bit Counter Tape Read or Write/Serial Bus EOI (End Of Input) Flag.
                bpl   iED5A               ;(ed4e 10 0A)

iED50:          jsr   iEEA9               ;(ed50 20 A9 EE)
                bcc   iED50               ;(ed53 90 FB)

iED55:          jsr   iEEA9               ;(ed55 20 A9 EE)
                bcs   iED55               ;(ed58 B0 FB)

iED5A:          jsr   iEEA9               ;(ed5a 20 A9 EE)
                bcc   iED5A               ;(ed5d 90 FB)

                jsr   iEE8E               ;(ed5f 20 8E EE)
                lda   #$08                ;(ed62 A9 08)
                sta   CNTDN               ;(ed64 85 A5) Tape Synchronising count down.
iED66:          lda   CIA2                ;(ed66 AD 00 DD) Complex Adapter Interface 2
                cmp   CIA2                ;(ed69 CD 00 DD) Complex Adapter Interface 2
                bne   iED66               ;(ed6c D0 F8)

                asl   A                   ;(ed6e 0A)
                bcc   iEDB0               ;(ed6f 90 3F)

                ror   BSOUR               ;(ed71 66 95) Buffered Character for Serial Bus.
                bcs   iED7A               ;(ed73 B0 05)

                jsr   iEEA0               ;(ed75 20 A0 EE)
                bne   iED7D               ;(ed78 D0 03)

iED7A:          jsr   iEE97               ;(ed7a 20 97 EE)
iED7D:          jsr   iEE85               ;(ed7d 20 85 EE)
                nop                       ;(ed80 EA)
                nop                       ;(ed81 EA)
                nop                       ;(ed82 EA)
                nop                       ;(ed83 EA)
                lda   CIA2                ;(ed84 AD 00 DD) Complex Adapter Interface 2
                and   #$DF                ;(ed87 29 DF)
                ora   #$10                ;(ed89 09 10)
                sta   CIA2                ;(ed8b 8D 00 DD) Complex Adapter Interface 2
                dec   CNTDN               ;(ed8e C6 A5) Tape Synchronising count down.
                bne   iED66               ;(ed90 D0 D4)

                lda   #$04                ;(ed92 A9 04)
                sta   eDC07               ;(ed94 8D 07 DC)
                lda   #$19                ;(ed97 A9 19)
                sta   eDC0F               ;(ed99 8D 0F DC)
                lda   eDC0D               ;(ed9c AD 0D DC)
iED9F:          lda   eDC0D               ;(ed9f AD 0D DC)
                and   #$02                ;(eda2 29 02)
                bne   iEDB0               ;(eda4 D0 0A)

                jsr   iEEA9               ;(eda6 20 A9 EE)
                bcs   iED9F               ;(eda9 B0 F4)

                cli                       ;(edab 58)
                rts                       ;(edac 60)
;------------------------------------------------------------------------
iEDAD:          lda   #$80                ;(edad A9 80)
iEDAF:                                    ;(edaf) RS232 Flag: Start Bit check/Tape temporary.
iEDB0           =     iEDAF+$01           ;(edb0)
                bit   e03A9               ;(edaf 2C A9 03)
iEDB2:          jsr   iFE1C               ;(edb2 20 1C FE)
                cli                       ;(edb5 58)
                clc                       ;(edb6 18)
                bcc   iEE03               ;(edb7 90 4A)

iEDB9:          sta   BSOUR               ;(edb9 85 95) Buffered Character for Serial Bus.
                jsr   iED36               ;(edbb 20 36 ED)
iEDBE:          lda   CIA2                ;(edbe AD 00 DD) Complex Adapter Interface 2
                and   #$F7                ;(edc1 29 F7)
                sta   CIA2                ;(edc3 8D 00 DD) Complex Adapter Interface 2
                rts                       ;(edc6 60)
;------------------------------------------------------------------------
iEDC7:          sta   BSOUR               ;(edc7 85 95) Buffered Character for Serial Bus.
                jsr   iED36               ;(edc9 20 36 ED)
iEDCC:          sei                       ;(edcc 78)
                jsr   iEEA0               ;(edcd 20 A0 EE)
                jsr   iEDBE               ;(edd0 20 BE ED)
                jsr   iEE85               ;(edd3 20 85 EE)
iEDD6:          jsr   iEEA9               ;(edd6 20 A9 EE)
                bmi   iEDD6               ;(edd9 30 FB)

                cli                       ;(eddb 58)
                rts                       ;(eddc 60)
;------------------------------------------------------------------------
iEDDD:          bit   C3PO                ;(eddd 24 94) Flag: Serial Bus - Output Character buffered.
                bmi   iEDE6               ;(eddf 30 05)

                sec                       ;(ede1 38)
                ror   C3PO                ;(ede2 66 94) Flag: Serial Bus - Output Character buffered.
                bne   iEDEB               ;(ede4 D0 05)

iEDE6:          pha                       ;(ede6 48)
                jsr   iED40               ;(ede7 20 40 ED)
                pla                       ;(edea 68)
iEDEB:          sta   BSOUR               ;(edeb 85 95) Buffered Character for Serial Bus.
                clc                       ;(eded 18)
                rts                       ;(edee 60)
;------------------------------------------------------------------------
iEDEF:          sei                       ;(edef 78)
                jsr   iEE8E               ;(edf0 20 8E EE)
                lda   CIA2                ;(edf3 AD 00 DD) Complex Adapter Interface 2
                ora   #$08                ;(edf6 09 08)
                sta   CIA2                ;(edf8 8D 00 DD) Complex Adapter Interface 2
                lda   #$5F                ;(edfb A9 5F)
iEDFD:                                    ;(edfd) RS232 Flag: Start Bit check/Tape temporary.
iEDFE           =     iEDFD+$01           ;(edfe)
                bit   e3FA9               ;(edfd 2C A9 3F)
                jsr   iED11               ;(ee00 20 11 ED)
iEE03:          jsr   iEDBE               ;(ee03 20 BE ED)
iEE06:          txa                       ;(ee06 8A)
                ldx   #$0A                ;(ee07 A2 0A)
iEE09:          dex                       ;(ee09 CA)
                bne   iEE09               ;(ee0a D0 FD)

                tax                       ;(ee0c AA)
                jsr   iEE85               ;(ee0d 20 85 EE)
                jmp   iEE97               ;(ee10 4C 97 EE)
;------------------------------------------------------------------------
iEE13:          sei                       ;(ee13 78)
                lda   #$00                ;(ee14 A9 00)
                sta   CNTDN               ;(ee16 85 A5) Tape Synchronising count down.
                jsr   iEE85               ;(ee18 20 85 EE)
iEE1B:          jsr   iEEA9               ;(ee1b 20 A9 EE)
                bpl   iEE1B               ;(ee1e 10 FB)

iEE20:          lda   #$01                ;(ee20 A9 01)
                sta   eDC07               ;(ee22 8D 07 DC)
                lda   #$19                ;(ee25 A9 19)
                sta   eDC0F               ;(ee27 8D 0F DC)
                jsr   iEE97               ;(ee2a 20 97 EE)
                lda   eDC0D               ;(ee2d AD 0D DC)
iEE30:          lda   eDC0D               ;(ee30 AD 0D DC)
                and   #$02                ;(ee33 29 02)
                bne   iEE3E               ;(ee35 D0 07)

                jsr   iEEA9               ;(ee37 20 A9 EE)
                bmi   iEE30               ;(ee3a 30 F4)

                bpl   iEE56               ;(ee3c 10 18)

iEE3E:          lda   CNTDN               ;(ee3e A5 A5) Tape Synchronising count down.
                beq   iEE47               ;(ee40 F0 05)

                lda   #$02                ;(ee42 A9 02)
                jmp   iEDB2               ;(ee44 4C B2 ED)
;------------------------------------------------------------------------
iEE47:          jsr   iEEA0               ;(ee47 20 A0 EE)
                jsr   iEE85               ;(ee4a 20 85 EE)
                lda   #$40                ;(ee4d A9 40)
                jsr   iFE1C               ;(ee4f 20 1C FE)
                inc   CNTDN               ;(ee52 E6 A5) Tape Synchronising count down.
                bne   iEE20               ;(ee54 D0 CA)

iEE56:          lda   #$08                ;(ee56 A9 08)
                sta   CNTDN               ;(ee58 85 A5) Tape Synchronising count down.
iEE5A:          lda   CIA2                ;(ee5a AD 00 DD) Complex Adapter Interface 2
                cmp   CIA2                ;(ee5d CD 00 DD) Complex Adapter Interface 2
                bne   iEE5A               ;(ee60 D0 F8)

                asl   A                   ;(ee62 0A)
                bpl   iEE5A               ;(ee63 10 F5)

                ror   TBTCNT              ;(ee65 66 A4) Pulse Counter Tape Read or Write/Serial Bus shift Counter.
iEE67:          lda   CIA2                ;(ee67 AD 00 DD) Complex Adapter Interface 2
                cmp   CIA2                ;(ee6a CD 00 DD) Complex Adapter Interface 2
                bne   iEE67               ;(ee6d D0 F8)

                asl   A                   ;(ee6f 0A)
                bmi   iEE67               ;(ee70 30 F5)

                dec   CNTDN               ;(ee72 C6 A5) Tape Synchronising count down.
                bne   iEE5A               ;(ee74 D0 E4)

                jsr   iEEA0               ;(ee76 20 A0 EE)
                bit   STATUS              ;(ee79 24 90) Kernal I/O Status Word  ST.
                bvc   iEE80               ;(ee7b 50 03)

                jsr   iEE06               ;(ee7d 20 06 EE)
iEE80:          lda   TBTCNT              ;(ee80 A5 A4) Pulse Counter Tape Read or Write/Serial Bus shift Counter.
                cli                       ;(ee82 58)
                clc                       ;(ee83 18)
                rts                       ;(ee84 60)
;------------------------------------------------------------------------
iEE85:          lda   CIA2                ;(ee85 AD 00 DD) Complex Adapter Interface 2
                and   #$EF                ;(ee88 29 EF)
                sta   CIA2                ;(ee8a 8D 00 DD) Complex Adapter Interface 2
                rts                       ;(ee8d 60)
;------------------------------------------------------------------------
iEE8E:          lda   CIA2                ;(ee8e AD 00 DD) Complex Adapter Interface 2
                ora   #$10                ;(ee91 09 10)
                sta   CIA2                ;(ee93 8D 00 DD) Complex Adapter Interface 2
                rts                       ;(ee96 60)
;------------------------------------------------------------------------
iEE97:          lda   CIA2                ;(ee97 AD 00 DD) Complex Adapter Interface 2
                and   #$DF                ;(ee9a 29 DF)
                sta   CIA2                ;(ee9c 8D 00 DD) Complex Adapter Interface 2
                rts                       ;(ee9f 60)
;------------------------------------------------------------------------
iEEA0:          lda   CIA2                ;(eea0 AD 00 DD) Complex Adapter Interface 2
                ora   #$20                ;(eea3 09 20)
                sta   CIA2                ;(eea5 8D 00 DD) Complex Adapter Interface 2
                rts                       ;(eea8 60)
;------------------------------------------------------------------------
iEEA9:          lda   CIA2                ;(eea9 AD 00 DD) Complex Adapter Interface 2
                cmp   CIA2                ;(eeac CD 00 DD) Complex Adapter Interface 2
                bne   iEEA9               ;(eeaf D0 F8)

                asl   A                   ;(eeb1 0A)
                rts                       ;(eeb2 60)
;------------------------------------------------------------------------
iEEB3:          txa                       ;(eeb3 8A)
                ldx   #$B8                ;(eeb4 A2 B8)
iEEB6:          dex                       ;(eeb6 CA)
                bne   iEEB6               ;(eeb7 D0 FD)

                tax                       ;(eeb9 AA)
                rts                       ;(eeba 60)
;------------------------------------------------------------------------
iEEBB:          lda   BITTS               ;(eebb A5 B4) RS232 Write bit count/Tape Read timing Flag.
                beq   iEF06               ;(eebd F0 47)

                bmi   iEF00               ;(eebf 30 3F)

                lsr   RODATA              ;(eec1 46 B6) RS232 Output Byte Buffer/Tape Read Error Flag.
                ldx   #$00                ;(eec3 A2 00)
                bcc   iEEC8               ;(eec5 90 01)

                dex                       ;(eec7 CA)
iEEC8:          txa                       ;(eec8 8A)
                eor   ROPRTY              ;(eec9 45 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                sta   ROPRTY              ;(eecb 85 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                dec   BITTS               ;(eecd C6 B4) RS232 Write bit count/Tape Read timing Flag.
                beq   iEED7               ;(eecf F0 06)

iEED1:          txa                       ;(eed1 8A)
                and   #$04                ;(eed2 29 04)
                sta   NXTBIT              ;(eed4 85 B5) RS232 Next Bit to send/Tape Read - End of Tape.
                rts                       ;(eed6 60)
;------------------------------------------------------------------------
iEED7:          lda   #$20                ;(eed7 A9 20)
                bit   e0294               ;(eed9 2C 94 02)
                beq   iEEF2               ;(eedc F0 14)

                bmi   iEEFC               ;(eede 30 1C)

                bvs   iEEF6               ;(eee0 70 14)

                lda   ROPRTY              ;(eee2 A5 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                bne   iEEE7               ;(eee4 D0 01)

iEEE6:          dex                       ;(eee6 CA)
iEEE7:          dec   BITTS               ;(eee7 C6 B4) RS232 Write bit count/Tape Read timing Flag.
                lda   e0293               ;(eee9 AD 93 02)
                bpl   iEED1               ;(eeec 10 E3)

                dec   BITTS               ;(eeee C6 B4) RS232 Write bit count/Tape Read timing Flag.
                bne   iEED1               ;(eef0 D0 DF)

iEEF2:          inc   BITTS               ;(eef2 E6 B4) RS232 Write bit count/Tape Read timing Flag.
                bne   iEEE6               ;(eef4 D0 F0)

iEEF6:          lda   ROPRTY              ;(eef6 A5 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                beq   iEEE7               ;(eef8 F0 ED)

                bne   iEEE6               ;(eefa D0 EA)

iEEFC:          bvs   iEEE7               ;(eefc 70 E9)

                bvc   iEEE6               ;(eefe 50 E6)

iEF00:          inc   BITTS               ;(ef00 E6 B4) RS232 Write bit count/Tape Read timing Flag.
                ldx   #$FF                ;(ef02 A2 FF)
                bne   iEED1               ;(ef04 D0 CB)

iEF06:          lda   e0294               ;(ef06 AD 94 02)
                lsr   A                   ;(ef09 4A)
                bcc   iEF13               ;(ef0a 90 07)

                bit   CIA2+$0001          ;(ef0c 2C 01 DD) Complex Adapter Interface 2
                bpl   iEF2E               ;(ef0f 10 1D)

                bvc   iEF31               ;(ef11 50 1E)

iEF13:          lda   #$00                ;(ef13 A9 00)
                sta   ROPRTY              ;(ef15 85 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                sta   NXTBIT              ;(ef17 85 B5) RS232 Next Bit to send/Tape Read - End of Tape.
                ldx   e0298               ;(ef19 AE 98 02)
                stx   BITTS               ;(ef1c 86 B4) RS232 Write bit count/Tape Read timing Flag.
                ldy   e029D               ;(ef1e AC 9D 02)
                cpy   e029E               ;(ef21 CC 9E 02)
                beq   iEF39               ;(ef24 F0 13)

                lda   (ROBUF),Y           ;(ef26 B1 F9) RS232 Output Buffer Pointer.
                sta   RODATA              ;(ef28 85 B6) RS232 Output Byte Buffer/Tape Read Error Flag.
                inc   e029D               ;(ef2a EE 9D 02)
                rts                       ;(ef2d 60)
;------------------------------------------------------------------------
iEF2E:          lda   #$40                ;(ef2e A9 40)
iEF30:                                    ;(ef30) RS232 Flag: Start Bit check/Tape temporary.
iEF31           =     iEF30+$01           ;(ef31)
                bit   e10A9               ;(ef30 2C A9 10)
                ora   e0297               ;(ef33 0D 97 02)
                sta   e0297               ;(ef36 8D 97 02)
iEF39:          lda   #$01                ;(ef39 A9 01)
iEF3B:          sta   eDD0D               ;(ef3b 8D 0D DD)
                eor   e02A1               ;(ef3e 4D A1 02)
                ora   #$80                ;(ef41 09 80)
                sta   e02A1               ;(ef43 8D A1 02)
                sta   eDD0D               ;(ef46 8D 0D DD)
                rts                       ;(ef49 60)
;------------------------------------------------------------------------
iEF4A:          ldx   #$09                ;(ef4a A2 09)
                lda   #$20                ;(ef4c A9 20)
                bit   e0293               ;(ef4e 2C 93 02)
                beq   iEF54               ;(ef51 F0 01)

                dex                       ;(ef53 CA)
iEF54:          bvc   iEF58               ;(ef54 50 02)

                dex                       ;(ef56 CA)
                dex                       ;(ef57 CA)
iEF58:          rts                       ;(ef58 60)
;------------------------------------------------------------------------
iEF59:          ldx   RINONE              ;(ef59 A6 A9) RS232 Flag: Start Bit check/Tape temporary.
                bne   iEF90               ;(ef5b D0 33)

                dec   BITC1               ;(ef5d C6 A8) RS232 Input Bit count/Tape temporary.
                beq   iEF97               ;(ef5f F0 36)

                bmi   iEF70               ;(ef61 30 0D)

                lda   INBIT               ;(ef63 A5 A7) RS232 temporary for received Bit/Tape temporary.
                eor   RIPRTY              ;(ef65 45 AB) RS232 Input parity/Tape temporary.
                sta   RIPRTY              ;(ef67 85 AB) RS232 Input parity/Tape temporary.
                lsr   INBIT               ;(ef69 46 A7) RS232 temporary for received Bit/Tape temporary.
                ror   RIDATA              ;(ef6b 66 AA) RS232 Input Byte Buffer/Tape temporary.
iEF6D:          rts                       ;(ef6d 60)
;------------------------------------------------------------------------
iEF6E:          dec   BITC1               ;(ef6e C6 A8) RS232 Input Bit count/Tape temporary.
iEF70:          lda   INBIT               ;(ef70 A5 A7) RS232 temporary for received Bit/Tape temporary.
                beq   iEFDB               ;(ef72 F0 67)

                lda   e0293               ;(ef74 AD 93 02)
                asl   A                   ;(ef77 0A)
                lda   #$01                ;(ef78 A9 01)
                adc   BITC1               ;(ef7a 65 A8) RS232 Input Bit count/Tape temporary.
                bne   iEF6D               ;(ef7c D0 EF)

iEF7E:          lda   #$90                ;(ef7e A9 90)
                sta   eDD0D               ;(ef80 8D 0D DD)
                ora   e02A1               ;(ef83 0D A1 02)
                sta   e02A1               ;(ef86 8D A1 02)
                sta   RINONE              ;(ef89 85 A9) RS232 Flag: Start Bit check/Tape temporary.
                lda   #$02                ;(ef8b A9 02)
                jmp   iEF3B               ;(ef8d 4C 3B EF)
;------------------------------------------------------------------------
iEF90:          lda   INBIT               ;(ef90 A5 A7) RS232 temporary for received Bit/Tape temporary.
                bne   iEF7E               ;(ef92 D0 EA)

                sta   RINONE              ;(ef94 85 A9) RS232 Flag: Start Bit check/Tape temporary.
                rts                       ;(ef96 60)
;------------------------------------------------------------------------
iEF97:          ldy   e029B               ;(ef97 AC 9B 02)
                iny                       ;(ef9a C8)
                cpy   e029C               ;(ef9b CC 9C 02)
                beq   iEFCA               ;(ef9e F0 2A)

                sty   e029B               ;(efa0 8C 9B 02)
                dey                       ;(efa3 88)
                lda   RIDATA              ;(efa4 A5 AA) RS232 Input Byte Buffer/Tape temporary.
                ldx   e0298               ;(efa6 AE 98 02)
iEFA9:          cpx   #$09                ;(efa9 E0 09)
                beq   iEFB1               ;(efab F0 04)

                lsr   A                   ;(efad 4A)
                inx                       ;(efae E8)
                bne   iEFA9               ;(efaf D0 F8)

iEFB1:          sta   (RIBUF),Y           ;(efb1 91 F7) RS232 Input Buffer Pointer.
                lda   #$20                ;(efb3 A9 20)
                bit   e0294               ;(efb5 2C 94 02)
                beq   iEF6E               ;(efb8 F0 B4)

                bmi   iEF6D               ;(efba 30 B1)

                lda   INBIT               ;(efbc A5 A7) RS232 temporary for received Bit/Tape temporary.
                eor   RIPRTY              ;(efbe 45 AB) RS232 Input parity/Tape temporary.
                beq   iEFC5               ;(efc0 F0 03)

                bvs   iEF6D               ;(efc2 70 A9)

iEFC4:                                    ;(efc4)
iEFC5           =     iEFC4+$01           ;(efc5)
                bit   eA650               ;(efc4 2C 50 A6)
                lda   #$01                ;(efc7 A9 01)
iEFC9:                                    ;(efc9) RS232 Flag: Start Bit check/Tape temporary.
iEFCA           =     iEFC9+$01           ;(efca)
                bit   e04A9               ;(efc9 2C A9 04)
iEFCC:                                    ;(efcc) RS232 Flag: Start Bit check/Tape temporary.
iEFCD           =     iEFCC+$01           ;(efcd)
                bit   e80A9               ;(efcc 2C A9 80)
iEFCF:                                    ;(efcf) RS232 Flag: Start Bit check/Tape temporary.
iEFD0           =     iEFCF+$01           ;(efd0)
                bit   e02A9               ;(efcf 2C A9 02)
                ora   e0297               ;(efd2 0D 97 02)
                sta   e0297               ;(efd5 8D 97 02)
                jmp   iEF7E               ;(efd8 4C 7E EF)
;------------------------------------------------------------------------
iEFDB:          lda   RIDATA              ;(efdb A5 AA) RS232 Input Byte Buffer/Tape temporary.
                bne   iEFD0               ;(efdd D0 F1)

                beq   iEFCD               ;(efdf F0 EC)

iEFE1:          sta   DFLTO               ;(efe1 85 9A) Default Output Device (3).
                lda   e0294               ;(efe3 AD 94 02)
                lsr   A                   ;(efe6 4A)
                bcc   iF012               ;(efe7 90 29)

                lda   #$02                ;(efe9 A9 02)
                bit   CIA2+$0001          ;(efeb 2C 01 DD) Complex Adapter Interface 2
                bpl   iF00D               ;(efee 10 1D)

                bne   iF012               ;(eff0 D0 20)

iEFF2:          lda   e02A1               ;(eff2 AD A1 02)
                and   #$02                ;(eff5 29 02)
                bne   iEFF2               ;(eff7 D0 F9)

iEFF9:          bit   CIA2+$0001          ;(eff9 2C 01 DD) Complex Adapter Interface 2
                bvs   iEFF9               ;(effc 70 FB)

                lda   CIA2+$0001          ;(effe AD 01 DD) Complex Adapter Interface 2
;IO Kernal ROM
;------------------------------------------------------------------------
                ora   #$02                ;(f001 09 02)
;IO Kernal ROM
;------------------------------------------------------------------------
                sta   CIA2+$0001          ;(f003 8D 01 DD) Complex Adapter Interface 2
iF006:          bit   CIA2+$0001          ;(f006 2C 01 DD) Complex Adapter Interface 2
                bvs   iF012               ;(f009 70 07)

                bmi   iF006               ;(f00b 30 F9)

iF00D:          lda   #$40                ;(f00d A9 40)
                sta   e0297               ;(f00f 8D 97 02)
iF012:          clc                       ;(f012 18)
                rts                       ;(f013 60)
;------------------------------------------------------------------------
iF014:          jsr   iF028               ;(f014 20 28 F0)
iF017:          ldy   e029E               ;(f017 AC 9E 02)
                iny                       ;(f01a C8)
                cpy   e029D               ;(f01b CC 9D 02)
                beq   iF014               ;(f01e F0 F4)

                sty   e029E               ;(f020 8C 9E 02)
                dey                       ;(f023 88)
                lda   PTR1                ;(f024 A5 9E) Tape Error log pass 1.
                sta   (ROBUF),Y           ;(f026 91 F9) RS232 Output Buffer Pointer.
iF028:          lda   e02A1               ;(f028 AD A1 02)
                lsr   A                   ;(f02b 4A)
                bcs   iF04C               ;(f02c B0 1E)

                lda   #$10                ;(f02e A9 10)
                sta   eDD0E               ;(f030 8D 0E DD)
                lda   e0299               ;(f033 AD 99 02)
                sta   eDD04               ;(f036 8D 04 DD)
                lda   e029A               ;(f039 AD 9A 02)
                sta   eDD05               ;(f03c 8D 05 DD)
                lda   #$81                ;(f03f A9 81)
                jsr   iEF3B               ;(f041 20 3B EF)
                jsr   iEF06               ;(f044 20 06 EF)
                lda   #$11                ;(f047 A9 11)
                sta   eDD0E               ;(f049 8D 0E DD)
iF04C:          rts                       ;(f04c 60)
;------------------------------------------------------------------------
iF04D:          sta   DFLTN               ;(f04d 85 99) Default Input Device (0).
                lda   e0294               ;(f04f AD 94 02)
                lsr   A                   ;(f052 4A)
                bcc   iF07D               ;(f053 90 28)

                and   #$08                ;(f055 29 08)
                beq   iF07D               ;(f057 F0 24)

                lda   #$02                ;(f059 A9 02)
                bit   CIA2+$0001          ;(f05b 2C 01 DD) Complex Adapter Interface 2
                bpl   iF00D               ;(f05e 10 AD)

                beq   iF084               ;(f060 F0 22)

iF062:          lda   e02A1               ;(f062 AD A1 02)
                lsr   A                   ;(f065 4A)
                bcs   iF062               ;(f066 B0 FA)

                lda   CIA2+$0001          ;(f068 AD 01 DD) Complex Adapter Interface 2
                and   #$FD                ;(f06b 29 FD)
                sta   CIA2+$0001          ;(f06d 8D 01 DD) Complex Adapter Interface 2
iF070:          lda   CIA2+$0001          ;(f070 AD 01 DD) Complex Adapter Interface 2
                and   #$04                ;(f073 29 04)
                beq   iF070               ;(f075 F0 F9)

iF077:          lda   #$90                ;(f077 A9 90)
                clc                       ;(f079 18)
                jmp   iEF3B               ;(f07a 4C 3B EF)
;------------------------------------------------------------------------
iF07D:          lda   e02A1               ;(f07d AD A1 02)
                and   #$12                ;(f080 29 12)
                beq   iF077               ;(f082 F0 F3)

iF084:          clc                       ;(f084 18)
                rts                       ;(f085 60)
;------------------------------------------------------------------------
iF086:          lda   e0297               ;(f086 AD 97 02)
                ldy   e029C               ;(f089 AC 9C 02)
                cpy   e029B               ;(f08c CC 9B 02)
                beq   iF09C               ;(f08f F0 0B)

                and   #$F7                ;(f091 29 F7)
                sta   e0297               ;(f093 8D 97 02)
                lda   (RIBUF),Y           ;(f096 B1 F7) RS232 Input Buffer Pointer.
                inc   e029C               ;(f098 EE 9C 02)
                rts                       ;(f09b 60)
;------------------------------------------------------------------------
iF09C:          ora   #$08                ;(f09c 09 08)
                sta   e0297               ;(f09e 8D 97 02)
                lda   #$00                ;(f0a1 A9 00)
                rts                       ;(f0a3 60)
;------------------------------------------------------------------------
iF0A4:          pha                       ;(f0a4 48)
                lda   e02A1               ;(f0a5 AD A1 02)
                beq   iF0BB               ;(f0a8 F0 11)

iF0AA:          lda   e02A1               ;(f0aa AD A1 02)
                and   #$03                ;(f0ad 29 03)
                bne   iF0AA               ;(f0af D0 F9)

                lda   #$10                ;(f0b1 A9 10)
                sta   eDD0D               ;(f0b3 8D 0D DD)
                lda   #$00                ;(f0b6 A9 00)
                sta   e02A1               ;(f0b8 8D A1 02)
iF0BB:          pla                       ;(f0bb 68)
                rts                       ;(f0bc 60)
;------------------------------------------------------------------------
;System Messages
;------------------------------------------------------------------------
sysmsgs:        .byte $0D,$49,$2F,$4F,$20,$45,$52,$52;(f0bd) (f0bd .i/o err)
                .byte $4F,$52,$20,$A3,$0D,$53,$45,$41;(f0c5) (f0c5 or ..sea)
                .byte $52,$43,$48,$49,$4E,$47,$A0,$46;(f0cd) (f0cd rching.f)
                .byte $4F,$52,$A0,$0D,$50,$52,$45,$53;(f0d5) (f0d5 or..pres)
                .byte $53,$20,$50,$4C,$41,$59,$20,$4F;(f0dd) (f0dd s play o)
                .byte $4E,$20,$54,$41,$50,$C5,$50,$52;(f0e5) (f0e5 n tapEpr)
                .byte $45,$53,$53,$20,$52,$45,$43,$4F;(f0ed) (f0ed ess reco)
                .byte $52,$44,$20,$26,$20,$50,$4C,$41;(f0f5) (f0f5 rd & pla)
                .byte $59,$20,$4F,$4E,$20,$54,$41,$50;(f0fd) (f0fd y on tap)
                .byte $C5,$0D,$4C,$4F,$41,$44,$49,$4E;(f105) (f105 E.loadin)
                .byte $C7,$0D,$53,$41,$56,$49,$4E,$47;(f10d) (f10d G.saving)
                .byte $A0,$0D,$56,$45,$52,$49,$46,$59;(f115) (f115 ..verify)
                .byte $49,$4E,$C7,$0D,$46,$4F,$55,$4E;(f11d) (f11d inG.foun)
                .byte $44,$A0,$0D,$4F,$4B,$8D;(f125) (f125 d..ok.)
iF12B:          bit   MSGFLG              ;(f12b 24 9D) Flag: $00 = Program mode: Suppress Error Messages
                bpl   iF13C               ;(f12d 10 0D)

iF12F:          lda   sysmsgs,Y           ;(f12f B9 BD F0) System Messages
                php                       ;(f132 08)
                and   #$7F                ;(f133 29 7F)
                jsr   entry_ffd2          ;(f135 20 D2 FF) entrypoint at $ffd2
                iny                       ;(f138 C8)
                plp                       ;(f139 28)
                bpl   iF12F               ;(f13a 10 F3)

iF13C:          clc                       ;(f13c 18)
                rts                       ;(f13d 60)
;------------------------------------------------------------------------
                lda   DFLTN               ;(f13e A5 99) Default Input Device (0).
                bne   iF14A               ;(f140 D0 08)

                lda   NDX                 ;(f142 A5 C6) Number of Characters in Keyboard Buffer queue.
                beq   iF155               ;(f144 F0 0F)

                sei                       ;(f146 78)
                jmp   iE5B4               ;(f147 4C B4 E5)
;------------------------------------------------------------------------
iF14A:          cmp   #$02                ;(f14a C9 02)
                bne   iF166               ;(f14c D0 18)

iF14E:          sty   TEMPY               ;(f14e 84 97) Temporary storage of Y Register during RS232 fetch.
                jsr   iF086               ;(f150 20 86 F0)
                ldy   TEMPY               ;(f153 A4 97) Temporary storage of Y Register during RS232 fetch.
iF155:          clc                       ;(f155 18)
                rts                       ;(f156 60)
;------------------------------------------------------------------------
                lda   DFLTN               ;(f157 A5 99) Default Input Device (0).
                bne   iF166               ;(f159 D0 0B)

                lda   PNTR                ;(f15b A5 D3) Cursor Column on current Line
                sta   LXSP+$0001          ;(f15d 85 CA) Cursor X/Y (Line/Column) position at start of Input.
                lda   TBLX                ;(f15f A5 D6) Current Screen Line number of Cursor.
                sta   LXSP                ;(f161 85 C9) Cursor X/Y (Line/Column) position at start of Input.
                jmp   iE632               ;(f163 4C 32 E6)
;------------------------------------------------------------------------
iF166:          cmp   #$03                ;(f166 C9 03)
                bne   iF173               ;(f168 D0 09)

                sta   CRSW                ;(f16a 85 D0) Flag: Input from Screen = $03
                lda   LNMX                ;(f16c A5 D5) Current logical Line length: 39 or 79.
                sta   INDX                ;(f16e 85 C8) Pointer: End of Line for Input (Used to suppress trailing spaces).
                jmp   iE632               ;(f170 4C 32 E6)
;------------------------------------------------------------------------
iF173:          bcs   iF1AD               ;(f173 B0 38)

                cmp   #$02                ;(f175 C9 02)
                beq   iF1B8               ;(f177 F0 3F)

                stx   TEMPY               ;(f179 86 97) Temporary storage of Y Register during RS232 fetch.
                jsr   iF199               ;(f17b 20 99 F1)
                bcs   iF196               ;(f17e B0 16)

                pha                       ;(f180 48)
                jsr   iF199               ;(f181 20 99 F1)
                bcs   iF193               ;(f184 B0 0D)

                bne   iF18D               ;(f186 D0 05)

                lda   #$40                ;(f188 A9 40)
                jsr   iFE1C               ;(f18a 20 1C FE)
iF18D:          dec   BUFPNT              ;(f18d C6 A6) Pointer: Tape I/O buffer.
                ldx   TEMPY               ;(f18f A6 97) Temporary storage of Y Register during RS232 fetch.
                pla                       ;(f191 68)
                rts                       ;(f192 60)
;------------------------------------------------------------------------
iF193:          tax                       ;(f193 AA)
                pla                       ;(f194 68)
                txa                       ;(f195 8A)
iF196:          ldx   TEMPY               ;(f196 A6 97) Temporary storage of Y Register during RS232 fetch.
                rts                       ;(f198 60)
;------------------------------------------------------------------------
iF199:          jsr   iF80D               ;(f199 20 0D F8)
                bne   iF1A9               ;(f19c D0 0B)

                jsr   iF841               ;(f19e 20 41 F8)
                bcs   iF1B4               ;(f1a1 B0 11)

                lda   #$00                ;(f1a3 A9 00)
                sta   BUFPNT              ;(f1a5 85 A6) Pointer: Tape I/O buffer.
                beq   iF199               ;(f1a7 F0 F0)

iF1A9:          lda   (TAPE1),Y           ;(f1a9 B1 B2) Pointer: Start Address of Tape Buffer ($033C).
                clc                       ;(f1ab 18)
                rts                       ;(f1ac 60)
;------------------------------------------------------------------------
iF1AD:          lda   STATUS              ;(f1ad A5 90) Kernal I/O Status Word  ST.
                beq   iF1B5               ;(f1af F0 04)

iF1B1:          lda   #$0D                ;(f1b1 A9 0D)
iF1B3:          clc                       ;(f1b3 18)
iF1B4:          rts                       ;(f1b4 60)
;------------------------------------------------------------------------
iF1B5:          jmp   iEE13               ;(f1b5 4C 13 EE)
;------------------------------------------------------------------------
iF1B8:          jsr   iF14E               ;(f1b8 20 4E F1)
                bcs   iF1B4               ;(f1bb B0 F7)

                cmp   #$00                ;(f1bd C9 00)
                bne   iF1B3               ;(f1bf D0 F2)

                lda   e0297               ;(f1c1 AD 97 02)
                and   #$60                ;(f1c4 29 60)
                bne   iF1B1               ;(f1c6 D0 E9)

                beq   iF1B8               ;(f1c8 F0 EE)

                pha                       ;(f1ca 48)
                lda   DFLTO               ;(f1cb A5 9A) Default Output Device (3).
                cmp   #$03                ;(f1cd C9 03)
                bne   iF1D5               ;(f1cf D0 04)

                pla                       ;(f1d1 68)
                jmp   iE716               ;(f1d2 4C 16 E7)
;------------------------------------------------------------------------
iF1D5:          bcc   iF1DB               ;(f1d5 90 04)

                pla                       ;(f1d7 68)
                jmp   iEDDD               ;(f1d8 4C DD ED)
;------------------------------------------------------------------------
iF1DB:          lsr   A                   ;(f1db 4A)
                pla                       ;(f1dc 68)
iF1DD:          sta   PTR1                ;(f1dd 85 9E) Tape Error log pass 1.
                txa                       ;(f1df 8A)
                pha                       ;(f1e0 48)
                tya                       ;(f1e1 98)
                pha                       ;(f1e2 48)
                bcc   iF208               ;(f1e3 90 23)

                jsr   iF80D               ;(f1e5 20 0D F8)
                bne   iF1F8               ;(f1e8 D0 0E)

                jsr   iF864               ;(f1ea 20 64 F8)
                bcs   iF1FD               ;(f1ed B0 0E)

                lda   #$02                ;(f1ef A9 02)
                ldy   #$00                ;(f1f1 A0 00)
                sta   (TAPE1),Y           ;(f1f3 91 B2) Pointer: Start Address of Tape Buffer ($033C).
                iny                       ;(f1f5 C8)
                sty   BUFPNT              ;(f1f6 84 A6) Pointer: Tape I/O buffer.
iF1F8:          lda   PTR1                ;(f1f8 A5 9E) Tape Error log pass 1.
                sta   (TAPE1),Y           ;(f1fa 91 B2) Pointer: Start Address of Tape Buffer ($033C).
iF1FC:          clc                       ;(f1fc 18)
iF1FD:          pla                       ;(f1fd 68)
                tay                       ;(f1fe A8)
                pla                       ;(f1ff 68)
                tax                       ;(f200 AA)
                lda   PTR1                ;(f201 A5 9E) Tape Error log pass 1.
                bcc   iF207               ;(f203 90 02)

                lda   #$00                ;(f205 A9 00)
iF207:          rts                       ;(f207 60)
;------------------------------------------------------------------------
iF208:          jsr   iF017               ;(f208 20 17 F0)
                jmp   iF1FC               ;(f20b 4C FC F1)
;------------------------------------------------------------------------
                jsr   iF30F               ;(f20e 20 0F F3)
                beq   iF216               ;(f211 F0 03)

                jmp   iF701               ;(f213 4C 01 F7)
;------------------------------------------------------------------------
iF216:          jsr   iF31F               ;(f216 20 1F F3)
                lda   FA                  ;(f219 A5 BA) Current File - First Address (Device number).
                beq   iF233               ;(f21b F0 16)

                cmp   #$03                ;(f21d C9 03)
                beq   iF233               ;(f21f F0 12)

                bcs   iF237               ;(f221 B0 14)

                cmp   #$02                ;(f223 C9 02)
                bne   iF22A               ;(f225 D0 03)

                jmp   iF04D               ;(f227 4C 4D F0)
;------------------------------------------------------------------------
iF22A:          ldx   SA                  ;(f22a A6 B9) Current File - Secondary Address.
                cpx   #$60                ;(f22c E0 60)
                beq   iF233               ;(f22e F0 03)

                jmp   iF70A               ;(f230 4C 0A F7)
;------------------------------------------------------------------------
iF233:          sta   DFLTN               ;(f233 85 99) Default Input Device (0).
                clc                       ;(f235 18)
                rts                       ;(f236 60)
;------------------------------------------------------------------------
iF237:          tax                       ;(f237 AA)
                jsr   iED09               ;(f238 20 09 ED)
                lda   SA                  ;(f23b A5 B9) Current File - Secondary Address.
                bpl   iF245               ;(f23d 10 06)

                jsr   iEDCC               ;(f23f 20 CC ED)
                jmp   iF248               ;(f242 4C 48 F2)
;------------------------------------------------------------------------
iF245:          jsr   iEDC7               ;(f245 20 C7 ED)
iF248:          txa                       ;(f248 8A)
                bit   STATUS              ;(f249 24 90) Kernal I/O Status Word  ST.
                bpl   iF233               ;(f24b 10 E6)

                jmp   iF707               ;(f24d 4C 07 F7)
;------------------------------------------------------------------------
                jsr   iF30F               ;(f250 20 0F F3)
                beq   iF258               ;(f253 F0 03)

                jmp   iF701               ;(f255 4C 01 F7)
;------------------------------------------------------------------------
iF258:          jsr   iF31F               ;(f258 20 1F F3)
                lda   FA                  ;(f25b A5 BA) Current File - First Address (Device number).
                bne   iF262               ;(f25d D0 03)

iF25F:          jmp   iF70D               ;(f25f 4C 0D F7)
;------------------------------------------------------------------------
iF262:          cmp   #$03                ;(f262 C9 03)
                beq   iF275               ;(f264 F0 0F)

                bcs   iF279               ;(f266 B0 11)

                cmp   #$02                ;(f268 C9 02)
                bne   iF26F               ;(f26a D0 03)

                jmp   iEFE1               ;(f26c 4C E1 EF)
;------------------------------------------------------------------------
iF26F:          ldx   SA                  ;(f26f A6 B9) Current File - Secondary Address.
                cpx   #$60                ;(f271 E0 60)
                beq   iF25F               ;(f273 F0 EA)

iF275:          sta   DFLTO               ;(f275 85 9A) Default Output Device (3).
                clc                       ;(f277 18)
                rts                       ;(f278 60)
;------------------------------------------------------------------------
iF279:          tax                       ;(f279 AA)
                jsr   iED0C               ;(f27a 20 0C ED)
                lda   SA                  ;(f27d A5 B9) Current File - Secondary Address.
                bpl   iF286               ;(f27f 10 05)

                jsr   iEDBE               ;(f281 20 BE ED)
                bne   iF289               ;(f284 D0 03)

iF286:          jsr   iEDB9               ;(f286 20 B9 ED)
iF289:          txa                       ;(f289 8A)
                bit   STATUS              ;(f28a 24 90) Kernal I/O Status Word  ST.
                bpl   iF275               ;(f28c 10 E7)

                jmp   iF707               ;(f28e 4C 07 F7)
;------------------------------------------------------------------------
                jsr   iF314               ;(f291 20 14 F3)
                beq   iF298               ;(f294 F0 02)

                clc                       ;(f296 18)
                rts                       ;(f297 60)
;------------------------------------------------------------------------
iF298:          jsr   iF31F               ;(f298 20 1F F3)
                txa                       ;(f29b 8A)
                pha                       ;(f29c 48)
                lda   FA                  ;(f29d A5 BA) Current File - First Address (Device number).
                beq   iF2F1               ;(f29f F0 50)

                cmp   #$03                ;(f2a1 C9 03)
                beq   iF2F1               ;(f2a3 F0 4C)

                bcs   iF2EE               ;(f2a5 B0 47)

                cmp   #$02                ;(f2a7 C9 02)
                bne   iF2C8               ;(f2a9 D0 1D)

                pla                       ;(f2ab 68)
                jsr   iF2F2               ;(f2ac 20 F2 F2)
                jsr   iF483               ;(f2af 20 83 F4)
                jsr   iFE27               ;(f2b2 20 27 FE)
                lda   zpF8                ;(f2b5 A5 F8)
                beq   iF2BA               ;(f2b7 F0 01)

                iny                       ;(f2b9 C8)
iF2BA:          lda   ROBUF+$0001         ;(f2ba A5 FA) RS232 Output Buffer Pointer.
                beq   iF2BF               ;(f2bc F0 01)

                iny                       ;(f2be C8)
iF2BF:          lda   #$00                ;(f2bf A9 00)
                sta   zpF8                ;(f2c1 85 F8)
                sta   ROBUF+$0001         ;(f2c3 85 FA) RS232 Output Buffer Pointer.
                jmp   iF47D               ;(f2c5 4C 7D F4)
;------------------------------------------------------------------------
iF2C8:          lda   SA                  ;(f2c8 A5 B9) Current File - Secondary Address.
                and   #$0F                ;(f2ca 29 0F)
                beq   iF2F1               ;(f2cc F0 23)

                jsr   iF7D0               ;(f2ce 20 D0 F7)
                lda   #$00                ;(f2d1 A9 00)
                sec                       ;(f2d3 38)
                jsr   iF1DD               ;(f2d4 20 DD F1)
                jsr   iF864               ;(f2d7 20 64 F8)
                bcc   iF2E0               ;(f2da 90 04)

                pla                       ;(f2dc 68)
                lda   #$00                ;(f2dd A9 00)
                rts                       ;(f2df 60)
;------------------------------------------------------------------------
iF2E0:          lda   SA                  ;(f2e0 A5 B9) Current File - Secondary Address.
                cmp   #$62                ;(f2e2 C9 62)
                bne   iF2F1               ;(f2e4 D0 0B)

                lda   #$05                ;(f2e6 A9 05)
                jsr   iF76A               ;(f2e8 20 6A F7)
                jmp   iF2F1               ;(f2eb 4C F1 F2)
;------------------------------------------------------------------------
iF2EE:          jsr   iF642               ;(f2ee 20 42 F6)
iF2F1:          pla                       ;(f2f1 68)
iF2F2:          tax                       ;(f2f2 AA)
                dec   LDTND               ;(f2f3 C6 98) Number of Open Files/Index to File Table.
                cpx   LDTND               ;(f2f5 E4 98) Number of Open Files/Index to File Table.
                beq   iF30D               ;(f2f7 F0 14)

                ldy   LDTND               ;(f2f9 A4 98) Number of Open Files/Index to File Table.
                lda   e0259,Y             ;(f2fb B9 59 02)
                sta   e0259,X             ;(f2fe 9D 59 02)
                lda   e0263,Y             ;(f301 B9 63 02)
                sta   e0263,X             ;(f304 9D 63 02)
                lda   e026D,Y             ;(f307 B9 6D 02)
                sta   e026D,X             ;(f30a 9D 6D 02)
iF30D:          clc                       ;(f30d 18)
                rts                       ;(f30e 60)
;------------------------------------------------------------------------
iF30F:          lda   #$00                ;(f30f A9 00)
                sta   STATUS              ;(f311 85 90) Kernal I/O Status Word  ST.
                txa                       ;(f313 8A)
iF314:          ldx   LDTND               ;(f314 A6 98) Number of Open Files/Index to File Table.
iF316:          dex                       ;(f316 CA)
                bmi   iF32E               ;(f317 30 15)

                cmp   e0259,X             ;(f319 DD 59 02)
                bne   iF316               ;(f31c D0 F8)

                rts                       ;(f31e 60)
;------------------------------------------------------------------------
iF31F:          lda   e0259,X             ;(f31f BD 59 02)
                sta   LA                  ;(f322 85 B8) Current File - Logical File number.
                lda   e0263,X             ;(f324 BD 63 02)
                sta   FA                  ;(f327 85 BA) Current File - First Address (Device number).
                lda   e026D,X             ;(f329 BD 6D 02)
                sta   SA                  ;(f32c 85 B9) Current File - Secondary Address.
iF32E:          rts                       ;(f32e 60)
;------------------------------------------------------------------------
                lda   #$00                ;(f32f A9 00)
                sta   LDTND               ;(f331 85 98) Number of Open Files/Index to File Table.
                ldx   #$03                ;(f333 A2 03)
                cpx   DFLTO               ;(f335 E4 9A) Default Output Device (3).
                bcs   iF33C               ;(f337 B0 03)

                jsr   iEDFE               ;(f339 20 FE ED)
iF33C:          cpx   DFLTN               ;(f33c E4 99) Default Input Device (0).
                bcs   iF343               ;(f33e B0 03)

                jsr   iEDEF               ;(f340 20 EF ED)
iF343:          stx   DFLTO               ;(f343 86 9A) Default Output Device (3).
                lda   #$00                ;(f345 A9 00)
                sta   DFLTN               ;(f347 85 99) Default Input Device (0).
                rts                       ;(f349 60)
;------------------------------------------------------------------------
                ldx   LA                  ;(f34a A6 B8) Current File - Logical File number.
                bne   iF351               ;(f34c D0 03)

                jmp   iF70A               ;(f34e 4C 0A F7)
;------------------------------------------------------------------------
iF351:          jsr   iF30F               ;(f351 20 0F F3)
                bne   iF359               ;(f354 D0 03)

                jmp   iF6FE               ;(f356 4C FE F6)
;------------------------------------------------------------------------
iF359:          ldx   LDTND               ;(f359 A6 98) Number of Open Files/Index to File Table.
                cpx   #$0A                ;(f35b E0 0A)
                bcc   iF362               ;(f35d 90 03)

                jmp   iF6FB               ;(f35f 4C FB F6)
;------------------------------------------------------------------------
iF362:          inc   LDTND               ;(f362 E6 98) Number of Open Files/Index to File Table.
                lda   LA                  ;(f364 A5 B8) Current File - Logical File number.
                sta   e0259,X             ;(f366 9D 59 02)
                lda   SA                  ;(f369 A5 B9) Current File - Secondary Address.
                ora   #$60                ;(f36b 09 60)
                sta   SA                  ;(f36d 85 B9) Current File - Secondary Address.
                sta   e026D,X             ;(f36f 9D 6D 02)
                lda   FA                  ;(f372 A5 BA) Current File - First Address (Device number).
                sta   e0263,X             ;(f374 9D 63 02)
                beq   iF3D3               ;(f377 F0 5A)

                cmp   #$03                ;(f379 C9 03)
                beq   iF3D3               ;(f37b F0 56)

                bcc   iF384               ;(f37d 90 05)

                jsr   iF3D5               ;(f37f 20 D5 F3)
                bcc   iF3D3               ;(f382 90 4F)

iF384:          cmp   #$02                ;(f384 C9 02)
                bne   iF38B               ;(f386 D0 03)

                jmp   iF409               ;(f388 4C 09 F4)
;------------------------------------------------------------------------
iF38B:          jsr   iF7D0               ;(f38b 20 D0 F7)
                bcs   iF393               ;(f38e B0 03)

                jmp   iF713               ;(f390 4C 13 F7)
;------------------------------------------------------------------------
iF393:          lda   SA                  ;(f393 A5 B9) Current File - Secondary Address.
                and   #$0F                ;(f395 29 0F)
                bne   iF3B8               ;(f397 D0 1F)

                jsr   iF817               ;(f399 20 17 F8)
                bcs   iF3D4               ;(f39c B0 36)

                jsr   iF5AF               ;(f39e 20 AF F5)
                lda   FNLEN               ;(f3a1 A5 B7) Number of Characters in Filename.
                beq   iF3AF               ;(f3a3 F0 0A)

                jsr   iF7EA               ;(f3a5 20 EA F7)
                bcc   iF3C2               ;(f3a8 90 18)

                beq   iF3D4               ;(f3aa F0 28)

iF3AC:          jmp   iF704               ;(f3ac 4C 04 F7)
;------------------------------------------------------------------------
iF3AF:          jsr   iF72C               ;(f3af 20 2C F7)
                beq   iF3D4               ;(f3b2 F0 20)

                bcc   iF3C2               ;(f3b4 90 0C)

                bcs   iF3AC               ;(f3b6 B0 F4)

iF3B8:          jsr   iF838               ;(f3b8 20 38 F8)
                bcs   iF3D4               ;(f3bb B0 17)

                lda   #$04                ;(f3bd A9 04)
                jsr   iF76A               ;(f3bf 20 6A F7)
iF3C2:          lda   #$BF                ;(f3c2 A9 BF)
                ldy   SA                  ;(f3c4 A4 B9) Current File - Secondary Address.
                cpy   #$60                ;(f3c6 C0 60)
                beq   iF3D1               ;(f3c8 F0 07)

                ldy   #$00                ;(f3ca A0 00)
                lda   #$02                ;(f3cc A9 02)
                sta   (TAPE1),Y           ;(f3ce 91 B2) Pointer: Start Address of Tape Buffer ($033C).
                tya                       ;(f3d0 98)
iF3D1:          sta   BUFPNT              ;(f3d1 85 A6) Pointer: Tape I/O buffer.
iF3D3:          clc                       ;(f3d3 18)
iF3D4:          rts                       ;(f3d4 60)
;------------------------------------------------------------------------
iF3D5:          lda   SA                  ;(f3d5 A5 B9) Current File - Secondary Address.
                bmi   iF3D3               ;(f3d7 30 FA)

                ldy   FNLEN               ;(f3d9 A4 B7) Number of Characters in Filename.
                beq   iF3D3               ;(f3db F0 F6)

                lda   #$00                ;(f3dd A9 00)
                sta   STATUS              ;(f3df 85 90) Kernal I/O Status Word  ST.
                lda   FA                  ;(f3e1 A5 BA) Current File - First Address (Device number).
                jsr   iED0C               ;(f3e3 20 0C ED)
                lda   SA                  ;(f3e6 A5 B9) Current File - Secondary Address.
                ora   #$F0                ;(f3e8 09 F0)
                jsr   iEDB9               ;(f3ea 20 B9 ED)
                lda   STATUS              ;(f3ed A5 90) Kernal I/O Status Word  ST.
                bpl   iF3F6               ;(f3ef 10 05)

                pla                       ;(f3f1 68)
                pla                       ;(f3f2 68)
                jmp   iF707               ;(f3f3 4C 07 F7)
;------------------------------------------------------------------------
iF3F6:          lda   FNLEN               ;(f3f6 A5 B7) Number of Characters in Filename.
                beq   iF406               ;(f3f8 F0 0C)

                ldy   #$00                ;(f3fa A0 00)
iF3FC:          lda   (FNADR),Y           ;(f3fc B1 BB) Pointer: Current File name Address.
                jsr   iEDDD               ;(f3fe 20 DD ED)
;IO Kernal ROM
;------------------------------------------------------------------------
                iny                       ;(f401 C8)
;IO Kernal ROM
;------------------------------------------------------------------------
                cpy   FNLEN               ;(f402 C4 B7) Number of Characters in Filename.
                bne   iF3FC               ;(f404 D0 F6)

iF406:          jmp   iF654               ;(f406 4C 54 F6)
;------------------------------------------------------------------------
iF409:          jsr   iF483               ;(f409 20 83 F4)
                sty   e0297               ;(f40c 8C 97 02)
iF40F:          cpy   FNLEN               ;(f40f C4 B7) Number of Characters in Filename.
                beq   iF41D               ;(f411 F0 0A)

                lda   (FNADR),Y           ;(f413 B1 BB) Pointer: Current File name Address.
                sta   e0293,Y             ;(f415 99 93 02)
                iny                       ;(f418 C8)
                cpy   #$04                ;(f419 C0 04)
                bne   iF40F               ;(f41b D0 F2)

iF41D:          jsr   iEF4A               ;(f41d 20 4A EF)
                stx   e0298               ;(f420 8E 98 02)
                lda   e0293               ;(f423 AD 93 02)
                and   #$0F                ;(f426 29 0F)
                beq   iF446               ;(f428 F0 1C)

                asl   A                   ;(f42a 0A)
                tax                       ;(f42b AA)
                lda   e02A6               ;(f42c AD A6 02)
                bne   iF43A               ;(f42f D0 09)

                ldy   iFEC1,X             ;(f431 BC C1 FE)
                lda   iFEC0,X             ;(f434 BD C0 FE)
                jmp   iF440               ;(f437 4C 40 F4)
;------------------------------------------------------------------------
iF43A:          ldy   iE4EB,X             ;(f43a BC EB E4)
                lda   iE4EA,X             ;(f43d BD EA E4)
iF440:          sty   e0296               ;(f440 8C 96 02)
                sta   e0295               ;(f443 8D 95 02)
iF446:          lda   e0295               ;(f446 AD 95 02)
                asl   A                   ;(f449 0A)
                jsr   entry_ff2e          ;(f44a 20 2E FF) entrypoint at $ff2e
                lda   e0294               ;(f44d AD 94 02)
                lsr   A                   ;(f450 4A)
                bcc   iF45C               ;(f451 90 09)

                lda   CIA2+$0001          ;(f453 AD 01 DD) Complex Adapter Interface 2
                asl   A                   ;(f456 0A)
                bcs   iF45C               ;(f457 B0 03)

                jsr   iF00D               ;(f459 20 0D F0)
iF45C:          lda   e029B               ;(f45c AD 9B 02)
                sta   e029C               ;(f45f 8D 9C 02)
                lda   e029E               ;(f462 AD 9E 02)
                sta   e029D               ;(f465 8D 9D 02)
                jsr   iFE27               ;(f468 20 27 FE)
                lda   zpF8                ;(f46b A5 F8)
                bne   iF474               ;(f46d D0 05)

                dey                       ;(f46f 88)
                sty   zpF8                ;(f470 84 F8)
                stx   RIBUF               ;(f472 86 F7) RS232 Input Buffer Pointer.
iF474:          lda   ROBUF+$0001         ;(f474 A5 FA) RS232 Output Buffer Pointer.
                bne   iF47D               ;(f476 D0 05)

                dey                       ;(f478 88)
                sty   ROBUF+$0001         ;(f479 84 FA) RS232 Output Buffer Pointer.
                stx   ROBUF               ;(f47b 86 F9) RS232 Output Buffer Pointer.
iF47D:          sec                       ;(f47d 38)
                lda   #$F0                ;(f47e A9 F0)
                jmp   iFE2D               ;(f480 4C 2D FE)
;------------------------------------------------------------------------
iF483:          lda   #$7F                ;(f483 A9 7F)
                sta   eDD0D               ;(f485 8D 0D DD)
                lda   #$06                ;(f488 A9 06)
                sta   CIA2+$0003          ;(f48a 8D 03 DD) Complex Adapter Interface 2
                sta   CIA2+$0001          ;(f48d 8D 01 DD) Complex Adapter Interface 2
                lda   #$04                ;(f490 A9 04)
                ora   CIA2                ;(f492 0D 00 DD) Complex Adapter Interface 2
                sta   CIA2                ;(f495 8D 00 DD) Complex Adapter Interface 2
                ldy   #$00                ;(f498 A0 00)
                sty   e02A1               ;(f49a 8C A1 02)
                rts                       ;(f49d 60)
;------------------------------------------------------------------------
iF49E:          stx   MEMUSS              ;(f49e 86 C3) Pointer: Type 3 Tape LOAD and general use.
                sty   zpC4                ;(f4a0 84 C4)
                jmp   (e0330)             ;(f4a2 6C 30 03) *($0330)=$f4a5
;------------------------------------------------------------------------
                sta   VERCKK              ;(f4a5 85 93) Flag: 0 = Load
                lda   #$00                ;(f4a7 A9 00)
                sta   STATUS              ;(f4a9 85 90) Kernal I/O Status Word  ST.
                lda   FA                  ;(f4ab A5 BA) Current File - First Address (Device number).
                bne   iF4B2               ;(f4ad D0 03)

iF4AF:          jmp   iF713               ;(f4af 4C 13 F7)
;------------------------------------------------------------------------
iF4B2:          cmp   #$03                ;(f4b2 C9 03)
                beq   iF4AF               ;(f4b4 F0 F9)

                bcc   iF533               ;(f4b6 90 7B)

                ldy   FNLEN               ;(f4b8 A4 B7) Number of Characters in Filename.
                bne   iF4BF               ;(f4ba D0 03)

                jmp   iF710               ;(f4bc 4C 10 F7)
;------------------------------------------------------------------------
iF4BF:          ldx   SA                  ;(f4bf A6 B9) Current File - Secondary Address.
                jsr   iF5AF               ;(f4c1 20 AF F5)
                lda   #$60                ;(f4c4 A9 60)
                sta   SA                  ;(f4c6 85 B9) Current File - Secondary Address.
                jsr   iF3D5               ;(f4c8 20 D5 F3)
                lda   FA                  ;(f4cb A5 BA) Current File - First Address (Device number).
                jsr   iED09               ;(f4cd 20 09 ED)
                lda   SA                  ;(f4d0 A5 B9) Current File - Secondary Address.
                jsr   iEDC7               ;(f4d2 20 C7 ED)
                jsr   iEE13               ;(f4d5 20 13 EE)
                sta   EAL                 ;(f4d8 85 AE) Tape End Address/End of Program.
                lda   STATUS              ;(f4da A5 90) Kernal I/O Status Word  ST.
                lsr   A                   ;(f4dc 4A)
                lsr   A                   ;(f4dd 4A)
                bcs   iF530               ;(f4de B0 50)

                jsr   iEE13               ;(f4e0 20 13 EE)
                sta   EAL+$0001           ;(f4e3 85 AF) Tape End Address/End of Program.
                txa                       ;(f4e5 8A)
                bne   iF4F0               ;(f4e6 D0 08)

                lda   MEMUSS              ;(f4e8 A5 C3) Pointer: Type 3 Tape LOAD and general use.
                sta   EAL                 ;(f4ea 85 AE) Tape End Address/End of Program.
                lda   zpC4                ;(f4ec A5 C4)
                sta   EAL+$0001           ;(f4ee 85 AF) Tape End Address/End of Program.
iF4F0:          jsr   iF5D2               ;(f4f0 20 D2 F5)
iF4F3:          lda   #$FD                ;(f4f3 A9 FD)
                and   STATUS              ;(f4f5 25 90) Kernal I/O Status Word  ST.
                sta   STATUS              ;(f4f7 85 90) Kernal I/O Status Word  ST.
                jsr   stop                ;(f4f9 20 E1 FF)
                bne   iF501               ;(f4fc D0 03)

                jmp   iF633               ;(f4fe 4C 33 F6)
;------------------------------------------------------------------------
iF501:          jsr   iEE13               ;(f501 20 13 EE)
                tax                       ;(f504 AA)
                lda   STATUS              ;(f505 A5 90) Kernal I/O Status Word  ST.
                lsr   A                   ;(f507 4A)
                lsr   A                   ;(f508 4A)
                bcs   iF4F3               ;(f509 B0 E8)

                txa                       ;(f50b 8A)
                ldy   VERCKK              ;(f50c A4 93) Flag: 0 = Load
                beq   iF51C               ;(f50e F0 0C)

                ldy   #$00                ;(f510 A0 00)
                cmp   (EAL),Y             ;(f512 D1 AE) Tape End Address/End of Program.
                beq   iF51E               ;(f514 F0 08)

                lda   #$10                ;(f516 A9 10)
                jsr   iFE1C               ;(f518 20 1C FE)
iF51B:                                    ;(f51b) Flag: $7F = STOP key.
iF51C           =     iF51B+$01           ;(f51c)
                bit   eAE91               ;(f51b 2C 91 AE)
iF51E:          inc   EAL                 ;(f51e E6 AE) Tape End Address/End of Program.
                bne   iF524               ;(f520 D0 02)

                inc   EAL+$0001           ;(f522 E6 AF) Tape End Address/End of Program.
iF524:          bit   STATUS              ;(f524 24 90) Kernal I/O Status Word  ST.
                bvc   iF4F3               ;(f526 50 CB)

                jsr   iEDEF               ;(f528 20 EF ED)
                jsr   iF642               ;(f52b 20 42 F6)
                bcc   iF5A9               ;(f52e 90 79)

iF530:          jmp   iF704               ;(f530 4C 04 F7)
;------------------------------------------------------------------------
iF533:          lsr   A                   ;(f533 4A)
                bcs   iF539               ;(f534 B0 03)

                jmp   iF713               ;(f536 4C 13 F7)
;------------------------------------------------------------------------
iF539:          jsr   iF7D0               ;(f539 20 D0 F7)
                bcs   iF541               ;(f53c B0 03)

                jmp   iF713               ;(f53e 4C 13 F7)
;------------------------------------------------------------------------
iF541:          jsr   iF817               ;(f541 20 17 F8)
                bcs   iF5AE               ;(f544 B0 68)

                jsr   iF5AF               ;(f546 20 AF F5)
iF549:          lda   FNLEN               ;(f549 A5 B7) Number of Characters in Filename.
                beq   iF556               ;(f54b F0 09)

                jsr   iF7EA               ;(f54d 20 EA F7)
                bcc   iF55D               ;(f550 90 0B)

                beq   iF5AE               ;(f552 F0 5A)

                bcs   iF530               ;(f554 B0 DA)

iF556:          jsr   iF72C               ;(f556 20 2C F7)
                beq   iF5AE               ;(f559 F0 53)

                bcs   iF530               ;(f55b B0 D3)

iF55D:          lda   STATUS              ;(f55d A5 90) Kernal I/O Status Word  ST.
                and   #$10                ;(f55f 29 10)
                sec                       ;(f561 38)
                bne   iF5AE               ;(f562 D0 4A)

                cpx   #$01                ;(f564 E0 01)
                beq   iF579               ;(f566 F0 11)

                cpx   #$03                ;(f568 E0 03)
                bne   iF549               ;(f56a D0 DD)

iF56C:          ldy   #$01                ;(f56c A0 01)
                lda   (TAPE1),Y           ;(f56e B1 B2) Pointer: Start Address of Tape Buffer ($033C).
                sta   MEMUSS              ;(f570 85 C3) Pointer: Type 3 Tape LOAD and general use.
                iny                       ;(f572 C8)
                lda   (TAPE1),Y           ;(f573 B1 B2) Pointer: Start Address of Tape Buffer ($033C).
                sta   zpC4                ;(f575 85 C4)
                bcs   iF57D               ;(f577 B0 04)

iF579:          lda   SA                  ;(f579 A5 B9) Current File - Secondary Address.
                bne   iF56C               ;(f57b D0 EF)

iF57D:          ldy   #$03                ;(f57d A0 03)
                lda   (TAPE1),Y           ;(f57f B1 B2) Pointer: Start Address of Tape Buffer ($033C).
                ldy   #$01                ;(f581 A0 01)
                sbc   (TAPE1),Y           ;(f583 F1 B2) Pointer: Start Address of Tape Buffer ($033C).
                tax                       ;(f585 AA)
                ldy   #$04                ;(f586 A0 04)
                lda   (TAPE1),Y           ;(f588 B1 B2) Pointer: Start Address of Tape Buffer ($033C).
                ldy   #$02                ;(f58a A0 02)
                sbc   (TAPE1),Y           ;(f58c F1 B2) Pointer: Start Address of Tape Buffer ($033C).
                tay                       ;(f58e A8)
                clc                       ;(f58f 18)
                txa                       ;(f590 8A)
                adc   MEMUSS              ;(f591 65 C3) Pointer: Type 3 Tape LOAD and general use.
                sta   EAL                 ;(f593 85 AE) Tape End Address/End of Program.
                tya                       ;(f595 98)
                adc   zpC4                ;(f596 65 C4)
                sta   EAL+$0001           ;(f598 85 AF) Tape End Address/End of Program.
                lda   MEMUSS              ;(f59a A5 C3) Pointer: Type 3 Tape LOAD and general use.
                sta   STAL                ;(f59c 85 C1) Start Address for LOAD and Cassette Write.
                lda   zpC4                ;(f59e A5 C4)
                sta   STAL+$0001          ;(f5a0 85 C2) Start Address for LOAD and Cassette Write.
                jsr   iF5D2               ;(f5a2 20 D2 F5)
                jsr   iF84A               ;(f5a5 20 4A F8)
iF5A8:                                    ;(f5a8)
iF5A9           =     iF5A8+$01           ;(f5a9)
                bit   zp18                ;(f5a8 24 18)
                ldx   EAL                 ;(f5aa A6 AE) Tape End Address/End of Program.
                ldy   EAL+$0001           ;(f5ac A4 AF) Tape End Address/End of Program.
iF5AE:          rts                       ;(f5ae 60)
;------------------------------------------------------------------------
iF5AF:          lda   MSGFLG              ;(f5af A5 9D) Flag: $00 = Program mode: Suppress Error Messages
                bpl   iF5D1               ;(f5b1 10 1E)

                ldy   #$0C                ;(f5b3 A0 0C)
                jsr   iF12F               ;(f5b5 20 2F F1)
                lda   FNLEN               ;(f5b8 A5 B7) Number of Characters in Filename.
                beq   iF5D1               ;(f5ba F0 15)

                ldy   #$17                ;(f5bc A0 17)
                jsr   iF12F               ;(f5be 20 2F F1)
iF5C1:          ldy   FNLEN               ;(f5c1 A4 B7) Number of Characters in Filename.
                beq   iF5D1               ;(f5c3 F0 0C)

                ldy   #$00                ;(f5c5 A0 00)
iF5C7:          lda   (FNADR),Y           ;(f5c7 B1 BB) Pointer: Current File name Address.
                jsr   entry_ffd2          ;(f5c9 20 D2 FF) entrypoint at $ffd2
                iny                       ;(f5cc C8)
                cpy   FNLEN               ;(f5cd C4 B7) Number of Characters in Filename.
                bne   iF5C7               ;(f5cf D0 F6)

iF5D1:          rts                       ;(f5d1 60)
;------------------------------------------------------------------------
iF5D2:          ldy   #$49                ;(f5d2 A0 49)
                lda   VERCKK              ;(f5d4 A5 93) Flag: 0 = Load
                beq   iF5DA               ;(f5d6 F0 02)

                ldy   #$59                ;(f5d8 A0 59)
iF5DA:          jmp   iF12B               ;(f5da 4C 2B F1)
;------------------------------------------------------------------------
iF5DD:          stx   EAL                 ;(f5dd 86 AE) Tape End Address/End of Program.
                sty   EAL+$0001           ;(f5df 84 AF) Tape End Address/End of Program.
                tax                       ;(f5e1 AA)
                lda   __CPUIO0__,X        ;(f5e2 B5 00) Cpu-Port Data-Direction
                sta   STAL                ;(f5e4 85 C1) Start Address for LOAD and Cassette Write.
                lda   __CPUIO1__,X        ;(f5e6 B5 01) Cpu-Port Data
                sta   STAL+$0001          ;(f5e8 85 C2) Start Address for LOAD and Cassette Write.
                jmp   (e0332)             ;(f5ea 6C 32 03) *($0332)=$f5ed
;------------------------------------------------------------------------
                lda   FA                  ;(f5ed A5 BA) Current File - First Address (Device number).
                bne   iF5F4               ;(f5ef D0 03)

iF5F1:          jmp   iF713               ;(f5f1 4C 13 F7)
;------------------------------------------------------------------------
iF5F4:          cmp   #$03                ;(f5f4 C9 03)
                beq   iF5F1               ;(f5f6 F0 F9)

                bcc   iF659               ;(f5f8 90 5F)

                lda   #$61                ;(f5fa A9 61)
                sta   SA                  ;(f5fc 85 B9) Current File - Secondary Address.
                ldy   FNLEN               ;(f5fe A4 B7) Number of Characters in Filename.
                bne   iF605               ;(f600 D0 03)

                jmp   iF710               ;(f602 4C 10 F7)
;------------------------------------------------------------------------
iF605:          jsr   iF3D5               ;(f605 20 D5 F3)
                jsr   iF68F               ;(f608 20 8F F6)
                lda   FA                  ;(f60b A5 BA) Current File - First Address (Device number).
                jsr   iED0C               ;(f60d 20 0C ED)
                lda   SA                  ;(f610 A5 B9) Current File - Secondary Address.
                jsr   iEDB9               ;(f612 20 B9 ED)
                ldy   #$00                ;(f615 A0 00)
                jsr   iFB8E               ;(f617 20 8E FB)
                lda   SAL                 ;(f61a A5 AC) Pointer: Tape Buffer/Screen scrolling.
                jsr   iEDDD               ;(f61c 20 DD ED)
                lda   SAL+$0001           ;(f61f A5 AD) Pointer: Tape Buffer/Screen scrolling.
                jsr   iEDDD               ;(f621 20 DD ED)
iF624:          jsr   iFCD1               ;(f624 20 D1 FC)
                bcs   iF63F               ;(f627 B0 16)

                lda   (SAL),Y             ;(f629 B1 AC) Pointer: Tape Buffer/Screen scrolling.
                jsr   iEDDD               ;(f62b 20 DD ED)
                jsr   stop                ;(f62e 20 E1 FF)
                bne   iF63A               ;(f631 D0 07)

iF633:          jsr   iF642               ;(f633 20 42 F6)
                lda   #$00                ;(f636 A9 00)
                sec                       ;(f638 38)
                rts                       ;(f639 60)
;------------------------------------------------------------------------
iF63A:          jsr   iFCDB               ;(f63a 20 DB FC)
                bne   iF624               ;(f63d D0 E5)

iF63F:          jsr   iEDFE               ;(f63f 20 FE ED)
iF642:          bit   SA                  ;(f642 24 B9) Current File - Secondary Address.
                bmi   iF657               ;(f644 30 11)

                lda   FA                  ;(f646 A5 BA) Current File - First Address (Device number).
                jsr   iED0C               ;(f648 20 0C ED)
                lda   SA                  ;(f64b A5 B9) Current File - Secondary Address.
                and   #$EF                ;(f64d 29 EF)
                ora   #$E0                ;(f64f 09 E0)
                jsr   iEDB9               ;(f651 20 B9 ED)
iF654:          jsr   iEDFE               ;(f654 20 FE ED)
iF657:          clc                       ;(f657 18)
                rts                       ;(f658 60)
;------------------------------------------------------------------------
iF659:          lsr   A                   ;(f659 4A)
                bcs   iF65F               ;(f65a B0 03)

                jmp   iF713               ;(f65c 4C 13 F7)
;------------------------------------------------------------------------
iF65F:          jsr   iF7D0               ;(f65f 20 D0 F7)
                bcc   iF5F1               ;(f662 90 8D)

                jsr   iF838               ;(f664 20 38 F8)
                bcs   iF68E               ;(f667 B0 25)

                jsr   iF68F               ;(f669 20 8F F6)
                ldx   #$03                ;(f66c A2 03)
                lda   SA                  ;(f66e A5 B9) Current File - Secondary Address.
                and   #$01                ;(f670 29 01)
                bne   iF676               ;(f672 D0 02)

                ldx   #$01                ;(f674 A2 01)
iF676:          txa                       ;(f676 8A)
                jsr   iF76A               ;(f677 20 6A F7)
                bcs   iF68E               ;(f67a B0 12)

                jsr   iF867               ;(f67c 20 67 F8)
                bcs   iF68E               ;(f67f B0 0D)

                lda   SA                  ;(f681 A5 B9) Current File - Secondary Address.
                and   #$02                ;(f683 29 02)
                beq   iF68D               ;(f685 F0 06)

                lda   #$05                ;(f687 A9 05)
                jsr   iF76A               ;(f689 20 6A F7)
iF68C:                                    ;(f68c)
iF68D           =     iF68C+$01           ;(f68d)
                bit   zp18                ;(f68c 24 18)
iF68E:          rts                       ;(f68e 60)
;------------------------------------------------------------------------
iF68F:          lda   MSGFLG              ;(f68f A5 9D) Flag: $00 = Program mode: Suppress Error Messages
                bpl   iF68E               ;(f691 10 FB)

                ldy   #$51                ;(f693 A0 51)
                jsr   iF12F               ;(f695 20 2F F1)
                jmp   iF5C1               ;(f698 4C C1 F5)
;------------------------------------------------------------------------
udtim_direct:   ldx   #$00                ;(f69b A2 00)
                inc   TIME+$0002          ;(f69d E6 A2) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
                bne   iF6A7               ;(f69f D0 06)

                inc   TIME+$0001          ;(f6a1 E6 A1) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
                bne   iF6A7               ;(f6a3 D0 02)

                inc   TIME                ;(f6a5 E6 A0) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
iF6A7:          sec                       ;(f6a7 38)
                lda   TIME+$0002          ;(f6a8 A5 A2) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
                sbc   #$01                ;(f6aa E9 01)
                lda   TIME+$0001          ;(f6ac A5 A1) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
                sbc   #$1A                ;(f6ae E9 1A)
                lda   TIME                ;(f6b0 A5 A0) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
                sbc   #$4F                ;(f6b2 E9 4F)
                bcc   iF6BC               ;(f6b4 90 06)

                stx   TIME                ;(f6b6 86 A0) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
                stx   TIME+$0001          ;(f6b8 86 A1) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
                stx   TIME+$0002          ;(f6ba 86 A2) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
iF6BC:          lda   __CIA1__+$0001      ;(f6bc AD 01 DC) Complex Interface Adapter 1
                cmp   __CIA1__+$0001      ;(f6bf CD 01 DC) Complex Interface Adapter 1
                bne   iF6BC               ;(f6c2 D0 F8)

                tax                       ;(f6c4 AA)
                bmi   iF6DA               ;(f6c5 30 13)

                ldx   #$BD                ;(f6c7 A2 BD)
                stx   __CIA1__            ;(f6c9 8E 00 DC) Complex Interface Adapter 1
iF6CC:          ldx   __CIA1__+$0001      ;(f6cc AE 01 DC) Complex Interface Adapter 1
                cpx   __CIA1__+$0001      ;(f6cf EC 01 DC) Complex Interface Adapter 1
                bne   iF6CC               ;(f6d2 D0 F8)

                sta   __CIA1__            ;(f6d4 8D 00 DC) Complex Interface Adapter 1
                inx                       ;(f6d7 E8)
                bne   iF6DC               ;(f6d8 D0 02)

iF6DA:          sta   STKEY               ;(f6da 85 91) Flag: $7F = STOP key.
iF6DC:          rts                       ;(f6dc 60)
;------------------------------------------------------------------------
iF6DD:          sei                       ;(f6dd 78)
                lda   TIME+$0002          ;(f6de A5 A2) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
                ldx   TIME+$0001          ;(f6e0 A6 A1) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
                ldy   TIME                ;(f6e2 A4 A0) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
iF6E4:          sei                       ;(f6e4 78)
                sta   TIME+$0002          ;(f6e5 85 A2) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
                stx   TIME+$0001          ;(f6e7 86 A1) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
                sty   TIME                ;(f6e9 84 A0) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
                cli                       ;(f6eb 58)
                rts                       ;(f6ec 60)
;------------------------------------------------------------------------
                lda   STKEY               ;(f6ed A5 91) Flag: $7F = STOP key.
                cmp   #$7F                ;(f6ef C9 7F)
                bne   iF6FA               ;(f6f1 D0 07)

                php                       ;(f6f3 08)
                jsr   entry_ffcc          ;(f6f4 20 CC FF) entrypoint at $ffcc
                sta   NDX                 ;(f6f7 85 C6) Number of Characters in Keyboard Buffer queue.
                plp                       ;(f6f9 28)
iF6FA:          rts                       ;(f6fa 60)
;------------------------------------------------------------------------
iF6FB:          lda   #$01                ;(f6fb A9 01)
iF6FD:                                    ;(f6fd) RS232 Flag: Start Bit check/Tape temporary.
iF6FE           =     iF6FD+$01           ;(f6fe)
                bit   e02A9               ;(f6fd 2C A9 02)
iF700:                                    ;(f700) RS232 Flag: Start Bit check/Tape temporary.
iF701           =     iF700+$01           ;(f701)
                bit   e03A9               ;(f700 2C A9 03)
iF703:                                    ;(f703) RS232 Flag: Start Bit check/Tape temporary.
iF704           =     iF703+$01           ;(f704)
                bit   e04A9               ;(f703 2C A9 04)
iF706:                                    ;(f706) RS232 Flag: Start Bit check/Tape temporary.
iF707           =     iF706+$01           ;(f707)
                bit   e05A9               ;(f706 2C A9 05)
iF709:                                    ;(f709) RS232 Flag: Start Bit check/Tape temporary.
iF70A           =     iF709+$01           ;(f70a)
                bit   e06A9               ;(f709 2C A9 06)
iF70C:                                    ;(f70c) RS232 Flag: Start Bit check/Tape temporary.
iF70D           =     iF70C+$01           ;(f70d)
                bit   e07A9               ;(f70c 2C A9 07)
iF70F:                                    ;(f70f) RS232 Flag: Start Bit check/Tape temporary.
iF710           =     iF70F+$01           ;(f710)
                bit   e08A9               ;(f70f 2C A9 08)
iF712:                                    ;(f712) RS232 Flag: Start Bit check/Tape temporary.
iF713           =     iF712+$01           ;(f713)
                bit   e09A9               ;(f712 2C A9 09)
                pha                       ;(f715 48)
                jsr   entry_ffcc          ;(f716 20 CC FF) entrypoint at $ffcc
                ldy   #$00                ;(f719 A0 00)
                bit   MSGFLG              ;(f71b 24 9D) Flag: $00 = Program mode: Suppress Error Messages
                bvc   iF729               ;(f71d 50 0A)

                jsr   iF12F               ;(f71f 20 2F F1)
                pla                       ;(f722 68)
                pha                       ;(f723 48)
                ora   #$30                ;(f724 09 30)
                jsr   entry_ffd2          ;(f726 20 D2 FF) entrypoint at $ffd2
iF729:          pla                       ;(f729 68)
                sec                       ;(f72a 38)
                rts                       ;(f72b 60)
;------------------------------------------------------------------------
iF72C:          lda   VERCKK              ;(f72c A5 93) Flag: 0 = Load
                pha                       ;(f72e 48)
                jsr   iF841               ;(f72f 20 41 F8)
                pla                       ;(f732 68)
                sta   VERCKK              ;(f733 85 93) Flag: 0 = Load
                bcs   iF769               ;(f735 B0 32)

                ldy   #$00                ;(f737 A0 00)
                lda   (TAPE1),Y           ;(f739 B1 B2) Pointer: Start Address of Tape Buffer ($033C).
                cmp   #$05                ;(f73b C9 05)
                beq   iF769               ;(f73d F0 2A)

                cmp   #$01                ;(f73f C9 01)
                beq   iF74B               ;(f741 F0 08)

                cmp   #$03                ;(f743 C9 03)
                beq   iF74B               ;(f745 F0 04)

                cmp   #$04                ;(f747 C9 04)
                bne   iF72C               ;(f749 D0 E1)

iF74B:          tax                       ;(f74b AA)
                bit   MSGFLG              ;(f74c 24 9D) Flag: $00 = Program mode: Suppress Error Messages
                bpl   iF767               ;(f74e 10 17)

                ldy   #$63                ;(f750 A0 63)
                jsr   iF12F               ;(f752 20 2F F1)
                ldy   #$05                ;(f755 A0 05)
iF757:          lda   (TAPE1),Y           ;(f757 B1 B2) Pointer: Start Address of Tape Buffer ($033C).
                jsr   entry_ffd2          ;(f759 20 D2 FF) entrypoint at $ffd2
                iny                       ;(f75c C8)
                cpy   #$15                ;(f75d C0 15)
                bne   iF757               ;(f75f D0 F6)

                lda   TIME+$0001          ;(f761 A5 A1) Real-time jiffy Clock (Updated by IRQ Interrupt approx. every 1/60 of Second); Update Routine: UDTIMK ($F69B).
                jsr   iE4E0               ;(f763 20 E0 E4)
                nop                       ;(f766 EA)
iF767:          clc                       ;(f767 18)
                dey                       ;(f768 88)
iF769:          rts                       ;(f769 60)
;------------------------------------------------------------------------
iF76A:          sta   PTR1                ;(f76a 85 9E) Tape Error log pass 1.
                jsr   iF7D0               ;(f76c 20 D0 F7)
                bcc   iF7CF               ;(f76f 90 5E)

                lda   STAL+$0001          ;(f771 A5 C2) Start Address for LOAD and Cassette Write.
                pha                       ;(f773 48)
                lda   STAL                ;(f774 A5 C1) Start Address for LOAD and Cassette Write.
                pha                       ;(f776 48)
                lda   EAL+$0001           ;(f777 A5 AF) Tape End Address/End of Program.
                pha                       ;(f779 48)
                lda   EAL                 ;(f77a A5 AE) Tape End Address/End of Program.
                pha                       ;(f77c 48)
                ldy   #$BF                ;(f77d A0 BF)
                lda   #$20                ;(f77f A9 20)
iF781:          sta   (TAPE1),Y           ;(f781 91 B2) Pointer: Start Address of Tape Buffer ($033C).
                dey                       ;(f783 88)
                bne   iF781               ;(f784 D0 FB)

                lda   PTR1                ;(f786 A5 9E) Tape Error log pass 1.
                sta   (TAPE1),Y           ;(f788 91 B2) Pointer: Start Address of Tape Buffer ($033C).
                iny                       ;(f78a C8)
                lda   STAL                ;(f78b A5 C1) Start Address for LOAD and Cassette Write.
                sta   (TAPE1),Y           ;(f78d 91 B2) Pointer: Start Address of Tape Buffer ($033C).
                iny                       ;(f78f C8)
                lda   STAL+$0001          ;(f790 A5 C2) Start Address for LOAD and Cassette Write.
                sta   (TAPE1),Y           ;(f792 91 B2) Pointer: Start Address of Tape Buffer ($033C).
                iny                       ;(f794 C8)
                lda   EAL                 ;(f795 A5 AE) Tape End Address/End of Program.
                sta   (TAPE1),Y           ;(f797 91 B2) Pointer: Start Address of Tape Buffer ($033C).
                iny                       ;(f799 C8)
                lda   EAL+$0001           ;(f79a A5 AF) Tape End Address/End of Program.
                sta   (TAPE1),Y           ;(f79c 91 B2) Pointer: Start Address of Tape Buffer ($033C).
                iny                       ;(f79e C8)
                sty   PTR2                ;(f79f 84 9F) Tape Error log pass 2.
                ldy   #$00                ;(f7a1 A0 00)
                sty   PTR1                ;(f7a3 84 9E) Tape Error log pass 1.
iF7A5:          ldy   PTR1                ;(f7a5 A4 9E) Tape Error log pass 1.
                cpy   FNLEN               ;(f7a7 C4 B7) Number of Characters in Filename.
                beq   iF7B7               ;(f7a9 F0 0C)

                lda   (FNADR),Y           ;(f7ab B1 BB) Pointer: Current File name Address.
                ldy   PTR2                ;(f7ad A4 9F) Tape Error log pass 2.
                sta   (TAPE1),Y           ;(f7af 91 B2) Pointer: Start Address of Tape Buffer ($033C).
                inc   PTR1                ;(f7b1 E6 9E) Tape Error log pass 1.
                inc   PTR2                ;(f7b3 E6 9F) Tape Error log pass 2.
                bne   iF7A5               ;(f7b5 D0 EE)

iF7B7:          jsr   iF7D7               ;(f7b7 20 D7 F7)
                lda   #$69                ;(f7ba A9 69)
                sta   RIPRTY              ;(f7bc 85 AB) RS232 Input parity/Tape temporary.
                jsr   iF86B               ;(f7be 20 6B F8)
                tay                       ;(f7c1 A8)
                pla                       ;(f7c2 68)
                sta   EAL                 ;(f7c3 85 AE) Tape End Address/End of Program.
                pla                       ;(f7c5 68)
                sta   EAL+$0001           ;(f7c6 85 AF) Tape End Address/End of Program.
                pla                       ;(f7c8 68)
                sta   STAL                ;(f7c9 85 C1) Start Address for LOAD and Cassette Write.
                pla                       ;(f7cb 68)
                sta   STAL+$0001          ;(f7cc 85 C2) Start Address for LOAD and Cassette Write.
                tya                       ;(f7ce 98)
iF7CF:          rts                       ;(f7cf 60)
;------------------------------------------------------------------------
iF7D0:          ldx   TAPE1               ;(f7d0 A6 B2) Pointer: Start Address of Tape Buffer ($033C).
                ldy   TAPE1+$0001         ;(f7d2 A4 B3) Pointer: Start Address of Tape Buffer ($033C).
                cpy   #$02                ;(f7d4 C0 02)
                rts                       ;(f7d6 60)
;------------------------------------------------------------------------
iF7D7:          jsr   iF7D0               ;(f7d7 20 D0 F7)
                txa                       ;(f7da 8A)
                sta   STAL                ;(f7db 85 C1) Start Address for LOAD and Cassette Write.
                clc                       ;(f7dd 18)
                adc   #$C0                ;(f7de 69 C0)
                sta   EAL                 ;(f7e0 85 AE) Tape End Address/End of Program.
                tya                       ;(f7e2 98)
                sta   STAL+$0001          ;(f7e3 85 C2) Start Address for LOAD and Cassette Write.
                adc   #$00                ;(f7e5 69 00)
                sta   EAL+$0001           ;(f7e7 85 AF) Tape End Address/End of Program.
                rts                       ;(f7e9 60)
;------------------------------------------------------------------------
iF7EA:          jsr   iF72C               ;(f7ea 20 2C F7)
                bcs   iF80C               ;(f7ed B0 1D)

                ldy   #$05                ;(f7ef A0 05)
                sty   PTR2                ;(f7f1 84 9F) Tape Error log pass 2.
                ldy   #$00                ;(f7f3 A0 00)
                sty   PTR1                ;(f7f5 84 9E) Tape Error log pass 1.
iF7F7:          cpy   FNLEN               ;(f7f7 C4 B7) Number of Characters in Filename.
                beq   iF80B               ;(f7f9 F0 10)

                lda   (FNADR),Y           ;(f7fb B1 BB) Pointer: Current File name Address.
                ldy   PTR2                ;(f7fd A4 9F) Tape Error log pass 2.
                cmp   (TAPE1),Y           ;(f7ff D1 B2) Pointer: Start Address of Tape Buffer ($033C).
;IO Kernal ROM
;------------------------------------------------------------------------
                bne   iF7EA               ;(f801 D0 E7)

;IO Kernal ROM
;------------------------------------------------------------------------
                inc   PTR1                ;(f803 E6 9E) Tape Error log pass 1.
                inc   PTR2                ;(f805 E6 9F) Tape Error log pass 2.
                ldy   PTR1                ;(f807 A4 9E) Tape Error log pass 1.
                bne   iF7F7               ;(f809 D0 EC)

iF80B:          clc                       ;(f80b 18)
iF80C:          rts                       ;(f80c 60)
;------------------------------------------------------------------------
iF80D:          jsr   iF7D0               ;(f80d 20 D0 F7)
                inc   BUFPNT              ;(f810 E6 A6) Pointer: Tape I/O buffer.
                ldy   BUFPNT              ;(f812 A4 A6) Pointer: Tape I/O buffer.
                cpy   #$C0                ;(f814 C0 C0)
                rts                       ;(f816 60)
;------------------------------------------------------------------------
iF817:          jsr   iF82E               ;(f817 20 2E F8)
                beq   iF836               ;(f81a F0 1A)

                ldy   #$1B                ;(f81c A0 1B)
iF81E:          jsr   iF12F               ;(f81e 20 2F F1)
iF821:          jsr   iF8D0               ;(f821 20 D0 F8)
                jsr   iF82E               ;(f824 20 2E F8)
                bne   iF821               ;(f827 D0 F8)

                ldy   #$6A                ;(f829 A0 6A)
                jmp   iF12F               ;(f82b 4C 2F F1)
;------------------------------------------------------------------------
iF82E:          lda   #$10                ;(f82e A9 10)
                bit   __CPUIO1__          ;(f830 24 01) Cpu-Port Data
                bne   iF836               ;(f832 D0 02)

                bit   __CPUIO1__          ;(f834 24 01) Cpu-Port Data
iF836:          clc                       ;(f836 18)
                rts                       ;(f837 60)
;------------------------------------------------------------------------
iF838:          jsr   iF82E               ;(f838 20 2E F8)
                beq   iF836               ;(f83b F0 F9)

                ldy   #$2E                ;(f83d A0 2E)
                bne   iF81E               ;(f83f D0 DD)

iF841:          lda   #$00                ;(f841 A9 00)
                sta   STATUS              ;(f843 85 90) Kernal I/O Status Word  ST.
                sta   VERCKK              ;(f845 85 93) Flag: 0 = Load
                jsr   iF7D7               ;(f847 20 D7 F7)
iF84A:          jsr   iF817               ;(f84a 20 17 F8)
                bcs   iF86E               ;(f84d B0 1F)

                sei                       ;(f84f 78)
                lda   #$00                ;(f850 A9 00)
                sta   RIDATA              ;(f852 85 AA) RS232 Input Byte Buffer/Tape temporary.
                sta   BITTS               ;(f854 85 B4) RS232 Write bit count/Tape Read timing Flag.
                sta   CMPO                ;(f856 85 B0) Tape timing Constants.
                sta   PTR1                ;(f858 85 9E) Tape Error log pass 1.
                sta   PTR2                ;(f85a 85 9F) Tape Error log pass 2.
                sta   DPSW                ;(f85c 85 9C) Flag: Byte received from Tape.
                lda   #$90                ;(f85e A9 90)
                ldx   #$0E                ;(f860 A2 0E)
                bne   iF875               ;(f862 D0 11)

iF864:          jsr   iF7D7               ;(f864 20 D7 F7)
iF867:          lda   #$14                ;(f867 A9 14)
                sta   RIPRTY              ;(f869 85 AB) RS232 Input parity/Tape temporary.
iF86B:          jsr   iF838               ;(f86b 20 38 F8)
iF86E:          bcs   iF8DC               ;(f86e B0 6C)

                sei                       ;(f870 78)
                lda   #$82                ;(f871 A9 82)
                ldx   #$08                ;(f873 A2 08)
iF875:          ldy   #$7F                ;(f875 A0 7F)
                sty   eDC0D               ;(f877 8C 0D DC)
                sta   eDC0D               ;(f87a 8D 0D DC)
                lda   eDC0E               ;(f87d AD 0E DC)
                ora   #$19                ;(f880 09 19)
                sta   eDC0F               ;(f882 8D 0F DC)
                and   #$91                ;(f885 29 91)
                sta   e02A2               ;(f887 8D A2 02)
                jsr   iF0A4               ;(f88a 20 A4 F0)
                lda   VIC_YSCROLL         ;(f88d AD 11 D0) Y-Scroll/Gfxmode
                and   #$EF                ;(f890 29 EF)
                sta   VIC_YSCROLL         ;(f892 8D 11 D0) Y-Scroll/Gfxmode
                lda   IRQVEC              ;(f895 AD 14 03) Kernal IRQ Ptr
                sta   e029F               ;(f898 8D 9F 02)
                lda   e0315               ;(f89b AD 15 03)
                sta   e02A0               ;(f89e 8D A0 02)
                jsr   iFCBD               ;(f8a1 20 BD FC)
                lda   #$02                ;(f8a4 A9 02)
                sta   FSBLK               ;(f8a6 85 BE) Tape Input/Output Block count.
                jsr   iFB97               ;(f8a8 20 97 FB)
                lda   __CPUIO1__          ;(f8ab A5 01) Cpu-Port Data
                and   #$1F                ;(f8ad 29 1F)
                sta   __CPUIO1__          ;(f8af 85 01) Cpu-Port Data
                sta   CAS1                ;(f8b1 85 C0) Tape Motor Switch.
                ldx   #$FF                ;(f8b3 A2 FF)
iF8B5:          ldy   #$FF                ;(f8b5 A0 FF)
iF8B7:          dey                       ;(f8b7 88)
                bne   iF8B7               ;(f8b8 D0 FD)

                dex                       ;(f8ba CA)
                bne   iF8B5               ;(f8bb D0 F8)

                cli                       ;(f8bd 58)
iF8BE:          lda   e02A0               ;(f8be AD A0 02)
                cmp   e0315               ;(f8c1 CD 15 03)
                clc                       ;(f8c4 18)
                beq   iF8DC               ;(f8c5 F0 15)

                jsr   iF8D0               ;(f8c7 20 D0 F8)
                jsr   iF6BC               ;(f8ca 20 BC F6)
                jmp   iF8BE               ;(f8cd 4C BE F8)
;------------------------------------------------------------------------
iF8D0:          jsr   stop                ;(f8d0 20 E1 FF)
                clc                       ;(f8d3 18)
                bne   iF8E1               ;(f8d4 D0 0B)

                jsr   entry_fc93          ;(f8d6 20 93 FC) entrypoint at $fc93
                sec                       ;(f8d9 38)
                pla                       ;(f8da 68)
                pla                       ;(f8db 68)
iF8DC:          lda   #$00                ;(f8dc A9 00)
                sta   e02A0               ;(f8de 8D A0 02)
iF8E1:          rts                       ;(f8e1 60)
;------------------------------------------------------------------------
;entrypoint at $f8e2
;------------------------------------------------------------------------
entry_f8e2:     stx   CMPO+$0001          ;(f8e2 86 B1) Tape timing Constants.
                lda   CMPO                ;(f8e4 A5 B0) Tape timing Constants.
                asl   A                   ;(f8e6 0A)
                asl   A                   ;(f8e7 0A)
                clc                       ;(f8e8 18)
                adc   CMPO                ;(f8e9 65 B0) Tape timing Constants.
                clc                       ;(f8eb 18)
                adc   CMPO+$0001          ;(f8ec 65 B1) Tape timing Constants.
                sta   CMPO+$0001          ;(f8ee 85 B1) Tape timing Constants.
                lda   #$00                ;(f8f0 A9 00)
                bit   CMPO                ;(f8f2 24 B0) Tape timing Constants.
                bmi   iF8F7               ;(f8f4 30 01)

                rol   A                   ;(f8f6 2A)
iF8F7:          asl   CMPO+$0001          ;(f8f7 06 B1) Tape timing Constants.
                rol   A                   ;(f8f9 2A)
                asl   CMPO+$0001          ;(f8fa 06 B1) Tape timing Constants.
                rol   A                   ;(f8fc 2A)
                tax                       ;(f8fd AA)
iF8FE:          lda   eDC06               ;(f8fe AD 06 DC)
                cmp   #$16                ;(f901 C9 16)
                bcc   iF8FE               ;(f903 90 F9)

                adc   CMPO+$0001          ;(f905 65 B1) Tape timing Constants.
                sta   eDC04               ;(f907 8D 04 DC)
                txa                       ;(f90a 8A)
                adc   eDC07               ;(f90b 6D 07 DC)
                sta   eDC05               ;(f90e 8D 05 DC)
                lda   e02A2               ;(f911 AD A2 02)
                sta   eDC0E               ;(f914 8D 0E DC)
                sta   e02A4               ;(f917 8D A4 02)
                lda   eDC0D               ;(f91a AD 0D DC)
                and   #$10                ;(f91d 29 10)
                beq   iF92A               ;(f91f F0 09)

                lda   #$F9                ;(f921 A9 F9)
                pha                       ;(f923 48)
                lda   #$2A                ;(f924 A9 2A)
                pha                       ;(f926 48)
                jmp   entry_ff43          ;(f927 4C 43 FF) entrypoint at $ff43
;------------------------------------------------------------------------
iF92A:          cli                       ;(f92a 58)
                rts                       ;(f92b 60)
;------------------------------------------------------------------------
;entrypoint at $f92c
;------------------------------------------------------------------------
entry_f92c:     ldx   eDC07               ;(f92c AE 07 DC)
                ldy   #$FF                ;(f92f A0 FF)
                tya                       ;(f931 98)
                sbc   eDC06               ;(f932 ED 06 DC)
                cpx   eDC07               ;(f935 EC 07 DC)
                bne   entry_f92c          ;(f938 D0 F2) entrypoint at $f92c

                stx   CMPO+$0001          ;(f93a 86 B1) Tape timing Constants.
                tax                       ;(f93c AA)
                sty   eDC06               ;(f93d 8C 06 DC)
                sty   eDC07               ;(f940 8C 07 DC)
                lda   #$19                ;(f943 A9 19)
                sta   eDC0F               ;(f945 8D 0F DC)
                lda   eDC0D               ;(f948 AD 0D DC)
                sta   e02A3               ;(f94b 8D A3 02)
                tya                       ;(f94e 98)
                sbc   CMPO+$0001          ;(f94f E5 B1) Tape timing Constants.
                stx   CMPO+$0001          ;(f951 86 B1) Tape timing Constants.
                lsr   A                   ;(f953 4A)
                ror   CMPO+$0001          ;(f954 66 B1) Tape timing Constants.
                lsr   A                   ;(f956 4A)
                ror   CMPO+$0001          ;(f957 66 B1) Tape timing Constants.
                lda   CMPO                ;(f959 A5 B0) Tape timing Constants.
                clc                       ;(f95b 18)
                adc   #$3C                ;(f95c 69 3C)
                cmp   CMPO+$0001          ;(f95e C5 B1) Tape timing Constants.
                bcs   iF9AC               ;(f960 B0 4A)

                ldx   DPSW                ;(f962 A6 9C) Flag: Byte received from Tape.
                beq   iF969               ;(f964 F0 03)

                jmp   iFA60               ;(f966 4C 60 FA)
;------------------------------------------------------------------------
iF969:          ldx   TSFCNT              ;(f969 A6 A3) Bit Counter Tape Read or Write/Serial Bus EOI (End Of Input) Flag.
                bmi   iF988               ;(f96b 30 1B)

                ldx   #$00                ;(f96d A2 00)
                adc   #$30                ;(f96f 69 30)
                adc   CMPO                ;(f971 65 B0) Tape timing Constants.
                cmp   CMPO+$0001          ;(f973 C5 B1) Tape timing Constants.
                bcs   iF993               ;(f975 B0 1C)

                inx                       ;(f977 E8)
                adc   #$26                ;(f978 69 26)
                adc   CMPO                ;(f97a 65 B0) Tape timing Constants.
                cmp   CMPO+$0001          ;(f97c C5 B1) Tape timing Constants.
                bcs   iF997               ;(f97e B0 17)

                adc   #$2C                ;(f980 69 2C)
                adc   CMPO                ;(f982 65 B0) Tape timing Constants.
                cmp   CMPO+$0001          ;(f984 C5 B1) Tape timing Constants.
                bcc   iF98B               ;(f986 90 03)

iF988:          jmp   iFA10               ;(f988 4C 10 FA)
;------------------------------------------------------------------------
iF98B:          lda   BITTS               ;(f98b A5 B4) RS232 Write bit count/Tape Read timing Flag.
                beq   iF9AC               ;(f98d F0 1D)

                sta   BITC1               ;(f98f 85 A8) RS232 Input Bit count/Tape temporary.
                bne   iF9AC               ;(f991 D0 19)

iF993:          inc   RINONE              ;(f993 E6 A9) RS232 Flag: Start Bit check/Tape temporary.
                bcs   iF999               ;(f995 B0 02)

iF997:          dec   RINONE              ;(f997 C6 A9) RS232 Flag: Start Bit check/Tape temporary.
iF999:          sec                       ;(f999 38)
                sbc   #$13                ;(f99a E9 13)
                sbc   CMPO+$0001          ;(f99c E5 B1) Tape timing Constants.
                adc   SVXT                ;(f99e 65 92) Timing Constant for Tape.
                sta   SVXT                ;(f9a0 85 92) Timing Constant for Tape.
                lda   TBTCNT              ;(f9a2 A5 A4) Pulse Counter Tape Read or Write/Serial Bus shift Counter.
                eor   #$01                ;(f9a4 49 01)
                sta   TBTCNT              ;(f9a6 85 A4) Pulse Counter Tape Read or Write/Serial Bus shift Counter.
                beq   iF9D5               ;(f9a8 F0 2B)

                stx   SCHAR               ;(f9aa 86 D7) Screen value of current Input Character/Last Character Output.
iF9AC:          lda   BITTS               ;(f9ac A5 B4) RS232 Write bit count/Tape Read timing Flag.
                beq   iF9D2               ;(f9ae F0 22)

                lda   e02A3               ;(f9b0 AD A3 02)
                and   #$01                ;(f9b3 29 01)
                bne   iF9BC               ;(f9b5 D0 05)

                lda   e02A4               ;(f9b7 AD A4 02)
                bne   iF9D2               ;(f9ba D0 16)

iF9BC:          lda   #$00                ;(f9bc A9 00)
                sta   TBTCNT              ;(f9be 85 A4) Pulse Counter Tape Read or Write/Serial Bus shift Counter.
                sta   e02A4               ;(f9c0 8D A4 02)
                lda   TSFCNT              ;(f9c3 A5 A3) Bit Counter Tape Read or Write/Serial Bus EOI (End Of Input) Flag.
                bpl   iF9F7               ;(f9c5 10 30)

                bmi   iF988               ;(f9c7 30 BF)

iF9C9:          ldx   #$A6                ;(f9c9 A2 A6)
                jsr   entry_f8e2          ;(f9cb 20 E2 F8) entrypoint at $f8e2
                lda   PRTY                ;(f9ce A5 9B) Parity of Byte Output to Tape.
                bne   iF98B               ;(f9d0 D0 B9)

iF9D2:          jmp   entry_febc          ;(f9d2 4C BC FE) entrypoint at $febc
;------------------------------------------------------------------------
iF9D5:          lda   SVXT                ;(f9d5 A5 92) Timing Constant for Tape.
                beq   iF9E0               ;(f9d7 F0 07)

                bmi   iF9DE               ;(f9d9 30 03)

                dec   CMPO                ;(f9db C6 B0) Tape timing Constants.
iF9DD:                                    ;(f9dd)
iF9DE           =     iF9DD+$01           ;(f9de)
                bit   eB0E6               ;(f9dd 2C E6 B0)
iF9E0:          lda   #$00                ;(f9e0 A9 00)
                sta   SVXT                ;(f9e2 85 92) Timing Constant for Tape.
                cpx   SCHAR               ;(f9e4 E4 D7) Screen value of current Input Character/Last Character Output.
                bne   iF9F7               ;(f9e6 D0 0F)

                txa                       ;(f9e8 8A)
                bne   iF98B               ;(f9e9 D0 A0)

                lda   RINONE              ;(f9eb A5 A9) RS232 Flag: Start Bit check/Tape temporary.
                bmi   iF9AC               ;(f9ed 30 BD)

                cmp   #$10                ;(f9ef C9 10)
                bcc   iF9AC               ;(f9f1 90 B9)

                sta   SYNO                ;(f9f3 85 96) Cassette Sync. number.
                bcs   iF9AC               ;(f9f5 B0 B5)

iF9F7:          txa                       ;(f9f7 8A)
                eor   PRTY                ;(f9f8 45 9B) Parity of Byte Output to Tape.
                sta   PRTY                ;(f9fa 85 9B) Parity of Byte Output to Tape.
                lda   BITTS               ;(f9fc A5 B4) RS232 Write bit count/Tape Read timing Flag.
                beq   iF9D2               ;(f9fe F0 D2)

                dec   TSFCNT              ;(fa00 C6 A3) Bit Counter Tape Read or Write/Serial Bus EOI (End Of Input) Flag.
                bmi   iF9C9               ;(fa02 30 C5)

                lsr   SCHAR               ;(fa04 46 D7) Screen value of current Input Character/Last Character Output.
                ror   MYCH                ;(fa06 66 BF) Serial Word Buffer.
                ldx   #$DA                ;(fa08 A2 DA)
                jsr   entry_f8e2          ;(fa0a 20 E2 F8) entrypoint at $f8e2
                jmp   entry_febc          ;(fa0d 4C BC FE) entrypoint at $febc
;------------------------------------------------------------------------
iFA10:          lda   SYNO                ;(fa10 A5 96) Cassette Sync. number.
                beq   iFA18               ;(fa12 F0 04)

                lda   BITTS               ;(fa14 A5 B4) RS232 Write bit count/Tape Read timing Flag.
                beq   iFA1F               ;(fa16 F0 07)

iFA18:          lda   TSFCNT              ;(fa18 A5 A3) Bit Counter Tape Read or Write/Serial Bus EOI (End Of Input) Flag.
                bmi   iFA1F               ;(fa1a 30 03)

                jmp   iF997               ;(fa1c 4C 97 F9)
;------------------------------------------------------------------------
iFA1F:          lsr   CMPO+$0001          ;(fa1f 46 B1) Tape timing Constants.
                lda   #$93                ;(fa21 A9 93)
                sec                       ;(fa23 38)
                sbc   CMPO+$0001          ;(fa24 E5 B1) Tape timing Constants.
                adc   CMPO                ;(fa26 65 B0) Tape timing Constants.
                asl   A                   ;(fa28 0A)
                tax                       ;(fa29 AA)
                jsr   entry_f8e2          ;(fa2a 20 E2 F8) entrypoint at $f8e2
                inc   DPSW                ;(fa2d E6 9C) Flag: Byte received from Tape.
                lda   BITTS               ;(fa2f A5 B4) RS232 Write bit count/Tape Read timing Flag.
                bne   iFA44               ;(fa31 D0 11)

                lda   SYNO                ;(fa33 A5 96) Cassette Sync. number.
                beq   iFA5D               ;(fa35 F0 26)

                sta   BITC1               ;(fa37 85 A8) RS232 Input Bit count/Tape temporary.
                lda   #$00                ;(fa39 A9 00)
                sta   SYNO                ;(fa3b 85 96) Cassette Sync. number.
                lda   #$81                ;(fa3d A9 81)
                sta   eDC0D               ;(fa3f 8D 0D DC)
                sta   BITTS               ;(fa42 85 B4) RS232 Write bit count/Tape Read timing Flag.
iFA44:          lda   SYNO                ;(fa44 A5 96) Cassette Sync. number.
                sta   NXTBIT              ;(fa46 85 B5) RS232 Next Bit to send/Tape Read - End of Tape.
                beq   iFA53               ;(fa48 F0 09)

                lda   #$00                ;(fa4a A9 00)
                sta   BITTS               ;(fa4c 85 B4) RS232 Write bit count/Tape Read timing Flag.
                lda   #$01                ;(fa4e A9 01)
                sta   eDC0D               ;(fa50 8D 0D DC)
iFA53:          lda   MYCH                ;(fa53 A5 BF) Serial Word Buffer.
                sta   ROPRTY              ;(fa55 85 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                lda   BITC1               ;(fa57 A5 A8) RS232 Input Bit count/Tape temporary.
                ora   RINONE              ;(fa59 05 A9) RS232 Flag: Start Bit check/Tape temporary.
                sta   RODATA              ;(fa5b 85 B6) RS232 Output Byte Buffer/Tape Read Error Flag.
iFA5D:          jmp   entry_febc          ;(fa5d 4C BC FE) entrypoint at $febc
;------------------------------------------------------------------------
iFA60:          jsr   iFB97               ;(fa60 20 97 FB)
                sta   DPSW                ;(fa63 85 9C) Flag: Byte received from Tape.
                ldx   #$DA                ;(fa65 A2 DA)
                jsr   entry_f8e2          ;(fa67 20 E2 F8) entrypoint at $f8e2
                lda   FSBLK               ;(fa6a A5 BE) Tape Input/Output Block count.
                beq   iFA70               ;(fa6c F0 02)

                sta   INBIT               ;(fa6e 85 A7) RS232 temporary for received Bit/Tape temporary.
iFA70:          lda   #$0F                ;(fa70 A9 0F)
                bit   RIDATA              ;(fa72 24 AA) RS232 Input Byte Buffer/Tape temporary.
                bpl   iFA8D               ;(fa74 10 17)

                lda   NXTBIT              ;(fa76 A5 B5) RS232 Next Bit to send/Tape Read - End of Tape.
                bne   iFA86               ;(fa78 D0 0C)

                ldx   FSBLK               ;(fa7a A6 BE) Tape Input/Output Block count.
                dex                       ;(fa7c CA)
                bne   iFA8A               ;(fa7d D0 0B)

                lda   #$08                ;(fa7f A9 08)
                jsr   iFE1C               ;(fa81 20 1C FE)
                bne   iFA8A               ;(fa84 D0 04)

iFA86:          lda   #$00                ;(fa86 A9 00)
                sta   RIDATA              ;(fa88 85 AA) RS232 Input Byte Buffer/Tape temporary.
iFA8A:          jmp   entry_febc          ;(fa8a 4C BC FE) entrypoint at $febc
;------------------------------------------------------------------------
iFA8D:          bvs   iFAC0               ;(fa8d 70 31)

                bne   iFAA9               ;(fa8f D0 18)

                lda   NXTBIT              ;(fa91 A5 B5) RS232 Next Bit to send/Tape Read - End of Tape.
                bne   iFA8A               ;(fa93 D0 F5)

                lda   RODATA              ;(fa95 A5 B6) RS232 Output Byte Buffer/Tape Read Error Flag.
                bne   iFA8A               ;(fa97 D0 F1)

                lda   INBIT               ;(fa99 A5 A7) RS232 temporary for received Bit/Tape temporary.
                lsr   A                   ;(fa9b 4A)
                lda   ROPRTY              ;(fa9c A5 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                bmi   iFAA3               ;(fa9e 30 03)

                bcc   iFABA               ;(faa0 90 18)

                clc                       ;(faa2 18)
iFAA3:          bcs   iFABA               ;(faa3 B0 15)

                and   #$0F                ;(faa5 29 0F)
                sta   RIDATA              ;(faa7 85 AA) RS232 Input Byte Buffer/Tape temporary.
iFAA9:          dec   RIDATA              ;(faa9 C6 AA) RS232 Input Byte Buffer/Tape temporary.
                bne   iFA8A               ;(faab D0 DD)

                lda   #$40                ;(faad A9 40)
                sta   RIDATA              ;(faaf 85 AA) RS232 Input Byte Buffer/Tape temporary.
                jsr   iFB8E               ;(fab1 20 8E FB)
                lda   #$00                ;(fab4 A9 00)
                sta   RIPRTY              ;(fab6 85 AB) RS232 Input parity/Tape temporary.
                beq   iFA8A               ;(fab8 F0 D0)

iFABA:          lda   #$80                ;(faba A9 80)
                sta   RIDATA              ;(fabc 85 AA) RS232 Input Byte Buffer/Tape temporary.
                bne   iFA8A               ;(fabe D0 CA)

iFAC0:          lda   NXTBIT              ;(fac0 A5 B5) RS232 Next Bit to send/Tape Read - End of Tape.
                beq   iFACE               ;(fac2 F0 0A)

                lda   #$04                ;(fac4 A9 04)
                jsr   iFE1C               ;(fac6 20 1C FE)
                lda   #$00                ;(fac9 A9 00)
                jmp   iFB4A               ;(facb 4C 4A FB)
;------------------------------------------------------------------------
iFACE:          jsr   iFCD1               ;(face 20 D1 FC)
                bcc   iFAD6               ;(fad1 90 03)

                jmp   iFB48               ;(fad3 4C 48 FB)
;------------------------------------------------------------------------
iFAD6:          ldx   INBIT               ;(fad6 A6 A7) RS232 temporary for received Bit/Tape temporary.
                dex                       ;(fad8 CA)
                beq   iFB08               ;(fad9 F0 2D)

                lda   VERCKK              ;(fadb A5 93) Flag: 0 = Load
                beq   iFAEB               ;(fadd F0 0C)

                ldy   #$00                ;(fadf A0 00)
                lda   ROPRTY              ;(fae1 A5 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                cmp   (SAL),Y             ;(fae3 D1 AC) Pointer: Tape Buffer/Screen scrolling.
                beq   iFAEB               ;(fae5 F0 04)

                lda   #$01                ;(fae7 A9 01)
                sta   RODATA              ;(fae9 85 B6) RS232 Output Byte Buffer/Tape Read Error Flag.
iFAEB:          lda   RODATA              ;(faeb A5 B6) RS232 Output Byte Buffer/Tape Read Error Flag.
                beq   iFB3A               ;(faed F0 4B)

                ldx   #$3D                ;(faef A2 3D)
                cpx   PTR1                ;(faf1 E4 9E) Tape Error log pass 1.
                bcc   iFB33               ;(faf3 90 3E)

                ldx   PTR1                ;(faf5 A6 9E) Tape Error log pass 1.
                lda   SAL+$0001           ;(faf7 A5 AD) Pointer: Tape Buffer/Screen scrolling.
                sta   __STACK__+$0001,X   ;(faf9 9D 01 01) CPU Stack
                lda   SAL                 ;(fafc A5 AC) Pointer: Tape Buffer/Screen scrolling.
                sta   __STACK__,X         ;(fafe 9D 00 01) CPU Stack
                inx                       ;(fb01 E8)
                inx                       ;(fb02 E8)
                stx   PTR1                ;(fb03 86 9E) Tape Error log pass 1.
                jmp   iFB3A               ;(fb05 4C 3A FB)
;------------------------------------------------------------------------
iFB08:          ldx   PTR2                ;(fb08 A6 9F) Tape Error log pass 2.
                cpx   PTR1                ;(fb0a E4 9E) Tape Error log pass 1.
                beq   iFB43               ;(fb0c F0 35)

                lda   SAL                 ;(fb0e A5 AC) Pointer: Tape Buffer/Screen scrolling.
                cmp   __STACK__,X         ;(fb10 DD 00 01) CPU Stack
                bne   iFB43               ;(fb13 D0 2E)

                lda   SAL+$0001           ;(fb15 A5 AD) Pointer: Tape Buffer/Screen scrolling.
                cmp   __STACK__+$0001,X   ;(fb17 DD 01 01) CPU Stack
                bne   iFB43               ;(fb1a D0 27)

                inc   PTR2                ;(fb1c E6 9F) Tape Error log pass 2.
                inc   PTR2                ;(fb1e E6 9F) Tape Error log pass 2.
                lda   VERCKK              ;(fb20 A5 93) Flag: 0 = Load
                beq   iFB2F               ;(fb22 F0 0B)

                lda   ROPRTY              ;(fb24 A5 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                ldy   #$00                ;(fb26 A0 00)
                cmp   (SAL),Y             ;(fb28 D1 AC) Pointer: Tape Buffer/Screen scrolling.
                beq   iFB43               ;(fb2a F0 17)

                iny                       ;(fb2c C8)
                sty   RODATA              ;(fb2d 84 B6) RS232 Output Byte Buffer/Tape Read Error Flag.
iFB2F:          lda   RODATA              ;(fb2f A5 B6) RS232 Output Byte Buffer/Tape Read Error Flag.
                beq   iFB3A               ;(fb31 F0 07)

iFB33:          lda   #$10                ;(fb33 A9 10)
                jsr   iFE1C               ;(fb35 20 1C FE)
                bne   iFB43               ;(fb38 D0 09)

iFB3A:          lda   VERCKK              ;(fb3a A5 93) Flag: 0 = Load
                bne   iFB43               ;(fb3c D0 05)

                tay                       ;(fb3e A8)
                lda   ROPRTY              ;(fb3f A5 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                sta   (SAL),Y             ;(fb41 91 AC) Pointer: Tape Buffer/Screen scrolling.
iFB43:          jsr   iFCDB               ;(fb43 20 DB FC)
                bne   iFB8B               ;(fb46 D0 43)

iFB48:          lda   #$80                ;(fb48 A9 80)
iFB4A:          sta   RIDATA              ;(fb4a 85 AA) RS232 Input Byte Buffer/Tape temporary.
                sei                       ;(fb4c 78)
                ldx   #$01                ;(fb4d A2 01)
                stx   eDC0D               ;(fb4f 8E 0D DC)
                ldx   eDC0D               ;(fb52 AE 0D DC)
                ldx   FSBLK               ;(fb55 A6 BE) Tape Input/Output Block count.
                dex                       ;(fb57 CA)
                bmi   iFB5C               ;(fb58 30 02)

                stx   FSBLK               ;(fb5a 86 BE) Tape Input/Output Block count.
iFB5C:          dec   INBIT               ;(fb5c C6 A7) RS232 temporary for received Bit/Tape temporary.
                beq   iFB68               ;(fb5e F0 08)

                lda   PTR1                ;(fb60 A5 9E) Tape Error log pass 1.
                bne   iFB8B               ;(fb62 D0 27)

                sta   FSBLK               ;(fb64 85 BE) Tape Input/Output Block count.
                beq   iFB8B               ;(fb66 F0 23)

iFB68:          jsr   entry_fc93          ;(fb68 20 93 FC) entrypoint at $fc93
                jsr   iFB8E               ;(fb6b 20 8E FB)
                ldy   #$00                ;(fb6e A0 00)
                sty   RIPRTY              ;(fb70 84 AB) RS232 Input parity/Tape temporary.
iFB72:          lda   (SAL),Y             ;(fb72 B1 AC) Pointer: Tape Buffer/Screen scrolling.
                eor   RIPRTY              ;(fb74 45 AB) RS232 Input parity/Tape temporary.
                sta   RIPRTY              ;(fb76 85 AB) RS232 Input parity/Tape temporary.
                jsr   iFCDB               ;(fb78 20 DB FC)
                jsr   iFCD1               ;(fb7b 20 D1 FC)
                bcc   iFB72               ;(fb7e 90 F2)

                lda   RIPRTY              ;(fb80 A5 AB) RS232 Input parity/Tape temporary.
                eor   ROPRTY              ;(fb82 45 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                beq   iFB8B               ;(fb84 F0 05)

                lda   #$20                ;(fb86 A9 20)
                jsr   iFE1C               ;(fb88 20 1C FE)
iFB8B:          jmp   entry_febc          ;(fb8b 4C BC FE) entrypoint at $febc
;------------------------------------------------------------------------
iFB8E:          lda   STAL+$0001          ;(fb8e A5 C2) Start Address for LOAD and Cassette Write.
                sta   SAL+$0001           ;(fb90 85 AD) Pointer: Tape Buffer/Screen scrolling.
                lda   STAL                ;(fb92 A5 C1) Start Address for LOAD and Cassette Write.
                sta   SAL                 ;(fb94 85 AC) Pointer: Tape Buffer/Screen scrolling.
                rts                       ;(fb96 60)
;------------------------------------------------------------------------
iFB97:          lda   #$08                ;(fb97 A9 08)
                sta   TSFCNT              ;(fb99 85 A3) Bit Counter Tape Read or Write/Serial Bus EOI (End Of Input) Flag.
                lda   #$00                ;(fb9b A9 00)
                sta   TBTCNT              ;(fb9d 85 A4) Pulse Counter Tape Read or Write/Serial Bus shift Counter.
                sta   BITC1               ;(fb9f 85 A8) RS232 Input Bit count/Tape temporary.
                sta   PRTY                ;(fba1 85 9B) Parity of Byte Output to Tape.
                sta   RINONE              ;(fba3 85 A9) RS232 Flag: Start Bit check/Tape temporary.
                rts                       ;(fba5 60)
;------------------------------------------------------------------------
;entrypoint at $fba6
;------------------------------------------------------------------------
entry_fba6:     lda   ROPRTY              ;(fba6 A5 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                lsr   A                   ;(fba8 4A)
                lda   #$60                ;(fba9 A9 60)
                bcc   iFBAF               ;(fbab 90 02)

iFBAD:          lda   #$B0                ;(fbad A9 B0)
iFBAF:          ldx   #$00                ;(fbaf A2 00)
iFBB1:          sta   eDC06               ;(fbb1 8D 06 DC)
                stx   eDC07               ;(fbb4 8E 07 DC)
                lda   eDC0D               ;(fbb7 AD 0D DC)
                lda   #$19                ;(fbba A9 19)
                sta   eDC0F               ;(fbbc 8D 0F DC)
                lda   __CPUIO1__          ;(fbbf A5 01) Cpu-Port Data
                eor   #$08                ;(fbc1 49 08)
                sta   __CPUIO1__          ;(fbc3 85 01) Cpu-Port Data
                and   #$08                ;(fbc5 29 08)
                rts                       ;(fbc7 60)
;------------------------------------------------------------------------
iFBC8:          sec                       ;(fbc8 38)
                ror   RODATA              ;(fbc9 66 B6) RS232 Output Byte Buffer/Tape Read Error Flag.
                bmi   iFC09               ;(fbcb 30 3C)

;entrypoint at $fbcd
;------------------------------------------------------------------------
                lda   BITC1               ;(fbcd A5 A8) RS232 Input Bit count/Tape temporary.
                bne   iFBE3               ;(fbcf D0 12)

                lda   #$10                ;(fbd1 A9 10)
                ldx   #$01                ;(fbd3 A2 01)
                jsr   iFBB1               ;(fbd5 20 B1 FB)
                bne   iFC09               ;(fbd8 D0 2F)

                inc   BITC1               ;(fbda E6 A8) RS232 Input Bit count/Tape temporary.
                lda   RODATA              ;(fbdc A5 B6) RS232 Output Byte Buffer/Tape Read Error Flag.
                bpl   iFC09               ;(fbde 10 29)

                jmp   iFC57               ;(fbe0 4C 57 FC)
;------------------------------------------------------------------------
iFBE3:          lda   RINONE              ;(fbe3 A5 A9) RS232 Flag: Start Bit check/Tape temporary.
                bne   iFBF0               ;(fbe5 D0 09)

                jsr   iFBAD               ;(fbe7 20 AD FB)
                bne   iFC09               ;(fbea D0 1D)

                inc   RINONE              ;(fbec E6 A9) RS232 Flag: Start Bit check/Tape temporary.
                bne   iFC09               ;(fbee D0 19)

iFBF0:          jsr   entry_fba6          ;(fbf0 20 A6 FB) entrypoint at $fba6
                bne   iFC09               ;(fbf3 D0 14)

                lda   TBTCNT              ;(fbf5 A5 A4) Pulse Counter Tape Read or Write/Serial Bus shift Counter.
                eor   #$01                ;(fbf7 49 01)
                sta   TBTCNT              ;(fbf9 85 A4) Pulse Counter Tape Read or Write/Serial Bus shift Counter.
                beq   iFC0C               ;(fbfb F0 0F)

                lda   ROPRTY              ;(fbfd A5 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                eor   #$01                ;(fbff 49 01)
;IO Kernal ROM
;------------------------------------------------------------------------
                sta   ROPRTY              ;(fc01 85 BD) RS232 Output Parity/Tape Byte to be Input or Output.
;IO Kernal ROM
;------------------------------------------------------------------------
                and   #$01                ;(fc03 29 01)
                eor   PRTY                ;(fc05 45 9B) Parity of Byte Output to Tape.
                sta   PRTY                ;(fc07 85 9B) Parity of Byte Output to Tape.
iFC09:          jmp   entry_febc          ;(fc09 4C BC FE) entrypoint at $febc
;------------------------------------------------------------------------
iFC0C:          lsr   ROPRTY              ;(fc0c 46 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                dec   TSFCNT              ;(fc0e C6 A3) Bit Counter Tape Read or Write/Serial Bus EOI (End Of Input) Flag.
                lda   TSFCNT              ;(fc10 A5 A3) Bit Counter Tape Read or Write/Serial Bus EOI (End Of Input) Flag.
                beq   iFC4E               ;(fc12 F0 3A)

                bpl   iFC09               ;(fc14 10 F3)

iFC16:          jsr   iFB97               ;(fc16 20 97 FB)
                cli                       ;(fc19 58)
                lda   CNTDN               ;(fc1a A5 A5) Tape Synchronising count down.
                beq   iFC30               ;(fc1c F0 12)

                ldx   #$00                ;(fc1e A2 00)
                stx   SCHAR               ;(fc20 86 D7) Screen value of current Input Character/Last Character Output.
                dec   CNTDN               ;(fc22 C6 A5) Tape Synchronising count down.
                ldx   FSBLK               ;(fc24 A6 BE) Tape Input/Output Block count.
                cpx   #$02                ;(fc26 E0 02)
                bne   iFC2C               ;(fc28 D0 02)

                ora   #$80                ;(fc2a 09 80)
iFC2C:          sta   ROPRTY              ;(fc2c 85 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                bne   iFC09               ;(fc2e D0 D9)

iFC30:          jsr   iFCD1               ;(fc30 20 D1 FC)
                bcc   iFC3F               ;(fc33 90 0A)

                bne   iFBC8               ;(fc35 D0 91)

                inc   SAL+$0001           ;(fc37 E6 AD) Pointer: Tape Buffer/Screen scrolling.
                lda   SCHAR               ;(fc39 A5 D7) Screen value of current Input Character/Last Character Output.
                sta   ROPRTY              ;(fc3b 85 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                bcs   iFC09               ;(fc3d B0 CA)

iFC3F:          ldy   #$00                ;(fc3f A0 00)
                lda   (SAL),Y             ;(fc41 B1 AC) Pointer: Tape Buffer/Screen scrolling.
                sta   ROPRTY              ;(fc43 85 BD) RS232 Output Parity/Tape Byte to be Input or Output.
                eor   SCHAR               ;(fc45 45 D7) Screen value of current Input Character/Last Character Output.
                sta   SCHAR               ;(fc47 85 D7) Screen value of current Input Character/Last Character Output.
                jsr   iFCDB               ;(fc49 20 DB FC)
                bne   iFC09               ;(fc4c D0 BB)

iFC4E:          lda   PRTY                ;(fc4e A5 9B) Parity of Byte Output to Tape.
                eor   #$01                ;(fc50 49 01)
                sta   ROPRTY              ;(fc52 85 BD) RS232 Output Parity/Tape Byte to be Input or Output.
iFC54:          jmp   entry_febc          ;(fc54 4C BC FE) entrypoint at $febc
;------------------------------------------------------------------------
iFC57:          dec   FSBLK               ;(fc57 C6 BE) Tape Input/Output Block count.
                bne   iFC5E               ;(fc59 D0 03)

                jsr   iFCCA               ;(fc5b 20 CA FC)
iFC5E:          lda   #$50                ;(fc5e A9 50)
                sta   INBIT               ;(fc60 85 A7) RS232 temporary for received Bit/Tape temporary.
                ldx   #$08                ;(fc62 A2 08)
                sei                       ;(fc64 78)
                jsr   iFCBD               ;(fc65 20 BD FC)
                bne   iFC54               ;(fc68 D0 EA)

                lda   #$78                ;(fc6a A9 78)
                jsr   iFBAF               ;(fc6c 20 AF FB)
                bne   iFC54               ;(fc6f D0 E3)

                dec   INBIT               ;(fc71 C6 A7) RS232 temporary for received Bit/Tape temporary.
                bne   iFC54               ;(fc73 D0 DF)

                jsr   iFB97               ;(fc75 20 97 FB)
                dec   RIPRTY              ;(fc78 C6 AB) RS232 Input parity/Tape temporary.
                bpl   iFC54               ;(fc7a 10 D8)

                ldx   #$0A                ;(fc7c A2 0A)
                jsr   iFCBD               ;(fc7e 20 BD FC)
                cli                       ;(fc81 58)
                inc   RIPRTY              ;(fc82 E6 AB) RS232 Input parity/Tape temporary.
                lda   FSBLK               ;(fc84 A5 BE) Tape Input/Output Block count.
                beq   entry_fcb8          ;(fc86 F0 30) entrypoint at $fcb8

                jsr   iFB8E               ;(fc88 20 8E FB)
                ldx   #$09                ;(fc8b A2 09)
                stx   CNTDN               ;(fc8d 86 A5) Tape Synchronising count down.
                stx   RODATA              ;(fc8f 86 B6) RS232 Output Byte Buffer/Tape Read Error Flag.
                bne   iFC16               ;(fc91 D0 83)

;entrypoint at $fc93
;------------------------------------------------------------------------
entry_fc93:     php                       ;(fc93 08)
                sei                       ;(fc94 78)
                lda   VIC_YSCROLL         ;(fc95 AD 11 D0) Y-Scroll/Gfxmode
                ora   #$10                ;(fc98 09 10)
                sta   VIC_YSCROLL         ;(fc9a 8D 11 D0) Y-Scroll/Gfxmode
                jsr   iFCCA               ;(fc9d 20 CA FC)
                lda   #$7F                ;(fca0 A9 7F)
                sta   eDC0D               ;(fca2 8D 0D DC)
                jsr   iFDDD               ;(fca5 20 DD FD)
                lda   e02A0               ;(fca8 AD A0 02)
                beq   iFCB6               ;(fcab F0 09)

                sta   e0315               ;(fcad 8D 15 03)
                lda   e029F               ;(fcb0 AD 9F 02)
                sta   IRQVEC              ;(fcb3 8D 14 03) Kernal IRQ Ptr
iFCB6:          plp                       ;(fcb6 28)
                rts                       ;(fcb7 60)
;------------------------------------------------------------------------
;entrypoint at $fcb8
;------------------------------------------------------------------------
entry_fcb8:     jsr   entry_fc93          ;(fcb8 20 93 FC) entrypoint at $fc93
                beq   iFC54               ;(fcbb F0 97)

iFCBD:          lda   iFD93,X             ;(fcbd BD 93 FD)
                sta   IRQVEC              ;(fcc0 8D 14 03) Kernal IRQ Ptr
                lda   iFD94,X             ;(fcc3 BD 94 FD)
                sta   e0315               ;(fcc6 8D 15 03)
                rts                       ;(fcc9 60)
;------------------------------------------------------------------------
iFCCA:          lda   __CPUIO1__          ;(fcca A5 01) Cpu-Port Data
                ora   #$20                ;(fccc 09 20)
                sta   __CPUIO1__          ;(fcce 85 01) Cpu-Port Data
                rts                       ;(fcd0 60)
;------------------------------------------------------------------------
iFCD1:          sec                       ;(fcd1 38)
                lda   SAL                 ;(fcd2 A5 AC) Pointer: Tape Buffer/Screen scrolling.
                sbc   EAL                 ;(fcd4 E5 AE) Tape End Address/End of Program.
                lda   SAL+$0001           ;(fcd6 A5 AD) Pointer: Tape Buffer/Screen scrolling.
                sbc   EAL+$0001           ;(fcd8 E5 AF) Tape End Address/End of Program.
                rts                       ;(fcda 60)
;------------------------------------------------------------------------
iFCDB:          inc   SAL                 ;(fcdb E6 AC) Pointer: Tape Buffer/Screen scrolling.
                bne   iFCE1               ;(fcdd D0 02)

                inc   SAL+$0001           ;(fcdf E6 AD) Pointer: Tape Buffer/Screen scrolling.
iFCE1:          rts                       ;(fce1 60)
;------------------------------------------------------------------------
;entrypoint at $fce2
;------------------------------------------------------------------------
                ldx   #$FF                ;(fce2 A2 FF)
                sei                       ;(fce4 78)
                txs                       ;(fce5 9A)
                cld                       ;(fce6 D8)
                jsr   iFD02               ;(fce7 20 02 FD)
                bne   iFCEF               ;(fcea D0 03)

                jmp   (e8000)             ;(fcec 6C 00 80) *($8000)=$0000
;------------------------------------------------------------------------
iFCEF:          stx   VIC_XSCROLL         ;(fcef 8E 16 D0) X-Scroll/Colmode
                jsr   iFDA3               ;(fcf2 20 A3 FD)
                jsr   iFD50               ;(fcf5 20 50 FD)
                jsr   iFD15               ;(fcf8 20 15 FD)
                jsr   iFF5B               ;(fcfb 20 5B FF)
                cli                       ;(fcfe 58)
                jmp   (BASIC)             ;(fcff 6C 00 A0) *($a000)=$e394 Basic ROM
;------------------------------------------------------------------------
iFD02:          ldx   #$05                ;(fd02 A2 05)
iFD04:          lda   iFD0F,X             ;(fd04 BD 0F FD)
                cmp   e8003,X             ;(fd07 DD 03 80)
                bne   iFD0F               ;(fd0a D0 03)

                dex                       ;(fd0c CA)
                bne   iFD04               ;(fd0d D0 F5)

iFD0F:          rts                       ;(fd0f 60)
;------------------------------------------------------------------------
;CBM80 Text
;------------------------------------------------------------------------
                .byte $C3,$C2,$CD,$38,$30 ;(fd10) (fd10 CBM80)
iFD15:          ldx   #$30                ;(fd15 A2 30)
                ldy   #$FD                ;(fd17 A0 FD)
                clc                       ;(fd19 18)
iFD1A:          stx   MEMUSS              ;(fd1a 86 C3) Pointer: Type 3 Tape LOAD and general use.
                sty   zpC4                ;(fd1c 84 C4)
                ldy   #$1F                ;(fd1e A0 1F)
iFD20:          lda   IRQVEC,Y            ;(fd20 B9 14 03) Kernal IRQ Ptr
                bcs   iFD27               ;(fd23 B0 02)

                lda   (MEMUSS),Y          ;(fd25 B1 C3) Pointer: Type 3 Tape LOAD and general use.
iFD27:          sta   (MEMUSS),Y          ;(fd27 91 C3) Pointer: Type 3 Tape LOAD and general use.
                sta   IRQVEC,Y            ;(fd29 99 14 03) Kernal IRQ Ptr
                dey                       ;(fd2c 88)
                bpl   iFD20               ;(fd2d 10 F1)

                rts                       ;(fd2f 60)
;------------------------------------------------------------------------
;Kernal IO Vectors
;------------------------------------------------------------------------
                .byte $31,$EA,$66,$FE,$47,$FE,$4A,$F3;(fd30) (fd30 1...g.j.)
                .byte $91,$F2,$0E,$F2,$50,$F2,$33,$F3;(fd38) (fd38 ....p.3.)
                .byte $57,$F1,$CA,$F1,$ED,$F6,$3E,$F1;(fd40) (fd40 w.J...>.)
                .byte $2F,$F3,$66,$FE,$A5,$F4,$ED,$F5;(fd48) (fd48 /.......)
iFD50:          lda   #$00                ;(fd50 A9 00)
                tay                       ;(fd52 A8)
iFD53:          .byte $99,<TEMP,>TEMP     ;(fd53) (fd53 ...)
                sta   e0200,Y             ;(fd56 99 00 02)
                sta   e0300,Y             ;(fd59 99 00 03)
                iny                       ;(fd5c C8)
                bne   iFD53               ;(fd5d D0 F4)

                ldx   #$3C                ;(fd5f A2 3C)
                ldy   #$03                ;(fd61 A0 03)
                stx   TAPE1               ;(fd63 86 B2) Pointer: Start Address of Tape Buffer ($033C).
                sty   TAPE1+$0001         ;(fd65 84 B3) Pointer: Start Address of Tape Buffer ($033C).
                tay                       ;(fd67 A8)
                lda   #$03                ;(fd68 A9 03)
                sta   STAL+$0001          ;(fd6a 85 C2) Start Address for LOAD and Cassette Write.
iFD6C:          inc   STAL+$0001          ;(fd6c E6 C2) Start Address for LOAD and Cassette Write.
iFD6E:          lda   (STAL),Y            ;(fd6e B1 C1) Start Address for LOAD and Cassette Write.
                tax                       ;(fd70 AA)
                lda   #$55                ;(fd71 A9 55)
                sta   (STAL),Y            ;(fd73 91 C1) Start Address for LOAD and Cassette Write.
                cmp   (STAL),Y            ;(fd75 D1 C1) Start Address for LOAD and Cassette Write.
                bne   iFD88               ;(fd77 D0 0F)

                rol   A                   ;(fd79 2A)
                sta   (STAL),Y            ;(fd7a 91 C1) Start Address for LOAD and Cassette Write.
                cmp   (STAL),Y            ;(fd7c D1 C1) Start Address for LOAD and Cassette Write.
                bne   iFD88               ;(fd7e D0 08)

                txa                       ;(fd80 8A)
                sta   (STAL),Y            ;(fd81 91 C1) Start Address for LOAD and Cassette Write.
                iny                       ;(fd83 C8)
                bne   iFD6E               ;(fd84 D0 E8)

                beq   iFD6C               ;(fd86 F0 E4)

iFD88:          tya                       ;(fd88 98)
                tax                       ;(fd89 AA)
                ldy   STAL+$0001          ;(fd8a A4 C2) Start Address for LOAD and Cassette Write.
                clc                       ;(fd8c 18)
                jsr   iFE2D               ;(fd8d 20 2D FE)
                lda   #$08                ;(fd90 A9 08)
iFD92:                                    ;(fd92)
iFD93           =     iFD92+$01           ;(fd93)
iFD94           =     iFD92+$02           ;(fd94)  Cpu-Port Data-Direction
                sta   e0282               ;(fd92 8D 82 02)
                lda   #$04                ;(fd95 A9 04)
                sta   e0288               ;(fd97 8D 88 02)
                rts                       ;(fd9a 60)
;------------------------------------------------------------------------
;Kernal Interupt Vectors
;------------------------------------------------------------------------
                .byte $6A,$FC,$CD,$FB,$31,$EA,$2C,$F9;(fd9b) (fd9b ..M.1.,.)
iFDA3:          lda   #$7F                ;(fda3 A9 7F)
                sta   eDC0D               ;(fda5 8D 0D DC)
                sta   eDD0D               ;(fda8 8D 0D DD)
                sta   __CIA1__            ;(fdab 8D 00 DC) Complex Interface Adapter 1
                lda   #$08                ;(fdae A9 08)
                sta   eDC0E               ;(fdb0 8D 0E DC)
                sta   eDD0E               ;(fdb3 8D 0E DD)
                sta   eDC0F               ;(fdb6 8D 0F DC)
                sta   eDD0F               ;(fdb9 8D 0F DD)
                ldx   #$00                ;(fdbc A2 00)
                stx   __CIA1__+$0003      ;(fdbe 8E 03 DC) Complex Interface Adapter 1
                stx   CIA2+$0003          ;(fdc1 8E 03 DD) Complex Adapter Interface 2
                stx   _FILTVOL_           ;(fdc4 8E 18 D4) Filter/Volume
                dex                       ;(fdc7 CA)
                stx   __CIA1__+$0002      ;(fdc8 8E 02 DC) Complex Interface Adapter 1
                lda   #$07                ;(fdcb A9 07)
                sta   CIA2                ;(fdcd 8D 00 DD) Complex Adapter Interface 2
                lda   #$3F                ;(fdd0 A9 3F)
                sta   CIA2+$0002          ;(fdd2 8D 02 DD) Complex Adapter Interface 2
                lda   #$E7                ;(fdd5 A9 E7)
                sta   __CPUIO1__          ;(fdd7 85 01) Cpu-Port Data
                lda   #$2F                ;(fdd9 A9 2F)
                sta   __CPUIO0__          ;(fddb 85 00) Cpu-Port Data-Direction
iFDDD:          lda   e02A6               ;(fddd AD A6 02)
                beq   iFDEC               ;(fde0 F0 0A)

                lda   #$25                ;(fde2 A9 25)
                sta   eDC04               ;(fde4 8D 04 DC)
                lda   #$40                ;(fde7 A9 40)
                jmp   iFDF3               ;(fde9 4C F3 FD)
;------------------------------------------------------------------------
iFDEC:          lda   #$95                ;(fdec A9 95)
                sta   eDC04               ;(fdee 8D 04 DC)
                lda   #$42                ;(fdf1 A9 42)
iFDF3:          sta   eDC05               ;(fdf3 8D 05 DC)
                jmp   iFF6E               ;(fdf6 4C 6E FF)
;------------------------------------------------------------------------
setnam_direct:  sta   FNLEN               ;(fdf9 85 B7) Number of Characters in Filename.
                stx   FNADR               ;(fdfb 86 BB) Pointer: Current File name Address.
                sty   zpBC                ;(fdfd 84 BC)
                rts                       ;(fdff 60)
;------------------------------------------------------------------------
setlfs_direct:  sta   LA                  ;(fe00 85 B8) Current File - Logical File number.
                stx   FA                  ;(fe02 86 BA) Current File - First Address (Device number).
                sty   SA                  ;(fe04 84 B9) Current File - Secondary Address.
                rts                       ;(fe06 60)
;------------------------------------------------------------------------
readst_direct:  lda   FA                  ;(fe07 A5 BA) Current File - First Address (Device number).
                cmp   #$02                ;(fe09 C9 02)
                bne   iFE1A               ;(fe0b D0 0D)

                lda   e0297               ;(fe0d AD 97 02)
                pha                       ;(fe10 48)
                lda   #$00                ;(fe11 A9 00)
                sta   e0297               ;(fe13 8D 97 02)
                pla                       ;(fe16 68)
                rts                       ;(fe17 60)
;------------------------------------------------------------------------
iFE18:          sta   MSGFLG              ;(fe18 85 9D) Flag: $00 = Program mode: Suppress Error Messages
iFE1A:          lda   STATUS              ;(fe1a A5 90) Kernal I/O Status Word  ST.
iFE1C:          ora   STATUS              ;(fe1c 05 90) Kernal I/O Status Word  ST.
                sta   STATUS              ;(fe1e 85 90) Kernal I/O Status Word  ST.
                rts                       ;(fe20 60)
;------------------------------------------------------------------------
iFE21:          sta   e0285               ;(fe21 8D 85 02)
                rts                       ;(fe24 60)
;------------------------------------------------------------------------
memtop_direct:  bcc   iFE2D               ;(fe25 90 06)

iFE27:          ldx   e0283               ;(fe27 AE 83 02)
                ldy   e0284               ;(fe2a AC 84 02)
iFE2D:          stx   e0283               ;(fe2d 8E 83 02)
                sty   e0284               ;(fe30 8C 84 02)
                rts                       ;(fe33 60)
;------------------------------------------------------------------------
iFE34:          bcc   iFE3C               ;(fe34 90 06)

                ldx   e0281               ;(fe36 AE 81 02)
                ldy   e0282               ;(fe39 AC 82 02)
iFE3C:          stx   e0281               ;(fe3c 8E 81 02)
                sty   e0282               ;(fe3f 8C 82 02)
                rts                       ;(fe42 60)
;------------------------------------------------------------------------
;entrypoint at $fe43
;------------------------------------------------------------------------
                sei                       ;(fe43 78)
                jmp   (BRKVEC)            ;(fe44 6C 18 03) *($0318)=$fe47 Kernal BRK Ptr
;------------------------------------------------------------------------
                pha                       ;(fe47 48)
                txa                       ;(fe48 8A)
                pha                       ;(fe49 48)
                tya                       ;(fe4a 98)
                pha                       ;(fe4b 48)
                lda   #$7F                ;(fe4c A9 7F)
                sta   eDD0D               ;(fe4e 8D 0D DD)
                ldy   eDD0D               ;(fe51 AC 0D DD)
                bmi   iFE72               ;(fe54 30 1C)

                jsr   iFD02               ;(fe56 20 02 FD)
                bne   iFE5E               ;(fe59 D0 03)

                jmp   (e8002)             ;(fe5b 6C 02 80) *($8002)=$0000
;------------------------------------------------------------------------
iFE5E:          jsr   iF6BC               ;(fe5e 20 BC F6)
                jsr   stop                ;(fe61 20 E1 FF)
                bne   iFE72               ;(fe64 D0 0C)

                jsr   iFD15               ;(fe66 20 15 FD)
                jsr   iFDA3               ;(fe69 20 A3 FD)
                jsr   cint1               ;(fe6c 20 18 E5)
                jmp   (eA002)             ;(fe6f 6C 02 A0) *($a002)=$e37b
;------------------------------------------------------------------------
iFE72:          tya                       ;(fe72 98)
                and   e02A1               ;(fe73 2D A1 02)
                tax                       ;(fe76 AA)
                and   #$01                ;(fe77 29 01)
                beq   iFEA3               ;(fe79 F0 28)

                lda   CIA2                ;(fe7b AD 00 DD) Complex Adapter Interface 2
                and   #$FB                ;(fe7e 29 FB)
                ora   NXTBIT              ;(fe80 05 B5) RS232 Next Bit to send/Tape Read - End of Tape.
                sta   CIA2                ;(fe82 8D 00 DD) Complex Adapter Interface 2
                lda   e02A1               ;(fe85 AD A1 02)
                sta   eDD0D               ;(fe88 8D 0D DD)
                txa                       ;(fe8b 8A)
                and   #$12                ;(fe8c 29 12)
                beq   iFE9D               ;(fe8e F0 0D)

                and   #$02                ;(fe90 29 02)
                beq   iFE9A               ;(fe92 F0 06)

                jsr   entry_fed6          ;(fe94 20 D6 FE) entrypoint at $fed6
                jmp   iFE9D               ;(fe97 4C 9D FE)
;------------------------------------------------------------------------
iFE9A:          jsr   entry_ff07          ;(fe9a 20 07 FF) entrypoint at $ff07
iFE9D:          jsr   iEEBB               ;(fe9d 20 BB EE)
                jmp   iFEB6               ;(fea0 4C B6 FE)
;------------------------------------------------------------------------
iFEA3:          txa                       ;(fea3 8A)
                and   #$02                ;(fea4 29 02)
                beq   iFEAE               ;(fea6 F0 06)

                jsr   entry_fed6          ;(fea8 20 D6 FE) entrypoint at $fed6
                jmp   iFEB6               ;(feab 4C B6 FE)
;------------------------------------------------------------------------
iFEAE:          txa                       ;(feae 8A)
                and   #$10                ;(feaf 29 10)
                beq   iFEB6               ;(feb1 F0 03)

                jsr   entry_ff07          ;(feb3 20 07 FF) entrypoint at $ff07
iFEB6:          lda   e02A1               ;(feb6 AD A1 02)
                sta   eDD0D               ;(feb9 8D 0D DD)
;entrypoint at $febc
;------------------------------------------------------------------------
entry_febc:     pla                       ;(febc 68)
                tay                       ;(febd A8)
                pla                       ;(febe 68)
                tax                       ;(febf AA)
iFEC0:          pla                       ;(fec0 68)
iFEC1:          rti                       ;(fec1 40)
                .byte $C1,$27,$3E,$1A,$C5,$11,$74,$0E;(fec2) (fec2 A'>.E...)
                .byte $ED,$0C,$45,$06,$F0,$02,$46,$01;(feca) (feca ..e...f.)
                .byte $B8,$00,$71,$00     ;(fed2) (fed2 ....)
;entrypoint at $fed6
;------------------------------------------------------------------------
entry_fed6:     lda   CIA2+$0001          ;(fed6 AD 01 DD) Complex Adapter Interface 2
                and   #$01                ;(fed9 29 01)
                sta   INBIT               ;(fedb 85 A7) RS232 temporary for received Bit/Tape temporary.
                lda   eDD06               ;(fedd AD 06 DD)
                sbc   #$1C                ;(fee0 E9 1C)
                adc   e0299               ;(fee2 6D 99 02)
                sta   eDD06               ;(fee5 8D 06 DD)
                lda   eDD07               ;(fee8 AD 07 DD)
                adc   e029A               ;(feeb 6D 9A 02)
                sta   eDD07               ;(feee 8D 07 DD)
                lda   #$11                ;(fef1 A9 11)
                sta   eDD0F               ;(fef3 8D 0F DD)
                lda   e02A1               ;(fef6 AD A1 02)
                sta   eDD0D               ;(fef9 8D 0D DD)
                lda   #$FF                ;(fefc A9 FF)
                sta   eDD06               ;(fefe 8D 06 DD)
                sta   eDD07               ;(ff01 8D 07 DD)
                jmp   iEF59               ;(ff04 4C 59 EF)
;------------------------------------------------------------------------
;entrypoint at $ff07
;------------------------------------------------------------------------
entry_ff07:     lda   e0295               ;(ff07 AD 95 02)
                sta   eDD06               ;(ff0a 8D 06 DD)
                lda   e0296               ;(ff0d AD 96 02)
                sta   eDD07               ;(ff10 8D 07 DD)
                lda   #$11                ;(ff13 A9 11)
                sta   eDD0F               ;(ff15 8D 0F DD)
                lda   #$12                ;(ff18 A9 12)
                eor   e02A1               ;(ff1a 4D A1 02)
                sta   e02A1               ;(ff1d 8D A1 02)
                lda   #$FF                ;(ff20 A9 FF)
                sta   eDD06               ;(ff22 8D 06 DD)
                sta   eDD07               ;(ff25 8D 07 DD)
                ldx   e0298               ;(ff28 AE 98 02)
                stx   BITC1               ;(ff2b 86 A8) RS232 Input Bit count/Tape temporary.
                rts                       ;(ff2d 60)
;------------------------------------------------------------------------
;entrypoint at $ff2e
;------------------------------------------------------------------------
entry_ff2e:     tax                       ;(ff2e AA)
                lda   e0296               ;(ff2f AD 96 02)
                rol   A                   ;(ff32 2A)
                tay                       ;(ff33 A8)
                txa                       ;(ff34 8A)
                adc   #$C8                ;(ff35 69 C8)
                sta   e0299               ;(ff37 8D 99 02)
                tya                       ;(ff3a 98)
                adc   #$00                ;(ff3b 69 00)
                sta   e029A               ;(ff3d 8D 9A 02)
                rts                       ;(ff40 60)
;------------------------------------------------------------------------
;entrypoint at $ff41
;------------------------------------------------------------------------
                nop                       ;(ff41 EA)
                nop                       ;(ff42 EA)
;entrypoint at $ff43
;------------------------------------------------------------------------
entry_ff43:     php                       ;(ff43 08)
                pla                       ;(ff44 68)
                and   #$EF                ;(ff45 29 EF)
                pha                       ;(ff47 48)
                pha                       ;(ff48 48)
                txa                       ;(ff49 8A)
                pha                       ;(ff4a 48)
                tya                       ;(ff4b 98)
                pha                       ;(ff4c 48)
                tsx                       ;(ff4d BA)
                lda   e0104,X             ;(ff4e BD 04 01)
                and   #$10                ;(ff51 29 10)
                beq   iFF58               ;(ff53 F0 03)

                jmp   (NMIVEC)            ;(ff55 6C 16 03) *($0316)=$fe66 Kernal NMI Ptr
;------------------------------------------------------------------------
iFF58:          jmp   (IRQVEC)            ;(ff58 6C 14 03) *($0314)=$ea31 Kernal IRQ Ptr
;------------------------------------------------------------------------
iFF5B:          jsr   cint1               ;(ff5b 20 18 E5)
iFF5E:          lda   VIC_CURLINE         ;(ff5e AD 12 D0) current Rasterline
                bne   iFF5E               ;(ff61 D0 FB)

                lda   VIC_IRR             ;(ff63 AD 19 D0) interupt request register
                and   #$01                ;(ff66 29 01)
                sta   e02A6               ;(ff68 8D A6 02)
                jmp   iFDDD               ;(ff6b 4C DD FD)
;------------------------------------------------------------------------
iFF6E:          lda   #$81                ;(ff6e A9 81)
                sta   eDC0D               ;(ff70 8D 0D DC)
                lda   eDC0E               ;(ff73 AD 0E DC)
                and   #$80                ;(ff76 29 80)
                ora   #$11                ;(ff78 09 11)
                sta   eDC0E               ;(ff7a 8D 0E DC)
                jmp   iEE8E               ;(ff7d 4C 8E EE)
;------------------------------------------------------------------------
                .byte $00                 ;(ff80) (ff80 .)
;entrypoint at $ff81
;------------------------------------------------------------------------
                jmp   iFF5B               ;(ff81 4C 5B FF)
;------------------------------------------------------------------------
;entrypoint at $ff84
;------------------------------------------------------------------------
                jmp   iFDA3               ;(ff84 4C A3 FD)
;------------------------------------------------------------------------
;entrypoint at $ff87
;------------------------------------------------------------------------
                jmp   iFD50               ;(ff87 4C 50 FD)
;------------------------------------------------------------------------
;entrypoint at $ff8a
;------------------------------------------------------------------------
                jmp   iFD15               ;(ff8a 4C 15 FD)
;------------------------------------------------------------------------
;entrypoint at $ff8d
;------------------------------------------------------------------------
                jmp   iFD1A               ;(ff8d 4C 1A FD)
;------------------------------------------------------------------------
;entrypoint at $ff90
;------------------------------------------------------------------------
                jmp   iFE18               ;(ff90 4C 18 FE)
;------------------------------------------------------------------------
;entrypoint at $ff93
;------------------------------------------------------------------------
                jmp   iEDB9               ;(ff93 4C B9 ED)
;------------------------------------------------------------------------
;entrypoint at $ff96
;------------------------------------------------------------------------
                jmp   iEDC7               ;(ff96 4C C7 ED)
;------------------------------------------------------------------------
memtop:         jmp   memtop_direct       ;(ff99 4C 25 FE)
;------------------------------------------------------------------------
;entrypoint at $ff9c
;------------------------------------------------------------------------
entry_ff9c:     jmp   iFE34               ;(ff9c 4C 34 FE)
;------------------------------------------------------------------------
;entrypoint at $ff9f
;------------------------------------------------------------------------
                jmp   iEA87               ;(ff9f 4C 87 EA)
;------------------------------------------------------------------------
;entrypoint at $ffa2
;------------------------------------------------------------------------
                jmp   iFE21               ;(ffa2 4C 21 FE)
;------------------------------------------------------------------------
;entrypoint at $ffa5
;------------------------------------------------------------------------
                jmp   iEE13               ;(ffa5 4C 13 EE)
;------------------------------------------------------------------------
;entrypoint at $ffa8
;------------------------------------------------------------------------
                jmp   iEDDD               ;(ffa8 4C DD ED)
;------------------------------------------------------------------------
;entrypoint at $ffab
;------------------------------------------------------------------------
                jmp   iEDEF               ;(ffab 4C EF ED)
;------------------------------------------------------------------------
                jmp   iEDFE               ;(ffae 4C FE ED)
;------------------------------------------------------------------------
                jmp   iED0C               ;(ffb1 4C 0C ED)
;------------------------------------------------------------------------
;entrypoint at $ffb4
;------------------------------------------------------------------------
                jmp   iED09               ;(ffb4 4C 09 ED)
;------------------------------------------------------------------------
readst:         jmp   readst_direct       ;(ffb7 4C 07 FE)
;------------------------------------------------------------------------
setlfs:         jmp   setlfs_direct       ;(ffba 4C 00 FE)
;------------------------------------------------------------------------
setnam:         jmp   setnam_direct       ;(ffbd 4C F9 FD)
;------------------------------------------------------------------------
;entrypoint at $ffc0
;------------------------------------------------------------------------
entry_ffc0:     jmp   (e031A)             ;(ffc0 6C 1A 03) *($031a)=$f34a
;------------------------------------------------------------------------
;entrypoint at $ffc3
;------------------------------------------------------------------------
entry_ffc3:     jmp   (e031C)             ;(ffc3 6C 1C 03) *($031c)=$f291
;------------------------------------------------------------------------
;entrypoint at $ffc6
;------------------------------------------------------------------------
entry_ffc6:     jmp   (e031E)             ;(ffc6 6C 1E 03) *($031e)=$f20e
;------------------------------------------------------------------------
;entrypoint at $ffc9
;------------------------------------------------------------------------
entry_ffc9:     jmp   (e0320)             ;(ffc9 6C 20 03) *($0320)=$f250
;------------------------------------------------------------------------
;entrypoint at $ffcc
;------------------------------------------------------------------------
entry_ffcc:     jmp   (e0322)             ;(ffcc 6C 22 03) *($0322)=$f333
;------------------------------------------------------------------------
;entrypoint at $ffcf
;------------------------------------------------------------------------
entry_ffcf:     jmp   (e0324)             ;(ffcf 6C 24 03) *($0324)=$f157
;------------------------------------------------------------------------
;entrypoint at $ffd2
;------------------------------------------------------------------------
entry_ffd2:     jmp   (e0326)             ;(ffd2 6C 26 03) *($0326)=$f1ca
;------------------------------------------------------------------------
;entrypoint at $ffd5
;------------------------------------------------------------------------
entry_ffd5:     jmp   iF49E               ;(ffd5 4C 9E F4)
;------------------------------------------------------------------------
;entrypoint at $ffd8
;------------------------------------------------------------------------
                jmp   iF5DD               ;(ffd8 4C DD F5)
;------------------------------------------------------------------------
;entrypoint at $ffdb
;------------------------------------------------------------------------
                jmp   iF6E4               ;(ffdb 4C E4 F6)
;------------------------------------------------------------------------
;entrypoint at $ffde
;------------------------------------------------------------------------
                jmp   iF6DD               ;(ffde 4C DD F6)
;------------------------------------------------------------------------
stop:           jmp   (e0328)             ;(ffe1 6C 28 03) *($0328)=$f6ed
;------------------------------------------------------------------------
;entrypoint at $ffe4
;------------------------------------------------------------------------
entry_ffe4:     jmp   (e032A)             ;(ffe4 6C 2A 03) *($032a)=$f13e
;------------------------------------------------------------------------
;entrypoint at $ffe7
;------------------------------------------------------------------------
                jmp   (e032C)             ;(ffe7 6C 2C 03) *($032c)=$f32f
;------------------------------------------------------------------------
udtim:          jmp   udtim_direct        ;(ffea 4C 9B F6)
;------------------------------------------------------------------------
;entrypoint at $ffed
;------------------------------------------------------------------------
                jmp   iE505               ;(ffed 4C 05 E5)
;------------------------------------------------------------------------
;entrypoint at $fff0
;------------------------------------------------------------------------
                jmp   iE50A               ;(fff0 4C 0A E5)
;------------------------------------------------------------------------
iobase:         jmp   iobase_direct       ;(fff3 4C 00 E5)
;------------------------------------------------------------------------
                .byte $52,$52,$42,$59,$43,$FE,$E2,$FC;(fff6) (fff6 rrbyc...)
                .byte $48,$FF             ;

 

generated by txt2htm v0.1a (w)2001 Groepaz/Hitmen