; Apple Polisher boot profile. Preserve entry and bank behavior.
        DB      &H43,&H4D
        DB      &HFF,&HFF,&HFF,&HFF
        DB      &H01,&H04,&H74,&H10
        DB      &HFF,&HFF,&HFF,&HFF
        DB      &HFF,&HFF,&HFF,&HFF
        DB      &HFF,&HFF,&HFF,&HFF
        DB      &HFF,&HFF,&HFF,&HFF
        DB      &HFF
        DB      &H03
        DB      &HC0
        DB      &HFF,&HFF,&HFF

        ORG     &H0C12

COPY_START:

        ORG     &H0C60

INKEY:
        CAL     FW_OFFCHK
        LD      $17,$31
        LD      $0,&H4B

IKEYLP:
        PST     IA,$0

        GRE     KY,$1
        GRE     KY,$1

        DID     $2
        ANCW    $1,$1
        JR      Z,IKEY40

        SBC     $0,&H41
        JP      Z,APP_ENTRY

IKEY10:
        LD      $3,$31

IKEY20:
        BIDW    $2
        JR      C,IKEY30
        AD      $3,$30,IKEY20

IKEY30:
        LD      $5,$0
        SB      $5,$30
        BIU     $5
        BIU     $5
        LD      $4,$5
        BIU     $4
        BIU     $4
        SB      $4,$5

        PRE     IX,KEYSCAN
        LDD     $0,(IX+$4)
        LDD     $0,(IX+$3)
        JR      IKEY50

IKEY40:
        SB      $0,$30
        JR      LNZ,IKEYLP
        LD      $0,$31

IKEY50:
        AN      $0,$0
        JR      Z,IKEYRET
        LD      $17,$30

IKEYRET:
        RTN

        ORG     &H0D80

        JP      MAIN
        JP      TRAP
        JP      &H01AA
        JP      &H01BC
        JP      TRAP
        JP      TRAP
        JP      TRAP
        JP      &H00E3

DEFRT:  RTN
        DB      &HFF,&HFF
        RTN
        DB      &HFF,&HFF
        JP      DEFRT
        JP      POFF
        JP      DEFRT
        JP      DEFRT
        JP      WARM_TRAMP
        JP      DEFRT
        JP      DEFRT
        JP      DEFRT
        JP      DEFRT
        DB      &H74
        DB      &H10

TRAP:   RTNI

POFF:   OFF
        OFF
        OFF
        OFF
        JR      POFF

WARM_TRAMP:
        PRE     SS,&H0100
        PST     UA,&H55
        JP      APP_ENTRY

KEYSCAN:
KSCAN01:
        DB      0,0,0,0,0,0,0,1,0,0,0,0

KSCAN02:
        DB      "W","Q","A",0,"Z",0,0,0,0,0,"'",7

KSCAN03:
        DB      "R","E","D","S","C","X",0,0,&HFC,0,&H29,&H28

KSCAN04:
        DB      "Y","T","G","F","B","V",0,0,&HFD,0,&H5D,&H5B

KSCAN05:
        DB      "I","U","J","H","M","N",0,0,&HFE,0,&H90,&H7C

KSCAN06:
        DB      "P","O","L","K",&H20,",",0,0,&HFF,0,&H93,&H94

KSCAN07:
        DB      0,"=",":",";",0,0,0,0,&H95,0,0,&H9B

KSCAN08:
        DB      "5","4","2","1",0,"0",0,"7",0,0,0,0

KSCAN09:
        DB      "-","6","+","3",&H0D,".",0,"9",0,0,0,0

KSCAN10:
        DB      &H9D,&H1C,"/",&H08,0,0,0,"*",0,0,&H9C,&H11

KSCAN11:
        DB      &H1F,&H1D,&H0C,0,0,0,0,"8",0,0,&H1E,&H12

