• Please review our updated Terms and Rules here

Running TRSDOS on Z180 & eZ80

danielbooneamerica

Experienced Member
Joined
Mar 3, 2020
Messages
347
Location
Wayne National Forest
I am happy to report this project is near testing phase. I don’t want to bore folks here with all those details so I have dedicated some web space to this project.
I am looking for tests sites and instructions are provided how to contact me to discuss this.
Please navigate to https://www.danielpaulmartin.com/home/research/ for details on where it goes from here.
Thank you, Daniel
 

danielbooneamerica

Experienced Member
Joined
Mar 3, 2020
Messages
347
Location
Wayne National Forest
I am happy to report a ton of things have been tested working. I have made big advancements in this project since my last post.

Example:

On boot you now have 3 options. Tell me you are connecting in dumb TTY mode, ADDS 25 standard or better yet a special TRS-80 terminal.

TTY mode is for dumb terminal connections using simplest protocols. No cursor control is offered.

ADDS 25 is an early standard created for ADDS series of terminals. This mode does very well at duplicating TRSDOS video screens at local or remote terminals. It provides cursor and screen controls. Some keyboard programming etc is part of standard MSDOS, Windows, MAC etc terminal emulator programs.

Lastly we have a new TRS-80 mode that emulates video and keyboard functions almost perfectly. All keyboard keys, function keys, clear shift whatever key, reverse video, cursor controls, scroll protect etc is all supported. You will need a PC with TRS-80 emulator or a real TRS-80 model 4/4p to connect (remember sorry I do not support model 1/3 (very sorry (great machines but beyond my scope))). This will replicate almost all TRSDOS video functions perfectly but does require a real model 4 or emulator.

If you will be using this for your next home solar or wind project you may use simple TTY mode. Whereby you can connect to a remote sugar packet sized TRS-OS system, run your favorite copy of TRSDOS and monitor your wind turbine you developed an interface to.

Using your Microsoft BASIC included with TRSDOS you developed programs to control all this. After you get your system figured out you can convert it all to C and use Misosys 1st class compiler to compile your own home control system. Many people on here seem to want to roll their own anyway. Microsoft BASIC will still have a handful of address that BASIC could directly interface with. Connect to your TRS-OS platform located up on your wind turbine using a wireless modem or that’s what I will be doing….. Don’t worry about your BASIC program speed, remember I have given you a 5000% increase. For all you old people (I know each of you if you attend old folks meetings - I am one always napping), remember those warm fuzzy Christmas mornings with your new TRS-80? Want to feel that again with something new and heat up your soldering iron? Build a project and write your code on an old favorite processor? Its now possible.

Processor speed is 5000% increase or more. But do you know how much time TRSDOS spent in I/O with drives etc? Probably a lot more time doing I/O than actually running your program. Now not only is processor a 50 fold increase but I/O using RAM storage is a blink compared to a real TRS-80.

Next, remember my storage convention for both volatile and non-volatile storage. Storage is divided into slices to ease management. Volumes (or drive contents) are loaded into these slices of storage. Most installations will only have 2 slices 0 & 1.

Slice 0 is a TRS-OS system slice 64.25k long (for now) and is always reserved for OS and starts @00 0000h.

Slice 1 then begins system RAM disk storage.

Very first VOLUME (drive) in SLICE 1 is TRSDOS drive 0. It is needed for things like overlays, utilities, read only code etc. This VOLUME (drive 0) is always write protected. Thus if changes are needed to OS code (updates etc) special tasks are required by systems operator to unlock write protection of this systems area.

Other VOLUMES (drive contents) in SLICE 1 may be R/W. Remember slice 1 can have dozens of volumes as its contents (limited by RAM). TRSDOS only sees 8 of these VOLUMES at one time however a new command will be included to swith to any volume at any time on fly. Most installations requiring multiple non-volatile storage drives to be open at one time in TRSDOS will store these files in SLICE 2 which points to SD storage.

Until now slices only supported DiskDisk file format.

I am happy to report your slice one can now contain DSK emulator files and can contain as many files as you have storage available. Remember these files will contain images of RAM drives. Thus these files can be loaded into RAM drives and then saved back to non-volatile storage as needed.

TRS-OS and your emulator can interchange these files seamlessly. Soon I will support SD cards for additional larger non-volatile storage but first high speed storage residing in RAM containing OS and overlays etc was needed. Both slice 0 & 1 reside in RAM.

I have visions at night when I sleep of a future when one day your PC with a TRS-80 emulator connected with a seperate eZ80 hardware platform & running TRS-OS, could, share a drive in realtime.

TRS-OS on boot now recognizes if slice 1 contains DSK file or DiskDisk. I have created one disk driver that supports DiskDisk files, DSK and can also create very large RAM drives using max cyl, sectors per track etc. Limits of real storage is hit before limits of driver.

Further corrections, additions and debugging will continue. I am getting good results from test sites and am soon sending out a release with these new features.

Fidelity of running TRSDOS 6 on eZ80 is nearly perfect (or near as I can get it). Remember, you will be booting your own favorite copy of TRSDOS 6.x. It does not require any changes to TRSDOS 6.x to run on eZ80 at 5000% faster. One change is sys0 is ignored and been replaced.

I had to do a lot of deep study recently on TRS-80 UART. Down into its finer details and then get driver on eZ80 to almost perfectly replicate at bit image level, this UART to TRSDOS. So far so good, things like XMODEM programs even work. One problem with XMODEM. With TRS-OS system 5000% faster, when I start a file transfer it goes thru all timeout steps before I can get to terminal program and start transfer. This is one problem I have it things run way tooooooo fast! But now my COM driver makes OS and apps think they are talking with a real TRS-80 UART.

Speaking of debugging; I recently have been testing TRSDOS DEBUG facility included with TRSDOS. It seems to be running from TRSDOS 6 original system disks unchanged.

I hope soon to support booting to other operating systems. Would it appeal if this projects could also boot to something like CP/M? Best of both legacy worlds platform.

That’s about it for now and if I make any progress I will try to post.
 
Last edited:

danielbooneamerica

Experienced Member
Joined
Mar 3, 2020
Messages
347
Location
Wayne National Forest
Is there a document contrasting CP/M and TRSDOS outside of simply what commands they use? As in their internals and what make TRSDOS stand out in contrast to CP/Ms "collection of subroutines"?
After 40 years if you put a worm on this hook there are still bytes.

We must compare apples to apples so this means compare TRSDOS with CP/M releases at that same time frame.

1 CP/M loads all code needed into RAM and does not need a systems disk in drive at all times.

2 TRSDOS introduced overlays, TRSDOS gave a bigger punch with same amount of RAM.

There are many points to debate but these were popular starting points back in day.

3 CP/M could be controlled using a dumb terminal.

4 TRSDOS reguired a dedicated keyboard & video attachment.

But let me tell you one big difference. Had IBM came to Misosys looking for a OS back in day, Roy Soltoff's wife Brenda (going from memory sorry if I get it wrong), would have known exactly what to do, Roy would not have been out flying somewhere but would have been in office ready to deal and our world would be much different today.

Mr. & Mrs Soltoff would have known exactly what to do had IBM came calling! Under direction of Roy & his visions for how a OS should work, development would not have turned out something like messy MSDOS. Roy would have seen past need of 640k, heck back then we were hanging 1MB upgrades off model 4's.

I like to cry over spilled milk but I am doing something about it. TRS-OS will run TRSDOS as a guest and do it at blinding speed while floating in a boat of RAM.

So what strong point does anyone thing CP/M has that TRSDOS dont (remember we have to compare 198x era of versions)?
 

daverand

Experienced Member
Joined
Apr 25, 2022
Messages
80
You raise interesting points. I developed software for both back in the day, mostly on Model II & III, and also under CP/M, MP/M and CCPM. Here are my thoughts, in no particular order.

CP/M allowed you to have a larger market of computers to run on. While the TRS-80's were popular, they were not the only game in town, particularly for small business.

Performance of small systems, for disk I/O, was often better under CP/M than TRSDOS. This wasn't really a fault of the OS, but the fact that many systems had DMA, and could run the disks with a "skew" of 1, meaning the data could be read faster. The Model II also had DMA, but by default the interleave on TRSDOS was >1 (my fading memory suggests "6", but I could be wrong).

Programs for TRSDOS were, by the nature of the OS, limited to single user. CP/M had a path to multi-user, and that was significant at the time.

It's interesting that you suggest that TRSDOS "gave a bigger punch with the same amount of RAM". That wasn't my experience, at the time - I had more memory available under CP/M than TRSDOS. Maybe it was the tools I used. Do you have some examples of what you mean? On the Model II, I got about 33k (33608) of BASIC memory available. On CP/M, I got about 34k (34872).
 

danielbooneamerica

Experienced Member
Joined
Mar 3, 2020
Messages
347
Location
Wayne National Forest
It's interesting that you suggest that TRSDOS "gave a bigger punch with the same amount of RAM". That wasn't my experience, at the time - I had more memory available under CP/M than TRSDOS. Maybe it was the tools I used. Do you have some examples of what you mean? On the Model II, I got about 33k (33608) of BASIC memory available. On CP/M, I got about 34k (34872).
Make sure you compare TRSDOS 6.x to CP/M.

TRSDOS 6 has more app area than most any other machine of its day.
Entire OS including overlays runs in 9215 bytes if you do not need lib commands. With lib commands 12,287 bytes is all that is needed to run TRSDOS and all its awsome power. A full 53,247 bytes of RAM avail for your app to happily run!

What is total available RAM on CP/M after loading OS and removing boot disk?

CP/M also had multi level directories.

TRSDOS can call nearly a unlimited number of overlays making it appear that they had been memory resident all along. Thus it appears OS has more RAM than it does.

TRSDOS supports routing, filtering, linking & multitasking out of the box.
 

daverand

Experienced Member
Joined
Apr 25, 2022
Messages
80
Well, I was comparing what I actually used, at the time. That was TRSDOS 1.2 (briefly), but mostly TRSDOS 2 on the Model II, vs CP/M and MP/M.

By the time TRSDOS 6 came out (was that in 1983?), I was using MPM/86 on a Seiko 8086 machine, which later got replaced by an IBM AT running CCPM - running 4 users on it. That had all the cool print spooling features, file locking, and such (just like MP/M).

But back to memory: Under CP/M, a typical system of the day could use memory from 0x100 to 0xdc00. That's 56,065 bytes. No need for overlays. On the Model II, FMG CP/M had 53,760 free.

So, under what circumstance did TRSDOS (of any flavor) offer more memory than CP/M? At least in my experience, more memory was available for BASIC under CP/M, certainly more for compiled programs, and you could have binary compatibility to run on a real multi-user system (MP/M).

All of that said, there were some seriously cool things you could do on TRSDOS. Bob Snapp's utilities that used sector 26 to store code, and dynamically load it to extend BASIC functions was very handy, for example. But most of the time, I found that having CP/M was a better option for my customers.
 

WSM

Experienced Member
Joined
Jun 19, 2015
Messages
111
Location
Calgary, AB
What is total available RAM on CP/M after loading OS and removing boot disk?

Using Digital Research layouts, a CP/M 2.2 system with 64K of RAM will have 59K (60,416 bytes) of Transient Program Area (TPA) available to application programs, minus locations 0000-005Bh. Back in the day, one issue was to have a boot EPROM which many systems couldn't switch out of the possible RAM area and thus it reduced the total available RAM.
 

danielbooneamerica

Experienced Member
Joined
Mar 3, 2020
Messages
347
Location
Wayne National Forest
Put a worm on OS debate hook and we have a good time every time. And it is fun. For myself in life I have decided that no one OS can be everthing to everyone.
Its a matter of matching what you want and need with what is available in your budget.

I have had more than one person trying to contact me via my website contact form regarding TRS-OS. I am having problems with this form and have removed it.
If you want to join TRS-OS project or have other questions feel free to email me directly at this project: ----> danny @ danielpaulmartin dot com.

Look forward to hearing from you. I am sorry but recent contacts sent via contact me form on my website have been lost to the ether forever......
 

danielbooneamerica

Experienced Member
Joined
Mar 3, 2020
Messages
347
Location
Wayne National Forest
My goal is to run as much TRSDOS 6.x software as possible unchanged. It seems I am about as near this goal as I will get. Have all background multitasking, I/O etc working just like it should.

With time I want to place all this code on some social media site for developers. That in itself is a project & learning curve. But with time I hope to get this done. I am still receiving feedback from test sites and making changes so based on this feedback.

I will be making my work available at no costs to end users. I hope very much it will be used to spark imagination, studies, experiments etc.

I have been working with a great company called Circle M Systems. Circle M Systems has been great to work with. Circle M computers are available on Tindie for ease of ordering.

They build eZ80 based single board computers capable of supporting multiple operating systems (one at a time of course). To my knowledge this is only NEW hardware you can purchase that runs TRSDOS/LSDOS 6.x unchanged.

I have loaded my personal copy of LSDOS 6.3 files sys1-sys13 into DRIVE 0 image file to ease setting all this up. OS is unchanged and remains an exact binary image of how Logical System shipped it to me (long long ago). TRS-OS then loads & uses sys1-13 from drive 0 RAM disk. Parts of sys0 are preloaded in TRS-OS.

You could take your own TRSDOS/LSDOS 6.x diskette and copy files directly into this projects boot drive if you wanted (just to prove its really running your own copy). Unless someone corrects me this is first fully working tested version running on non-Tandy hardware. And to my knowledge Circle M is only vendor you will be able to buy NEW hardware tested with this project.

Sale and pricing of hardware from Circle M Systems is done strictly by Circle M Systems. I do not receive any commissions nor have any connection to pricing, finances etc. Contact Circle M via Tindie for more information on their products.

Circle M Systems line of eZ80 processors will boot TRS-OS or CP/M. TRS-OS can then boot and run LSDOS/TRSDOS as a guest. Simply typing BOOT at TRSDOS prompt will take you back to CP/M. Circle-M provides a loader that loads 3 basic files.

File image 1. TRS-OS
File image 2. DRIVE 0 image.
File image 3. DRIVE 1 image.

Image files 1,2 & 3 are loaded one after another then control is passed to TRS-OS. Future plans will allow when booting back to CP/M it will give you opportunity to save these RAM disks images back to non-volatile storage thus saving changes you made to disk contents.

For now file #2, is TRSDOS drive 0 image & is always in DiskDisk format file. You can find DiskDisk on Tim Mann website. I am hoping some emulators will soon start supporting DiskDisk format. This will allow you to easily move image files between this project and your emulator.

File 3 can be a DiskDisk or JV1 file. If JV1 file, this same file can be moved easily between emulators and this project. I am including multiple samples of file #3 with this project.

I have donated one original xlr8 to TA auction to kick this project off. I have one additional xlr8 original that I will offer for private sale after auction. Price will be set by auction price of first xlr8 sale, no more, no less.

It is my hope to be demonstrating Circle M Systems running TRS-OS and TRS-OS running on Zilog development boards. If anyone wishes to purchase a system from Circle M Systems or has a Zilog eZ80f91 development board already bring it with you to TA. I will be happy to spend time explaining and working with you on setting up your own system. I hope to have 1 Circle M Systems demo system that could be purchased at end of show.

I think it is big step for future of LSDOS/TRSDOS being able to run on new hardware. This hardware is over 5000% faster than original Model 4 and gobs and gobs more memory. eZ80 offers some significant advantages over original Z80 or even Z180. Using a larger address bus has definite advantages over bank memory or Z180 memory management.

Speaking of bank memory; this projects hardware does not support bank memory thus your apps that require bank memory will not work.

Video still uses memory between F800-FFFF. Your original video image is still contained in this RAM. However your console terminal is serial. I offer 3 methods to connect.

Basic teletype communication. No cursor control or reverse video etc but is good for simple communications.
ADDS25. ADDS Regent 25 was a standard that offered cursor control and better video manipulation of video control codes. This standard was supported by Radio Shack DT-1 terminals.
TERM6V. This program must be run on a Model 4. It supports almost all TRSDOS video modes, keyboard modes, reverse video etc. It was a product designed specifically for a model 4 to control a model 4.

After a lot of effort, I recovered these original programs and sent to Tim Mann for publishing on his website for easy sharing.

As days before show approaches coding is happening like beavers sawing logs. Many improvements & changes are happening fast so if a major change comes about I will post it here. Peace out.
 

danielbooneamerica

Experienced Member
Joined
Mar 3, 2020
Messages
347
Location
Wayne National Forest
HAILING ON ALL FREQUENCIES

ANNOUNCEMENT

NEWS FLASH

ATTENTION ALL SHIPS & SUBMARINES @ SEA, PLANES & SPACECRAFT IN FLIGHT.



MODEL 5e *RELEASED*



First Model 5e has been release. A next generation embedded series SBC suited for embedded control.



This SBC comes preloaded with two operating systems. CPM, TRS-OS and its guest TRSDOS/LSDOS 6.x.
First production unit, serial number #0001 is being made available to TA for auction in support of TA along with XLR8. Proceeds benefit TA!
Be first private owner of MODEL 5 serial #0001.



Only reason I will not be @TA with these units and more is if delivery from Canada is delayed by some new super virus.



ADDITIONAL UNITS WILL BE AVAILABLE FOR SALE BY CIRCLE M ON TINDE or I should have a couple more @TA..



You can boot from CPM to TRSDOS or issue TRSDOS boot command and go to CPM..
 

shirsch

Veteran Member
Joined
Aug 17, 2008
Messages
527
Location
Burlington, VT
Where can I find the software you mention for the Min-eZ80? I bought one last summer but I do not believe it came with anything TRSDOS related. The Tindie page shows no download links.
 

WSM

Experienced Member
Joined
Jun 19, 2015
Messages
111
Location
Calgary, AB
shirsch: You are correct that your system did not have anything related to TRSDOS when it was shipped and most of the testing on the Min-eZ occurred after that. From my perspective, the public release won't be until the end of the month at TA. You can contact me directly for updates if I haven't sent you an email by that time.
 

danielbooneamerica

Experienced Member
Joined
Mar 3, 2020
Messages
347
Location
Wayne National Forest
Where can I find the software you mention for the Min-eZ80? I bought one last summer but I do not believe it came with anything TRSDOS related. The Tindie page shows no download links.
FYI....For those with eZ80F91 development systems or most any other SBC based on eZ80F91......If you can load binary file starting @00 0000h and begin execution then it should run on most anything. Basic RAM DISK images are built in OS load for those needing a one file startup.

BTW.....Please keep in mind you are loading a product in development/refinemant. It is almost distilled down to 200 proof but just needs more testing and feedback to me.

Remember TRS-OS is free and it fits in WYSIWYG catagory.

That being said its pretty amazing what will run. BASIC and programs developed with compilers run unchanged.
 
Last edited:

shirsch

Veteran Member
Joined
Aug 17, 2008
Messages
527
Location
Burlington, VT
shirsch: You are correct that your system did not have anything related to TRSDOS when it was shipped and most of the testing on the Min-eZ occurred after that. From my perspective, the public release won't be until the end of the month at TA. You can contact me directly for updates if I haven't sent you an email by that time.
Very nice! I'll look forward to seeing the finished result.
 

danielbooneamerica

Experienced Member
Joined
Mar 3, 2020
Messages
347
Location
Wayne National Forest
When I posted last I had said I intended to demostrate my SBC I deemed model 5e at TA.

I just like to think of it as Model 5, I dont intend to build a hardware computer rather use off shelf technology which lead to me Circle M!

I also said only a new super covid would stop me. I forgot about DHL.

Circle M was providing me with a couple of their products being shipped to via DHL. These products are products which they had assisted getting TRS-OS running on. Version for eZ80F91 processor family works and currently I am also making a version for eZ80F92. There are structure changes in interrupt chain, timers etc.

Circle shipped me multiple systems in plenty of time for me to install TRS-OS and get ready for TA. That was last they were seen. You can follow this saga at dhl.com tracking number 6318754035. It was delivered to Cincinnati where it should have then been trucked to my home but instead was sent on to Asia. From there it gets muddled.

As of 18:50 Friday still have not received any packages and not sure I will if it will arrive over weekend or not.

Bill over @Circle put in a lot of hard work and time getting things ready for me so I could give a good demo of his systems running TRSDOS 6.3

So this is a big disappointment and I will be unable to offer what I refer to as Model 5e. (e means experimental/embedded)
as donation and sale for TA auction.

I can still demo TRS-OS running its guest OS TRSDOS/LS-DOS 6.3 on our development platform on which it was developed. I plan to do so unless another disaster strikes (first hurricane in Ohio).

A big shout out to Bill who went to considerable trouble and expense so I could have some caged eZ80 SBC for demo at TA.

DHL if you are listening you dropped the ball.

Very sorry about this but I hope to still demo software on development platform
 

shirsch

Veteran Member
Joined
Aug 17, 2008
Messages
527
Location
Burlington, VT
Oh, man... Looks like it looped back to Cincinnati - where they AGAIN misrouted it. Thanks for the heads-up on DHL. Their incompetence exceeds USPS, UPS and FedEx combined.
 

danielbooneamerica

Experienced Member
Joined
Mar 3, 2020
Messages
347
Location
Wayne National Forest
I am happy to report newest release of TRS-OS v1.2.0 now supports both eZ80F91 & eZ80F92.
On reset and IPL, OS detects which processor it is running on and dynamically adjusts interrupt chain etc (f92 has several differences from its cousin f91).

From that point after changing internal configuration based on CPU type, TRS-OS boots LS-DOS 6.3.1 and runs.

As first available project to run LS-DOS 6.3 out of box, it now supports 2 processor models.
One important feature of f92 is its reduced cost over f91.

That has always been the goal, to take an original LS-DOS 6.3, insert into a new machine and press reset and have LS-DOS ready appear.
It is a celebration of Roy Soltoff careful design to make LS-DOS 6.x device and hardware independent.

When I say it runs 6.3 out of box, well we no longer have 6.3 in a box and if we did I could not find a new floppy to attach to this project if I wanted to.
By taking a image of my orignal LS-DOS 6.3 (which we did) and placing in RAM drives it is same as running from original floppy except for speed.

At up to 5000% faster than original model 4 one of the biggest problems is things run too fast.

Will keep you posted on progress. Thanks for all the kind inquiries.
 
Top