

TRS-80 Model 4p movie streaming from floppies - rocky1138
https://www.youtube.com/watch?v=_SkfJgMuERo&feature=youtu.be

======
rwg
Woo, nostalgia! My father's TRS-80 Model 4P was "my" first computer back in
the mid- to late-1980s, and I spent more time on it than an elementary school
kid probably should've. (Every time a new issue of Family Computing showed up
in our mailbox, I'd grab it and flip through it to see if whatever games were
in that issue had TRS-80 Model III or 4 versions...)

The "P" in "Model 4P" stood for "portable" — it was a modified Model 4 that
was shrunk down to something roughly the size of a sewing machine. It had a
handle on the back. Tandy's advertisements proudly proclaimed that it fit in
overhead bins on airplanes. I feel sorry for anyone who actually tried that.

As far as specs, the 4P had a 4 MHz Z-80, a minimum of 64 kB of RAM, one or
two single-sided double-density (SSDD) 5.25" floppy drives, and an 80x24 text
mode. There was an optional 640x200 monochrome graphics card, but it doesn't
look like this demo is using that. (I'd bet it's using the graphics characters
in the Model 4's 80x24 text mode — faster and less data to deal with.) If I'm
remembering correctly, the SSDD disks held ~180 kB, so there's less than half
a megabyte of data in play for this demo. I'm kind of amazed at the sound in
this demo — I'd never heard the speaker in my 4P ever make any noises other
than simple beeps.

Semi-related trivia: The "best" word processor for the Model 4, SuperSCRIPSIT,
was laid out on its program disk in such a way that the drive head's stepper
motor played something that almost sounded like a song when it was loading
itself off of the disk. Even ~30 years later, I can still hear SuperSCRIPSIT's
loading sound in my head...

~~~
danjayh
Seeing this on a 4mhz machine with such low specs makes me wonder what sort of
impractical demos might be possible on modern equipment that harbingers of
things to come 20-30 years. Can anyone think of anything off the top of their
heads?

~~~
erik
I remember Kevin Kelly writing a blog post (that I can't find now) where he
speculated that 30 years from now someone will come up with a clever way to
get strong AI running on today's hardware.

------
Igglyboo
Out of all things, hot swapping those floppies blows my mind the most.

~~~
gp2000
It wasn't _quite_ hot swapping as only one floppy can be active at a time.
Still, even with a whole 7.76 seconds I was worried I would crack under the
pressure.

~~~
kordless
What happens if you miss the swap window?

~~~
gp2000
The program will try to read from the drive and pop up an error message. Or
crash; the error checking isn't super robust.

It would mean starting over at a minimum. The program isn't very user
friendly, either. So for goodness sake don't lose concentration in the middle
of a movie.

Edit: s/loose/lose/ \- my typo nemesis

~~~
digi_owl
Next up, a Lego Mindstorm floppy swapper robot.

Crazy thing is that it would have far more smarts than the computer playing
the movie.

and now i wonder how hard it would be to build a monochrome display using
Mindstorm.

~~~
Igglyboo
How about a mechanical display built using mindstorm robots and individual
blocks as pixels? I bet you could get at least 1 frame a minute.

~~~
digi_owl
Whats the name of those mechanical notice boards that they used to have on
train stations? I guess a mechanism like that pr pixel could perhaps be a
option.

The number of synchronized mindstorm bricks and motors needed would likely be
a nightmare though.

------
nathell
Neat. One of the hack ideas that I never got around to implementing was back
in 2000 at the uni, when we had a bunch of 386SX's running in text mode as
email terminals: pipe a video (e.g. a TV stream) through aalib on a fast
server, and stream the resulting ASCII sequence, cleverly compressed, to the
terminals. The tricky part would be to cope with latency well enough to avoid
jerky playback (telnet wouldn't cut it).

------
agumonkey
I'd seriously watch tv shows on this kind of screens. I'm even searching for
old monochrome LCDs for a uber minimal retro laptop (think Grid Compass
[https://www.google.fr/search?q=grid+compass&tbm=isch](https://www.google.fr/search?q=grid+compass&tbm=isch)).

Thanks !

~~~
gp2000
With 320 x 200 resolution on the Grid Compass you might be able to use
conventional techniques to convert from color to monochrome.

At the 112 x 48 resolution I used, dither with or without error diffusion lost
most of the image. Well, it would have looked fine standing back 6 feet or two
metres or so, but what's the point if it looks bad at normal viewing disance?

I experimented with edge detection and GIMP filters like Posterize and
Cartoonify reasoning they would tend to bring out the rough shapes in the
image. I ended up doing some of it with Posterize and most with Cartoonify.
The result is acceptable enough, but I do think the "tunnel" effects could be
made to look a lot closer to the original.

~~~
agumonkey
I have a weird fetish for non realistic renderings, to the extreme (libcaca,
terminal dithering), the more constraints the better.

~~~
TheZenPsycho
My current obsession is finding a way to filter an image to display using the
sharp MZ-series character set:
[http://www.sharpmz.org/mz-700/codetable.htm](http://www.sharpmz.org/mz-700/codetable.htm)
Very interesting symbol table for its time. Japanese so, it's like they always
wanted emoji.

~~~
agumonkey
I know almost nothing, my desire came from reading this
[http://www.a1k0n.net/2011/07/20/donut-
math.html](http://www.a1k0n.net/2011/07/20/donut-math.html) . In case that
helps you.

3d rendering on ascii terminal, if you can, build and run the source (
[http://www.a1k0n.net/2006/09/15/obfuscated-c-
donut.html](http://www.a1k0n.net/2006/09/15/obfuscated-c-donut.html) ), it's
always pretty to see running.

------
madengr
That's awesome! I fondly remember my BASIC programming class on the TRS-80,
playing Telengard, and inserting 4 letter words into Tank Battle using the hex
editor. Not to mention my favorite Doctor and favorite episodes (Key to
Time).﻿

------
pgrote
Spectacular. I remember a friend's older brother wrote a speech synthesizer
for the machine.

------
davelnewton
I still have our old Model 4P, and it's functional (as well as our Model 1,
and my Model 100).

I hacked the _crap_ out of those machines; they taught me programming.
Assembly language routines in string space, anyone? VARPTR FTW.

------
LeoPanthera
"4p"? There are clearly more than 4 horizontal lines.

~~~
rocky1138
I thought the same. There are actually 48 lines. I think 4p is the model
number.

~~~
13
It's a TRS-80 Model 4P, rather than 4 lines of horizontal resolution. Fourth
version, and P means portable (in the loosest sense of the term). The actual
video would be 16 characters high by 64 characters wide.

------
martin1b
Very nice. Wondering was this a stock Model 4 or did it have any expansion to
allow it to pull this off? Impressive that the floppies could keep up. Was it
reading/displaying the floppies in real time or would it push the full floppy
to memory and start when the previous stream was empty?

BTW: Love the choice of video. Very cool.

~~~
gp2000
Completely stock. The floppy drives can crank out a byte every 32 microseconds
giving a theoretical maximum of 30.5 KB/second. Then you lose some to seeking
and other overhead. A full screen is 1 KB so 30 FPS is within reach (I'm only
doing 25). Actually, a graphics screen of 128 x 48 can be encoded in 768
bytes. Finding time to do the unpacking is the tricky part.

The floppy reading and and video/audio display are completely interleaved. The
program works in 32 microsecond steps with 13.5 microseconds dedicated to
reading the disk and 18.5 microseconds spent on graphics and audio update.
These two conceptional threads communicate via a 32 KB ring buffer.

You can hear the disk seek a few times before the display starts as it builds
up some buffer. I imagine a graphics display could be managed at a coarser
level of interleaving at the expense of floppy bandwidth. Audio, however,
needs constant servicing to work at all.

------
powertower
I thought that I was going to see a hacked TRS-80 steam a 4K movie.

