|
|
1.1 root 1: //
2: // nono
1.1.1.2 root 3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
1.1 root 5: //
6:
7: #include "m88100.h"
8:
9: // コンストラクタ
10: m88kcpu::m88kcpu()
11: {
1.1.1.2 root 12: cmmu[0].Ctor(this);
13: cmmu[1].Ctor(this);
1.1 root 14: }
15:
16: // デストラクタ
17: m88kcpu::~m88kcpu()
18: {
19: }
20:
1.1.1.2 root 21: // PID の VERSION フィールドをセットする。初期化時に呼ぶ。
22: void
23: m88kcpu::SetVersion(uint32 version)
24: {
25: pid &= ~PID_VER_MASK;
26: pid |= version << 1;
27: }
28:
1.1 root 29: /*static*/ const char * const m88100reg::sipname[3] = {
30: "sxip", "snip", "sfip",
31: };
32:
1.1.1.2 root 33: /*static*/ const char * const m88100reg::dmt_en_str[16] = {
34: "----",
35: "---B",
36: "--B-",
37: "--HH",
38: "-B--",
39: "-1-1", // not used normally
40: "-11-", // not used normally
41: "-111", // not used normally
42: "B---",
43: "1--1", // not used normally
44: "1-1-", // not used normally
45: "1-11", // not used normally
46: "HH--",
47: "11-1", // not used normally
48: "111-", // not used normally
49: "LLLL",
50: };
1.1.1.3 ! root 51:
! 52: // 例外
! 53: /*static*/ const char * const m88kcpu::exception_names[] = {
! 54: // 01234567890123456789012 <- 例外履歴欄の横幅
! 55: /* 0 */ "Reset Exception",
! 56: /* 1 */ "Interrupt Exception",
! 57: /* 2 */ "Inst Access Exception",
! 58: /* 3 */ "Data Access Exception",
! 59: /* 4 */ "Misaligned Access Excep",
! 60: /* 5 */ "Unimplemented Opcode",
! 61: /* 6 */ "Priv. Violation Excep.",
! 62: /* 7 */ "Bounds Check Violation",
! 63: /* 8 */ "Illegal Integer Divide",
! 64: /* 9 */ "Int Overflow Exception",
! 65: /* 10 */ "Error Exception",
! 66: // 01234567890123456789012
! 67: };
! 68:
! 69: // 例外名を返す。
! 70: // Reserved なところは NULL を返す。
! 71: // XXX TODO 114 以降未実装
! 72: /*static*/ const char *
! 73: m88kcpu::GetExceptionName(int vector)
! 74: {
! 75: if (0 < vector && vector < countof(exception_names)) {
! 76: return exception_names[vector];
! 77: }
! 78:
! 79: return NULL;
! 80: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.