From: Andrew Hutchings Date: Wed, 19 May 2021 09:54:27 +0000 (+0100) Subject: Add PiStorm utilities / drivers HDF X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=babecbe1690ef5945a43b11e173cdd0d44fe04e1;p=pistorm Add PiStorm utilities / drivers HDF 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. --- diff --git a/default.cfg b/default.cfg index 2505609..b8f46a2 100644 --- a/default.cfg +++ b/default.cfg @@ -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 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 index 0000000..2460835 --- /dev/null +++ b/platforms/amiga/build_hdf.sh @@ -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 diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiStorm b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiStorm index 9383605..d7c6620 100755 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 index 77bfcf8..0000000 --- a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/create_adf.sh +++ /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 index 384bb6c..0000000 --- a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/create_lha.sh +++ /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 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 3a6f1f1..6ade857 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.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 index 0000000..aae282e Binary files /dev/null and b/platforms/amiga/pistorm.hdf differ