Index: libcio/conin.c
===================================================================
--- libcio/conin.c	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ libcio/conin.c	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -11,5 +11,5 @@
 int16_t _CBused;
 
-int16_t _conin(int8_t *buff, int16_t len)
+int16_t _conin(io_arg arg, int8_t *buff, int16_t len)
 {
 	int16_t 	nbp;
Index: libcio/conin.x
===================================================================
--- libcio/conin.x	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ libcio/conin.x	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -7,4 +7,5 @@
 #pragma once
 
+#include "fspars.h"
 #include "stdint.h"
 
@@ -24,3 +25,3 @@
 */
 
-extern	int16_t		_conin(int8_t *buff, int16_t len);
+extern	int16_t		_conin(io_arg arg, int8_t *buff, int16_t len);
Index: libcio/dirfns.c
===================================================================
--- libcio/dirfns.c	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ libcio/dirfns.c	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -78,5 +78,5 @@
 */
 
-int8_t *dtunpk(int16_t din, int16_t tin, int16_t fmt, int8_t *s)
+int8_t *dtunpk(int16_t din, int16_t tin, int8_t *s, int16_t fmt)
 {
 	register int16_t	ftm, fdt;
Index: libcio/dirfns.x
===================================================================
--- libcio/dirfns.x	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ libcio/dirfns.x	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -16,4 +16,4 @@
 
 extern	int8_t		*atrstr(int16_t atr, int8_t s[]);
-extern	int8_t		*dtunpk(int16_t din, int16_t tin, int16_t fmt, int8_t *s);
+extern	int8_t		*dtunpk(int16_t din, int16_t tin, int8_t *s, int16_t fmt);
 extern	int8_t		*mname(int16_t n);
Index: libcio/filesys.c
===================================================================
--- libcio/filesys.c	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ libcio/filesys.c	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -90,5 +90,5 @@
 */
 
-uint16_t _getfat(uint16_t *bufad, uint16_t nfat, struct bpb *bpp)
+uint16_t _getfat(uint16_t *bufad, struct bpb *bpp, uint16_t nfat)
 {
 	uint16_t fatsec;
Index: libcio/filesys.x
===================================================================
--- libcio/filesys.x	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ libcio/filesys.x	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -44,5 +44,5 @@
 extern	int16_t		_fmake(struct fcb *fcp);
 extern	int16_t		_ftrnc(struct dirent *dp);
-extern	uint16_t	_getfat(uint16_t *bufad, uint16_t nfat, struct bpb *bpp);
+extern	uint16_t	_getfat(uint16_t *bufad, struct bpb *bpp, uint16_t nfat);
 extern	uint16_t	_gtcl12(int8_t *fat, uint16_t cl);
 extern	int16_t		_inifcb(struct fcb *fcp, int8_t *name, int8_t *ext, int16_t mode);
Index: libcio/fsinit.c
===================================================================
--- libcio/fsinit.c	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ libcio/fsinit.c	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -109,5 +109,5 @@
 */
 
-void Init_CB(FILE *fp, int8_t unit, int8_t flags, int32_t *bufad, int16_t bufsize)
+void Init_CB(FILE *fp, int8_t flags, int8_t unit, int32_t *bufad, int16_t bufsize)
 {
 	fp->_bp     = (int8_t *)0L;
Index: libcio/fsinit.x
===================================================================
--- libcio/fsinit.x	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ libcio/fsinit.x	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -39,5 +39,5 @@
 extern	void		InitCH(struct channel *cp, int8_t rdi, int8_t wri, int8_t ioi, int8_t ski, chclo cfp, io_arg charg);
 extern	void		InitFS(void);
-extern	void		Init_CB(FILE *fp, int8_t unit, int8_t flags, int32_t *bufad, int16_t bufsize);
+extern	void		Init_CB(FILE *fp, int8_t flags, int8_t unit, int32_t *bufad, int16_t bufsize);
 extern	int16_t		_badfd(void);
 extern	int16_t		_noper(void);
Index: ram/instdsp.c
===================================================================
--- ram/instdsp.c	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ ram/instdsp.c	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -417,5 +417,5 @@
 */
 
-void oscdsp(int16_t row, int16_t val, int16_t n, int16_t frq, int8_t *lbl)
+void oscdsp(int16_t row, int16_t val, int16_t n, int8_t *lbl, int16_t frq)
 {
 		register int16_t fh, fl;
Index: ram/instdsp.x
===================================================================
--- ram/instdsp.x	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ ram/instdsp.x	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -44,5 +44,5 @@
 extern	void		instdsp(void);
 extern	int16_t		irand(int16_t range);
-extern	void		oscdsp(int16_t row, int16_t val, int16_t n, int16_t frq, int8_t *lbl);
+extern	void		oscdsp(int16_t row, int16_t val, int16_t n, int8_t *lbl, int16_t frq);
 extern	void		pltws(uint16_t ws[], int16_t pen);
 extern	void		reshowi(void);
Index: rom/romp.c
===================================================================
--- rom/romp.c	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ rom/romp.c	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -3601,5 +3601,5 @@
 */
 
-void rompbp(int32_t d0, int32_t d1, int32_t d2, int32_t d3, int32_t d4, int32_t d5, int32_t d6, int32_t d7, int8_t *a0, int8_t *a1, int8_t *a2, int8_t *a3, int8_t *a4, int8_t *a5, int8_t *a6, int8_t *a7, int8_t *pc, uint16_t sr0, uint16_t sr)
+void rompbp(int32_t d0, int32_t d1, int32_t d2, int32_t d3, int32_t d4, int32_t d5, int32_t d6, int32_t d7, int8_t *a0, int8_t *a1, int8_t *a2, int8_t *a3, int8_t *a4, int8_t *a5, int8_t *a6, int8_t *a7, uint16_t sr0, uint16_t sr, int8_t *pc)
 {
 	register int16_t i;
Index: rom/romp.x
===================================================================
--- rom/romp.x	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ rom/romp.x	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -164,5 +164,5 @@
 extern	void		puthn(int32_t num, int16_t cw, int16_t unit);
 extern	void		putn(int32_t num, int16_t cw, int16_t unit);
-extern	void		rompbp(int32_t d0, int32_t d1, int32_t d2, int32_t d3, int32_t d4, int32_t d5, int32_t d6, int32_t d7, int8_t *a0, int8_t *a1, int8_t *a2, int8_t *a3, int8_t *a4, int8_t *a5, int8_t *a6, int8_t *a7, int8_t *pc, uint16_t sr0, uint16_t sr);
+extern	void		rompbp(int32_t d0, int32_t d1, int32_t d2, int32_t d3, int32_t d4, int32_t d5, int32_t d6, int32_t d7, int8_t *a0, int8_t *a1, int8_t *a2, int8_t *a3, int8_t *a4, int8_t *a5, int8_t *a6, int8_t *a7, uint16_t sr0, uint16_t sr, int8_t *pc);
 extern	int16_t		setvar(int32_t *var, int32_t deflt);
 extern	void		showcr(void);
Index: vlib/vmput.c
===================================================================
--- vlib/vmput.c	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ vlib/vmput.c	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -28,5 +28,5 @@
 */
 
-void vmput(uint16_t *sbase, uint16_t row, uint16_t col, uint16_t ma, int8_t *ms[])
+void vmput(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *ms[], uint16_t ma)
 {
 	register uint16_t c, tc, tr;
@@ -56,5 +56,5 @@
 */
 
-void vmputa(uint16_t *sbase, uint16_t row, uint16_t col, uint16_t *ma[], int8_t *ms[])
+void vmputa(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *ms[], uint16_t *ma[])
 {
 	register uint16_t c, tc, tr;
Index: vlib/vmput.x
===================================================================
--- vlib/vmput.x	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ vlib/vmput.x	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -15,4 +15,4 @@
 */
 
-extern	void		vmput(uint16_t *sbase, uint16_t row, uint16_t col, uint16_t ma, int8_t *ms[]);
-extern	void		vmputa(uint16_t *sbase, uint16_t row, uint16_t col, uint16_t *ma[], int8_t *ms[]);
+extern	void		vmput(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *ms[], uint16_t ma);
+extern	void		vmputa(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *ms[], uint16_t *ma[]);
Index: vlib/vobjfns.c
===================================================================
--- vlib/vobjfns.c	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ vlib/vobjfns.c	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -140,5 +140,5 @@
 */
 
-void SetObj(int16_t obj, int16_t type, int16_t bank, int16_t xpix, int16_t ypix, int16_t x0, int16_t y0, int16_t flags, int16_t pri, uint16_t *base)
+void SetObj(int16_t obj, int16_t type, int16_t bank, uint16_t *base, int16_t xpix, int16_t ypix, int16_t x0, int16_t y0, int16_t flags, int16_t pri)
 {
 	register struct octent *op;
Index: vlib/vobjfns.x
===================================================================
--- vlib/vobjfns.x	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ vlib/vobjfns.x	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -27,4 +27,4 @@
 extern	void		CpyObj(uint16_t *from, uint16_t *to, uint16_t w, uint16_t h, uint16_t sw);
 extern	void		SelObj(int16_t obj);
-extern	void		SetObj(int16_t obj, int16_t type, int16_t bank, int16_t xpix, int16_t ypix, int16_t x0, int16_t y0, int16_t flags, int16_t pri, uint16_t *base);
+extern	void		SetObj(int16_t obj, int16_t type, int16_t bank, uint16_t *base, int16_t xpix, int16_t ypix, int16_t x0, int16_t y0, int16_t flags, int16_t pri);
 extern	void		SetPri(int16_t obj, int16_t pri);
Index: vlib/vputs.c
===================================================================
--- vlib/vputs.c	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ vlib/vputs.c	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -23,5 +23,5 @@
 */
 
-void vputs(uint16_t *sbase, uint16_t row, uint16_t col, uint16_t attrib, int8_t *str)
+void vputs(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *str, uint16_t attrib)
 {
 	uint16_t	c;
@@ -53,5 +53,5 @@
 */
 
-void vputsa(uint16_t *sbase, uint16_t row, uint16_t col, uint16_t *attrib, int8_t *str)
+void vputsa(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *str, uint16_t *attrib)
 {
 	uint16_t	c;
Index: vlib/vputs.x
===================================================================
--- vlib/vputs.x	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ vlib/vputs.x	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -15,4 +15,4 @@
 */
 
-extern	void		vputs(uint16_t *sbase, uint16_t row, uint16_t col, uint16_t attrib, int8_t *str);
-extern	void		vputsa(uint16_t *sbase, uint16_t row, uint16_t col, uint16_t *attrib, int8_t *str);
+extern	void		vputs(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *str, uint16_t attrib);
+extern	void		vputsa(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *str, uint16_t *attrib);
Index: vlib/vspray4.c
===================================================================
--- vlib/vspray4.c	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ vlib/vspray4.c	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -29,5 +29,5 @@
 */
 
-void vspray4(uint16_t *vobj, int16_t vwid, int16_t fg, int16_t vb, int16_t pitch, int8_t *ml[])
+void vspray4(uint16_t *vobj, int16_t vwid, int16_t fg, int8_t *ml[], int16_t vb, int16_t pitch)
 {
 	register int8_t *cp, *lp, c;
Index: vlib/vspray4.x
===================================================================
--- vlib/vspray4.x	(revision 928d5d9d09dbaa2b035031c80d63924de987a1cb)
+++ vlib/vspray4.x	(revision 33b5477cc55f55fdeb5a70526c020aaaaee92017)
@@ -15,3 +15,3 @@
 */
 
-extern	void		vspray4(uint16_t *vobj, int16_t vwid, int16_t fg, int16_t vb, int16_t pitch, int8_t *ml[]);
+extern	void		vspray4(uint16_t *vobj, int16_t vwid, int16_t fg, int8_t *ml[], int16_t vb, int16_t pitch);
