EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Recommendation for Code/Text Editor?

Started by David T. Ashley May 23, 2005
On Thu, 26 May 2005 16:01:51 GMT, Tauno Voipio
<tauno.voipio@iki.fi.NOSPAM.invalid> wrote:

>CBFalconer wrote: >> Jonathan Kirwan wrote: >> >> ... snip ... >> >>>If anyone has an HP 21MX or a 2116 processor floating around that >>>may still work.... It would be fun to have. I wonder if any of >>>these systems are still floating about. Great teaching tool for >>>those interested in finding out the hard way why stacks are so >>>nice to have (the 2114/2116 didn't have stacks and stored the >>>return address in the first location of the subroutine.) >> > >Why not move on to PDP-8's: the page size is smaller (128 words) >and the instruction set is minimal, and the whole thing uses >just 12 bits. > >Been there - used that. >(Also Honeywell DDP-312, with pretty similar limitations.)
Because I actually love the front panel on the HP and do NOT love the front panel on the PDP-8. I've programmed the 8, as well. But I like the HP. Would like to have one to play with, some day. Jon
"Kevin D. Quitt" wrote:
> > On Wed, 25 May 2005 16:17:51 -0700, Zonn <news-zonn@zektor.AOL.com> wrote: > > "copy con: main.exe" (using the Alt-Key combinations for binary encoding...) > > I can't resist. You can copy con hello.com and it will work. Note, there are no tabs, > and that all lines start either with spaces or capital 'C', or with nothing. Line > termination is <CR><LF>. > > ---------------8<-------------- > > (*O/*_/ > Cu #%* )pop mark/CuG 4 def/# 2 def%%%%@@P[TX---P\P_SXPY!Ex(mx2ex("SX!Ex4P)Ex= > CuG #%* *+Ex= > CuG #%*------------------------------------------------------------------*+Ex= > CuG #%* POLYGLOT - a program in seven languages 15 February 1991 *+Ex= > CuG #%* *+Ex= > CuG #%* Written by Kevin Bungard, Peter Lisle, and Chris Tham *+Ex= > CuG #%* *+Ex= > CuG #%* We have successfully run this program using the following: *+Ex= > CuG #%* ANSI COBOL: MicroFocus COBOL85 (not COBOL74) *+Ex= > CuG #%* ISO Pascal: Turbo Pascal (DOS & Mac), Unix PC, *+Ex= > CuG #%* AIX VS Pascal *+Ex= > CuG #%* ANSI Fortran: Unix f77, AIX VS Fortran *+Ex= > CuG #%* ANSI C (lint free): Microsoft C, Unix CC, GCC, Turbo C++, *+Ex= > CuG #%* Think C (Mac) *+Ex= > CuG #%* PostScript: GoScript, HP/Adobe cartridge, *+Ex= > CuG #%* Apple LaserWriter *+Ex= > CuG #%* Shell script: gnu bash, sh (SysV, BSD, MKS), ksh *+Ex= > CuG #%* 8086 machine language: MS-DOS 2.00, 3.03, 4.01, 5.00 beta *+Ex= > CuG #%* VPix & DOS Merge (under unix) *+Ex= > CuG #%* SoftPC (on a Mac), MKS shell *+Ex= > CuG #%* *+Ex= > CuG #%* Usage: *+Ex= > CuG #%* 1. Rename this file to polyglot.[cob|pas|f77|c|ps|sh|com] *+Ex= > CuG #%* 2. Compile and/or run with appropriate compiler and *+Ex= > CuG #%* operating system *+Ex= > CuG #%* *+Ex= > CuG #%* Notes: *+Ex= > CuG #%* 1. We have attempted to use only standard language features. *+Ex= > CuG #%* Without the -traditional flag gcc will issue a warning. *+Ex= > CuG #%* *+Ex= > CuG #%* 2. This text is a comment block in all seven languages. *+Ex= > CuG #%* *+Ex= > CuG #%* 3. When run as a .COM file with MS-DOS it makes certain *+Ex= > CuG #%* (not unreasonable) assumptions about the contents of *+Ex= > CuG #%* the registers. *+Ex= > CuG #%* *+Ex= > CuG #%* 4. When transfering from Unix to DOS make sure that a LF *+Ex= > CuG #%* is correctly translated into a CR/LF. *+Ex= > CuG #%* *+Ex= > CuG #%* Please mail any comments, corrections or additions to *+Ex= > CuG #%* peril@extro.ucc.su.oz.au *+Ex= > CuG #%* *+Ex= > CuG #%*------------------------------------------------------------------*QuZ= > CuG #%* *+Ex= > CuG #%*!Mx)ExQX4ZPZ4SP5n#5X!)Ex+ExPQXH,B+ExP[-9Z-9Z)GA(W@'UTTER_XYZZY'CPK*+ > CuG #(* *( > C # */); /*( > C # *) program polyglot (output); (*+ > C # identification division. > C # program-id. polyglot. > C # > C # data division. > C # procedure division. > C # > C # * ))cleartomark /Bookman-Demi findfont 36 scalefont setfont ( > C # * ( > C # > C # * hello polyglots$ > C # main. > C # perform > C * ) 2>_$$; echo "hello polyglots"; rm _$$; exit > print > C stop run. > -*, 'hello polyglots' > C > C print. > C display "hello polyglots". ( > C */ int i; /* > C */ main () { /* > C */ i=printf ("hello polyglots\n"); O= &i; return *O; /* > C *) (* > C *) begin (* > C *) writeln ('hello polyglots'); (* > C *) (* ) > C * ) pop 60 360 ( > C * ) pop moveto (hello polyglots) show ( > C * ) pop showpage (( > C *) > end .(* ) > C)pop% program polyglot. *){*/} > ---------------8<--------------
and, for amusement: [1] c:\c\polyglot>uncmntc <polyglot.c | indent (*O); int i; main() { i = printf("hello polyglots\n"); O = &i; return *O; } which is no longer valid under C99, due to implicit int. It also fails to #include <stdio.h> and returns an implementation defined status. Still a heroic accomplishment. -- Some informative links: news:news.announce.newusers http://www.geocities.com/nnqweb/ http://www.catb.org/~esr/faqs/smart-questions.html http://www.caliburn.nl/topposting.html http://www.netmeister.org/news/learn2quote.html
Interesting, I'll have to try compiling that.

By the way, Turbo Pascal is NOT ISO Pascal, as the comments state.

Kevin D. Quitt wrote:
> On Wed, 25 May 2005 16:17:51 -0700, Zonn <news-zonn@zektor.AOL.com> wrote: > >> "copy con: main.exe" (using the Alt-Key combinations for binary encoding...) > > > I can't resist. You can copy con hello.com and it will work. Note, there are no tabs, > and that all lines start either with spaces or capital 'C', or with nothing. Line > termination is <CR><LF>. > > ---------------8<-------------- > > > (*O/*_/ > Cu #%* )pop mark/CuG 4 def/# 2 def%%%%@@P[TX---P\P_SXPY!Ex(mx2ex("SX!Ex4P)Ex= > CuG #%* *+Ex= > CuG #%*------------------------------------------------------------------*+Ex= > CuG #%* POLYGLOT - a program in seven languages 15 February 1991 *+Ex= > CuG #%* *+Ex= > CuG #%* Written by Kevin Bungard, Peter Lisle, and Chris Tham *+Ex= > CuG #%* *+Ex= > CuG #%* We have successfully run this program using the following: *+Ex= > CuG #%* ANSI COBOL: MicroFocus COBOL85 (not COBOL74) *+Ex= > CuG #%* ISO Pascal: Turbo Pascal (DOS & Mac), Unix PC, *+Ex= > CuG #%* AIX VS Pascal *+Ex= > CuG #%* ANSI Fortran: Unix f77, AIX VS Fortran *+Ex= > CuG #%* ANSI C (lint free): Microsoft C, Unix CC, GCC, Turbo C++, *+Ex= > CuG #%* Think C (Mac) *+Ex= > CuG #%* PostScript: GoScript, HP/Adobe cartridge, *+Ex= > CuG #%* Apple LaserWriter *+Ex= > CuG #%* Shell script: gnu bash, sh (SysV, BSD, MKS), ksh *+Ex= > CuG #%* 8086 machine language: MS-DOS 2.00, 3.03, 4.01, 5.00 beta *+Ex= > CuG #%* VPix & DOS Merge (under unix) *+Ex= > CuG #%* SoftPC (on a Mac), MKS shell *+Ex= > CuG #%* *+Ex= > CuG #%* Usage: *+Ex= > CuG #%* 1. Rename this file to polyglot.[cob|pas|f77|c|ps|sh|com] *+Ex= > CuG #%* 2. Compile and/or run with appropriate compiler and *+Ex= > CuG #%* operating system *+Ex= > CuG #%* *+Ex= > CuG #%* Notes: *+Ex= > CuG #%* 1. We have attempted to use only standard language features. *+Ex= > CuG #%* Without the -traditional flag gcc will issue a warning. *+Ex= > CuG #%* *+Ex= > CuG #%* 2. This text is a comment block in all seven languages. *+Ex= > CuG #%* *+Ex= > CuG #%* 3. When run as a .COM file with MS-DOS it makes certain *+Ex= > CuG #%* (not unreasonable) assumptions about the contents of *+Ex= > CuG #%* the registers. *+Ex= > CuG #%* *+Ex= > CuG #%* 4. When transfering from Unix to DOS make sure that a LF *+Ex= > CuG #%* is correctly translated into a CR/LF. *+Ex= > CuG #%* *+Ex= > CuG #%* Please mail any comments, corrections or additions to *+Ex= > CuG #%* peril@extro.ucc.su.oz.au *+Ex= > CuG #%* *+Ex= > CuG #%*------------------------------------------------------------------*QuZ= > CuG #%* *+Ex= > CuG #%*!Mx)ExQX4ZPZ4SP5n#5X!)Ex+ExPQXH,B+ExP[-9Z-9Z)GA(W@'UTTER_XYZZY'CPK*+ > CuG #(* *( > C # */); /*( > C # *) program polyglot (output); (*+ > C # identification division. > C # program-id. polyglot. > C # > C # data division. > C # procedure division. > C # > C # * ))cleartomark /Bookman-Demi findfont 36 scalefont setfont ( > C # * ( > C # > C # * hello polyglots$ > C # main. > C # perform > C * ) 2>_$$; echo "hello polyglots"; rm _$$; exit > print > C stop run. > -*, 'hello polyglots' > C > C print. > C display "hello polyglots". ( > C */ int i; /* > C */ main () { /* > C */ i=printf ("hello polyglots\n"); O= &i; return *O; /* > C *) (* > C *) begin (* > C *) writeln ('hello polyglots'); (* > C *) (* ) > C * ) pop 60 360 ( > C * ) pop moveto (hello polyglots) show ( > C * ) pop showpage (( > C *) > end .(* ) > C)pop% program polyglot. *){*/} > ---------------8<-------------- >
On Thu, 26 May 2005 18:43:01 GMT, CBFalconer <cbfalconer@yahoo.com> wrote:
>which is no longer valid under C99, due to implicit int. It also >fails to #include <stdio.h> and returns an implementation defined >status.
I'm mortified. I published the uncorrected version. It's trivial to fix the C portion (using puts instead of printf, etc.).
>Still a heroic accomplishment.
Wish I had anything to do with it. On Thu, 26 May 2005 12:12:05 -0700, Scott Moore <samiamsansspam@Sun.COM> wrote:
>By the way, Turbo Pascal is NOT ISO Pascal, as the comments state.
Was it in 1991? I'll add a disclaimer. -- _ Kevin D. Quitt Kevin@Quitt.net 96.37% of all statistics are made up
Scott Moore wrote:
> > Interesting, I'll have to try compiling that. > > By the way, Turbo Pascal is NOT ISO Pascal, as the comments state. >
PascalP handles it: [1] c:\c\polyglot>pascalp polyglot.c PASCALP (pasctext, pasclist, prr, ef, output) [parm] V 3.1.9T 47000 0:d CuG #(* **** ^116 116. ** WARNING ** possible unclosed earlier comment NO. ERRORS=0 WARNINGS=1 Program size(pcode bytes)=42 and generates the following code: [1] c:\c\polyglot>type polyglot.tic .PGM POLYGLOT .MAI POLYGLOT POLYGLOT: .ENT 1,@4 .PCL 74 .LCA 'hello polyglots' .LDCI 15 .LDCI 15 .LDOA -12 .CSP WRS. .PAR 4 .LDOA -12 .CSP WLN. .PAR 1 .PCL 80 .STP @4=0 END -- Some informative links: news:news.announce.newusers http://www.geocities.com/nnqweb/ http://www.catb.org/~esr/faqs/smart-questions.html http://www.caliburn.nl/topposting.html http://www.netmeister.org/news/learn2quote.html
"Kevin D. Quitt" wrote:
> Scott Moore <samiamsansspam@Sun.COM> wrote: > >> By the way, Turbo Pascal is NOT ISO Pascal, as the comments state. > > Was it in 1991? I'll add a disclaimer.
But PascalP is ISO standard, and accepts it as valid. -- Some informative links: news:news.announce.newusers http://www.geocities.com/nnqweb/ http://www.catb.org/~esr/faqs/smart-questions.html http://www.caliburn.nl/topposting.html http://www.netmeister.org/news/learn2quote.html
Jonathan Kirwan wrote:

[lots of amusing lines edited out]

> > Regarding your comment about modems, I really did whistle into the > acoustic couplers to test communications! Honestly! >
I believe you. I recall an old mate from my company (even older than I) when, a few years ago, he was listening to a bicycle race program on the radio. It was the Spanish Tour. Then, suddenly, when the ciclysts where aproaching a town he already knew very well, a curious interference became audible and he jumped over his seat: - Hey! That's a [device he have programmed many years ago]! - How do you know it? It could be anything... - No, no, no! It IS a [device he have programmed many years ago]! It is calling the SCADA through its V.21 modem! I know the exact sequence of piooos and wooois! He also used to whistle into the couplers to call his beloved children, when testing a new communicaction link...

Kevin D. Quitt wrote:
> On Thu, 26 May 2005 18:43:01 GMT, CBFalconer <cbfalconer@yahoo.com> wrote: > >>which is no longer valid under C99, due to implicit int. It also >>fails to #include <stdio.h> and returns an implementation defined >>status. > > > I'm mortified. I published the uncorrected version. It's trivial to fix the C > portion (using puts instead of printf, etc.). > > > >>Still a heroic accomplishment. > > > Wish I had anything to do with it. > > > On Thu, 26 May 2005 12:12:05 -0700, Scott Moore <samiamsansspam@Sun.COM> wrote: > >>By the way, Turbo Pascal is NOT ISO Pascal, as the comments state. > > > Was it in 1991? I'll add a disclaimer. >
Nope, it never was.
CBFalconer wrote:
> Scott Moore wrote: > >>Interesting, I'll have to try compiling that. >> >>By the way, Turbo Pascal is NOT ISO Pascal, as the comments state. >> > > > PascalP handles it: >
I thought you lost PascalP ?
"Ignacio G.T." wrote:
> Jonathan Kirwan wrote: > > [lots of amusing lines edited out] > >> Regarding your comment about modems, I really did whistle into >> the acoustic couplers to test communications! Honestly! > > I believe you. I recall an old mate from my company (even older > than I) when, a few years ago, he was listening to a bicycle race > program on the radio. It was the Spanish Tour. Then, suddenly, > when the ciclysts where aproaching a town he already knew very > well, a curious interference became audible and he jumped over > his seat: > > - Hey! That's a [device he have programmed many years ago]! > - How do you know it? It could be anything... > - No, no, no! It IS a [device he have programmed many years ago]! > It is calling the SCADA through its V.21 modem! I know the exact > sequence of piooos and wooois! > > He also used to whistle into the couplers to call his beloved > children, when testing a new communicaction link...
Back around 1970 we had contests to see who could fool which DTMF (touch-tone) dialling decoders, by creating various wierd howls and disgusting sounds. It was quite easy to cause false hits on the expensive multiple band-pass filter types of the day. I was developing a one-chip version for our own PBX system at the time, which did much better. My system split the incoming sound into high and low bands, and then created zero crossings through two Schmidt triggers. The trigger hysteresis was controlled by a peak rectifier in the other band, thus controlling relative volumes, and that was the end of analog processing. The rest depended on moving averages on the period measurements, and was implementable in the (cheapest at the time) P-channel dynamic MOS logic. The breadboards were built out of the brand new CMOS logic family. -- Some informative links: news:news.announce.newusers http://www.geocities.com/nnqweb/ http://www.catb.org/~esr/faqs/smart-questions.html http://www.caliburn.nl/topposting.html http://www.netmeister.org/news/learn2quote.html

Memfault Beyond the Launch