summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/mcs48/mcs48.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/mcs48/mcs48.h')
-rw-r--r--src/devices/cpu/mcs48/mcs48.h60
1 files changed, 31 insertions, 29 deletions
diff --git a/src/devices/cpu/mcs48/mcs48.h b/src/devices/cpu/mcs48/mcs48.h
index df143df239c..3640286a524 100644
--- a/src/devices/cpu/mcs48/mcs48.h
+++ b/src/devices/cpu/mcs48/mcs48.h
@@ -50,7 +50,6 @@ enum
enum
{
MCS48_INPUT_IRQ = 0,
- UPI41_INPUT_IBF = 0,
MCS48_INPUT_EA
};
@@ -60,7 +59,7 @@ enum
***************************************************************************/
#define MCS48_LC_CLOCK(_L, _C) \
- (1 / (2 * 3.14159265358979323846 * sqrt(_L * _C)))
+ (1 / (2 * M_PI * sqrt(_L * _C)))
#define MCS48_ALE_CLOCK(_clock) \
attotime::from_hz(_clock/(3*5))
@@ -70,33 +69,33 @@ enum
TYPES
***************************************************************************/
-/* Official Intel MCS-48 parts */
-DECLARE_DEVICE_TYPE(I8021, i8021_device) // 1k internal ROM, 64 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8022, i8022_device) // 2k internal ROM, 128 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8035, i8035_device) // external ROM, 64 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8048, i8048_device) // 1k internal ROM, 64 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8648, i8648_device) // 1k internal OTP ROM, 64 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8748, i8748_device) // 1k internal EEPROM, 64 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8039, i8039_device) // external ROM, 128 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8049, i8049_device) // 2k internal ROM, 128 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8749, i8749_device) // 2k internal EEPROM, 128 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8040, i8040_device) // external ROM, 256 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8050, i8050_device) // 4k internal ROM, 256 bytes internal RAM
-
-/* Official Intel UPI-41 parts */
-DECLARE_DEVICE_TYPE(I8041A, i8041a_device) // 1k internal ROM, 64 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8741A, i8741a_device) // 1k internal EEPROM, 64 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8041AH, i8041ah_device) // 1k internal ROM, 128 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8741AH, i8741ah_device) // 1k internal EEPROM, 128 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8042, i8042_device) // 2k internal ROM, 128 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8742, i8742_device) // 2k internal EEPROM, 128 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8042AH, i8042ah_device) // 2k internal ROM, 256 bytes internal RAM
-DECLARE_DEVICE_TYPE(I8742AH, i8742ah_device) // 2k internal EEPROM, 256 bytes internal RAM
-
-/* Clones */
-DECLARE_DEVICE_TYPE(MB8884, mb8884_device) // 8035 clone
-DECLARE_DEVICE_TYPE(N7751, n7751_device) // 8048 clone
-DECLARE_DEVICE_TYPE(M58715, m58715_device) // 8049 clone
+// Official Intel MCS-48 parts
+DECLARE_DEVICE_TYPE(I8021, i8021_device) // 1k internal ROM, 64 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8022, i8022_device) // 2k internal ROM, 128 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8035, i8035_device) // external ROM, 64 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8048, i8048_device) // 1k internal ROM, 64 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8648, i8648_device) // 1k internal OTP ROM, 64 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8748, i8748_device) // 1k internal UV EPROM, 64 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8039, i8039_device) // external ROM, 128 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8049, i8049_device) // 2k internal ROM, 128 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8749, i8749_device) // 2k internal UV EPROM, 128 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8040, i8040_device) // external ROM, 256 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8050, i8050_device) // 4k internal ROM, 256 bytes internal RAM
+
+// Official Intel UPI-41 parts
+DECLARE_DEVICE_TYPE(I8041A, i8041a_device) // 1k internal ROM, 64 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8741A, i8741a_device) // 1k internal UV EPROM, 64 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8041AH, i8041ah_device) // 1k internal ROM, 128 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8741AH, i8741ah_device) // 1k internal UV EPROM, 128 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8042, i8042_device) // 2k internal ROM, 128 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8742, i8742_device) // 2k internal UV EPROM, 128 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8042AH, i8042ah_device) // 2k internal ROM, 256 bytes internal RAM
+DECLARE_DEVICE_TYPE(I8742AH, i8742ah_device) // 2k internal UV EPROM, 256 bytes internal RAM
+
+// Clones
+DECLARE_DEVICE_TYPE(MB8884, mb8884_device) // 8035 clone
+DECLARE_DEVICE_TYPE(N7751, n7751_device) // 8048 clone
+DECLARE_DEVICE_TYPE(M58715, m58715_device) // 8049 clone
@@ -137,6 +136,9 @@ public:
template <typename... T> void set_t0_clk_cb(T &&... args) { m_t0_clk_func.set(std::forward<T>(args)...); }
+ u32 get_ale_clock() { return m_clock / 3 / 5; }
+ u32 get_t0_clock() { return m_clock / 3; }
+
protected:
typedef void (mcs48_cpu_device::*mcs48_ophandler)();