From ea3c73ac15a402d04a550f2649a9e2747590db19 Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Fri, 10 Jan 2020 17:25:32 -0800 Subject: [PATCH] 2.0 DP3 release --- README.md | 4 ++-- doc/Version 2.0.md | 21 +++++++++++++++++++-- images/apple/PLASMA2-BLD.PO | Bin 143360 -> 143360 bytes images/apple/PLASMA2-FPSOS.PO | Bin 143360 -> 143360 bytes images/apple/PLASMA2-INET.PO | Bin 143360 -> 143360 bytes images/apple/PLASMA2-SYS.PO | Bin 143360 -> 143360 bytes images/apple/PLASMA2.2mg | Bin 819264 -> 819264 bytes src/toolsrc/plasm.pla | 2 +- src/utilsrc/tftpd.pla | 2 +- src/vmsrc/apple/a1cmd.pla | 2 +- src/vmsrc/apple/cmd.pla | 2 +- src/vmsrc/apple/cmdjit.pla | 2 +- src/vmsrc/apple/sossys.pla | 2 +- src/vmsrc/apple/sossysjit.pla | 2 +- 14 files changed, 28 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 0b38ebf..fae17ef 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# 12/28/2019 PLASMA 2.0 Developer Preview 2 Available! +# 11/10/2020 PLASMA 2.0 Developer Preview 3 Available! [Download and read the Release Notes](https://github.com/dschmenk/PLASMA/releases) -[Change List](https://github.com/dschmenk/PLASMA/blob/master/doc/Version%202.0.md#changes-in-plasma-for-20-dp-2) +[Change List](https://github.com/dschmenk/PLASMA/blob/master/doc/Version%202.0.md#changes-in-plasma-for-20-dp-3) # 4/29/2018 PLASMA 1.2 Available! [Download and read the Release Notes](https://github.com/dschmenk/PLASMA/blob/master/doc/Version%201.2.md) diff --git a/doc/Version 2.0.md b/doc/Version 2.0.md index aadf654..240fc7e 100644 --- a/doc/Version 2.0.md +++ b/doc/Version 2.0.md @@ -1,4 +1,4 @@ -# PLASMA Version 2.0 Developer Preview 2 +# PLASMA Version 2.0 Developer Preview 3 Welcome to PLASMA: the Grand Unifying Platform for the Apple 1, ][, and ///. @@ -75,6 +75,15 @@ PLASMA comes with many library modules used by the tools, demos and sample code. ``` +ED [TEXT FILE] ``` +The file manipulation utilities to copy, delete, rename, create directories, and change file type and aux type remove the need for external programs to do the same. PLASMA can now be installed with the tools included on the PLASMA2-SYS boot floppy. They are: +``` ++COPY [-R] + ++DEL [-R] ++REN ++NEWDIR ++TYPE [NEWTYPE [NEWAUX]] +``` +The ```-R``` option will operate on the directories recursively. Wildcard filenames can be specified with ```'*'``` matching zero or more characters, and ```'?'``` matching any character. ## Compiler Modules @@ -86,7 +95,7 @@ Compiler warnings are enabled with `-W`. The optional optimizer is enabled with ## Demos -There are some demo programs included for your perusal. Check out `ROGUE` for some diversion. You can find the documentation here: https://github.com/dschmenk/PLASMA/blob/master/doc/Rogue%20Instructions.md. A music sequencer to play through a MockingBoard if it is detected, or the built-in speaker if not. A minimal Web server if you have an Uthernet2 card (required). Bug reports appreciated. +There are some demo programs included for your perusal. Check out `ROGUE` for some diversion. You can find the documentation here: https://github.com/dschmenk/PLASMA/blob/master/doc/Rogue%20Instructions.md. A music sequencer to play through a MockingBoard if it is detected, or the built-in speaker if not. A minimal Web server if you have an Uthernet2 card (required). Try `SPIDERS`for some hires shoot'em-up action. Bug reports appreciated. ## Source Code @@ -106,6 +115,14 @@ There is a [YouTube playlist](https://www.youtube.com/playlist?list=PLlPKgUMQbJ7 - The documentation is sparse and incomplete. Yep, could use your help... +# Changes in PLASMA for 2.0 DP 3 + +1. File manipulation utilities fixed for Apple /// SOS vs ProDOS differences + +2. More optimizations for HiRes graphics libraries + +3. Spiders From Mars hires demo game + # Changes in PLASMA for 2.0 DP 2 1. Many file manipulaition utilities (COPY, REName, NEWDIRectory, DELete, CATalog, TYPE) diff --git a/images/apple/PLASMA2-BLD.PO b/images/apple/PLASMA2-BLD.PO index bb8a2fa03c491b4ff9760c9547416de9d2d45b7a..2b2513d17c793bc26a313a498d484b79489e98d9 100644 GIT binary patch delta 57 zcmZp8z|ru4V}mmbua<_9fHK2l1_lsgasZ1Xs>tSfEPtLd8aK~=wSD$0##C1T%t#Tx delta 57 ycmZp8z|ru4V}mmbF9Q%LGdu=S3=ES4SR7GBHqT@E^OVu3dG@RAvtKc$x&i=!whwLq diff --git a/images/apple/PLASMA2-FPSOS.PO b/images/apple/PLASMA2-FPSOS.PO index 4f48e743a4f7ec2d13c351c16c85d3a26463b978..372aff47937394e53d263e5f6c313f75d396414c 100644 GIT binary patch delta 178 zcmZp8z|ru4V}mmbua<_PfHK2l1_lsgasZ1Inn*c|qX~){CI+ow|6n~&zYy1;00t0X z&0*kW_#*~30b$e|7AdS6yOV delta 49 zcmZp8z|ru4V}lP1%N%tp{>=d_{am~ZK%mU<7(_8JY<|O+ZMivo!b;XAzh!=mj{s-J B4%7eu diff --git a/images/apple/PLASMA2-SYS.PO b/images/apple/PLASMA2-SYS.PO index bc5c36f2e383d29472e883a82671a4b118eaf066..dc0b9652fb2b5bab5cdc78891b9fdaf6989206ef 100755 GIT binary patch delta 1607 zcmZXUYiv|S7>4JYbM~;??Pc1t3l`hj%l2$3_ZGQWuB8;Et!cF-@kSugrl|%nfW;MQ zCm=#8t-~7ThtU|Lwc%1qE4x@wFlG}H3@Sk(At8upinR&~iWsPG8=?hI^5lKyn{Q`N zW@fkPg1hO0yQ|zZ^YbQ&aHTmmAwO?|$YI|zF(lyzbHTqAHe8AQuVTCI?OEX(n|Rkc zJWRZy+dAkLSL3kEq~UKEmY!H*9*MP{d#bmRmL*eR&(m2qx)C*}_ax8*J#=x7MZxgA zzAXAUyrS<>Dh+q_1u3KFY@bPiII7zy*3S|31;RNg>P@z^X|IRXof5MX#?CMQg4N9y z$*f3w(YrI+zt0eYce#DcL!EQ(9p&UIUuJ5fB6Cz$I`SSU$!BpbXT2RbW5p2iJk^XFT1n2OlFxpLgg= zW0k?wCc`VYAP*uB8BBf#KMg+vzX1OeeiP13rqWHX%tV$T7n@90!Rz49BX^iy)d4?- z`Xz7`wRo3TCb^hQbul#!J_9-1MY067#V)3w$fF9+CJeTKZF+wmZHbq^!LNfGXi(qL zeY#>C?QYMfWz-p^tu#p9TgK4A4~S80iuN|s#b|#s+0@=b+%;1yuO84wE4^ZMB-iqp zLA|+^%BWa>)k>vSB&D_lrL;E6qEGeQHY&}3kU29%{ZvuyBtx9&@O|sVbvrzC-HOY- z%xMsqsa~!3woyJs^qDrwZ5$AcJIRc%1|6U{h4DxVQy$_f8@x{`s*_B-KUcqko5UsO zOvQ0irErhR<_pyn&Q%e{bGe}&MwTJhaZ_$YUkkTX8}~~Me~V|xBgmsXAiv~Hp5m-g zUFNpB%6*CqOPPjW#^b1jks(JT#~Vp%nvp1Hz#lTw)qEpUEi|%ZDUR_GPzjy_&tkqF zpIr-YfQQiYD!d824w}IZ@CFEDewX3Mx8WZeib^lf>RJtbUqs*8lhCw_)fu z>Kb&=zG$0=FQ-{gVpE^NW-d4EJ16OrD^Yt9+&NJhf=jR&Yz5oVzgy>d`L~gHzBM&2 TSk2hV$7?I{gVCM2d}Z7}m%g9X delta 1583 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 X2kL8fjJk4wTp$m~H%DCs{g?b77txc; delta 5515 zcmZu#4RBP&9p8Ps@8yypJaR_@34}m$m#;Ixff~@zyX5YYz~#f-1w==5P!Z9lqZPqZ z3C|B8B;Y**E(qF*PC;!(+8)D0i-S|Dj@9~+>GTV|wmNOGU_+g;)v+G^zjv2+cl+*U zez*VIx4-|_{&(N*y|Kgd#tzRDbv`e0p;@expUTbDm2r@o~Tp%8sB-T09)Hz`)9l$T1nu(TxJBCVf;J@F&+ zFWr-R5*w**)a?h6vp3`mcV(0&KS7Jp?Khh$4Pi7f!nqk2_io3W=dpd9!|iBJsIxl| zZt4wnq%6=7!ic40Gp^A@9%8UJ9O=s-$(qeHo7>s0ii1q=on;qsNR5*vb@p+IL(#^U`*MB@@ibiZn`SRU^7 zhXdDVh!29Rvw2seuUZmqRW;k!*Pc}*i0%MYOAQw?)jv9ECDsOe`%MR6JbetD|DwQP zn&lO5dF}os@e>zDXuRdp{7OFM6{~vIwf5h5w;5y+m& ztff%gTn1PIn8peL(pK`$n;0y#1;%bvk z=3&n12!ujzSdj=Pv$s(gCYgp;3&PacEz#N!-7PMW;&Y=jT4oso1_k{V=g4wpF=+h7gfmD-@qFp|H7@bBisPvl`bjY2kwDETJ{{~gLD z&V8HJX0<;M%J3j@Gbu%9 z!(r?+&H)*2a)Ch687>B`<#s|Ui!Y199SF6_i;#z{ew0*R5wf4QpR<2w4>>M69NGhq zlIfzhcNf`$@kU05NHsLILu6=gb+Xh!~v%P6M%DouK?cxDjY~?1%v<_0Y?F! z0xklIW+B0Ga+s9i!487dC@EGRfp#3);{++EKzmM3?SQVj zrO0)Sym^TnshJ6aOEZ?+E3n#5$(604V&vK?Lw{s|T@q;nKEWy^>KwcvBcWy{5(WTA z0p1cMoG3wR0T$FM!1K679miDtGss^6zQ%%r1f<#os>(v4S|zlpO@g2q3q48v!XF3TROMhhSGH1&4YW1`1@BQUo(I zom46gXzR%g)kCH$SApD2=BX=5mFgo46hF*hJD?k|4zK~9ZvyUpAa4PA8;p4fq&YI6yC%IN&7UGz>fg1Ahhb+aUiMSC&SZFH`e-;C?}BOQT0IAW)lWU?04{x6v57U*pNEjpaujJjZ{oToJe_G2b zN<6IfVR|0_M{9h9&caZ9ns+;0TO{1^fOcp%J$nm39ZutZWhzF=K|w@=+yR)y&RbJc zn?Afwag+04i~osbI)HhVKE%uxZ00w1_D-?%Hd#XnD&wYOnE9?0E{|3&=B{?u`JN@4Qv;MzRiwMo;V(uOJ5S{lTlX&_Y~u?8`dQlsmD zPzER5b#R$74UB`gKjyqWaLjiv#iQQg4Vup_wyrSs8Y~vu$Y&ugxZqCMZmw0Bs$amG zd&4rxd65E!IcA*s?xt^Q z-c4fLGCqzYB6nYUe=6|Zn)f-e&0`YM3H^{KoX;Xmh;0KVA)P6&#O+R1#1#sx34|6K z1N1Mth!C`bpW*~CbC*LEarX7J_XkWO>@lPeeK5o5Fjq|#^W7q)mqV*Gx100mt{D7N zqcd16CUMd4&kE)#$$DdankTGI+42tWW&VTG_c&9rgA!lz+Ck%gB2NiRz{A`vCPW(G zQqcr^cc8D=h)Mi8xdQ#KG&erxKE!7x&0MX&EmDWcX`c}{LThrFA>CW3gl8l-{6(dG zKQ5Kl^DckPdo@5Tmx8S%&!r%dhuIJa1-ioKE{>#KWF|sYrdO$=a(}|dGe9gafFs2E z0vJfglaSOS5YI%kVBiIgCrN{Lyvn9xZRJAS76C3v zCu(d#{3ZKVZ=PbUPTTVG9<;eh9-oCaFOyx{GMA$V6;;M_Ig SvjGYLMSx;$!Z&ST<^KU9UGzQx diff --git a/src/toolsrc/plasm.pla b/src/toolsrc/plasm.pla index d8feba6..385b197 100755 --- a/src/toolsrc/plasm.pla +++ b/src/toolsrc/plasm.pla @@ -507,7 +507,7 @@ include "toolsrc/parse.pla" // // Look at command line arguments and compile module // -puts("PLASMA Compiler, Version 2.0 DP2\n") +puts("PLASMA Compiler, Version 2.0 DP3\n") arg = argNext(argFirst) if ^arg and ^(arg + 1) == '-' opt = arg + 2 diff --git a/src/utilsrc/tftpd.pla b/src/utilsrc/tftpd.pla index 90a63a4..a4a9c6d 100644 --- a/src/utilsrc/tftpd.pla +++ b/src/utilsrc/tftpd.pla @@ -369,7 +369,7 @@ def volumes#0 next end -puts("TFTP Server Version 2.0 Dev\n") +puts("TFTP Server Version 2.0 DP3\n") if !iNet:initIP() return -1 fin diff --git a/src/vmsrc/apple/a1cmd.pla b/src/vmsrc/apple/a1cmd.pla index 0feef38..5fc97b9 100755 --- a/src/vmsrc/apple/a1cmd.pla +++ b/src/vmsrc/apple/a1cmd.pla @@ -52,7 +52,7 @@ byte perr, refauto // String pool. // byte autorun[] = "AUTORUN" -byte verstr[] = "\nPLASMA DP2" +byte verstr[] = "\nPLASMA DP3" byte freestr[] = "MEM FREE:$" byte errorstr[] = "ERR:$" byte prompt[] = "PLASMA" diff --git a/src/vmsrc/apple/cmd.pla b/src/vmsrc/apple/cmd.pla index 45c50f0..13d0499 100755 --- a/src/vmsrc/apple/cmd.pla +++ b/src/vmsrc/apple/cmd.pla @@ -1383,7 +1383,7 @@ heap = @lastdef // // Print PLASMA version // -prstr("PLASMA 2.0 DP2 64K\n")//; prbyte(version.1); cout('.'); prbyte(version.0); crout +prstr("PLASMA 2.0 DP3 64K\n")//; prbyte(version.1); cout('.'); prbyte(version.0); crout // // Init symbol table. // diff --git a/src/vmsrc/apple/cmdjit.pla b/src/vmsrc/apple/cmdjit.pla index 6f40545..6545556 100755 --- a/src/vmsrc/apple/cmdjit.pla +++ b/src/vmsrc/apple/cmdjit.pla @@ -1460,7 +1460,7 @@ heap = @lastdef // // Print PLASMA version // -prstr("PLASMA 2.0 DP2 128K\n")//; prbyte(version.1); cout('.'); prbyte(version.0); crout +prstr("PLASMA 2.0 DP3 128K\n")//; prbyte(version.1); cout('.'); prbyte(version.0); crout // // Init symbol table. // diff --git a/src/vmsrc/apple/sossys.pla b/src/vmsrc/apple/sossys.pla index 30b0bf2..7a4250e 100755 --- a/src/vmsrc/apple/sossys.pla +++ b/src/vmsrc/apple/sossys.pla @@ -1263,7 +1263,7 @@ cmdlnptr = @cmdln // Print PLASMA version // init_cons -prstr("PLASMA 2.0 DP2\n")//; putb(version.1); putc('.'); putb(version.0); putln +prstr("PLASMA 2.0 DP3\n")//; putb(version.1); putc('.'); putb(version.0); putln prstr("MEM:$"); prword(availheap); crout // // Exec command line parser diff --git a/src/vmsrc/apple/sossysjit.pla b/src/vmsrc/apple/sossysjit.pla index 58d10c9..e2cdbe8 100755 --- a/src/vmsrc/apple/sossysjit.pla +++ b/src/vmsrc/apple/sossysjit.pla @@ -1286,7 +1286,7 @@ cmdlnptr = @cmdln // Print PLASMA version // init_cons -prstr("PLASMA 2.0 DP2 JITC\n")//; putb(version.1); putc('.'); putb(version.0); putln +prstr("PLASMA 2.0 DP3 JITC\n")//; putb(version.1); putc('.'); putb(version.0); putln prstr("MEM:$"); prword(availheap); crout // // Exec command line parser