mamedev / mame

MAME
https://www.mamedev.org/
Other
7.96k stars 1.98k forks source link

Support for CMOS and derivative MCS-48/UPI-41 devices #7919

Open brycecherry75 opened 3 years ago

brycecherry75 commented 3 years ago

I noted a TODO for a single CMOS-specific instruction (HALT) for the MCS48 library but from what I know, certain CMOS and derivative MCS-48 and UPI-41 devices implement additional hardware functions and/or additional opcodes in addition to HALT which can include software control for power saving; in addition, certain opcodes and/or their implementations can differ between such devices within their respective families. Known manufacturers of such devices include Philips/NXP (MAB/PCF), OKI (MSM), NEC (uPD), Toshiba (TMP), Daewoo (DMC) and Intel.

ajrhacker commented 3 years ago

I know that there are some UPI-41 derivatives with additional instructions, and some other CMOS versions with program spaces extended to 13 bits and more on-chip peripherals. There's little point in supporting them unless they're going to be dumped. (Intel's own UPI-C42/UPI-L42, described in some of their 1990s databooks, seems practically mythical, as it would have been released around the same time AT-style keyboard controllers were finally being embedded in chipsets.)

NS405 would probably be more important to work on now. I think it would best be served by a new CPU device emulation, since it extends a few of the working registers to 16 bits, its I/O functions are almost entirely different from the 8048, and it even changes the opcodes of several basic instructions.