apxen: Default eeprom, fix floppy change detection, initial software list

This commit is contained in:
Dirk Best 2021-08-23 13:07:58 +02:00
parent f21ffcf4eb
commit ae27063680
2 changed files with 58 additions and 3 deletions

46
hash/apxen_flop.xml Normal file
View file

@ -0,0 +1,46 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
license:CC0
-->
<softwarelist name="apxen_flop" description="ACT Apricot XEN floppy disks">
<!-- MS-DOS 3.2 / BIOS 1.9.0 -->
<!-- Unknown if this is anything official -->
<software name="xenboot">
<description>XEN Boot Disk MS-DOS 3.2 BIOS 1.9.0 and Utilities</description>
<year>1987</year>
<publisher>ACT</publisher>
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="668733">
<rom name="xenboot.dsk" size="668733" crc="d4333892" sha1="296ef0a4af096834a5d7d71eb1378786d3e1ed4a"/>
</dataarea>
</part>
</software>
<!-- Unknown if this is anything official -->
<software name="diag">
<description>Various Diags, XEEROM</description>
<year>1986</year>
<publisher>ACT</publisher>
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="705879">
<rom name="diag.dsk" size="705879" crc="9d48118f" sha1="2ba690bcc443fd1b02d5eb3017ea12d6172c6985"/>
</dataarea>
</part>
</software>
<!-- Copy protection on XEEROM.COM removed -->
<software name="diag_cr">
<description>Various Diags, XEEROM (cracked)</description>
<year>1986</year>
<publisher>ACT</publisher>
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="705879">
<rom name="diag.dsk" size="705879" crc="e3a6ed93" sha1="9bff5f338c321c29416c89c1680cf69dccb58856"/>
</dataarea>
</part>
</software>
</softwarelist>

View file

@ -15,9 +15,12 @@
TODO:
- Boot ROM disable, wrap around mode
- Floppy
- DMA
* FDC is slightly too slow (or CPU too fast), causing Error 28 on boot
can be fixed by setting delay_register_commit to 12 in wd_fdc.cpp
* Issues accessing the second drive
- DMA (verify, seems to fast)
- Harddisk
- Keyboard
- XEN keyboard (currently using the Apricot Xi keyboard)
- RS232
- Printer
- Colour graphics board
@ -391,7 +394,7 @@ uint8_t apxen_state::cio_porta_r()
{
uint8_t data = 0x00;
data |= m_cur_floppy ? m_cur_floppy->dskchg_r() : 0;
data |= m_cur_floppy ? (m_cur_floppy->dskchg_r() << 3) : 0;
logerror("cio_porta_r: %02x\n", data);
@ -530,6 +533,8 @@ void apxen_state::apxen(machine_config &config)
FLOPPY_CONNECTOR(config, "fdc:0", apricot_floppies, "d32w", apxen_state::floppy_formats);
FLOPPY_CONNECTOR(config, "fdc:1", apricot_floppies, "d32w", apxen_state::floppy_formats);
SOFTWARE_LIST(config, "flop_list").set_original("apxen_flop");
// video hardware
APRICOT_VIDEO_SLOT(config, m_video, apricot_video_cards, "mono");
m_video->apvid_handler().set(FUNC(apxen_state::apvid_w));
@ -554,6 +559,10 @@ ROM_START( apxen )
// HI-XEN 3.1.3 9BF0 (checksum matches)
ROM_LOAD16_BYTE("hi-xen_313.ic37", 0x0001, 0x8000, CRC(72ee2f09) SHA1(da11043d40a694802f6d3d27a4359067dd19c8e6))
// default eeprom configured with 2 floppy drives and serial no. 123456
ROM_REGION16_LE(0x20, "eeprom", 0)
ROM_LOAD("eeprom.nv", 0x00, 0x20, CRC(c26d455e) SHA1(ff2d7af6ca21b2fba4c5a9e90926b5049a9fdc86))
// should probably be moved elsewhere
ROM_REGION(0x2000, "hdd", 0)
ROM_LOAD("rodime_ro3055.bin", 0x0000, 0x2000, CRC(61d1544a) SHA1(2177a4c6409c0ee3d3e3e6c659085adf236f8726))