Breakdown – A New TRS-80 Game

Breakdown is a game for the TRS-80 Microcomputer. It should run on any TRS-80 Model I, III or 4 with 16K or more of RAM. Breakdown is inspired by the classic video game Breakout and to a lesser degree Tetris. The goal of the game is to score as many points as possible by breaking as many bricks as possible with a bouncing ball while trying to keep the ball in play and avoiding falling bricks.

Breakdown Title Screen

Breakdown Game Screen








The game is a work in progress. There are currently 8 different levels in the game.  If you complete all the levels then the game ends.  My thought is that there will be many more different levels added to the game.  Each level takes 80 bytes to define, so we could realistically easily have 100 levels on a 48K system.

Breakdown is freeware and you are free to use it for personal use.

Download the full package including instructions here

Download Breakdown

or stream Breakdown from your mobile phone to your TRS-80 using the cassette port here

Breakdown Cassette WAV (Low Speed 500 baud)

  1. Connect mobile device to the TRS-80 cassette port
  2. Type “SYSTEM”
  3. At *? prompt type “BREAKD”
  4. Click WAV link above to start playing WAV audio
  5. At *? prompt type “/”

Breakdown is written in Z-80 assembly. It was developed using George Phillip’s zmac cross assembler.

Breakdown in action

I originally wanted to release Breakdown as a real packaged software product, with a paper manual and pre-recorded cassette tape. This was how many TRS-80 games were sold back in the day. However, at this time, I am just too busy to go through the effort of creating the manual and tapes at the level of quality that I would require. Maybe I will do this for a future game.

Proposed Retro Packaging for Breakdown

Let me know how the game works for you and what features you would like to see added.

12 thoughts on “Breakdown – A New TRS-80 Game

  1. Nik Brisevac

    Hi Peter,
    Very Nice. I thoroughly enjoyed playing the game. Very smooth paddle control on the keyboard.
    Dodging the blocks is an interesting twist. Look forward to further levels. I’m addicted already.
    Please put me down for the retail cassette version when your ready.
    Being new to TRS-80 computing, thanks to Ian Mavric, it would be a great first cassette on my Model III.
    p.s. Love listening to Trashtalk, makes my daily commute to work much more bearable.
    All the Best,

    1. Peter Cetinski Post author

      Thanks for the feedback, Nik! I’m glad you enjoy the game and that you enjoy the podcast. I’ll get to work adding new levels soon.
      Take care,

  2. Craig

    Can’t wait to try it! I love seeing new development on old systems. Will post after trying it on my Model 4P…

  3. Josh Malone

    Very cool! From the video, it looks like the “ball” might be more visible if it was double-width from what it is now. If there are technical limitations then it might not be worth it, but it seems a bit tiny.

    Guess I need to break out a TRS-80 emulator and give this a try.

  4. Daniel James

    What a fun blast from the past, thanks! As you said this is a work in progress, I do have a few comments!

    First of all, the one thing I admit that drove me a little bit crazy is the randomness of the ball direction. Rather than most breakout-style games where you can control the direction (and speed of it) by where the ball hits the paddle, it appears the ball keeps going in the same direction as it was going about 90% of the time; the other 10% of the time it changes direction and speed at random. There were definitely times where that was frustratingly fun! I’d move the paddle in anticipation of where the ball was going, only to find out I was fooled! But it also made for a lot of not-so-fun frustration. That last brick on the first level took quite literally more than twice as long to hit as the previous 64 bricks put together and I nearly gave up.

    With that out of the way, I have to say that I love how the paddle accelerates a bit when you hold the arrow down. It’s even a nice side-effect (whether by design or by accident) that if you switch directions while the paddle is accelerated, even the reverse motion is accelerated. Well done. I also like how the ball itself is drawn. This may be a side-effect of screen refresh, or it may also be by design, but it appears the next location of the ball is drawn before the old one is replaced which gives it a nice effect. That said, I ran this under emulation (I kick myself frequently for donating my old Model 1 to charity 25 years ago) so that refresh-effect may not even be a thing under emulation (sdltrs for Mac).

    I’m also incredibly impressed that this was written from scratch in assembly. Back around 1981 I taught myself to program the Z-80 (using what I thought was a pretty great book that Radio Shack put out, “TRS‑80 Assembly Language Programming”) and wrote a fair amount of code, but it was always short routines embedded in my Basic programs to speed up screen drawing or to create sound effects – things that were simply way too slow to do in Basic. To write an entire program in assembly these days is almost unheard of, and I’m impressed that you took the time to do this now. I looked at your LinkedIn profile and you and I seem to have similar programming experience (I spend my days in Unix writing C++, Java, and PHP code along with HTML and JavaScript) and I’d be pretty lost going back to writing much of anything in Z-80!

    Again, this was a lot of fun to play. It reminded me of how much fun games used to be back before everything was about intense graphics and killing everyone in sight. Well done!

    1. Peter Cetinski Post author

      Daniel, thank you so much for the detailed feedback.

      Yes, I agree completely, the paddle rebound mechanics are primitive so that is on my list for improvements.

      In regards to the task of writing a z80 game from scratch, I will say that modern cross assemblers and easy access to resources on the Internet make it much, much easier to write a z80 program today than compared to 40 years ago. I can use my nice modern, full-screen editor on my MacBook Pro’s hi-resolution screen, I can assemble the entire program in less than a second, and I can test on emulators immediately with nice built in debugging utilities. While I have also written some z80 programs using period correct tools, ie. TRSWiki was written on a Model I using MRAS, I still don’t know how the developers back in the day wrote complex assembly programs with floppy drives and cassettes. The assembly time must have been interminable! And some did not even have assemblers! I would never have the time or the patience to do so today.

  5. Al Petrofsky

    Definitely looking forward to trying this. It would be great if this web page had a link to a 500-baud WAV file and I could just plug my diskless TRS-80 into my smartphone’s TRS-80 interface (i.e. the headphone jack) and start loading, rather than having to go to a laptop, download the zip, dezip it, and find tools to convert the CMD to audio.
    The link would also be useful for people who just want to listen to some nostalgic noise.

  6. William Lindley

    For the download link, I was expecting a wave file that could be recorded to tape, or played directly into the cassette input…?


Leave a Reply

Your email address will not be published. Required fields are marked *