Robert Greenstreet asked about video capture software and then output on
a dot matrix printer.
I have seen this done in different ways.
In 1976 during the MU engineers week we used a black and white vidicon
TV scanner attached to our PDP-11/20 to scan visitors to the image
analysis lab. We had the person sit in a chair, hold very still, and
then scanned 3 times using a color wheel to filter the image. We then
both displayed the image on a RAMTEK display and printed out the image
on a continuous feed printer. We used 3 printers each with different
color ribbons. Interesting image if the person moved between colors.
There are Panasonic dot matrix printers that have a single ribbon that
is 3 colors. I think they print a line with one color than reprint
without advancing each of the other colors. I think it was slow and
noisy. I've seen these used in the mall, some little kiosk. They were
prints on t-shirts.
I think there was a special version Printronix printer that was also
sold by DEC that had multicolor ribbons that would print color. I think
it had a wire thread in the ribbon that told the printer which color was
being printed. Maybe DEC LXY11 or P300/P600.
Mike
>> >> So, to tie this in with the Zen Koan threads, what is the result of
>> >>
>> >> int i = 0;
>> >> printf("%d %d %d\n",i++,i++,i++);
>> >>
>> >
>> > IIRC it should output:
>> >
>> > 2 1 0
>>
>> Not on my system:
>>
>> 0 1 2
>>
>
>I checked after I sent the message and my system output "2 1 0"... I am
>using Watcom C 10.6 under QNX 4.25.
This is three modifications to the same Lvalue within the same sequence
interval - it is therefore possible for the increment operations to be
performed in any order, and even deferred to just before the next sequence
point, so results could be:
2 1 0
0 1 2 (or any other ordering of these numbers)
0 0 0
The only thing you can be *reasonably certain of* (see below) is that at least
one of the "results" must be < 1, at least two of the results must be < 2, and
all three results must be < 3 (since each operation must return the value prior
to the increment, and only one increment is associated with each operation).
So, although unlikely that the compiler would defer two operations and not
another, it is potentially possible that the "results" could also be 0 0 1,
0 0 2, 0 1 1 etc. (in any order).
Officially this type of code (that which modifies an Lvalue multiple times
within the same sequence interval) invokes "undefined behaviour", which
means that the compiler can do "anything" - although highly unlikely, the
compiler can happily return 6 6 6 in this case, and leave the value of i at
31415 (or anything else) ... and be performing in a perfectly legal sense
- undefined operation is exactly that. The function performed is not defined
by the standard.
On other words, it's not valid 'C' (although it is syntactically correct, and
most compilers will accept it without a diagnostic).
I think the OP's point has been completely missed (that a valid program is a
inherently very definitive and detailed specification).
Regards,
Dave
(In a way this is topical for me since my compiler is 17 years old this year)
--
dave04a (at) Dave Dunfield
dunfield (dot) Firmware development services & tools: www.dunfield.com
com Collector of vintage computing equipment:
http://www.parse.com/~ddunfield/museum/index.html
>From: "Paul Koning" <pkoning at equallogic.com>
>
>>>>>> "Bryan" == Bryan Pope <bpope at wordstock.com> writes:
>
> Bryan> And thusly Mike Loewen spake:
> >> On Fri, 13 May 2005, Bryan Pope wrote:
> >>
> >> >> So, to tie this in with the Zen Koan threads, what is the
> >> result of
> >> >>
> >> >> int i = 0; >> printf("%d %d %d\n",i++,i++,i++);
> >> >>
> >> >
> >> > IIRC it should output:
> >> >
> >> > 2 1 0
> >>
> >> Not on my system:
> >>
> >> 0 1 2
> >>
>
> Bryan> I checked after I sent the message and my system output "2 1
> Bryan> 0"... I am using Watcom C 10.6 under QNX 4.25.
>
>I think the answer is that it should display 3 numbers, each in the
>range 0 to 2.
>
>GCC produces 2 1 0 on x86 and 0 1 2 on MIPS.
Hi
I can't help but put another plug in here. This is
why I like languages like Forth and LISP that specify
explicit execution order and don't leave it to some compiler
writer to arbitrarily choose.
It looks like spc's test is part of a compliance test.
Dwight
A couple years ago I picked up a modified kaypro II at one of the
monthly the livermore, california swap meets. Here is my best
description of it.
Start with a Kaypro II.
It has a modification to run at 5.0 MHz as well as the standard 2.5 MHz.
One of the floppies has been replaced with a hard drive, partitioned as
drives A/B/C/D. The remaining floppy is drive E. I have the original
floppy that was displaced by the hard drive.
It has been modified to have a fan.
It has a RAM disk installed in it as well.
It sports the Advent Turborom.
The only problem with it is that partition A has some bad sectors. I
when you boot or any time you do a dir operation on drive A, you get a
message about a bad sector. In fact, IIRC, you get it nine times. Then
you get the A0> prompt and everything else is fine. Drives B/C/D are
OK. Drive A, however, is missing any kind of program (such as the stock
CP/M utilities like STAT, PIP, etc) since the dir is unreadable. Drives
B/C/D have a few programs and files, but nothing very interesting.
In those past two years, I've replaced the screetching fan (which cost
me as much as the machine did originally!), and picked up a number of
kaypro manuals here and there. Don Maslin, RIP, sent me a teledisk
image of a kaypro boot disk, which I was able to regenerate and indeed,
I can run programs off of the floppy.
What I'm missing is the time and desire to figure out how to get the A
drive in a runnable state. After two years of doing not much with it,
it is time for it to find a more caring owner.
The machine and the original 2nd floppy and the manuals and boot disk
are free to anybody who cares to come and pick them up in Austin, Texas.
I have pictures of it and its innards if you want to preview it.
>
>Subject: Re: 'goto" gone from computer languages or is it!
> From: "Dwight K. Elvey" <dwight.elvey at amd.com>
> Date: Thu, 12 May 2005 10:37:19 -0700 (PDT)
> To: cctalk at classiccmp.org
>
>Hi
> I'd suspect that most didn't like the goto
>because it becomes hard to implement in a structured
>language. Things like random nesting of subroutines and
>then goto's to various points can make things really
>messed up. There are also the problems of allocated
>memory. Do you keep it or clean it?
Often reading it is the challenge. Goto within a subroutine
usually reads fine. Its when there are subs within Loop/whiles
get mixed with gotos. It's more about readability. Old basic
was bad as often people were also cramped for space (especially
interpreted basics.).
> Many think of goto as being similar to jmp in assembly.
It is.
>Actually in a high level language, it is more complicated
>than that. The language tend to lead one to think they
>can use it just anywhere. In assembly, you are more
>conscious ( or should be ) of thing like stack depth
>and allocated space, since you explicitly handle these
>things.
You seem to confuse JMP/Jump/goto with Call/JMS/GOSUB as only
the latter affects the stack (in asm).
In assembly you often have jumps as a result of branch conditions
In some cpus the logic is actully skip next instuction on condition.
in basic the conditional is IF xx then Goto YYYY (some allow operations.).
The computed goto is only a replacement for SWITCH or IF THEN trees
and a improvement over the latter.
In the end GOTO is not bad, it is random stringy pasta code that can
result from misuse.
Allison
> I'm almost certain that my Domesday setup (which only does
> video overlay on RGB outputs) wouldn't work with my cheap
> 14" TV via the SCART connector when I tried it.
It could be it needs a signal on the switch input to select
RGB as opposed to composite in. I remember having to do this
on an Amiga RGB to scart lead for my brother's TV.
Lee.
.
___________________________________________________________
Yahoo! Messenger - want a free and easy way to contact your friends online? http://uk.messenger.yahoo.com
In 1981, down by Fisherman's wharf (SFO), a friend and I got our "picture"
taken via video capture software. The image was printed out via a
"commercial" quality dot matrix printer (it was capable of fairly large
sized print outs). From a distance, the "picture" quality was striking.
What hardware and software were used for this process? Does anything
similar currently exist?
Thanks,
Robert Greenstreet
I absolutely concur with John's conclusion:
Academia, the elites or otherwise, saw the 'horrors' of goto and declared it
an evil that was to be expunged from any language. The toolbox was
diminished by this action in my humble opinion. Yet for us QBasic guys we
still employ it. Boy does it get one out of a jam. Mimics real life doesn't
it?
Computing forever!
Murray
On Wed, 11 May 2005, John Foust wrote:
>> Speaking as that voice from the future, reading ALGOL makes
>> me say "You don't want to do it that way." GOTO had not yet
>> been exorcised. Did I see a computed goto, where the expression
>> calculates the label? Eeek. Certainly it was a step forward,
>> but we've also learned a lot since then. When people complain
>> that computer languages haven't changed much, remind them
>> of the stuff that's fallen out of recommended practice.
I miss GOTO. It was unnecessarily expunged from the programmmer's toolbox
by elitist academics.
> Ya know, I gotta disagree... and this is coming from a programmer
> who made liberal use of the GOTO statement.
...
> Not that I look down on programmers who use it, not in the least.
> But for me, I'm fairly happy it's less common nowdays.
Programming mostly in assembler I couldn't avoid GOTO, relative or
absolute, if I wanted to so it's fortunate that I don't. Computed
GOTOs are not only 'not a bad thing' they are a very usefull tool at
this level, condensing long lists of compares to a simple calculation
and table.
To proscribe the use of any particular construct within a language
wastes effort when that constuct could provide a solution, it's up
to the programmer to use all of a language appropriately.
Lee.
.
___________________________________________________________
Yahoo! Messenger - want a free and easy way to contact your friends online? http://uk.messenger.yahoo.com
No, I can not remember those quotes either.
Must have been something else, Paul.
For what I remember, BEATHE looked a bit like PASCAL; all the
statements ended with a semicolon (;).
Admitted, memories are vague after 30 years not using BEATHE :~)
but I would certainly remember something as idiot as a quote for
every letter of a reserved word of the language.
- Henk, PA8PDP.
On Wed, 11 May 2005, Paul Koning wrote:
> I only used BEATHE briefly; my recollection is that it used quotes to
> mark ALGOL keywords rather than reserved words, i.e.,
> 'i'f i=1 't'h'e'n ...
> instead of
> if i=1 then ...
>
> which added no real value but did use up a lot more cards and
> finger-power...
You have GOT to be kidding. Who's the genius that came up with that
scheme?
--
Sellam Ismail Vintage Computer
Festival