mkovach 2 years ago

Oh by, Trash 80s! I learned FORTRAN programming on a collection of TRS-80 Model III/IV in high school. (Yes, for the programming class we were not allowed to use basic, so we used FORTRAN).

Seen my old computer/math teacher last summer, he now owns a brewery he bought in retirement, and we laughed about how things have changed in such a relative short period of time. He was excited, though, to find out that I did work as a FORTRAN programmer for a period of time after college. He is pretty sure I was the only of his former students that every wrote a line of FORTRAN after those classes.

I have some old images made from some of my old school floppies. I'll have to give this emulator a try, pop up to the brewery with a laptop, and let my old teacher look over my shoulder as I debug code, again.

  • musicale 2 years ago

    Seems a bit mean-spirited to call these systems trash - they look like cool 8 and 16-bit systems, and they can run their own custom OS (and other software, presumably including games?) as well as standard environments like CP/M and Unix/Xenix.

    After all, this is HN where we love classic microprocessors like the 6809, Z-80 and 68000. (And CP/M.)

    Imagine if Radio Shack (or Commodore, Atari, etc.) were still a successful computer company in the 2020s like their competitor Apple.

    • mkovach 2 years ago

      Trash 80s were a nickname based on the TRS (Tandy Radio Shack) name. Nothing bad about them. In fact, the TRS Model III - 102, that I still own is still used. (And has a basic written by Bill Gates).

      They were great computers!

    • FullyFunctional 2 years ago

      I'm not sure the OP meant it as negatively as it seems. The "trash 80" seems to be a common enough nickname for these that even I knew it, never having even seen one until recently.

      Adrian's Digital Basement has featured lot of videos on restoration of many TRS-80 versions. Seemed like a nice machine for its time.

      • mkovach 2 years ago

        Yep, TRS = Trash. It was a nickname. They are pretty good computers. I still use my TRS Model 102 (portable computer, includes basic and a few decent apps).

        Tandy Radio Shack (TRS) make some decent computers. My first IBM compatible PC was a Tandy 1000. Used that through-out college.

        Good stuff that got stuck with a bad nickname.

        • gp2000 2 years ago

          It really was a term of derision. Sure, some may have used it affectionately and even more might do so now, but by and large it wasn't used in kindness.

          To cite a reference, the first issue of "80 Microcomputing", a magazine dedicated to the TRS-80 line of computers. See the second paragraph of Wayne Green's editorial "80 Remarks" on page 8:

          https://archive.org/details/80-microcomputing-magazine-1980-...

          • mkovach 2 years ago

            We'll agree to disagree then, but remember nothing is set in stone. That is an article from 1980.

            I spent 10 years working at Radio Shack, and the TRS was typically referred to as 'trash' but more people I spoke with.

            Of course then, plenty of people working for the company could have been opening trashing it in front of corporate.

graton 2 years ago

Fond memories. My first computer was a TRS-80 Model I that my aunt gave me after their company upgraded to a Model 3. I did a lot of programming in BASIC and even did assembly language programming. To this day I still remember that calling 01C9H would clear the screen :)

thanatos519 2 years ago

My highest level of completed computer science education is the Radio Shack TRS-80 BASIC programming certificate!

Starwatcher2001 2 years ago

That looks great. Bookmarked to have a closer look. I cut my teeth on a Model 1 Level 2 in 1979 and have been coding ever since. Still have my original working one, a spare and a model III in the attic. Probably a decade since I switched them on though :-(

The manuals were excellent and even showed a short machine code program to white the whole screen. Having used the "poke" statement in basic to do the same thing (which took around 2 minutes), I was blown away that machine code was almost instant. I taught myself assembler with the Zaks Z80 book

Did lots of hacks to the hardware, lower/case, speech synthesiser, motor control, added a parallel EPROM to hack the ROM code. So many memories.

zxcvbn4038 2 years ago

Very nice, I spent a lot of time at Radio Shack playing 13 Ghosts on TRS-80 model 3s or 4s. There was one sales guy that would always kick me out because he thought I was too rough on the space bar. Eventually I went with a TRS-80 Color Computer and taught myself to code. Best money I ever spent.

  • geoelectric 2 years ago

    My parents bought me a CoCo when I was a kid—couldn’t afford the C64 but the clearanced TI99s were sold out (dodged that bullet!)

    My first programming languages were BASIC, 6809E assembly, and BASIC09. C would be there too but it required a second disk drive for the standard library and I didn’t have one.

    Good thing the games mostly sucked on that platform. If they’d been any better I might not have learned to program.

    • kasajian 2 years ago

      CoCo was my first computer, too. The manual taught me to program. There were listing in the back pages with BASIC code with DATA statements that were the op-codes to the 6809E machine language. It did funky stuff to get you into High Resolution graphics. I remember buying the Assembly Language cartridge as soon as it came out. Prior to that I was hand-coding machine code manually, using a the 6800 instruction set which similar because that's all I could find at the local electronics store. Some of the opcodes were not the same.. and couldn't figure out why it wouldn't work for days. Hell of a way to learn how to code.

  • TheSkyHasEyes 2 years ago

    > 13 Ghosts

    That game was ahead of its time.

musicale 2 years ago

Semi-OT but from the same site: I always wondered if you could race the beam and/or interlace on older microcomputers. Apparently you can:

http://48k.ca/128x192.html

http://48k.ca/ball.html

https://github.com/hallorant/bigmit/tree/master/ta19demo

[Apparently the hardware was modified slightly with an extra wire/signal for vertical retrace detection, and this modification is supported in the emulator as well.]

  • gp2000 2 years ago

    The version for the Model 3 runs on stock hardware as it shipped in 1980. It has a interrupt that fires every second vblank. Thus it is possible to get in sync with the beam but to remain in sync the program must keep track of every cycle it executes.

    The Model 1 version does require a hardware mod to get access to vsync.

    I wrote those programs and couldn't have done it without something of a virtuous circle of trying stuff on the real hardware and then improving the emulator to more accurately model the hardware and so on.

    • musicale 2 years ago

      Nice! I hope we see more demoscene stuff on this interesting and underrated hardware. ;-)

goodevans 2 years ago

I'll always remember a joke I read in an Amstrad user magazine back in the 80s: How many TRS-80 users does it take to change a light bulb? Both of them!

aflorez 2 years ago

There's also a JS version which I slightly modified to make a retro visualisation for some music (work in progress ;P) http://lnrtw.cz/kyyb/ I've never owned a TRS-80 but I enjoyed using this a lot, completely different way of thinking about coding (for a person that started with modern languages like Python)

rbanffy 2 years ago

I couldn’t find a Git link. Is this proprietary?

  • Narishma 2 years ago

    Yes. Most of the good TRS-80 emulators I've seen are proprietary. There's xtrs in the Debian repos but last time I tried it, it was pretty bare bones and not very accurate.

    Edit: There's also MAME of course but it's a bit clunky to use.

    • genpfault 2 years ago
      • Narishma 2 years ago

        Not a TRS-80 emulator.

        • gp2000 2 years ago

          It is in the sense that Radio Shack put TRS-80 as a brand on all of their computers up until the mid eighties when they started to move into PC clones. Xroar emulates the Color Computer which was known as the "TRS-80 Color Computer".

          Though, to be sure, most often TRS-80 is used to refer to the Model 1, 3, 4 line. But plenty of people will think of the Color Computer when they hear TRS-80. Or, possibly, their line of rebranded pocket and laptop computers like the TRS-80 Model 100 or TRS-80 Pocket Computer 1.

    • rbanffy 2 years ago

      > Edit: There's also MAME of course but it's a bit clunky to use.

      I like the way MAME strives for accuracy above all else. I often wonder if it wouldn't be possible to compile MAME's source into some HDL and burn drivers into programmable hardware on demand.

      • musicale 2 years ago

        > I often wonder if it wouldn't be possible to compile MAME's source into some HDL and burn drivers into programmable hardware on demand.

        Like MiSTer FPGA? It seems to provide FPGA implementations for a number of vintage microcomputer and game systems:

        https://mister-devel.github.io/MkDocs_MiSTer/

        • rbanffy 2 years ago

          Kind of yes, but the MAME code is very structured with lots of macros and looks extremely declarative. Once you have HDL versions of the most common components (such as CPUs, CRTCs, memory, etc) most of the code is declaring how these are connected, what RAM and ROM goes where. To translate that kind of code to an HDL wouldn't be impossible.

          • musicale 2 years ago

            Using an actual HDL implementation to begin with has been shown to be a very effective approach, and that's basically what MiSTer FPGA has done with great success. However, MAME probably supports more emulated platforms/systems (and some MiSTer platforms may not be supported by MAME.)

            That being said, what I think you might be suggesting is that the declarative structural and signaling specification (and possibly data types, etc.) could be shared between software emulators like MAME and FPGA emulators like MiSTer FPGA.

            I like the way Migen (for example) acts as an integration platform for multiple hardware models and makes it easier to specify a system from existing components.

pjmorris 2 years ago

10 PRINT "TRS-80!"

20 GOTO 10

... a variation of what I might've typed on the TRS-80 Model I on display at the Radio Shack at the mall back in the day.

I owned one at one point, but had a hard time saving and restoring files on the cassette tape drive. I don't miss the frustration, but I am grateful for the world it inducted me into.

  • oliviersca 2 years ago

    Or better: 10 PRINT "TRS-80! ";

    To get a very nice scrolling effect ! ;-)

  • Tempest1981 2 years ago

    And it could run that all day, without overheating, with no fan!