Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
820ab4f
Handle the command that are encountered before the "Disk Drive Not Re…
cbrunschen Sep 5, 2025
b29103c
Add a layout reproducing the NEC FIP80B5R display used by some Enson…
cbrunschen Sep 5, 2025
92b1509
Some refactoring of the Ensoniq VFX-family panel and VFD display clas…
cbrunschen Sep 5, 2025
91b4797
In each segment SVG, remove an errant quote mark and add an explicit …
cbrunschen Sep 6, 2025
bd67ca7
Move each segment into its own artwork SVG file, and use those in the…
cbrunschen Sep 6, 2025
a138377
Document the numbering of the segments in the NEC FIP80B5R display.
cbrunschen Sep 6, 2025
8fc8eb5
Add documentation and license (CC0) to the NEC FIP80B5R segments.
cbrunschen Sep 6, 2025
70a9f52
Remove a pair of unused variables.
cbrunschen Sep 7, 2025
c2b2bf1
Pass the correct device type.
cbrunschen Sep 7, 2025
29bffb6
Replace the nec_fip80b5r layout with an esq2by40_vfx layout that uses…
cbrunschen Sep 9, 2025
348c21a
Also remove the no-longer--used NEC FIP80B5R segment SVG files.
cbrunschen Sep 9, 2025
d15f331
Remove the web interface, and any dependency on the http server, from…
cbrunschen Sep 11, 2025
2f2e5d2
Remove the last reference to the http server from esqpanel.
cbrunschen Sep 11, 2025
4f72040
esq_external_panel device declaration & definition fixes.
cbrunschen Sep 11, 2025
162c7f2
Include asio.h only in extpanel.cpp, not in extpanel.h
cbrunschen Sep 11, 2025
383ea27
Correct int -> uint16_t iin set_analog_value.
cbrunschen Sep 12, 2025
d1c7bca
527 -> 572 typo (character cell height)
cbrunschen Sep 13, 2025
2aea105
Enable the esqpanel classes to read analog values from the CPU, and s…
cbrunschen Sep 12, 2025
42d0782
Add layouts for the vfx family of keypoards, panel-only for now, nbut…
cbrunschen Sep 15, 2025
d5efffe
add more decorations and labels
cbrunschen Sep 15, 2025
3bca518
printf -> osd_printf_debug
cbrunschen Sep 16, 2025
aee8a75
osd_printf_debug -> logmacro.h + LOG + logerrer
cbrunschen Sep 17, 2025
7d751c4
regenerated VFX family panel layouts, from updated script with mm mea…
cbrunschen Sep 22, 2025
bce89f7
Fix position of VFX 'Multi' Label,
cbrunschen Sep 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 15 additions & 4 deletions src/mame/ensoniq/esq5505.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,8 @@ class esq5505_state : public driver_device
uint16_t lower_r(offs_t offset);
void lower_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);

uint16_t analog_r();
uint16_t adc_r(); // read from the ADC, input selected per m_uart_dio
uint16_t analog_r(offs_t offset, uint16_t mask); // read from analog inoput [offset]
void analog_w(offs_t offset, uint16_t data);

void duart_output(uint8_t data);
Expand Down Expand Up @@ -427,11 +428,16 @@ void esq5505_state::analog_w(offs_t offset, uint16_t data)
m_analog_values[offset] = data;
}

uint16_t esq5505_state::analog_r()
uint16_t esq5505_state::adc_r()
{
return m_analog_values[m_duart_io & 7];
}

uint16_t esq5505_state::analog_r(offs_t offset, uint16_t mask)
{
return m_analog_values[offset & 0x7];
}

void esq5505_state::duart_output(uint8_t data)
{
floppy_image_device *floppy = m_floppy_connector ? m_floppy_connector->get_device() : nullptr;
Expand Down Expand Up @@ -553,6 +559,7 @@ void esq5505_state::vfx(machine_config &config)
ESQPANEL2X40_VFX(config, m_panel);
m_panel->write_tx().set(m_duart, FUNC(mc68681_device::rx_b_w));
m_panel->write_analog().set(FUNC(esq5505_state::analog_w));
m_panel->read_analog().set(FUNC(esq5505_state::analog_r));

MC68681(config, m_duart, 4000000);
m_duart->irq_cb().set_inputline(m_maincpu, M68K_IRQ_3);
Expand Down Expand Up @@ -580,7 +587,7 @@ void esq5505_state::vfx(machine_config &config)
es5505.set_region1("waverom2"); /* Bank 1 */
es5505.set_channels(4); /* channels */
es5505.irq_cb().set_inputline(m_maincpu, M68K_IRQ_1);
es5505.read_port_cb().set(FUNC(esq5505_state::analog_r)); /* ADC */
es5505.read_port_cb().set(FUNC(esq5505_state::adc_r)); /* ADC read */
es5505.add_route(0, "pump", 1.0, 0);
es5505.add_route(1, "pump", 1.0, 1);
es5505.add_route(2, "pump", 1.0, 2);
Expand All @@ -602,6 +609,7 @@ void esq5505_state::eps(machine_config &config)
ESQPANEL1X22(config.replace(), m_panel);
m_panel->write_tx().set(m_duart, FUNC(mc68681_device::rx_b_w));
m_panel->write_analog().set(FUNC(esq5505_state::analog_w));
m_panel->read_analog().set(FUNC(esq5505_state::analog_r));

WD1772(config, m_fdc, 8_MHz_XTAL);
FLOPPY_CONNECTOR(config, m_floppy_connector);
Expand Down Expand Up @@ -643,6 +651,7 @@ void esq5505_state::vfx32(machine_config &config)
ESQPANEL2X40_VFX(config, m_panel);
m_panel->write_tx().set(m_duart, FUNC(mc68681_device::rx_b_w));
m_panel->write_analog().set(FUNC(esq5505_state::analog_w));
m_panel->read_analog().set(FUNC(esq5505_state::analog_r));

MC68681(config, m_duart, 4000000);
m_duart->irq_cb().set_inputline(m_maincpu, M68K_IRQ_3);
Expand Down Expand Up @@ -670,7 +679,7 @@ void esq5505_state::vfx32(machine_config &config)
es5505.set_region1("waverom2"); /* Bank 1 */
es5505.set_channels(4); /* channels */
es5505.irq_cb().set_inputline(m_maincpu, M68K_IRQ_1);
es5505.read_port_cb().set(FUNC(esq5505_state::analog_r)); /* ADC */
es5505.read_port_cb().set(FUNC(esq5505_state::adc_r)); /* ADC read */
es5505.add_route(0, "pump", 1.0, 0);
es5505.add_route(1, "pump", 1.0, 1);
es5505.add_route(2, "pump", 1.0, 2);
Expand All @@ -692,6 +701,7 @@ void esq5505_state::sq1(machine_config &config)
ESQPANEL2X16_SQ1(config.replace(), m_panel);
m_panel->write_tx().set(m_duart, FUNC(mc68681_device::rx_b_w));
m_panel->write_analog().set(FUNC(esq5505_state::analog_w));
m_panel->read_analog().set(FUNC(esq5505_state::analog_r));
}

void esq5505_state::ks32(machine_config &config)
Expand All @@ -702,6 +712,7 @@ void esq5505_state::ks32(machine_config &config)
ESQPANEL2X16_SQ1(config.replace(), m_panel);
m_panel->write_tx().set(m_duart, FUNC(mc68681_device::rx_b_w));
m_panel->write_analog().set(FUNC(esq5505_state::analog_w));
m_panel->read_analog().set(FUNC(esq5505_state::analog_r));
}

static INPUT_PORTS_START( vfx )
Expand Down
Loading