         .OUTPI ALFRES
         .ENTRY ADDCDE
         .VIRT8 AX,BX,HPTR
;Add_Code adds the new character to the next free slot
;
ADDCDE   LDA FRECDE             ;NEXT FREE SLOT
         STA BX
         LDA FRECDE+1
         STA BX+1
         LDY #HFIRST ;Assume first time
         LDA FIRSTU ;First time here ?
         BEQ AC001
         LDY #HNEXT  ;Point last use to new entry
AC001    LDA BX
         STA (HPTR),Y
         INY
         LDA BX+1
         STA (HPTR),Y
         LDA BX+1
         CMP #.HI.MAXMAX
         BCC AC002
         LDA BX
         CMP #.LO.MAXMAX
         BCC AC002
         RTS
AC002    JSR INDEX
         LDY #3
         LDA #$FF
AC003    STA (HPTR),Y
         DEY
         BPL AC003
         LDY #HCHAR
         LDA AX
         STA (HPTR),Y
         INC FRECDE
         BNE AC004
         INC FRECDE+1
AC004    RTS
