blob: 14abe6e3197c57211ce3158bb63acfa70d246f0a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
diff --git a/code6805.c b/code6805.c
index 1da6c30..0a087af 100644
--- a/code6805.c
+++ b/code6805.c
@@ -77,7 +77,7 @@ typedef struct
static ShortInt AdrMode,OpSize;
static Byte AdrVals[2];
-static CPUVar CPU6805,CPU6808;
+static CPUVar CPU6805,CPU6808,DATALINK;
static BaseOrder *FixedOrders;
static BaseOrder *RelOrders;
@@ -779,8 +779,26 @@ BEGIN
SwitchFrom=SwitchFrom_6805; InitFields();
END
+ static void SwitchTo_DataLink(void)
+BEGIN
+ TurnWords=False; ConstMode=ConstModeMoto; SetIsOccupied=False;
+
+ PCSymbol="*"; HeaderID=0x62; NOPCode=0x9d;
+ DivideChars=","; HasAttrs=False;
+
+ ValidSegs=(1<<SegCode);
+ Grans[SegCode]=1; ListGrans[SegCode]=1; SegInits[SegCode]=0;
+ SegLimits[SegCode] = 0x1fff;
+
+ MakeCode=MakeCode_6805; IsDef=IsDef_6805;
+ SwitchFrom=SwitchFrom_6805; InitFields();
+
+ PCs[SegCode]=0x110;
+END
+
void code6805_init(void)
BEGIN
CPU6805=AddCPU("6805",SwitchTo_6805);
+ DATALINK=AddCPU("datalink",SwitchTo_DataLink);
CPU6808=AddCPU("68HC08",SwitchTo_6805);
END
|