]> git.sesse.net Git - pistorm/commitdiff
Add PiStorm utilities / drivers HDF
authorAndrew Hutchings <andrew@linuxjedi.co.uk>
Wed, 19 May 2021 09:54:27 +0000 (10:54 +0100)
committerAndrew Hutchings <andrew@linuxjedi.co.uk>
Wed, 19 May 2021 12:25:57 +0000 (13:25 +0100)
A small hard drive image that includes all the utilities and drivers for
PiStorm. Along with a shell script to rebuild it.

It is mounted by default using piscsi6 when piscsi is enabled.

This branch also fixes the GUI crash that can happen when an interrupt
fires during a ROM switch.

default.cfg
platforms/amiga/Disk.info [new file with mode: 0644]
platforms/amiga/build_hdf.sh [new file with mode: 0755]
platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiStorm
platforms/amiga/pistorm-dev/pistorm_dev_amiga/create_adf.sh [deleted file]
platforms/amiga/pistorm-dev/pistorm_dev_amiga/create_lha.sh [deleted file]
platforms/amiga/pistorm-dev/pistorm_dev_amiga/gui_interact.c
platforms/amiga/pistorm.hdf [new file with mode: 0644]

index 2505609098b75079793c61dce1a8287b87192248..b8f46a263dbc164dcb4433f455e8d7fe3a61f7dd 100644 (file)
@@ -40,6 +40,8 @@ platform amiga
 # Use setvar piscsi0 through piscsi6 to add up to seven mapped drives to the interface.
 #setvar piscsi0 PI0.hdf
 #setvar piscsi1 PI1.hdf
+# A special disk that includes PiStorm drivers and utilities, comment out if not needed
+setvar piscsi6 platforms/amiga/pistorm.hdf
 # Uncomment this line to enable the (currently non-working) Pi-Net interface.
 #setvar pi-net
 
diff --git a/platforms/amiga/Disk.info b/platforms/amiga/Disk.info
new file mode 100644 (file)
index 0000000..6821ab1
Binary files /dev/null and b/platforms/amiga/Disk.info differ
diff --git a/platforms/amiga/build_hdf.sh b/platforms/amiga/build_hdf.sh
new file mode 100755 (executable)
index 0000000..2460835
--- /dev/null
@@ -0,0 +1,24 @@
+# Requires xdftool from amitools (https://github.com/cnvogelg/amitools/)
+xdftool part.hdf create size=2Mi + format PiStorm ffs
+xdftool part.hdf boot install
+xdftool part.hdf write Disk.info
+xdftool part.hdf write pistorm-dev/pistorm_dev_amiga/PiSimple
+xdftool part.hdf write pistorm-dev/pistorm_dev_amiga/PiStorm
+xdftool part.hdf write pistorm-dev/pistorm_dev_amiga/PiStorm.info
+xdftool part.hdf write pistorm-dev/pistorm_dev_amiga/libs13
+xdftool part.hdf write pistorm-dev/pistorm_dev_amiga/libs20
+xdftool part.hdf write pistorm-dev/pistorm_dev_amiga/libs13.info
+xdftool part.hdf write pistorm-dev/pistorm_dev_amiga/libs20.info
+xdftool part.hdf write pistorm-dev/pistorm_dev_amiga/CopyMems
+xdftool part.hdf write ../../a314/software-amiga a314
+xdftool part.hdf makedir net
+xdftool part.hdf write net/net_driver_amiga/pi-net.device net/pi-net.device
+xdftool part.hdf makedir scsi
+xdftool part.hdf write piscsi/device_driver_amiga/pi-scsi.device scsi/pi-scsi.device
+xdftool part.hdf makedir rtg
+xdftool part.hdf write rtg/rtg_driver_amiga/pigfx020.card rtg/pigfx020.card
+xdftool part.hdf write rtg/rtg_driver_amiga/pigfx030.card rtg/pigfx030.card
+rm pistorm.hdf
+rdbtool pistorm.hdf create size=2.5Mi + init
+rdbtool pistorm.hdf addimg part.hdf name=DH99
+rm part.hdf
index 9383605111d21aaffe5be4e2d4e0c8da6d40e836..d7c6620b996a45b94e27c328e17a0f4ed652c8cb 100755 (executable)
Binary files a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiStorm and b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiStorm differ
diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/create_adf.sh b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/create_adf.sh
deleted file mode 100755 (executable)
index 77bfcf8..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-# Requires xdftool from amitools (https://github.com/cnvogelg/amitools/)
-xdftool pistorm.adf create
-xdftool pistorm.adf format "PiStorm"
-xdftool pistorm.adf write PiSimple
-xdftool pistorm.adf write PiStorm
-xdftool pistorm.adf write PiStorm.info
-xdftool pistorm.adf write libs13
-xdftool pistorm.adf write libs20
-xdftool pistorm.adf write libs13.info
-xdftool pistorm.adf write libs20.info
-xdftool pistorm.adf write CopyMems
diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/create_lha.sh b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/create_lha.sh
deleted file mode 100755 (executable)
index 384bb6c..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# Requires patool (in Debian / Ubuntu repos) and lha from https://github.com/jca02266/lha
-tar -cvf pistorm.tar --transform 's,^,PiStorm/,' PiSimple PiStorm PiStorm.info libs13 libs13.info libs20 libs20.info CopyMems
-patool repack pistorm.tar pistorm.lha
-rm pistorm.tar
index 3a6f1f10a9acef231c85422da3e62156ab503e32..6ade85762fb3cf36b63f71833fc95c44b86f677e 100644 (file)
@@ -19,7 +19,7 @@
 extern unsigned int pistorm_base_addr;
 struct ReqToolsBase *ReqToolsBase;
 
-#define VERSION "v0.3.2"
+#define VERSION "v0.3.3"
 
 #define button1w 54
 #define button1h 11
@@ -33,6 +33,9 @@ struct ReqToolsBase *ReqToolsBase;
 #define tbox1w 130
 #define tbox1h 10
 
+#define tbox2w 132
+#define tbox2h 12
+
 #define statusbarw 507
 #define statusbarh 10
 
@@ -80,11 +83,11 @@ SHORT SharedBordersPairs8[] =
 
 SHORT SharedBordersPairs9[] =
 {
-    0, 0, 0, tbox1h - 1, 1, tbox1h - 2, 1, 0, tbox1w - 2, 0
+    0, 0, 0, tbox2h - 1, 1, tbox2h - 2, 1, 0, tbox2w - 2, 0
 };
 SHORT SharedBordersPairs10[] =
 {
-    1, tbox1h - 1, tbox1w - 2, tbox1h - 1, tbox1w - 2, 1, tbox1w - 1, 0, tbox1w - 1, tbox1h - 1
+    1, tbox2h - 1, tbox2w - 2, tbox2h - 1, tbox2w - 2, 1, tbox2w - 1, 0, tbox2w - 1, tbox2h - 1
 };
 
 
@@ -124,7 +127,7 @@ struct IntuiText KickstartCommit_text =
 
 struct Gadget KickstartCommit =
 {
-    NULL, 406, 49, button1w, button1h,
+    NULL, 401, 49, button1w, button1h,
     GADGHIMAGE,
     RELVERIFY,
     BOOLGADGET,
@@ -179,7 +182,7 @@ UBYTE DestinationValue_buf[255];
 
 struct IntuiText Destination_text[] =
 {
-    1, 0, JAM2, -97, 1, NULL, "Destination:", &Destination_text[1],
+    1, 0, JAM2, -98, 1, NULL, "Destination:", &Destination_text[1],
     1, 0, JAM2, 1, 1, NULL, DestinationValue_buf, NULL,
 };
 
@@ -187,7 +190,7 @@ struct IntuiText Destination_text[] =
 
 struct Gadget GetDestination =
 {
-    &ShutdownButton, 106, 105, tbox1w, tbox1h,
+    &ShutdownButton, 107, 105, tbox2w, tbox2h,
     GADGHIMAGE,
     RELVERIFY,
     BOOLGADGET,
@@ -241,7 +244,7 @@ struct IntuiText RetrieveButton_text =
 
 struct Gadget RetrieveButton =
 {
-    &StatusBar, 244, 105, button2w, button2h,
+    &StatusBar, 244, 99, button2w, button2h,
     GADGHIMAGE,
     RELVERIFY,
     BOOLGADGET,
@@ -344,7 +347,7 @@ struct IntuiText RTGStatus_text =
 
 struct Gadget RTGStatus =
 {
-    &ConfigFile, 14, 15, tbox1w, tbox1h,
+    &ConfigFile, 10, 15, tbox1w, tbox1h,
     GADGHIMAGE,
     0,
     BOOLGADGET,
@@ -363,7 +366,7 @@ struct IntuiText RTG_text =
 
 struct Gadget RTGButton =
 {
-    &RTGStatus, 150, 14, button3w, button3h,
+    &RTGStatus, 144, 14, button3w, button3h,
     GADGHIMAGE,
     RELVERIFY,
     BOOLGADGET,
@@ -606,6 +609,7 @@ int main()
                             {
                                 break;
                             }
+                            Disable();
                             unsigned short ret = pi_handle_config(PICFG_LOAD, ConfigFileValue_buf);
                             if (ret == PI_RES_FILENOTFOUND)
                             {
@@ -726,6 +730,7 @@ int main()
                             {
                                 break;
                             }
+                            Disable();
                             unsigned short ret = pi_remap_kickrom(KickstartFileValue_buf);
                             if (ret == PI_RES_FILENOTFOUND)
                             {
diff --git a/platforms/amiga/pistorm.hdf b/platforms/amiga/pistorm.hdf
new file mode 100644 (file)
index 0000000..aae282e
Binary files /dev/null and b/platforms/amiga/pistorm.hdf differ