Skip to content

Prose 2000: Added missing DSP rom to older hardware, added new upd7720 CPU core, corrected interrupt hookup, both versions are now working. - #15794

Open
Lord-Nightmare wants to merge 10 commits into
mamedev:masterfrom
Lord-Nightmare:upd7720-25-split
Open

Conversation

@Lord-Nightmare

Copy link
Copy Markdown
Contributor

Split the NEC uPD7725 CPU core into separate cores for the uPD7720 and uPD7725, getting rid of some gross code that live-converted the former into the latter.

Changed the uPD7720/7725 CPU cores to use a separate address space instead of an array for data ram access, easing debugging.

Updated the Speech Plus Prose 2000 and Prose 4001 drivers to use the new uPD7720 CPU core, fixed DSP->CPU interrupts and hooked up the DAC output, as well as hooked up the analog output filtering.
The Prose 4001's self test also mode speaks now, but the actual ISA PAL-based semaphore communications are not yet hooked up, hence it cannot currently be considered working. The currently dumped Prose 4001 ROM set does not support serial input, only input via the ISA buffer/semaphore.

Add a dump of the earlier Telesensory Systems Inc. Prose 2000's mask ROM uPD7720 DSP, allowing it to function. [Kevin Horton, Lord Nightmare]

Systems promoted to working

Speech Plus Prose 2000/2020 v3.4.1 (new HW) [Lord Nightmare, Kevin Horton]
Telesensory Systems Inc. Prose 2000/2020 v1.1 (old HW) [Lord Nightmare, Kevin Horton]

@galibert

Copy link
Copy Markdown
Member

Wot no AI? ;-)

Comment thread src/devices/bus/isa/prose4k1.cpp Outdated
Comment thread src/devices/bus/isa/prose4k1.cpp Outdated
Comment thread src/devices/bus/isa/prose4k1.cpp Outdated
Comment thread src/devices/bus/isa/prose4k1.cpp Outdated
Comment thread src/devices/cpu/upd7725/dasm7720.cpp
Comment thread src/devices/cpu/upd7725/upd7720.cpp

@cuavas cuavas left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’ve only looked at one file, and it’s not promising, given the numerous commits to generally make stuff better-behaved when it comes to side effect checks that you’ve no doubt seen in recent years.

Comment thread src/devices/bus/isa/prose4k1.cpp
Comment thread src/devices/bus/isa/prose4k1.cpp
Comment thread src/devices/cpu/upd7725/upd7720.cpp Outdated
Comment thread src/devices/cpu/upd7725/upd7720.cpp Outdated
flag.z = (r == 0);
if(!flag.ov1) flag.s1 = flag.s0;

switch(alu) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's kind of ridiculous, especially with the alu & 1 test. Should merge that with the previous switch, with inline helper methods if useful.

@Lord-Nightmare Lord-Nightmare Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see what you mean. I could fix it for both the upd7725 and upd7720 core... but this does mean the line to set the ov1 state gets duplicated.
Should I do this?

…d uPD7725, getting rid of some gross code that live-converted the former into the latter.

Changed the uPD7720/7725 CPU cores to use a separate address space instead of an array for data ram access, easing debugging.
Updated the Speech Plus Prose 2000 and Prose 4001 drivers to use the new uPD7720 CPU core, fixed DSP->CPU interrupts and hooked up the DAC output.
The Prose 4001's self test mode speaks now, but the actual ISA PAL-based semaphore communications are not yet hooked up. The currently dumped Prose 4001 rom set does not support serial input.
Add a dump of the earlier Telesensory Systems Inc. Prose 2000's mask ROM upd7720 DSP, allowing it to function. [Kevin Horton, Lord Nightmare]

Systems promoted to working
---------------------------
Speech Plus Prose 2000/2020 v3.4.1 (new HW) [Lord Nightmare, Kevin Horton]
Telesensory Systems Inc. Prose 2000/2020 v1.1 (old HW) [Lord Nightmare, Kevin Horton]
… document the four PALs as NO_DUMP. Clarified comments about the address decoding and the select pins to remove ambiguity.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants