]> git.sur5r.net Git - cc65/commitdiff
use atari target scrcode macro for atari5200 target, too
authorChristian Groessler <chris@groessler.org>
Wed, 28 May 2014 22:18:55 +0000 (00:18 +0200)
committerChristian Groessler <chris@groessler.org>
Wed, 28 May 2014 22:18:55 +0000 (00:18 +0200)
asminc/atari5200.mac

index 59d7ff29cf42a724de67e5b2d18f28b84c212599..1f8fd37273f919d8ae3e5accd1993b0c725e74ea 100644 (file)
@@ -1,66 +1 @@
-; Convert characters to screen codes
-
-; Helper macro that converts and outputs one character
-.macro _scrcode char
-.if 1
-        .if (char >= 96) .and (char <= 127)
-        .byte (char)
-        .else
-        .byte (char - 32)
-        .endif
-.else
-        .if (char >= 0) .and (char <= 31)
-                .byte   (char + 64)
-        .elseif (char >= 32) .and (char <= 95)
-                .byte   (char + 32)
-        .elseif (char >= 96) .and (char <= 127)
-                .byte   char
-        .elseif (char >= 128) .and (char <= 159)
-                .byte   (char + 64)
-        .elseif (char >= 160) .and (char <= 223)
-                .byte   (char - 32)
-        .elseif (char >= 224) .and (char <= 255)
-                .byte   char
-        .else
-                .error  "scrcode: Character constant out of range"
-        .endif
-.endif
-.endmacro
-
-.macro  scrcode arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9
-
-        ; Bail out if next argument is empty
-        .if     .blank (arg1)
-                .exitmacro
-        .endif
-
-        ; Check for a string
-        .if     .match ({arg1}, "")
-
-                ; Walk over all string chars
-                .repeat .strlen (arg1), i
-                        _scrcode        {.strat (arg1, i)}
-                .endrepeat
-
-        ; Check for a number
-        .elseif .match (.left (1, {arg1}), 0)
-
-                ; Just output the number
-                _scrcode        arg1
-
-        ; Check for a character
-        .elseif .match (.left (1, {arg1}), 'a')
-
-                ; Just output the character
-                _scrcode        arg1
-
-        ; Anything else is an error
-        .else
-
-                .error  "scrcode: invalid argument type"
-
-        .endif
-
-        ; Call the macro recursively with the remaining args
-        scrcode arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9
-.endmacro
+.include "atari.mac"