diff --git a/libsrc/cbm/Makefile b/libsrc/cbm/Makefile index 4fd88a2a9..3daa254af 100644 --- a/libsrc/cbm/Makefile +++ b/libsrc/cbm/Makefile @@ -79,6 +79,7 @@ S_OBJS = c_acptr.o \ scratch.o \ sysremove.o \ sysrename.o \ + toascii.o \ wherex.o \ wherey.o \ write.o diff --git a/libsrc/cbm/toascii.s b/libsrc/cbm/toascii.s new file mode 100644 index 000000000..bea7ca880 --- /dev/null +++ b/libsrc/cbm/toascii.s @@ -0,0 +1,38 @@ +; +; Ullrich von Bassewitz, 2009-11-02 +; +; unsigned char __fastcall__ toascii (unsigned char c); +; /* Convert a target specific character to ascii */ +; + + .export _toascii + + .macpack generic + +.proc _toascii + +; Check for code between 65 and 90 + + cmp #$41 + blt @L1 + cmp #$5B + bge @L1 + +; Code between 65 and 90 + + ora #$20 + rts + +; Check for code between 193 and 219 + +@L1: cmp #$C1 + blt @L9 + cmp #$DC + bge @L9 + +; Code between 193 and 219 + + and #$7F +@L9: rts + +.endproc