From 283a604bed2403cd6fedec9b3936ff38a613cbc5 Mon Sep 17 00:00:00 2001 From: Lars Brinkhoff Date: Fri, 26 Oct 2018 17:24:23 +0000 Subject: [PATCH] Remove MID files. Make C source for C42. --- src/c/c.stinkr | 2 +- src/c/c2610.mid | Bin 289 -> 0 bytes src/c/c3510.mid | Bin 4658 -> 0 bytes src/c/c42.c | 385 ++++++++++++++++++++++++++++++++++++++++++++++++ src/c/c4220.mid | Bin 13953 -> 0 bytes src/c/c4320.mid | Bin 10575 -> 0 bytes src/c/lp.stinkr | 2 +- src/c/m.stinkr | 4 +- 8 files changed, 389 insertions(+), 4 deletions(-) delete mode 100644 src/c/c2610.mid delete mode 100644 src/c/c3510.mid create mode 100644 src/c/c42.c delete mode 100644 src/c/c4220.mid delete mode 100644 src/c/c4320.mid diff --git a/src/c/c.stinkr b/src/c/c.stinkr index ba243ee3..f48fbe45 100644 --- a/src/c/c.stinkr +++ b/src/c/c.stinkr @@ -3,7 +3,7 @@ l c31.stk l c32.stk l c33.stk l c34.stk -l c3510 +l c35.stk l c91.stk l c94.stk l c95.stk diff --git a/src/c/c2610.mid b/src/c/c2610.mid deleted file mode 100644 index b16849d9df89aeb058a541d449d5d72d45469b29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmd-K@eJ{CRY*26(={~U;tXfC`nhm10096ouSOpL diff --git a/src/c/c3510.mid b/src/c/c3510.mid deleted file mode 100644 index 7a5b4871909e68ee5fdbccfad8cb977b402f0c45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4658 zcmc&&T~8B16y zRwX-~d+(fk=gi&tVuN9C_@=u#PWB%~dtq>%b$TB*qrFzx>h%Zb!_C9?alajgt@dfB z8wTC}@cd(t7njBN$k8rO3aeE&SHCW5Z8W+1YPGSa%`U2$gDi`ysYTv+S~dGp*{0G} z#>Mo~wp>oClW$i0QIwOK)~qVZ(za2XSgj~$7d6SEyuP@$ZP%l5HL}{Y`dQYLr!H_h z8rQJWkr}(y>tw@hBShwqtAo&_Fjv`vj%=DIub3s+@H)(stIR1}uF?ka5gbebj-rC+ z6?50{SNRlwCX>>>S8}FR%sG?V@K>o-wp`_v$S`e3;415kcRQmp7z+&ywOf@if6JgbesI5K#+BSp|_ z4$`$)C630*ussgqXd~#}8WC!19bswe9|N}_^$W}rSa^^vBs@*9SUCWJXkrV@GB*6m zMDs==ZE##3LLxV5XaaX|Cdv%NcBfr+h0YTc^imtR5^vdsM{R~=SFD5H3v;zoVSO z=*n-4^vHB$r0e*x_?X&v(wbpmeAJt3X39^dh8oXx)hXhxqpXY1s&P`Rv4rnm*DLy~ zX+M!uhpw`QC?Ou!Dc%=I_Dg^xpd)Uq<^=;E15aEG zpIH0E@QHOFX2Qhqjp3`X@K4}NInn-RAtpLTf*5AyCFq;k06tgO3m%w=zpNlU9ul4d zl*ar2&WmAeHVOvE+@QN!qGkd25lmFKhM$h(T9u6CIju;Uqe<7dT;`|4g;}07&R48; zk>I&50{wTpJL-Ef#stJgRhAa`a|+j0V?awAIpHndQ>^vh2#Z-RZn@3O$7;>OsGDMq ze=bDaQR01U54>U_9`m@4^5@jn6d_mtGGV%@Jr#pgdob59_Zke`?71eptecn!er`Ku zo-D2{orCe((O-)GRB6Z_4qL9exe(*Z&|TcBGAJV&Nb_*QLw`*f5`wb{#c$FY@@G-qJKp@Kedrz!ga z2cES&XU!SQtDZSum-X|v+IT169YNg*z;nfZa`j;Vb3P4oeih(ppFkXqDM2WWfUf}x zCLdH=yyuLe;VJ`djX z`rS<&0%7p>^nJG%WIOO4ynCr3+gsT-46jdv7l#y&ADlhBvmK#90>jtT+Nb@&FzXKo LVYlB2H}Llxh>l+n diff --git a/src/c/c42.c b/src/c/c42.c new file mode 100644 index 00000000..6267ddaa --- /dev/null +++ b/src/c/c42.c @@ -0,0 +1,385 @@ +/* Created from disassembly of SAIL file C4220.MID[C,SYS]. + * Care has been taken to match line numbers in the generated + * MIDAS file. */ + +extern int mflag; +extern int f_output; +extern char cstore[]; +extern char *fn_string; +extern int fn_output; + +char *afloat(); +char *aidn(); +char *aif(); +char *aifm(); +char *am(); +char *aname(); +char *apname(); +char *astring(); +char *ffloat(); +char *get_buf(); +char *opname(); +char *sconcat(); +char *asetfno(); + +#define TEXT "t" +#define BINARY "b" +#define SMALL "-34359738368" + +int nfn { 9 }; +char *fn[] { "ff", "i", "sr", "n", "if", "ifm", "m", "pname", "setfno" }; +char *(*ff[])() { afloat, aidn, astring, aname, aif, aifm, am, apname, asetfno }; +int funcn[10]; +#define STRING_EMPTY "" +char *regnames[] { "A", "C", "D", "B" }; + +int packf(); +int packc(); + +char bufff[10][50]; +int bufc { 0 }; +int packb[4]; +int packn[1]; + +/* + * + */ +char * asetfno (a, b) +char **b; +{ + stcpy(*b, funcn); + return ""; +} + +/* + * + * + * + * + * + * + */ +char *aname (x, y) +char *y; +{ + int a, b; + char *c, *d; + + a = atoi(*y); + if (x == 1) return opname(a); + b = atoi(y[1]); + + + + if (mflag != 0) cprint("ANAME(%d,%d)\n", a, b); + + + + if (a >= 0) return regnames[a]; + a = -a; + d = ""; + if (a >= 9) { + c = regnames[a - 9]; + if (b != 0) d = sconcat(3, "#1(", c, ")"); + else d = sconcat(3, "(", c, ")"); + goto end; + } + switch (a) { + case 1: + d = sconcat(3, "<#1-FS", funcn, "-\\%P>(P)"); + goto end; + case 2: + return "%i(#1)"; + case 3: + return "I#1"; + case 4: + d = sconcat(3, "<#1-FS", funcn, "-\\%A-\\%P>(P)"); + goto end; + case 5: + return "L#1"; + case 6: + return "[#1]"; + case 7: + return "[%ff(#1)]"; + case 8: + return "S#1"; + } + + return ""; +end: if (b%1 != 0) error(6025, 0); + return d; +} + +/* + * + * + * + * + */ +char *opname (x) +{ + switch (x) { + case 64: + case 102: + return "ADD"; + case 68: + case 94: + case 106: + return "SUB"; + case 72: + return "IMUL"; + case 76: + case 80: + return "IDIV"; + case 86: + return "AND"; + case 90: + return "IOR"; + case 88: + return "XOR"; + case 66: + return "FADR"; + case 70: + return "FSBR"; + case 74: + return "FMPR"; + case 78: + return "FDVR"; + } + return ""; +} + +/* + * + * + * + */ +char *aif (a, b) +char **b; +{ + return atoi(*b) != 0 ? "#1" : "#2"; +} + +/* + * + * + * + */ +char *aifm (x, y) +char **y; +{ + int a; + if (atoi(*y) == -6) { + a = atoi(y[1]); + if (a >= 0 && a <= 262143) + return "#2"; } + return "#3"; +} + +/* + * + * + * + */ +char *am (x, y) +char **y; +{ + return &cstore[atoi(*y)]; +} + +/* + * + * + * + */ +char *aidn (x, y) +char **y; +{ + char *a, *b, *c; + int d, e; + + if (x > 0) { + a = &cstore[atoi(*y)]; + b = c = get_buf(); + if (*a == ' ') { + ++a; + d = 6; + while ((e = *a++) != 0 && --d >= 0) { + if (e == '$') + e = *a++; + if (e == '#' || e == '%') *b++ = '\\'; + *b++ = e; + } + + } else { + *b++ = 'Z'; + d = 5; + while ((e = *a++) != 0 && --d >= 0) + *b++ = e == '_' ? 'J' : e; + } + *b = 0; + return c; + } + return ""; +} + +/* + * + * + * + * + */ +char * afloat (a, b) +char **b; +{ + return ffloat (atoi (*b)); +} +char *ffloat (a) +{ + char *b, *c, *d; + char e, f; + + d = get_buf(); + f = 0; + b = &cstore[a]; + c = d; + + while (e = *b++) { + switch (e) { + case '.': f = 1; + *c++ = '.'; + if ((*b < '0') | (*b > '9')) *c++ = '0'; + break; + case 'e': if (!f) { + *c++ = '.'; + *c++ = '0'; + f = 1; + } + *c++ = '^'; + break; + default: if (c < d+50) *c++ = e; + } + } + if (f == 0) { + *c++ = '.'; + *c++ = '0'; + } + + *c++ = 0; + return d; +} + +/* + * + * + * + * + */ +char *astring (a, b) +{ + int c, d, e; + + d = 0; + c = xopen(fn_string, 114, BINARY); + + while (1) { + packf(); + e = cgetc(c); + if (e <= 0) if (ceof(c)) break; + cprint (f_output, "S%d:", d); + d++; + while (1) { + if (e == '$') { + e = cgetc(c); + d++; + if (e == '0') e = 0; + packc(e); + } + else { + packc(e); + if (e == 0) break; + } + e = cgetc(c); + d++; + } + } + cclose(c); + packf(); + return "\\"; +} + +/* + * + * + * + * + * + */ +char *apname (a, b) +{ + char *buf; + buf = get_buf(); + fngnm(fn_output, buf); + return buf; +} + +/* + */ +char *sconcat (x, y, x0, x1, x2, x3) +char *y; +{ + char b; + char *c; + char *d; + char **e; + char *f; + + f = get_buf(); + e = &y - 1; + d = f; + + while (--x >= 0) { + c = *++e; + while (b = *c++) *d++ = b; + } + + *d = 0; + return f; +} + +/* + * + * + * + * + * + * + * + * + */ +char *get_buf () +{ + if (++bufc >= 10) bufc=0; + return bufff[bufc]; +} + +/* + * + * + * + * + * + * + * + * + * + */ +int packc (x) +{ + cprint(f_output, "\t%d\n", x); +} + +int packf () +{ + ; +} diff --git a/src/c/c4220.mid b/src/c/c4220.mid deleted file mode 100644 index e38e6a79c86aed491587473155f9ba17edb0c241..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13953 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 diff --git a/src/c/c4320.mid b/src/c/c4320.mid deleted file mode 100644 index 81f49745940732f666ff596299d14389d37e7662..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10575 zcmdU#%Z?LA6o%Q_Pr(a-TwQ%LiXx4G1yVGL=vgG}5Cba)BuL&r|97fRcXhjM&zO-& zr17{e=klLxmD}Fjyt(=9_0tb^d{*tYo3~f5-u(GA?4EC*zquaX-aP%~<*(N-x7+70 ze}DCQyLo+m^Y*XJySoqH|Ndt-`#R0uf4KcP&c58e|L|otyB%kDw;w-!9%o-59cOp9 zpFV#dXKZ~FqE}ZpS5LM{{fq5pzum-UyXo}qLzz(5X}OQvji$ac5wYP!ohVj`*l?ml zNwM2*!cMxwuHv7B*J1!oQ%G+F1tFc*90%IO!_pffxVZfXPQWBppr;Bl%6d*H zIwBtA>IYty=H!0t7Wbqv{2XEP@Goyx$5Vhrkxx3k*%7E5=#>@=kC*bSgDJk5b3`G| z6DX*J6DZQvZf^3~>*SpLjE7EGgilXkTldf@TdCG{51l~q(>=6Ov}N2c^U}OlN_nU9 z=&*gvIDd97*+p^QlS+J-c}g}H&8d`k%2S8kamM-6J$2lw%e-{P-s6==b|3TaPxsRC zD!I%{XX@vKmyRR3SAXIt(eYvT9*H7z3#YH$N=_d0Hh=`o%-L39gEs=O$ zBj|Ngw9Kwn_~^+~7d&->p=P@@O7r63U6C=ZOeH{T)U6}{-eAeP{|F46Yh6P|xrYd< z2i9^Ezso_87GzV=m=kfNh%CHf(9q>2Q&R}#1^d=!jHBW=^+ao~meD8Z##}fQM3KNA z0Dxqv<}TX^ocE@N)Phhn<8i@wWgR^5JH1t@=Re(r9_Qf-buYazF3P^z4ec7_ZUN zECr$Hwr&z|Ot$16ngU=qbcNE~mBHcgEZ?!xG%Z}xaVXo}luZ_`Ytjng^68Y+i=Kge z%WWXgc=aycV@I5CDLh6^m;@Rl@)n_AY}t3KU-jK;{*L#ZzIna=wxBf zF6C5ls8u`hRy#?q@N*R;x#IY!f;g&5991Qbs)8fJ!F8mfFe~C((NHTKU0FNfOWerU zxe@e{qbGtsfERWX1u{_H1clJ%X0x^hkkmx~lgCq@{`~&S~2u!hl!1@8}2dp2ke!%(x z>xUW=GIgM&1_C;Oc4$~@pyLb~T2q4_%4fh;184`(4%Ga>0XA@p7^ui$Uniiq0;+BN zU@z^_=ul$KP+WKhRYU;?*|kD+_zA^!l8MezO|)dby+lvy0m*ue=&gszM*Hw2T5Bls znf<~*P$U)y#JrEn4hKq*UXQE!uwnFcILL~~Kxe8=@k z68=QeOh%%!Qp($DC9hY)0gwC@2=atP)RSl{w#<@j$P)s7jE6K`<01H2XGP8Um|F3% zdqub^vdz~CzK;p4k2$t|OxowM)ufNfX~qfD3|SB=1FI045U zig28i-s$k3@ARcZ`chAi`<-mhp*~FtAM8ux_8f8}S!vv!GkM&}j(=yrGSi6=Bd3FY zW2SMfJB1yu-!xHGq~E$d|ASwfZHL{9=`z3D4pCF`+diaf-oCI4kVd^mB<4<)jyf%c z%GdI|Nz~A>Ef)Kfo<8xysMShL(<%$%N(&r9EKGcIk``isf{=1`VWDP0UNbSwyk znx%yXja)Stn@{rCI1|hUopzv-s3L4lr#2l` z3#WbVM>Z64XSQ8>Orusi_!9U;)|p0Xbhhd?(!s^nI~!v&QQW=<&h*SA#iBP0h10R^ k&8I|~U-wDG-h3+bDSA0SUjBYP++1DX4BOY&ueMMA1