|
@@ -676,8 +676,8 @@ begin
|
|
if (cmd = 0) then
|
|
if (cmd = 0) then
|
|
begin
|
|
begin
|
|
case version of
|
|
case version of
|
|
- Holtek, ATMega8, MicroBit, MicroBitV2: MCSStrings.copyArray2List(O_LIST_H, list);
|
|
|
|
- ATTiny84, Arduino: MCSStrings.copyArray2List(O_LIST_AT, list);
|
|
|
|
|
|
+ Holtek, ATMega8, MicroBit: MCSStrings.copyArray2List(O_LIST_H, list);
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: MCSStrings.copyArray2List(O_LIST_AT, list);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
if (cmd = 1) then
|
|
if (cmd = 1) then
|
|
@@ -693,31 +693,31 @@ begin
|
|
if (cmd = 5) then
|
|
if (cmd = 5) then
|
|
begin
|
|
begin
|
|
case version of
|
|
case version of
|
|
- Holtek, MicroBit, MicroBitV2: MCSStrings.copyArray2List(IS_A_LIST_H, list);
|
|
|
|
|
|
+ Holtek, MicroBit: MCSStrings.copyArray2List(IS_A_LIST_H, list);
|
|
ATMega8: MCSStrings.copyArray2List(IS_A_LIST_A8, list);
|
|
ATMega8: MCSStrings.copyArray2List(IS_A_LIST_A8, list);
|
|
- ATTiny84, Arduino: MCSStrings.copyArray2List(IS_A_LIST_AT, list);
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: MCSStrings.copyArray2List(IS_A_LIST_AT, list);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
if (cmd = 6) then
|
|
if (cmd = 6) then
|
|
begin
|
|
begin
|
|
case version of
|
|
case version of
|
|
- Holtek, MicroBit, MicroBitV2: MCSStrings.copyArray2List(A_IS_LIST_H, list);
|
|
|
|
|
|
+ Holtek, MicroBit: MCSStrings.copyArray2List(A_IS_LIST_H, list);
|
|
ATMega8: MCSStrings.copyArray2List(A_IS_LIST_A8, list);
|
|
ATMega8: MCSStrings.copyArray2List(A_IS_LIST_A8, list);
|
|
- ATTiny84, Arduino: MCSStrings.copyArray2List(A_IS_LIST_AT, list);
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: MCSStrings.copyArray2List(A_IS_LIST_AT, list);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
if (cmd = 7) then
|
|
if (cmd = 7) then
|
|
begin
|
|
begin
|
|
case version of
|
|
case version of
|
|
- Holtek, ATMega8, MicroBit, MicroBitV2: MCSStrings.copyArray2List(A_CALC_LIST_H, list);
|
|
|
|
- ATTiny84, Arduino: MCSStrings.copyArray2List(A_CALC_LIST_AT, list);
|
|
|
|
|
|
+ Holtek, ATMega8, MicroBit: MCSStrings.copyArray2List(A_CALC_LIST_H, list);
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: MCSStrings.copyArray2List(A_CALC_LIST_AT, list);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
if (cmd = 8) then
|
|
if (cmd = 8) then
|
|
begin
|
|
begin
|
|
case version of
|
|
case version of
|
|
- Holtek, ATMega8, MicroBit, MicroBitV2: MCSStrings.copyArray2List(PAGE_LIST_H, list);
|
|
|
|
- ATTiny84, Arduino: MCSStrings.copyArray2List(PAGE_LIST_AT, list);
|
|
|
|
|
|
+ Holtek, ATMega8, MicroBit: MCSStrings.copyArray2List(PAGE_LIST_H, list);
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: MCSStrings.copyArray2List(PAGE_LIST_AT, list);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
if (cmd = 9) then
|
|
if (cmd = 9) then
|
|
@@ -729,9 +729,9 @@ begin
|
|
if (cmd = 12) then
|
|
if (cmd = 12) then
|
|
begin
|
|
begin
|
|
case version of
|
|
case version of
|
|
- Holtek, MicroBit, MicroBitV2: MCSStrings.copyArray2List(SKIP_LIST_H, list);
|
|
|
|
|
|
+ Holtek, MicroBit: MCSStrings.copyArray2List(SKIP_LIST_H, list);
|
|
ATMega8: MCSStrings.copyArray2List(SKIP_LIST_A8, list);
|
|
ATMega8: MCSStrings.copyArray2List(SKIP_LIST_A8, list);
|
|
- ATTiny84, Arduino: MCSStrings.copyArray2List(SKIP_LIST_AT, list);
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: MCSStrings.copyArray2List(SKIP_LIST_AT, list);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
if (cmd = 13) then
|
|
if (cmd = 13) then
|
|
@@ -739,15 +739,15 @@ begin
|
|
if (cmd = 14) then
|
|
if (cmd = 14) then
|
|
begin
|
|
begin
|
|
case version of
|
|
case version of
|
|
- Holtek, ATMega8, MicroBit, MicroBitV2: MCSStrings.copyArray2List(RET_LIST_H, list);
|
|
|
|
- ATTiny84, Arduino: MCSStrings.copyArray2List(RET_LIST_AT, list);
|
|
|
|
|
|
+ Holtek, ATMega8, MicroBit: MCSStrings.copyArray2List(RET_LIST_H, list);
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: MCSStrings.copyArray2List(RET_LIST_AT, list);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
if (cmd = 15) then
|
|
if (cmd = 15) then
|
|
begin
|
|
begin
|
|
case version of
|
|
case version of
|
|
- Holtek, ATMega8, MicroBit, MicroBitV2: MCSStrings.copyArray2List(F_LIST_H, list);
|
|
|
|
- ATTiny84, Arduino: MCSStrings.copyArray2List(F_LIST_AT, list);
|
|
|
|
|
|
+ Holtek, ATMega8, MicroBit: MCSStrings.copyArray2List(F_LIST_H, list);
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: MCSStrings.copyArray2List(F_LIST_AT, list);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
@@ -888,7 +888,7 @@ var
|
|
begin
|
|
begin
|
|
case Data of
|
|
case Data of
|
|
0: case version of
|
|
0: case version of
|
|
- ATTiny84, Arduino:
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2:
|
|
begin
|
|
begin
|
|
tmpValue := b;
|
|
tmpValue := b;
|
|
b := a;
|
|
b := a;
|
|
@@ -945,23 +945,23 @@ begin
|
|
9: a := a xor b;
|
|
9: a := a xor b;
|
|
10: a := not a;
|
|
10: a := not a;
|
|
11: case version of
|
|
11: case version of
|
|
- ATTiny84, Arduino: a := a mod b;
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: a := a mod b;
|
|
end;
|
|
end;
|
|
12: case version of
|
|
12: case version of
|
|
- ATTiny84, Arduino: a := a + 16 * b;
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: a := a + 16 * b;
|
|
end;
|
|
end;
|
|
13: case version of
|
|
13: case version of
|
|
- ATTiny84, Arduino: a := b - a;
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: a := b - a;
|
|
end;
|
|
end;
|
|
14: case version of
|
|
14: case version of
|
|
- ATTiny84, Arduino: a := a SHR 1;
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: a := a SHR 1;
|
|
end;
|
|
end;
|
|
15: case version of
|
|
15: case version of
|
|
- ATTiny84, Arduino: a := a SHL 1;
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: a := a SHL 1;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
case version of
|
|
case version of
|
|
- Holtek, ATMega8, MicroBit, MicroBitV2: a := a and 15;
|
|
|
|
|
|
+ Holtek, ATMega8, MicroBit: a := a and 15;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -1045,7 +1045,7 @@ procedure TSPS.doCall(Data: byte);
|
|
begin
|
|
begin
|
|
saveaddr[saveCnt] := addr;
|
|
saveaddr[saveCnt] := addr;
|
|
case version of
|
|
case version of
|
|
- ATTiny84, Arduino: saveCnt := saveCnt + 1;
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: saveCnt := saveCnt + 1;
|
|
end;
|
|
end;
|
|
addr := adrpage + Data;
|
|
addr := adrpage + Data;
|
|
end;
|
|
end;
|
|
@@ -1056,7 +1056,7 @@ begin
|
|
if (Data = 0) then
|
|
if (Data = 0) then
|
|
begin
|
|
begin
|
|
case version of
|
|
case version of
|
|
- ATTiny84, Arduino:
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2:
|
|
begin
|
|
begin
|
|
if (saveCnt = 0) then
|
|
if (saveCnt = 0) then
|
|
begin
|
|
begin
|
|
@@ -1069,7 +1069,7 @@ begin
|
|
addr := saveaddr[saveCnt];
|
|
addr := saveaddr[saveCnt];
|
|
exit;
|
|
exit;
|
|
end;
|
|
end;
|
|
- if ((Data <= 6) and ((version = ATTiny84) or (version = Arduino))) then
|
|
|
|
|
|
+ if ((Data <= 6) and ((version = ATTiny84) or (version = Arduino) or (version = MicroBitV2))) then
|
|
begin
|
|
begin
|
|
// call subroutine number
|
|
// call subroutine number
|
|
saveaddr[saveCnt] := addr;
|
|
saveaddr[saveCnt] := addr;
|
|
@@ -1077,7 +1077,7 @@ begin
|
|
addr := subs[Data];
|
|
addr := subs[Data];
|
|
exit;
|
|
exit;
|
|
end;
|
|
end;
|
|
- if ((Data = $0f) and ((version = ATTiny84) or (version = Arduino))) then
|
|
|
|
|
|
+ if ((Data = $0f) and ((version = ATTiny84) or (version = Arduino) or (version = MicroBitV2))) then
|
|
begin
|
|
begin
|
|
doReset();
|
|
doReset();
|
|
exit;
|
|
exit;
|
|
@@ -1091,10 +1091,10 @@ begin
|
|
// Some byte commands
|
|
// Some byte commands
|
|
case (Data) of
|
|
case (Data) of
|
|
0: case version of
|
|
0: case version of
|
|
- ATTiny84, Arduino: a := adc1;
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: a := adc1;
|
|
end;
|
|
end;
|
|
1: case version of
|
|
1: case version of
|
|
- ATTiny84, Arduino: a := adc2;
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: a := adc2;
|
|
end;
|
|
end;
|
|
2: case version of
|
|
2: case version of
|
|
ATTiny84, Arduino: a := rc1;
|
|
ATTiny84, Arduino: a := rc1;
|
|
@@ -1122,8 +1122,12 @@ begin
|
|
end;
|
|
end;
|
|
8:
|
|
8:
|
|
case version of
|
|
case version of
|
|
- ATTiny84, Arduino: doTone(Data);
|
|
|
|
|
|
+ ATTiny84, Arduino, MicroBitV2: doTone(Data);
|
|
end;
|
|
end;
|
|
|
|
+ 15: begin
|
|
|
|
+ addr := 0;
|
|
|
|
+ exit;
|
|
|
|
+ end;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|