Subject: Misc Questions

From: "Jeff" <fyberoptic1979@...>
Date: Fri, 27 Jul 2007 15:59:43 -0000

I decided to make a new topic with just a bunch of various questions, 
and hopefully it'll be easier for folks to find in a search.  HERE 
GOES~

- What does "XTND: On" mean exactly in the top right corner of the 
options screen?

- From my understanding, the demo units of the DET1 allowed you to 
type in your own POP/SMTP servers.  Does this mean the codeflash 
between a demo unit and standard unit are different, or is it simply 
detecting some hardware aspect and locking out the feature from 
standard units?  If the code is indeed different, has it ever been 
dumped?  If not/so, are the dumps in the Files section from a 
standard unit?  

My own demo unit version seems to be 3.03a, which makes me think that 
the code is in fact different, and that it hasn't been dumped (or at 
least not uploaded), but I wanted to verify both things.

And related to this, I assume it would be possible to take a dump 
from a demo unit and put it on a standard unit, so that one could 
change the POP/SMTP servers.  Not that it matters much, I don't use 
the modem functionality of the MS, but I'm curious nonetheless.

- Do we know what all triggers NMI interrupts?

- Do we know how exactly to write into the codeflash and/or dataflash 
via software?  Apparently the Mailstation can do it, so I'm only left 
to assume one can either use the routines already there, or someone 
has possibly figured out how to do it from scratch.  

- How is a codeflash update triggered from the parallel port?

- How does the port "P2C = printer data direction" work?  And related 
to that:  once set as inputs, does one still need to write 1's to the 
data port in order to read from it properly?

- Did we ever find out if there was a device 6?  There seems to be a 
pin for it on the processor pinout list.  If nothing's attached, it 
could be kind of useful for adding ones own hardware.  Assuming one 
could even solder to the tiny pins on the board!  

I thought I had more questions, but they seem to have escaped me at 
the moment.  But this is enough for now!

---

From: "John R. Hogerhuis" <jhoger@...>
Date: Fri, 27 Jul 2007 11:04:59 -0700

Usually on devices like this I believe power-off is what triggers NMI.
This gives a small window to prepare for loss of power.

-- John.

---

From: "Neil Morrison" <neilsmorr@...>
Date: Fri, 27 Jul 2007 19:02:13 -0000

My take on this is that there must be a pin which puts the port into a
quasi serial I/O mode, and this is how the device is reflashed.

Neil

---

From: "Jeff" <fyberoptic1979@...>
Date: Mon, 30 Jul 2007 01:48:56 -0000

> has possibly figured out how to do it from scratch.  

I'm going to answer my own question with a bit of a "duh", because I 
forgot that most modern Flash memory can be programmed in-system with 
series of standard read/write command sequences.  I normally do all 
the ones I work with in a programmer, though I remembered this 
helpful little fact while reading over a datasheet for a different 
eeprom, which prompted me to look at the sheet for the Mailstation's 
dataflash (28SF040).  It appears even simpler to do than some.  Only 
tricky part is that you'd have to write to the appropriate 
Mailstation port to change the dataflash page (in whichever device 
slot you were using) to set the upper address pins (A14-18), then 
separately set A0-13 to the lower dataflash address during a normal 
read/write z80 command, while making sure to still set A14-15 from 
there appropriately to make sure you were writing to the correct 16k 
Mailstation slot (aka to the eeprom).

Only difference I see from a quick glance at the codeflash is that it 
has some longer command sequences, and of course a different sector 
size.

Anyhoo, as I said, that may be a bit of a "duh" to many folks I'm 
sure, but maybe it'll be useful info to somebody else.  Obviously one 
shouldn't still need the MS's flash writing routines if you were 
going to totally replace its data/codeflash.

---

From: "Cyrano Jones" <cyranojones_lalp@...>
Date: Wed, 01 Aug 2007 05:03:57 -0000

> - What does "XTND: On" mean exactly in the top right corner of the 

XTND, as best I can guess, refers to extensions to the pop 
protocol that allow clipmail commands to work.  I also 
suspect that the "XTND: ON" is what prevents the mailstation 
from working with some pop servers.

> type in your own POP/SMTP servers.  

I think what you are calling demo might really be just an 
unlocked unit.  Some mailstations were sold that can use 
any isp, others are locked into using pop.mailstation.com.

One of my mailstations is a demo unit, and it has some 
canned messages in it that cannot be erased.  I do not 
think it can be used to get email from a real account 
(but I never tried).

It can "get mail" even without plugging it in to a phone 
line, a couple of canned messages are added to the inbox.  
You can compose new messages, but I'm pretty sure it won't 
really send them.  Whenever you power cycle, any changes 
that were made are lost, inbox and outbox revert to 
original messages.

> Does this mean the codeflash 

I don't know if it is a setting, or different firmware 
that makes these "demo" units, but mine most definitly 
says "loading demo data" on the screen when it boots up, 
before the cidco logo appears.  AFAIK, all the mailstations 
have same memory capacity (except 350).

After typing the above, it occurs to me that I can't 
remember if I ever opened up this "demo" unit.  I did 
find *that* one, in a box with several mis-flashed units :-] 

So, I just opened it up, and my first surprise was there 
were no speaker wires holding board from coming loose 
from case.  Second was a bit more of a shock, a bunch 
of the chips were missing from board!  

The cpu/ram/codeflash/dataflash are all there, and same 
capacity as normal units, but none of the modem
circuitry is there!!!

So, I guess there is no chance of flashing this one 
into a normal mailstation.  

The firmware version shown on the settings screen is 
2.53YR, which is the same as the one I had been working 
with.  But in the test mode, it shows it as 
"version 2.53YR Demo", which seems to indicate it is 
special firmware, not just a setting (the missing 
components point that way, too!)

I put a list of the different models that I am aware 
of in groups "database" section.  From what I have 
gathered, any of the various firmware versions can 
be locked or unlocked, where the difference is whether 
you can change the servers or not.  I have noticed 
that some firmware versions that include a "R" at 
the end cannot be set to any server, even with the 
"flash test" method.  All those without the "R" will 
accept any server after erasing flash.  I checked in 
the code (of either 2.22r or 2.53r), and it has 
hardcoded strings that it uses rather than asking user 
for pop and smtp entries.

I only dumped a 2.53yr (and I am pretty sure I verified 
it against the dump in file area).  I have looked at the 
first 4 pages of several firmware versions, after 
flashing sboot into the higher pages.

I don't intend to *post* any rom images myself, unless 
I get permission from Earthlink.  The listing for 
spew.asm was supposed to make downloading a rom image 
unnecessary.

> - Do we know what all triggers NMI interrupts?

Both the normal INT, and nonmaskable NMI vector to the 
same routine.  Port #03 is polled to find source.  I can 
only speculate on what is activating the interrupts, but 
the ISR has been studied:

if p3.7 caller_id_handler
if p3.5 sets bit 0 of #D631 (whatisit???) (related to rtc???)
if p3.6 Modem handler
if p3.4 increment time16
if p3.3 null
if p3.0 null
if p3.1 KB scan (just 1 row each int), time32, and 10 timers.
if p3.2 null

The odd ordering of the port 3 bits reflects the priority
given to each interrupt.  Callid is highest priority.

> via software?  

Mailbug can use the mailstations built in reflash.  
That's how we have been installing sboot.

> Apparently the Mailstation can do it, so I'm only left 

Mailbug can also write to codeflash without using 
the native reflash code, but it needs one of the 
various boot progs (mboot, sboot, or bootapp) to 
load the remote control stuff (mbug).

Mailbug cannot yet write to the dataflash (that 
jogs my memory a bit, that was the reason 0.0.4 
was not yet released).

> - How is a codeflash update triggered from the parallel port?

See message #92
http://tech.groups.yahoo.com/group/mailstation/message/92?var=0&l=1

> data port in order to read from it properly?

I think a 1 makes coresponding bit an output????
I don't think it matters what was written when it
is an input???  Sorry, it has been about three years 
since I thought about this.

> could even solder to the tiny pins on the board!  

It seems to be available.  And yes, it would be
hard to connect to it, but not impossible.

--CJ

---

From: "Jeff" <fyberoptic1979@...>
Date: Wed, 01 Aug 2007 06:01:55 -0000

--- In [email-masked], "Cyrano 
> that were made are lost, inbox and outbox revert to 

That's pretty odd then, because I definately know mine came from a 
store display, and also has a sticker on it saying "This unit is for 
demo purposes only and will not send/receive email" towards the top 
left, and a big "NOT FOR RESALE" on the back.  Yet I know it sends 
email and that the modem components are there, because I've used it 
to receive email in the past.

So I dunno, perhaps this is just an unlocked unit as you mentioned, 
just being used as a demo unit.

The one you have though still sounds perfectly good for using it as a 
development system or other useful thing, as long as it can still be 
flashed the same.  Even if I ever do get an OS onto my own, I doubt 
I'll even use the modem functionality for anything.  I haven't had 
dial-up internet access to mess with for a while now.

> http://tech.groups.yahoo.com/group/mailstation/message/92?var=0&l=1

Oh hey, I totally missed that message when digging through old ones.  
That one has lots of good tidbits!  Especially what all the functions 
are for in the page 1 jump list, which I asked about in another post.

> since I thought about this.

I wrote my own routines earlier to send out bytes/strings and found 
that I never needed to set that input/output port for it to work 
correctly.  Of course it might have already been set during some MS 
init code, so I'll have to try setting it both ways before I run my 
version of sendbyte, and see what happens.

---

From: "Neil Morrison" <neilsmorr@...>
Date: Wed, 01 Aug 2007 06:31:32 -0000

You could upload them to Rapidshare.com and post links to them here.
If Earthlink bitches Rapidshare will pull them but Earthlink is trying
to bail on this system now so I doubt they'll care.

If you want to know more about Rapidshare, see
http://www.filecatchers.com/forum/

Neil

--- In [email-masked], "Cyrano Jones"
<cyranojones_lalp@...> wrote:
...