mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
skeleton atari 400/800 floppy list. (1 entry)
note, currently only supports .atr format due to image.filetype() not returning anything useful when softlist is used (thanks to micko for advice on various things) (no credit wanted, this is just to address the 'where is jumpman' thing that was posted on MW and give a softlist entry for regtests on this code)
This commit is contained in:
parent
9c8f5a5872
commit
ed33e5adf9
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -19,6 +19,7 @@ hash/a5200.hsi svneol=native#text/plain
|
||||
hash/a5200.xml svneol=native#text/xml
|
||||
hash/a7800.xml svneol=native#text/xml
|
||||
hash/a800.xml svneol=native#text/xml
|
||||
hash/a800_flop.xml svneol=native#text/plain
|
||||
hash/abc1600.xml svneol=native#text/xml
|
||||
hash/abc80.xml svneol=native#text/xml
|
||||
hash/abc800.xml svneol=native#text/xml
|
||||
|
28
hash/a800_flop.xml
Normal file
28
hash/a800_flop.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||
<!--
|
||||
|
||||
Atari 400 / 800 floppies
|
||||
(skeleton list)
|
||||
|
||||
note: many 'original' floppy images are in .atx format, whereas cracked / unprotected ones are .atr format
|
||||
.atx is unsupported, although apparently has been reverse engineered (insert info link here)
|
||||
There are also images in .xex format?
|
||||
|
||||
-->
|
||||
|
||||
<softwarelist name="a800_flop" description="Atari 400 / 800 floppy disks">
|
||||
|
||||
<software name="jumpman">
|
||||
<description>Jumpman</description>
|
||||
<year>1983</year>
|
||||
<publisher>Epyx</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="92176">
|
||||
<rom name="jumpman.atr" size="92176" crc="290a9e56" sha1="96c411a65cfd0b45ac68603021793701d27244b9" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
</softwarelist>
|
@ -171,15 +171,22 @@ static void atari_load_proc(device_image_interface &image)
|
||||
}
|
||||
|
||||
size = image.fread(fdc->drv[id].image, MAXSIZE);
|
||||
|
||||
if( size <= 0 )
|
||||
{
|
||||
fdc->drv[id].image = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/* re allocate the buffer; we don't want to be too lazy ;) */
|
||||
//fdc->drv[id].image = (UINT8*)image.image_realloc(fdc->drv[id].image, size);
|
||||
|
||||
ext = image.filetype();
|
||||
|
||||
// hack alert, this means we can only load ATR via the softlist at the moment, image.filetype reutrns NULL :/
|
||||
if (!image.software_entry() == NULL) ext="ATR";
|
||||
|
||||
/* no extension: assume XFD format (no header) */
|
||||
if (!ext)
|
||||
{
|
||||
@ -220,6 +227,7 @@ static void atari_load_proc(device_image_interface &image)
|
||||
fdc->drv[id].header_skip = 0;
|
||||
}
|
||||
|
||||
|
||||
switch (fdc->drv[id].type)
|
||||
{
|
||||
/* XFD or unknown format: find a matching size from the table */
|
||||
@ -243,7 +251,6 @@ static void atari_load_proc(device_image_interface &image)
|
||||
case FORMAT_ATR:
|
||||
{
|
||||
int s;
|
||||
|
||||
fdc->drv[id].bseclen = 128;
|
||||
/* get sectors from ATR header */
|
||||
s = (size - 16) / 128;
|
||||
@ -781,12 +788,13 @@ static const floppy_interface atari_floppy_interface =
|
||||
DEVCB_NULL,
|
||||
FLOPPY_STANDARD_5_25_DSHD,
|
||||
LEGACY_FLOPPY_OPTIONS_NAME(atari_only),
|
||||
NULL,
|
||||
"floppy_5_25",
|
||||
NULL
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( atari_fdc )
|
||||
MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(atari_floppy_interface)
|
||||
MCFG_SOFTWARE_LIST_ADD("flop_list","a800_flop")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
device_t *atari_floppy_get_device_child(device_t *device,int drive)
|
||||
|
Loading…
Reference in New Issue
Block a user