From d53a4629f345fb7b84b398295474918837569460 Mon Sep 17 00:00:00 2001 From: Curtis F Kaylor Date: Sun, 28 Jan 2018 13:32:49 -0500 Subject: [PATCH] Added Pelles C IDE project files --- c02.ppj | 179 +++++++++++++++++++++++++++++++ c02.ppx | 43 ++++++++ test/srec2asc.pas | 42 ++++++++ vcs/notes/timer.py | 9 ++ vic20/.prg | 0 vic20/blocks.prg | Bin 0 -> 2691 bytes vic20/dir.prg | Bin 0 -> 746 bytes vic20/echo.prg | Bin 0 -> 76 bytes vic20/fgetc.prg | Bin 0 -> 1334 bytes vic20/fgets.prg | Bin 0 -> 1508 bytes vic20/filetest.prg | Bin 0 -> 71 bytes vic20/fputc.prg | Bin 0 -> 1395 bytes vic20/fputs.prg | Bin 0 -> 1426 bytes vic20/fread.prg | Bin 0 -> 1506 bytes vic20/fwrite.prg | Bin 0 -> 1668 bytes vic20/mlstub (Case Conflict).prg | Bin 0 -> 41 bytes vic20/mlstub.prg | Bin 0 -> 15 bytes vic20/pointers.prg | Bin 0 -> 851 bytes vic20/readfile.prg | Bin 0 -> 92 bytes vic20/strings.prg | Bin 0 -> 2258 bytes vic20/test20.prg | Bin 0 -> 381 bytes vic20/testfile.prg | Bin 0 -> 113 bytes 22 files changed, 273 insertions(+) create mode 100644 c02.ppj create mode 100644 c02.ppx create mode 100644 test/srec2asc.pas create mode 100644 vcs/notes/timer.py create mode 100644 vic20/.prg create mode 100644 vic20/blocks.prg create mode 100644 vic20/dir.prg create mode 100644 vic20/echo.prg create mode 100644 vic20/fgetc.prg create mode 100644 vic20/fgets.prg create mode 100644 vic20/filetest.prg create mode 100644 vic20/fputc.prg create mode 100644 vic20/fputs.prg create mode 100644 vic20/fread.prg create mode 100644 vic20/fwrite.prg create mode 100644 vic20/mlstub (Case Conflict).prg create mode 100644 vic20/mlstub.prg create mode 100644 vic20/pointers.prg create mode 100644 vic20/readfile.prg create mode 100644 vic20/strings.prg create mode 100644 vic20/test20.prg create mode 100644 vic20/testfile.prg diff --git a/c02.ppj b/c02.ppj new file mode 100644 index 0000000..f51393f --- /dev/null +++ b/c02.ppj @@ -0,0 +1,179 @@ +# +# PROJECT FILE generated by "Pelles C for Windows, version 8.00". +# WARNING! DO NOT EDIT THIS FILE. +# + +POC_PROJECT_VERSION = 7.00# +POC_PROJECT_TYPE = 3# +POC_PROJECT_OUTPUTDIR = output# +POC_PROJECT_RESULTDIR = .# +POC_PROJECT_ARGUMENTS = # +POC_PROJECT_WORKPATH = # +POC_PROJECT_EXECUTOR = # +POC_PROJECT_ZIPEXTRA = # +CC = pocc.exe# +AS = poasm.exe# +RC = porc.exe# +LINK = polink.exe# +SIGN = posign.exe# +CCFLAGS = -std:C11 -Tx86-coff -Ot -Ob1 -fp:precise -W0 -Gd -Zx -Go# +ASFLAGS = -AIA32# +RCFLAGS = -r# +LINKFLAGS = -machine:x86 -subsystem:console kernel32.lib advapi32.lib delayimp.lib# +SIGNFLAGS = -location:CU -store:MY -timeurl:http://timestamp.verisign.com/scripts/timstamp.dll -errkill# +INCLUDE = $(PellesCDir)\Include\Win;$(PellesCDir)\Include# +LIB = $(PellesCDir)\Lib\Win;$(PellesCDir)\Lib# + +# +# Build c02.exe. +# +c02.exe: \ + output\c02.obj \ + output\asm.obj \ + output\common.obj \ + output\cond.obj \ + output\expr.obj \ + output\files.obj \ + output\include.obj \ + output\label.obj \ + output\parse.obj \ + output\stmnt.obj \ + output\vars.obj + $(LINK) $(LINKFLAGS) -out:"$@" $** + +# +# Build c02.obj. +# +output\c02.obj: \ + c02.c \ + asm.h \ + common.h \ + cond.h \ + expr.h \ + files.h \ + include.h \ + label.h \ + parse.h \ + stmnt.h \ + vars.h + $(CC) $(CCFLAGS) "$!" -Fo"$@" + +# +# Build asm.obj. +# +output\asm.obj: \ + asm.c \ + asm.h \ + common.h \ + files.h \ + parse.h + $(CC) $(CCFLAGS) "$!" -Fo"$@" + +# +# Build common.obj. +# +output\common.obj: \ + common.c \ + common.h + $(CC) $(CCFLAGS) "$!" -Fo"$@" + +# +# Build cond.obj. +# +output\cond.obj: \ + cond.c \ + asm.h \ + common.h \ + cond.h \ + expr.h \ + label.h \ + parse.h \ + vars.h + $(CC) $(CCFLAGS) "$!" -Fo"$@" + +# +# Build expr.obj. +# +output\expr.obj: \ + expr.c \ + asm.h \ + common.h \ + expr.h \ + label.h \ + parse.h \ + vars.h + $(CC) $(CCFLAGS) "$!" -Fo"$@" + +# +# Build files.obj. +# +output\files.obj: \ + files.c \ + common.h \ + files.h + $(CC) $(CCFLAGS) "$!" -Fo"$@" + +# +# Build include.obj. +# +output\include.obj: \ + include.c \ + asm.h \ + common.h \ + files.h \ + include.h \ + parse.h \ + vars.h + $(CC) $(CCFLAGS) "$!" -Fo"$@" + +# +# Build label.obj. +# +output\label.obj: \ + label.c \ + asm.h \ + common.h \ + label.h \ + parse.h + $(CC) $(CCFLAGS) "$!" -Fo"$@" + +# +# Build parse.obj. +# +output\parse.obj: \ + parse.c \ + common.h \ + files.h \ + parse.h + $(CC) $(CCFLAGS) "$!" -Fo"$@" + +# +# Build stmnt.obj. +# +output\stmnt.obj: \ + stmnt.c \ + asm.h \ + common.h \ + expr.h \ + label.h \ + parse.h \ + stmnt.h \ + vars.h + $(CC) $(CCFLAGS) "$!" -Fo"$@" + +# +# Build vars.obj. +# +output\vars.obj: \ + vars.c \ + asm.h \ + common.h \ + files.h \ + label.h \ + parse.h \ + vars.h + $(CC) $(CCFLAGS) "$!" -Fo"$@" + +.EXCLUDEDFILES: + +.SILENT: diff --git a/c02.ppx b/c02.ppx new file mode 100644 index 0000000..3a1e62f --- /dev/null +++ b/c02.ppx @@ -0,0 +1,43 @@ + + + + + + + + + -8 + -31 + 952 + 422 + 1 + 1 + + + + + + + 52 + 52 + 760 + 362 + 0 + 0 + + + + + + 78 + 78 + 786 + 388 + 0 + 0 + + + + + + diff --git a/test/srec2asc.pas b/test/srec2asc.pas new file mode 100644 index 0000000..77af8e8 --- /dev/null +++ b/test/srec2asc.pas @@ -0,0 +1,42 @@ +Program Srec2asc; +{ SREC2ASC - Convert Motorola S-Record file to } +{ POM 1 ASCII File } +{ (C) 2017 - Curtis F Kaylor } + +Uses + SysUtils, StrUtils; + +Const + SrecExt = '.srec'; + AscExt = '.asc'; + +Var + SrecFile: TextFile; {Input File} + AscFile: TextFile; {Output File} + +Procedure OpenSrecFile; +Var + LastDot, LastSlash: Integer; + OpenResult: Integer; +Begin + SrecFileName := ParamStr(1); + LastDot := RPos('.', SrecFileName); + LastSlash := RPos('/', SrecFileName); + If LastDot <= LastSlash Then + SrecFileName := SrecFileName + SrecExt; + If Debug Then WriteLn('Opening File ', SrecFileName); + Assign(SrecFile, SrecFileName); + {$I-} + Reset(SrecFile); + OpenResult := IOResult; + {$I+} + If OpenResult <> 0 Then + Error('Error Opening Input File ' + SrecFileName); +End; + + +Begin + + + +End; diff --git a/vcs/notes/timer.py b/vcs/notes/timer.py new file mode 100644 index 0000000..c9869cf --- /dev/null +++ b/vcs/notes/timer.py @@ -0,0 +1,9 @@ +#!/usr/bin/python + +#Print Atari 2600 Timer Values +#Value to Write to TIM64T to wait desired number of scanlines + +for scanlines in range(0,262): + print scanlines, "\t", scanlines*72/64, "\t", scanlines*72.0/64 + + diff --git a/vic20/.prg b/vic20/.prg new file mode 100644 index 0000000..e69de29 diff --git a/vic20/blocks.prg b/vic20/blocks.prg new file mode 100644 index 0000000000000000000000000000000000000000..c61b64d71ee167e1da9cda13e99c853eba485ae8 GIT binary patch literal 2691 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 literal 0 HcmV?d00001 diff --git a/vic20/fgets.prg b/vic20/fgets.prg new file mode 100644 index 0000000000000000000000000000000000000000..7da0968c4df16c20fa7b0962d211667900bffbfe GIT binary patch literal 1508 zcmc&!(Q8{(7(exNOPg)xoSRh3hWLT_5Wy{lB4Z#}yUb=>5^aLa7k7Oav|!(Sn4qwS zwbapQst;CSZMfLkTTE#{5DJxnC`n!EQ4j=$f{bdB>Kz+h^(H<3&P|yu{sG>Hn{$5O z@B4kf^L^*0O&k@BO;c}APl_?N^seT!ZgH2}Z^aih|Jb41+7BG>I(@IbgpJoRyavwW zp=ZTVGFFe49vVJ8oB}%5yt?a*1y>to=G+KAX*l&OrS^;-X3m7*tAdx>ruJ5gSQQ1I zklbT_qd)x7YB=Y|)qRI@0yV2aJykkUKePB~GFFr(HyTB)=!oP+!E0jOsDVm7vSM+c zQ&LtWH)m6aR{sS6!)ALj)|r|NYQ~?(AXl`w+i`gZ&XHs!QNiLPmI35~tAshQc@YF{eO|`MHtA6p{J6< z5I#JO^Mi5(W|Wz1P253W9Pc?QY5Psfi@6{#a#ckf7Nbe zxfc^yQ9IX6gXjI%scflp{-ycu&B)?K1Rdzpnk>dSjahyUqy@=8!x(8vR{*{&Xj#)u zO<(9@FIPtv!nvTpHMG^C_bqjTzS5;bG!$1c1U-hBGY@64j=ojQhQ86XrU&Sj9>S)s zr!WTlmPV(L-wK-gP&kT`lL3Z^b8ed9At!92Nvj3}NF1s&e-m!h?V8w1t+#yn#usXK zUNP0Z55V&*yvkj!P1BMtTDT0@yoSN!oaKc3EioDX0KiSaRq4R?OY*GZa-y=F@ROjw z0Xo(P>A>HHX2_nFwvLmV0QSy4?6?sG_8~Cj)2`)n`)MN^N<9(x$e1%OpwO8B+t4;F zKhYAqu}^Hq5{tTmjJC{EYEc88(I*1Ow0znY_GTA(}@|a<#&$9I3U~Z7u EKVAkERsaA1 literal 0 HcmV?d00001 diff --git a/vic20/filetest.prg b/vic20/filetest.prg new file mode 100644 index 0000000000000000000000000000000000000000..7c6c7d0acfd43ccdb11bfccf81e3d70e58cfe438 GIT binary patch literal 71 zcmZP+5D?&E=vHu4Sgz2iU}V4`A;81nxXF+~TY!(jO=Xjko2QR!uwForyAp$ifB?f} a1veEP3mroS7XcB5c?u>5mSzSF3=9C=stp7H literal 0 HcmV?d00001 diff --git a/vic20/fputc.prg b/vic20/fputc.prg new file mode 100644 index 0000000000000000000000000000000000000000..2ba576af54376065f01e6406bd1d9217e8d6a6cc GIT binary patch literal 1395 zcmc&!(Q8{(7(elJNt$iuoSQ_8Q}!wBp`&am6d8h|)^ts|B()80FLU>0u%dnMp4`Jy z%4jszmrmFW7puKxDeaR`7z_l-Eh{_jMPb5Vj%bn1J2txNO?v#@o3gRL!259T`F`K; z{J!7$zLP}6KEc=(8tCuOGRD?E*L=aQ>~Ql^YFYEIExM;Y-*PU~E$yUDy!PWYJc5Vb z7H4~tZle0aM06qxbh>?E$C~ypv}(-y&i}S$x#z20c|F0bS;031uSVu~S1VXm1fP}M zVP33fQt%fAFG#-fSZzH`*s-1?f*;Sk)YzQfg{ ziHQ0;F{4`6$c%boQBk1gs_$m22i&(-UhYj+WUx1pK&`~2NkO@SmT7<|$Q66@;EUr&b82Zftf ziFt2ph7JkyW9f3$Rnscv?)T#8DFnrBIw~AC=g(UXgPX-w--{yE5L=5D%}VpA0J_@# z*;g^?d$ERiRDH>b1nRH?a(qK@Pd3Ek9!Cc#ARO+W`EcD1*J#Fqf9$^CWq+Zy$;vIW zB}3+1n12#-d(QY}zxr2mH;Fwpw%Ya_`d)gOY!_sc4+PI%YPMCgxufoSUmUA<8VDbb z#`!_n3o|O1Y(qRmUo7Wcs%rC`;Uw+&qPeCQA~nOFGOz2r!|d4Q0nGJZ^AByut_@%U z>uURA(BLKSQ>qzi$UC#tvl&}Cjid#Ax+yCuPSb{01Zi3Fs~97#={mrV1YOf~UDFS` zGQic|BM1Yw$H2S6#s2yV92a5Y(Va~@;aqi7vnAjXPRV@TmSFid3Gt^MOgX}WzH&|7_ zG{n8^t&V9gFbzZ9=L2ibSD-rvUbT!Jqbrh58@MU8w0(|71h7}>wshiQ>=>1)bbTuA zWr4qrOM^8MWnwb?%u3*gp%Jq2$=GiqGE-?fl}7OXvy}OY2&!c4QD6>LqM3R$<9=4{ zHs47TLX{Raqt<#zx8 literal 0 HcmV?d00001 diff --git a/vic20/fputs.prg b/vic20/fputs.prg new file mode 100644 index 0000000000000000000000000000000000000000..63bf937bbc1c0c62e3d65335487d1d6c7e138d1c GIT binary patch literal 1426 zcmc&!(Q8{(7(elJOPa0boSVd@8?tW?K2%1RVjqSms57-G*K{_S^FiE27_4CNb&3yr zSW7L%PmS&#%>tcho!@pQg7eKPbG{3{Z90u}m5#g~WzMwVtAbY|vpcILtjdB< zOYSj0ni&)PX~7GUFFjD3j}mS)(<}J%tCCmvZOK=}J%lyEomz{dX#Ux9i#wf6ZPm89 zx<49GcjJ?)=?qP(hYk%3)Laf4*~)>&i%a`@5@l)j#^b0JACtT+cwO8wYM@e|tXbUW z)FW$>o3p81tB(P|u-Va*=*-Rpb>q)tkSklT>rKI&~Ef< zKPIrEwx&#j7yJ*XYN-ML^g?DMx^xOj2l{kFmXn+&EPoiJMaeH?jC4iU0KP5gs-|n2 ze$eH9uJ$a3b3uVAwAG={Ep>o?)RkTIaZ)9a^cZr^0+huq^sR=#kT&TjO*ix)Xmnkl z39&V5=vhnzn0;NNZ%TpMCK^9b+zSgc0fvfmZl9&uX(-Qbg&DFmg*DSN*#RnqSJz`RJgJ6-Ee4dTV#&@Ia>d?a?k)Tk{qGN%$GD<_<0nc*6S2d^!zbCX!B-1~oK5((9?unWuTyE5 w*ud}zogB%R@`X3rI2JUJw{vU*M+(6PBFj*NBVAEiC|IO{LfI9U-nK8Hr37p-nv!HfqOlp*>37GajlZDtaJ~0C z-}%mW&$(-ZI4l^Orp}IzEMsixdcG_D?wCT?%2yOos{T%s*h2;pA-adTv zwz$xqswCZ4hMI=5K(E%W?AcetE4xKz-wwanwJVq1##}VS>u%^i1Y+-_lVr?kiA z)1e0WI5{qN?Y?pO+@^v+&Bd^ib&plL7G7^pIhx8%CQ&OntZ_&1vbd+zK&1|?r1OAN zyH?V;x|=*y{SN>Pn~m+Mmh5C$R{nejIY;MS^Q9d)N0O361)UG;DzG9q?!F&Ozac7y zOil&cUJoLt$QEmXPv2@mCff+v)FZ*OpRd>C z`ud(+3qCyslXV|{gr0!X3NunoyDXldSGIqe+{kitKjk&gT1(MPLs9o8tUFQ8XI|n~ zCuaS^x*vIo8Z6+2zM9_vl8snrn-PD5uNb?&15~HQ1 zs08pmLCX={iRhci>EyC?KAsf{TtlmEx~g}9_t3Wz4vMr* zKScCn)C(G|Mi*jijVjR;rUcAdjnFqmtnL$)A1EG%g~6YA zuAWwN(eO5DS$8&!(uNVVBkJH?VUNHTF)jWxp#i^vte8EGXJ=5=0Oq}f9TgA+wy=+F zQJ;Ve>FI!5HcNhLD)K~to;fczoW18gO{_}IdgEJ zJC{2#V7`lgbpQKD>g(w@&zz+}b6_w&vhLn9`MhZnqry2eZz5Ev?{oQgs3&KcOfA%1 d$Pb$N!GSJD-Bw}XV2~-uJj=}f{z5;oe*pJW9^e1~ literal 0 HcmV?d00001 diff --git a/vic20/fwrite.prg b/vic20/fwrite.prg new file mode 100644 index 0000000000000000000000000000000000000000..85623bab1ae810ee2da5515795414e5ff58dbf4d GIT binary patch literal 1668 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 ON=iR{Gt}?*`_Vst0_z|E literal 0 HcmV?d00001 diff --git a/vic20/test20.prg b/vic20/test20.prg new file mode 100644 index 0000000000000000000000000000000000000000..f555472630cdfd866e925defcaccdb4c60e1810f GIT binary patch literal 381 zcmXYtu}T9$5QaByNJ2DZ7NbNPx3RGD0v2hk6*=$?^a=&@3aKoTV3E_Li-HowNVYgJ z*!cu^g>c&1i5!R+R+NbBUCy~PTMWbh&HVc_377#wF8Erhq!B{yk3-tKG{;omWj7%` zGx%#Ll_AdgQz!~LmK>JNEqr_(4p#C`wl!5rRWwu^L2Ya_RL$=a<62$$2H%E3@TlB0 zQ!;JCS8HA*BGCjoP%`rXR5BaBiz19im83TOcK+Amz6rFa${#@Ms^`Cvy070sWUAUh z#DC)1;=Zb@*1I=>xYH$rKnlJCa!yO)Px&EG?bHig&l|fh@}z75o#YUq$)YgR7{;Yd zhOVC$iz#0Mr{HEga&*L(L0@1Fb(7uDopo|DgXd@~8=m=F5GE|3g;~d^neUIsjc=kVG)T~ng literal 0 HcmV?d00001 diff --git a/vic20/testfile.prg b/vic20/testfile.prg new file mode 100644 index 0000000000000000000000000000000000000000..8bf3b24f61529ddf2555e46b7d1b3ed37ae5cf74 GIT binary patch literal 113 zcmZP+P!M2Zn6F@@W1(ZDqZHyA9OCBb