summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/coco/coco_t4426.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/coco/coco_t4426.cpp')
-rw-r--r--src/devices/bus/coco/coco_t4426.cpp39
1 files changed, 22 insertions, 17 deletions
diff --git a/src/devices/bus/coco/coco_t4426.cpp b/src/devices/bus/coco/coco_t4426.cpp
index 7887cdba6cc..5adc451d18a 100644
--- a/src/devices/bus/coco/coco_t4426.cpp
+++ b/src/devices/bus/coco/coco_t4426.cpp
@@ -6,7 +6,10 @@
*
* Terco T4426 CNC Programming Station multi cart
*
- * The code here is heavily inspired by coco_pak and coco_232
+ * The T4426 is based on a Color Computer II PCB revision 26-3134A with a modified
+ * Extended Basic fitted through an adapter and a soldered wire as one address line
+ * was missing. Modifications involved obfuscation changing names of some common
+ * commands such as LIST renamed to LARS (which happens to be the name of the CEO).
*
* +-------------------------------------------------------------------------------+
* ||__|+-----+ oo 75 |O ||||||||||||||| O| |
@@ -40,6 +43,8 @@
***************************************************************************/
#include "emu.h"
+#include "coco_t4426.h"
+
#include "cococart.h"
#include "machine/6850acia.h"
#include "bus/rs232/rs232.h"
@@ -51,13 +56,13 @@
#define LOG_PIA (1U << 2)
#define LOG_ACIA (1U << 3)
-//#define VERBOSE (LOG_ACIA|LOG_GENERAL) // (LOG_PIA | LOG_GENERAL | LOG_SETUP)
+//#define VERBOSE (LOG_PIA) // (LOG_PIA | LOG_GENERAL | LOG_SETUP)
//#define LOG_OUTPUT_STREAM std::cout
#include "logmacro.h"
-#define LOGSETUP(...) LOGMASKED(LOG_SETUP, __VA_ARGS__)
-#define LOGPIA(...) LOGMASKED(LOG_PIA, __VA_ARGS__)
-#define LOGACIA(...) LOGMASKED(LOG_ACIA, __VA_ARGS__)
+#define LOGSETUP(...) LOGMASKED(LOG_SETUP, __VA_ARGS__)
+#define LOGPIA(...) LOGMASKED(LOG_PIA, __VA_ARGS__)
+#define LOGACIA(...) LOGMASKED(LOG_ACIA, __VA_ARGS__)
#ifdef _MSC_VER
#define FUNCNAME __func__
@@ -69,15 +74,15 @@
CONSTANTS
***************************************************************************/
-#define UART_TAG "acia"
-#define SERIAL_TAG "ser2" // Labled "Ser.I/O2 RC 232C" on the back of the case
-#define BRG_TAG "brg"
-#define SERIAL_BRF "serial_brf"
-#define SERIAL_BAUD "serial_baud"
-#define PIA_TAG "pia"
-#define CARTSLOT_TAG "t4426"
-#define CARTBANK_TAG "t4426_banks"
-#define CART_AUTOSTART_TAG "cart_autostart"
+#define UART_TAG "acia"
+#define SERIAL_TAG "ser2" // Labled "Ser.I/O2 RC 232C" on the back of the case
+#define BRG_TAG "brg"
+#define SERIAL_BRF "serial_brf"
+#define SERIAL_BAUD "serial_baud"
+#define PIA_TAG "pia"
+#define CARTSLOT_TAG "t4426"
+#define CARTBANK_TAG "t4426_banks"
+#define CART_AUTOSTART_TAG "cart_autostart"
//**************************************************************************
// TYPE DEFINITIONS
@@ -134,7 +139,7 @@ namespace
required_device<mc14411_device> m_brg;
required_ioport m_serial_baud;
-
+
void set_bank();
};
};
@@ -182,7 +187,7 @@ ROM_START( coco_t4426 )
// 8 banked ROM:s
ROM_LOAD("tercoED4426-0-8549-5.3.bin", 0x0000, 0x2000, CRC(45665428) SHA1(ff49a79275772c4c4ab1ae29db662c9b10a744a7))
- ROM_LOAD("tercoED4426-1-8549-5.3.bin", 0x2000, 0x2000, CRC(44baba33) SHA1(01cee1b208c158e598e7ecd2189b5e0ffa7f3ab9))
+ ROM_LOAD("tercoED4426-1-8549-5.3.bin", 0x2000, 0x2000, CRC(854cd50d) SHA1(0786391b4e7a78af0a984b6313eec7f71fb4ad9e))
ROM_LOAD("tercoPD4426-2-8632-6.4.bin", 0x4000, 0x2000, CRC(258e443a) SHA1(9d8901f3e70ae4f8526dde1b5208b22f066f801f))
ROM_LOAD("tercoPD4426-3-8638-6.4.bin", 0x6000, 0x2000, CRC(640d1de4) SHA1(5ae7427cb5729fd3920361855d954ea1f97f6ae5))
ROM_LOAD("tercoCA4426-4-8549-3.4.bin", 0x8000, 0x2000, CRC(df18397b) SHA1(2f9de210c039619c649be223c37a4eff873fa600))
@@ -301,7 +306,7 @@ void coco_t4426_device::device_reset()
}
/*----------------------------------------------------
- * Serial port clock sources driven by the selected
+ * Serial port clock sources driven by the selected
* output of the MC14411
----------------------------------------------------*/
void coco_t4426_device::write_acia_clocks(int id, int state)