SCP accessing variables in RAM getting garbage - Doug Taylor - Feb 29 11:50:28 2008
Hi,
OOPic III+ Ver C.1.1+ Compiler 6.1.1
I am trying to access RAM memory in SCP and I must be doing something
stupid. If anyone can look over my shoulder and point it out, I would
be very grateful.
The following is the code in my OOPic:
Dim firstByte As Byte
Dim secondByte As Byte
Dim thirdByte As Byte
Dim firstWord As Word
Dim secondWord As Word
Sub Main()
firstByte = 15 '0F hex
secondByte = 171 'AB hex
thirdByte = 205 'CD hex
firstWord = 4660 '1234 hex
secondWord = 43981 'ABCD hex
End Sub
The following is an excerpt from my C# code:
private void button2_Click(object sender, EventArgs e)
{
serialPort1.Open();
textBox1.Text = "";
response = null;
serialPort1.Write(Cons.node0);
serialPort1.Write(Cons.verifyConnection);
while (response == null || response.Length == 0) { }
SetText(response);
serialPort1.Write(Cons.ackOff);
currentObjName = null;
getMemoryValue("firstByte", 1);
getMemoryValue("secondByte", 1);
getMemoryValue("thirdByte", 1);
getMemoryValue("firstWord", 2);
getMemoryValue("secondWord", 2);
response = null;
serialPort1.Write(Cons.disconnect);
serialPort1.Close();
}
...
private string getMemoryValue(string name, int numBytes)
{
string content;
string retVal = "";
DateTime startTime = DateTime.Now;
int memType = 16; //read/write object's default property
response = null;
errorRet = null;
currentObjName = name;
if (numBytes < 1 || numBytes > 8)
{
throw new Exception("numBytes must be 0
numBytes.ToString());
}
memType += numBytes - 1; // add the number of bytes to read
content = memType.ToString() + Cons.setMemType;
content += getAddr(name) + Cons.setMemAddr;
content += "64" + Cons.setMemSubAddr;
content += Cons.readMemory;
serialPort1.Write(content);
while ((response == null && errorRet == null) || (response != null
&& !response.EndsWith("m") && !response.Contains("*")))
{
if (startTime.AddMilliseconds(1000) < DateTime.Now)
{
throw new Exception("timed out waiting for a response");
}
}
if (response != null)
{
SetText(name + " - sent: " + content + " received: " +
response);
retVal = response;
}
if (errorRet != null)
{
SetText("Error: " + errorRet);
retVal = errorRet;
}
currentObjName = null;
response = null;
errorRet = null;
return retVal;
}
...
private void SetText(string text)
{
// InvokeRequired required compares the thread ID of the
// calling thread to the thread ID of the creating thread.
// If these threads are different, it returns true.
if (this.textBox1.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
this.textBox1.Invoke(d, new object[] { text });
}
else
{
if (textBox1.Text.Length > 0)
{
textBox1.Text += Environment.NewLine;
}
if (text.EndsWith("m"))
{
text = text.Remove(text.Length - 1);
}
textBox1.Text += text;
}
}
Don't be overly concerned with the infrastructure; it works fine
with a similar algorithm for reading default properties of objects. Pay
more attention to the bolded code.
I would expect the output to be the hex values of the initialized values
in the OOPic code. Instead I get garbage. This is the output:
firstByte - sent: 16H105J64LM received: 77
secondByte - sent: 16H106J64LM received: BB
thirdByte - sent: 16H107J64LM received: 40
firstWord - sent: 17H108J64LM received: 116C
secondWord - sent: 17H110J64LM received: 0000
Any help will be appreciated.
Thanks,
Dogulas
[Non-text portions of this message have been removed]

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )
Re: SCP accessing variables in RAM getting garbage - Doug Taylor - Feb 29 11:53:26 2008
This rich text editor leaves me cold. Not only did it take out all my
bolding, it even removed my indentation and that was done with spaces
instead of tabs. Sorry it reads so poorly.
Dogulas

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )
Re: SCP accessing variables in RAM getting garbage - rtstofer - Feb 29 13:14:54 2008
--- In o...@yahoogroups.com, "Doug Taylor"
wrote:
> This rich text editor leaves me cold. Not only did it take out all my
> bolding, it even removed my indentation and that was done with spaces
> instead of tabs. Sorry it reads so poorly.
>
> Dogulas
>
About the only way you can format anything on Yahoo is to use something
like periods instead of spaces. It still reads strange but at least
the indent level shows up.
int f(int i)
{
..if (i == 0)
....return 32000;
..return -31;
}
Or, post the stuff as a file in the Files section.
Richard

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )Re: Re: SCP accessing variables in RAM getting garbage - Andrew Porrett - Feb 29 14:53:19 2008
You'd be much better off using a regular email client (Outhouse
Express, Eudora, etc.)
At 11:50 AM 2/29/2008, Doug Taylor wrote:
>This rich text editor leaves me cold. Not only did it take out all my
>bolding, it even removed my indentation and that was done with spaces
>instead of tabs. Sorry it reads so poorly.
>
>Dogulas

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )
Re: SCP accessing variables in RAM getting garbage - Doug Taylor - Feb 29 15:12:00 2008
Hi,
OOPic III+ Ver C.1.1+ Compiler 6.1.1
I thought I'd try this again with the dot format that Richard
suggested. I'm supplying a simplified C# code. (Fingers crossed
here)
The OOPic code:
Dim firstByte As Byte
Dim secondByte As Byte
Dim thirdByte As Byte
Dim firstWord As Word
Dim secondWord As Word
Sub Main()
..firstByte = 15 '0F hex
..secondByte = 171 'AB hex
..thirdByte = 205 'CD hex
..firstWord = 4660 '1234 hex
..secondWord = 43981 'ABCD hex
End Sub
The output:
firstByte - sent: 16H105J64LM received: 77m
secondByte - sent: 16H106J64LM received: 33m
thirdByte - sent: 16H107J64LM received: 40m
firstWord - sent: 17H108J64LM received: 116Cm
secondWord - sent: 17H108J64LM received: 116Cm
The C# code:
public partial class Form1 : Form
{
..delegate void SetTextCallback(string text);
..private string currentObjName = null; // prevent race
..private string response = null;
..private string errorRet = null;
..private void Form1_Load(object sender, EventArgs e)
..{
....string content;
....DateTime startTime;
....try
....{
......serialPort1.Open();
......currentObjName = "setup"; // race lock on
......response = null;
......serialPort1.Write(@"\0"); // connect node 0
......serialPort1.Write(@"v"); // verify connection
......// wait for a response
......while (response == null || response.Length == 0) { }
......Console.WriteLine(response);
......serialPort1.Write(@"U"); // acknowlege off
......currentObjName = null; // race lock off
......// Read firstByte
......response = null; // re-init
......content = @"16H"; // memory type read/write RAM
......content += @"105J"; // memory address of firstByte
......content += @"64L"; // sub memory bank 1
......content += @"M"; // read memory
......currentObjName = "firstByte"; // race lock on
......serialPort1.Write(content); // send instructions
......// wait for a response
......startTime = DateTime.Now;
......while ((response == null && errorRet == null)
........|| (response != null
..........&& !response.EndsWith("m")
..........&& !response.Contains("*")))
......{
........if (startTime.AddMilliseconds(1000) < DateTime.Now)
........{
..........throw new Exception("timed out");
........}
......}
......currentObjName = null; // race lock off
......// print response
......if (response != null)
......{
........Console.WriteLine("firstByte - sent: "
..........+ content + " received: " + response);
......}
......// Read secondByte
......response = null; // re-init
......content = @"16H"; // memory type read/write RAM
......content += @"106J"; // memory address of secondByte
......content += @"64L"; // sub memory bank 1
......content += @"M"; // read memory
......currentObjName = "secondByte"; // race lock on
......serialPort1.Write(content); // send instructions
......// wait for a response
......startTime = DateTime.Now;
......while ((response == null && errorRet == null)
........|| (response != null
..........&& !response.EndsWith("m")
..........&& !response.Contains("*")))
......{
........if (startTime.AddMilliseconds(1000) < DateTime.Now)
........{
..........throw new Exception("timed out");
........}
......}
......currentObjName = null; // race lock off
......// print response
......if (response != null)
......{
........Console.WriteLine("secondByte - sent: "
..........+ content + " received: " + response);
......}
......// Read thirdByte
......response = null; // re-init
......content = @"16H"; // memory type read/write RAM
......content += @"107J"; // memory address of thirdByte
......content += @"64L"; // sub memory bank 1
......content += @"M"; // read memory
......currentObjName = "thirdByte"; // race lock on
......serialPort1.Write(content); // send instructions
......// wait for a response
......startTime = DateTime.Now;
......while ((response == null && errorRet == null)
........|| (response != null
..........&& !response.EndsWith("m")
..........&& !response.Contains("*")))
......{
........if (startTime.AddMilliseconds(1000) < DateTime.Now)
........{
..........throw new Exception("timed out");
........}
......}
......currentObjName = null; // race lock off
......// print response
......if (response != null)
......{
........Console.WriteLine("thirdByte - sent: "
..........+ content + " received: " + response);
......}
......// Read firstWord
......response = null; // re-init
......content = @"17H"; // memory type read/write RAM two bytes
......content += @"108J"; // memory address of firstWord
......content += @"64L"; // sub memory bank 1
......content += @"M"; // read memory
......currentObjName = "firstWord"; // race lock on
......serialPort1.Write(content); // send instructions
......// wait for a response
......startTime = DateTime.Now;
......while ((response == null && errorRet == null)
........|| (response != null
..........&& !response.EndsWith("m")
..........&& !response.Contains("*")))
......{
........if (startTime.AddMilliseconds(1000) < DateTime.Now)
........{
..........throw new Exception("timed out");
........}
......}
......currentObjName = null; // race lock off
......// print response
......if (response != null)
......{
........Console.WriteLine("firstWord - sent: "
..........+ content + " received: " + response);
......}
......// Read secondWord
......response = null; // re-init
......content = @"17H"; // memory type read/write RAM two bytes
......content += @"108J"; // memory address of secondWord
......content += @"64L"; // sub memory bank 1
......content += @"M"; // read memory
......currentObjName = "secondWord"; // race lock on
......serialPort1.Write(content); // send instructions
......// wait for a response
......startTime = DateTime.Now;
......while ((response == null && errorRet == null)
........|| (response != null
..........&& !response.EndsWith("m")
..........&& !response.Contains("*")))
......{
........if (startTime.AddMilliseconds(1000) < DateTime.Now)
........{
..........throw new Exception("timed out");
........}
......}
......currentObjName = null; // race lock off
......// print response
......if (response != null)
......{
........Console.WriteLine("secondWord - sent: "
..........+ content + " received: " + response);
......}
......serialPort1.Close();
....}
....catch (Exception ex)
....{
......if (serialPort1.IsOpen)
......{
........serialPort1.Close();
......}
......Debug.WriteLine(ex.ToString());
....}
..}
..private void serialPort1_DataReceived(
....object sender,
....System.IO.Ports.SerialDataReceivedEventArgs e)
..{
....// called on different thread
....if (currentObjName == null)
....{
......throw new Exception("unexpected data");
....}
....response += serialPort1.ReadExisting();
..}
..private void serialPort1_ErrorReceived(
....object sender,
....System.IO.Ports.SerialErrorReceivedEventArgs e)
..{
....// called on different thread
....if (currentObjName == null)
....{
......throw new Exception("unexpected data");
....}
....errorRet += e.ToString();
..}
}
[Non-text portions of this message have been removed]

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )
Re: SCP accessing variables in RAM getting garbage - Doug Taylor - Feb 29 15:18:22 2008
--- In o...@yahoogroups.com, Andrew Porrett
wrote:
>
> You'd be much better off using a regular email client (Outhouse
> Express, Eudora, etc.)
>
Andrew,
I'm new to Yahoo groups (obviously). Do you mean I can just email to
o...@yahoogroups.com? If so, how do I indicate which posting I want
to respond to so that it is linked properly?
Thanks,
Dogulas

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )Re: SCP accessing variables in RAM getting garbage - rtstofer - Feb 29 15:30:56 2008
--- In o...@yahoogroups.com, "Doug Taylor"
wrote:
>
> --- In o...@yahoogroups.com, Andrew Porrett wrote:
> >
> > You'd be much better off using a regular email client (Outhouse
> > Express, Eudora, etc.)
> > Andrew,
>
> I'm new to Yahoo groups (obviously). Do you mean I can just email to
> o...@yahoogroups.com? If so, how do I indicate which posting I want
> to respond to so that it is linked properly?
>
> Thanks,
> Dogulas
>
If the subject line doesn't have Re:, I believe email will start a new
thread. If it does have the Re:, I believe Yahoo will link the thread.
You send the email to o...@yahoogroups.com
HOWEVER, doing anything fancy with email doesn't change the way Yahoo
presents the message on the web interface and there are those of us who
don't WANT email and only use the web interface.
Still, your choice...
Richard

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )Re: SCP accessing variables in RAM getting garbage - Doug Taylor - Feb 29 16:07:20 2008
--- In o...@yahoogroups.com, "rtstofer"
wrote:
> If the subject line doesn't have Re:, I believe email will start a
new
> thread. If it does have the Re:, I believe Yahoo will link the
thread.
>
> You send the email to o...@yahoogroups.com
>
> HOWEVER, doing anything fancy with email doesn't change the way
Yahoo
> presents the message on the web interface and there are those of us
who
> don't WANT email and only use the web interface.
>
> Still, your choice...
>
> Richard
>
Oh, I see. So if the reader is viewing by the Yahoo interface, the
problem still exists. Well that's a bummer.
Thanks for clearing that up.
Dogulas

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )Re: SCP accessing variables in RAM getting garbage - Doug Taylor - Feb 29 16:17:02 2008
--- In o...@yahoogroups.com, Andrew Porrett
wrote:
>
> You'd be much better off using a regular email client (Outhouse
> Express, Eudora, etc.)
>
Andrew,
I'm new to Yahoo groups (obviously). Do you mean I can just email to
o...@yahoogroups.com? If so, how do I indicate which posting I want
to respond to so that it is linked properly?
Thanks,
Dogulas

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )Re: SCP accessing variables in RAM getting garbage - rtstofer - Feb 29 18:03:16 2008
--- In o...@yahoogroups.com, "Doug Taylor"
wrote:
> Hi,
>
> OOPic III+ Ver C.1.1+ Compiler 6.1.1
>
> Ok, let me boil it down some more.
>
> The OOPic code:
>
> Dim firstByte As Byte
>
> Dim secondByte As Byte
>
> Dim thirdByte As Byte
>
> Dim firstWord As Word
>
> Dim secondWord As Word
>
> Sub Main()
>
> ..firstByte = 15 '0F hex
>
> ..secondByte = 171 'AB hex
>
> ..thirdByte = 205 'CD hex
>
> ..firstWord = 4660 '1234 hex
>
> ..secondWord = 43981 'ABCD hex
>
> End Sub
>
> The line from the OMP file for firstByte:
>
> ..V-105.....1..oVar8.........firstByte
>
> The conversation:
>
> Send: \0V
>
> Recv: v
>
> Send: U
>
> Send: 16H105J64LM
>
> Recv: 77m
>
> Expected: 0Fm
>
> Ok that is it in a nutshell. Any ideas?
>
> Thanks,
>
> Dogulas
>
I started to look at the SCP stuff this morning and it occurred to me
that you should, of course, try the command strings from a terminal.
As I wandered through the documentation, I couldn't help but notice
that your long command was broken up into individual, smaller,
commands with expected replies in the documentation.
So, I wonder what will happen if you break it up the way the
documentation shows...
Richard

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )Re: SCP accessing variables in RAM getting garbage - Ian Drennan - Feb 29 18:20:57 2008
Doug
It would seem that the banks as described in the manual are differently
denoted to that as shown in the information window.
i.e. in the info window...Bank 0 = Bank 0 & 1 in the documentation
in the info window...Bank 1 = Bank 2 & 3 in the documentation
Confusing to say the least.
Think of it this way:
Bank 0 Area A = Bank 0 in the documentation
Bank 0 Area I = Bank 1 in the documentation
Bank 1 Area V = Bank 3 in the documentation
Bank 1 Area F = Bank 4 in the documentation
With that in mind try the following:
firstbyte - send: \0105J144H128LM
secondbyte - send: \0106J144H128LM
thirdByte - send: \0107J144H128LM
firstWord - send: \0108J145H128LM ....you will get a return of
3412m Note the order in which the bytes are returned.
secondWord - send: \0110J145H128LM ....you will get a return of
CDABm Note the order in which the bytes are returned.
Regards
Ian

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )
Re: Re: SCP accessing variables in RAM getting garbage - ooPIC Tech Support - Feb 29 20:06:36 2008
I would break the 'H..J' and the 'M' commands up and explicitly address
them. There is a possibility that your first command isn't done before
the second one tries to execute. SCP commands are not necessarily done
serially. I like to keep commands "atomic" and no more than 8 bytes
long if possible. This means that I would do the Because you were
accessing RAM and not object memory you'll go over my 8 byte "comfort
zone", but it should still work - As long as the C firmware puts things
in the same place! I'll contact the developer to make sure this is so.
In short, set the memory in one SCP command, read or write it in another
one.
DLC
Doug Taylor wrote:
> Hi,
>
> OOPic III+ Ver C.1.1+ Compiler 6.1.1
>
> Ok, let me boil it down some more.
>
> The OOPic code:
>
> Dim firstByte As Byte
>
> Dim secondByte As Byte
>
> Dim thirdByte As Byte
>
> Dim firstWord As Word
>
> Dim secondWord As Word
>
> Sub Main()
>
> ..firstByte = 15 '0F hex
>
> ..secondByte = 171 'AB hex
>
> ..thirdByte = 205 'CD hex
>
> ..firstWord = 4660 '1234 hex
>
> ..secondWord = 43981 'ABCD hex
>
> End Sub
>
> The line from the OMP file for firstByte:
>
> ..V-105.....1..oVar8.........firstByte
>
> The conversation:
>
> Send: \0V
>
> Recv: v
>
> Send: U
>
> Send: 16H105J64LM
>
> Recv: 77m
>
> Expected: 0Fm
>
> Ok that is it in a nutshell. Any ideas?
>
> Thanks,
>
> Dogulas
>
> [Non-text portions of this message have been removed]
>
>
>

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )
Re: SCP accessing variables in RAM getting garbage - Ian Drennan - Mar 1 1:38:21 2008
Oops...correction. This should have read:
Bank 0 Area A = Bank 0 in the documentation
Bank 0 Area I = Bank 1 in the documentation
Bank 1 Area V = Bank 2 in the documentation
Bank 1 Area F = Bank 3 in the documentation
Ian
Ian Drennan wrote:
> Doug
>
> It would seem that the banks as described in the manual are differently
> denoted to that as shown in the information window.
>
> i.e. in the info window...Bank 0 = Bank 0 & 1 in the documentation
> in the info window...Bank 1 = Bank 2 & 3 in the documentation
>
> Confusing to say the least.
>
> Think of it this way:
>
> Bank 0 Area A = Bank 0 in the documentation
> Bank 0 Area I = Bank 1 in the documentation
> Bank 1 Area V = Bank 3 in the documentation
> Bank 1 Area F = Bank 4 in the documentation
>
>

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )
Re: SCP accessing variables in RAM getting garbage - Doug Taylor - Mar 1 7:40:38 2008
Hi,
OOPic III+ Ver C.1.1+ Compiler 6.1.1
Ok, let me boil it down some more.
The OOPic code:
Dim firstByte As Byte
Dim secondByte As Byte
Dim thirdByte As Byte
Dim firstWord As Word
Dim secondWord As Word
Sub Main()
..firstByte = 15 '0F hex
..secondByte = 171 'AB hex
..thirdByte = 205 'CD hex
..firstWord = 4660 '1234 hex
..secondWord = 43981 'ABCD hex
End Sub
The line from the OMP file for firstByte:
..V-105.....1..oVar8.........firstByte
The conversation:
Send: \0V
Recv: v
Send: U
Send: 16H105J64LM
Recv: 77m
Expected: 0Fm
Ok that is it in a nutshell. Any ideas?
Thanks,
Dogulas
[Non-text portions of this message have been removed]

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )
Re: SCP accessing variables in RAM getting garbage - Doug Taylor - Mar 1 12:08:14 2008
Thanks Ian,
That certainly works for variable, but it breaks down with objects. I
expanded my sample test and these are the results:
---
OOPic Code:
Dim firstByte As Byte
Dim secondByte As Byte
Dim thirdByte As Byte
Dim firstWord As Word
Dim secondWord As Word
Dim firstObj As oByte
Dim secondObj As oByte
Dim thirdObj As oMathO
Sub Main()
..firstByte = 15 '0F hex
..secondByte = 171 'AB hex
..thirdByte = 205 'CD hex
..firstWord = 4660 '1234 hex
..secondWord = 43981 'ABCD hex
..firstObj = 15
..secondObj = 1
..thirdObj.Input1.Link(firstObj)
..thirdObj.Input2.Link(secondObj)
..thirdObj.Mode = cvAdd
..thirdObj.Operate = cvOn
End Sub
---
Mapping in information box in the OOPic interface:
firstByte = Bank1, AreaV, Bank in sub address: 2
secondByte = Bank1, AreaV, Bank in sub address: 2
thirdByte = Bank1, AreaV, Bank in sub address: 2
firstObj = Bank0, AreaI, Bank in sub address: 0
secondObj = Bank0, AreaI, Bank in sub address: 0
thirdObj = Bank0, AreaA, Bank in sub address: 0
Note that we would expect that firstObj and secondObj would use bank 1
in the sub address to be consistant with the "areas map to
banks" theory, but it isn't the same in practice.
---
Lines from the Omp file:
V.I-126.....2..oByte.........firstObj
V.I-124.....2..oByte.........secondObj
V.A-41......5..oMathO........thirdObj
---
The conversation:
Send: \0V
Recv: v
Send: U
Send: 0H126J0LM = read value of firstObj
Recv: 15m = expected value
Send: 0H41J0LM = read value of thirdObj
Recv: 16m = expected value
This test would imply that things in Area A, and Area I need a sub
address bank of 0, whereas things in Area V need a sub address bank of
2. I have no idea what Area F is for.
Ian, if you have time would you independently verify these findings. I
need a sanity check.
Thanks,
Dogulas
[Non-text portions of this message have been removed]

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )
Re: SCP accessing variables in RAM getting garbage - Doug Taylor - Mar 1 12:25:12 2008
--- In o...@yahoogroups.com, ooPIC Tech Support
wrote:
>
> I would break the 'H..J' and the 'M' commands up and explicitly
address
> them. There is a possibility that your first command isn't done before
> the second one tries to execute. SCP commands are not necessarily done
> serially. I like to keep commands "atomic" and no more than 8 bytes
> long if possible. This means that I would do the Because you were
> accessing RAM and not object memory you'll go over my 8 byte "comfort
> zone", but it should still work - As long as the C firmware puts
things
> in the same place! I'll contact the developer to make sure this is so.
>
> In short, set the memory in one SCP command, read or write it in
another
> one.
>
> DLC
>
> --
> ------------------------------------------------------
> Dennis Clark ooPIC Tech Support
> www.oopic.com
> ------------------------------------------------------
>
Hi Dennis et. al.,
Thanks for the tip. I'll probably put it into practice. However, in my
simple test the problem seems to be only with the selection of the
correct memory bank in the sub address register. In another sub thread,
I have a working test.
In that test I seem to have no problem what so ever sending a string
like: "0H126J0LM" in one go. Maybe it is because I previously sent the
"U" command which eliminated any return messages until it reached the
"M" command at the end.
I'll probably use your advice to be safe.
Thanks,
Dogulas
[Non-text portions of this message have been removed]

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com ) Re: SCP accessing variables in RAM getting garbage - Doug Taylor - Mar 2 9:50:13 2008
--- In o...@yahoogroups.com, Andrew Porrett
wrote:
>
> Normally, you would configure your group preferences to have
> individual messages emailed to you; then you simply reply in your
email client.
>
> At 03:14 PM 2/29/2008, Doug Taylor wrote:
> >I'm new to Yahoo groups (obviously). Do you mean I can just email to
> >o...@yahoogroups.com? If so, how do I indicate which posting I want
> >to respond to so that it is linked properly?
>
Oh, I get it. Thanks.
Dogulas

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )Re: Re: SCP accessing variables in RAM getting garbage - Andrew Porrett - Mar 2 15:21:29 2008
Normally, you would configure your group preferences to have
individual messages emailed to you; then you simply reply in your email client.
At 03:14 PM 2/29/2008, Doug Taylor wrote:
>I'm new to Yahoo groups (obviously). Do you mean I can just email to
>o...@yahoogroups.com? If so, how do I indicate which posting I want
>to respond to so that it is linked properly?

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )
Re: SCP accessing variables in RAM getting garbage - m_elias - Mar 19 16:02:34 2008
>
> Ian, if you have time would you independently verify these findings. I
> need a sanity check.
Any further progress on this? I too am having difficulty understanding
how the "Banks" (0-3) are arranged. The compiler (v6) denotes the
"area" (A,I,V) and the address but I can't figure out how to
successfully address anything other than in "Object Default Property"
mode.
========================================================================
Groups related to oopic
========================================================================
SeattleRobotics (233 common members)
http://groups.yahoo.com/group/SeattleRobotics?v=1&t=ipt&ch=email&pub=groups&slk=aftr0&sec=recg
Mechanical/Robotics: The Seattle Robotics Society is a world wide group...
piclist (183 common members)
http://groups.yahoo.com/group/piclist?v=1&t=ipt&ch=email&pub=groups&slk=aftr1&sec=recg
Microprocessors/Microcontrollers: A discussion group for the PICMicro
microcontrolle...
Robotics (130 common members)
http://groups.yahoo.com/group/Robotics?v=1&t=ipt&ch=email&pub=groups&slk=aftr2&sec=recg
Mechanical/Robotics: Robotics discussion group. This egroup is for thos...
rabbit-semi (119 common members)
http://groups.yahoo.com/group/rabbit-semi?v=1&t=ipt&ch=email&pub=groups&slk=aftr3&sec=recg
Microprocessors/Microcontrollers: This is a user group for folks designing and
progr...
PARTS (107 common members)
http://groups.yahoo.com/group/PARTS?v=1&t=ipt&ch=email&pub=groups&slk=aftr4&sec=recg
Mechanical/Robotics: Portland Area Robotics Society is a club formed to...
------------------------------------

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )
Re: SCP accessing variables in RAM getting garbage - Doug Taylor - Mar 19 17:18:28 2008
--- In o...@yahoogroups.com, "m_elias"
wrote:
>
> Any further progress on this? I too am having difficulty understanding
> how the "Banks" (0-3) are arranged. The compiler (v6) denotes the
> "area" (A,I,V) and the address but I can't figure out how to
> successfully address anything other than in "Object Default Property"
> mode.
>
m_elias,
Certainly!
The statement in my previous post turns out to work for me. I'm
currently using it without problems.
"This test would imply that things in Area A, and Area I need a sub
address bank of 0, whereas things in Area V need a sub address bank of
2. I have no idea what Area F is for."
Hope it works for you.
Dogulas
------------------------------------

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com ) Re: SCP accessing variables in RAM getting garbage - m_elias - Mar 19 20:37:43 2008
--- In o...@yahoogroups.com, "Doug Taylor"
wrote:
>
> --- In o...@yahoogroups.com, "m_elias" wrote:
> >
> > Any further progress on this? I too am having difficulty
understanding
> > how the "Banks" (0-3) are arranged. The compiler (v6) denotes the
> > "area" (A,I,V) and the address but I can't figure out how to
> > successfully address anything other than in "Object Default
Property"
> > mode.
> > m_elias,
>
> Certainly!
>
> The statement in my previous post turns out to work for me. I'm
> currently using it without problems.
>
> "This test would imply that things in Area A, and Area I need a sub
> address bank of 0, whereas things in Area V need a sub address bank of
> 2. I have no idea what Area F is for."
>
> Hope it works for you.
>
> Dogulas
>
Thanks Doug,
I did some testing using a similar technique to what 'jeffmaya'
suggested in another post,
For i = 0 to 127
MSComm1.Output = i & "J"
MSComm1.Output = "144H"
MSComm1.Output = "M"
DoEvents
Next 'i
I used that to determine which Banks contained what. You are correct,
V area = Variable Memory = Bank 2
A Area = Object Memory = Bank 0
I Area = end of Object Memory(oByte type stuff) = Bank 0
[Non-text portions of this message have been removed]
------------------------------------

(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )