mirror of
https://github.com/holub/mame
synced 2025-07-01 00:09:18 +03:00
digilog320: Floppy works now, fix size and hookup NVRAM, add softwarelist
This commit is contained in:
parent
9ba6911334
commit
1921ebbfa9
50
hash/digilog320.xml
Normal file
50
hash/digilog320.xml
Normal file
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||
|
||||
<!-- license:CC0 -->
|
||||
|
||||
<softwarelist name="digilog320" description="Digilog 320 Disks">
|
||||
|
||||
<!--
|
||||
Marked bad because it contains extra files not present on the original disk:
|
||||
- RSDL O
|
||||
- RSDL S
|
||||
- RSDLDAT C
|
||||
- RSDL R
|
||||
-->
|
||||
<software name="320ez">
|
||||
<description>320 E-Z Menu</description>
|
||||
<year>198?</year>
|
||||
<publisher>Digilog</publisher>
|
||||
<info name="pn" value="24-0199-01 REV A" />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 1"/>
|
||||
<dataarea name="flop" size="139291">
|
||||
<rom name="320_ez-menu.imd" size="139291" crc="b6783cd6" sha1="8b289dc0ea47d196db0c37d6e524f7b00609893a" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Extra files have been removed from the disk, so the instructions labeled on the disk can
|
||||
be followed again:
|
||||
|
||||
STEP 1: Init. device BUILT-IN EEPROM.
|
||||
STEP 2: Delete STANDARD Set-Up.
|
||||
STEP 3: Copy ALL files from floppy to BUILT-IN.
|
||||
STEP 4: Return to FUNC. MENU, set power up to AUTOEXEC.
|
||||
-->
|
||||
<software name="320ezr">
|
||||
<description>320 E-Z Menu (Restored)</description>
|
||||
<year>198?</year>
|
||||
<publisher>Digilog</publisher>
|
||||
<info name="pn" value="24-0199-01 REV A" />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 1"/>
|
||||
<dataarea name="flop" size="2002527">
|
||||
<rom name="320_ez-menu_restored.mfm" size="2002527" crc="67f4759f" sha1="96045b94f1b85864985370daecbd69d79b7a1a42" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</softwarelist>
|
@ -60,12 +60,14 @@
|
||||
#include "machine/digilog320_kbd.h"
|
||||
#include "machine/i8251.h"
|
||||
#include "machine/mc68681.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/wd_fdc.h"
|
||||
#include "machine/z80scc.h"
|
||||
#include "video/mc6845.h"
|
||||
#include "imagedev/floppy.h"
|
||||
#include "emupal.h"
|
||||
#include "screen.h"
|
||||
#include "softlist_dev.h"
|
||||
|
||||
|
||||
namespace {
|
||||
@ -143,7 +145,7 @@ void digilog320_state::main_mem_map(address_map &map)
|
||||
{
|
||||
map(0x00000, 0x1ffff).ram();
|
||||
map(0x80000, 0x83fff).ram().share("vram");
|
||||
map(0x90000, 0x90fff).ram();
|
||||
map(0x90000, 0x91fff).ram().share("nvram");
|
||||
map(0xa0000, 0xfffff).rom().region("maincpu", 0);
|
||||
}
|
||||
|
||||
@ -249,15 +251,24 @@ void digilog320_state::fdc_w(offs_t offset, uint8_t data)
|
||||
|
||||
void digilog320_state::fdc_ctrl_w(uint8_t data)
|
||||
{
|
||||
// 7654---- unknown (not used?)
|
||||
// ----3--- unknown (motor on?)
|
||||
// -----2-- side select
|
||||
// ------10 unknown (drive select?)
|
||||
|
||||
logerror("fdc_ctrl_w: %02x\n", data);
|
||||
|
||||
floppy_image_device *floppy = m_floppy->get_device();
|
||||
|
||||
m_fdc->set_floppy(floppy);
|
||||
|
||||
// motor always on for now
|
||||
if (floppy)
|
||||
{
|
||||
floppy->ss_w(BIT(data, 2));
|
||||
|
||||
// motor always on for now
|
||||
floppy->mon_w(0);
|
||||
}
|
||||
|
||||
// set to mfm
|
||||
m_fdc->dden_w(0);
|
||||
@ -351,6 +362,8 @@ void digilog320_state::digilog320(machine_config &config)
|
||||
m_subcpu->set_addrmap(AS_IO, &digilog320_state::sub_io_map);
|
||||
m_subcpu->set_irq_acknowledge_callback(m_uic, FUNC(am9519_device::iack_cb));
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
AM9519(config, m_uic, 0);
|
||||
m_uic->out_int_callback().set_inputline(m_subcpu, INPUT_LINE_IRQ0);
|
||||
|
||||
@ -381,9 +394,11 @@ void digilog320_state::digilog320(machine_config &config)
|
||||
|
||||
MB8877(config, m_fdc, 16_MHz_XTAL / 16);
|
||||
m_fdc->intrq_wr_callback().set(m_maincpu, FUNC(i80186_cpu_device::int3_w));
|
||||
//m_fdc->drq_wr_callback()
|
||||
m_fdc->drq_wr_callback().set(m_maincpu, FUNC(i80186_cpu_device::drq1_w));
|
||||
FLOPPY_CONNECTOR(config, "fdc:0", digilog320_floppies, "35dd", floppy_image_device::default_mfm_floppy_formats);
|
||||
|
||||
SOFTWARE_LIST(config, "floppy_list").set_original("digilog320");
|
||||
|
||||
digilog320_kbd_hle_device &kbd(DIGILOG320_KBD_HLE(config, "kbd"));
|
||||
kbd.tx_handler().set(m_duart, FUNC(scn2681_device::rx_a_w));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user