Skip to content

Commit dbe9480

Browse files
committed
SF7: Support Sega SF-7000 *.SF7 images
1 parent df0d5e5 commit dbe9480

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/image/image.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ extern const struct image_handler adf_image_handler;
1515
extern const struct image_handler atr_image_handler;
1616
extern const struct image_handler hfe_image_handler;
1717
extern const struct image_handler img_image_handler;
18+
extern const struct image_handler sf7_image_handler;
1819
extern const struct image_handler st_image_handler;
1920
extern const struct image_handler d81_image_handler;
2021
extern const struct image_handler dsk_image_handler;
@@ -45,6 +46,7 @@ const struct image_type image_type[] = {
4546
{ "img", &img_image_handler },
4647
{ "ima", &img_image_handler },
4748
{ "out", &img_image_handler },
49+
{ "sf7", &sf7_image_handler },
4850
{ "st", &st_image_handler },
4951
{ "adl", &adfs_image_handler },
5052
{ "adm", &adfs_image_handler },

src/image/img.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,9 @@ const static struct raw_type {
162162
{ 8, _S(2), _IAM, 116, 1, 3, 1, 0, 0, 0, _C(80), _R(360) }, /* HD 360RPM */
163163
{ 8, _S(2), _IAM, 57, 1, 2, 1, 0, 0, 0, _C(80), _R(360) }, /* DD 360RPM */
164164
{ 0 }
165+
}, sf7_type[] = {
166+
{ 16, _S(1), _IAM, 42, 1, 1, 1, 0, 0, 0, _C(40), _R(300) }, /* 160kB */
167+
{ 0 }
165168
}, uknc_type[] = {
166169
{ 10, _S(2), 0, 38, 1, 2, 1, 0, 0, 0, _C(80), _R(300) },
167170
{ 0 }
@@ -723,6 +726,11 @@ static bool_t d81_open(struct image *im)
723726
return raw_type_open(im, d81_type);
724727
}
725728

729+
static bool_t sf7_open(struct image *im)
730+
{
731+
return raw_type_open(im, sf7_type);
732+
}
733+
726734
static bool_t st_open(struct image *im)
727735
{
728736
const struct raw_type *in;
@@ -1512,6 +1520,14 @@ const struct image_handler d81_image_handler = {
15121520
.write_track = raw_write_track,
15131521
};
15141522

1523+
const struct image_handler sf7_image_handler = {
1524+
.open = sf7_open,
1525+
.setup_track = raw_setup_track,
1526+
.read_track = raw_read_track,
1527+
.rdata_flux = bc_rdata_flux,
1528+
.write_track = raw_write_track,
1529+
};
1530+
15151531
const struct image_handler st_image_handler = {
15161532
.open = st_open,
15171533
.setup_track = raw_setup_track,

0 commit comments

Comments
 (0)