Prev: EC03 Up: Map Next: EC78
EC44: check for special character codes
Used by the routine at E716.
EC44 C9 0E CMP #$0E compare with [SWITCH TO LOWER CASE]
EC46 D0 07 BNE $EC4F if not [SWITCH TO LOWER CASE] skip the switch
EC48 AD 18 D0 LDA $D018 get the start of character memory address
EC4B 09 02 ORA #%00000010 mask xxxx xx1x, set lower case characters
EC4D D0 09 BNE $EC58 go save the new value, branch always
This entry point is used by the routine at E716.
check for special character codes except for switch to lower case
EC4F C9 8E CMP #$8E compare with [SWITCH TO UPPER CASE]
EC51 D0 0B BNE $EC5E if not [SWITCH TO UPPER CASE] go do the [SHIFT]+[C=] key check
EC53 AD 18 D0 LDA $D018 get the start of character memory address
EC56 29 FD AND #%11111101 mask xxxx xx0x, set upper case characters
EC58 8D 18 D0 STA $D018 save the start of character memory address
EC5B 4C A8 E6 JMP $E6A8 restore the registers, set the quote flag and exit
do the [SHIFT]+[C=] key check
EC5E C9 08 CMP #$08 compare with disable [SHIFT][C=]
EC60 D0 07 BNE $EC69 if not disable [SHIFT][C=] skip the set
EC62 A9 80 LDA #$80 set to lock shift mode switch
EC64 0D 91 02 ORA $0291 OR it with the shift mode switch
EC67 30 09 BMI $EC72 go save the value, branch always
EC69 C9 09 CMP #$09 compare with enable [SHIFT][C=]
EC6B D0 EE BNE $EC5B exit if not enable [SHIFT][C=]
EC6D A9 7F LDA #$7F set to unlock shift mode switch
EC6F 2D 91 02 AND $0291 AND it with the shift mode switch
EC72 8D 91 02 STA $0291 save the shift mode switch $00 = enabled, $80 = locked
EC75 4C A8 E6 JMP $E6A8 restore the registers, set the quote flag and exit
Prev: EC03 Up: Map Next: EC78