• Please review our updated Terms and Rules here

Slightly confussed about Model I vs Model III

Chromedome45

Veteran Member
Joined
Jul 6, 2009
Messages
3,993
Location
Central Florida
Ok so I thought I was pretty knowledgeable about the TRS-80's. But I was wondering why the Model III was having a tough time running Model I software. So I did a little research and found out that the Model I used Memory mapping and the Model III used port mapping. Could someone enlighten me? I'm guessing they mean I/O? :confused: Help!!! need clarification...;)
 
I'm wondering what TRS-80 Model I software you're refering to. The Model I that used in the lab at work had 4K of memory, a cassette player, and a real wonky BASIC. I know that Western Digital came out with a add-on "Disk Operating System' module in late 70's. Didn't get into that as we moved on to the Model II when it became available (early 80's). Never gave a passing thought to how the memory was mapped. Very interesting though.
 
Ok so I thought I was pretty knowledgeable about the TRS-80's. But I was wondering why the Model III was having a tough time running Model I software. So I did a little research and found out that the Model I used Memory mapping and the Model III used port mapping. Could someone enlighten me? I'm guessing they mean I/O? :confused: Help!!! need clarification...;)

I take it you've a solid way to run model 1 disks on a model III? What OS are you using? I think that you can fool TRS/LS DOS 6 to think that the model 1 disk is a model 4 disk by running the following command to simulate a model 1 disk drive as drive :1 on the model 4 (I assume it'll work on the model III). I guess first I am asking are you sure you have a good copy of the program?

Here are some commands to set up drive 1 as a model I drive. You can use to copy programs to a model III disk, or run from :1 (I think)

SYSTEM (DRIVE=1, WP=Y)
MEMORY (ADD=X'18F4', WORD=X'00AF')
MEMORY (ADD=X'0483',BYTE=17)

This assumes that the directory track of the model I disk is 17.

1. boot with an OS disk that has nothing on it but the bootstrap and optionally the code above as a JCL file.
2. Put the model 1 disk in drive 1
3. execute the lines above or run as a JCL program
4. Copy files from the model 1 drive to the boot disk (not another disk) from #1 above. This is necessary because only a disk previously logged onto your system will be read correctly, as the JCL program will have disabled the system sector checking routine. I guess a blank disk could work, not sure.

5. Now that you know for sure you have a model III disk with the model I program correctly copied you can tackle the memory mapping issues on a case by case basis. You need to understand the memory map of the program, where it's loaded into memory, but I guess you know all that. Or maybe that's your question.

I think I would use an in circuit emulator to see where the program is being written to memory on the model I, and then check the memory map of the model III to see if there are conflicts.

Let me know if this is a crazy plan or not.
Bill
 
Ok so I thought I was pretty knowledgeable about the TRS-80's. But I was wondering why the Model III was having a tough time running Model I software. So I did a little research and found out that the Model I used Memory mapping and the Model III used port mapping. Could someone enlighten me? I'm guessing they mean I/O? :confused: Help!!! need clarification...;)

Yes, there are indeed differences that lead to incompatibilities.

Machine language programs often contain calls to BASIC ROM routines both to save memory and use pre-existing routines. I'm not sure (as I'm no expert on the Model III) but I think some of the incompatibilites are due to the differences in the BASIC ROMs which these calls might access.

Tez
 
I'm wondering what TRS-80 Model I software you're refering to. The Model I that used in the lab at work had 4K of memory, a cassette player, and a real wonky BASIC. I know that Western Digital came out with a add-on "Disk Operating System' module in late 70's. Didn't get into that as we moved on to the Model II when it became available (early 80's). Never gave a passing thought to how the memory was mapped. Very interesting though.

With an expansion unit, a 48K Model 1 could run a respectable DOS. A fair amount of Model 1 disk-based software was produced.

Tez
 
With an expansion unit, a 48K Model 1 could run a respectable DOS. A fair amount of Model 1 disk-based software was produced.

Tez
Tez: I more or less considered the original Model I somewhat of a novelty, kind of like my Tandy PC-1 Pocket Computer - which by the way, would draw a crowd everytime. We used the Model I in our chem lab to run formulas written in BASIC. I kind of remember some BASIC games in the display case at the local Radio Shack. I do remember one fellow who had a Model I with the expansion unit. It seems that the Model III was right on the heels of the Model I in the early 80's. In the mean time our company had a deal with RS and all employees received purchase vouchers for the Model 100. I paid about $399.00 for mine and bought Purple Computing's "floppy" drive, which BTW, cost almost as much as the Model 100. Some cottage software outfit put out a DOS system for the Model 100 written in BASIC for $29.95. Still have it and all works.
 
Dopey me, I thought the Model III was just the Model I put in a new housing. Didn't know it was such a different beast with incompatabilities! I guess when they made the Model IV they learned there lesson about backwards compatability!

Bill I am trying this with LDOS 5.3.1 for the Model III
 
CMIIW, but I seem to recall a program on the Model III DOS diskette that would convert Model I CMD programs to run on the Model III. I don't have a Model III handy nor the TRSDOS diskette, but I seem to remember it was called, strangely enough, convert. Perhaps I'm mistaken. There's a first time for everything.
 
Last edited:
Your right Druid but all CONV does is read a Model I floppy and transfers files between the 2 formats. So all I am trying to do is copy the files to an LDOS Model III formatted disk. I guess I didn't clarify to all what I was trying to do. But I got it figured out. What I did was put them on a PC floppy and did a XFER/CMD from the emulator to a Model III LDOS formated disk and tried them on the Model III. Success with some BASIC programs but with Sargon II a /CMD program locks up. So I have success in that aspect. Yeah it was that simple. Trying to read to much into it instead of just doing it.
 
Not so different but different enough.

Under DOS, I think any DOS, On model-I CMD files would locate from 5200h and for model III 5300h. Making it so that a model-I CMD would crash the DOS. Relocating is unfortunately handwork.

The ROM is very similar and I think all the common call addresses are the same. All the ROM based BASIC is compatible. Some Disk BASIC commands might differ.

Some DOS SVC's are not same, so DOS functionality will typically fail. There might have been 3rd party software that could look for and modify SVC's but I think that would work on only very few CMD's. So also this porting is handwork. Remember also that different DOS'es were not compatible, especially on model-I.

I doubt memory I/O vs. port I/O is a big problem but of course there are some differences.

Knut
 
Hi Knut, Glad to see you could join out Forum over here. I know your one of the TRS-80 guru's and know you've been around the comp.sys.tandy group forever and now the TRS-80 group on Yahoo. I consider you and Frank Dudra the experts on these things.:p I'll take what you say as the final word on this. I'm not a programmer but kind of thought the Model III was just a repackaged Model I. As I found out it is not so. Thanks for the input.
 
Hi, I'm new here. I joined because of the recent acquisition of some Commodore PETs (see my sad thread in the Commodore section), but B&W TRS-80s are my true passion. I really regret having lost my Model I and Model IV 12 years ago. :^/

Anyway... when I had TRS-80s all my software was from a vast box of Model I disks that came with the I. When a Model IV came along later all it came with was DOS so basically everything I had for the IV (in III mode) was converted I software. The two systems are "mostly compatible" but I did end up patching some programs after converting them. (At the time I had a nearly complete collection of "80 Microcomputing" magazine which was very helpful, both in explaining the differences between the systems and in publishing patches for some popular programs.) If you're curious about some of the *specific* notable differences between the machines:

* As noted, some of the hardware that was memory mapped in the Model I, such as the disk controller and the parallel printer port were changed to map to the Z-80's I/O port range instead. The disk controller change (both in mapping and the switch to a double-density IC) rendered DOSes incompatible and the printer port change meant that most machine-language programs that wanted to print wouldn't work without patching. (Some BASIC programs would also be affected because they were written to POKE bytes directly out to the printer to avoid some bugs/"features" of the ROM print driver. A further oddity of the III was that "PEEK"-ing to read the printer status worked the same way as the I but you had to use an OUT statement instead of a POKE to write.)

* The keyboard is slightly incompatible. On the Model I both shift keys are wired in parallel so pressing either one changes the same bit in memory (the keyboard matrix is memory mapped on both machines). The Model III has them separated. This means that machine-language programs for the I that use their own keyboard driver might only register a press on the right (or left, I forget?) shift key on the Model III.

* There are of course some changes in the ROM (The III has 14k instead of 12k). The entry locations Radio Shack documented for Model I machine-language software are mostly compatible, but if a program uses an "unofficial" entry point all bets are off. The changes also modify the amount of free memory in the machine, which means that machine language programs that load low enough might clobber BASIC pointers.

* Some really old software doesn't like the fact that the III always has lowercase and may choke on the resulting differences in its keyboard driver.

* Model III TRSDOS 1.3 was quite a lot different from Model I TRSDOS. Apparently it's somewhat based on the Model II's DOS, which makes it sort of an oddball/orphan. Most alternative DOSes for the III (NewDOS 80, MULTIDOS, LDOS, etc.) were more compatible with their Model I counterparts than Radio Shack's DOS, at least in terms of disk exchange.

You're already running LDOS so the DOS differences shouldn't be a huge factor, but I will note one thing about LDOS specifically... as I recall, it's not the best DOS to run unpatched machine-language programs on, particularly games. The way LDOS loads drivers/filters into high RAM requires that programs respect the top-of-memory pointer. Even on the Model I quite a few programs had to be patched to play nicely under it. If you're looking at playing converted Model I games on a III you might be better off with NewDOS 80, MULTIDOS, or even TRSDOS 1.3. (Despite the disk format strangeness it generally seemed to work fine for launching a game of "Galaxy Invasion".)

(Sorry for rambling out this dump of my notoriously faulty memory and rehashing some things here, but... I guess we're all here to reminisce about old times so maybe I'll get away with it.)
 
All inputs appreciated. Pretty impressive with your knowledge of thes old TRS-80's. And no your not rambling on I like to read about older systems and how to make things work and such. Mainly the games I was trying to run I just copied over to Model III LDOS disks using an emulator and they worked like a charm. They were just some of Leo's old BASIC games Like Android Nym and Snake eyes. So all is good for now.
 
Back
Top