C64 ROM | Routines |
Prev: EC03 | Up: Map | Next: EC78 |
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 |