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.
This commit is contained in:
Andrew Hutchings
2021-05-19 10:54:27 +01:00
parent e5f16ea243
commit babecbe169
8 changed files with 40 additions and 24 deletions

View 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

BIN
platforms/amiga/Disk.info Normal file

Binary file not shown.

24
platforms/amiga/build_hdf.sh Executable file
View File

@@ -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

View File

@@ -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

View File

@@ -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

View 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)
{

BIN
platforms/amiga/pistorm.hdf Normal file

Binary file not shown.