diff --git a/contiki-cpc/Makefile.cpc b/contiki-cpc/Makefile.cpc
index d2a303f..49b5ce7 100644
--- a/contiki-cpc/Makefile.cpc
+++ b/contiki-cpc/Makefile.cpc
@@ -64,7 +64,6 @@
 	./arch/clock.o \
 	./loader/dir.o \
 	./loader/loader-arch-cpc.o \
-	./arch/putchar.o \
 	./apps/directory-dsc.o \
 	../contiki/apps/processes-dsc.o \
 	../contiki/apps/program-handler.o \
diff --git a/contiki-cpc/arch/conio.s b/contiki-cpc/arch/conio.s
index c070b6f..c6c8bfd 100644
--- a/contiki-cpc/arch/conio.s
+++ b/contiki-cpc/arch/conio.s
@@ -7,9 +7,6 @@
 ;; cpc uses coordinates between 1..width, 1..height
 
 
-
-
-
 ; void clrscr (void);
 ; Clear the whole screen and put the cursor into the top left corner 
 ; TESTED
@@ -115,21 +112,20 @@
 ; void cputcxy (unsigned char x, unsigned char y, char c)
 ; Same as "gotoxy (x, y); cputc (c);"
 
-.globl _cputcxy
+.globl _cputcyx
 
-_cputcxy::
-		ld		hl,#4
-		add		hl,sp
-		ld		e,(hl)
-		dec		hl
-		ld		a,(hl)
-		dec 		hl
-		ld 		h,(hl)
-		ld 		l,a
+_cputcyx::
+	pop de ; RV
+	pop hl ; XY
+
 		inc h
 		inc l
 		call	0xBB75	; TXT SET CURSOR
-		ld		a,e		
+
+	dec sp
+	pop af ;  C
+	push de
+
 		jp	0xbb5d
 
 ; void cputsn(char *str, unsigned char len);
@@ -207,10 +203,7 @@
 .globl	_chline
 
 _chline::	
-		ld		a,l
-		or		a
-		ret		z
-		ld		b,a
+		ld		b,l
 dochline$:
 		ld c,#0x09a
 chlineloop$:
@@ -247,20 +240,14 @@
 .globl _cvline
 
 _cvline::	
-		ld		a,l
-		or		a
-		ret		z
-		ld		b,a
+		ld		b,l
 		call	0xBB78  ; TXT GET CURSOR
 docvline$:
-		ld c,#0x095
 cvloop$:
 		push hl
 		push bc
 		call	0xBB75 ; TXT SET CURSOR
-		pop bc
-		push bc
-		ld a,c
+		ld a,#0x095
 		call	0xbb5d
 		pop bc
 		pop hl
@@ -306,19 +293,18 @@
 .globl _screensize
 
 _screensize::
-		pop bc ; RV
+		pop hl ; RV
 		pop de ; ptr1
-		pop hl ; ptr2
 
 		ld		a,#40    ; X Size
 		ld		(de),a
 
+		pop de ; ptr2
 		ld		a,#25    ; Y Size
-		ld		(hl),a
+		ld		(de),a
 
-		push hl
 		push de
-		push bc
+		push de
 
-		ret
+		jp (hl)
 
diff --git a/contiki-cpc/arch/contiki.lnk b/contiki-cpc/arch/contiki.lnk
index e88efb9..ebf8a1e 100644
--- a/contiki-cpc/arch/contiki.lnk
+++ b/contiki-cpc/arch/contiki.lnk
@@ -23,5 +23,4 @@
 ../contiki/apps/processes-dsc.o
 ./arch/main.o
 ./arch/arch.o
-./arch/putchar.o
 -e
diff --git a/contiki-cpc/arch/putchar.s b/contiki-cpc/arch/putchar.s
deleted file mode 100644
index 91e42af..0000000
--- a/contiki-cpc/arch/putchar.s
+++ /dev/null
@@ -1,19 +0,0 @@
-;; File: putchar.s
-;; Modified to suit execution on the Amstrad CPC
-;; by H. Hansen 2003
-;; Original lines has been marked out!
-
-		.area _CODE
-_putchar::       
-        ld      hl,#2
-        add     hl,sp
-        
-        ld      a,(hl)
-	
-		ld bc,#0xef00
-		out (c),c
-		or  #0x80
-		out (c),a
-
-        ret
-
diff --git a/contiki-cpc/ctk/conio.h b/contiki-cpc/ctk/conio.h
index 0bdb257..9532b15 100644
--- a/contiki-cpc/ctk/conio.h
+++ b/contiki-cpc/ctk/conio.h
@@ -35,7 +35,8 @@
 
 void cputc (char c) __z88dk_fastcall;
 
-void cputcxy (unsigned char x, unsigned char y, char c);
+void cputcyx (unsigned char y, unsigned char x, char c) __z88dk_callee;
+#define cputcxy(x,y,c) cputcyx(y,x,c)
 
 void cputs (char* s) __z88dk_fastcall;
 void cputsn(char *str, unsigned char len) __z88dk_callee;
