Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
bef3b99
Handle the command that are encountered before the "Disk Drive Not Re…
cbrunschen Sep 5, 2025
9371b7b
Add a layout reproducing the NEC FIP80B5R display used by some Enson…
cbrunschen Sep 5, 2025
8c14944
Some refactoring of the Ensoniq VFX-family panel and VFD display clas…
cbrunschen Sep 5, 2025
90626cf
In each segment SVG, remove an errant quote mark and add an explicit …
cbrunschen Sep 6, 2025
7e2320f
Move each segment into its own artwork SVG file, and use those in the…
cbrunschen Sep 6, 2025
d8a6751
Document the numbering of the segments in the NEC FIP80B5R display.
cbrunschen Sep 6, 2025
a6b3b27
Add documentation and license (CC0) to the NEC FIP80B5R segments.
cbrunschen Sep 6, 2025
786eed6
Remove a pair of unused variables.
cbrunschen Sep 7, 2025
2a4975b
Pass the correct device type.
cbrunschen Sep 7, 2025
77a835d
Replace the nec_fip80b5r layout with an esq2by40_vfx layout that uses…
cbrunschen Sep 9, 2025
c00ac10
Also remove the no-longer--used NEC FIP80B5R segment SVG files.
cbrunschen Sep 9, 2025
7de245e
Remove the web interface, and any dependency on the http server, from…
cbrunschen Sep 11, 2025
82347b4
Remove the last reference to the http server from esqpanel.
cbrunschen Sep 11, 2025
0525328
esq_external_panel device declaration & definition fixes.
cbrunschen Sep 11, 2025
f0f8f73
Include asio.h only in extpanel.cpp, not in extpanel.h
cbrunschen Sep 11, 2025
19074e1
Correct int -> uint16_t iin set_analog_value.
cbrunschen Sep 12, 2025
27825dd
527 -> 572 typo (character cell height)
cbrunschen Sep 13, 2025
c69c0eb
Enable the esqpanel classes to read analog values from the CPU, and s…
cbrunschen Sep 12, 2025
5bb3c60
Add layouts for the vfx family of keypoards, panel-only for now, nbut…
cbrunschen Sep 15, 2025
751b5a8
add more decorations and labels
cbrunschen Sep 15, 2025
ed3f0a9
printf -> osd_printf_debug
cbrunschen Sep 16, 2025
d50e84e
osd_printf_debug -> logmacro.h + LOG + logerrer
cbrunschen Sep 17, 2025
963d616
regenerated VFX family panel layouts, from updated script with mm mea…
cbrunschen Sep 22, 2025
fa5ef7b
Fix position of VFX 'Multi' Label,
cbrunschen Sep 29, 2025
749e341
Handle command -xd5 as "cursor left 1 step", as this seems to be used…
cbrunschen Oct 11, 2025
49bce63
Clarify blinking code, and blink whole characters as well as underlines.
cbrunschen Oct 11, 2025
924e346
Keep the actual ASCII characters in the VFX VFD's chasracter buffer. …
cbrunschen Oct 11, 2025
4ad2676
esqvfd: Add underlines to the 1x22 display (EPS, EPS16+).
cbrunschen Oct 11, 2025
96c9c50
esqpanel.cpp: Handle a couple more cursoe movement commands thaat are…
cbrunschen Oct 13, 2025
facb29d
esqpanel: remove external panel.
cbrunschen Oct 13, 2025
b503c56
restore something that was removed too much.
cbrunschen Oct 13, 2025
72a46cb
fix for the previous fix..
cbrunschen Oct 13, 2025
2f010fd
esqpanel: Display command 0x7f doe not move the cursor; but the curso…
cbrunschen Oct 15, 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 @@ -263,7 +263,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 @@ -638,11 +639,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 @@ -785,6 +791,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 @@ -812,7 +819,7 @@ void esq5505_state::vfx(machine_config &config)
m_otis->set_region1("waverom2"); /* Bank 1 */
m_otis->set_channels(4); /* channels */
m_otis->irq_cb().set(FUNC(esq5505_state::otis_irq));
m_otis->read_port_cb().set(FUNC(esq5505_state::analog_r)); /* ADC */
m_otis->read_port_cb().set(FUNC(esq5505_state::adc_r)); /* ADC read */
m_otis->add_route(0, "pump", 1.0, 0);
m_otis->add_route(1, "pump", 1.0, 1);
m_otis->add_route(2, "pump", 1.0, 2);
Expand All @@ -834,6 +841,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, esq5505_state::floppy_drives, "35dd", esq5505_state::floppy_formats, true);//.enable_sound(true);
Expand Down Expand Up @@ -877,6 +885,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 @@ -904,7 +913,7 @@ void esq5505_state::vfx32(machine_config &config)
m_otis->set_region1("waverom2"); /* Bank 1 */
m_otis->set_channels(4); /* channels */
m_otis->irq_cb().set(FUNC(esq5505_state::otis_irq));
m_otis->read_port_cb().set(FUNC(esq5505_state::analog_r)); /* ADC */
m_otis->read_port_cb().set(FUNC(esq5505_state::adc_r)); /* ADC read */
m_otis->add_route(0, "pump", 1.0, 0);
m_otis->add_route(1, "pump", 1.0, 1);
m_otis->add_route(2, "pump", 1.0, 2);
Expand All @@ -926,6 +935,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 @@ -936,6 +946,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
Loading