Searching \ for '--' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: massmind.org/techref/index.htm?key=
Search entire site for: '--'.

No exact or substring matches. trying for part
PICList Thread
'False Alarm -- Accessing EEPROM '
1994\07\04@042150 by manningc

flavicon
face
Sorry about the mistake! If I had one IQ point less, I would probably be a
plant.

Here it is in case anybody needs to access eeprom data.

-- Charles

eeread
; reads from position in eeadr into eedata
       bsf     status,rp0
       bsf     eecon1,rd
       bcf     status,rp0
       return

eewrite
; writes stuff in eedata into position at eeadr
       bsf     status,rp0
       bsf     eecon1,wren
       movlw   55h
       movwf   eecon2          ;<-- had been movlw eecon2
       movlw   0AAh
       movwf   eecon2          ;<-- had been movlw eecon2
       bsf     eecon1,wr
wait_wr btfsc   eecon1,wr
       goto    wait_wr
       bcf     status,rp0
       return



'Topic 0.1 released -- a free PIC assembler with so'
1994\08\25@072523 by crocontroller discussion list
flavicon
face
You can get topic-0.1.zip from ftp.funet.fi in the directory
/pub/microprocs/pic/topic. (If your filing system doesn't support
multiple dots in the filename, enter a command like "get topic-0.1.zip
topic01.zip" to store it with a different local filename).

Below I've included the short README file.

Enjoy!

-- vinsci

README:

This README file describes Topic release 0.1, an assembler for the PIC
microcontroller series.  The PIC is manufactured by Microchip Technlogy
Inc.

This assembler is published under the GNU General Public License in
the hope that others will use and benefit from this program as well as
contribute their own improvements and extensions for all of us to
share.

What it doesn't do (yet):

While I believe Topic does things the right way, it currently lacks
features that will hopefully be available in later versions.  Such as
pseudo instructions (easily added), macros (the code to insert macros
already exist and works), optional ",0" or ",1" as a second argument
(easiliy added), real expressions and operators (this is the biggest
drawback in this first release), conditional assembly (we need to see
if GASP, the Gnu ASsembler Preprocessor, suits our needs) etc.

What it does:

It does support symbols (any length symbol name), file inclusion, good
warning and error message capability (some of the messages in this
release are on the lighter side -- see the source in case you don't
understand a message).  It also supports a variety of ways to write
constants.  It writes a simple symbol table, reporting which symbols
were really used and which were not.  It writes an object file in the
same format as Microchip's MPALC assembler if the assembly was
successful, or none if not.  Topic doesn't crash your machine when it
doesn't see what it expected (unlike MPALC).

This software is pretty much experimental so far (it's less than a
week old, what do you expect?), but it is cleanly written.  There are
even a few comments.

Currently, it only supports the 12 bit variants of the PIC, but I've
designed the assembler so that it is very easy to extend it to the 14
bit core as well and make the choice while the assembler is running
(ie. using an assembler directive).  Some constants in the source now
make the assembler believe the memory size is 2048 instruction words
as for the PIC 16C57, which I work with, hmmm ;-), but all this is
very easily changed.

OK, how do I improve it and recompile it?

First get a standard C compiler.  I used the GNU C compiler GCC which
is available for free on the net and is a very good compiler and has
everything you need.
 For MSDOS systems, get the variant of GCC called DJGPP:

       File location:
           host:      omnigate.clarkson.edu
           login:     ftp
           password:  send your e-mail address
           directory: ~ftp/pub/msdos/djgpp

If you have a make utility, just CD into the Topic subdirectory and
type MAKE.  To compile by hand, give the command "gcc -o topic
topic.c".  Easy!  (If you're using DJGPP, you can now run the file
topic, which is still in unix format, with the command "go32 topic
source.asm" to assemble source.asm and produce source.obj.  You can
also create a normal executable with DJGPP, after that the command
would be "topic source.asm", as on a unix system.)
 Spots that could use some improvement are marked by the word fixme.

Are you improving the assembler?

Any improvements and/or bug fixes that are clean and well thought out
are welcome by e-mail at the address below.  Please use the DIFF
command "diff -c2 topic.c newtopic.c >diffs" to produce the diffs
file, and e-mail me that along with a description of the diff in
question.  Make separate diffs for changes/improvements that aren't
related and send them in separate e-mails.  All changes should follow
the GNU coding standards to reasonable extent to maintain readability.

Enjoy!  E-Mail: spam_OUTvinsciTakeThisOuTspamnic.funet.fi
       Mail:   Leonard Norrgard
               Skolhusgatan 32 A 14
               FIN-65100 VASA
       Phone:  +358-49-434808

-- vinsci

1994\08\25@074828 by crocontroller discussion list

flavicon
face
>
> You can get topic-0.1.zip from ftp.funet.fi in the directory
> /pub/microprocs/pic/topic. (If your filing system doesn't support
> multiple dots in the filename, enter a command like "get topic-0.1.zip
> topic01.zip" to store it with a different local filename).
>
> Below I've included the short README file.
>
> Enjoy!
>
> -- vinsci
>
Good!  I'm glad to see someone starting this!  I'm presently using the gnu
c compiler, and I'm pleased to see some software development for the pic's
following the same route.

What about a simulator?  It sure would be nice to have some control over
what a simulator can do.

Yours,

Derrick Early, the rookie

1994\08\25@080944 by crocontroller discussion list

flavicon
face
Damn, beaten by a couple of days... ;-)

I have also just finished an assembler for pics, just the
documentation and a bit more testing left to do before its released.
Compared to topic is has:

pros: macros, real expressions, conditional assembly, local variables
and labels, 12 and 14bit pics, a simple disassembler.

cons: own object file format (with conversion tools to and from
intel hex.) C format numbers (i.e. 0xff etc), and error handling
is "simplistic" and finally no clever name (topic, aspic) thought
up yet ;-)

I will try to get the docs done this weekend and put it up for ftp
next week.  It has been built under linux and gcc, but should work under
any unix or even dos (using djgpp).

=%-)

Ian

p.s. votes for next tool being taken, simulator or picstart code downloader.
p.p.s. does anyone know the format of the picstart download protocol or
e-mail address for someone at microchip who might know.

1994\08\26@082307 by crocontroller discussion list
flavicon
face
> Damn, beaten by a couple of days... ;-)
> I have also just finished an assembler for pics, just the
> documentation and a bit more testing left to do before its released.

Heh ;-) I skipped the docs part altogether, which probably saved a
couple of days...

> Compared to topic is has:
>
> pros: macros, real expressions, conditional assembly, local variables
> and labels, 12 and 14bit pics, a simple disassembler.

Sounds great!

> cons: own object file format (with conversion tools to and from
> intel hex.)

This is not necessarily a con; running those conversion tools
is anyway easiliy automated as needed.

> C format numbers (i.e. 0xff etc), and error handling
> is "simplistic" and finally no clever name (topic, aspic) thought
> up yet ;-)

Well, it seems a bit hotter than Topic, so maybe Tropic would be nice? ;-)

> Ian
>
> p.s. votes for next tool being taken, simulator or picstart code downloader.
> p.p.s. does anyone know the format of the picstart download protocol or
> e-mail address for someone at microchip who might know.

A picstart code downloader should be pretty easy and very desirable to
get out of the MSDOG/Windows dependance (I just hate to have to boot
my PC ten times a day whenever the system crashes; not that booting
takes such a long time but it interrupts my flow of thoughts).

For the simulator which I'm sure we'll build sooner or later, I've
been thinking of using the combination of C and Tcl/Tk (see
comp.lang.tcl).  Tcl is a rather nice library that would give the
simulator great scripting capabilities, while Tk is a GUI toolkit for
Tcl with the look and feel of Motif.  Tcl/Tk interfaces very well with
C allowing the simulator to be written partly in Tcl (faster to
edit/test/fix) and partly in C (faster final code); thus one can start
most of it off in Tcl and then code the timecritical parts in C
routines as needed.  Tk provides some nice features that are ideal for
a CPU simulator, or any program that needs to update screen data as
variables change.
 Tcl/Tk come with an X11 or BSD type public license and are available
under both Unix/X11 (Linux, for example) and MSDOS/Windows (for those
unfortunate of you ;-), so the simulator could be used by a large
number of people.

-- vinsci


'Request for info on PIC <--> RS232 interfacing.'
1995\05\19@100227 by Chris Madden
flavicon
face
RS232 interfacing made easy.

What you need:
--------------
               1. MAX232 / MAX233

Why you need:
-------------
               1. VOLTAGE LEVEL CONVERSION
                  -------------------------
                  The MAX232/3 acts as a voltage level converter.
                   It converts the 0/5V TTL level of the PIC to
                   +12/-12V level of the RS232 target system.
                  The MAX232 employs a charge pump to achieve the
                   larger voltage. The charge pump requires external
                   resistors / capacitors for the MAX232.
                  The MAX233 has these resistors / capacitors on chip &
                   therefore offers a SINGLE CHIP TTL <--> RS232 VOLTAGE
                   LEVEL CONVERTER.

What you need to know:
----------------------
               The MAX232/3 contains two receive & two transmit buffers
                (ie you can convert two different TTL signals to RS232 &
                two different RS232 signals to TTL).
               For a bare-bones-up-and-running-quickly implementation
                you need only one transmit and one receive buffer.
               For handshaking (if it's necessary) the spare transmit and
                receive buffer can be used for CLEAR_TO_SEND (CTS) and
                REQUEST_TO_SEND (RTS) signals.
                Using these spare buffers in this way will improve
                 communication reliability.


Example (My first attempt at ascii art!) :
--------
BARE-BONES-UP-AND-RUNNNG-QUICKLY IMPLEMENTATION:


       [RS232:+12/-12V]                              [TTL:0/5V]
                            MAX232/3                      PIC
                               ___                        ___
                                |   +5V                    |   +5V
                            ---------                   -------
                           |         |          RB0    |       |
       TARGET TX           |   |\    |          PIC RX |       |
               ________\___|___| \___|__\______________|       |_____
                       /   |   | /   |  /              |       |     |
                           |   |/    |                 |       |    ----
                           |         |          RB1    |       |    ||||
       TARGET RX           |    /|   |          PIC TX |       |    ----
               ________/___|___/ |___|__/______________|       |_____|
                       \   |   \ |   |  \              |       | crystal
                           |    \|   |                 |       |
                           |         |                 |       |
                            ---------                   -------
                                |                           |
                                |      Ground              ----
                              ----                         \  /
                              \  /                          \/
                               \/


       TARGET GROUND                                   PIC GROUND

                 _______________________________________
                |                                       |
                |                                       |
              ----                                     ----
              \  /                                     \  /
               \/                                       \/

The PIC exteranal interrupt pin may be used to signal the receipt of a START
bit. The remaining bits are then received in software from this pin.


Where to find out more:
-----------------------
               1. PIC AN510 application note: "implementation of an
                  asynchronous Serial I/O" at various PIC ftp sites.
               2. Serial communications FAQs:
            http://www.paranoia.com/~filipg/HTML/LINK/PORTS/F_Parallel.html




       Take Care,
               Chris Madden


1995\05\19@121750 by Paul Greenwood

flavicon
face
> RS232 interfacing made easy.
>
> What you need:
> --------------
>                 1. MAX232 / MAX233

Anyone know of a solution like this that allows you to tri-state the RS232
outputs?  (The +/-12V side - NOT the TTL side.)

--
           -- Paul Greenwood --  (.....pabloKILLspamspam@spam@austin.ibm.com)
For an idea to be fashionable is ominous, since it must afterwards be
always old-fashioned.

"His super power is to turn into a scotch terrier."

1995\05\20@182158 by Timothy McDonough DIAL UP1

flavicon
face
Some of the Linear Technology RS232 transcievers let you externally
shut down the chip, I don't recall if it puts the inputs and outputs
in a high-Z state.

On Fri, 19 May 1995, Paul Greenwood wrote:

{Quote hidden}

1995\05\21@173840 by Doug Sellner

flavicon
face
>> RS232 interfacing made easy.
>>
>> What you need:
>> --------------
>>                 1. MAX232 / MAX233
>
>Anyone know of a solution like this that allows you to tri-state the RS232
>outputs?  (The +/-12V side - NOT the TTL side.)
>
>--
>            -- Paul Greenwood --  (.....pabloKILLspamspam.....austin.ibm.com)
>For an idea to be fashionable is ominous, since it must afterwards be
>always old-fashioned.
>
>"His super power is to turn into a scotch terrier."


I'm no expert but I might try using a diode to turn the RS232 Level to
pullup only and use a terminating resistor to pull the line low at the end
of your chain of devices.

Doug Sellner
Beach Tech
4131 Vincent Avenue South
Minneapolis MN 55410

Voice (612) 924-9193 x 521
Fax   (612) 926-1145

Internet: EraseMEdsellnerspam_OUTspamTakeThisOuTembay.com


'"2 of N" Keyboard -- web/ftp'
1995\07\27@200048 by Don Lekei
picon face
Jory,

The pocket logic analyzer application (demo.zip) uses 2-of-N decoding.  The
source code is available on my bbs or my ftp site.

I have been having problems with the BBS computer recently so  I am considering
shutting down the bbs as it is today. I appologise to any users who have
experienced difficulties connecting.

In it's place, I am in the process of emulating it on the net! The BBS-style
interface page is not ready yet, but it will eventually be connected to my home
page:
"http://helix.net/~lekei/"

Just between you and me, Jory (the rest of you close your eyes)...  ;^)

The schematics so-far have only been available to registered users, but for the
next few days they may be available to anyone at:
"ftp://helix.net/helix-users/lekei/" since I haven't yet figured out how to
restrict access, or decided if I will just make them publicly available.

HARD HAT AREA! Mind the dust. The "virtual bbs" is being built over this
weekend.

Cheers,
-Don
--------------------------------------------------------------------------------
"Any sufficiently advanced technology can easily be mistaken for magic" -- Spock
Don Lekei -- lekeispamspam_OUTnorsat.com, @spam@72677.2623KILLspamspamcompuserve.com, KILLspamlekeiKILLspamspamhelix.net
Microsat Tech Support -- RemoveME74777.2363TakeThisOuTspamcompuserve.com    On Compuserve -- GO NORSAT
Norsat (+Microsat 150) Web Site.."http://www.norsat.com/norsat/"
Personal Web Site................"http://helix.net/~lekei/"
Mr. CPU's BBS....................(604) 597-3479


'Pic`s The ------>>>>> Question'
1995\08\28@051237 by MARTHINUS VENTER
flavicon
face
Hi Markus Tinus Venter here.

I wonder A friend & I is starting to lear The Pic Language.

Need Assemblers .  Need Protocol Info`s
Need a Lot.

Can you help us to get started. ????

I have Only A Pic16c84 DAta Book and that is were it end.

Can you help us to get some program examples /????

and more.


Have only Written one program But that did not work at all


So Please help Me\??????


Tnxs..


Tinus Venter

1995\08\28@063330 by Markus Seim

flavicon
face
> Need Assemblers .  Need Protocol Info`s
> Need a Lot.

> Can you help us to get started. ????

Hi Tinus and friend!

I'am using the PICSTART 16B development system from Microchip. This contains all
you
need (assembler, simulator, programmer, programming board and chip samples
[16C57, 16C71]).
All this for less than 350DM (~ $250 US). The development system can be used for
the 16C54, 16C55, 16C57, 16C71 and 16C84 microcontrollers by Microchip.
The package also contains an Embedded Control Handbook with many application
samples
(source code, etc.) and a Microchip Data Book which describes all
microcontrollers
and related IC's sold by Microchip.
You can also get additional informations via many WWW sites and from the
Microchip BBS
which can be reached for example via Compuserve (therefore you don't have to be
member
of Compuserve!).


Markus




               ##############################################
               #                                            #
               #  Markus Seim          Panasonic R&D Center #
               #  +49 6103/766124      Monzastr. 4c         #
               #  spamBeGonesukramspamBeGonespampanasonic.de  63225 Langen         #
               #                                            #
               ##############################################

'Pic`s The ------>>>>> Money'
1995\08\28@065444 by ERROL TERBLANCHE

flavicon
face
We are students on Tech in SA and we are on a VERY low buget!

'Pic`s The ------>>>>> Question'
1995\08\28@070105 by TINUS VENTER

flavicon
face
Date sent:      Mon, 28 Aug 95 12:29 MET DST
From:           TakeThisOuTsukramEraseMEspamspam_OUTpanasonic.de (Markus Seim)
To:             RemoveMEX4130352spamTakeThisOuTElise.ee.techpta.ac.za
Copies to:      PICLIST%MITVMA.BITNETEraseMEspam.....PSUVM.PSU.EDU
Subject:        Re: Pic`s The ------>>>>> Question

Hi Fello Programmer and friend!

I'am using the Home Brew Programmer development system from Hobby
Inc. This contains (assembler, programmer ).
All this for less than R100.00. The development system can be used for
the 16C54, 16C55, 16C57, and 16C84 microcontrollers by
Microchip.


Secondly I am a Student aND pOOR bROKE no oThER WhAY tO sAY bUT dAMM
bROKE


cAN`T aFFORD a PICSTART kIT.



                       *********************************
                       *  M. VENTER                    *
                       *  P.O. BOX 1276                *
                       *  POTGIETERSRUS                *
                       *  0600                         *
                       *  (012) 344 0981               *
                       *********************************

1995\08\28@072221 by Conny Andersson

picon face
M. VENTER wrote ...

> I'am using the Home Brew Programmer development system from Hobby
> Inc. This contains (assembler, programmer ).
> All this for less than R100.00. The development system can be used for
> the 16C54, 16C55, 16C57, and 16C84 microcontrollers by
> Microchip.

Oh, yeah! Ok, what about the '71, the one with built in A/D? and
what about support and upgrades when new processors are released?
(Just curious)

> Secondly I am a Student aND pOOR bROKE no oThER WhAY tO sAY bUT dAMM
> bROKE

Then don't throw yourself into this (expensive) hobby ...

> cAN`T aFFORD a PICSTART kIT.

Well, you can build David Tait's '84 programmer, check out the FAQ.
You have almost everything you need in the '84 including the convenient
EEPROM program memory.

... what was the question again?

---------------------------
Conny Andersson, LiTH

1995\08\28@074750 by TINUS VENTER

flavicon
face
Ok Sorry



I study Digital Tech. And it is req . to lear Pic Language.

So Without a Prog. One Can`t do mutch.

I have one it will prog Pic 16c84.

I think it is Enough.

If you are so Rich Why don`t you help me the.

HI
HI


TinTin

1995\08\28@075827 by ERROL TERBLANCHE

flavicon
face
Thanx. I have that plans.

But I need Literature #DS30189 :)

Thanx

1995\08\28@080655 by Conny Andersson

picon face
"TinTin" wrote ...

> I study Digital Tech. And it is req . to lear Pic Language.

Required?? What about all the other processors, 8051, 68705, 68HC11,
Texas, Hitachi, etc ... there are a lot of microcontrollers out there.

Personally, I think PIC:s are the BEST, they are fast, easy and (when you
know them) reliable.

> So Without a Prog. One Can`t do mutch.
>
> I have one it will prog Pic 16c84.
>
> I think it is Enough.

It's enough to start with, I agree completely.

I don't know how your school/university works but isn't it their
responsibility to supply with programmers, software etc?

> If you are so Rich Why don`t you help me the.
>
> HI
> HI
>

Ha, ha, to tell you the truth, I'm not that rich but I have
contacts instead ...
If you want, I can send you the 93' or the '94 Databook ...
(if you send me something in exchange of course)

Anyone else interested?
-----------------------
Conny Andersson, LiTH

1995\08\28@192835 by William D. McMillan

picon face
Well, MY dealer for MicroChip data sheets is J.L Montgomery Associates
Voice:(810-489-0099), Fax (810-489-0189)  (These are US #s, BTW).  I asked
them about the 16C84 serial programming spec sheet (not included in the
databook) and got it two days later.  They seem to have a strong helping
policy for students, and I like their attitude so far.  I live fairly close
to them, so I don't know if they have a distance limit.  But it can't hurt to
fax them with your request.


'stop spamming -- professional advice'
1995\10\10@171427 by PETE KLAMMER
flavicon
face
From:   IN%"EraseMEERICspamSEARN.SUNET.SE"  "Eric Thomas" 10-OCT-1995 14:38:39.87
To:     IN%"RemoveMEPKLAMMEREraseMEspamEraseMECASTLE.CUDENVER.EDU"  "PETE KLAMMER"
CC:
Subj:   RE: stop spamming

Return-path: <RemoveMEERICspam_OUTspamKILLspamSEARN.SUNET.SE>
Received: from SEARN.SUNET.SE by CASTLE.CUDENVER.EDU (PMDF V4.3-9 #7435)
id <RemoveME01HWA1LVISHC0009Q1TakeThisOuTspamspamCASTLE.CUDENVER.EDU>; Tue,
10 Oct 1995 14:38:37 -0600 (MDT)
Received: from SEARN.SUNET.SE by SEARN.SUNET.SE (IBM VM SMTP V2R2)
with BSMTP id 0266; Tue, 10 Oct 95 21:38:02 +0100
Received: from SEARN.SUNET.SE (NJE origin ERIC@SEARN)
by SEARN.SUNET.SE (LMail V1.2b/1.8b) with RFC822 id 7945; Tue,
10 Oct 1995 21:38:01 +0100
Date: Tue, 10 Oct 1995 21:37:59 +0100
From: Eric Thomas <EraseMEERICspamspamspamBeGoneSEARN.SUNET.SE>
Subject: Re: stop spamming
In-reply-to: Message of Tue, 10 Oct 1995 13:56:44 -0600 (MDT) from PETE KLAMMER
<RemoveMEPKLAMMERKILLspamspamCASTLE.CUDENVER.EDU>
To: PETE KLAMMER <PKLAMMERSTOPspamspamspam_OUTCASTLE.CUDENVER.EDU>
Message-id: <spamBeGone01HWA1M16A420009Q1STOPspamspamEraseMECASTLE.CUDENVER.EDU>> Content-transfer-encoding: 7BIT
Comments: This is a "standard reply", generated by a program

This  message is  being  sent  to you  because  you  reported a  spamming
incident to us and suggested that the spam originated at our site.

L-Soft international,  Inc. is  the company  that licenses  the authentic
LISTSERV(TM) software,  originally developed in  1986 by Eric  Thomas and
now available for VM, VMS, 13 brands  of unix, Windows NT and Windows 95.
We are definitely  not in the business of spamming.  In fact, spamming is
the single largest  threat to our business, because it  makes people want
to  refrain  from  using  mailing   lists.  We  are  actively  developing
technology to filter  out spams from LISTSERV lists.  The current version
of LISTSERV (1.8b)  comes with a spam  filter that has proved  to be very
effective in detecting spamming attempts,  but that does not always react
quickly enough to catch the first few occurrences of the spam, especially
if the spam  was sent during peak  hours or while a major  network hub is
down. In other words, a few  spams can "leak" through the current version
of the  detector. We  are working  on improving  detection speed  and our
latest current prototype appears to be  able to catch most spams from the
very first copy. Note that older versions of LISTSERV did not have a spam
detector, as  spamming was  virtually nonexistent at  the time  they were
released.

L-Soft  is not  an Internet  Service Provider.  We do  not sell  Internet
access or shell  accounts. The reason the spam may  have appeared to have
originated from our site is that we deliver a lot of traffic on behalf of
some  of our  customers,  and also  as  a public  service  to the  BITNET
community. They  run the  lists, and  we deliver  their mail.  We deliver
about  1,500,000 messages  in  this  fashion on  a  typical business  day
(OCT95). If a list  at one of the sites using  this service gets spammed,
our machines will  deliver the spam and leave a  trace in the "Received:"
lines. This is sometimes the first  "Received:" line because it is common
for  people to  configure their  lists to  eliminate "Received:"  headers
before reposting  the message. Again, we  do not sell Internet  access in
any  form.  People  cannot  possibly  spam from  our  site  because  only
employees and business partners have accounts on our machines.

Finally, we would  like to propose the following  guidelines for reacting
to unwanted solicitation on your lists:

1. DO NOT FLAME ON THE LIST!  The spammer is not subscribed, so you would
  just be adding to the noise level.

2. Remember the name  of the company that sent you the  ad, and make sure
  never to buy anything from them. Call their corporate headquarters and
  let them know how much you were upset by the spam.

3. Do not bother flaming the spammer.  By the time you read the spam, his
  account  will already  have been  closed,  assuming it  isn't a  bogus
  account  to start  with.  At any  rate, the  spammer  will not  bother
  reading people's indignant  replies. The spammer knows  very well what
  he is  doing, and isn't interested  in your feelings. So,  replying is
  just a waste of your time.

4. Do not flame the service provider. It is easy to say "You shouldn't be
  allowing people like XXXX to get  an account!", but it's impossible to
  implement in practice. Even if  someone developed a psychological test
  that enabled service providers to  detect would-be spammers in advance
  with 99.9% certainty, it would be a legal nightmare to put the test in
  operation. And  it would be completely  useless. All you need  to spam
  millions of  people is  a free  10-day trial  diskette from  any major
  online provider. All in all, it's  absolutely impossible to run a free
  interchange  medium like  the  Internet without  getting  a number  of
  unwanted people  in the lot. There  are murderers and drug  dealers on
  the Internet,  and there isn't  much anyone  can do about  it, because
  until they speak up they're just an e-mail address like any other. The
  same goes with spammers.

5. Do  not press  the service  provider for  assistance in  "tracing" the
  spammer. In  most countries it would  be unlawful for them  to release
  such information  to you. The  spammer probably provided  a snail-mail
  address or phone number in his message, or some other contact point to
  place orders. If you really want to find out more about him, this is a
  good starting point,  and it places you squarely in  the realm of real
  world law, which is well understood by the judges and lawyers.

6. If you want to inconvenience  the spammer in retaliation for the spam,
  by all means do go ahead,  but NOT OVER THE INTERNET! Mail-bombing the
  provider's Postmaster address will inconvenience the provider, not the
  spammer, and  in most cases the  provider is a victim,  just like you.
  It's going to  cost them thousands of dollars in  wasted manpower just
  to discard all the flamage they will receive. Instead, what you should
  do  is use  the real  world contact  info that  was provided  with the
  advertisement. This will  actually reach the spammer,  because this is
  where he is hoping to receive the  checks. Yes, it means you will have
  to use a real world communication medium, but that's your only option.
  The hard reality is that complaining over the Internet will accomplish
  nothing.  After  sending  the  ad,  the spammer  is  *gone*  from  the
  Internet. Orders will  be placed using real world methods  and that is
  your only means to reach the spammer from then on.

7. When accusing  people or companies in public, make  sure to check your
  facts carefully before pressing the SEND button. Remember how spamming
  works.  The spammer  abuses  the computer  resources  and manpower  of
  hundreds of thousands of sites worldwide to deliver his advertisement.
  The victims are you, us, and just about everyone on the Internet. Yes,
  even people whose name or hostname is mentioned in the mail header are
  likely to be victims; spammers have  no qualms about forging mail, and
  even when they  don't, it still doesn't mean the  parties involved had
  knowledge of the  spammer's activities and will share  the profits. So
  if  you have  to make  an  assumption, it  should be  that the  people
  involved in  the delivery of the  message are victims, just  like you,
  except that the spam will waste even  more time for them than for you.
  The last thing you need, when you have just spent four hours answering
  spam  complaints from  (other)  victims,  is to  see  a message  where
  someone accuses you  and/or your employer of being the  master mind of
  organized spamming and suggests that you should be shot for the public
  good, or at least  that someone should send the FBI  to your house and
  have you  put under arrest, followed  by a dozen of  messages agreeing
  with the previous one or suggesting more barbaric forms of punishment.
  In fact, such messages are taken  seriously by some of the people they
  target and may  result in serious psychological trauma.  They may also
  result in a lawyer or police officer giving you a phone call, when you
  did not really mean  what you were typing. So far  spamming has yet to
  result in human death; let's keep it this way.

Finally, you  should bear  in mind  that spams  have become  a commercial
industry. There are books telling you everything you have to know to make
a "successful" spam,  and there are companies that will  spam millions of
people for  a fee  (usually a  few hundred dollars).  The basic  facts of
spamming are that:

1. ANYONE CAN SPAM: anyone with Internet access can spam. It's impossible
  and  undesirable to  control who  has or  does not  have the  right to
  access the Internet, so there's nothing you can do to *prevent* people
  from sending out spam mail over the Internet.

2. SPAMMING IS  LEGAL (UNFORTUNATELY): to date, spamming  breaks no laws.
  As long as it remains legal, there  can be no fine or other punishment
  for the spammers. This is a  very profitable, if disreputable, form of
  business, so one can safely assume that it will only grow.

3. PEOPLE SPAM BECAUSE IT ACTUALLY WORKS: if spamming did not turn up any
  sale, it would have died out pretty quickly. Unfortunately, people are
  actually buying  from the  companies that spam,  making spam  the most
  cost effective form  of advertisement currently available.  As long as
  this remains the  case, companies will use it. As  a proof of concept,
  you will find that (real world)  junk mail is virtually nonexistent in
  some European countries, for the  very simple reason that people never
  buy when solicited  in this fashion. It ends up  costing more than the
  revenue it brings, and people don't do it.

Point 1 is pretty much a given. There  isn't much we can do about it. The
key problems  and points  2 and 3.  Point 3 is  the most  irritating, but
probably very difficult  to change, at least in the  US. People who react
positively to junk snail-mail will probably do the same with junk e-mail.
The  only credible  solution  seems  to update  the  legislation that  is
currently in  place for  phone solicitation and  extend it  to electronic
media. After all, unwanted solicitation  is unwanted solicitation, and it
doesn't really matter whether it comes in audio or digital signals.


'Parallax .src ----> Microchip .asm ???'
1996\03\21@014944 by Neilsen Garrett
picon face
Fellow PIC-ers,
  Where can I find a program to convert Parallax .src program files to
Microchip .asm format? I've invested a lot of my time in Microchip's
format, but there is much to learn from those .src programs!
                                         Thanks,
                                                NeilsenG

1996\03\21@085221 by Rob Martin

flavicon
face
At 01:48 AM 3/21/96 -0500, you wrote:
>Fellow PIC-ers,
>   Where can I find a program to convert Parallax .src program files to
>Microchip .asm format? I've invested a lot of my time in Microchip's
>format, but there is much to learn from those .src programs!
>                                          Thanks,
>                                                 NeilsenG
>
A program called swapcode is available from the Parallax ftp site
ftp.parallax.com.
Look in /pub/pub_up

It converts ASM to SRC and visa versa, does a good job.

Rob Martin
Association of American Railroads
Transportation Technology Center
Pueblo, CO 81001
KILLspamrobspamBeGonespamwheels.aar.com

1996\03\21@115905 by chall (Stephen Birchall)

picon face
>At 01:48 AM 3/21/96 -0500, you wrote:
>>Fellow PIC-ers,
>>   Where can I find a program to convert Parallax .src program files to
>>Microchip .asm format? I've invested a lot of my time in Microchip's
>>format, but there is much to learn from those .src programs!
>>                                          Thanks,
>>                                                 NeilsenG
>>
>A program called swapcode is available from the Parallax ftp site
>ftp.parallax.com.
>Look in /pub/pub_up
>
>It converts ASM to SRC and visa versa, does a good job.
>

try ftp.parallaxinc.com

Steve


'---> FREE 1 yr. Magazine Sub sent worldwide- 290+ '
1996\04\06@180033 by .fax.number.or.smail.address.shown.below.thank.youn/a
flavicon
-----> NOTE:   Please first read my note which appears below the "Request
for more info Form."  Then, to get more info, just fill out the "Request
for More Info" form completely and *FAX* or *SMAIL* it back to the company.
You will get a quick reply via email within 1 business day of receipt of
the info request form below.

IMPORTANT NOTICE FOR THOSE FAXING IN THEIR REPLY:  Please make sure you
return *only* the below form and *no part* of this message other than the
actual form below.  If you do not know how to cut and paste the below form
onto a fresh clean blank page for faxing, then you may re-type the below
form, as long as you copy it line for line *exactly.*  This is necessary in
order for them to be able to process the tremendous number of replies that
they get daily.

Your fax goes directly onto their 4.2 gigabyte computer hard drive, not
paper, and all incoming fax calls are set-up to be *auto-terminated* and/or
*auto-deleted* from the incoming queue of faxes to be read, if your fax:

1. has a cover page;
2. is more than one page
3. is sent more than one time
4. does not begin with the "cut here/begin" line from the below form
5. does not end with the "cut here/end" line from the below form.
6. has any handwritten info. on it (info must must be filled out *only*
   with your computer keyboard or typewriter keyboard).  This last
   provision re:  no handwriting on the form applies to requests sent in
   via smail also.

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
NOTE:  Their fax line is open 24 hrs. per day / 7 days per week.   However,
if you have trouble getting through due to the high volume of overseas
faxes coming in during the early morning and late night hours, please note
that the best time to get through to their fax is Monday-Friday, 9 am - 5
pm EST (New York Time).  If you have trouble getting through to their fax,
or do not have a fax machine at work or at home, just drop the below form
to them via smail (airmail or first class mail).
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^



*------------cut here/begin-------------------------------------------*
REQUEST FOR MORE INFO:  please return *only* this section (with no cover
page) via 1-page fax to:
                             718-967-1550 in the USA

or via smail (first class mail or airmail) to:
                                        Magazine Club Inquiry Center
                                        Att. FREE Catalogue-by-email Dept.
                                        PO Box 990
                                        Staten Island NY  10312-0990

Sorry, but incomplete forms *will not* be acknowledged.  If you do not
have an email address, or access to one, they will not be able to help you
until you do have one.  If you saw this message, then you should have one.  :)

---> SORRY, BUT NO HANDWRITTEN FORMS WILL BE ACKNOWLEDGED.
       MUST BE TYPED-OUT ON YOUR COMPUTER OR TYPEWRITER. <---

Name:
Internet email address:
Smail home address:
City-State-Zip:
Country:
Work Tel. #:
Work Fax #:
Home Tel. #:
Home Fax #:

How did you hear about us (name of person who referred you or the area of
the internet that you saw us mentioned in):  Referral by:  Nicola du Plessis.
040696-l

Name of USA mags you currently get on the newsstand or in the store:

Name of USA mags you currently get on the newsstand or in the store:

Name of USA mags you currently get on a subscription basis, through the mail:

Name of USA mags you would like price quotes on when we call you:

Catalogue format desired (list "1," "2," "3" or "4"):

*------------cut here/end--------------------------------------------*


Catalogue Format Options:
1.  19-Part email- can be read by EVERYONE (~525 K Total).
2.  For more advanced computer users:  attached text file ~525K - you
    must know how to download an attached text file and then be able to
    open it with your word processor.  If in doubt, don't ask for this
    version.  This isn't for internet *newbies.* Better to order option 1
    and spend a few minutes pasting them into one whole text document
    with your word processor, than to waste hours trying to figure how
    to deal with this option.
3.  For more advanced Macintosh computer users: compressed attached
    text file, created with a Stuffit(tm) self-extracting archive (.sea),
     ~133K.  Can be decompressed by any Macintosh computer user; no
    special expansion software or knowledge of Stuffit (tm) needed.  You
    just double-click on the file icon and it automatically expands
    (unstuffs). This is for more advanced mac computer users only, as
    you still have to know how to deal with an attached file.  It will cut
    your download time by 75%.   Expands out to the same ~525K file in
    option #2.  See option #2 for more info on what you will need to be
    able to do.
4.  For expert computer users: compressed attached text file, created with
    Stuffit(tm),  ~114K.  Can be decompressed by any computer user who
    has expansion software to decompress (expand) Stuffit(tm) (.sit) files.
    This is for more advanced computer users only and will cut your
    download time by 78%.   Expands out to the same ~525K file in option
    #2.  See option #2 for more info on what you will need to be able to do.



Hi fellow 'netters,

My name is Nicola du Plessis and I recently started using a magazine
subscription club in the USA that has a FREE 1 yr. magazine subscription
deal with your first paid order- and I have been very pleased with them.
They have over 1,500 different USA titles that they can ship to any country
on a subscription basis.   As for computer magazines from the USA, they
more of a selection than I ever knew even existed.  They have magazines for
most every area of interest in their list of 1,500 titles.

Within the USA, for their USA members, they are cheaper than all their
competitors and even the publishers themselves.  This is their price
guarantee.

Overseas, on the average, they are generally around one-fourth to one-half
of what the newsstands overseas charge locally for USA magazines.  On some
titles they are as little as one-tenth of what the newsstands charge.  They
feel that mgazines should not be a luxury overseas.   In the USA, people
buy magazines and then toss them after reading them for just a few minutes
or hours.  They are so cheap in the USA!   Well, this company would like to
make it the same way for their overseas members.  They are also cheaper
than all their competitors in the USA and overseas, including the
publishers themselves!   This is their price guarantee.  Around one-half
their business comes from overseas, so they are very patient with new
members who only speak limited English as a 2nd language.

Their prices are so cheap because they deal direct with each publisher and
cut-out all the middlemen.

They will send you their DELUXE EMAIL CATALOGUE (around 525K-big and
juicey) !)...if you completely fill out the form above.  It has lists of
all the freebies, lists of all the titles they sell, titles broken down by
categories and detailed descriptions on nearly 1,200 of the titles that
they sell.

Please do not email me as I am just a happy customer and a *busy* student.
I don't have time to even complete my thesis in time, let alone run my
part-time software business!  Please fill out the above form and carefully
follow the intructions above to get it to them via fax or smail.

They guarantee to beat all their competitors' prices. Sometimes they are
less than half of the next best deal I have been able to find and other
times, just a little cheaper - but I have never found a lower rate yet.
They assured me that if I ever do, they will beat it.

They have been very helpful and helped me with all my address changes as I
haved moved from one country to another.

They have a deal where you can get a free 1 yr. sub to a new magazine from
a special list of over 295 popular titles published in the USA.   They will
give you this free 1 yr. sub when you place your first paid order with them
to a renewal or new subscription to any of the over 1,500 different popular
USA titles they sell.

They can arrange delivery to virtually any country and I think they have
clients in around 45 or 46 countries now.  Outside the USA there is a
charge for FPH (foreign postage and handling) (on both paid and freebie
subs) that varies from magazine to magazine.  I have found their staff to
be very friendly and courteous.  They even helped me with an address change
when I moved from one country to another.

The owner thinks of his service as a "club" and his clients as "members"
(even though there is no extra fee to become a member - your first purchase
automatically makes you a member) and he is real picky about who he accepts
as a new member.   When he sets you up as a new member, he himself calls
you personally on the phone to explain how he works his deal, or sometimes
he has one of his assistants call.  He is kind of quirky sometimes - he
insists on setting up new members by phone so he can say hi to everyone (I
sure wouldn't want to have his phone bills!),  but you can place future
orders (after your first order) via E-mail.

He has some really friendly young ladies working for him, who seem to know
just as much as he does about this magazine stuff.  If you live overseas,
he will even call you there, as long as you are interested, but I think he
still makes all his overseas calls on the weekends, I guess cause the long
distance rates are cheaper then.

He only likes to take new members from referrals from satisfied existing
members and he does virtually no advertising.  When I got set-up, they had
a 2-3 week waiting list for new members to be called back so that they
could join up. (Once you are an existing member, they help you immediately
when you call. )  I think they are able to get back to prospective new
members  the same day or within a few days now, as they have increased
their staff.  I am not sure about this.........but if you email the above
form to them, that is the way to get started!

They will send you their DELUXE EMAIL CATALOGUE (around 525K-big and
juicey) !)...if you completely fill out the form above.  It has lists of
all the freebies, lists of all the titles they sell, titles broken down by
categories and detailed descriptions on nearly 1,200 of the titles that
they sell.

They then send you email  that outlines how his club works and the list of
free choices that you can choose from, as well as the entire list of what
he sells;  and then they will give you a quick (3-5 minute) friendly,
no-pressure no-obligation call to explain everything to you personally and
answer all your questions.

Once you get in, you'll love them. I do.


Sincerely,

Nicola du Plessis

1996\04\06@180033 by .fax.number.or.smail.address.shown.below.thank.youn/a

flavicon
-----> NOTE:   Please first read my note which appears below the "Request
for more info Form."  Then, to get more info, just fill out the "Request
for More Info" form completely and *FAX* or *SMAIL* it back to the company.
You will get a quick reply via email within 1 business day of receipt of
the info request form below.

IMPORTANT NOTICE FOR THOSE FAXING IN THEIR REPLY:  Please make sure you
return *only* the below form and *no part* of this message other than the
actual form below.  If you do not know how to cut and paste the below form
onto a fresh clean blank page for faxing, then you may re-type the below
form, as long as you copy it line for line *exactly.*  This is necessary in
order for them to be able to process the tremendous number of replies that
they get daily.

Your fax goes directly onto their 4.2 gigabyte computer hard drive, not
paper, and all incoming fax calls are set-up to be *auto-terminated* and/or
*auto-deleted* from the incoming queue of faxes to be read, if your fax:

1. has a cover page;
2. is more than one page
3. is sent more than one time
4. does not begin with the "cut here/begin" line from the below form
5. does not end with the "cut here/end" line from the below form.
6. has any handwritten info. on it (info must must be filled out *only*
   with your computer keyboard or typewriter keyboard).  This last
   provision re:  no handwriting on the form applies to requests sent in
   via smail also.

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
NOTE:  Their fax line is open 24 hrs. per day / 7 days per week.   However,
if you have trouble getting through due to the high volume of overseas
faxes coming in during the early morning and late night hours, please note
that the best time to get through to their fax is Monday-Friday, 9 am - 5
pm EST (New York Time).  If you have trouble getting through to their fax,
or do not have a fax machine at work or at home, just drop the below form
to them via smail (airmail or first class mail).
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^



*------------cut here/begin-------------------------------------------*
REQUEST FOR MORE INFO:  please return *only* this section (with no cover
page) via 1-page fax to:
                             718-967-1550 in the USA

or via smail (first class mail or airmail) to:
                                        Magazine Club Inquiry Center
                                        Att. FREE Catalogue-by-email Dept.
                                        PO Box 990
                                        Staten Island NY  10312-0990

Sorry, but incomplete forms *will not* be acknowledged.  If you do not
have an email address, or access to one, they will not be able to help you
until you do have one.  If you saw this message, then you should have one.  :)

---> SORRY, BUT NO HANDWRITTEN FORMS WILL BE ACKNOWLEDGED.
       MUST BE TYPED-OUT ON YOUR COMPUTER OR TYPEWRITER. <---

Name:
Internet email address:
Smail home address:
City-State-Zip:
Country:
Work Tel. #:
Work Fax #:
Home Tel. #:
Home Fax #:

How did you hear about us (name of person who referred you or the area of
the internet that you saw us mentioned in):  Referral by:  Nicola du Plessis.
040696-l

Name of USA mags you currently get on the newsstand or in the store:

Name of USA mags you currently get on the newsstand or in the store:

Name of USA mags you currently get on a subscription basis, through the mail:

Name of USA mags you would like price quotes on when we call you:

Catalogue format desired (list "1," "2," "3" or "4"):

*------------cut here/end--------------------------------------------*


Catalogue Format Options:
1.  19-Part email- can be read by EVERYONE (~525 K Total).
2.  For more advanced computer users:  attached text file ~525K - you
    must know how to download an attached text file and then be able to
    open it with your word processor.  If in doubt, don't ask for this
    version.  This isn't for internet *newbies.* Better to order option 1
    and spend a few minutes pasting them into one whole text document
    with your word processor, than to waste hours trying to figure how
    to deal with this option.
3.  For more advanced Macintosh computer users: compressed attached
    text file, created with a Stuffit(tm) self-extracting archive (.sea),
     ~133K.  Can be decompressed by any Macintosh computer user; no
    special expansion software or knowledge of Stuffit (tm) needed.  You
    just double-click on the file icon and it automatically expands
    (unstuffs). This is for more advanced mac computer users only, as
    you still have to know how to deal with an attached file.  It will cut
    your download time by 75%.   Expands out to the same ~525K file in
    option #2.  See option #2 for more info on what you will need to be
    able to do.
4.  For expert computer users: compressed attached text file, created with
    Stuffit(tm),  ~114K.  Can be decompressed by any computer user who
    has expansion software to decompress (expand) Stuffit(tm) (.sit) files.
    This is for more advanced computer users only and will cut your
    download time by 78%.   Expands out to the same ~525K file in option
    #2.  See option #2 for more info on what you will need to be able to do.



Hi fellow 'netters,

My name is Nicola du Plessis and I recently started using a magazine
subscription club in the USA that has a FREE 1 yr. magazine subscription
deal with your first paid order- and I have been very pleased with them.
They have over 1,500 different USA titles that they can ship to any country
on a subscription basis.   As for computer magazines from the USA, they
more of a selection than I ever knew even existed.  They have magazines for
most every area of interest in their list of 1,500 titles.

Within the USA, for their USA members, they are cheaper than all their
competitors and even the publishers themselves.  This is their price
guarantee.

Overseas, on the average, they are generally around one-fourth to one-half
of what the newsstands overseas charge locally for USA magazines.  On some
titles they are as little as one-tenth of what the newsstands charge.  They
feel that mgazines should not be a luxury overseas.   In the USA, people
buy magazines and then toss them after reading them for just a few minutes
or hours.  They are so cheap in the USA!   Well, this company would like to
make it the same way for their overseas members.  They are also cheaper
than all their competitors in the USA and overseas, including the
publishers themselves!   This is their price guarantee.  Around one-half
their business comes from overseas, so they are very patient with new
members who only speak limited English as a 2nd language.

Their prices are so cheap because they deal direct with each publisher and
cut-out all the middlemen.

They will send you their DELUXE EMAIL CATALOGUE (around 525K-big and
juicey) !)...if you completely fill out the form above.  It has lists of
all the freebies, lists of all the titles they sell, titles broken down by
categories and detailed descriptions on nearly 1,200 of the titles that
they sell.

Please do not email me as I am just a happy customer and a *busy* student.
I don't have time to even complete my thesis in time, let alone run my
part-time software business!  Please fill out the above form and carefully
follow the intructions above to get it to them via fax or smail.

They guarantee to beat all their competitors' prices. Sometimes they are
less than half of the next best deal I have been able to find and other
times, just a little cheaper - but I have never found a lower rate yet.
They assured me that if I ever do, they will beat it.

They have been very helpful and helped me with all my address changes as I
haved moved from one country to another.

They have a deal where you can get a free 1 yr. sub to a new magazine from
a special list of over 295 popular titles published in the USA.   They will
give you this free 1 yr. sub when you place your first paid order with them
to a renewal or new subscription to any of the over 1,500 different popular
USA titles they sell.

They can arrange delivery to virtually any country and I think they have
clients in around 45 or 46 countries now.  Outside the USA there is a
charge for FPH (foreign postage and handling) (on both paid and freebie
subs) that varies from magazine to magazine.  I have found their staff to
be very friendly and courteous.  They even helped me with an address change
when I moved from one country to another.

The owner thinks of his service as a "club" and his clients as "members"
(even though there is no extra fee to become a member - your first purchase
automatically makes you a member) and he is real picky about who he accepts
as a new member.   When he sets you up as a new member, he himself calls
you personally on the phone to explain how he works his deal, or sometimes
he has one of his assistants call.  He is kind of quirky sometimes - he
insists on setting up new members by phone so he can say hi to everyone (I
sure wouldn't want to have his phone bills!),  but you can place future
orders (after your first order) via E-mail.

He has some really friendly young ladies working for him, who seem to know
just as much as he does about this magazine stuff.  If you live overseas,
he will even call you there, as long as you are interested, but I think he
still makes all his overseas calls on the weekends, I guess cause the long
distance rates are cheaper then.

He only likes to take new members from referrals from satisfied existing
members and he does virtually no advertising.  When I got set-up, they had
a 2-3 week waiting list for new members to be called back so that they
could join up. (Once you are an existing member, they help you immediately
when you call. )  I think they are able to get back to prospective new
members  the same day or within a few days now, as they have increased
their staff.  I am not sure about this.........but if you email the above
form to them, that is the way to get started!

They will send you their DELUXE EMAIL CATALOGUE (around 525K-big and
juicey) !)...if you completely fill out the form above.  It has lists of
all the freebies, lists of all the titles they sell, titles broken down by
categories and detailed descriptions on nearly 1,200 of the titles that
they sell.

They then send you email  that outlines how his club works and the list of
free choices that you can choose from, as well as the entire list of what
he sells;  and then they will give you a quick (3-5 minute) friendly,
no-pressure no-obligation call to explain everything to you personally and
answer all your questions.

Once you get in, you'll love them. I do.


Sincerely,

Nicola du Plessis


'Free Data Books -- NO LONGER AVAILABLE'
1996\05\03@011053 by Andrew Warren
face
flavicon
face
A new record... It took only two hours to find a home for the data
books.

-Andy

Andrew Warren - EraseMEfastfwdspamEraseMEix.netcom.com
Fast Forward Engineering, Vista, California
http://www.geocities.com/SiliconValley/2499


'Microchip PDF files encrypted---can't read under L'
1996\06\10@094823 by Przemek Klosowski
flavicon
face
Hi,

I have Microchip's documentation CDROM with their PDF files.  I looked
at it with Adobe acrobat under Windoze, but it takes ages to
read/print and I can't use the computer in the meantime (not to mention
crashing the machine on some pages). No matter, sez I, I will just
fire up Linux and read it there. GOTCHA!!! The files are encrypted,
and, since Adobe won't tell anyone how to uncrypt PDF files, the Linux
PDF display program is unable to read them (needless to say, there is
no Acrobat reader for Linux). So much for the 'open document exchange
standard' idea.

I do hope that encrypting the files is a simple overlook on Microchip's part.
The only other explanation that occurred to me was that it was an attempt
to prevent competition from copying the files, or some such---this didn't
make much sense to me, since a determined person with several hours of free
time would simply grab the images and OCR them. The way things are, it
hits the good guys (me), while barely inconveniencing the bad guys.

I understand why Microchip allocates their efforts primarily to
support the Windows platform, but I wish it was done in a way that
doesn't annoy all the other (Linux, OS/2, Macintosh) folks. It is not
a large effort; just some care for details plus some foresight (such
as, e.g., don't use direct, DOS-specific access to serial port for
communication with programmer hardware).  Such attention to detail
would better befit a large, successfull company that Microchip has
become.

               przemek


'------- MPLAB ---------'
1996\07\11@084620 by ose G. Pineda A. ELECTRONICO
flavicon
face
Hi:

       In which ftp I can find the last version of MPLAB ?

Thank you


--
|      ~~     ~~   /^\           | Jose Pineda
|  ~~     /^\    /     \   ~~    | Fax    : +58 2 2426039
|       /_    \/   _     \    ~~ | E-mail : @spam@jpineda@spam@spamspam_OUTdino.conicit.ve
|     /  # _   # _ # _ _   \     | Caracas, D.F.
|   /    # # _ # # # # # _   \   | Venezuela
|_/______#_#_#_#_#_#_#_#_#_____\_|

'------- MPLAB --------- -Reply'
1996\07\11@101905 by Mark Jurras

flavicon
face
Goto http://www.microchip.com and follow the links. It
will take you to http://www.futureone.com/... where you
will finally find TWO files needed to download to
get MPLAB.

- -Mark

>>> "Jose G. Pineda A. ELECTRONICO"
<spamBeGonejpinedaspamKILLspamCONICIT.VE> 11 July 1996  8:45 am >>>
Hi:

       In which ftp I can find the last version
of MPLAB ?

Thank you

1996\07\11@162029 by JUAN MANUEL MU„OZ

flavicon
face
part 0 701 bytes
Suerte..  

Juan Manuel Mu–oz
ea7dae.ampr.org 44.133.11.13
Email: .....jmmcspam_OUTspamarrakis.es

----------
De:             Jose G. Pineda A. ELECTRONICO[SMTP:TakeThisOuTjpineda.....spamTakeThisOuTCONICIT.VE]
Enviado:        jueves 11 de julio de 1996 12:45
Para:           Multiple recipients of list PICLIST
Asunto:         -------  MPLAB ---------

Hi:

       In which ftp I can find the last version of MPLAB ?

Thank you


--
|      ~~     ~~   /^\           | Jose Pineda
|  ~~     /^\    /     \   ~~    | Fax    : +58 2 2426039
|       /_    \/   _     \    ~~ | E-mail : TakeThisOuTjpinedaKILLspamspamspamdino.conicit.ve
|     /  # _   # _ # _ _   \     | Caracas, D.F.
|   /    # # _ # # # # # _   \   | Venezuela
|_/______#_#_#_#_#_#_#_#_#_____\_|



'Contest --- I could use the software!!'
1996\07\11@210458 by Dennis Hromin

flavicon
face
Hi,

>No, he wasn't, actually. I was. Gee, I actually won something! At least
>I assume I did, I emailed my gif to Octavio, and haven't heard anything
>yet. Of course neither I, nor Andy, nor Don really *need* the software.
>

Well I could certainly use it! Maybe you can send it to me via email
if you want....  If not thanks any way.

Thanks,
Dennis
********************************************
Dennis Hromin
Email: .....hrominspamRemoveMEmail.trilogy.net
Home Page: http://trilogy.net/users/hromin/
********************************************

1996\07\12@071603 by nogueira

flavicon
face
Dennis Hromin wrote:
>
> Hi,
>
> >No, he wasn't, actually. I was. Gee, I actually won something! At least
> >I assume I did, I emailed my gif to Octavio, and haven't heard anything
> >yet. Of course neither I, nor Andy, nor Don really *need* the software.
> >
>
> Well I could certainly use it! Maybe you can send it to me via email
> if you want....  If not thanks any way.
>
> Thanks,
> Dennis
> ********************************************
> Dennis Hromin
> Email: RemoveMEhrominspamspamBeGonemail.trilogy.net
> Home Page: http://trilogy.net/users/hromin/
> ********************************************

You don't need to do this way, you can download my ProPic software and
hardware description from my homepage, the unregistered version is free.

Octavio
--

Octavio Nogueira
spamBeGonenogueira@spam@spamspam_OUTmandic.com.br
http://ourworld.compuserve.com/homepages/tato


'Data Books -- Free to a good (student's) home'
1996\08\05@223228 by fastfwd
face
flavicon
face
Dudes:

As I've done every six months or so for the last couple of years, I'm
giving away Microchip data books that I no longer need.

Two changes this time:

   1.  There are nowhere near as many as I've given away in the
   past.  I guess Microchip's doing some belt-tightening, since
   they're no longer FedExing me ten pounds of data books every
   few months.

   2.  I'll only send these books to someone with an ".edu" domain
   name... Those of you who have engineering jobs should be able to
   get your data books some other way.

Ok... Here's what I have:

   PIC16C52 Data Sheet (rev. B) -- Qty 2
   PIC16C6X Data Sheet (rev. A) -- Qty 1
   PIC16C7X Data Sheet (rev. B) -- Qty 1
   PIC16C8X Data Sheet (rev. F) -- Qty 1
   PIC14000 Data Sheet (rev. A) -- Qty 1

Each of these books is the latest revision available.

The usual rules apply:

   1.  You MUST reply to me privately; I will cheerfully IGNORE any
   responses sent to the PICLIST.  This means that you probably
   can't just "Reply" to this message; instead, make sure that your
   reply is addressed only to: TakeThisOuTfastfwdspamspamix.netcom.com.

   2.  It's first-come, first-served.  I'll post a message to the
   list when I've found a recipient.

   3.  Buyer pays shipping (UPS Ground shouldn't cost more than a
   couple of dollars).

   4.  You must take all 6 data books... I'm not interested in
   splitting them up.

-Andy

Andrew Warren - fastfwdEraseMEspamix.netcom.com
Fast Forward Engineering, Vista, California
http://www.geocities.com/SiliconValley/2499

'VoicePorts---Audio->A/D->UART->RS-232 TX & RX rvrs'
1996\08\22@045003 by John Welling

flavicon
face
I am seeking a simple expedient path to a "VoicePort" audio digital
sampler to RS-232 port driver.   Parameters for this device and
complementary receiver of reverse process are:
Telephone handset Audio into A/D converter sampling 8-bit bytes at
22,050 sample rate with serial data fed to UART(16550) outputting 57,600
bit rate to MAX-232 RS-232 driver.
Also needed is the reverse process for RS-232 data RX to D/A to decoded
audio from a SEPARATE port.
I would prefer standalone hardware for dedicated function without the
usual bulk of programming and debugging associated with 57k port speeds
to keep UNBROKEN STREAM OF DIGI-AUDIO DATA FLOW IN REAL TIME.
Basic Device Layout:
    TX
AUDIO-->ADC0831------->16550------->MAX232--------------->RS-232-->
              (A/D conv.)          (UART)     (Level Shifter)

 RX AUDIO<--DAC0808<--74HC154<--16550<------MAX232<-----RS-232--<
                        (D/A conv.)      (ser/par)    (UART)    (Level
Shifter)
                          (convert)

I am reasonably sure about this design, but not experienced at how to
program/initialize the 16550 UARTs.  Perhaps init/config data can be
loaded thru a parallel port buffered into the UART.  This design was
chosen to avoid lengthy programming of any CPU's
because these VoicePorts are a mere FUNCTIONAL expediency to demo voice
thru RS-232 .
    Also, if there is a more timely design to accomplish the objective,
I would be open to consider it.  The above design is not mandatory.  I
considered a PIC 16C74 with A/D and serial I/O with drawbacks of extra
hardware and interface for 8-bit D/A reverse process and extra load of
programming.
    Tried to link PC soundcard Record & Play A/D-D/A functions to
RS-232, but 57,600 port speed precludes anything but custom Visual C++
pgrm to pipe .wav streamed I/O thru Win32 API (Win95 platform).

Does anyone have a better notion, preferably in specific chipset readily
available?

TIA,
-John
RemoveMEsirejohnEraseMEspamspam_OUTbbs-la.com

1996\08\22@093921 by liebchen

flavicon
face
John Welling wrote:
>
> (snip)
> Telephone handset Audio into A/D converter sampling 8-bit bytes at
> 22,050 sample rate with serial data fed to UART(16550) outputting 57,600
> bit rate to MAX-232 RS-232 driver.
> (snip)

John,

I can't follow your computation. If you have 22 kSamples/s, you would
need almost 200,000 bits/s (assuming 9 bits for asynchronous protocol).

Wolfram

--

+-----------------------------------------------+
! Wolfram Liebchen, @spam@liebchenRemoveMEspamEraseMEipserv.ffo.fgan.de !
!        Forschungsinstitut fuer Optik          !
+-----------------------------------------------+

1996\08\22@100938 by mfahrion

flavicon
face
> John Welling wrote:
> >
> > (snip)
> > Telephone handset Audio into A/D converter sampling 8-bit bytes at
> > 22,050 sample rate with serial data fed to UART(16550) outputting 57,600
> > bit rate to MAX-232 RS-232 driver.
> > (snip)
>
> John,
>
> I can't follow your computation. If you have 22 kSamples/s, you would
> need almost 200,000 bits/s (assuming 9 bits for asynchronous protocol).
>
> Wolfram

I get the same result - but still shouldn't be a big problem.  Using
"special" 232 transceivers you can easily go 230Kbaud and possibly
460Kbaud.  That's a lot of interrupts though - I'd consider using a
16750 UART instead of the 16550A (64 byte FIFO's instead of 16) or
even something more specialized.

-mike
EraseMEmfahrionspam@spam@bb-elec.com

1996\08\22@213646 by Lee Jones

flavicon
face
>> Telephone handset Audio into A/D converter sampling 8-bit bytes at
>> 22,050 sample rate with serial data fed to UART(16550) outputting 57,600
>> bit rate to MAX-232 RS-232 driver.

Why bother with 22,050 samples/second with telephone handsets?  They
were designed for a frequency range of ~300 to ~3000 Hertz.  Most of
the carbon microphones and little speakers used in handsets just don't
have the frequency response to justify this high a sample rate.

Telephone companies chose 8,000 8-bit samples/second to give an upper
frequency response of ~4000 Hertz (Nyquist limit).

This is why the telephone companies use a 64,000 bits/second digital
data rate for each call.  It's reflected in the ISDN bearer (B) and
DS1 (aka T-1 in USA, E-1 in Europe) channel signalling rates. [FYI:
56,000 bps is the result of stealing the low order bit for "robbed
bit" signalling of on-hook/off-hook state].

> I can't follow your computation. If you have 22 kSamples/s, you would
> need almost 200,000 bits/s (assuming 9 bits for asynchronous protocol).

Common asynchronous serial transmission uses 10 bits consisting of
1 start bit, 8 data bits, no seperate parity bit, and 1 stop bit.  Thus,
22,050 8-bit samples per second requires 220,500 bits/second or higher
(ignoring flow control and error checking).

If you use a synchronous protocol, you could approach 176,400 bits per
second (22,050 samples/sec * 8 bits/sample).  The actual data rate
would be higher due to frame synchronization data, packet size, etc.

> I get the same result - but still shouldn't be a big problem.  Using
> "special" 232 transceivers you can easily go 230Kbaud and possibly
> 460Kbaud.

RS-232 was not designed to run at those speeds.  It may; but EMI/RFI
may be a real issue.  I'd switch to RS-422, RS-423, or RS-485.

                                               Lee Jones

-------------------------------------------------------------------
Jones Computer Communications             @spam@leespam_OUTspam.....frumble.claremont.edu
509 Black Hills Dr, Claremont, CA 91711         voice: 909-621-9008
-------------------------------------------------------------------

1996\08\23@040110 by John Welling

flavicon
face
I am reposting updated message as my mail server was down due to T-1
upgrade.
All response are most welcome amd encouraged!  Please RePost previous
responses!

PI>>> Telephone handset Audio into A/D converter sampling 8-bit bytes at
PI>>> 22,050 sample rate with serial data fed to UART(16550) outputting 57,600
PI>>> bit rate to MAX-232 RS-232 driver.

PI>Why bother with 22,050 samples/second with telephone handsets?  They
PI>were designed for a frequency range of ~300 to ~3000 Hertz.  Most of
PI>the carbon microphones and little speakers used in handsets just don't
PI>have the frequency response to justify this high a sample rate.

PI>Telephone companies chose 8,000 8-bit samples/second to give an upper
PI>frequency response of ~4000 Hertz (Nyquist limit).

'Scuse me for the bungled numbers.  I composed the Email from 3
categories of calculations not interchangeable.

The following is more reflective of reality:
57,600 baud Port * .8=46080 net data baud (less start & stop bits) /8
(bits per byte)=
5760 bytes/sec  / 2 = 2880 max Nyquist frequency.

I am going to try PIC 16c74 A/D sampling to its UART with BASIC and  'C'
code.
Does anyone know the Maximum A/D sampling and UART port speeds when
using:
1> PIC or ETI BASIC
2> compiled 'C' code (.OBJ)

ALSO, does anyone have info for intializing 16550 UART as standalone
FIFO-serial/parallel port interface

1996\08\23@091906 by Mark K Sullivan

flavicon
face
>I am going to try PIC 16c74 A/D sampling to its UART with BASIC and  'C'
>code.

You really ought  to do this in assembler.  It's not hard.  In fact, I bet it
will be much harder to make the project work in BASIC than it will be to learn
enough assembler.  It's going to be less than 100 lines of code, maybe less than
50.

- Mark Sullivan -

1996\08\23@094209 by root

flavicon
face
{Quote hidden}

       Having just finished a project with the 16550, I can tell you it
is very easy to use and initialize...  I would suggest checking out
National Semiconductor's web site (http://www.natsemi.com) where they have .PDF
documents on line with the complete 16550 manual being one of them
(you'll need to do a search on 16550 to find it).  The only thing I found
annoying about the 16550 was the Intel-ish practice of requiring the R*
and W* lines to only be active when CS* is.

Good Luck!


Larry Battraw

1996\08\23@113014 by Dana Frank Raymond

flavicon
face
>I am seeking a simple expedient path to a "VoicePort" audio digital
>sampler to RS-232 port driver.   Parameters for this device and

John, when dealing with telephone audio a simple method of data compression
is frequently used: CVSD (Continuous Variable Slope Delta). I've seen CVSD
chips (called CODECs) used in PBXs and other telephony equipment - the
resulting audio quality is comparable to what Ma Bell delivers.

CVSD works as is follows:

A continuous single 8-16Khz digital bit stream is used to represent the
audio data. The Encoder keeps track of previous audio samples and only
indicates if the new sample is higher or lower than the last (0 vs 1) by a
step size (delta threshold). If the audio samples moves faster than the bit
rate can keep up with, a series of 3 zeros or ones will be sent and the
Encoder will increase the step size for the next sample (the Decoder will do
likewise).

Hence, CVSD is a Continuous, Variably Sloped, Delta system.

This method increases the digitization noise for high slew rate signals
(upper frequencies) but lowers it for the lower frequencies. Since the
frequency response of your typical phone system is 300-3300hz, but voices
contain most of their energy below 1.5Khz, the tradeoff works well.

CVSD enCOers/DECoders (CODECs) used to be readily available. However, you
can easily implement such an approach in PIC firmware! Think of it:
Acceptable telephone audio quality for 8Kbps instad of 8Ksps. This
translates into a data rate compression ratio of (roughly) 8:1. Even if you
have to go to 16Kbps to give good results you still save plenty of bandwidth.

I tried to find CVSD CODECs in my IC Master and library, but PCM now seems
to dominate. There was one from Plessy (MA367) but I don't have a datasheet
for it. I wanted to confirm that the data rate was in the 8-16Kbps range as
its been over 10 years that I dealt with this technology (in the Prodigy PBX
from Ericsson).

Hope this helps.

Regards, Dana Frank Raymond
spamBeGonedfrEraseMEspamicom.ca

1996\08\23@132118 by vador Eduardo Tropea (SET)

flavicon
face
Hi everybody:

About the Telephone's sample rate:

>Telephone companies chose 8,000 8-bit samples/second to give an upper
>frequency response of ~4000 Hertz (Nyquist limit).

Yes (8K 8bits = 64Kbits/s only in Europe, but in my country too), but remmember
that you must apply the mu-law (or the a-law) to get a good result, applying
this compression you'll get the same result as using 12 bits.

bye SET


********************************************************************************
Salvador Eduardo Tropea (SET) - salvadorspamBeGonespaminti.edu.ar
Work: INTI (National Institute of Industrial Technology) Sector: ICE
(Electronic Control & Instrumentation)
Post (Home): Curapaligue 2124 - Caseros (1678)- Buenos Aires - Argentina

1996\08\23@140437 by peter

flavicon
face
Dana Frank Raymond wrote,
snip,snip
> I tried to find CVSD CODECs in my IC Master and library, but PCM now seems
> to dominate. There was one from Plessy (MA367) but I don't have a datasheet
> for it. I wanted to confirm that the data rate was in the 8-16Kbps range as
> its been over 10 years that I dealt with this technology (in the Prodigy PBX
> from Ericsson).
>
> Hope this helps.
>
> Regards, Dana Frank Raymond
> RemoveMEdfr@spam@spamspamBeGoneicom.ca
I used Motorola  MC3517/8 they were very easy to use, but I don't know
current availability. Data was in the Motorola linear and interface
I C book
--
Peter Cousens
email: .....peter@spam@spamEraseMEcousens.her.forthnet.gr
snailmail: Peter Cousens, karteros, Heraklion, Crete, 75100, Greece,

1996\08\23@150803 by peter

flavicon
face
Mark K Sullivan wrote:
> You really ought  to do this in assembler.  It's not hard.  In fact, I bet it
> will be much harder to make the project work in BASIC than it will be to learn
> enough assembler.  It's going to be less than 100 lines of code, maybe less
than
> 50.
>
> - Mark Sullivan -
Sorry this must be the most popular question
how do you start to program in assembler. I have mplab,embedded
controls handbook etc.
Will mplab run ok without hardware.
Is mplab good to start on
--
Peter Cousens
email: .....peterRemoveMEspamcousens.her.forthnet.gr
snailmail: Peter Cousens, karteros, Heraklion, Crete, 75100, Greece,

1996\08\23@185820 by Steve Davidson

flavicon
face
There are many systems that are running voice over 2400 to 9600 Baud
lines using special compression chips.  At 2400 with some of the new
compression techniques they don't sound too bad, but I wouldn't pipe in
music while on hold :-)
Steve

-------------------------------------
E-mail: .....sdavidsonSTOPspamspam@spam@its.bldrdoc.gov
Steven Davidson
Dept. of Comm.  NTIA-ITS.N2
325 Broadway
Boulder, CO  80303
W 303-497-3411  FAX 5995
-------------------------------------

1996\08\24@061647 by John Welling

flavicon
face
PI>        Having just finished a project with the 16550, I can tell you it
PI>is very easy to use and initialize...  I would suggest checking out
PI>National Semiconductor's web site (http://www.natsemi.com) where they have .PDF
PI>documents on line with the complete 16550 manual being one of them
PI>(you'll need to do a search on 16550 to find it).  The only thing I found
PI>annoying about the 16550 was the Intel-ish practice of requiring the R*
PI>and W* lines to only be active when CS* is.

1> Is it possible to feed a sequence burst of init/config bytes to the 16550,
say from a PC parallel port buffered into the UART so that it could be a
standalone UART without CPU supervision?

2>Can the RX & TX sections be linked together as a standalone serial data time
shifter
( 8Kbps serial data in->Parallel FIFO Buffer->57.6 Kbps serial data out
)?

Many DANDY Answers received from around the World...Keep 'em coming!

TIA, John
sirejohnEraseMEspam@spam@bbs-la.com

1996\08\24@065913 by Clyde Smith-Stubbs

flavicon
face
John Welling <RemoveMEsirejohnspamspamBeGoneBBS-LA.COM> wrote:

(quoting someone else, presumably)

> PI>The only thing I found
> PI>annoying about the 16550 was the Intel-ish practice of requiring the R*
> PI>and W* lines to only be active when CS* is.

This is not correct - the RD, /RD, WR and /WR lines are ignored unless the
chip is selected. It is a little unusual in providing both active high and
low read and write lines - they are or'ed so you must tie the unused ones
to an inactive level.

>j 1> Is it possible to feed a sequence burst of init/config bytes to the 16550,
> say from a PC parallel port buffered into the UART so that it could be a
> standalone UART without CPU supervision?

You could do that, if you could arrange to drive the address lines as well. The
16550 has 8 register addresses, and intialising the chip requires writing
to a number of these. You may be able to use some of the control lines from
a parallel port as address lines.

> 2>Can the RX & TX sections be linked together as a standalone serial data time
> shifter
> ( 8Kbps serial data in->Parallel FIFO Buffer->57.6 Kbps serial data out

You would need an external baud rate generator for the receiver, a data latch
and some glue logic (a 16V8 GAL should do it). Something like the old AY-5-1013
would be easier - if there is an equivalent still available (they were a 40
pin chip with basically an independent RX and TX with non-multiplexed data
in and out and control).

Clyde

--
Clyde Smith-Stubbs       | HI-TECH Software,       | Voice: +61 7 3300 5011
spamBeGoneclydeKILLspamspam@spam@hitech.com.au      | P.O. Box 103, Alderley, | Fax:   +61 7 3300 5246
http://www.hitech.com.au | QLD, 4051, AUSTRALIA.   | BBS:   +61 7 3300 5235
---------------------------------------------------------------------------
For info on the World's best C cross compilers for embedded systems, point
your WWW browser at http://www.hitech.com.au, or email infospam_OUTspam@spam@hitech.com.au

1996\08\24@164811 by peter

flavicon
face
Dana Frank Raymond wrote:
>
> >I used Motorola  MC3517/8 they were very easy to use, but I don't know
>
> Yes, thats them! I quote from Motorola's Q3/89 DL136 Rev.2
> (Telecommunications Device):
>
> "With minor modifications the circuit in Figure 14 may be operated anywhere
> from 9.6 kHz to 64 kHz clock rates. Obviously the higher the clock rate the
> higher the S/N performance." ... "Voice bandwidth systems will require no
> higher than 9600Hz. Some radio systems will allow 12Khz. Private 4-wire
> telephone systems are often operated at 16kHz and commerical telephone
> performance can be achieved at 32K bits and above. Other codecs may use bit
> rates up to 200 K bits/sec."
>
> Also... another, more modern technology that compresses voice band data is
> ADPCM. You may want to check into that if data rate is a problem.
>
> Regards, Dana Frank Raymond
> spamBeGonedfr@spam@spamicom.ca
I think this should have been sent to the piclist
--
Peter Cousens
email: RemoveMEpeterEraseMEspamKILLspamcousens.her.forthnet.gr
snailmail: Peter Cousens, karteros, Heraklion, Crete, 75100, Greece,

1996\08\24@165644 by John Welling

flavicon
face
PI>>Telephone companies chose 8,000 8-bit samples/second to give an upper
PI>>frequency response of ~4000 Hertz (Nyquist limit).

PI> Yes (8K 8bits = 64Kbits/s only in Europe, but in my country too), but remme
PI>that you must apply the mu-law (or the a-law) to get a good result, applying
PI>this compression you'll get the same result as using 12 bits.

PI>bye SET
- - - - - - - - - - - - - - - -
After all the useful suggestions, my consideration has migrated to the
OKI MM5570 ADPCM CoDec. This chip has compression and a TouchTone DTMF
generator, Voice-operated TX & RX mute/process, various ringing &
call-up tones, and onboard output amplifiers.
The OKI spec sheet says:
"These CODECs convert 300 Hz to 3400 Hz voiceband analog signals into
either 32 Kbps to 2048 Kbps ADPCM or 64 Kbps to 2048 Kbps PCM serial
data."
1> I take that info to specify the input range of sampling rates with the output
being  somewhere in the 4-8 Kbps range.  Correct?

2> What are the comparative merits between A-law & u-law compression schemes?

3> I must send this data thru Async RS-232 port.
The spec sheet says "Transmit/Receive synchronous operation only."
If I transmit 8Kbps compressed-voice PCM serial data at RS-232 Async
port speed of 57600 baud into a FIFO buffered receive port, shouldn't
that be capable of maintaining sufficient sync stream flow for the CoDec
to reproduce correct speech data integrity?

Many DANDY helpful answers heard from all over the world...Keep 'em
comin'!

TIA,
John
spamBeGonesirejohnspam_OUTspamRemoveMEbbs-la.com

1996\08\27@134248 by Dana Frank Raymond

flavicon
face
>I used Motorola  MC3517/8 they were very easy to use, but I don't know

Yes, thats them! I quote from Motorola's Q3/89 DL136 Rev.2
(Telecommunications Device):

"With minor modifications the circuit in Figure 14 may be operated anywhere
from 9.6 kHz to 64 kHz clock rates. Obviously the higher the clock rate the
higher the S/N performance." ... "Voice bandwidth systems will require no
higher than 9600Hz. Some radio systems will allow 12Khz. Private 4-wire
telephone systems are often operated at 16kHz and commerical telephone
performance can be achieved at 32K bits and above. Other codecs may use bit
rates up to 200 K bits/sec."

Also... another, more modern technology that compresses voice band data is
ADPCM. You may want to check into that if data rate is a problem.

Regards, Dana Frank Raymond
.....dfrspamRemoveMEicom.ca

1996\08\27@192204 by Robert Lunn

flavicon
face
>Also... another, more modern technology that compresses voice band data is
>ADPCM. You may want to check into that if data rate is a problem.

       PCM     64,000 bps
       ADPCM   32,000 bps
       G.728   16,000 bps
       G.729    8,000 bps

       These are all ITU standards.  I don't think G.729 has been
       formally ratified, though.

       G.728 and G.729 are computationally intensive and are normally
       implemented with DSP's.

___Bob


'PRIVATE -- Re: "lurkers"'
1996\09\20@125403 by fastfwd
face
flavicon
face
Smith, Blair <PICLISTspam@spam@MITVMA.MIT.EDU> wrote:

> The tone of derision sometimes used to refer to us "lurkers" may in
> some cases be misplaced

   Hi, Blair.

   I assume you're talking about my messages, since I'm the only oe
   who's used the term "lurkers" on the list lately.

   My only point in all the discussions about list-participation
   was:  If you lurk, don't bitch (or, at least, don't expect your
   bitching to be taken too seriously by non-lurkers).  What's
   derisive about that?

> I follow the PIClist, have a Picstart Plus, and intend to use it in
> a future project - should timing, needs, and finances permit. I
> currently live within the confines of my Basic Stamp.
> Consequently, I do not have a lot to add to the PIC discussions -
> although if there is something I can shed some light on, I will
> speak up.  Sorry if my presence "lurking" on the list offends
> someone, but the discussions and information are still of interest
> to me - despite the spam threads.

   You're, like, WAY too defensive about all this, Blair... There's
   no need to be.  No one ever said that lurking on the list was
   bad, or that lurkers didn't have anything to contribute.  NO ONE
   is offended by the presence of non-participatory subscribers.

> Have a nice day.

   You too.

   -Andy

Andrew Warren - EraseMEfastfwdRemoveMEspamSTOPspamix.netcom.com
Fast Forward Engineering, Vista, California
http://www.geocities.com/SiliconValley/2499

'[allegedly] PRIVATE -- Re: "lurkers"'
1996\09\20@131259 by fastfwd

face
flavicon
face
I just wrote a private message to Blair Smith and accidentally sent
it to the whole list.  Please, Blair (and everyone else)... If you
want to reply to that message, please do so in private e-mail.

Sorry.

-Andy

Andrew Warren - RemoveMEfastfwdKILLspamspamTakeThisOuTix.netcom.com
Fast Forward Engineering, Vista, California
http://www.geocities.com/SiliconValley/2499

'The PICLIST Fund -- Please Read This'
1996\09\26@023615 by fastfwd

face
flavicon
face
Dudes:

As many of you know, the PICLIST was started in early 1994 by Jory
Bell, who's been operating, maintaining, and (occasionally)
moderating it since then.  If you subscribe to other internet mailing
lists, you know that this one is particularly well-run; Jory's
managed to make the list a truly valuable resource for all of us, and
we all owe him a huge debt of gratitude.

There are now over 1,000 subscribers to the list, and it's becoming
increasingly difficult for Jory to run it with his existing equipment.
Last week, as you know, he even considered dissolving the list
because the error traffic generated by the list server had grown to
the point where it was overloading his 8-year-old Macintosh SE.

That short-term problem has been solved, at least temporarily, but
it's not hard to foresee further problems which might not be handled
so easily.  For example, MIT currently provides the list service for
free, but only because Jory once performed some consulting work for
the university.  Every so often, the university notifies Jory that
they're going to pull his free account, and he's only managed to keep
it THIS long through the assistance of an MIT faculty member who's
been lobbying on his behalf.

Sooner or later, though, the MIT account will go away and Jory will
be faced with the prospect of having to invest not only his time,
but a significant sum of money in order to keep the list running.

Here's the deal:

If we can collect some money for Jory, there'll be a greater chance
that he'll be able to keep the list running no matter what happens
with his MIT account.  If we collect enough, Jory may even be able
to set up a PICLIST web site, list-member FTP site, etc.

I've set up an account at a local bank specifically for this PICLIST
Fund.  The bank doesn't want to receive checks directly, so if you'd
like to contribute, please send checks only (I don't want to deal
with cash or credit cards) to the following address:

   The PICLIST Fund
   c/o Fast Forward Engineering
   1984 Casablanca Court
   Vista, CA  92083-5043
   USA

IMPORTANT:  Checks must be made out to "Andrew Warren and Jory
           Bell"; BOTH of our signatures will be required in order
           for any funds to be withdrawn from the account, so this
           shouldn't make anyone nervous.

           Please include your e-mail address with your check.

           If you want your donation to be anonymous (as far as the
           rest of the list is concerned), please include a note to
           that effect.

To ensure that everything is aboveboard, I'll be doing the following:

   1.  Whenever a donation is received, I'll assign a "contribution
   number" to it and notify the contributor in private e-mail that
   his donation has been received.

   2.  Every two weeks, I'll post a summary of the Fund activity.
   This summary will detail EVERY donation, including the
   contribution number and (unless you've told me otherwise) each
   contributor's name.

   3.  I'll be happy to tell any potential contributor how to get
   in touch with an officer at the bank where the PICLIST Fund
   account is located... Just send me private e-mail.

At this time, I expect that we'll keep the account open for only six
months or so, then close it and send all the cash to Jory Bell.  If
we end up keeping the account longer (beyond the April 15th
income-tax deadline), we'll probably withdraw the appropriate tax
from the account.  ASIDE FROM THAT ONE POSSIBLE WITHDRAWAL, NO MONEY
WILL BE WITHDRAWN FOR ANY PURPOSE UNTIL THE ACCOUNT IS CLOSED.  I'm
going to be managing the fund on my own time; NO PORTION of your
donations will go to me.

Now, everyone CAN contribute, but no one HAS to.  Donations are
ABSOLUTELY voluntary; you won't gain any personal privileges if you
donate, and you won't lose any if you don't.  No one will think any
less of you if you choose not to contribute to the fund, and if you
don't contribute, the list (for as long as it's operational) will
continue to be available to you for free, as it always has been.

I've given some thought to "suggested donation amounts".  If you
want to contribute but don't think these amounts are appropriate,
please send whatever amount makes you comfortable (and, if you think
the following suggestions are WILDLY inappropriate, please let me
know in private e-mail).  Do give the following some thought,
though:

   SUGGESTED DONATION AMOUNTS:

   FRIEND           If you're a Student, you should be able to
   (Student):  $10  afford $10.  This is less than the cost of
                    one audio compact disc or a tank of gasoline,
                    and it's not much more than the quantity-one
                    retail price of a PIC16C84.

   FRIEND           If a Student can afford $10, anyone with a job
   (Employed): $30  should be able to afford $30.

   PATRON:     $50  A decent programming reference book costs at
                    least this much.  If you've received as much
                    useful information from the list as you might
                    reasonably expect to find in the average
                    textbook and want to show your gratitude, this
                    is the way.

   GOD:        $75  Many of us have actually profited financially
                    from the list, either through help that other
                    list-members gave us with our commercial
                    products or through sales of development
                    software and hardware that we've advertised on
                    the list.  If you fall into this category, a $75
                    donation shouldn't significantly affect your
                    balance sheet.

ONE MORE IMPORTANT NOTE:

   I'm going to ensure that all the collected donations go directly
   to Jory Bell, but I'm making NO PROMISES as to the eventual use
   to which he puts it.  Even Jory doesn't yet know exactly what
   he'll spend the money on.

   In fact, Jory may decide to use the money to take a trip to
   Tahiti or something.  Personally, I don't care -- I figure that,
   after all the work he's put into the list, he DESERVES a vacation
   -- but if you're the type of person who wants to know PRECISELY
   what your dnation will be used for, this may be an issue.

   If that's the case, please send your suggestions for possible
   uses of the money to me in private e-mail.  I'll summaarize the
   suggestions I've received in my bi-weekly reports and, of
   course, pass them on to Jory.

I've tried to think of everything here, especially in the area of
assuring everyone that the PICLIST Fund will be managed honestly and
responsibly, but if you think I've omitted anything or if you have
any other suggestions, please feel free to tell me in private e-mail.

Remember:  Donations are COMPLETELY VOLUNTARY.

-Andy

Andrew Warren - spamBeGonefastfwdspam@spam@ix.netcom.com
Fast Forward Engineering, Vista, California
http://www.geocities.com/SiliconValley/2499

1996\09\27@122606 by Steve Davidson

flavicon
face
Andrew, Jory, and List;

I will be glade to donate for the list and any trips Jory wants to take,
I find the list VERY VALUABLE....but, the direction seems a little soft.
How about setting up a commercial account on one of the local commercial
servers.  Most of these will provide a e-mail, web page, and required
storage.  This would take a lot of the load off Jory, be transferable if
Jory decides to retire, etc.  Jory, acting as the list SA, should be paid
some amount or give extra privileges to compensate for his time.  I would
imagine this would run in the $50- 100/month range.  Companies, such as
Microchip, could donate to this service if they like, but they get no
control of any sort in doing so. With a thousand users you are talking
about a couple buck a year each, and the list has no obligations to
anyone.  i.e. it could switch servers if their is any problems.  By
taking donated money and buying hardware you will eventually end up in
some sort of a "disagreement" when changes need to be made.  Try to make
it a hands off type operation that can be easily passed on to others.  I
know in the DC area you can get your own web page, couple meg of storage,
internet connection and e-mail for $15 - 25 month.  I can check here in
the Boulder area, but I'm not much of a SA, so it would be best to find
something in Jory's  or Andrew's area.

This is a suggestion and I will be glade to donate on what ever the final
solution is.

You guys are doing great,

Steve



--- On Wed, 25 Sep 1996 23:40:01 -0800  Andrew Warren
<RemoveMEfastfwdspam_OUTspamix.netcom.com> wrote:

{Quote hidden}

-----------------End of Original Message-----------------

-------------------------------------
E-mail: spam_OUTsdavidsonspam_OUTspamspam_OUTits.bldrdoc.gov
Steven Davidson
Dept. of Comm.  NTIA-ITS.N2
325 Broadway
Boulder, CO  80303
W 303-497-3411  FAX 5995
-------------------------------------


'The PICLIST Fund -- Please Read This'
1996\10\01@114145 by Andy Errington
flavicon
face
>From:  Steve Davidson[SMTP:davidsonspam_OUTspamITS.BLDRDOC.GOV]
>Snip<
>How about setting up a commercial account on one of the local
>commercial
>servers.  Most of these will provide a e-mail, web page, and required
>storage.  This would take a lot of the load off Jory, be transferable
>if
>Jory decides to retire, etc.  Jory, acting as the list SA, should be
>paid
>some amount or give extra privileges to compensate for his time.  I
>would
>imagine this would run in the $50- 100/month range.  Companies, such as
>Microchip, could donate to this service if they like, but they get no
>control of any sort in doing so.
>Snip<

Whilst I am appreciative of the PICLIST forum, where I have received
much help, and been able to give (I hope) some help I can't help
thinking why Microchip do not fund the mailing list.  True they may
'moderate' (=censor) the list, but it is not really in their interest so
to do.

Parallax (makers of the BASIC Stamp, based on a Microchip PIC) support
and maintain the Stamp mailing list, so why not?

Microchip, if you are there, give Jory some cash for a pint, and pay him
to set up a commercial mailing list for you (assuming he wants to).

Andy (the other one)
BTW I have five fingers on each hand, should I be on this list anyway?

1996\10\01@230240 by Louis A. Mamakos

flavicon
face
<c=GB%a=_%p=Lancaster_Univer%l=RemoveMEXENU-961001154020Z-2936KILLspamspam@spam@xenu.lancs.ac.uk>> Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Tue, 01 Oct 1996 23:01:12 -0400
Sender:
louiespamBeGonespam.....TransSys.COM


Maybe it's just me, but in all the years I've been on the Internet (and
ARPANET before that), I've never encountered having to collect funds to
help support a mailing list.  The whole fund drive just seems sort of
alien to me in this venue.

I run a few mailing lists for some topics that I'm involved in, and the
expense is not the problem - it's finding the time to do a good job.  I
know that in my case, at least, money wouldn't fix that problem.

I don't mean to speak out of turn here, especially since I'm just a
"lurker" on this list, but I've never run across this sort of thing
before.

louie

1996\10\02@003831 by Robert Lunn

flavicon
face
>Maybe it's just me, but in all the years I've been on the Internet (and
>ARPANET before that), I've never encountered having to collect funds to
>help support a mailing list.  The whole fund drive just seems sort of
>alien to me in this venue.

       Times change.

       The venue is no longer academics using University infra-
       structure.

>I run a few mailing lists for some topics that I'm involved in, and the
>expense is not the problem - it's finding the time to do a good job.  I
>know that in my case, at least, money wouldn't fix that problem.

       The problem is the inadequacy of the hardware platform
       currently being used to host the list (ref AndyW and Jory).

       A solution is desired that doesn't involve reciprocal
       favours (ie no politics).

       Self-sufficiency is proposed.

___Bob

1996\10\02@005531 by Louis A. Mamakos

flavicon
face
> >Maybe it's just me, but in all the years I've been on the Internet (and
> >ARPANET before that), I've never encountered having to collect funds to
> >help support a mailing list.  The whole fund drive just seems sort of
> >alien to me in this venue.
>
>         Times change.
>
>         The venue is no longer academics using University infra-
>         structure.

Yeah, and the two lists I run now are on my own machine, so what's
the point?  It's not as if a University if required to host a
mailing list.  This stuff is far from rocket science these days.

> >I run a few mailing lists for some topics that I'm involved in, and the
> >expense is not the problem - it's finding the time to do a good job.  I
> >know that in my case, at least, money wouldn't fix that problem.
>
>         The problem is the inadequacy of the hardware platform
>         currently being used to host the list (ref AndyW and Jory).

If I'm not mistaken, the mailing list is hosted on an IBM mainframe.  It's
just not clear to me what role Jory's machine plays in a simply automated
mailing list facility, and why it's on the critical path.

I understand that the administrators of the host may be unwilling to
continue to host the list, but I was surprised that the perceived solution
was to take up a collection rather than simply ask if anyone else was
willing to host the mailing list.

>         A solution is desired that doesn't involve reciprocal
>         favours (ie no politics).
>
>         Self-sufficiency is proposed.

I would think that someone in the community might be willing to host
the list - that's self-sufficiency.

Again, it strikes me as unusal that the solution is to take up a collection;
that's never happened in any of the discussion groups/mailing lists I've
been involved with in the past.  Usually if the list loses it's "home", a
simple query to the community/membership of the list usually brought
multiple offers out of the woodwork.

Perhaps things have changed.  I'll just go away now.

Louis Mamakos

1996\10\02@024505 by William Chops Westfield

face picon face
   Maybe it's just me, but in all the years I've been on the Internet (and
   ARPANET before that), I've never encountered having to collect funds to
   help support a mailing list.  The whole fund drive just seems sort of
   alien to me in this venue.

Well, things are different now.  In the old days network connections were
expensive and hard to get (DoD contract requried, etc), and so they were
shared by lots of people with lots of free time (read "students".)  And
while links were slow, there was lots more bandwidth than was being used.
Mailing lists were more or less invented at MIT, and then they started
multiplying.  The digest was invented when the traffic on SF-lovers got to
be "too much" due to the release of the first Star Trek film.  Human-Nets;
Info-micro; info-cpm; PD software collections maintained by the army at
White Sands Missile Range on 600Mb drives the size of a washing machine.
Requests would go out for modifications and improvements to OS software and
utilities for the ArpaNet hosts, but time and money were problems that had
already been solved, just to get THAT far.  Sigh.  The good old days.

Now of course, Internet is ubiquitous and cheap.  Anyone can get their own
account, the big machines with extra cycles are replaced by little machines
that are merely turned off, and companies start to worry about things like
exposure and liability.  The iconoclastic counterculture with the ability
will defend archives of near-pornography on free-speech and "annoy big
brother" grounds, and bandwidth-wasting gratuitous graphics on "we CAN do
it, so we MUST" grounds, but a moderately sized mailing list discussing a
somewhat obscure microcontroller has trouble finding a home.

On the bright side, prices are low, and for $100/month or so, you could
HIRE someone to run your mailing list for you.  Figuring out where to
get $100/month, however, is much harder than figuring out where to get
your $100k/year DoD contract...

BillW

1996\10\02@025117 by Robert Lunn

flavicon
face
>snip, snip, blah, blah...
>Again, it strikes me as unusal that the solution is to take up a collection...

       Andy's FAQ seems to cover the points you raise.

___Bob

1996\10\02@091214 by Christopher Zguris

picon face
At 11:43 PM 10/1/96 PDT, you wrote:
>    Maybe it's just me, but in all the years I've been on the Internet (and
>    ARPANET before that), I've never encountered having to collect funds to
>    help support a mailing list.  The whole fund drive just seems sort of
>    alien to me in this venue.
>
[SNIP]
>On the bright side, prices are low, and for $100/month or so, you could
>HIRE someone to run your mailing list for you.  Figuring out where to
>get $100/month, however, is much harder than figuring out where to get
>your $100k/year DoD contract...
>
>BillW
>

I have a mailing list running from world.std.com . It costs $5/month for the
account, and $5/month for the list. The admin nonsense is forwarded to this
account, and it works fine (for $20, you also get a web page). For $20/month
a shell account at Netcom (nationwide) gives the account owner up to 5 lists
for free. If _I_ can find a listprovider in NYC (where _nobody_ wants to run
one), it shouldn't be any big deal to find a provider elsewhere (or try
world.std.com - geographic location isn't really important. Telnet in, set
the .forward address, and done).

Chris

   ======================================================================
         Christopher Zguris  -  KILLspamczgurisspam.....interport.net  -  Uhhh, Ear?
                 1991 Honda VFR (Red, with red accessories)
          AMA, HSTA, CRVBMWR, HRCA, IVFROC, ex-Big Apple Vegetarian

                 I have known since I was very young that my
               purpose in life was to be Miss America. I have
                 lived my entire life with that idea in mind.
                   - Tara Dawn Holland, Miss America 1996
   ======================================================================

1996\10\02@122642 by Chuck McManis

flavicon
face
Sorry if this is off topic, so what is "adequate infrastructure" ? Is it a
pentium
class machine running FreeBSD or Linux ? (about $800 here in the Silicon
Valley) Presumably bandwidth is an issue. I've heard the number "over 1000
subscribers." Looking at the mail volume clearly an ISDN class system would
be adequate, possibly even a 33.6Kb line.

What exactly is needed in terms of hardware and connectivity to adequately
support the PIC list? What sort of access does Jory need to the system?
(root? user? other?)

--Chuck

1996\10\02@182726 by Bernie Gordon

flavicon
face
At 12:54 AM 10/2/96 -0400, you wrote:
{Quote hidden}

You might as well discontinue the list instead of begging.

1996\10\03@023956 by Clyde Smith-Stubbs

flavicon
face
Chuck McManis <spam_OUTcmcmanisspamKILLspamFREEGATE.NET> wrote:

> Sorry if this is off topic, so what is "adequate infrastructure" ? Is it a

Quite frankly, the notion of setting up a system solely to handle
the PICLIST is silly. The resources needed would barely
be noticed by even a very small Internet host. Disk space is
probably the most significant resource used (for archiving messages
etc.). Bandwidth is not an issue, with proper configuration, a 28.8K
link would be good up to about 5000 subscribers.

Having said that, I support the Fund idea, if only to reward Jory for his
work. But I see no reason why the continued operation of the list should
not depend on the kindness of strangers. There are plenty of people around
willing to make available spare resources - the hardest part will always
be getting one or more people to contribute their time to the administration
tasks.

At this point in time the most important thing to do is make a clear
statement that we want the list to continue - exactly how this will
happen can evolve over time. There's no major crisis right now - just
a few little ones.


--
Clyde Smith-Stubbs       | HI-TECH Software,       | Voice: +61 7 3354 2411
RemoveMEclydeRemoveMEspamEraseMEhitech.com.au      | P.O. Box 103, Alderley, | Fax:   +61 7 3354 2422
http://www.hitech.com.au | QLD, 4051, AUSTRALIA.   |
---------------------------------------------------------------------------
For info on the World's best C cross compilers for embedded systems, point
your WWW browser at http://www.hitech.com.au, or email KILLspaminfospamspamBeGonehitech.com.au

'The PICLIST Fund Report -- 7 October 1996'
1996\10\07@022723 by fastfwd

face
flavicon
face
Dudes:

Many of you have suggested that it would be unseemly to show
contribution amounts in these PICLIST Fund Reports, so I'm only
identifying Contributor Levels (as described in the PICLIST Fund
FAQ).

Of course, only those contributors who have NOT explicitly requested
anonymity are listed here.

The following good people have contributed to the fund... If the
PICLIST improves in the future, you have them to thank.

Contribution #:   Contributor:                         Level:
---------------   ----------------------------------   -------
   1             Shel Michaels                        Patron
   2             Clyde Smith-Stubbs                   God
   3             Reginald Neale
   4             David and Wanda Benson               God

As of 7 October 1996, the PICLIST Fund holds over $200... I won't
know the exact amount until the bank tells me what the
foreign-exchange rate is when the checks clear.

To everyone who's already donated:

   Thank you!  If the Fund keeps growing at this rate, we'll be
   able to provide Jory with all sorts of possibilities for the
   future of the PICLIST.

To those of you who plan to contribute but just haven't gotten around
to it:

   The sooner the better... The Fund doesn't collect MUCH interest,
   but every little bit helps.  Also, those low Contributor Numbers
   are going fast...

To those of you who aren't interested in contributing to the Fund:

   I'm sorry for wasting your time with these Fund Reports... Be
   assured that they'll appear only once every week or two while
   the Fund is open, then never again.

To those of you who have no idea what the Fund is all about:

   By the time you read this, the PICLIST Fund FAQ should be
   available on my company's web page:

       http://www.geocities.com/SiliconValley/2499

   Please read the FAQ and, if you have any questions, feel free to
   send them to me in PRIVATE e-mail.

By the way, there's some new information in the FAQ, so everyone who
hasn't yet contributed should probably check it out.

Remember:  Everyone CAN contribute, but no one HAS to.

Thanks again to everyone who's already contributed to the Fund.

-Andy

=== Andrew Warren - fastfwdspamspamix.netcom.com                ===
=== Fast Forward Engineering - Vista, California         ===
===                                                      ===
=== Custodian of the PICLIST Fund -- For more info, see: ===
=== http://www.geocities.com/SiliconValley/2499/fund.htm ===

'PIC16C84--Absolute max voltage on RA4?'
1996\10\09@023600 by John Payson

picon face
> A quick look at my databook shows that RA4 is an open drain output pin.
> This means that the pin must have an external pullup resistor to function
> as an output.  Please try adding a 4700 ohm  resistor between the RA4 pin
> and 5 volts, that should fix it.

On a related note: what is the maximum voltage on RA4 when VDD is at zero
volts?  Is there any "safe" current level [e.g. if I were to connect RA4
to +5 through a 1M resistor while VDD was at zero, would that be safe?
What if it were a 10K resistor?  What if it were a Zerohm(tm) "resistor"?]

1996\10\09@024852 by TONY NIXON 54964

flavicon
picon face
>On a related note: what is the maximum voltage on RA4 when VDD is at zero
>volts?  Is there any "safe" current level [e.g. if I were to connect RA4
>to +5 through a 1M resistor while VDD was at zero, would that be safe?
>What if it were a 10K resistor?  What if it were a Zerohm(tm) "resistor"?]

The trouble with power being applied to any pin while Vdd is zero, is
that the device can still remain in a powered up state. Current flows
into the IO pin, through the protection diode, and back to the chip's
internal Vdd rail. Therefor a 10K resistor would provide 440uA of
current which is more than enough to power a PIC on LP mode. As the
chip may not power down correctly because of this current flow, it
may not start up reliably as well.

Tony


Just when I thought I knew it all,
I learned that I didn't.

1996\10\09@043449 by Keith Dowsett

flavicon
face
<important stuff snipped>

> What if it were a Zerohm(tm) "resistor"?
>

I think I saw one of those a while ago sitting in a bath of liquid helium.
How do you connect it to the PIC?

Keith.
==========================================================
Keith Dowsett         "Variables won't; constants aren't."

E-mail: RemoveMEkdowsettspamBeGonespamRemoveMErpms.ac.uk
WWW:    http://kd.rpms.ac.uk/index.html

1996\10\09@091927 by Jacob Blichfeldt

flavicon
face
part 0 722 bytes
>The trouble with power being applied to any pin while Vdd is zero, is
that the device can still remain in a powered up state. Current flows
into the IO pin, through the protection diode, and back to the chip's
internal Vdd rail. Therefor a 10K resistor would provide 440uA of
current which is more than enough to power a PIC on LP mode. As the
chip may not power down correctly because of this current flow, it
may not start up reliably as well.

Tony


As written, RA4 is an O/C-output and does not have any protection-diodes (only to Gnd). The datasheets 'absolute maximum ratings' states max. 14 V on RA4, also when VCC=GND. A resistor is recommend as currentlimiter if RA4 goes low on power-up.

-Jacob Blichfeldt

1996\10\09@105255 by Martin J. Maney

flavicon
face
On Wed, 9 Oct 1996, Jacob Blichfeldt wrote:

> As written, RA4 is an O/C-output and does not have any protection-diodes =

I think you've overlooked the input buffer.

> (only to Gnd). The datasheets 'absolute maximum ratings' states max. 14 =
> V on RA4, also when VCC=3DGND. A resistor is recommend as currentlimiter =
> if RA4 goes low on power-up.

What edition of the datasheet is that?  This sounds like the description
of the MCLR pin in the 16C84 sheet in hte 95/96 databook (and in every
other sheet I recall looking at).  I think you've been misled.

1996\10\09@113213 by Jacob Blichfeldt

flavicon
face
part 0 902 bytes
>> As written, RA4 is an O/C-output and does not have any protection-diodes =

>I think you've overlooked the input buffer.

>> (only to Gnd). The datasheets 'absolute maximum ratings' states max. 14 =
>> V on RA4, also when VCC=GND. A resistor is recommend as currentlimiter =
>> if RA4 goes low on power-up.

>What edition of the datasheet is that?  This sounds like the description
of the MCLR pin in the 16C84 sheet in hte 95/96 databook (and in every
other sheet I recall looking at).  I think you've been misled.


The datasheets is DS30081F page 21: (quote) 'Note: I/O pin has protection diodes
to Vss only.'
I just tried measuring a device, and the datasheet is ofcource correct. Only a
diode to Gnd (Vss) can measured.
One of the advantages of an O/C (or Open Drain) output is that you can switch
between Gnd and a voltage higher than Vcc.

-Jacob Blichfeldt

1996\10\09@113426 by John Payson

flavicon
face
> On Wed, 9 Oct 1996, Jacob Blichfeldt wrote:
>
> > As written, RA4 is an O/C-output and does not have any protection-diodes =
>
> I think you've overlooked the input buffer.

An input buffer is usually a mosfet inverter, with the input tied to the
gates of two mosfets.  As such, the gates have no diode behavior and are
effectively open-circuit for any voltage not high enough to destroy the
insulating oxide layer.

The protection diodes in a chip are normally a result of output drivers: a
sinking N-fet driver will have its substrate (which is P-type) biased to
ground; if the voltage on the P-substrate exceeds that on the N-channel,
current will flow through the P-N junction.

A similar situation exists on many normal device pull-up transistors (there
are some exceptions--it's possible for a device to use N-type transistors
on its outputs which would not have the diodes to VDD, but such a device
would need an internal voltage source of 6 volts or so to drive the gate).

> > (only to Gnd). The datasheets 'absolute maximum ratings' states max. 14 =
> > V on RA4, also when VCC=3DGND. A resistor is recommend as currentlimiter =
> > if RA4 goes low on power-up.
>
> What edition of the datasheet is that?  This sounds like the description
> of the MCLR pin in the 16C84 sheet in hte 95/96 databook (and in every
> other sheet I recall looking at).  I think you've been misled.

I would not be surprised if the behavior of the 16C84 is as described, but
it would be nice to have some useful source that actually SAID so...

1996\10\09@182140 by John Payson

flavicon
face
> The datasheets is DS30081F page 21: (quote) 'Note: I/O pin has protection
diodes
>  to Vss only.'
> I just tried measuring a device, and the datasheet is ofcource correct. Only a
>  diode to Gnd (Vss) can measured.
> One of the advantages of an O/C (or Open Drain) output is that you can switch
>  between Gnd and a voltage higher than Vcc.

The data sheet says the pin does not have the diode, but it says nothing
about the maximum allowable voltage on the pin other than the "any pin"
spec.  For any other "any" pin, the requirement that the pin not exceed
VDD makes sense because of the parasitic diode; for the RA4 pin, however,
the documentation does not say you can exceed VDD without damaging the
device--merely that there's no diode to prevent you from doing so.

I'd be thrilled if I had some confirmation that the pin could be used to
switch 9 or 12 volts; I've not seen such a thing documented, however, and
would not wish to use it in a design without assurance that it was safe
to do so.  Does anyone at Microchip know the scoop?

1996\10\10@040719 by Kalle Pihlajasaari

flavicon
face
Hi Jacob,

> The datasheets is DS30081F page 21: (quote) 'Note: I/O pin has protection
diodes
>  to Vss only.'
> I just tried measuring a device, and the datasheet is ofcource correct. Only a
>  diode to Gnd (Vss) can measured.
> One of the advantages of an O/C (or Open Drain) output is that you can switch
>  between Gnd and a voltage higher than Vcc.

Woah boy.  Just remember that you are not talking about a ULN2003 relay
driver here.  The PIC16C/F84(A) could be inadvertently be put into
Probramming mode if you pull the _MCLR pin too high (especially
when Vcc is low)  If you must have a 6V open collector output
from say a set of batteries and you know that you chip will
reset correctly (open collector reset IC connected to _MCLR then
you can probably get away with it even if you put a low drop regulator
onto the rest of the IC and run it at 5V.

If you want open collector at above supply voltage then put in the
transistor and resistor and feel safe.

Cheers
--
Kalle Pihlajasaari     KILLspamkallespamBeGonespamdata.co.za
Interface Products     Box 15775, Doornfontein, 2028, South Africa
+27 (11) 402-7750      Fax: +27 (11) 402-7751

1996\10\10@064051 by Jacob Blichfeldt

flavicon
face
part 0 745 bytes
>Woah boy.  Just remember that you are not talking about a ULN2003 relay
driver here.  The PIC16C/F84(A) could be inadvertently be put into
Probramming mode if you pull the _MCLR pin too high (especially
when Vcc is low)  If you must have a 6V open collector output
from say a set of batteries and you know that you chip will
reset correctly (open collector reset IC connected to _MCLR then
you can probably get away with it even if you put a low drop regulator
onto the rest of the IC and run it at 5V.

>If you want open collector at above supply voltage then put in the
transistor and resistor and feel safe.

>Cheers
>Kalle Pihlajasaari     @spam@kalleSTOPspamspam@spam@data.co.za

What are you talking about? We are discussing RA4 here, not _MCLR...

1996\10\10@113046 by Martin J. Maney

flavicon
face
On Wed, 9 Oct 1996, Jacob Blichfeldt wrote:

> The datasheets is DS30081F page 21: (quote) 'Note: I/O pin has protection
diodes
>  to Vss only.'
> I just tried measuring a device, and the datasheet is ofcource correct. Only a
>  diode to Gnd (Vss) can measured.

Okay as far as it goes, but there IS an input buffer connected to that
pin as well.  You'd need to measure leakage current with 14V applied to
test this empirically, not just ohm it out.

> One of the advantages of an O/C (or Open Drain) output is that you can switch
>  between Gnd and a voltage higher than Vcc.

Can be, if the output is specified to permit it.  Does the F revision of
the datasheet spec that pin for higher voltage tham most of the rest?
The E version does not - all other [than Vdd or MCLR] pins are spec'd
only to 0.6V above Vdd.  Lacking an (input) protection diode is not
enough to permit reliable operation above Vdd -there were LOTS of OC TTL
gates that would fry if you went much over 5V, and those outputs really
were bare open collectors (aside from parasitic junctions).

1996\10\10@211624 by Eric Smith

flavicon
face
Someone said:
> What if it were a Zerohm(tm) "resistor"?

and Keith Dowsett replied:
> I think I saw one of those a while ago sitting in a bath of liquid helium.
> How do you connect it to the PIC?

I acquired a box of zero ohm resistors from an engineering lab clearance at
my previous job.  I'd seen some before with just a single black band, but
these ones are marked black-black-black-silver.  Unfortunately they seem to
be defective; they don't come anywhere close to meeting the specified
tolerance.

Eric

1996\10\11@014449 by Dave Mullenix

flavicon
face
>Someone said:
>> What if it were a Zerohm(tm) "resistor"?
>
>Someone else replied:
>> I think I saw one of those a while ago sitting in a bath of liquid helium.
>> How do you connect it to the PIC?
>
>A third person raised the stakes
>I acquired a box of zero ohm resistors from an engineering lab clearance at
>my previous job.  I'd seen some before with just a single black band, but
>these ones are marked black-black-black-silver.  Unfortunately they seem to
>be defective; they don't come anywhere close to meeting the specified
>tolerance.

And I chipped in:
We used to use them as current limiting resisters for our Darkness Emitting
Arsenide Diodes.  D.E.A.D. diodes are like LEDs, except that they emit
darkness when you put a voltage across them.

1996\10\11@034147 by Keith Dowsett

flavicon
face
>>Someone said:
>>> What if it were a Zerohm(tm) "resistor"?
>>
>>Someone else replied:
>>> I think I saw one of those a while ago sitting in a bath of liquid helium.
>>> How do you connect it to the PIC?
>>
>>A third person raised the stakes
>>I acquired a box of zero ohm resistors from an engineering lab clearance at
>>my previous job.  I'd seen some before with just a single black band, but
>>these ones are marked black-black-black-silver.  Unfortunately they seem to
>>be defective; they don't come anywhere close to meeting the specified
>>tolerance.
>
>And I chipped in:
>We used to use them as current limiting resisters for our Darkness Emitting
>Arsenide Diodes.  D.E.A.D. diodes are like LEDs, except that they emit
>darkness when you put a voltage across them.
>
>
And the story continued...

I believe you can get great big panels of silicon DED's They even use them
to power the parking meters in germany.

Keith.
==========================================================
Keith Dowsett         "Variables won't; constants aren't."

E-mail: kdowsettspamBeGonespamspamBeGonerpms.ac.uk
WWW:    http://kd.rpms.ac.uk/index.html

1996\10\11@041956 by Kalle Pihlajasaari

flavicon
face
Hi Jacob,

> >> One of the advantages of an O/C (or Open Drain) output is that you can
switch
{Quote hidden}

My mistake, not at my most lucid when I posted the message.

There should be no direct side effects from using RA4 above supply
withing the limits of the spec (which is woefully unclear on this
point).

Cheers
--
Kalle Pihlajasaari     spam_OUTkalleSTOPspamspamdata.co.za
Interface Products     Box 15775, Doornfontein, 2028, South Africa
+27 (11) 402-7750      Fax: +27 (11) 402-7751

'stepper control code for rs-232--sorry'
1996\10\21@053859 by BARBAROS ASUROGLU

flavicon
picon face
sorry for sending the code several times there was a problem in the
server of us .i apologize to occupy your service with the same message
several times.we fixed that problem.....:)

barbaros


---------------------------------------------------------
Barbaros ASUROGLU - TA2CBA      AMPR GATEWAY : 44.176.1.1

Member Of ANTRAK - Amateur Radio Club Of ANKARA - TURKEY

Home Page: http://www.metu.edu.tr/~antrak
---------------------------------------------------------

        " SCIENTIA DUX VITAE CERTISSIMUS "

                                         K.ATATURK

'Setting CONFIGURATION bits ---How is it done?'
1996\10\21@210003 by Brooke

flavicon
face
I am trying to write my first P16F84 program.

I have the Charles Manning programmer and have been able to load
his "lights" program into a 16C84 and it works.

My question is:  How do I (using the MPASM program) define the
                configuration bits?

When I include a line in the assembler source such as
    CONFIG     0X3FF7
I get an error message about a label not in coul. number 1.

Thanks for any help,
Brooke Clarke

1996\10\22@015508 by fastfwd

face
flavicon
face
Brooke <RemoveMEPICLISTspamspamMITVMA.MIT.EDU> wrote:

> My question is:  How do I (using the MPASM program) define the
>                  configuration bits?
>
> When I include a line in the assembler source such as
>      CONFIG     0X3FF7
> I get an error message about a label not in coul. number 1.

Brooke:

Put two underscore characters in front of the word "CONFIG", and
it'll work fine:

   __CONFIG 0x3FF7

-Andy

=== Andrew Warren - TakeThisOuTfastfwdspamspamRemoveMEix.netcom.com                 ===
=== Fast Forward Engineering - Vista, California          ===
===                                                       ===
=== Custodian of the PICLIST Fund -- For more info, see:  ===
=== http://www.geocities.com/SiliconValley/2499/fund.html ===

1996\10\22@131700 by Brooke

flavicon
face
Andrew Warren wrote:
>
> Brooke <KILLspamPICLISTspamspamspam_OUTMITVMA.MIT.EDU> wrote:
>
> > My question is:  How do I (using the MPASM program) define the
> >                  configuration bits?............

> Put two underscore characters in front of the word "CONFIG", and
> it'll work fine:
>
>     __CONFIG 0x3FF7
>
Andy:

Andy:

Thanks, that solved the problem.

In the P16F84.INC file there are definitions for things like:

_CP_ON   EQU   H'000F'
_RC_OSC  EQU   H'3FFF'

How can I use these instead of saying:

__CONFIG   0X3FF7

I have a line that looks like:

    MOVF      TRISB,F

where TRISB is EQU  H'0086' in the P16F84.INC file.

I am getting a "Warning[224]: Use if this instruction is not
recommended"
I was under the impression that I could address this register
directly. Is the assembler objecting to my variabe name?

Thanks for the help,
Brooke

Thanks for your help,
Brooke

1996\10\22@211736 by Michael S. Hagberg

flavicon
face
i use a line like the following:

   __CONFIG _CP_OFF & _PWRTE_ON & _WDT_ON & _HS_OSC

   ^^ (two underlines)

this way i don't have to convert the functions into bits.
------
Warning [224] is because Mchip does not recommend the use of the
TRISB command.  NOTE: if you use the command you must be in bank 1.
here is a snipit from one of my projects for the 16c74, the use of
0x7F after TRISA will prevent the assembler from complaining about
the address range.


               bsf     STATUS,RP0              ; select page 1
               clrwdt
               movlw   0xFB                    ; WDT 18ms * 8
               movwf   OPTION_REG & 0x7F
               movlw   B'11101111'             ; Port A
               movwf   TRISA & 0x7F
               movlw   B'00001001'             ; Port B
               movwf   TRISB & 0x7F
               movlw   B'11010011'             ; Port C
               movwf   TRISC & 0x7F
               movlw   B'11110000'             ; Port D
               movwf   TRISD & 0x7F
;init_ansyc
               movlw   17                      ; 9600 baud
               movwf   SPBRG & 0x7F
               movlw   0xA0
               movwf   TXSTA & 0x7F
               movlw   0x05                    ; 2 analog, vref=AN3
               movwf   adcon1 & 0x7F
               bcf     STATUS,RP0              ; select page 0


michael

1996\10\22@230403 by TONY NIXON 54964

flavicon
picon face
MICHAEL WROTE

>Warning [224] is because Mchip does not recommend the use of the
>TRISB command.  NOTE: if you use the command you must be in bank 1.
>here is a snipit from one of my projects for the 16c74, the use of
>0x7F after TRISA will prevent the assembler from complaining about
>the address range.

If these messages are annoying AND you know your code is ok then you
can disable them by using the ERRORLEVEL command from MPASM.

eg   errorlevel -224

This will suppress all #224 error messages.

Tony


Just when I thought I knew it all,
I learned that I didn't.

'The PICLIST Fund -- Sorry, no update today.'
1996\10\29@035435 by fastfwd

face
flavicon
face
Dudes:

Normally, I'd be posting an update on the PICLIST Fund today, but I'm
two days away from the deadline on an 8-month-old project (it's a
Windows program written in Visual C++ -- Ack!) so I don't have the
time to post the information today.

Despair not!  If I'm not forced to perform ritual suicide on
Wednesday in order to save face, I'll post a Fund update here at the
end of the week.

-Andy

P.S.  All of you who promised to send contributions but haven't
     gotten around to it yet:  Now's the time... Those coveted low
     contributor numbers are still available.

=== Andrew Warren - fastfwdRemoveMEspamix.netcom.com                 ===
=== Fast Forward Engineering - Vista, California          ===
===                                                       ===
=== Custodian of the PICLIST Fund -- For more info, see:  ===
=== http://www.geocities.com/SiliconValley/2499/fund.html ===


'>16Kbit serial EEPROMS--summary'
1996\11\06@014746 by Matthew Mucker
flavicon
face
Thank you to all who responded to my request for information regarding
serial EEPROMs greater than 16Kbit.  I found your advice tremendously
helpful.

From your responses, I was able to locate devices from three manufacturers
that all seem to fit the requirements.  The manufacturers are Atmel, Xicor,
and Microchip.  I found the results of my search quite amusing in one
sense-- all three vendors make essentially the same chip!  They all use the
I2C bus, and at first glance are even pin-compatible!  (Except for a 'write
protect' pin which is implemented slightly differently on all three
versions.)

I guess my choice will boil down to cost/availability.  I just thought I'd
post a summary of my findings for others.  Once again, thanks for the
collective help.

-Matt


 "DOS Computers manufactured by companies such as IBM, Compaq, Tandy, and
millions of others are by far the most popular, with about 70 million
machines in use wordwide. Macintosh fans, on the other hand, may note that
cockroaches are far more numerous than humans, and that numbers alone do
not denote a higher life form."

1996\11\06@163738 by Bob Fehrenbach

picon face
Matthew Mucker <EraseMEmmuckerSTOPspamspamRemoveMEAIRMAIL.NET> wrote:
>>From your responses, I was able to locate devices from three manufacturers
>that all seem to fit the requirements.  The manufacturers are Atmel, Xicor,
>and Microchip.  I found the results of my search quite amusing in one
>sense-- all three vendors make essentially the same chip!

  Caution!  In a couple of cases where I designed in a Microchip part,
  a Xicor part would not function in the same socket with the same
  software.  At the time I was in crunch mode and didn't have the time
  to figure out why.  A quick scan of the data books did not point out
  any obvious differences.  I had a chat with a Microchip technical
  person on this and he agreed there was a difference but couldn't
  remember what it was.

  Perhaps someone has persued this in more detail and could post his/her
  findings.

--
Bob Fehrenbach    Wauwatosa, WI     spam_OUTbfehrenbRemoveMEspamEraseMEexecpc.com

1996\11\06@235129 by Giles L. Honeycutt

flavicon
face
I have run into this problem with one chip working and another brand not on the
serial EE, What if found was the Microchip that I used would
work faster than it's spec, and my program I wrote worked with it, when I
changed parts, I had to modify the program for propor timming. Now I
do all my timming from the "real" specs of the Buss (not the part), such as I am
writing for a 100kbit I2C as apposed to the 400Kbit, because
my clock/calender chip is only rated at the slower spec (watch out for this
yall!) and most the EEproms will work up to the 400Kbit Standard.
Giles L. Honeycutt

Bob Fehrenbach wrote:
{Quote hidden}

1996\11\07@015053 by Matthew Mucker

flavicon
face
>Matthew Mucker <spammmucker.....spamspamAIRMAIL.NET> wrote:
>>>From your responses, I was able to locate devices from three manufacturers
>>that all seem to fit the requirements.  The manufacturers are Atmel, Xicor,
>>and Microchip.  I found the results of my search quite amusing in one
>>sense-- all three vendors make essentially the same chip!
>
>   Caution!  In a couple of cases where I designed in a Microchip part,
>   a Xicor part would not function in the same socket with the same
>   software.  At the time I was in crunch mode and didn't have the time
>   to figure out why.  A quick scan of the data books did not point out
>   any obvious differences.  I had a chat with a Microchip technical
>   person on this and he agreed there was a difference but couldn't
>   remember what it was.
>
>   Perhaps someone has persued this in more detail and could post his/her
>   findings.
>
After posting my summary, I found an application note on Xicor's web page
stating that the three are indeed very similar, and giving a design process
to ensure compatibility in an application with any of the three chips.  I
don't know what the number of the app note is, but interested readers may
start their search at:

http://www.xicor.com/appnote/an12.htm

This is an unrelated app note, but will have a link to the app note index.

-Matt


 "DOS Computers manufactured by companies such as IBM, Compaq, Tandy, and
millions of others are by far the most popular, with about 70 million
machines in use wordwide. Macintosh fans, on the other hand, may note that
cockroaches are far more numerous than humans, and that numbers alone do
not denote a higher life form."

'PCB's-- revisited'
1996\11\19@230434 by Matthew Mucker

flavicon
face
I have been following the PCB thread with a great deal of interest, as I'm
sure many others have.  I was perusing back issues of Circuit Cellar Ink
(all of you *DO* subscribe to this wonderful journal, don't you?) and came
across the following.  Though I have not tried it, it sounds very
promising.

The article is on page 80 of the August/September 1992 issue (issue #28).
The article is by Jeff Bachiochi and is about a product called the Toner
Transfer System by DynaArt Designs.  It is a paper that is specially coated
to allow easier direct-toner transfers of artwork to PCBs.  The way it
works is that you print out your artwork and iron it on to the PCB, as in
other designs, but then, and this is the secret, you put the board, still
attached to the paper, in a tray of water.  The water dissolves the
"special sauce" that lies between the toner and the paper.  Like a decal,
the paper lifts off, leaving the toner on the board.

Again, I have not tried this myself, but the author of the article is very
enthusiastic.  He claims he had no problems using this technique in making
a double-sided PCB.  The paper comes in 8.5 by 11 inches.  The author does
not mention how many sheets in a box nor the cost of the system.

The address of the manufacturer is:

       DynaArt Designs
       3535 Stillmeadow Ln.
       Lancaster, CA 93536
       (805) 943-4746

       Toner Transfer System #TTS 58511-392

Again, this article was published in 1992, so I don't know if this is still
available or not.  I'm not ready to etch a board yet, so I didn't call to
find out, but I thought this might interest some of you.

Please let the rest of us know what you find out.

       -Matt


 "DOS Computers manufactured by companies such as IBM, Compaq, Tandy, and
millions of others are by far the most popular, with about 70 million
machines in use wordwide. Macintosh fans, on the other hand, may note that
cockroaches are far more numerous than humans, and that numbers alone do
not denote a higher life form."

1996\11\22@095920 by chris

flavicon
face
> The article is on page 80 of the August/September 1992 issue (issue #28).
> The article is by Jeff Bachiochi and is about a product called the Toner
> Transfer System by DynaArt Designs.  It is a paper that is specially coated
> to allow easier direct-toner transfers of artwork to PCBs.  The way it
> ...

I have had very good luck making single and double-sided prototype
PCB's using Press-n-Peel Blue by Techniks with my Laserjet 4P.  I've
looked at other toner transfer methods used, and this product
produces the best results for me.  The secret is not to apply too
much heat and to allow the board to cool before removing the
backing.  I am very impressed with the results!

The address is:

Techniks, Inc.
P.O. Box 463
Ringoes, NJ  08551
(908) 788-8249

I have no affiliation with Techniks other than as a customer.

Chris


----------------------------------------------------------------------
Chris B. Sakkas (chrisspam_OUTspam@spam@itutech.com)  http://www.itutech.com
ITU Technologies (.....infospamspam.....itutech.com)    ftp://itutech.com
***        WARP-3 Programmers available for only $129!             ***
***   The ULTIMATE Programmer for the Microchip PIC16C family!     ***
*** VISA and MasterCard accepted     (513) 574-7523                ***

1996\11\22@102449 by rlando de Andrade Figueiredo

flavicon
face
Another toner based process that I have used for single sided boards
(I haven't tried doubled sided) with success:

http://chelsea.ios.com/~techniks/



Orlando de Andrade Figueiredo,
e-mail: orlanfigKILLspamspamEraseMEsvn.com.br,
de Salvador, Brasil.

1996\11\22@132328 by Bradley, Larry

flavicon
face
I've used it  (only two small 3x5 boards so far). It works well.
Digi-Key sells the stuff for $15 for 5 8 1/2 x 11 sheets. You don't need
to use the entire sheet ... you can feed the remnants of the sheet
through the laser printer.

I use larger pads and traces than my CAD package sets as a default, just
to be on the safe side, but I've had excellent results by following the
instructions to the letter.

You DON"T iron the artwork onto the PCB. They recommend that you place
the board on top of the artwork (artwork face up, board face down) and
use the iron on the bottom side of the board.

Larry

{Quote hidden}

1996\11\24@003344 by Wynn Rostek

flavicon
face
At 11:10 PM 11/19/96 +0500, you wrote:
>Please let the rest of us know what you find out.


Matt,

DynaArt is still around.  I just ordered the toner transfer paper,
a special toner cartridge, and a special laminator they offer.  I'm
in the middle of writing a quick and dirty CAD program in Microsoft
Visual C++.  They are supposed to deliver the supplies Saturday,
Sunday I finish the code and make the first double sided board
to hold a 1000 day countdown timer based on a PIC16C84.

I'll let you know how it turns out.

(I think the paper has some kind of sugar based coating, and I
think it was originally made for etching glass...)

@spam@WB4ZUYspamspamKILLspamamsat.org

1996\11\24@174704 by gary skinner

flavicon
face
re: DynaArt system

I tried it and had reasonable luck.  But after finding AP circuits in
Canada (and now EP ckts for a few less $) I don't waste my time doing
it myself anymore.
Besides, I can't do plated thru holes.

related topic ---
PC drills can be gotten from Electronic Goldmine in Ariizona
800-445-0697
resharpened carbide,  good enough for hand operation.
I think they are $.69 to $.75 each
only certain sizes available.
Min order $10
(no affiliation, just satisfied customer)

Gary Skinner   spamBeGonegskinnerRemoveMEspamEraseMEcsd.net
Electronic Solutions, Inc.
design of custom electronic controls

'The PICLIST Fund Report -- 25 November 1996'
1996\11\25@183744 by fastfwd

face
flavicon
face
Dudes:

It's been WAY too long since I posted the last PICLIST Fund update.
Here's the latest information:

The donations have been arriving steadily since I started the Fund,
and it now holds over EIGHT HUNDRED DOLLARS!

The following good people (and a number of others who've requested
anonymity) have contributed to the fund... If the PICLIST improves in
the future, you have them to thank:

   Shel Michaels, Clyde Smith-Stubbs, Reginald Neale, David and
   Wanda Benson/Square-1 Publishing, Don McKenzie/DonTronics, Mike
   Riendeau, Bob Blick, Walter Banks/Byte Craft Limited.

To those of you who've already contributed:

   Thank you!  The money you've donated will really help Jory make
   improvements and additions to the PICLIST.

To those of you who plan to contribute but just haven't gotten around
to it:

   Send those checks today... The Fund doesn't collect MUCH
   interest, but every little bit helps.

To those of you who aren't interested in contributing to the Fund:

   I'm sorry for wasting your time with these Fund Reports... Be
   assured that they'll appear only once every week or two while the
   Fund is open, then never again.

To those of you who have no idea what the Fund is all about:

   The PICLIST Fund FAQ is available on my company's web page:

       http://www.geocities.com/SiliconValley/2499

   Please read the FAQ and, if you have any questions, feel free to
   send them to me in PRIVATE e-mail.

By the way, there's some new information in the FAQ, so everyone who
hasn't yet contributed should read it before sending a donation.

Remember:  Everyone CAN contribute, but no one HAS to.

Thanks again to everyone who's already contributed to the Fund.

-Andy

=== Andrew Warren - RemoveMEfastfwdKILLspamspamRemoveMEix.netcom.com                 ===
=== Fast Forward Engineering - Vista, California          ===
===                                                       ===
=== Custodian of the PICLIST Fund -- For more info, see:  ===
=== http://www.geocities.com/SiliconValley/2499/fund.html ===

'The PICLIST Fund FAQ -- 25 Nov 1996'
1996\11\26@010220 by fastfwd

face
flavicon
face
Frequently-Asked Questions regarding the PICLIST Fund
-----------------------------------------------------

This FAQ is HUGE... How often are you going to be filling my mailbox
with copies of it?

   Approximately once every two weeks while the Fund is open, then
   never again.  The PICLIST generates 20-50 messages per day, so
   this FAQ should represent only a very small percentage of the
   total list traffic.

What is the PICLIST Fund?

   The PICLIST Fund is a means for list members to express, through
   monetary donations, their gratitude to Jory Bell for the work
   he's done. The Fund will be open for donations for six months,
   then it'll be closed and all the collected money will be given
   to Jory.

   Anyone MAY donate to the Fund; no one HAS to.

How will monetary donations help the PICLIST?

   As I mentioned above, Jory Bell's been operating, maintaining,
   and (occasionally) moderating the PICLIST since its inception.
   If you subscribe to the PICLIST, you know that it's particularly
   well-run in comparison to most other lists; Jory's managed to
   make it a truly valuable resource for all of us.

   What you may not know -- mostly because Jory's a modest guy --
   is that he has had to devote a significant amount of his own time
   to operating the list. Unlike the other PIC-related mailing
   lists, the PICLIST isn't being run by a for-profit corporation;
   every hour that Jory's spent on the list has come out of his
   limited personal time.

   Jory's always spent that time freely, and he's never considered
   charging a fee for access to the PICLIST, but it's only right
   that we thank him for the PICLIST, and -- while he certainly
   wouldn't mind receiving an occasional thank-you note in e-mail --
   thank-you notes don't pay the bills.

   Additionally, a number of troubling issues have recently arisen:

     1.  The free MIT list-server that Jory has been using may go
     away, necessitating a switch to a commercial server.

     2.  List-administration and -maintenance requirements have
     grown along with the PICLIST membership (currently, over 1,000
     people subscribe to the list), and Jory's old hardware is
     starting to become overloaded.

     3.  We'd all like to add new peripheral services to the
     PICLIST. In particular, a searchable archive of the messages
     posted to the PICLIST, and a way for list-members to make large
     source-code (or whatever) files accessible to others, would be
     very useful additions.

   Commercial internet service, new hardware, and web pages don't
   come free... Even if someone DONATES the list- or web-hosting
   services, it'd be nice to have some money to support it; the
   PICLIST archives, for example, are very large and the server
   owners would certainly appreciate it if the PICLIST payed for
   its own disk space.

   Also, web-page creation and maintenance is a time-consuming job
   and it's unreasonable to assume that Jory's magnanimity extends
   to performing this thankless task. If a PICLIST web-page were
   created, some of the money collected by the Fund would probably
   go to a part-time Webmaster.

Who's the custodian of the Fund?

   I am.

Why you?

   Why not? Someone had to do it.

   Look... The Fund was my idea; Jory never asked for any money.
   Since I proposed the idea, it didn't seem right to ask anyone
   else to spend his or her time managing the Fund. Also, I've been
   a PICLIST member for a long time, and most members (I hope) feel
   that they can trust me to manage the Fund responsibly. See "How
   do we know you won't take the money and run?" below.

I thought the PICLIST was free. Does this mean that we'll now have
to pay money for access?

   NO!

   Everyone CAN contribute, but no one HAS to. Donations are
   absolutely voluntary; you won't gain any personal privileges on
   the PICLIST if you donate, and you won't lose any if you don't.

   No one will think any less of you if you choose not to contribute
   to the Fund, and if you don't contribute, the list (for as long
   as it's operational) will continue to be available to you for
   free, as it always has been.

   Jory has no intention of transforming the PICLIST into a
   fee-based service; the Fund has been set up for one-time
   voluntary donations only.

What, exactly, will the money be used for?

   I don't know yet, and neither does Jory... Until we have an idea
   of how much money there'll be, it doesn't make much sense to
   decide how to spend it. If you have any specific suggestions,
   however, please send them to me in private email (Jory's busy
   enough already) and I'll pass them along to him.

   All we know right now is that we want to ensure that the PICLIST
   can survive without depending on the generosity of any one
   individual or corporation. If we can also expand the PICLIST to
   include auxiliary services like a list-member FTP site for
   distributing code samples, list archives, etc., that'd be great,
   too.

   One thing that you CAN be sure of is that ALL of the money will
   go to Jory... I'm DONATING the time and effort required to
   maintain the Fund; NO PORTION of the money is going to me.

What if we donate our money and the list disappears anyway? Will
there be any refunds?

   No.  The Fund is primarily a vehicle for expressing our gratitude
   to Jory for work that he's ALREADY done... While there's a strong
   expectation that he'll spend the Fund money on improvements to
   the PICLIST, there's no guarantee that he'll do so.

   This doesn't bother me (or any of the people who've already
   contributed to the Fund) in the least.

So how do we know that Jory won't just take the money and run?

   We don't.  The money in the Fund will be given to Jory WITH NO
   STRINGS ATTACHED, so there are NO GUARANTEES as to the use to
   which he'll put it.

   If this makes you uncomfortable, do as the other contributors
   have done and try to think of your donation as an expression of
   gratitude for information you've ALREADY received from the list.

   If you still feel uncomfortable, please don't donate.

How do we know that YOU won't take the money and run?

   I guess you don't, really... But keep in mind that I run a
   business whose success depends largely on my personal
   reputation. It wouldn't make much sense for me to risk that
   reputation for a sum of money that I expect will amount to less
   than what my business generates every couple of weeks.

   If it helps, I'll be happy to tell any potential contributor how
   to get in touch with an officer at the bank where the PICLIST
   Fund account is located... Just send me private e-mail.

How do I donate to the Fund?

   I've set up an account at a local bank specifically for the
   PICLIST Fund. The bank doesn't want to receive checks directly,
   so if you'd like to contribute, please send checks only (I don't
   want to deal with cash or credit cards) to the following address:

       The PICLIST Fund
       c/o Fast Forward Engineering
       1984 Casablanca Court
       Vista, CA  92083-5043
       USA

   IMPORTANT:

      Make checks payable to "Andrew Warren and Jory Bell".

      Both of our signatures will be required in order for any funds
      to be withdrawn from the account, so this shouldn't make anyone
      nervous.

      Please endorse the back of the check as follows:

          For Deposit Only
          Andrew Warren and Jory Bell
          Union Bank
          Acct #0923012314

      Please include your e-mail address with your check.

      If you want your donation to be anonymous (as far as the rest
      of the list is concerned), please include a note to that
      effect.

Is my donation tax-deductible as a "charitable contribution to a
non-profit organization"?

   No.  For income-tax-reporting purposes, Jory will probably
   report it as "gift income".

How much should I donate?

   As much as you feel is appropriate.

   I don't think it's improper to recognize those who dig a little
   deeper, however, so I've come up with the following three-tiered
   "contributor-level" suggestions:

       LEVEL:    AMOUNT:               EXPLANATION:
      ---------------------------------------------------------------

      FRIEND      $10    If you're a Student, you should be able to
      (Student)          afford $10.  This is less than the cost of
                         one audio compact disc or a tank of
                         gasoline, and it's not much more than the
                         quantity-one retail price of a PIC16C84.

      FRIEND      $30    If a Student can afford $10, anyone with a
      (Employed)         job should be able to afford $30.

      PATRON:     $50    A decent programming reference book costs
                         at least this much.  If you've received as
                         much useful information from the list as
                         you might reasonably expect to find in the
                         average textbook and want to show your
                         gratitude, this is the way.

      GOD:        $75    Many of us have actually profited financially
                         from the list, either through help that
                         other list-members gave us with our
                         commercial products or through sales of
                         development software and hardware that
                         we've advertised on the list.  If you fall
                         into this category, a $75 donation
                         shouldn't significantly affect your
                         balance sheet.

   Note that contributing at a particular level doesn't actually
   MEAN anything... Sorry, but you won't receive a commemorative
   T-shirt or coffee mug even if you donate at the "God" level.

I don't live in the USA. Can I contribute with a check drawn on
funds other than US dollars?

   Yes.  The bank assures me that no fees will be charged for
   currency conversion. However, you should check with your bank to
   ensure that YOU won't be charged a fee if your check is converted
   to US dollars.

I have more questions about the Fund. To whom should I send them?

   Jory and I are in contact, but he's not involved in the
   day-to-day running of the Fund. It'd be best, therefore, to send
   your questions directly to me at TakeThisOuTfastfwdspamix.netcom.com.

-Andy

=== Andrew Warren - spamBeGonefastfwdKILLspamspamTakeThisOuTix.netcom.com                 ===
=== Fast Forward Engineering - Vista, California          ===
===                                                       ===
=== Custodian of the PICLIST Fund -- For more info, see:  ===
=== http://www.geocities.com/SiliconValley/2499/fund.html ===


'A New Challenge -- WINNER!'
1997\01\08@114452 by fastfwd
face
flavicon
face
   WE HAVE A WINNER!
   -----------------

   To recap, the challenge was:

   File-register REG contains a number between 0 and 127, inclusive.
   The W-register contains a number between 0 and 127, inclusive.

   Write the most efficient PIC16C54 program that you can, using as
   few additional file registers as possible, to calculate:

       (REG xor W) + 2 * (REG and W)

Keith Dowsett <EraseMEPICLIST.....spamKILLspamMITVMA.MIT.EDU> wrote:

> Isn't this just another way of writing REG + W.
>
> REG xor W adds the bits with no carry, then 2 * REG and W adds in
> the carry!!

   Absolutely correct, Keith.  The complete program to perform the
   calculation is:

       ADDWF REG

   One word of code space, one instruction cycle, and no extra
   registers required.

   Thanks to everyone who played, and congratulations to Keith.

   -Andy

=== Andrew Warren - spamfastfwdspamix.netcom.com                 ===
=== Fast Forward Engineering - Vista, California          ===
===                                                       ===
=== Custodian of the PICLIST Fund -- For more info, see:  ===
=== http://www.geocities.com/SiliconValley/2499/fund.html ===

1997\01\08@151913 by myke predko

flavicon
face
Congratulations Keith!

myke
{Quote hidden}

"There are only three kinds of economists in the world.  Those who can count
and those who can't." - Eddy George, governor of the Bank of England

'An Addition -- re: Any female piclist members?'
1997\01\10@003427 by fastfwd

face
flavicon
face
Dudes:

In my last chicks-with-PICs message, I failed to mention Kim Gibson,
who's the Microchip engineer in charge of re-engineering MPLAB-C.

When MPLAB-C v2.0 is released later this year, you'll have her to
thank.

-Andy

=== Andrew Warren - @spam@fastfwd.....spamspamix.netcom.com                 ===
=== Fast Forward Engineering - Vista, California          ===
===                                                       ===
=== Custodian of the PICLIST Fund -- For more info, see:  ===
=== http://www.geocities.com/SiliconValley/2499/fund.html ===

'PIC Crystal Resonator -- Can I tap off OSC2?'
1997\01\21@124405 by Andrew Kalman

picon face
Hi All.

This is my first posting.

I have a circuit that uses a PIC16C64/65, in the HS configuration, running
at 16MHz. See "Oscillator Configurations: in the databook, etc. I want to
use this configuration because I want to power down the oscillator when the
PIC sleeps for minimum power consumption.

In this mode, the PIC uses a conventional parallel-resonant crystal
oscillator circuit, where the inverter that operates in its linear region
(via a resistor) is inside the PIC instead of "outside" with the rest of
the components. The componentry to shut this inverter off (so the processor
can sleep) is also inside the PIC. Note that this mode uses both OSC1 and
OSC2 pins, unlike the "External Clock Input" mode of operation, which
requires a complete external oscillator but provides a synchronous clock
output at OSC2.

I would like to have a synchronous clock signal available outside the PIC,
and all my pins are used up.

After reviewing a variety of crystal circuits, it occured to me that I
might be able to "hang" an HC14 off the OSC2 pin (as one might normally do
if the entire crystal oscillator circuit were built from discrete
components, and fed the PIC in the external clock input "mode) to derive an
in-phase clock signal to drive external components. Resistor "RS" would
probably be required, and since 'HC has roughly 10pF of input capacitance,
I may also have to use dissimilar values for C1 and C2.

My questions are:

1) Will this work?

2) If so, can I be certain that the PIC will always work over the full
temperature range, etc?

Thanks,


___________________________________________
| Andrew E. Kalman, Ph.D.   spamaek.....spam.....netcom.com  |
|        standard disclaimers apply         |
|___________________________________________|

1997\01\21@142423 by fastfwd

face
flavicon
face
Andrew Kalman <PICLIST.....spamMITVMA.MIT.EDU> wrote:

> I have a circuit that uses a PIC16C64/65, in the HS configuration
> ....
> I would like to have a synchronous clock signal available outside
> the PIC, and all my pins are used up.
> ....
> it occured to me that I might be able to "hang" an HC14 off the
> OSC2 pin .... to derive an in-phase clock signal to drive external
> components. Resistor "RS" would probably be required, and since 'HC
> has roughly 10pF of input capacitance, I may also have to use
> dissimilar values for C1 and C2.
>
> 1) Will this work?

   Yes... It'll work just fine.

> 2) If so, can I be certain that the PIC will always work over the
> full temperature range, etc?

   Yes, but only by testing it.

   -Andy

=== Andrew Warren - KILLspamfastfwdspam_OUTspamix.netcom.com                 ===
=== Fast Forward Engineering - Vista, California          ===
===                                                       ===
=== Did the information in this post help you?  Consider  ===
=== contributing to the PICLIST Fund.  Details are at:    ===
=== http://www.geocities.com/SiliconValley/2499/fund.html ===

1997\01\21@170053 by Andrew Kalman

picon face
Hi Andy.

Thanks for the reply.

Re:

>> 1) Will this work?
>
>    Yes... It'll work just fine.
>
>> 2) If so, can I be certain that the PIC will always work over the
>> full temperature range, etc?
>
>    Yes, but only by testing it.

Any idea if there's someone (_technical_) at uChip who might have some
input on how this "tap" might affect the PIC over its specified temp range,
etc. My facilities for testing this configuration will never approach what
uChip has, so I figured there might be someone who has considered
"parasitic" effects on the Oscillator as I described over the specified
temperature ranges.

___________________________________________
| Andrew E. Kalman, Ph.D.   spam_OUTaekspamTakeThisOuTnetcom.com  |
|        standard disclaimers apply         |
|___________________________________________|

1997\01\21@182951 by Lynn Richardson

flavicon
face
You can ask Microchip by telneting to their BBS at
'mchipbbs.microchip.com' or try their web page at
http://www.microchip.com.

This mailing list may not be read by the person you want at Microchip.

-----------------------------------------------------------------------
Lynn Richardson          | .....lrich.....spamRemoveMEqni.com    |Progress Instrument, Inc.
Design Engineer          | wa0znl.ampr.org  |807 NW Commerce Drive
Circuit Design DC to 1GHz|  [44.46.176.3]   |Lee's Summit, MO 64086
Asm 6805, Z8, 8051, PIC  |                  |Phone: (816) 524-4442
C                        |                  |Fax: (816) 246-4556

On Tue, 21 Jan 1997, Andrew Kalman wrote:

{Quote hidden}

1997\01\21@223650 by Jim Robertson

flavicon
face
At 09:44 AM 1/21/97 -0700, you wrote:
>Hi All.
>
>After reviewing a variety of crystal circuits, it occured to me that I
>might be able to "hang" an HC14 off the OSC2 pin (as one might normally do
>if the entire crystal oscillator circuit were built from discrete
>components, and fed the PIC in the external clock input "mode) to derive an
>in-phase clock signal to drive external components. Resistor "RS" would
>probably be required, and since 'HC has roughly 10pF of input capacitance,
>I may also have to use dissimilar values for C1 and C2.
>
>My questions are:
>
>1) Will this work?

I seem to remember asking this same question and receiving several replies
telling me it would work. However, when I tried it, it didn't (with a 17Cxx
part.) I only tried with the HC14, a schmitt trigger device. I abandoned
the idea in favour of a "canned" external oscillator so I don't know if a
normal logic part would have worked. I expect it would have based on the
advice I had received.

Keep this in mind just in case you have some problems with the schmitt
trigger part.

Jim

'You Low-Life Scuzz--don't even think about spammin'
1997\01\23@173832 by Charles Frame

picon face
At 09:05 AM 1/23/97 -0500, you wrote:
{Quote hidden}

work
> in practice.
>It's a fact that there are very few ways for an average person like myself to
> easily make big
>money fast. For years I have searched out and investigated many money making
> ideas. I've
>been determined to find the very best, honest methods of getting rich fast. I
> have bought and
>tried a number of courses, plans and "How-To" books on making money "easily".
> I've tried
>import/export wholesaling, self publishing, mail order catalogs, real
estate and
>  stock
>investments, pyramid schemes, multi-level marketing junk, and many other
> different mail order
>methods. I've spent hours of wasted energy trying to find the right one. After
> spending all that
>time and a lot of money, I have discovered only one thing for sure - THEY ALL
> REQUIRE A
>LOT OF HARD WORK AND TIME (usually 2-6 months to get started) AND MONEY
(usually
{Quote hidden}

money
{Quote hidden}

directly
{Quote hidden}

letters
{Quote hidden}

earn in
{Quote hidden}

time
> for
>DOUBLE YOUR MONEY BACK. No Questions Asked! No Hassles! No Delays! Just a
prompt
{Quote hidden}

immediate
{Quote hidden}

$2.00
{Quote hidden}

'PIC Crystal Resonator -- Can I tap off OSC2?'
1997\01\29@122602 by Andrew Kalman

picon face
Hi Lynn

Re:

>You can ask Microchip by telneting to their BBS at
>'mchipbbs.microchip.com' or try their web page at
>http://www.microchip.com.

Thanks for the tip -- I will forward my query to the local uChip field rep.
Supposedly when it goes through him uChip takes the request for info more
seriously.

Regards,

___________________________________________
| Andrew E. Kalman, Ph.D.   EraseMEaekspamBeGonespamKILLspamnetcom.com  |
|        standard disclaimers apply         |
|___________________________________________|


'Ouch! More bin2bcd code -- how about a contest?'
1997\03\06@050616 by Frank A. Vostenbosch
flavicon
face
Ouch!  It seems that I accidentally posted my previous message twice to
the list, and it wasn't even the correct code.
Thing is, I generally use a lot of macros in my code to make it more
readable and less typing, i.e. STR rather than MOVWF.  These macros
make PIC assembly look more like other processors, but it of course
means that *you* can't assemble the code without problems.

So once more, here's my 32-bit binary to BCD code, which by the way
seems to be both shorter and faster than most of the *16-bit*
solutions I've seen.
40 instructions, two temporary registers needed and 2785 cycles.

If enough people ask, I'll write a 16-bit version as well, which
should run in about 1100 cycles.
Anyone care to try to do better than that?

; +---------------------------------------------------------------------+
; |                                                                     |
; |   Binary to BCD conversion.                                         |
; |                                                                     |
; +---------------------------------------------------------------------+
;
; In:   reg3,reg2,reg1,reg0 : 32-bit integer
; Act:  Converts a 32 bit binary number to packed BCD
; Out:  dig4,dig3,dig2,dig1,dig0 : BCD result (must be in increasing address
order)
; Regs: Temp, Count
; Note: Uses one stack level internally.
;       Execution time is 2785 cycles (1948 cycles using in-line code for
B2B_Adjust).

0000: 3020  bin2bcd         movlw   32
0001: 00A9                  movwf   Count
0002: 01A0                  clrf    dig4
0003: 01A1                  clrf    dig3
0004: 01A2                  clrf    dig2
0005: 01A3                  clrf    dig1
0006: 01A4                  clrf    dig0
0007: 1003                  bcf     status,status_carry
0008: 2810                  goto    B2B_Enter

0009: 3024  B2B_Loop        movlw   dig0
000A: 0084                  movwf   fsr
000B: 201C                  call    B2B_Adjust
000C: 201C                  call    B2B_Adjust
000D: 201C                  call    B2B_Adjust
000E: 201C                  call    B2B_Adjust
000F: 201C                  call    B2B_Adjust
0010: 0DA5  B2B_Enter       rlf     reg0,f
0011: 0DA6                  rlf     reg1,f
0012: 0DA7                  rlf     reg2,f
0013: 0DA8                  rlf     reg3,f
0014: 0DA4                  rlf     dig0,f
0015: 0DA3                  rlf     dig1,f
0016: 0DA2                  rlf     dig2,f
0017: 0DA1                  rlf     dig3,f
0018: 0DA0                  rlf     dig4,f
0019: 0BA9                  decfsz  Count,f
001A: 2809                  goto    B2B_Loop
001B: 0008                  return

001C: 3003  B2B_Adjust      movlw   3
001D: 0700                  addwf   ind,w
001E: 00AA                  movwf   Temp
001F: 19AA                  btfsc   Temp,3
0020: 0080                  movwf   ind
0021: 3030                  movlw   0x30
0022: 0700                  addwf   ind,w
0023: 00AA                  movwf   Temp
0024: 1BAA                  btfsc   Temp,7
0025: 0080                  movwf   ind
0026: 0384                  decf    fsr,f
0027: 0008                  return

Cheers,
Frank

------------------------------------------------------------------------
Frank A. Vorstenbosch                           Phone:  +44-181-941 7899
Electronics & Software Engineer                 Mobile:  +44-976-430 569
Eidos Technologies Ltd., Hampton, Middx         Fax:    +44-181-941 7895

1997\03\06@083821 by Hamilton Feltman

flavicon
face
Alright! Here's mine! It's on 7 bit though! Ha Ha. Sorry I just pasted it
out of my last program. I used it to return a number from 1 to 128, but the
tens column is from 0 to 12! I used the decimal point of the 10's column as
the '1' in the hundreds column. It is the subtraction method. I hope Jory
doesn't boot me off the list for posting trivial programs!

;   ---------------------------------------------------------------------
Split:  ; This fuction takes in an 8 bit number, in CurrentData1, and
               ; splits it up into two numbers for display: a 10's column and
               ; a 1's column. digit2 is 10's and digit1 is 1's after return

       movf    CurrentData1,w          ; mov to w. Currentdata1 is not changed
       addlw   0x01                    ; add 1 (midi)
       movwf   DisplayData     ; put in DisplayData
       movlw   0xff                    ;
       movwf   Counter         ; preload Counter with 0xff
       movlw   0x0a                    ; preload w with 0x0a
Loop1:

       incf    Counter,f                       ; start counting
       subwf   DisplayData,f   ; DisplayData - 10

       btfsc   _carry          ; test if below zero
        goto   Loop1           ; no, go back to Loop1

       addwf   DisplayData,w   ; yes, add 10 back on, DisplayData = Digit1
       movwf   Digit1

       movf    Counter,w                       ; Counter = Digit2
       movwf   Digit2

       bsf     _DontSplit
       return
;  ---------------------------------------------------------------------


Hamilton Feltman
RemoveMEhamiltonspamBeGonespamspambudhi.com
Programmer and Sound Engineer
|_     _||_ .    _  _  _ _
|_)(_)(_|| )| . (_ (_)( | )
http://www.budhi.com

'The PICLIST Fund -- Only 10 More Days'
1997\03\21@055521 by Andrew Warren

face
flavicon
face
Dudes:

Just another reminder that the PICLIST Fund will be closing at the
end of this month, at which point all the money I've collected will
be donated to Jory Bell, the founder and operator of the PICLIST.

Many of you have made some good suggestions regarding possible uses
to which the money could be put... I'll be forwarding a compilaton of
those suggestions to Jory, as well.

If you haven't contributed yet and think you might want to, please
read the PICLIST Fund FAQ before doing so; you can find the FAQ at
the URL in my signature.

Remember:  Anyone CAN contribute, but no one HAS to.

Which reminds me...

In the recent thread that started with a $25/hour job offer (and
grew to involve employment practices in general, software-piracy
issues, questions about source-code rights, etc.), there were a
couple of posts that rhetorically asked, "Have you contributed to
the PICLIST Fund?".

While I'm sure that the authors of those messages didn't mean to
imply that there was any necessity to contribute to the Fund, some
list-members may have inferred that donations to the Fund were
somehow REQUIRED, if for no other reason than for their questions
and concerns to be taken seriously by the rest of us on the PICLIST.

Nothing could be further from the truth.

As I wrote in the PICLIST Fund FAQ,

   "Donations are ABSOLUTELY voluntary; you won't gain any personal
   privileges on the PICLIST if you donate, and you won't lose any
   if you don't.

   "No one will think any less of you if you choose not to
   contribute to the Fund, and if you don't contribute, the list
   (for as long as it's operational) will continue to be available
   to you for free, as it always has been.

   "Jory has no intention of transforming the PICLIST into a
   fee-based service; the Fund has been set up for one-time
   voluntary donations only."

If any of you haven't yet read the PICLIST Fund FAQ, I urge you to do
so... Even if you decide not to contribute to the Fund, reading the
FAQ will give you an appreciation of the trouble to which Jory's
gone to keep the list running.

If you decide not to contribute, you might want to send a thank-you
note to Jory (@spam@joryspamspammit.edu) anyway; he deserves it.

-Andy

=== Andrew Warren - TakeThisOuTfastfwdKILLspamspam@spam@ix.netcom.com
=== Fast Forward Engineering - Vista, California
===
=== Custodian of the PICLIST Fund -- For more info, see:
=== www.geocities.com/SiliconValley/2499/fund.html


'The PICLIST Fund -- Last Call'
1997\04\09@035349 by Andrew Warren
face
flavicon
face
Dudes:

As I mentioned a week or two ago, I'm just about ready to close the
PICLIST Fund account and send the money I've collected to Jory Bell.

I'd planned to close the account last Friday, but a couple of checks
arrived that day, and another arrived yesterday.

So...

If any of you have recently sent donation checks to the PICLIST Fund
and have NOT received an e-mail confirmation from me, please send
me a private e-mail as soon as possible and let me know.

If I receive no responses to this message by tomorrow (Wednesday)
afternoon, I'll close the account then.

Thanks.

-Andy

=== Andrew Warren - .....fastfwdRemoveMEspamix.netcom.com
=== Fast Forward Engineering - Vista, California
===
=== Custodian of the PICLIST Fund -- For more info, see:
=== www.geocities.com/SiliconValley/2499/fund.html

'Upgrading the Picstart Plus--HELP!'
1997\04\11@090553 by Mark Jurras

flavicon
face
I tried unsuccessfully to upgrade my Picstart Plus yesterday.

Every time I start the Picstart Plus from MPLAB 3.22.00 I get a message box
that states there is a firmware upgrade. I ordered a PIC17C44-25/P and
followed the instructions in readme.pls EXACTLY. When I plug the new chip
into the Picstart Plus and apply power, sometimes the power light and Active
light come on and remain lit other times the lights come on and fade out
simultaneously. In either case MPLAB can't find the Picstart Plus. I can
plug in the old chip and it works.

When I programmed the chip the following settings were used:
file - PSF12000.HEX
Device - PIC17C44
Oscillator - EC
Watchdog Timer - x1
Processor Mode - Microprocessor

The device verifies OK! What have I done wrong? Next time I think I'll buy
the windowed version.

- -Mark

1997\04\11@114909 by myke predko

flavicon
face
Mark,

Most likely you tried to set the configuration fuses to what *you* thought
was correct.  The required values don't make a lot of sense.

Try it again, but this time don't touch the configuration file information -
let that get picked up out of the .HEX file.

Good Luck!

myke
{Quote hidden}

"Some people say that foreign cars handle best, while others say domestic.
For my money, nothing handles as well as a rental car." - P.J. O'Rourke

'---no subject---'
1997\04\14@100853 by Todd Peterson

picon face
At 03:29 PM 4/14/97 +0200, you wrote:

>On the PIC16C84, does anybody knows if porta.4 needs a pull-up
>resistor, because I can't use this anymore as output, it remains at 0v.

Yes, this port is open-drain, and needs a pull-up resistor.  Check out page
9 of the '84 manual.  Also, this pin has a Schmitt trigger when used as an
input; the others in port a are TTL type (no hysteresis).

-Todd



  .--------------------------------------------------------------.
 /  .-.            E-Lab Digital Engineering, Inc.           .-.  \
|  /   \   Embedded Control & Integrated Circuit Solutions  /   \  |
|  \_.  |                                                  |    /  |
|\   | /|      http://www.netins.net/showcase/elab         |\  |  /|
| `---' |                                                  | `---' |
|       |      NEW: EDE700 Serial LCD Screen Driver        |       |
|       |   & EDE1400 Serial to Parallel-Printer Driver    |       |
|       |     (712) 944-5344      FAX:(712) 944-5501       |       |
|       |--------------------------------------------------|       |
 \     /                                                    \_____/
  `---'

1997\04\14@102832 by David BALDWIN

flavicon
face
Todd Peterson wrote:
{Quote hidden}

--

       Thanks a lot, I was wordering if my PIC is out.... didn't read the
specs long enough.


 _____________
 \           /               David BALDWIN
  \ ALCATEL /               Design engineer
   \TELECOM/
    \     /         SdM (Societe de Microelectronique)
     \   /
      \ /      B.P. 4205            Phone : +32 (0)71 442932
       V       B-6000 Charleroi     Fax   : +32 (0)71 442905
               (Belgium)            KILLspambaldwinspamTakeThisOuTetca.alcatel.be

'Upgrading the Picstart Plus--HELP!'
1997\04\14@123357 by myke predko

flavicon
face
Mark replied to the note below to me and I think wanted everybody on the
list to see it.

Mark, the only comment I can make on this is, you should see the
Configuration Fuses change from the default values after you load in the
.hex file.

If you don't see this, then you have a problem with how you're loading the
file.
Good luck!

myke
{Quote hidden}

"Some people say that foreign cars handle best, while others say domestic.
For my money, nothing handles as well as a rental car." - P.J. O'Rourke

1997\04\16@091323 by Mark Jurras

flavicon
face
That was the problem Myke. When I said I followed the directions exactly
Microchip assumed that I knew what I was doing. I was viewing the hex file
instead of loading it. DUH! I should have realized that since that is the
way the emulator memory is loaded. Once I realized that everything worked
fine. luckily the configuration fuses and previously programmed with 1's
were the 0's should have been so I could reuse the OTP part I previously
tried.

Thanks for the help!

- -Mark

>>>> From:    myke predko <.....mykeEraseMEspamPASSPORT.CA>

Mark, the only comment I can make on this is, you should see the
Configuration Fuses change from the default values after you load in the
.hex file.

If you don't see this, then you have a problem with how you're loading the
file.
Good luck!


'Re[2]: why not use Microchip's News server? -- Thi'
1997\05\16@041149 by Scott Walsh
flavicon
face
    We go through this argument at least once a year on this list!

    A large number of people accees the internet through a corproate
    network, and their firewalls do not allow NNTP communications.

    I thought the person maintaining this list was going to arrange for
    the list to be mirrored on the MicroChip Newsgroups?

    regards,
    Scott.

    +--------------------------------------------------------------------+
    | Scott Walsh                    Tel: +44 1793 84 22 18              |
    | Design Engineer                Fax: +44 1793 84 88 53              |
    |                                Tlx: 44626 PLANAC G                 |
    | Plantronics International                                          |
    | Wootton Bassett, Wiltshire,                                        |
    | SN4 8QQ, England.              EMail: spamscott.walshspam_OUTspam@spam@plantronics.com  |
    +--------------------------------------------------------------------+



______________________________ Reply Separator
_________________________________
Subject: Re: why not use Microchip's News server?
Author:  pic microcontroller discussion list <spamPICLIST@spam@spamSTOPspamMITVMA.MIT.EDU> at
INTERNET
Date:    15/05/97 09:59


>This list has gotten huge since it was first started.  I've noticed >that
Microchip has a News server that some (very few) people
>use.  Any reason why? The News server's format is much easier >to read.
Point your news browser to mchipbbs.microchip.com. >
Don't have any Browser's is there an e-mail or http address? TIA
http://ic.mankato.mn.us/~douglas

{Quote hidden}

1997\05\16@141152 by Gerhard Fiedler

flavicon
face
At 08:54 16/05/97 -0700, Scott Walsh wrote:
>     I thought the person maintaining this list was going to arrange for
>     the list to be mirrored on the MicroChip Newsgroups?

_That_ would be great! (Anybody listening?)


'CORRECTION -- Re: Pulse Width Measurement'
1997\06\30@212634 by Andrew Warren
face
flavicon
face
I wrote:

>        ; 5 cycles per count (2.5 uS per count)
>
>         CHECK_PULSE:
>
>             INCFSZ   pulse_width_lo
>             DECF     pulse_width_hi
>
>             BTFSC    PULSE_PORT,PULSE_BIT
>             GOTO     CHECK_PULSE
>
>         DONE:
>
>             MOVF     pulse_width_lo
>             ADDWF    pulse_width_hi

There's a slight error in the above code; the "MOVF pulse_width_lo"
is meant to be "MOVF pulse_width_lo,W".

Sorry.

-Andy

=== Andrew Warren - spamBeGonefastfwdspamBeGonespam@spam@ix.netcom.com
=== Fast Forward Engineering, Vista, California
=== http://www.geocities.com/SiliconValley/2499


'Off topic -- another request for pricing.'
1997\07\16@044525 by blunn
flavicon
face
Bob Lunn
07/16/97 06:47 PM


The success of my previous request for pricing leads me into temptation.

Is anybody on the list able to give me price data for an embedded Intel386
processor type EXTB (25 MHz, 3.0 V) and type EXTC (25 MHz, 5.0V)
in quantities of 50k/yr.

Thanking all.

___Bob

'Need Full Text Patent Site--No PIC :>('
1997\07\24@091049 by Mark Jurras

flavicon
face
Sorry to hit the list but I can't find the site mentioned a while ago that
had full text patents available. I think it was and IBM site. Can someone
send me the site address.

Thanks,

- -Mark

1997\07\24@112905 by Matt Bonner

flavicon
face
Mark Jurras wrote:
>
> Sorry to hit the list but I can't find the site mentioned a while ago that
> had full text patents available. I think it was and IBM site. Can someone
> send me the site address.
>
> Thanks,
>
> - -Mark

Is this the one?
   http://patent.womplex.ibm.com/

-Matt

1997\07\24@133943 by Andy Kunz

flavicon
face
At 08:35 AM 7/24/97 -0400, you wrote:
>Sorry to hit the list but I can't find the site mentioned a while ago that
>had full text patents available. I think it was and IBM site. Can someone
>send me the site address.

TRY THIS:

http://patent.womplex.ibm.com

Andy


==================================================================
Andy Kunz - Montana Design - 409 S 6th St - Phillipsburg, NJ 08865
         Hardware & Software for Industry & R/C Hobbies
       "Go fast, turn right, and keep the wet side down!"
==================================================================

1997\07\24@144626 by Glenn Johansson

flavicon
face
There is an excellent Internet Index called Yahoo - I am sure you can find
it there under Reference / Patents. The address is http://www.yahoo.com/

----------
From:   Mark Jurras[SMTP:RemoveMEJURRAMRemoveMEspamRemoveMETORRINGTON.COM]
Sent:    den 24 juli 1997 14:35
To:     PICLISTKILLspamspamspamMITVMA.MIT.EDU
Subject:        Need Full Text Patent Site--No PIC :>(

Sorry to hit the list but I can't find the site mentioned a while ago that
had full text patents available. I think it was and IBM site. Can someone
send me the site address.

Thanks,

- -Mark




Attachment converted: wonderland:WINMAIL.DAT (????/----) (000020D8)

'PCB & Schematic -- Printing'
1997\07\24@194902 by sdavidson

flavicon
face
I used Easytrax, made my ouput in postscript, then use Ghostview (DOS version)
for printing. At 2x1 I have made camera ready copies off a Cannon BJ10e
(300x300 bubblejet).  Ghostview for windows should have no trouble printing to
any windows printer.  Ghostview (DOS and Windows) is freewhere at many sites.

I now just send the Gerber file to AP Circuits and get back great boards.

Steve

-------------------------------------
E-mail: spam_OUTsdavidson@spam@spamits.bldrdoc.gov
Steven Davidson
Dept. of Comm.  NTIA-ITS.N1
325 Broadway
Boulder, CO  80303
W 303-497-3411  FAX 6982
-------------------------------------

'Need Full Text Patent Site--No PIC :>('
1997\07\25@104907 by Tim Forcer

flavicon
face
Several have mentioned the IBM patent server at
http://patent.womplex.ibm.com/  While this has some nice features, and goes
back to 1971 (that's before even the 555!), I've been hitting it a lot this
last week, but found I got a much better service (VERY much faster) from
the official US Patent Office site at http://patents.uspto.gov/index.html
They only run from 1976, but you can construct long and elaborate search
strings (like Alta Vista Advanced) which the IBM server doesn't seem to
handle.  Where the IBM site scores is in having scanned images of the
patents available.  So, some of the time I opened a second Netscape and did
the heavy-duty searching at USPTO and the detailed browsing at womplex.

I have tried looking for UK Patent Office, but one of their quoted URLs has
disppeared, and the other simply brings up an ISP's banner and advert.  Can
this be another reason why, although UK generates lots of patents per 1000
population, it developes very few (relative to rest of world figures in
both cases)?


Tim Forcer               TakeThisOuTtmfspam_OUTspamecs.soton.ac.uk
Department of Electronics & Computer Science
The University of Southampton, UK

The University is not responsible for my opinions

'Seeing is Believing -- $ Read This $ --'
1997\07\30@225321 by mckiniss

picon face
Seeing is Believing  -- $ Read This $ --
This is a one time mailing, if you want to be removed from our list, do not
reply to this add and we will never mail to you again.

Our research has shown this message may be of interest to you. If you are
offended in any way we apologize. You need only delete the message as this list
will be used only once. HOWEVER......if you would like to change your life for
the better investing very little money or time, we suggest you "Save" this file
as a text file so you can read, print, and
reproduce it as needed. YOU WON'T REGRET IT !!!!!!!!

***You are about to make at least $50,000 in less than 90 days. Read the
enclosed program...THEN READ IT AGAIN!...***


Dear Friend,


My name is Troy Fisher.  I am only a senior in high school and I have already
accumulated enough money for social activities, but I was trying to pay for my
car, and build my savings up for college.   Fortunately, I received a letter
just like this one. After reading over it again and again I decided I had come
across a MONEY-MAKING PHENOMENON. Just to prove to myself I was not going to
loose any money I took out a pencil and paper to calculate the worst possible
result. I found that I could not loose. As long as I found four other people
who wanted to make money I would in least get my money back.  After determining
it was legal and not a chain letter I decided I would take a chance. A chance
that ended up being my best decision ever.


Initially I sent out 10,000 emails. The great thing about email is that I didn't
need any money for printing to send out the program, only the cost to fulfill
my orders.


In less than one week, I was starting to receive orders for REPORT #1. By May
13th, I had received 26 orders for REPORT #1. When you read the GUARANTEE in
the program, you will see that "YOU MUST RECEIVE 15 TO 20 ORDERS FOR REPORT #1
WITHIN TWO WEEKS. IF YOU DON'T, SEND OUT MORE PROGRAMS UNTIL YOU DO!" My first
step in making $50,000 in 20 to 90 days was done. By May 30th, I had received
196 orders for REPORT #2. If you go back to the GUARANTEE, "YOU MUST RECEIVE
100 OR MORE ORDERS FOR REPORT #2 WITHIN TWO WEEKS. IF NOT, SEND OUT MORE
PROGRAMS UNTIL YOU DO. ONCE YOU HAVE 100 ORDERS, THE REST IS EASY, RELAX, YOU
WILL MAKE YOUR $50,000 GOAL." Well, I had 196 orders for REPORT #2, 96 more
than I needed. So I sat back and relaxed. By July 19th, of my emailing of
10,000, I received $58,000 with more coming in every day.


Please take time to read the attached program, IT WILL CHANGE YOUR LIFE FOREVER!
Remember, it wont work if you don't try it. This program does work, but you
must follow it EXACTLY! Especially the rules of not trying to place your name
in a different place. It doesn't work, you'll lose out on a lot of money!
REPORT #2 explains this. Always follow the guarantee, 15 to 20 orders for
REPORT #1, and 100 or more orders for REPORT #2 and you will make $50,000 or
more in 20 to 90 days. I AM LIVING PROOF THAT IT WORKS !!!


If you choose not to participate in this program, I'm sorry. It really is a
great opportunity with little cost or risk to you. If you choose to
participate, follow the program and you will be on your way to financial
security.


Sincerely,
Troy Fisher


PS  Do you have any idea what 11,700 $5 bills ($58,000) look like piled up on a
desk? If you don't you will!


"THREW IT AWAY"


"I had received this program before. I threw it away, but later wondered if I
shouldn't have given it a try. Of course, I had no idea who to contact to get a
copy, so I had to wait until I was emailed another copy of the program. Eleven
months passed, then it came. I DIDN'T throw this one away. I made $41,000 on
the first try."


Dawn W., Evansville, IN


"NO FREE LUNCH"


"My late father always told me, 'remember, Alan, there is no free lunch in life.
You get out of life what you put into it.' Through trial and error and a
somewhat slow frustrating start, I finally figured it out. The program works
very well, I just had to find the right target group of people to email it to.
So far this year, I have made over $63,000 using this program. I know my dad
would have been very proud of me."


Alan B., Philadelphia, PA


A PERSONAL NOTE FROM THE ORIGINATOR OF THIS PROGRAM

By the time you have read the enclosed information and looked over the enclosed
program and reports, you should have concluded that such a program, and one
that is legal, could not have been created by an amateur.


Let me tell you a little about myself. I had a profitable business for ten
years. Then in 1979 my business began falling off. I was doing the same things
that were previously successful for me, but it wasn't working. Finally, I
figured it out. It wasn't me, it was the economy. Inflation and recession had
replaced the stable economy that had been with us since 1945. I don't have to
tell you what happened to the unemployment rate...because many of you know from
first hand experience. There were more failures and bankruptcies than ever
before.


The middle class was vanishing. Those who knew what they were doing invested
wisely and moved up. Those who did not, including those who never had anything
to save or invest, were moving down into the ranks of the poor. As the saying
goes, "THE RICH GET RICHER AND THE POOR GET POORER." The traditional methods of
making money will never allow you to "move up" or "get rich", inflation will
see to that.


You have just received information that can give you financial freedom for the
rest of your life, with "NO RISK" and "JUST A LITTLE BIT OF EFFORT." You can
make more money in the next few months than you have ever imagined.


I should also point out that I will not see a penny of your money, nor anyone
else who has provided a testimonial for this program. I have already made over
FOUR MILLION DOLLARS! I have retired from the program after sending out over
16,000 programs. Now I have several offices which market this and several other
programs here in the US and overseas. By the Spring, we wish to market the
'Internet' by a partnership with AMERICA ON LINE.


Follow the program EXACTLY AS INSTRUCTED. Do not change it in any way. It works
exceedingly well as it is now. Remember to email a copy of this exciting
program to everyone that you can think of. One of the people you send this to
may send out 50,000...and your name will be on every one of them!. Remember
though, the more you send out, the more potential customers you will reach.


So my friend, I have given you the ideas, information, materials and opportunity
to become financially independent, IT IS UP TO YOU NOW!


"THINK ABOUT IT"


Before you delete this program from your mailbox, as I almost did, take a little
time to read it and REALLY THINK ABOUT IT. Get a pencil and figure out what
could happen when YOU participate. Figure out the worst possible response and
no matter how you calculate it, you will still make a lot of money! Definitely
get back what you invested. Any doubts you have will vanish when your first
orders come in. IT WORKS!


Paul Johnson, Raleigh, NC


HERE'S HOW THIS AMAZING PROGRAM WILL MAKE YOU $$$$$$



Let's say that you decide to start small, just to see how it goes, and we'll
assume you and all those involved send out 2,000 programs each. Let's also
assume that the mailing receives a .5% response. Using a good list the response
could be much better. Also many people will send out hundreds of thousands of
programs instead of 2,000. But continuing with this example, you send out only
2,000 programs. With a 5% response, that is only 10 orders for REPORT #1. Those
10 people respond by sending out 2,000 programs each for a total of 20,000. Out
of those .5%, 100 people respond and order REPORT #2. Those 100 mail out 2,000
programs each for a total of 200,000. The .5% response to that is 1,000 orders
for REPORT #3. Those 1,000 send out 2,000 programs each for a 2,000,000 total.
The .5% response to that is 10,000 orders for REPORT #4. That's 10,000 five
dollar bills for you. CASH!!!! Your total income in this example is $50 + $500
+ $5000 + $50,000 for a total of $55,550!!!! REMEM!
BER FRIEND, THIS IS ASSUMING 1,990 OUT OF 2,000 PEOPLE YOU MAIL TO WILL DO
ABSOLUTELY NOTHING... AND TRASH THIS PROGRAM! DARE TO THINK FOR A MOMENT WHAT
WOULD HAPPEN IF EVERYONE OR HALF SENT OUT 100,000 PROGRAMS INSTEAD OF ONLY
2,000. Believe me, many people will do that and more! By the way, your cost to
participate in this is practically nothing. You obviously already have an
internet connection and email is FREE!!! REPORT#3 will show you the best
methods for bulk emailing and purchasing email lists.


THIS IS A LEGITIMATE, LEGAL, MONEY MAKING OPPORTUNITY. It does not require you
to come in contact with people, do any hard work, and best of all, you never
have to leave the house except to get the mail. If you believe that someday
you'll get that big break that you've been waiting for, THIS IS IT! Simply
follow the instructions, and your dream will come true. This multi-level email
order marketing program works perfectly...100% EVERY TIME. Email is the sales
tool of the future. Take advantage of this non-commercialized method of
advertising NOW!! The longer you wait, the more people will be doing business
using email. Get your piece of this action!!


MULTI-LEVEL MARKETING (MLM) has finally gained respectability. It is being
taught in the Harvard Business School, and both Stanford Research and The Wall
Street Journal have stated that between 50% and 65% of all goods and services
will be sold throughout Multi-level Methods by the mid to late 1990's. This is
a Multi-Billion Dollar industry and of the 500,000 millionaires in the US, 20%
(100,000) made their fortune in the last several years in MLM. Moreover,
statistics show 45 people become millionaires everyday through Multi-Level
Marketing.


INSTRUCTIONS


This is the GREATEST Multi-level Mail Order Marketing anywhere:

Step (1) Order all four 4 REPORTS listed by NAME AND NUMBER. Do this by ordering
the REPORT from each of the four 4 names listed on the next page. For each
REPORT, send $5 CASH and a SELF- ADDRESSED, STAMPED envelope (BUSINESS SIZE
#10) to the person listed for the SPECIFIC REPORT. International orders should
also include $1 extra for postage. It is essential that you specify the NAME
and NUMBER of the report requested to the person you are ordering from. You
will need ALL FOUR 4 REPORTS because you will be REPRINTING and RESELLING them.
DO NOT alter the names or sequence other than what the instructions say.
IMPORTANT: Always provide same-day service on all orders.


Step (2) Replace the name and address under REPORT #1 with yours, moving the one
that was there down to REPORT #2. Drop the name and address under REPORT #2 to
REPORT #3, moving the one that was there to REPORT #4. The name and address
that was under REPORT #4 is dropped from the list and this party is no doubt on
the way to the bank. When doing this, make certain you type the names and
addresses ACCURATELY! DO NOT MIX UP MOVING PRODUCT/REPORT POSITIONS!!!


Step (3) Having made the required changes in the NAME list, save it as a text
(.txt) file in it's own directory to be used with whatever email program you
like. Again, REPORT #3 will tell you the best methods of bulk emailing and
acquiring email lists.


Step (4) Email a copy of the entire program (all of this is very important) to
everyone whose address you can get your hands on. Start with friends and
relatives since you can encourage them to take advantage of this fabulous
money-making opportunity. That's what I did. And they love me now, more than
ever. Then, email to anyone and everyone! Use your imagination! You can get
email addresses from companies on the internet who specialize in email mailing
lists. These are very cheap, 100,000 addresses for around $35.00.


IMPORTANT: You won't get a good response if you use an old list, so always
request a FRESH, NEW list. You will find out where to purchase these lists when
you order the four 4 REPORTS.


ALWAYS PROVIDE SAME-DAY SERVICE ON ALL ORDERS!!!


REQUIRED REPORTS


***Order each REPORT by NUMBER and NAME***


ALWAYS SEND A SELF-ADDRESSED, STAMPED ENVELOPE AND
$5 CASH FOR EACH ORDER REQUESTING THE SPECIFIC REPORT BY NAME AND NUMBER



________________________________________________________
REPORT #1 "HOW TO MAKE $250,000 THROUGH MULTI-LEVEL SALES"


ORDER REPORT #1 FROM:
S & L Taylor
10094 Holly Lane GN
Des Plaines, IL 60016

________________________________________________________
REPORT #2 "MAJOR CORPORATIONS AND MULTI-LEVEL SALES"


ORDER REPORT #2 FROM:
Scott Taylor
P.O. Box 727
Morton Grove, IL 60053-0727

_______________________________________________________
REPORT#3 "SOURCES FOR THE BEST MAILING LISTS"


ORDER REPORT #3 FROM:
P. Martin
317 Vine St.
Athol, Ma 01331

________________________________________________________
REPORT #4 "EVALUATING MULTI-LEVEL SALES PLANS"


ORDER REPORT #4 FROM:
Troy Fisher
1728 Shufords Ct.
Lewisville, TX 75067



________________________________________________________



CONCLUSION


I am enjoying my fortune that I made by sending out this program. You too, will
be making money in 20 to 90 days, if you follow the SIMPLE STEPS outlined in
this mailing.


To be financially independent is to be FREE. Free to make financial decisions as
never before. Go into business, get into investments, retire or take a
vacation. No longer will a lack of money hold you back.



However, very few people reach financial independence, because when opportunity
knocks, they choose to ignore it. It is much easier to say "NO" than "YES", and
this is the question that you must answer. Will YOU ignore this amazing
opportunity or will you take advantage of it? If you do nothing, you have
indeed missed something and nothing will change. Please re-read this material,
this is a special opportunity. If you have any questions, please feel free to
write to the sender of this information.
You will get a prompt and informative reply.


My method is simple. I sell thousands of people a product for $5 that costs me
pennies to produce and email. I should also point out that this program is
legal and everyone who participates WILL make money. This is not a chain letter
or pyramid scheme. At times you have probably received chain letters, asking
you to send money, on faith, but getting NOTHING in return, NO product
what-so-ever! Not only are chain letters illegal, but the risk of someone
breaking the chain makes them quite unattractive.


You are offering a legitimate product to your people. After they purchase the
product from you, they reproduce more and resell them. It's simple free
enterprise. As you learned from the enclosed material, the PRODUCT is a series
of four 4 FINANCIAL AND BUSINESS REPORTS. The information contained in these
REPORTS will not only help you in making your participation in this program
more rewarding, but will be useful to you in any other business decisions you
make in the years ahead. You are also buying the rights to reprint all of the
REPORTS, which will be ordered from you by those to whom you mail this program.
The concise one and two page REPORTS you will be buying can easily be
reproduced at a local copy center for a cost off about 3 cents a copy. Best
wishes with the program and Good Luck!


"IT WAS TRULY AMAZING"


"Not being the gambling type, it took me several weeks to make up my mind to
participate in this program. But conservative as I am, I decided that the
initial investment was so little that there was no way that I could not get
enough orders to at least get my money back. BOY, was I ever surprised when I
found my medium sized post office box crammed with orders! I will make more
money this year than any ten years of my life before."


Mary Riceland, Lansing, MI


TIPS FOR SUCCESS


Send for your four 4 REPORTS immediately so you will have them when the orders
start coming in. When you receive a $5 order, you MUST send out the
product/service to comply with US Postal and Lottery laws. Title 18 Sections
1302 and 1341 specifically state that: "A PRODUCT OR SERVICE MUST BE EXCHANGED
FOR MONEY RECEIVED."


WHILE YOU WAIT FOR THE REPORTS TO ARRIVE:


1. Name your new company. You can use your own name
if you desire.


2. Get a post office box (preferred).


3. Edit the names and addresses on the program. You must remember, your name and
address go next to REPORT #1 and the others all move down one, with the fourth
one being bumped OFF the list.


4. Obtain as many email addresses as possible to send until you receive the
information on mailing list companies in REPORT #3.


5. Decide on the number of programs you intend to send out. The more you send,
and the quicker you send them, the more money you will make.


6. After mailing the programs, get ready to fill the orders.


7. Copy the four 4 REPORTS so you are able to send them out as soon as you
receive an order. IMPORTANT: ALWAYS PROVIDE SAME-DAY SERVICE ON ORDERS YOU
RECEIVE!


8. Make certain the letter and reports are neat and legible.


YOUR GUARANTEE


The check point which GUARANTEES your success is simply this: you must receive
15 to 20 orders for REPORT #1. This is a must!!! If you don't within two weeks,
email out more programs until you do. Then a couple of weeks later you should
receive at least 100 orders for REPORT #2, if you don't, send out more programs
until you do. Once you have received 100 or more orders for REPORT #2, (take a
deep breath) you can sit back and relax, because YOU ARE GOING TO MAKE AT LEAST
$50,000. Mathematically it is a proven guarantee. Of those who have
participated in the program and reached the above GUARANTEES-ALL have reached
their $50,000 goal. Also, remember, every time your name is moved down the list
you are in front of a different REPORT, so you can keep track of your program
by knowing what people are ordering from you. IT'S THAT EASY, REALLY, IT IS!!!
REMEMBER: "HE WHO DARES NOTHING, NEED NOT HOPE FOR ANYTHING." "INVEST A LITTLE
TIME, ENERGY AND MONEY NOW OR SEARCH FOR IT FOR THE REST OF YOUR LIFE."





































This is a one time mailing, if you want to be removed from our list, do not
reply to this add and we will never mail to you again.


'Reusing Subroutines --'
1997\08\06@164409 by Shane Nelson
flavicon
face
Hi,

I'm trying to create a nice library of subroutines,
but when reusing them I find it a pain to have to
go through all the EQU's, to make sure I'm not already
using those locations in another part of my program.

My question: is it possible to have the compiler
dynamically allocate memory in some way?

ie)
Instead of having to do this:

COUNT   equ     h'7'
ACCA    equ     h'8'
;16bit
ACCB    equ     h'9'
ACCD    equ     h'a'

I want to be able to get away with something more like this:

db = define byte
dw = define word

db      COUNT
dw      ACCA
db      ACCB
db      ACCD

-----

Then, instead of hard coding variables it could just use the
next available space.


Thanks in advance.
-Shane.

1997\08\06@171025 by Alan G. Smith

flavicon
face
Use the CBLOCK statement in MPASM.

Hope this helps,

Alan G. smith

+---------------
| Alan G. Smith
| KILLspamags.....spamTakeThisOuTpoboxes.com
| http://www.innovatus.com/ags

On Wed, 6 Aug 1997, Shane Nelson wrote:

{Quote hidden}

1997\08\06@172823 by Eric van Es

flavicon
face
Shane Nelson wrote:

{Quote hidden}

Why don't you define the last couple  of
RAM addresses as local variables.
Ie:
local1 equ 2f
local2 equ 2e
etc

Using the SET command to equate your local
(library) variables to those global ones.
Ie:
count set local1
acca set local2

--
Eric van Es               | Cape Town,
South-Africa
Mailto:TakeThisOuTvanesEraseMEspamRemoveMEilink.nis.za | WWW:
http://www.nis.za/~vanes/
TEMPORARY/HOLIDAY ACCOMMODATION?
http://www.nis.za/~vanes/accom.htm

1997\08\06@223622 by unthiti Patchararungruang

flavicon
face
On Wed, 6 Aug 1997, Shane Nelson wrote:

{Quote hidden}

       I think no compiler can do this. However, you can change the value
of "d_" statement like:

  test    dw    3

             .
             .
          movf  test, f
             .
             .


Sunthiti

1997\08\06@231605 by Andres Djordjalian

flavicon
face
Hi everybody!

I'm working on a project that's quite long (about 10K lines of code)
for a moving-message-LED-display controlled by a 16C73 that has a lot
of features. It's working nicely and it's almost finished.

While working on it I developed an incredibly-simple-but-suprisingly-
useful method for the allocation of registers. Without it I would
have had a hard work integrating all its components. It consists of
several macros of almost unreadable definition comprised in a <200
line include file I call "ALOCATOR.MAC". When you use them the rest
of the code is very readable and the registers are allocated and
overlapped almost optimally. And the idea is *very* simple. So much
that I don't know how I didn't think of it before! (...and I don't
believe nobody else has..)

I've been thinking of trying to write an article but I desperately need to
finish this project cause I am having some trouble with my finances. On
the other hand you might have noticed that I am not a native
English-speaker and I don't have much confidence in the quality of a work
of mine written in English...

Instead, I like the idea of explaining it on this list. I see no point
in keeping it to myself! I'm starting on a separate message, and if you
find it interesting I would very much appreciate your feedback.

                                                           Andres


A METHOD FOR PIC ASSEMBLY CODE INTEGRATION AND REUSE - Part I

As you may guess from the fancy title, the method I'm suggesting deals
with modularization of programs, which means to view a system (the
program) as a structured collection of components (routines or sets of
routines).

Most of the structure is defined by a client-server relation between
components. If for a given a component there is another that uses it we
say that the first is the server and the second the client in this
relationship. A component may have several clients and several servers
too.

It is illustrative to graph this structure in an orderly manner, putting
the clients on top of the servers. For example:


                           TEXT_DISPLAY
                             |      |
               ---------------      ------------------
               |                                     |
               |                                     |
     FILLING_A_TEXT_BUFFER-------------    READING_A_TEXT_BUFFER
           |         |                |              |
           |         -------------    ------------   |
           |                     |               |   |
   KEYBOARD_INTERFACE     SERIAL_INTERFACE     EEPROM_SUPPORT


A critical issue in programming a system like this is the allocation of
variables. By that I mean giving an address to each variable each
component uses.

If you use no strategy at all and allocate everything by hand using "EQU"s
you will have to do some work every time you create a new variable. Lets
say you are working with the keyboard interface module in the previous
example and need a new variable for it. What address will you use? You
would have to run through all the other source code to find an unused one.
Or you could do the same thing with less work if you allocate the
registers in order and write down the next free one. But what happens when
you want to use the keyboard interface in another project, maybe with
other components you had also already programmed? It's a lot of work,
and it's a routine that requires none of your creativity. Hey! What do you
have your PC for?

The same scheme can be automatized in several ways. One is what Microchip
suggests with the use of unseeded "CBLOCK"s. With this methods the
assembler will linearly assign addresses to all variables at compile-time.
That solves the problems as long as you don't run out of registers.

If you do run out of registers the solution will surely be overlapping
(assigning the same address to) variables that are never "active" at the
same time. That's where the method I'm suggesting comes to play. It is a
way of automatizing this job without sacrifizing any modularity.

The implementation of the method consists of several macros that give a
high-level-language look to the declaration of variables in your code and
make most of the job for you.

I'll give you just a tip here and I'll continue in other messages. The
question is: What variables can you overlap? Recall the previous graph.
You can't be sure if you can overlap variables belonging to
"FILLING_A_TEXT_BUFFER" with others from "KEYBOARD_INTERFACE" because both
components might be active at the same time. I mean, "FILLING..." could be
active waiting for "KEYBOARD..." to perform a service, and "KEYBOARD..."
would then be active performing it.

But notice that surely "KEYBOARD..." and "SERIAL_INTERFACE" will never be
active at the same time! So you may overlap their variables. This has some
exceptions to which I will refer to later.

That is the heart of the method, I recognize it is an almost stupid idea
and that I'm not discovering America but it took quite a while for me to
sit down, think and develop it, and its conclusions turned out being very
useful to me.

If I don't receive complaints for using so much of this space I'll
continue later. I will be glad to receive feedback from you. Do you have
any other strategies for doing this? Can you see something wrong in what
I'm saying? Did you think of this too?

Regards!
                                                           Andres


A METHOD FOR PIC ASSEMBLY CODE INTEGRATION AND REUSE - Part 2

First of all I'd like to publicly thank again for all the positive words
many of you had towards my first message.

In my last posting I ended by giving an example of a case in which you
may overlap variables. We had the following structure as an example:


                           TEXT_DISPLAY
                             |      |
               ---------------      ------------------
               |                                     |
               |                                     |
     FILLING_A_TEXT_BUFFER-------------    READING_A_TEXT_BUFFER
           |         |                |              |
           |         -------------    ------------   |
           |                     |               |   |
   KEYBOARD_INTERFACE     SERIAL_INTERFACE     EEPROM_SUPPORT


I said that you shouldn't ovelap the variables belonging to
"FILLING_A_TEXT_BUFFER" with those from "KEYBOARD_INTERFACE" because both
components might be active at the same time.

By "active" I mean that the component is performing a service for a
client. For example, if in this structure the program flow is in the
"KEYBOARD_INTERFACE" that component will be active and "FILLING_A_TEXT_
BUFFER" too because it's waiting for "KEYBOARD..." to perform the service
it requested (no other component could have requested a service from
"KEYBOARD..." with this structure).

The rule is to overlap variables that belong to components that are never
active at the same time, with some exceptions to which I'll soon refer.

To check for the validity of this assertion lets make an analogy with an
Algol-like-high-level-language (one that makes use of a data stack)
running on a language-oriented-machine (one that HAS a data stack!).

If a routine is active it has a stack frame belonging to it where it keeps
its local variables. When this routine calls a server its frame is kept on
the stack and the server's frame is placed on top. So when the program
flow is in the server both routines are active, as in the example, and the
memory for their local variables is not overlaped.

What happens when the server ends its job, the flow returns to the
original routine and it calls another server? The first server's stack
frame is wiped out and the newer server's is put on top of the original
routine's. So you may have some memory space being shared by both servers.

But there was no problem about it because both routines were not active at
the same time, and if one never calls the other, and never calls another
routine that calls the other, and never calls another routine that calls
another routine... etc. that calls the other, then you can assure that you
will *never* need separate memory locations for these routines' variables.

Our example shows this behaviour for {"KEYBOARD...", "SERIAL..." and
"EEPROM..."} and for {"FILLING..." and "READING..."}. But there is no need
to inspect the client-server structure of a given system to apply the
method, I'm explaining this only to introduce its logic but its
application is much simpler.

I'll again begin with an example and generalize later on my next posting.
Lets say each component has the following quantity of local variables:

"KEYBOARD_INTERFACE": 5
"SERIAL_INTERFACE": 3
"EEPROM_SUPPORT": 3
"FILLING_A_TEXT_BUFFER": 7
"READING_A_TEXT_BUFFER": 4
"TEXT_DISPLAY": 3

I'll start from the bottom of the structure. Where will I put the
variables belonging to the first three components? I already said I could
overlap them.

Recall the method to which I refered on my last posting that assigned
consecutive addresses to variables and could be implemented with
"CBLOCK"s. I said that it was OK as long as you did not run out of
registers, because it did not overlap any. So lets add this feature to
that method.

But first lets agree on something, when you use consecutive addresses it's
the same to build from the bottom to the top incrementing the addresses or
to do it from top to bottom decrementing them. This time I'll choose the
second option, but for no particular reason.

So, if the maximum register address is 127, the variables belonging to
"KEYBOARD..." will occupy positions 123 to 127. And the other two will
also begin in 127 as I have no problem in ovelapping them! "SERIAL..."
will use 125 to 127 and "EEPROM..." too.

Now the responsibility of not overlapping that allocated space is passed
to the components on top. This makes sense if you think that the
definition of a component includes information of its servers but not of
its clients.

Where can I put "FILLING..."'s variables? They shouldn't overlap the first
three allocated spaces, so they could start at 122 being the next free
position that meets this condition. The variables will go from 116 to 122.

"READING..."'s variables must not overlap only "EEPROM..."'s, so they can
start at 124, occupying from 121 to 124.  "TEXT..."'s variables shouldn't
overlap any of the others' so they may start at 115 and run down to 113.

The general rule then is (if you're using a "decremental model" as in
this case): allocate beggining from the least of the routine's servers'
allocated positions minus one. This is a job for a macro.

I'll continue later, but I guess you can see much of the point already. I
also owe you the explanation of the exceptions for this scheme. Once
again, I'll appreciate any opinions.

Regards!
                                                           Andres


A METHOD FOR PIC ASSEMBLY CODE INTEGRATION AND REUSE - Part 3

I ended my last message by giving a golden rule for the allocation of
variables: begin to allocate from the least of the routine's servers'
allocated positions minus one (if you are using a "decremental model").

So, what do we need to define a component's variables? We need:

* Their names (for their sizes I use only bytes but you could make a
 scheme in which you could fix the variable's sizes)
* Someway of knowing which variables belong to each component, this
 can be done with some sort of "frame delimiters".
* We need to know what servers the component has.

A way of doing this could be, for "FILLING..." in my previous posting's
example:

       FRAME   FILLING
       USES    KEYBOARD
       USES    SERIAL
       USES    EEPROM
       BYTE    fillingsVarNo1
       BYTE    fillingsVarNo2
       ...etc
       FEND    FILLING

I think it looks pretty good. "FRAME", "USES", "BYTE" and "FEND" are
macros that implement the method I've been describing on my previous
echos.

Before showing the macros I'll talk about the exeptions for this
allocation scheme. I started the reasoning that ended with it by saying
that you could overlap variables as long as the components to which they
belong are never active at the same time. This is not true with some
variables.

Lets say you have a counter of some sort. It consists of two routines
"COUNT" and "INFORM". The first, when called, increments the count, and
the latter informs its current value. There's a piece of information
(the count value) that must be kept even when the routines are not active.
So you shouldn't overlap this variable with others although their
components might not share activity.

This fact is not a result of the method or a derivative of Microchip's
architecture, it is inherent to the type of variable and, for that reason,
high-level languages provide support for them. In my opinion, the cleanest
way to deal with them is what Ada and OOP languages do with instance
variables. See how they have to do with a certain state the component has
that outlives the execution of its routines. The C language, on the
other hand, supports this kind of variables with the "static" modifier.

In compiler theory a variable is "static" if its destination and size is
already defined at compile-time. It's very probable that an implementation
of C will deal with variables declared as static by placing them on a
location defined at compile time, differently from automatic variables
(those which were not defined as static) that are placed dynamically on
the stack as I briefly explained on my last posting.

In my opinion the architects of the C language shouldn't have used a term
that relies on a particular implementation and refers to a low-level
issue, and has not much to do with the real behaviour the programmer is
asking for. But this is just another criticism to C to be added to the
long list...

I started using "STATIC" too as a name for the macro to support these
variables, but I don't want to imitate what I think is wrong so I'm
switching to "PERSISTENT". I shouldn't use "STATIC" also because, strictly
speaking, all the variables in the method are static!

So when the byte to declare should outlive the component's execution I put
"PERSISTENT variable" instead of "BYTE variable".  As you may expect,
"PERSISTENT" is another macro.

Where to put these persistent variables? We shouln't overlap them with
anything, so the best we can do is assign consecutive addresses for them
that are apart from those we used for the automatic variables.

I said before that it was the same to assign upwards from the bottom than
downwards from the top as I eventually did, so to pile the persistent
variables we could use the first option this time.

For example, if both "KEYBOARD..." and "EEPROM..." have also got a
persistent variable each, and the first available location is number 32,
we could assign one in register 32 and the other in 33. Persistent
allocation consumes more RAM resources as it won't be overlapped.

Most of the times the life of persistent data, although not bounded by
the execution of the routines to which they belong, can be bounded to the
execution of a certain component. For example in OOP instance variables
overlive the execution of the methods that make use of them but are
created and destroyed in conjunction with the objects they belong to.

This sort of thing is not implemented in this method, persistent variables
live through the whole execution, and as we could save RAM there seems to
be room for improvement here.

Before ending, notice that a "memory full" condition will occur if,
during compilation, the incrementing count of positions for persistent
variables collides with the minimum decrementing count for automatic ones.

Now I'm ready to list the most important macros, "FRAME", "USES",
"BYTE", "PERSISTENT" and "FEND". I'll be doing it in a separate message.

I'll be back soon!

                                                         Andres
                                                 spam_OUTadjordjRemoveMEspam.....aleph.fi.uba.ar


A METHOD FOR PIC ASSEMBLY CODE INTEGRATION AND REUSE - Part 4

----------------------- cut here ----------------------------------------

; ****************************************************************
; *  MACROS FOR THE ALLOCATION OF VARIABLES                      *
; ****************************************************************
;
;  Andres Djordjalian
;  EMail: spamadjordjKILLspamspamKILLspamaleph.fi.uba.ar
;

   NOEXPAND    ; I strongly suggest it as listings could get rather
               ; long and unreadable with macro expansions

; *************************************
; *  FRAME                            *
; *************************************

FRAME                MACRO      rutina

   IFDEF   alocTemp
#undefine   alocTemp
   ENDIF
#define     alocTemp    rutina#v(CERO)#v(CLAVE)
VOLATILES0      SET     H'7F'
VOLATILES1      SET     H'FF'
alocTemp        SET     0

                    ENDM


; *************************************
; *  USES                             *
; *************************************

USES                MACRO       rutina

#undefine   alocTemp
#define     alocTemp    rutina#v(CERO)#v(CLAVE)
   IF VOLATILES0 > alocTemp
VOLATILES0      SET     alocTemp
   ENDIF
#undefine   alocTemp
#define     alocTemp    rutina#v(UNO)#v(CLAVE)
   IF VOLATILES1 > alocTemp
VOLATILES1      SET     alocTemp
   ENDIF

                   ENDM


; *************************************
; *  BYTE variable                    *
; *************************************

BYTE            MACRO           variable

   IF    VOLATILES#v(RAM_PAGE) > PERSISTENTES#v(RAM_PAGE)
variable    EQU     VOLATILES#v(RAM_PAGE)
   IF    VOLATILES#v(RAM_PAGE)<MIN_VOLATILES#v(RAM_PAGE)
MIN_VOLATILES#v(RAM_PAGE)  SET VOLATILES#v(RAM_PAGE)
   ENDIF
VOLATILES#v(RAM_PAGE)   SET   VOLATILES#v(RAM_PAGE)-1
   ELSE
   ERROR("Memory full, can't allocate automatic data")
   ENDIF

               ENDM


; *************************************
; *  PERSISTENT variable              *
; *************************************

PERSISTENT      MACRO           variable

   IF      PERSISTENTES#v(RAM_PAGE) < MIN_VOLATILES#v(RAM_PAGE)
variable        EQU     PERSISTENTES#v(RAM_PAGE)
PERSISTENTES#v(RAM_PAGE)   SET   PERSISTENTES#v(RAM_PAGE)+1
   ELSE
   ERROR("Memory full, can't allocate persistent data")
   ENDIF

               ENDM


; As you may expect, this needs initializing:

; *************************************
; *  INITIALIZING ALLOCATOR MODULE    *
; *************************************

PERSISTENTES0   SET     H'20'           ; Reconfigurate this initial
PERSISTENTES1   SET     H'A0'           ; values to the target machine.
VOLATILES0      SET     H'7F'           ; The values given here are for
VOLATILES1      SET     H'FF'           ; a 16C73 or 16C65
MIN_VOLATILES0  SET     H'7F'
MIN_VOLATILES1  SET     H'FF'
RAM_PAGE        SET     0
CERO            EQU     0
UNO             EQU     1
CLAVE           EQU     86

----------------------- cut here ----------------------------------------

Well, these are the routines I'm using. There is much more to say about
the application of these macros, and there is another macro I find quite
useful for the allocation of flags, so I'll be continuing with this
postings if there's interest.

As always, I'll appreciate any opinions. Regards!

                                                      Andres
                                              spamadjordjspam_OUTspamaleph.fi.uba.ar


A METHOD FOR PIC ASSEMBLY CODE INTEGRATION AND REUSE - Part 5

===Erratas for my last posting============================================

I forgot to list the "FEND" macro!

----------------------------- cut here ----------------------------------

; *************************************
; *  FEND                             *
; *************************************

FEND                MACRO      rutina

#undefine   alocTemp
#define     alocTemp    rutina#v(CERO)#v(CLAVE)
alocTemp    SET     VOLATILES0
#undefine   alocTemp
#define     alocTemp    rutina#v(UNO)#v(CLAVE)
alocTemp    EQU     VOLATILES1

                   ENDM

----------------------------- cut here ----------------------------------

Another one: the initialization of "VOLATILES0" and "VOLATILES1" is
not necessary.  Instead, you can assign those values to "INIT_VOLATILES0"
and "INIT_VOLATILES1":

----------------------------- cut here ----------------------------------
INIT_VOLATILES0     EQU     H'7F'
INIT_VOLATILES1     EQU     H'FF'
----------------------------- cut here ----------------------------------

...and use these constants in the "FRAME" macro:

----------------------------- cut here ----------------------------------

; *************************************
; *  FRAME                            *
; *************************************

FRAME                MACRO      rutina

   IFDEF   alocTemp
#undefine   alocTemp
   ENDIF
#define     alocTemp    rutina#v(CERO)#v(CLAVE)
VOLATILES0  SET     INIT_VOLATILES0
VOLATILES1  SET     INIT_VOLATILES1
alocTemp    SET     0

                    ENDM

----------------------------- cut here ----------------------------------

...so as to have all the machine-dependent constants in the initialization
part.

One more. The initialization of "MIN_VOLATILESx" must be incremented by
one to:

----------------------------- cut here ----------------------------------
MIN_VOLATILES0  SET     H'80'
MON_VOLATILES1  SET     H'100'
----------------------------- cut here ----------------------------------

...or otherwise if there are no volatile variables you wouldn't be able
to assign the last memory position to a persistent one.

===End of the erratas for my last posting=================================

Since I began with the analysis of the problem I'm talking about
"components" but I haven't specified accurately what I mean by such.
I'll do it now and start with some practical matters.

When I said "a component" I was simply refering to a part of a system. It
could be an large include file or just a short routine. All that I've
written about doesn't depend on the level of granularity the system
representation has. And the links between these components can be one
subrutine call or several.

Of course, using the method with a system representation of a higher
granularity (or to put it in other words, simply to build more frames,
for every single routine for example) will result in an better use of RAM,
but you'll have to write more.

The options seem to be what I've just mentioned, to build a frame for each
routine, or making a frame for a whole include file. By the way, I suggest
to divide your program into reusable include files for all this to make
better sense. Having an include file with a global frame and one or more
routine frames for particular routines seems to me hard to follow, and as
there is no error checking for missing "USES ..." I think it would surely
cause more than one headache.

This is getting a bit long, I'll continue on another message. I'll be
back soon!
                                                           Andres


A METHOD FOR PIC ASSEMBLY CODE INTEGRATION AND REUSE - Part 6

On my last posting I wrote about two ways in which frames could be built.
One is to build a frame for a whole include file, for example:

------ cut here (beginning of an include file)---------------------------

; ***********************************************************************
; * MODULE THAT STRUCTURES AN I2C EEPROM IN BLOCKS AND CELLS  (KEY EEP) *
; ***********************************************************************

   IFNDEF  I2C_INTERFACE
       INCLUDE "I2C.INC"
   ENDIF

RAM_PAGE        SET     1
       FRAME   EEP
       USES    I2C
       BYTE    EEPblock
       BYTE    EEPcell
       BYTE    EEPregister
       FEND    EEP

; **************************************************
; *  SAVE EEPregister IN [EEPblock,EEPcell]        *
; **************************************************

EEPSaveBC:      MOVF    EEPblock & H'7F',W                ;  ...etc
------------------------------- cut here --------------------------------

Here there's only one frame named "EEP" for all the routines in the file.
The routines use the component "I2C.INC", which also has only one frame,
named "I2C". You can deduct this from the "USES..." line.

Similarly, if there's another component that uses this one, the frames
where the variables belonging to a routine that uses any of these are
defined must have a "USES EEP".

The other option looks like this:

---- cut here (the middle of another include file)------------------------

; **************************************************
; *  FORMAT                                        *
; **************************************************

       FRAME    BI2Format
       USES     EEP
       BYTE     BI2J
       BYTE     BI2I6
       FEND     BI2Format

BI2Format:      CLRF    EEPregister & H'7F'
               MOVLW   1
               MOVWF   EEPblock & H'7F'
               CLRF    EEPcell & H'7F'
               CALL    EEPSaveBC                     ; etc...
------------------------------- cut here --------------------------------

This is the beginning of a routine that's part of a component (from now on
I'll be calling a "component" an include file that adds a particular
feature to a system, like an interface, a data structure, etc, to
differentiate it from a routine)

I was saying that this routine is part of a component that uses the
previous component. But in this case the frames are declared for each
routine. The routine "BI2Format" uses the previous component (look at the
last line listed) and that's declared on the beginning of its frame. Of
course (didn't I mention this?) "USES..." clauses must precede "BYTE..."
declarations!

BI2Format uses EEP's variables as an interface. That's the way to do it
but, as these variables are not persistent, you should be careful. You
mustn't call another subroutine and pretend that their values remain
unaltered.  For example, you shouldn't code something like...

------------------------------- cut here --------------------------------
               MOVLW   1
               MOVWF   EEPblock & H'7F'
               CALL    KEYWhatever
               CALL    EEPSaveBC
------------------------------- cut here --------------------------------

This may not work as KEYWhatever might alter EEPblock's contents! It's not
hard to get used to avoiding this practice. If you need to mantain the
contents of an interface variable between other subroutine calls you
should use another variable (for example, BI2saveEEPblock in this case).
Changing EEPblock to a persistent variable would work but it would be hard
to follow and might increase RAM usage.

There are two things I want to say about this posting's code that remain
pending. One is the scheme I'm using to name variables, the other the
"& H'7F'"s. I'll continue later.

Is my explanation on where to build frames clear? As always I appreciate
your opinions. Regards,

                                                         Andres


A METHOD FOR PIC ASSEMBLY CODE INTEGRATION AND REUSE - Part 7


Names for variables
-------------------

If you automatize the task of allocating registers you'll very probably
have more variables than if you don't. That's because you'll be able to
create more variables and also because this scheme is intended to
facilitate code reuse and for that you shouldn't share variables.

So variable naming becomes and issue. You've already automatized the
allocation of registers and facilitated reuse, now you don't want to be
dealing with the names of variables, checking to see that they don't
repeat. And the same thing happens with routines' names.

The solution I'm using is giving every component a three capital letter
keycode. For example, "KEY" for a keyboard interface, "MDI" for a
multiplexed-display driver, etc. I document this keycode at the beginning
of the source file, and when I do a new one I care that it is unique.

Every label belonging to a source code uses its keycode as a prefix. For
example "MDIdigit", "KEYauxi", "KEYReadKey", etc.

For the rest of the names I use a common convention: start with a capital
letter if it's a routine or with a small letter if it's a variable. To
join several words into a label, instead of using an ugly underscore,
start the new word with a capital letter.

I use this rule only because of a personal preference. What I do want to
recommend is the use of the keycode to deal with the fact that all
variables have a global scope. If you can think of another way please let
me know.

I think this solution is pretty neat, and it has another advantage. If you
are browsing through a symbol list looking for the values given to a
component's labels you just have to search for the keycode and there
you'll have all that component's symbols together.


Dealing with RAM paging
-----------------------

Ups, I haven't got much to say about this. The macros, as I'm using them
now, give more-than-7-bit addresses. What I mean is that a variable
allocated on page 1 could have, for example, address A7 (not 27). So, if
you compile something like "MOVF thatVariable,W" you will get a message.

Surely the macros could be modified to give 7-bit-addresses, but I don't
like it because symbol lists would give less information and I have the
idea that source code could get rather confusing...  I really didn't think
much about it.

What I do is write "MOVF thatVariable & H'7F',W" to avoid the messages for
those lines where I had taken care of ram paging. Typing those "& H'7F'"
looks like a lot of nonsense work but with a reasonable editor you can do
text subsitutions or macros and save much of it. And on the other hand,
on the source code you can distinguish between page 0 and page 1 variables
and you still have messages alerting you of those cases to which you
didn't pay attention.

But I think there could be something better, perhaps using "#define"s.
By the way, I have never used four-ram-page processors, and this would not
be very neat with them I guess...


Dealing with ROM paging
-----------------------

The ROM pages where components are placed can be documented on a
client-server structure diagram like the one I sketched on my first
posting.

As the reasonable thing is, given a client-server relationship, to try to
place both components on the same page so as to save changes to PCLATH,
the whole structure would have only a few clusters of components belonging
to the same page. So with a quick look you can tell where you need to
change PCLATH and where each component is placed.

I'm not using any automated scheme to change PCLATH, mostly because many
times I do several sequential long calls and changing PCLATH for every
call there would be a waste of ROM, a resource I always run short of.

Problems could arise when you want to reuse code and you find that if you
mantain the original page assignments the code won't fit, or if you want
to use a piece of code made for page 1 of a two-page processor in a
one-page chip.

For those cases I guess that I would do second versions of those
components that need to be changed. For example, if I did a display driver
for page 1 and I want to change it for page 0 I'd copy that source and its
clients and servers naming them differently (changing the key-code would
not be necessary) and take out and add the PCLATH assignments that would
be needed. Then, if I have a third project needing this driver, I'd have
two versions from where to choose.

This message might have more questions than answers but I already told you
that was my objective. I have been refining my ideas as I used them and I
would like this process to continue here with yours!

On my next posting I'll list a macro I use to allocate flags. If you have
any questions or ideas about the variable-allocation scheme please write.

Regards!
                                                         Andres
                                                 STOPspamadjordjspam_OUTspamspamBeGonealeph.fi.uba.ar


A METHOD FOR PIC ASSEMBLY CODE INTEGRATION AND REUSE - Part 8

Allocating flags
----------------

If you are programming for code reuse it doesn't look correct to assign
flags belonging to different components with something like:

   PERSISTENT flags
#define     MDIerror        flags,0
#define     KEYcapsLock     flags,1
#define     EEPerror        flags,2 ...etc.

...because for a different project you might need only some of these
components along with others, and that would force you to reassign
flags by hand, changing them in duplicate source files or doing all
allocations in the main source file. None of these look very neat nor
practical.

On the other hand, placing each component's flags on a local
non-persistent variable would be a waste of RAM if you are to assign only
two or three flags for each component, which I consider normal.

A macro that allocates flags would be useful, and making it is no big
deal.

As for now I'm not differentiating persistent flags from non-persistent
because I don't see much to win. The reason to allocate non-persistent
data is to save RAM by permitting overlapping. Flags, being only one bit
long, don't add much unless a component uses a lot of flags, and in that
case those flags could be placed on local non-persistent variables instead
of using the macro. Surely, if you are desperate for RAM and could profit
from it, this macro could be expanded to handle non-persistent flags.

The algorithm I use to allocate the flags is simply the following:

* If there is no persistent byte available for flags allocate a new one
* Allocate the flag on the next bit available on that byte

This is handled by the following macro:

----------------------------- cut here ---------------------------------

; *****************************************
; *  RESERVE_FLAG  nameByte, nameBit      *
; *****************************************

RESERVE_FLAG    MACRO     nombreByte, nombreBit

       IF BYTE_FLAGS#v(RAM_PAGE)==H'FF'
BIT_FLAGS#v(RAM_PAGE)     SET     8
BYTE_FLAGS#v(RAM_PAGE)    SET     0
       ELSE
BIT_FLAGS#v(RAM_PAGE)     SET     BIT_FLAGS#v(RAM_PAGE)+1
       ENDIF
       IF BIT_FLAGS#v(RAM_PAGE)==8
BYTE_FLAGS#v(RAM_PAGE)            SET     BYTE_FLAGS#v(RAM_PAGE)+1
BIT_FLAGS#v(RAM_PAGE)             SET     0
       PERSISTENT  FLAGS#v(BYTE_FLAGS#v(RAM_PAGE))
       ENDIF
nameByte      EQU      BYTE_FLAGS#v(RAM_PAGE)
nameBit       EQU      BIT_FLAGS#v(RAM_PAGE)

               ENDM

----------------------------- cut here ---------------------------------

Which needs the following initialization:

----------------------------- cut here ---------------------------------

BYTE_FLAGS0     SET     H'FF'
BYTE_FLAGS1     SET     H'FF'

----------------------------- cut here ---------------------------------

This, again, is for a two-RAM-page processor. I guess that if you only
add "BYTE_FLAGS2" and "...3" it would work on a four-page.

The macro returns a reference to a register and a bit number for you to
allocate the flag with something like:

RAM_PAGE    SET     0
           RESERVE_FLAG    XXXmyFlagByte,XXXmyFlagBit
#define     XXXmyFlag       FLAGS#v(XXXmyFlagByte),#v(XXXmyFlagBit)

Or, for a 1-page flag and to avoid messages:

RAM_PAGE    SET     1
           RESERVE_FLAG    XXXmyFlagByte,XXXmyFlagBit
#define     XXXmyFlag       FLAGS#v(XXXmyFlagByte) & H'7F',#v(XXXmyFlagBit)

The ideal thing would had been to be able to do something like:

   FLAG XXXmyFlag

...but it is not possible, as far as I know, because the assembler won't
perform substitutions in a "#define". It's a pity, not only it would save
some cut and pasting and typing, it would also be much clearer to read. I
hope I'm missing something or, if I'm not, that future versions of MPASM
include something to handle this.

As always, I appreciate your feedback. Regards!

                                                           Andres
                                                  spam_OUTadjordjspamspamBeGonealeph.fi.uba.ar

1997\08\07@090558 by Andy Kunz

flavicon
face
>My question: is it possible to have the compiler
>dynamically allocate memory in some way?
>...
>Then, instead of hard coding variables it could just use the
>next available space.

Get the HiTech C Compiler and use the macro assembler which comes with it.
It does what you want and more.  IMHO, it's worth the current $300 price in
itself.

It uses a real linker, too!

Andy

==================================================================
Andy Kunz - Montana Design - 409 S 6th St - Phillipsburg, NJ 08865
         Hardware & Software for Industry & R/C Hobbies
       "Go fast, turn right, and keep the wet side down!"
==================================================================

1997\08\08@125532 by Steve Kaufman

flavicon
face
Maybe I am misinterpreting the question. But the Parallax assembler has the
DS (Define Space) directive which has an argument that allows you to specify
the number of locations needed. I use it like this:

;************************
;             RAM
;************************
                               ORG RAM

FLAGS                DS    1            ; 1 location, 8-bit value
TMRCTL            DS    1
MSG_TIMER    DS    2            ; 2 locations, 16-bit value
MSG_BUFF       DS    8            ; 8 locations

The assembler then assigns addresses starting at RAM and allocates the
requested number of locations for each variable in succession.

Not sure if that's what you were asking, but thought I'd throw it out
there...

Steve


{Original Message removed}

1997\08\08@165418 by STEENKAMP [M.ING E&E]

flavicon
picon face
Andres,

Your system of memory allocation seems extremely interesting and
powerfull.  I will give it a try when I work on a (multi module) PIC
project again.  Thanks for sharing it!

Niki

1997\08\13@212514 by Marc 'Nepomuk' Heuler

flavicon
face
Hi Shane (Shane Nelson), in <EraseMEPine.LNX.3.96.970806143100.17103B-100000spamKILLspamcheetah.spots.ab.ca> on Aug 6 you wrote:

{Quote hidden}

Yes, it is possible.  I do it like his (off my head, so prepare for typos):

BOFFSET         SET     0x0c

BYTE            MACRO   LABEL
LABEL           EQU     BOFFSET
BOFFSET         SET     BOFFSET+1
            IF      BOFFSET>0x30
            retlw   ERROR_OUT_OF_REGISTERS
            ENDIF
>             ENDM

STRUCT          MACRO   LABEL,SIZE
LABEL           EQU     BOFFSET
BOFFSET         SET     BOFFSET+SIZE
            IF      BOFFSET>0x30
            retlw   ERROR_OUT_OF_REGISTERS
            ENDIF
>             ENDM


Then I use the macros like shown

            BYTE    CNT                     ; assigns 0x0c to CNT
            STRUCT  Keybuffer,4             ; reserves 4 bytes at 0x0d



Have fun pic'ing

'Off topic -- dup messages'
1997\08\15@005839 by blunn

flavicon
face
Bob Lunn
08/15/97 02:27 PM


Sorry if there have been some duplicate messages sent to the list.
Problems with the Notes server.  :(

___Bob

'Cheap Reset Circuit -- With slowly rising Vcc (Bat'
1997\08\20@110839 by Scott Walsh

flavicon
face
    Guys,

    I have a problem. My micro is running in a battery operated
    environment where the battery pack is a part of the product.

    When the battery is completely dead ie around 2.4V the micro has
    stopped and so has the resonator. We then begin to charge the battery.

    The volatge starts to rise, at 3.2V we want the micro to startup.

    Do I need to go for a full blown Reset Controller? Or is there a
    simpler (cheaper) method.

    TIA
    Scott.

1997\08\20@120357 by Michael S. Hagberg

flavicon
face
dallas semi has a reset chip that resets at 3.3 vdc. nothing could be
easier to use only 3 pins. i will also say that any time you want to
make something cheaper the reliability goes down faster than the price.
if you are making a million parts the price is important but if you are
making a hundred parts the reliability is important.

michael

At 03:51 PM 8/20/97 -0700, you wrote:
{Quote hidden}

1997\08\20@133702 by Harold Hallikainen

picon face
       Seems like the watchdog timer would take care of this situation.
It would keep resetting the processor, which continues to die until it is
finally brought back to life once the battery voltage is high enough.  Am
I missing something?

Harold



On Wed, 20 Aug 1997 15:51:46 -0700 Scott Walsh
<EraseMEScott.WALSHRemoveMEspamPLANTRONICS.COM> writes:
{Quote hidden}

1997\08\21@002845 by Jim Ham

flavicon
face
I know of two generic methods to solve the problem. One is a transistor and
resistors or a zener as shown in the data sheet. This is the least
expensive (from component cost point of view) method. The other is to use a
power supply supervisor. Check out Maxim and Dallas. This is a more
expensive solution (US$1 to US$2), but they have features that might be
worth the cost: Low power, smaller footprint, more precise, and turn-on
delay. I believe that you will find that you will need to handle reset in
some way. I have a product that I am recalling because of this. Believe me,
it's better to do it right the first time.

The watchdog does _NOT_ work reliable after broun-out. I have no
explaination for this, only experience with 16F84s. The 'F84s will wake up
"sort of" working, and the watchdog will not do a proper reset. Ports wake
up in a funny mode (not documented) and there is a good possibility that
the EEPROM is corrupted.

Regards, Jim

At 03:51 PM 8/20/97 -0700, you wrote:
{Quote hidden}

Jim Ham, Porcine Associates
(415)326-2669 fax(415)326-1071
"http://www.porcine.com"

1997\08\21@073422 by mikesmith_oz

flavicon
face
On 20 Aug 97 at 20:57, Jim Ham wrote:

> I know of two generic methods to solve the problem. One is a
> transistor and resistors or a zener as shown in the data sheet. This
> is the least expensive (from component cost point of view) method.
> The other is to use a power supply supervisor. Check out Maxim and
> Dallas. This is a more expensive solution (US$1 to US$2), but they
> have features that might be worth the cost: Low power, smaller
> footprint, more precise, and turn-on delay. I believe that you will
> find that you will need to handle reset in some way. I have a
> product that I am recalling because of this. Believe me, it's better
> to do it right the first time.
>
> The watchdog does _NOT_ work reliable after broun-out. I have no
> explaination for this, only experience with 16F84s. The 'F84s will
> wake up "sort of" working, and the watchdog will not do a proper
> reset. Ports wake up in a funny mode (not documented) and there is a
> good possibility that the EEPROM is corrupted.

Reset doesn't always seem to remedy some of the problems, either.
How about a 'snap' action on the Vdd pin? (so any voltage below, say
4 volts give 0 v output, then turns on quickly at above 4 volts)
MikeS
<.....mikesmith_ozspamspam_OUTrelaymail.net>

=== For PICLIST help (including "unsubscribe" instructions),
=== send an e-mail containing the single phrase "help piclist"
=== to: @spam@listservEraseMEspamspammitvma.mit.edu

1997\08\21@093213 by Scott Walsh

flavicon
face
    Mike,

    What I think you are eluding to here is the behaviour of the crystal
    or resonator that you are using. They like to be applied with a rapid
    rising voltage rather than a slow rising voltage.

    I know what you mean though, and believe that this is also a part of
    my orignal problem.

    regards,
    SW.


______________________________ Reply Separator _________________________________
Subject: Re: Cheap Reset Circuit -- With slowly rising Vcc (Battery)
Author:  mikesmith_ozTakeThisOuTspamKILLspamrelaymail.net at INTERNET
Date:    21/08/97 20:44


On 20 Aug 97 at 20:57, Jim Ham wrote:

{Quote hidden}

Reset doesn't always seem to remedy some of the problems, either.
How about a 'snap' action on the Vdd pin? (so any voltage below, say
4 volts give 0 v output, then turns on quickly at above 4 volts)
MikeS
<RemoveMEmikesmith_ozTakeThisOuTspamrelaymail.net>

=== For PICLIST help (including "unsubscribe" instructions),
=== send an e-mail containing the single phrase "help piclist"
=== to: @spam@listservSTOPspamspammitvma.mit.edu

1997\08\21@121848 by Harold Hallikainen

picon face
On Wed, 20 Aug 1997 20:57:30 -0700 Jim Ham <TakeThisOuTjimhamTakeThisOuTspamRemoveMEPORCINE.COM> writes:

>The watchdog does _NOT_ work reliable after broun-out. I have no
>explaination for this, only experience with 16F84s. The 'F84s will
>wake up
>"sort of" working, and the watchdog will not do a proper reset. Ports
>wake
>up in a funny mode (not documented) and there is a good possibility
>that
>the EEPROM is corrupted.


       Wow!  Major problem!  I'd hoped that the watchdog timer would
recover from ANYTHING once the power was back up to where the processor
could function.  In another couple products (one using a 68B02, the other
using a PC motherboard), I built a watchdog timer out of a 74HC14 and
several resistors, diodes, and capacitors.  It generates a power-up reset
and works as a watchdog, requiring a pulse to its input every now and
then to prevent it from timing out.  The input is AC coupled so if the
system crashes during a reset it doesn't get stuck.
       As far as eeprom getting corrupted...  that seems to be a way of
life.  In that 68B02 project, I used an MK48T02 "TimeKeeper RAM" (a neat
part, by the way).  It has a real time clock and a little under 2 Kbytes
of battery backed static RAM.  I added gating to the write strobe so the
processor had to enable writing prior to doing a write.  I'm sure it
helps, but every now and then I get a call from a customer with corrupted
set-up data.  I haven't used a PIC with an eeprom in it, so I have no
experience with its protection...

Harold

1997\08\21@142703 by Miller, Steve

flavicon
face
My guess is that VCC is dropping far enough to stop the oscillator.  If VCC
slowly increases back to a normal level, the crystal or resonator oscillator may
not restart. (RC circuits are supposed to be guaranteed to restart.)  The
crystal or resonator schemes need a sharp VCC rise to kick start them.  The
circuit is really just an amplifier with a frequency selective feedback loop.
The sharp VCC rise generates an initial output transient that get filtered and
fed back for regenerative feedback. Without the frequency rich initial impulse
to drive the filter, there is no signal to filter.

If the oscillator does not restart, no code is being executed and the watchdog
does you no good.    An external reset circuit will not save you here, because
reset only restarts the code.  The oscillator circuit is independent of reset.
The ultimate fix, is to cycle VCC along with reset as has already been
described.

1997\08\21@145656 by John Payson

picon face
> My guess is that VCC is dropping far enough to stop the oscillator.  If VCC
> slowly increases back to a normal level, the crystal or resonator oscillator
may
> not restart. (RC circuits are supposed to be guaranteed to restart.)

RC circuits "always" work because they are always in one of two states:

[1] Charging the cap, and waiting for it to reach a level near VDD
[2] Discharging the cap, and waiting for it to reach a level near VSS

Unlike a crystal or LC oscillator where DV/DT is an important part of the
oscillator's state, an RC oscillator simply has the two states above.

>                                                                       The
> crystal or resonator schemes need a sharp VCC rise to kick start them.  The
> circuit is really just an amplifier with a frequency selective feedback loop.
> The sharp VCC rise generates an initial output transient that get filtered and
> fed back for regenerative feedback. Without the frequency rich initial impulse
> to drive the filter, there is no signal to filter.

True, but...

> If the oscillator does not restart, no code is being executed and the watchdog
> does you no good.    An external reset circuit will not save you here, because
> reset only restarts the code.  The oscillator circuit is independent of reset.
> The ultimate fix, is to cycle VCC along with reset as has already been
> described.

When the /MClr line is held low, the oscillator is inhibitted; OSCOUT is low,
and OSCIN is weakly pulled low.  When /MClr is released, OSCOUT will swing
high quickly; this will start the oscillator.

I don't know whether the PIC hammers the oscillator on a watchdog timeout; if
it doesn't, it would probably be a good idea for future models to do so.

1997\08\21@152337 by John Shreffler

flavicon
face
part 0 759 bytes
-----Original Message-----
From:   John Payson [SMTP:spam_OUTsupercatspamspam.....MCS.NET]
Sent:   Thursday, August 21, 1997 2:45 PM
To:     PICLIST.....spam@spam@MITVMA.MIT.EDU
Subject:        Re: Re[2]: Cheap Reset Circuit -- With slowly rising Vcc (Batter


John Payson wrote:
When the /MClr line is held low, the oscillator is inhibitted; OSCOUT is low,
and OSCIN is weakly pulled low.  When /MClr is released, OSCOUT will swing
high quickly; this will start the oscillator.

I don't know whether the PIC hammers the oscillator on a watchdog timeout; if
it doesn't, it would probably be a good idea for future models to do so.

I don't think MCLR stops the oscillator.  Although I don't program PICs, a
design
I specified recently depended on the oscillator running during a MCLR reset.

1997\08\21@163834 by John Payson

picon face
> When the /MClr line is held low, the oscillator is inhibitted; OSCOUT is low,
> and OSCIN is weakly pulled low.  When /MClr is released, OSCOUT will swing
> high quickly; this will start the oscillator.
>
> I don't know whether the PIC hammers the oscillator on a watchdog timeout; if
> it doesn't, it would probably be a good idea for future models to do so.
>
> I don't think MCLR stops the oscillator.  Although I don't program PICs, a
>  design
> I specified recently depended on the oscillator running during a MCLR reset.

Hmm... that differs from my recollection, though the cases where it's been
a problem to me were the times when /MClr was accidentally left unconnected
(it sinks groundward if it is).  It may be that if /MClr is never raised,
that the oscillator won't start until it is (this may improve startup behav-
ior).  So we may both be right... though in different ways.

Perhaps the best behavior would be to have a fuse-settable option for
whether the oscillator should be stopped on reset since there are definite
pros and cons to such an approach (if the oscillator stops on reset, then
power consumption will be minimized; a simple battery-backup approach would
be to connect /MClr to the external VDD and use diodes to power the PIC from
battery or external VDD as appropriate).  Unfortunately, such an approach
would cause the PIC to run continously when VDD went away--even if the PIC
tried to SLEEP.

On the other hand, letting the oscillator run while /MClr is low allows it
to get started faster, and allows the chip to start running code sooner,
than waiting until /MClr rises.  It also helps in applications where the
clock is used for other purposes as well.

Interesting arguments for both sides...

'Morality -- Re: CAD electronic software'
1997\08\27@181204 by Shane Nelson

flavicon
face
On Wed, 27 Aug 1997, Kalle Pihlajasaari wrote:

> Hi Shane and anyone else who is interested in a moral viewpoint,
>
> Barely on the PIC topic but has some small relevance to datasheet
> copying, printing and code protection.

Morality is an interesting topic. One that I often contemplate myself. Who
has the authority to decide for all of humanity, what is moral and what
is not? Any two people will have different views on what's right, and
what's wrong. I for example, believe it is wrong to directly hurt another
human being. I think most would agree.  The line quickly becomes grey.
Some people think it's ok to steal from large organizations. Luckly, most
people don't.  It's true that when someone steels from a place like
wal-mart, the prices go up and the rest of us pay. So really you're
steeling from yourself, your friends, and your family. The company has to
replace the loss of the theft. Which is the price they bought it for,
not the price they are selling it for.

I find it hard to draw a corelation between copying a peice of software,
and steeling that same peice of software off the shelves of a large
computer store.  When you steel the software, you are taking a physical
thing, that cost money to manufacture. It didn't cost anywhere near the
amount of money that they are selling it for. I think it's absurd to put a
$600 price tag on a cardboard box containing a manual and a CDrom. In all
likelyhook it cost only about $20 to manufacture. A reasonable selling
price would be closer to $50-90.  The guy who thought of it could have $5,
and there'd still be lots of money to trickle around to everyone involved
in the processes of creating the software. And you'd surely sell alot more
copies.

If nobody bought software with such a high price tag, we'd soon see the
price comming down to more reasonable levels.

> If morality and intelligence did not have a strong natural (BUT NOT
> EXCLUSIVE, DON'T BITE MY HEAD OFF) correlation then we as the human
> race would indeed have no chance.  If we had in general only intelligent
> terrorists and thieves we might as well stop using public transport
> and owning personal property.  This is one of the real significant
> reasons that I have faith in human nature, we have survived this long.

We haven't really survied all that long yet. Dinasours were on earth much
longer than humans. Today you'd be hard pressed to find a dinasour. Just
because you survived for a long time, doens't mean you will continue to.

> Without Karma (structured morality) there is very little reason not
> to take a chance.

Karma is good.  If more people lived by karma, instead of the dollar, we'd
be better off.

{Quote hidden}

Civil law vs Criminal law. I was simply pointing out that copying software
is not the same as steeling a car. Compare apples to apples. Criminally
illegal and civily illegal are two different things. Either way, you are
breaking the law, and must be prepared to suffer the consequences.

Don't get me wrong, I'm not saying to go out and pirate software, and I'm
not saying that I do it myself. I just wanted to set the record straight.


{Quote hidden}

My point exactly. Most people are willing to speak so loudly against
copying software, yet they won't think twice about making a copy of a
friends audio cd for themselves.

> > Or went to the library and photocopied a specs sheet, or had one faxed,
> > when it should have been purchased.
>
> The OWNER of the copyright decides if it may or may not be copied
> without payment of licence/royalty.  Often copying of standards and
> sections of books is permited for personal STUDY, making money or using
> it in your work is not usually called study.

Right.

> If someone faxes you something you can only be accessory after the fact.

Unless you asked them to fax it to you.

> I think the real issue lies in whether one believes any value lies
> in the code, doccument, song, video, movie, car, whatever.  If there
> is some value then it can be stolen.

Ok. Stolen implies you removed something from someone's possesion, denying
them the ability to use/enjoy it. Removing it from their possesion implies
that they possessed it in the first place. It's hard to remove royalties
from someones possesion, because they don't have them yet.

But it's still wrong, right? Even though I'm arguing for the right to
pirate software, I have to say I do believe it's wrong. And I do believe
people should get their royalties.

But it's not as simple as that. If it's wrong to steal royalties from
someone, shouldn't it be wrong to make a competing product? Obviously that
denies them their right to recieve royatlies on that product. They won't
sell nearly as many if there is a competing firm involved. So by the same
merrit that copying software is illegal, competition should be illegal
too.

Of course, I realize that that's not practical, and most people won't
even entertain the idea that competition denies someone their right to
recieve royalties. Competition shouldn't be illegal. I'm just pointing out
that it's a very grey issue.

And depending on how you look at it, a different and, no doubt, better
moral point of view can be discovered.


> Ideas do have value, wait till one of yours is taken and hope the
> cost of learning is not as high as the amount of value you have taken
> in your life.

That's my idea! Give it back.<g> Seriously though, theft of ideas is
another grey issue.  Sure, it's true that if you steel my idea I can't
make any more money off it.  But at the same time you can't take my idea
and add two or three improvments to it. The concept of "idea theft" slows
progress.  Wouldn't it be great if you could get the code to Windows 95,
or most any software product, and change the little things that you don't
like? Then give it away to all your friends too. Most software would be
much more reliable if this was the case.

The goal in life should NOT be profit. We should NOT live in a money
oriented society. I am 100% against this.  In my mind, a profit driven
society is doomed to fail.  If profit was no longer the driving force in
society, all of these "grey" issues, would be called sharing. Not theft.
Money has made sharing with your friends illegal. I think that is morally
wrong.


> I would love to live and work in a world where I did not have to
> code protect my PICs but mostly I do because it is the only real
> barrier to people stealing a novel idea that may have taken a lot
> of time to create.
>
> Cheers
> --
> Say YES to morals.

I know my viewpoint is Politically InCorect. I'm not saying no to morals.
Not by any stretch of the imagination. I AM saying that morals aren't
written in stone (well, except for those 10. And I didn't see anything
about stealing ideas in there)

If anyone cares to continue this in private email to reduce list traffic,
feel free to email me. I love the argument and think it will help to
solidify my own developing morals. Right now there's lots of things
that are illegal, that I think shouldn't be. There must be a reason for
these things to be illegal. If the reason is profit driven, you'll have a
hard time changing my mind. If there is another reason, then I'd like to
hear it.


-Shane.

1997\08\27@193721 by Clyde Smith-Stubbs

flavicon
face
On Wed, Aug 27, 1997 at 04:14:01PM -0600, Shane Nelson wrote:

> progress.  Wouldn't it be great if you could get the code to Windows 95,
> or most any software product, and change the little things that you don't
> like? Then give it away to all your friends too. Most software would be

There *is* software like this - Linux is a good example. It's free, you
get the source code, and you can make whatever changes you like. It exists
though only because there is a large body of programmers around the world
who have both a need for such software and some expertise in developing it,
and can therefore justify putting some time into it.

Quite a number of system tools fall into this category as well, and there
is a lot of GNU software you can have for free.

However, specific applications software that is not needed by so many
people doesn't work like this - the people who need it and the people
who can write it are disjoint groups, and both groups are much smaller.

In that case there is a transfer of value (== wealth == money) from
the producer group to the consumer group. Without this transfer of value
the producer group will not be able to spare the time to write the software,
and the consumer group will not get the tools they need to do whatever it
is they do.

> The goal in life should NOT be profit. We should NOT live in a money

Profit per se is not bad - in fact since the alternative to profit is loss,
it's essential (the Soviet Union proved that). Excessive profit is bad -
but excessive profits don't come from high-priced products, they come
from concentration of profits. Microsoft is the prime example of this -
their profit margin isn't excessive, once you subtract the middleman's
take, but their huge market share enables them to concentrate profits
and manipulate the market.

--
Clyde Smith-Stubbs               |            HI-TECH Software
Email: spamBeGoneclydespamspam_OUThtsoft.com          |          Phone            Fax
WWW:   http://www.htsoft.com/    | USA: (408) 490 2885  (408) 490 2885
PGP:   finger EraseMEclyde.....spamhtsoft.com   | AUS: +61 7 3354 2411 +61 7 3354 2422
---------------------------------------------------------------------------
ANSI C for the PIC! Now shipping! See http://www.htsoft.com for more info.

1997\08\27@210347 by Shane Nelson

flavicon
face
On Thu, 28 Aug 1997, Clyde Smith-Stubbs wrote:

> There *is* software like this - Linux is a good example. It's free, you
> get the source code, and you can make whatever changes you like. It exists
> though only because there is a large body of programmers around the world
> who have both a need for such software and some expertise in developing it,
> and can therefore justify putting some time into it.

We need more software like this.

> Quite a number of system tools fall into this category as well, and there
> is a lot of GNU software you can have for free.

GNU source code must be distributed freely. You can however
charge for the compiled software. This I would think is an ideal
model. The person who wants to sell it can, and the person who
wants to improve it, and then resell it can also do so.
(I'm not sure what the rule is about reselling it... but I know
the source code has to be freely available)

> However, specific applications software that is not needed by so many
> people doesn't work like this - the people who need it and the people
> who can write it are disjoint groups, and both groups are much smaller.

True, however see below.

{Quote hidden}

This misses my point entirely.  Wether you're making a profit, or
a loss, or breaking even you are trying to make money.  That's
the only reason for copyright laws, so people can make money. I
propose a system that isn't driven by money. Something driven by
kindness,  you're willingness to help.  Kind of like the piclist
actually. We all have knowledge, and we all share it for free
knowing that it helps save other people alot of time. We all
routinely give away our time for free, and it's a good system.
We all know that if we put something into the list, chances are
good someone else will say something or help us out and we'll be
paid back in that way.

If all of society worked like this, we wouldn't have theft, or
greed, or hunger or anything like that.  Everyone would just do
what they know, the only incentive being that you are helping
someone else accomplish what they wish to do.

It's what I would think is a perfect model. And possibly beyond
the capabilities of the human speices.  If we could somehow get
the system working, I'm sure we'd all be living in a happier
world.


(And no, I am not a member of any religious group trying to
convert the piclist to my -ism.  These are just my thoughts, and
my thoughts alone. Please steal them and make them better and
get the system working)

-Shane :)


'CORRECTION -- Re: AND how fast? + Fast OR code'
1997\09\03@013900 by fastfwd
face
flavicon
face
I wrote:

> IF bit "A", bit "B", and bit "C" are at the same locations in their
> respective bytes, and IF C isn't really "volatile", but you just
> want to avoid a quick glitch on it, you can do it in five
> instructions/cycles:

... and then I posted some code that can't possibly work.

Sorry for wasting your time... I'll post the correct code tomorrow,
after I've had some sleep.

-Andy

=== Andrew Warren - spamfastfwdKILLspamspam@spam@ix.netcom.com
=== Fast Forward Engineering - Vista, California
=== http://www.geocities.com/SiliconValley/2499

=== For PICLIST help (including "unsubscribe" instructions),
=== put the single word "help" in the body of a message and
=== send it to: listservspamspamTakeThisOuTmitvma.mit.edu

1997\09\03@014704 by fastfwd

face
flavicon
face
Ok... As it turns out, I didn't need to sleep on this one.

The proper code is:

   MOVF    BYTE_A,W
   ANDWF   BYTE_B,W

   XORWF   BYTE_C,W        ;Bit_C of BYTE_C must not change between
                           ;this instruction and the XORWF BYTE_C,
                           ;below.  The other bits of BYTE_C,
                           ;however, are free to change.

   ANDLW   00000001B       ;Assumes that Bit_A, Bit_B and Bit_C are
                           ;the LSBs of their respective bytes.

   XORWF   BYTE_C

-Andy

=== Andrew Warren - RemoveMEfastfwdRemoveMEspamix.netcom.com
=== Fast Forward Engineering - Vista, California
=== http://www.geocities.com/SiliconValley/2499

=== For PICLIST help (including "unsubscribe" instructions),
=== put the single word "help" in the body of a message and
=== send it to: TakeThisOuTlistserv@spam@spam@spam@mitvma.mit.edu

'RETRACTION -- Re: clock code challenge:'
1997\09\11@034840 by fastfwd

face
flavicon
face
Dudes:

I just said that Tony Nixon's BCD clock code didn't work; I was
mistaken.

His code DOES work, if the "HOURS" register is defined (as it was in
his listing) at register 010h... Somehow, I missed that.

My apologies.

-Andy

=== Andrew Warren - TakeThisOuTfastfwdspamspamix.netcom.com
=== Fast Forward Engineering - Vista, California
=== http://www.geocities.com/SiliconValley/2499

=== For PICLIST help (including "unsubscribe" instructions),
=== put the single word "help" in the body of a message and
=== send it to: KILLspamlistservKILLspamspamspamBeGonemitvma.mit.edu

'WOT -- 451B in a 1A2'
1997\09\23@203149 by Fred C Dobbs

picon face
Hi All,
 This is admittedly WOT (way off topic) but, this is such a clever group
I just thought I'd ask if anyone knows:

   How to wire a 451B, music on hold card, into a 1A2 key system?

TIA (thanks in advance)
  Fred

'One Last Time -- Embedded Systems Conference'
1997\09\30@191255 by Andrew Warren

face
flavicon
face
Guys:

This is just one final reminder that about a dozen PICLIST members
will be meeting at the Embedded Systems Conference on Wednesday,
October 1, at 6:30 p.m.

We'll be meeting at Bytecraft Limited's booth, and then going to
Motorola's reception at 7:00 p.m.

If you're in the Silicon Valley area, please consider attending; the
Embededd Systems show is really pretty interesting, and Exhibit-Only
attendance is (as far as I know) free.  If you're outside the Silicon
Valley area and haven't yet made plans to attend, don't bother... It
takes an act of God to get a hotel room in San Jose this week.

I'll be arriving late Wednesday afternoon and staying through
Thursday afternoon; if you see me (I'll be wearing bright green
cowboy boots, so I should be pretty easy to spot), stop and say
hello.

-Andy

=== Meet other PICLIST members at the Embedded Systems Conference:
=== 6:30 pm on Wednesday, 1 October, at Bytecraft Limited's booth.
===
=== For more information on the Embedded Systems Conference,
=== see: http://www.embedsyscon.com/

=== Andrew Warren - spamBeGonefastfwdKILLspamspamix.netcom.com
=== Fast Forward Engineering - Vista, California
=== http://www.geocities.com/SiliconValley/2499


'[ot] Counting on ones fingers -- wasRe: another q '
1997\10\10@181926 by Shane Nelson
flavicon
face
I had no idea counting on your fingers was such a fine art. I've
been doing it all wrong! <g>

> > > Actually, I personally usually use my hands to count to 100: the ten
digits
{Quote hidden}

<snip>


.scn

1997\10\10@191720 by Andy Kunz

flavicon
face
At 04:20 PM 10/10/97 -0600, you wrote:

Just so long as nobody flips me a "4" or a "128" I don't care how they
count.  A "132" might get you punched, though!

<G>

Andy




{Quote hidden}

==================================================================
Andy Kunz - Montana Design - 409 S 6th St - Phillipsburg, NJ 08865
         Hardware & Software for Industry & R/C Hobbies
       "Go fast, turn right, and keep the wet side down!"
==================================================================

1997\10\13@124040 by lilel

flavicon
face
> I had no idea counting on your fingers was such a fine art. I've
> been doing it all wrong! <g>


I teach ten year olds binary numbers by first teaching them to count
on their fingers in binary - extend the thumb for one, extend the
index for 2, index and thumb for three etc.  I've never found it
difficult at all, but I'm pretty dextrous.


Best Regards,

Lawrence Lile

'BCD-->BIN BIN-->BCD'
1997\10\16@213236 by WF AUTOMA‚ÌO

flavicon
face
Did someone do this routine with the assembly of PIC?

       Miguel.

'Update -- Microchip Emulator Support for Windows N'
1997\10\17@055722 by fastfwd

face
flavicon
face
Dudes:

After almost exactly 24 hours, I've received 32 responses to my
survey.  The sample size is still pretty small, but for what
it's worth, "yes" votes are leading "no" votes by a 3-to-1 margin.

If you haven't already responded, and if you own a Microchip
emulator or plan to buy one within the next year, please take a
moment to do one of the following:

   If you're running Windows NT or plan to upgrade to it within a
   year, send a private email to me with "survey" in the subject
   line and "yes" in the body.

   If you would prefer to run your emulator under Windows 3.11 or
   Windows 95, send a private email to me with "survey" in the
   subject line and "no" in the body.

Keep in mind that Microchip won't drop Win3.x/Win95 compatibility if
they add NT compatibility, so if you're planning to move your
emulator between NT machines and 3.x/95 machines, you can safely
answer "yes".

I'll tabulate the responses and send the final results to Microchip
on Wednesday, 23 October.

Remember... Please DON'T send your responses to the PICLIST; send
them directly to me in PRIVATE e-mail at:

   fastfwd@spam@spamKILLspamix.netcom.com

Thanks.

-Andy

P.S.  I'll probably post one more survey update/reminder between now
     and next Wednesday... Sorry for boring those of you who aren't
     interested, but I think this is an important issue.

=== Andrew Warren - EraseMEfastfwdRemoveMEspam@spam@ix.netcom.com
=== Fast Forward Engineering - Vista, California
=== http://www.geocities.com/SiliconValley/2499

'BCD-->BIN BIN-->BCD'
1997\10\17@065317 by Ricardo Seixas

flavicon
face
       Here is a 16 bit BIN->BCD.
       I don't know who's the original author but it works fine.

;----------------- Laser Cut Here ------------------------
;Converts Binary to BCD
;Enter with 16 bit binary in LowByte/HighByte
;
;Exits with 5 digit packed BCD in R0,R1,R2


Bin_2_BCD       bcf     STATUS,C        ; clear carry bit first
               movlw   10h             ; number of bits
               movwf   Count
               clrf    R0
               clrf    R1
               clrf    R2
loop16
               rlf     LowByte
               rlf     HighByte
               rlf     R2
               rlf     R1
               rlf     R0

               decfsz  Count,f
               goto    AdjustDEC
               return

AdjustDEC       movlw   R2
               movwf   FSR
               call    AdjustBCD

               movlw   R1
               movwf   FSR
               call    AdjustBCD

               movlw   R0
               movwf   FSR
               call    AdjustBCD

               goto    loop16
;

AdjustBCD       movlw   3           ; enter with FSR pointing
               addwf   0,w         ; to the BCD digit being shifted
               movwf   TEMP
               btfsc   TEMP,3
               movwf   0
               movlw   30h
               addwf   0,w
               movwf   TEMP
               btfsc   TEMP,7
               movwf   0
               return

;-----------------------------------


>Did someone do this routine with the assembly of PIC?
>
>        Miguel.
>

1997\10\17@071559 by WF AUTOMA‚ÌO

flavicon
face
Ricardo Seixas wrote:
{Quote hidden}

Falou!!! Amigo!

Miguel.

1997\10\17@142043 by Mike Keitz

picon face
On Fri, 17 Oct 1997 08:52:19 -0300 Ricardo Seixas
<RemoveMErseixasspamspamEraseMECICLONE.COM.BR> writes:
>        Here is a 16 bit BIN->BCD.
>        I don't know who's the original author but it works fine.
[code removed]

The routine is in a Microchip app note, though it's probably much older
than that.  The principle that it uses is to repeatedly multiply the BCD
number by 2 (first by 'adjusting' it, then shifting left 1 bit).  After
the shift, the low bit is taken from the binary number.  The first bit
shifted into the BCD number is the MSB of the binary number, so it is
multiplied by 2 n times.  This isn't a bad way to convert to decimal,
especially for large numbers.

I've rewritten the app note code a little to make it smaller.  This code
also converts 24-bit numbers, producing an 8 digit result. (2^^24 =
16,777,216).  The code below has been tested.  It requires use of the
indirect addressing system (FSR), a 1 byte loop counter (ii), 3 bytes for
the original number (bin..bin+2, LSB first), and 4 bytes for the BCD
result (bcd..bcd+3, LSB first).

;---------
; b2bcd
; Converts a 24-bit binary number to 8 digits of BCD.
; Derived from AN526.
;  Input: Number at bin...bin+2 LSB first
;  Output: Packed BCD at bcd...bcd+3 LSB first.
;  RAM : ii, FSR, 4 bytes at bcd.
;  Input number at bin is destroyed.
b2bcd
       movlw   d'24'           ;Do 24 bits
       movwf   ii
       clrf    bcd+0           ;Clear the result
       clrf    bcd+1
       clrf    bcd+2
       clrf    bcd+3
b2bcdl
       rlf     bin+0,f         ;Rotate one bit out of left end of
bin
       rlf     bin+1,f
       rlf     bin+2,f
; If you want to return with the original value in bin (rather than
;  garbage), copy the C bit into the low bit of bin here.
;  (Not tested)
;;      bcf     bin+0,0         ;Assume C=0,
;;      skpnc                   ;if it is, OK
;;      bsf     bin+0,0         ;otherwise put 1 in.

       rlf     bcd+0,f         ;and into the low byte of BCD.
       rlf     bcd+1,f
       rlf     bcd+2,f
       rlf     bcd+3,f

       decfsz  ii,f            ;Decrement count
       goto    b2bcd2          ;Not done yet, adjust.
       retlw   0

b2bcd2  movlw   bcd+0
       movwf   FSR
       call    adjbcd
       incf    FSR,f           ;to bcd+1
       call    adjbcd
       incf    FSR,f
       call    adjbcd
       incf    FSR,f           ;Last one.
       call    adjbcd
       goto    b2bcdl
;---------
; adjbcd adjusts the byte at FSR.  Used by b2bcd.
; Rewritten adjbcd.  Doesn't require tmp.
adjbcd
       movlw   h'33'
       addwf   INDF,f          ;Add to low and high nybbles
       btfsc   INDF,3
       andlw   b'11110000'     ;Result >7 . OK
       btfsc   INDF,7
       andlw   b'00001111'     ;Hi > 7 OK.
       subwf   INDF,f          ;Result <=7, subtract back.
       return

'16C84-->16F84 design migration'
1997\10\17@145818 by Forbes.Mark

flavicon
face
{Quote hidden}

'Distance Measurement ---- 4 Quadrant Diode'
1997\10\24@134225 by Ram Krishnan

flavicon
face
For those looking for 4-Quadrant photodiodes that would probably be useful
with the rangefinder, you can find them in most CD-ROM players. Sharp
Electronics makes
a few

2 element       PD322PI
6 element       PD663/PD666PS   (2 large outer, 2 X 2  smaller matrix).

'Acorn World Show -- slightly OT'
1997\10\27@064853 by Frank A. Vorstenbosch

flavicon
face
Acorn World Show
================

People in the UK may be interested in coming to the Acorn World Show
this Friday-Sunday (31 Oct-2Nov) in Wembley.

Eidos Technologies is demonstrating two of its Acorn-based products
there, hoping to attract new software and electronics engineers.

If you are a *top notch* programmer or electronics engineer, then
we would like to meet you.

Frank

PS  We are using PICs in current and probably in future products.
------------------------------------------------------------------------
Frank A. Vorstenbosch                           Phone:  +44-181-636 3391
Electronics & Software Engineer                    or:  +44-181-636 3000
Eidos Technologies Ltd., Wimbledon, London      Mobile:  +44-976-430 569


'Pic<-->Modem?'
1997\11\06@152721 by Glen Luckjiff
flavicon
face
I need to code a Pic to Modem connection (say 9600) in a stand alone
application for remote dial-up.

Are their off-the-shelf modems which have an interface other than RS-232?
Is their an implementaion of the AT Command set in C/C++/PicAsm publicly
available.

Thanks
Glen

@spam@glenlspamBeGonespamsoftswitch.com

1997\11\06@233050 by Bruce Cannon

flavicon
face
How about single-chip modem modules? Xecom and Cermatek.  Still rs232 but
EASY!

At 03:27 PM 11/6/97 -0500, you wrote:
{Quote hidden}

Bruce Cannon
Style Management Systems
Remember: Electronics is changing your world...for good!

1997\11\06@233247 by Steven Keller

flavicon
face
Glen,

Check out http://www.cermetek.com/  They have small pc board mountable
modems.  I think they have a logic level interface.

Steve


----------
{Quote hidden}

1997\11\07@065344 by Andy Kunz

flavicon
face
At 10:32 PM 11/6/97 -0600, you wrote:
>Glen,
>
>Check out http://www.cermetek.com/  They have small pc board mountable
>modems.  I think they have a logic level interface.

Make an ISA-bus and use a std PC internal modem.  How about a 56K thing!

Andy


==================================================================
Andy Kunz - Montana Design - 409 S 6th St - Phillipsburg, NJ 08865
         Hardware & Software for Industry & R/C Hobbies
       "Go fast, turn right, and keep the wet side down!"
==================================================================

1997\11\08@185303 by Glen Luckjiff

flavicon
face
Is anyone aware of other manufacturers offering similar products to Cermetek
modems?


{Quote hidden}

'Re[3]: 16C84 -- Thanks'
1997\11\11@140216 by sajjad.akhtar

flavicon
face
    Hi Gregg,
    Thanks u very much for send me the chips. I received those last
    evening. I am really thanks full to u for such a kind gift.

    Thanks again

    Sajjad Akhter

______________________________ Reply Separator _________________________________
Subject: Re: 16C84
Author:  Gregg Kricorissian <spamBeGonegrkricorspamccs.carleton.ca> at smtpgwy
Date:    11/4/97 6:20 AM


Hello again Sajjad,

I have put two 16C84 microcontrollers in a padded envelope tonight, and will
take them to the Post Office in the morning.  It does not weigh very much,
so I will send them by airmail.

I hope you will make good use of them, and look forward to your reports of
progress.

All the best,
.. Gregg

********************************************************
At 01:26 PM 11/3/97 PST, you wrote:
{Quote hidden}

_________________________________
{Quote hidden}

CIBN Technologies Inc.,
Ottawa, Ontario, Canada.
spamgrkricorspamccs.carleton.ca

'ADVICE ON PICs -- LED array'
1997\11\14@145033 by tomfool

flavicon
face
-->On Fri, 14 Nov 1997 09:54:54 -0800, J Scholz <RemoveMEsurrealisticKILLspamspamKILLspamJUNO.COM> said:

> I am currently in the process of doing a very similiar project, but
> it doesn't have an a/d interface. The display is 7 rows by 80
> columns. Input via rs232. Messages will be displayed directly from
> input or from serial ram. The character paterns are hard coded in
> the microcontroller. I am using 16c63.  The project is far from
> complete as I am just doing it as a hobby project. (Read takes
> forever to get done). But I do have a working prototype with minimal
> functions.

I would be interested to know where (and sadly, for how much) you
found the LED array itself, and how much assembly work you put into
that part.

Many thanks,

-tom

---------------------------------------------------------------------
EraseMEtomssspamBeGonespamspamids.net - 401-861-2831 - 42 Forge Road, Potowomut, RI 02818 USA

1997\11\14@172942 by J Scholz

picon face
snip
>
>I would be interested to know where (and sadly, for how much) you
>found the LED array itself, and how much assembly work you put into
>that part.
>
>Many thanks,
>
>-tom
>
>---------------------------------------------------------------------
>KILLspamtomssspamids.net - 401-861-2831 - 42 Forge Road, Potowomut, RI 02818 USA
>
I used discrete LEDS mounting them on an aluminum faceplate with 0.4 inch
spacing. Yes, a lot of work, but it gives me a bigger display. Readable
at
night from 80 to 100 feet away. 560 LEDS at 6cents each.
each.

1997\11\14@185819 by Gary T. Pepper

flavicon
face
At 02:25 PM 11/14/97 -0800, you wrote:
{Quote hidden}

Hi All,

FYI, you can purchase a 5x7 LED matrix from B.G. Micro.  I quote from their
catalog:

"1.2" 5x7 Array with x.y select. This Red Orange Matrix can be stacked
horizontally.
Matrix orientation cathode column, anode row. Great for "Moving Message"
signs.(with data)
LTP-1157 $1.19 ea.,8/$6.95, 100/$75.00"

Not a bad deal and it sure saves a LOT of work versus using single LEDs!

Best of luck,
Gary Pepper


B.G. Micro
P.O. BOX 280298
DALLAS, TX 75228
ORDERS ONLY 1-800-276-2206
TECH SUPPORT 972-271-9834
FAX 972-271-2462
LOCAL ORDERS 972-271-5546
E-mail bgmicrospamspam@spam@bgmicro.com
http: //http://www.bgmicro.com/

'RS232--->RS485'
1997\11\26@152615 by WF AUTOMACAO

flavicon
face
Does someone know where i can find this schematic circuit?

       Miguel.

1997\11\27@045150 by Frans Gunawan

flavicon
face
At 06:28 PM 11/26/97 -0800, you wrote:
>Does someone know where i can find this schematic circuit?
>
>        Miguel.
>

I think you can find it at my page...
goodluck
http://www.poboxes.com/f
f


'Correction -- Re: ICEPIC bugs ???'
1997\12\15@213802 by Andrew Warren
face
flavicon
face
I just wrote:

> be SURE that:
> ....
> 3.  An interrupt is corrupting the register in question.

   Uhh... That should have been "An interrupt ISN'T corrupting
   the register".

   -Andy

=== Andrew Warren - spamBeGonefastfwd.....spamix.netcom.com
=== Fast Forward Engineering - Vista, California
=== http://www.geocities.com/SiliconValley/2499

1997\12\15@221009 by Andrew Mayo

flavicon
face
Well, no, if you were sure that an interrupt *was* corrupting the
register in question you'd have found the problem, also <g>

{Quote hidden}

'PRIVATE -- Re: CODE SECURE WITH PIC?'
1997\12\16@193016 by Andrew Warren

face
flavicon
face
John Payson <spamPICLISTspamMITVMA.MIT.EDU> wrote:

> Note that the 16C84/16F84 may in fact be no easier to break than
> other 16Cxx parts; the big reason it got cracked was the value of
> the broadcast satellite signals.

   Actually, John, the C84 and F84 are a LOT easier to crack than
   the others.

   -Andy

=== Andrew Warren - fastfwdspam_OUTspamTakeThisOuTix.netcom.com
=== Fast Forward Engineering - Vista, California
=== http://www.geocities.com/SiliconValley/2499

1997\12\16@194640 by Jim robertson

flavicon
face
At 04:26 PM 12/16/97 -0800, you wrote:
>John Payson <spam_OUTPICLIST@spam@spamRemoveMEMITVMA.MIT.EDU> wrote:
>
>> Note that the 16C84/16F84 may in fact be no easier to break than
>> other 16Cxx parts; the big reason it got cracked was the value of
>> the broadcast satellite signals.
>
>    Actually, John, the C84 and F84 are a LOT easier to crack than
>    the others.
>
>    -Andy

Oops! Not so private after all.


>
>=== Andrew Warren - spamfastfwdspamspamix.netcom.com
>=== Fast Forward Engineering - Vista, California
>=== http://www.geocities.com/SiliconValley/2499
>

1997\12\16@200745 by Dmitry Kiryashov

flavicon
face
Jim robertson wrote:

> >> Note that the 16C84/16F84 may in fact be no easier to break than
> >> other 16Cxx parts; the big reason it got cracked was the value of
> >> the broadcast satellite signals.
> >
> >    Actually, John, the C84 and F84 are a LOT easier to crack than
> >    the others.
> >
> >    -Andy
>
> Oops! Not so private after all.

Why not. Andrew mean private with all piclisters ;)

1997\12\16@201746 by John Payson

picon face
>
> John Payson <@spam@PICLISTspam_OUTspamMITVMA.MIT.EDU> wrote:
>
> > Note that the 16C84/16F84 may in fact be no easier to break than
> > other 16Cxx parts; the big reason it got cracked was the value of
> > the broadcast satellite signals.
>
>     Actually, John, the C84 and F84 are a LOT easier to crack than
>     the others.

I should have rephrased that: the others MAY be no more difficult to crack
than the 16C84/16F84.  There are no WIDELY-KNOWN easy cracks for the OTP
chips, and there MAY be no KNOWN easy cracks for them period.  But since
I am not privy to all that goes into those chips there's no way to say for
sure.


'[OT] Way off-topic -- Seeking Greeks'
1998\01\14@053427 by Andrew Warren
face
flavicon
face
Guys:

I'm looking for information on the cost and availability of
SVGA computer monitors in Athens, Greece.

If you live in Greece, please contact me in private e-mail at:

   .....fastfwdspam.....ix.netcom.com

Thanks.

-Andy

=== Andrew Warren - spamfastfwdKILLspamspamix.netcom.com
=== Fast Forward Engineering - Vista, California
=== http://www.geocities.com/SiliconValley/2499

1998\01\16@075730 by paulb

flavicon
face
What was that old web pun?  Something like:

 "Beware of Geeks bearing .GIFs!"

'[OT] --> FCC Testing costs'
1998\01\26@130757 by WALLACEZ28

picon face
Does anyone have a rough idea on the cost for FCC testing Part 68 & 15b on a
modem board for use in the US?

Mike

1998\01\27@175620 by Engineering Department

flavicon
face
> Does anyone have a rough idea on the cost for FCC testing Part 68 & 15b
on a
> modem board for use in the US?

The last few boards we did cost between US$6K and US$8K
for class B certification.  The cost seems to depend on how
many times you have to diddle and retest.

Class A compliance is pretty easy to make and costs
us US$3K to US$4K.

Bigest problem is the host computer.  Your card must be tested
in action in a computer.  See if the testing facility has a computer
well suited and characterized for testing -- it can save a lot
of grief.

Cheers,

Win Wiencke
Image Logic Corporation
RemoveMEImageLogicRemoveMEspamibm.net

'Driving LED's -- was Driving LCDs'
1998\01\29@170914 by Mike Ghormley

flavicon
face
Rajnish wrote:
>Would appreciate if you can send me your asm code for the ICM7218.

Rajnish,

I'm afraid that I can't be of much help.  I wrote the code a while ago for a
client
and didn't keep a copy per his request.  I wrote it in FORTH for the 8051
family, at
any rate.

The `7218 is pretty straight-forward, though.  It has four data lines for the
digit
values (0-9 plus A-F in one mode and 0-9 plus "-HELP" in another), plus one for
the
decimal point if you need it.  It has three address lines to select digits 0
thru 7,
and a low-active write line.

Just output your data and address logic and then toggle the _WRITE_ pin low.  As
I
recall, there was a small problem with timing.  Mostly because I didn't
understand
their verbiage in the specs.  As long as you adhered to a low _WRITE_ pulse of
400nS
or more -- and keep the data/address info stable for 125nS *after* the _WRITE_
strobe
goes *HIGH*, you'll have no problems.  Of course if you have a slower clock
speed
then this won't even be a concern.

The `7218 is such and expensive chip and is limited to only 8 LED's, I want to
design
a PIC-based controller to do more LED's at a cheaper price.  I am a consultant
working away from home right now (thus the delay in responding), but when I get
back
home (~late Feb.) I want to make a `54-based 7-segment LED controller which does
at
least 12 digits for a clock project that I have.  I could keep you posted on my
progress if you like.

Sorry I can't be of more help.  Good luck on your project.

Michael

When the way of the Tao is forgotten, kindness and ethics must be taught.
Men must learn to pretend to be wise and good.  --  Lao Tzu

1998\01\29@175208 by Andrew Mayo

flavicon
face
Driving LED displays from a PIC is quite straightforward, but devising a
minimum pincount approach needs a little more thought. I have
standardised on the following design, which I'll describe in text rather
than attempt a circuit diagram.

This design will drive 8 digits and can be easily extended to larger
digit counts. For 8 digits, the duty cycle is 1:8 which is about as far
as I like to go, brightness will suffer beyond this point.

1. Take one PIC of any sort, even the 12C509, and connect 3 I/O lines
from this to two cascaded 4094 CMOS shift registers (the lines are
clock,strobe and output enable). These devices are (a) widely available
and (b) very cheap. You now have a 16 bit serial latch connected to a
PIC. The top 8 bits (or the bottom, your choice) are digit select, and
you should set only one of these low at a time. The bottom 8 bits are
then the direct drive to the seven segment displays, which are common
anode types.

2. Although you could in theory drive a very low current display
directly from the 4094 lines, I would use a UDN2803 octal darlington,
again, a widely-available part. Connect the cathodes of the displays to
this device via 68 ohm resistors and wire all the cathodes across in
parallel to all 8 displays.

3. The anode of each display is connected to the collector of a small
PNP transistor which can switch around 200mA, such as a BC640 (or is it
a BC639, damn old age creeping up on me here) and all the emitters of
the 8 transistors go to +5V. The bases go via 2.2K resistors to the top
4094 shift register. Pulling a line low turns the transistor on.

4. You might want to connect a 10K resistor from output enable of the
shift registers to ground. This prevents the line floating around when
the whole thing is powered up.

5. To drive the display, shift in the digit select pattern followed by
the 7 segment pattern then pulse the strobe line high briefly. You must
take OE high to enable the outputs, normally this is done once you've
got your first data set up and clocked, so as to avoid flashes at power
up. After that, you can leave OE high permanently unless you want to
flash the display, for instance. Note that pulling OE low turns off all
the anode drivers, so you can only flash the entire display with this
approach.

6. This is not a minimum parts count approach but it is pretty cheap.
Normally the displays are the dominant cost - for an 8 display setup the
cost of the other parts is pretty negligible unless you can buy displays
real cheap. In addition, only 3 lines are used from the PIC. You can
share the clock and data lines for other purposes if needed since unless
you activate the strobe line, no data is latched to the display. I have
used that trick to share these lines out to an I2C EEPROM, for instance
(e.g if you share the data line only, you can wiggle it around with gay
abandon since neither the display or the EEPROM will do anything with it
unless you toggle the associated lines).

7. The 74HC/LS165 is a useful chip to do the reverse; if I want to read
n switches with only a couple of I/O lines, then this device will latch
them in parallel and serially clock them into the PIC. The PIC is
marvellous for serial I/O because it can do it so fast.

{Quote hidden}

1998\01\29@181232 by John Payson

picon face
> This design will drive 8 digits and can be easily extended to larger
> digit counts. For 8 digits, the duty cycle is 1:8 which is about as far
> as I like to go, brightness will suffer beyond this point.

An alternative design will drive 8 digits (no DP's) with eight port pins,
eight transistors, eight resistors, and no external chips.  The transistors
are wired as emitter-followers on the PIC's eight port pins and feed the
commons on the eight digits.  Each digit's segment wires connect to the seven
port pins that don't drive that digit's common.  The eight resistors, between
the port pins and the segments, limit the display current.

Assuming the displays are common-anode, you'd use NPN transistors.  To drive
a digit, you set its common wire HIGH, set the appropriate segment wires LOW,
and let the other lines FLOAT.  If you want decimal points, then you can get
9 digits with 9 I/O pins.

By the way, if you're driving fewer than eight digits, you'll only need one
transistor per display.  If you're driving only a few digits and you're using
low-current displays, you may be able to elide the transistors entirely.  In
this case, a common-cathode display drive may be preferred since the PICs are
a little better at sinking than sourcing.

1998\01\29@193741 by Morgan Olsson

picon face
At 17:02 1998-01-29 -0600, you wrote:
>Assuming the displays are common-anode, you'd use NPN transistors.  To drive
>a digit, you set its common wire HIGH, set the appropriate segment wires LOW,
>and let the other lines FLOAT.  If you want decimal points, then you can get
>9 digits with 9 I/O pins.
>
Nice and Smart!
We got to have different segment maps for each digit, but thats just
porgramming
/Morgan

Morgan Olsson, MORGANS REGLERTEKNIK, Sweden, ph: +46 (0)414 70741; fax 70331
-

1998\01\29@201152 by William Chops Westfield

face picon face
   >Assuming the displays are common-anode, you'd use NPN transistors.
   >To drive a digit, you set its common wire HIGH, set the appropriate
   >segment wires LOW, and let the other lines FLOAT.  If you want
   >decimal points, then you can get 9 digits with 9 I/O pins.

I like this a lot.  Very clever.  The kind of not-PIC-specific thing I find
very useful.  Are the weak pullups on a PIC too weak to interfere?  I
suppose you can still use the same 8 lines for switch inputs as well, for
certain cases, and certainly if you have fewer than 8 digits (4 digits and
a 4x4 switch array in 8 pins should be easy?)


   We got to have different segment maps for each digit..

I think careful use of rotate would be sufficient...

BillW

1998\01\29@201524 by John Payson

picon face
>
> At 17:02 1998-01-29 -0600, you wrote:
> >Assuming the displays are common-anode, you'd use NPN transistors.  To drive
> >a digit, you set its common wire HIGH, set the appropriate segment wires LOW,
> >and let the other lines FLOAT.  If you want decimal points, then you can get
> >9 digits with 9 I/O pins.
> >
> Nice and Smart!
> We got to have different segment maps for each digit, but thats just
> porgramming

It's not even that bad.  Assuming you have the data for each digit stored
in the same format in bits 0..6 of Digit0..Digit7, and assuming the digits
are wired correctly, then you can show them with:

ShowD0:
       rlf     Dig0,w
       andlw   0xFE
       tris    PORTB
       retlw   0

ShowD1:
       rlf     Dig1,w
       xorwf   Dig1,w
       andlw   0xFC
       xorwf   Dig1,w
       andlw   0xFD
       tris    PORTB
       retlw   0

ShowD2:
       rlf     Dig2,w
       xorwf   Dig2,w
       andlw   0xF8
       xorwf   Dig2,w
       andlw   0xFB
       tris    PORTB
       retlw   0

etc.  One routine for each digit, but all digits can use the same character
bitmaps.

1998\01\30@001443 by Andrew Mayo

flavicon
face
Very clever. I like that. Of course, you need the I/O lines, which for
some reason in my designs I'm always short of (sigh!). Also at 20mA per
segment you're close to the absolute maximum port current for the PIC,
since you'll be trying to source 140mA. I guess it will work fine for
smaller displays. Duty cycle is still 1:8, though.

The kind of apps I've been building tend to revolve around outdoor use
and quite large display panels where we're trying to eke out the last
drop of brightness from the displays.

{Quote hidden}

1998\01\30@012031 by Mike Keitz

picon face
On Thu, 29 Jan 1998 19:04:27 -0600 John Payson <supercat@spam@spamEraseMEMCS.NET> writes:
>>
>> At 17:02 1998-01-29 -0600, you wrote:
>> >Assuming the displays are common-anode, you'd use NPN transistors.
>To drive
>> >a digit, you set its common wire HIGH, set the appropriate segment
>wires LOW,
>> >and let the other lines FLOAT.  If you want decimal points, then
>you can get
>> >9 digits with 9 I/O pins.
>> >
>> Nice and Smart!
>> We got to have different segment maps for each digit, but thats just
>> porgramming


This is a very good idea.  The major problem is that most multi-digit LED
arrays are internally wired with all the segments connected together for
standard multiplexing.  They could not be used with this method.  If you
use seperate LED digit units, then they could be wired as needed.

This would also work well for a moderate number of discrete LEDs
connected to a small number of port pins.
>
>It's not even that bad.  Assuming you have the data for each digit
>stored

I think a general purpose routine could be used to adjust the data from
one table to display properly on all digits.  The 8 digits are:
0gfedcba - digit 7
g0fedcba - digit 6
...
gfedcba0 - digit 0

This data should be applied to the TRIS register (a 0 turns the segment
on, 1 turns it off by setting the pin to input mode).  The port register
would have data of the form 10000000, 01000000, etc.  The 1 bit turns on
the digit.  The 0 bits turn on segments as directed by the TRIS register.

I'll assume the single-one selection byte is already available.  The
problem is then to generate the TRIS register byte from a byte of the
form 0gfedcba.

This is actually easy to do.  Decrement the single-1 byte to form a mask:
01111111 - digit 7
....
00000000 - digit 0
Make a copy of the data shifted one to the left.  For mask bits which are
0, use the shifted data, for ones that are 1 use the original data.
Finally, force the digit drive bit (the 1 in the selector byte) to 0.

For example, consider digit 6.
Selector: 01000000
Mask:     00111111
Data:     0gfedcba
Data sh.  gfedcba0
Result    g0fedcba

I'll leave the writing of PIC code to do this for someone else.




_____________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

More... (looser matching)
- Last day of these posts
- In 1998 , 1999 only
- Today
- New search...