• Please review our updated Terms and Rules here

Looking for Tetris for the Model 1????

DistantStar001

Experienced Member
Joined
May 8, 2019
Messages
178
Just what the title says. I like Tetris and I have several TRS-80 Model 1s (as well as a Model III) and I'd like to enjoy the combination someday. After all, if this thing can do Zaxxon, Tetris shouldn't be that hard. However, the only version I've found is for the Model 4... So not so helpful. I know it's out for the Coco and other platforms. I was able to get a version for my Apple IIs, Atari 8-bits, C64s, C128s, VIC-20s, BBC Micro, 5160, Macintosh Plus, 80-column PET (fixed 40-column version but it works), ZX Spectrum, and even my stock 1K ZX81!?!? But not my TRS-80. And if the ZX81 can do it on 1K of RAM, surly my TRS-80s can do it with 16K (or even just 4).

Anyone know where this might be floating around?
 
Considering the original Tetris ran on a serial terminal connected to a Russian toaster, yeah, I'd think the TRS-80 Model I/III should have no particular difficulty handling a decent port. On one hand I would be genuinely surprised if nobody ever written one before, but I guess on the flip side Tetris didn't really set the world on fire until 1987; the TRS-80 was thoroughly toast by then.

If someone's bored enough to take on the challenge obviously we're going to need digitized music through the cassette port, at least for the disk version. ;)
 
BASICode has a simple text mode Tetris. In theory, one should be able to merge the TETRIS file with the Model I specific implementation of the lines of BASIC below 1000 to get a working game. Note the BASICode version was written in German though it is a very short program and not much will need translation.

http://robhagemans.github.io/basicode/#programs shows it in operation if you search the list for Tetris. http://robhagemans.github.io/basicode/basicode/KC-Club/TETRIS.bc is the source code. It is a BASIC file but not a complete program.
https://brutaldeluxe.fr/projects/cassettes/bbc/ has the cassette with the TRS-80 (Video Genie) portion of the whole. I have not been able to locate an already complete extraction of the BAS file for the Model I that is on the cassette.

Note the PDF manual at Brutal Deluxe describes a cassette interface board in the Model 1 section. This is not necessary unless you have a desire to load files in the BASICode 1200 bps cassette format. Since the file you want has already been saved as text, moving it to the Model 1 is much easier.

I hope this makes some sense. I was woken up by our ursine friend knocking around outside and triggering the neighbors' dogs.
 
One thing I overlooked in the BASICode Tetris design is that it expects a 24x40 screen which makes game play challenging with only 16 rows on the Model I.
 
Yeah, a "proper" Tetris for the Model I/III would need to use the graphics blocks. In BASIC this would be pretty slow using the SET/RESET functions, but I would wager you could speed it up by "pairing" sets of two neighboring text rows into 3-block-tall "graphics" rows and keeping the blocks a full character position wide. There are only 8 possible "valid" pixel combinations for each pair of rows so a routine to do set/reset on the resulting "64x24" pixel matrix should be pretty fast.
 
Eudimorphodon's link to nuppur72's version is a decent Tetris. It is character-based, but since the main graphic character is ASCII 191--a full white cell--it looks OK. (Rotating pieces really exposes the 3 x 1 aspect ratio for characters.) The choice of keys I, J, K, L instead of arrow keys is weird for the TRS-80.

Of the binary files, only the ".cas" cassette file works. Fortunately it seems based at 5200h so transferring to disk doesn't require LMOFFSET. (There's also a useless ".com" file that's a CP/M-style binary image, not the standard TRSDOS segmented loader format.) The C source is for z88dk. I wonder if it's simple enough to port to the native zC compiler.

Note that I only tested on an emulator.
 

Attachments

  • tetris.gif
    tetris.gif
    201.3 KB · Views: 20
Back
Top