From 007b35ae52d617b947dd5522f1797ef49e2da9b7 Mon Sep 17 00:00:00 2001 From: Andrew Hutchings Date: Sat, 1 May 2021 07:48:42 +0100 Subject: [PATCH] Cleanup warnings and LinuxJedi's docs This branch: * Adds information on modifying the systemd script provided in boot_scripts * Adds documentation for the newest options on the PiStorm gui * Fixes a memory leak and a potential crash on alloc failure for the gui * Minor text changes in the gui * Fixes minor compiler warnings for the PiSimple CLI (both for GCC and VBCC) --- boot_scripts/README.md | 48 +++++++++++++++++- .../pistorm-dev/pistorm_dev_amiga/PiSimple | Bin 17308 -> 14572 bytes .../pistorm-dev/pistorm_dev_amiga/PiStorm | Bin 15552 -> 15772 bytes .../pistorm-dev/pistorm_dev_amiga/README.md | 12 ++++- .../pistorm-dev/pistorm_dev_amiga/build.sh | 0 .../pistorm_dev_amiga/gui_interact.c | 10 +++- .../pistorm_dev_amiga/pistorm_dev.c | 6 +-- .../pistorm_dev_amiga/simple_interact.c | 6 +-- 8 files changed, 70 insertions(+), 12 deletions(-) mode change 100644 => 100755 platforms/amiga/pistorm-dev/pistorm_dev_amiga/build.sh diff --git a/boot_scripts/README.md b/boot_scripts/README.md index 9156a82..e12a598 100644 --- a/boot_scripts/README.md +++ b/boot_scripts/README.md @@ -2,13 +2,59 @@ ## Bootup script +For your convience a startup script for systemd in Linux is located in this directory. This script will start PiStorm *before* the network connections have started. + +### Installation + To start PiStorm on automatically on boot, copy `pistorm.service` into /etc/systemd/system/ in your Pi's filesystem. Then run: ```bash sudo systemctl enable pistorm ``` +### Customisation + +There are some things you may want to change in the systemd script. These instructions will help with that. + +#### Custom config + +If you wish to boot using a custom configuration file change `ExecStart` to: + +```ini +ExecStart=/home/pi/pistorm/emulator --config-file myconfig.cfg +``` + +Where `myconfig.cfg` is your config file in the `pistorm` directory. If your config file is somewhere else you will need to put the full path for it there. + +**NOTE:** do not put an '=' between `--config-file` and the file name, this will not work. + +#### Different location + +You may want to run your PiStorm from a different location than `/home/pi/pistorm` this is fine, but it is important that the files that come with the emulator stay together in the same directory structure. For example, if you moved pistorm to `/opt/pistorm` you will need to change the following two lines: + +```ini +ExecStart=/opt/pistorm/emulator +WorkingDirectory=/opt/pistorm +``` + +It is important both lines are changed otherwise this can cause issues, particularly crashes. + +#### Startup order -This script will start PiStorm *before* the network connections have started. +If, for example, your PiStorm configuration depends on something like Samba running for PiScsi you will want to change the startup order so the PiStorm waits for that to run. In the `[Unit]` second add something like the following example: + +```ini +After=network.target samba.service +``` + +Please see the systemd documentation for more informatino on this. + +### Applying changes + +If you have made any changes to the `pistorm.service` file *after* it has been copied over you will need to reload the systemd configuration for the changes to be seen. This can be done with: + +```bash +sudo systemctl daemon-reload +``` ## Faster boot diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiSimple b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiSimple index 0d413a9e39a01144e90acb063f55caaea26b5558..f3c265dd281a004ae08c24e395784c23a008ca2b 100755 GIT binary patch literal 14572 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 Wc!jz_tR50-T41xu>Ujw diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiStorm b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiStorm index 4150c041b279b8f85832e9b8e3a4ccc66b2f04dc..d195961f73483f192bedf6e55f090a9418112e3a 100755 GIT binary patch delta 3098 zcmZXW4``F=9mjuflBQ`Adu=YMX)o&AKPGKb`bN!pRk|9hNbtP2csB@ISgO6)y3A%? zJ-k}hauX?1Mt5(Ko0LOFxsyYjyLjLZ8AY7P5E(^8q}+8Pj*YS#MZ8<*>^@IYr8^6s z_j%su`90s?pXYhHl=2qKhZJ)LO0o$aRDq6FBVEebC8xF&nA8YRTR{Xn1(xrw=y?bI=Np_^#QdMeI zVo=g>IB)6A3btjbp!ro%m4A7;=&oePo^JwbYOMWO`_Ij}qBk|K*=XCPw#d?SzuZks8F@A6Dy#f%%x5yO#B)`3l`kXBKOenxo`FY5!tDY4Gx z!?`kjRb**NJw@9Vmw4Ki)l!zM7=>`_RSt{yJ3CnMIoVubdu{YTNvL`R3Wp(lkClne z4tKv;QK(pU+Jn=c7f#Dq)r-Pm6o!>V7iZ$QSd>BdUf#j(w%_He5;q)5-V#uA^?GN= zr6IAVmrqgAMr89_m(NAXdJIG2%C>ygh|A4n#|zsqwqZ5%+}83)DR-^h(V}PF^6xYf zchuCf(+p+u?~WhZx|~ZDLRAGJW%YmSTUj4u{X;eHiJ3>8o3vT;Q|G2tb0oNAtWx8? z0rQcw*0{2AM4gnBuJkMc_0$51LEG7t7G|@n;q43~>aff`-)Q;|xpb=vvDvy<)unuh zSE;Ow&6eqw@8*f^shao13b7F5WmnU%C-#zg9P<06vc{* zC^x$0`#I_#KUAmet;?523!t|L`xe^H7rNe*Ph_HyfpsANvCG)KDs z*pZ%U5z|)MX=~abl1rAJuxiuho$>}PYd$Mqr}dg^J)5-o++NQwtykC>c%FJiJ z{aVJ{SFzUO_nLzh-E8!1#SU%6)K~Yaq0_7XqxG1l{3o<-(^9#E=dQ{h^PE)u++5|C zR+gVxV`$mjjWu?QlDxfcmuf2XxN4I6M%9ezG1XivygkwL&evA=zm}{KYJIK7s?w>M zsTW&Z7vNQ&A3&FcuPvUR7UT286reDhResSw1H7z1~bO!&9^L5+nMs!Dh zB(`D%3(fJDfMjhDb7WLfojm_46%*-_WC|A_bZXN!ki2XJP2@}Uz zxDH>7IPZ$M>`)H}Sh!ZC#3NEvK|9C%8T!=7$((Bv$j@~L9`ga&!4hxz8zBiF z19>~qbXUQI$gulUI@kDBVR890t`Ckpd%4OnAP66075iWiW<^%(a9YH_8BU2*T3{Ct zL?wZ(A+R+!MAng%UI94P#{eJt6RLuK^{;@83fKq7VL_y^i*!ptqbhaK2?T6ssCX+`qgjGR2|<-CQh_!qg`PV-%;N#Z zQ&_T4EKo*sn6?H10`RS=HX&DG3_l) zNE8Snf_Mbs$QVokwvjt9PtnnB)S(jyv~d))7SkQA9p)0NV`Z(NnS`%7QJ9sGv$F<{ z!fE&fF2OY1fCun|P4NKvxwir?SFNQ!Bm6%InM_)kMv!vA6l&l)WBZz4zULzJtdy-2;6`4(ab@Gkr(ieXpsh$^7g3K6Co@ z4lQApZ9eFG2lZ)<`@Qrhb;;FVdBz;wyp8|fZ}L28I^H;_jpZ_LY}2$!^Fs4BZOWW) geoMQM+q%VXwfj^`&1SO2D7ncAMy_$l9B+yK55;%4^Z)<= delta 2885 zcmZXW4@jKn9mjv~z2|w}oyIeIp5|gtWA5}W_}+{$MohdUQVwhNNHP&8 z9oB>>SqV}?$@&DbMS=vOrHm}?Wnn8NNZ5jmQbGtKA*7*5mO)6u2(3%9WuM2hoo$8B z`#$gU{C?lxpXYhsbNcAqo2Pva*K-jm{e7U^=6e2d(=SaUsbr%vE5Y^&1xT9msn*{N6p8wBcFurMCBzJny zkuFY&<5W7d_lYb1!*%fw_U(S+7*V$!8@vtDLSk)JLgLmjk^Gc$$5324kbn%hq5WP9uq_23F6uVmPg;s307b4muF4n7i=Gv*r3z$@cfy&oV(4&a$z?i4lntHfcHaY)MnBMV`+M%R*w#lC;Duxp`;YlEi3E@2chOx0cA)r2MS( ztga;1ta#8Ix11{lIk8D*Q_o2gf1WzpgXOC!S0P*VJ=r45lDMAn&RB7o@9Fx^wjA5?wYIjq zT6*o?z8FexjobC-sNmARC4e_;z4F#66kSSoJuQP1gJ>F>2n`DV?pOxaQ~Eg&l!7#`q6 zw)OnrM4Af(U&sc}ROFW%Dp8QIi*)`bbEe>^X}qNhi)xJq)m-#~u|@S3Z8a`r-YNQ> zY1mbfFJvpZp_+X^Gh%AeS79q%RF{1H?6bdguhFLZN{95+)zYU%jk@ALYHU`!%Jyf=Z{rX1BXvo+q95yZK3cjds`+{+OI}@zexA|a$zWq1*RA0Fgyti_A zL!e4%|CK6JS5Y-tBSE7oSC2OZ)KcZJ5y%{8R7v2_m;a#{X5)42RPQs^ve&s$OnaW!-CY3mDiilKWRE={r6@+*W z#h?M2fJ#DfpqfwuIsp670l381{xjhh1q`}U4Xovi!Xtj9&~h$PH9mRg;0wA&fo^O( z&0|~;5S+vYh1?EtucC!17)KxtbjL$t9=hT#0IG7IhH1L>NMt>8>zP~M2giY~tiM4Q zoxprCNf%>ZJPQ}#3f!im2PV0Vz%JxrmbXL^ z0U&R8H@pJpfm+-PfVPKi_avc*<3-*MI__XT*T&pE#$Pk`vE%OmzFvI2w-m^qNn++d8I&ge zA6d7O0&1Zm-F-V-;j1kxAF@vDpf*sf!Iiw-qib|F&JW!h5Pm-yW-}ZTtDy z-`^I?O&;9;`tXrosaWG-6$|C7>BcU@qwY7pTH@#9HfQkWKL4A3ef6I=rUtgR@{jH; z*MwTy{;HA8B$`?cBc&#Gv>HQde#gs3I^%2hn~vfeq&}q@c3OGtik6GsQipfO{s%Y& Bgu(y- diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/README.md b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/README.md index 7eb507f..de07a50 100644 --- a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/README.md +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/README.md @@ -1,4 +1,4 @@ -# PiStorm Interaction Tool +# PiStorm Interaction Tools ## Cross-Compiling @@ -35,3 +35,13 @@ You can copy a file from the PiStorm to the Amiga. First of all, type in the fil ### Reboot Reboots the Amiga (not PiStorm). + +### Kickstart file + +This will let you choose a Kickstart ROM file on the Pi to boot from. As with Config gile, you can type the name of the Kickstart ROM file relative to the PiStorm's execution directory and hit "Commit". If the Kickstart ROM file is valie the PiStorm will load it in and the Amiga will immediately reboot. + +**NOTE:** Instead of rebooting the Amiga may crash here. This would be due to an interrupt trying to access an old ROM position in the new ROM file before the reboot could execute. You can resolve this by manually doing a Ctrl-A-A reboot. + +### Shutdown Pi + +When pressing this button and confirming, the Pi will safely shutdown the underlying Linux OS. When this happens the Amiga will essentially hang as it will be as if the CPU has been removed. There will be no indication that the Pi shutdown has completed so it is probably wise to wait 10-15 seconds before removing power if this option is used. diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/build.sh b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/build.sh old mode 100644 new mode 100755 diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/gui_interact.c b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/gui_interact.c index 789f4d8..6ceff07 100644 --- a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/gui_interact.c +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/gui_interact.c @@ -19,7 +19,7 @@ extern unsigned int pistorm_base_addr; struct ReqToolsBase *ReqToolsBase; -#define VERSION "v0.3" +#define VERSION "v0.3.1" #define button1w 54 #define button1h 11 @@ -212,7 +212,7 @@ struct Gadget RebootButton = &RebootButton_text, 0, NULL, GADREBOOT, NULL }; -UBYTE StatusBar_buf[128] = "PiStorm..."; +UBYTE StatusBar_buf[128] = "Reticulating splines..."; struct IntuiText StatusBar_text = { @@ -485,9 +485,11 @@ static char *GetSavePath() else { rtEZRequest("Out of memory!", "Oh no!", NULL, NULL); + return NULL; } strncpy(fullpath, (char*)filereq->Dir, 256); + rtFreeRequest((APTR)filereq); return fullpath; } @@ -533,6 +535,10 @@ int main() no_board = TRUE; WriteGadgetText("PiStorm not found", StatusBar_buf, myWindow, &StatusBar); } + else + { + WriteGadgetText("PiStorm found!", StatusBar_buf, myWindow, &StatusBar); + } if (!no_board) { updateRTG(myWindow); diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/pistorm_dev.c b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/pistorm_dev.c index 10cc3fa..e21bdcb 100644 --- a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/pistorm_dev.c +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/pistorm_dev.c @@ -12,8 +12,6 @@ #include #include -#include - #include #include #include @@ -44,8 +42,8 @@ unsigned short short_val; unsigned int pi_find_pistorm() { unsigned int board_addr = 0xFFFFFFFF; - struct ExpansionBase *expansionbase = (struct ExpansionBase *)OpenLibrary("expansion.library", 0L); - + struct ExpansionBase *expansionbase = (struct ExpansionBase *)OpenLibrary((STRPTR)"expansion.library", 0L); + if (expansionbase == NULL) { #ifdef HAS_STDLIB printf("Failed to open expansion.library.\n"); diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/simple_interact.c b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/simple_interact.c index 969cebf..2a07fe8 100644 --- a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/simple_interact.c +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/simple_interact.c @@ -18,8 +18,6 @@ #include #include -#include - #include #include #include @@ -110,7 +108,7 @@ int __stdargs main (int argc, char *argv[]) { if (dest == NULL) { printf ("Failed to allocate memory buffer for file. Aborting file transfer.\n"); } else { - printf ("Found a %d byte file on the Pi side. Eating it.\n", filesize); + printf ("Found a %u byte file on the Pi side. Eating it.\n", filesize); if (pi_transfer_file(argv[2], dest) != PI_RES_OK) { printf ("Something went horribly wrong during the file transfer.\n"); } else { @@ -120,7 +118,7 @@ int __stdargs main (int argc, char *argv[]) { } else { fwrite(dest, filesize, 1, out); fclose(out); - printf ("%d bytes transferred to file %s.\n", filesize, argv[3]); + printf ("%u bytes transferred to file %s.\n", filesize, argv[3]); } } free(dest); -- 2.39.2