• Please review our updated Terms and Rules here

Cheapo IDE interface for Model 4p running MM CP/M

FireBox

Experienced Member
Joined
Jan 25, 2012
Messages
90
Location
Northwest
I finally finished the ide interface for my model 4p. The interface will support ide drives as well as CF. It basically is made out of 3 ls logic chips, some resistors and a few connectors. Here are the pictures.

trs803.jpgtrs802.jpgtrs801.jpg

Matt
 
This is very interesting! Did you find the circuit on the web or design it yourself?

What software trickery did you have to use to get it to recognize the HD on your 4P?
 
Yes, I found the circuit on the web and then made a few design changes to get it to work. I ended up writing two programs, An IDE Driver and a loader for the driver. The loader copies the driver into free memory past the cp/m bios and fcbs then re-writes the ramdrive sector read/write vector to point at the new driver. The loader also updates the DPB (disk parameter block) for the ramdrive to match a 5meg HD.

I have a turbo Pascal program I wrote to do the formatting and disk/CF analysis.

Seems to work great.

Matt
 
So... did you leave the original HD configuration area alone?
Normally a 64k Montezuma configuration does not have adequate room for a driver. Is is a 63k config or smaller?

I already have a mfm-boot compatible IDE working, but I certainly am curious...
:D
 
There is a little space in a 64k setup to place the driver I wrote. Fa81h-FF00h.

You can see the version of the CP/M on the screen shot.

Matt
 
Possible to provide schematics, Driver software etc. Looks a lot like the TRS-IDE project. Any info appreciated. Will it run TRS-DOS/LDOS?
 
I am not familiar with the TRS-IDE project but its entirely possible the HW design is very similar. I found a schematic on the web that needed minor tweaks to work. The modified interface should run under trs-dos/ldos and there are drivers for it around. I gave up on the trs-dos drivers when I was having issues with the HW and decided to switch to a grass roots approach with MM CP/M. I can try the trs-dos drivers again when I find another ide drive or CompactFlash. I must admit I am more interested in the CP/M aspect. I would add this thing doesn't hold a candle to the HW Emulator Ian developed. Ians thing is really the way to go.

If someone can tell me an appropriate place for the SW I am happy to upload it. On the schematic it would probably be better if I describe the changes and let someone who is adept at schematic capture do the work.

Matt
 
Is this the basis for it: http://www.qsl.net/zl1wjq/trside1.htm and can you tell me what components were added and where in the schematic. I notice more resistors and a transistor/Regulator? on 1 of the 2 dip header packages. And one header just appears to be just some 1k Resistors probably as pulls ups for the data bus or something? He also has a link to a modified TRSDOS 6 IDE drivers that should work with this. Yeah so f you can show where your components were added/changed would be helpful.
 
Frank, the changes are very simple and the good news is that not all the parts on the project board are wired up. The schematic you found is correct. Carefully notice how the author shows connections vs. jump overs. Also the pin numbering on the one I printed out is a little confusing. It's correct but some of the PIN numbers were running together.

Add 1k pull-ups to all the connected address lines and control lines coming in from the trs-80. I left the data bus as shown, no pull-ups. Parallel up the remaining open inverting buffers on u3b, pins 3 and 4. This will give the output a chance to pull down the 150 ohm resistor within the model 4p on the extiosel line. With just one buffer I noticed the voltage not dropping below the .7 volt threshold for a "low". Paralleling up buffers is not a great idea but it fixes the issue. I also added a 220 ohm pull down to u3b pin 4 (the output of the paralleled up buffers) to help with the biasing. Last items - add a 220 uf low esr electrolytic cap to the 5 volt rail on the project board. Make sure that all the ribbon cable ground lines coming from the model 4p are tied together at the project board and tied to the project board ground.

Matt
 
Last edited:
a couple of questions for clarification. When you say parallel up U3B Pin 3 & 4 what exactly do you mean? I'm a little confused here. One being an input the other an output. And the on pin 4 of U3B added a 220 Ohm pull down guess to ground. Also I do not add a 1k resistor to pin 43 extiosel cause this is tied to pin 4 of U3B correct? Sorry if dumb questions just want clarification.
 
Last edited:
All good questions. Here is a pinout diagram for an ls04. In our case only 4 of the 6 inverting buffers are used. We can "parallel up" the remaining two buffers on the one that is being overloaded.

image.jpg

So pins 3,13,11 would be tied together and pins 4,12,10 would be tied together.

No pull-up for the extiosel as you suspected. The 220 pull down connects to pin 4 of the buffer
 
Worth turning this into a PCB? It could have CompactFlash header or 40-pin header - or both.
 
Got it thanks a lot. Sometimes I read to much into something. So essentially boosting the output. I agree with Pierce could possibly make a Ckt board out of it. I would say keep it simple and use an IDE header. Can always attach a IDE to CF adapter to it.

One more thing how big is the CF you are using smallest I have is a 2GB

So to recap all Address lines and most of the control lines are being pulled up through a 1k resistor to VCC except /EXTIOSEL. Line correct?
just really want to be sure.
 
Simple TTL chips. Instead of a GAL & a PIC microcontroller. But IMO the FreHD is probably a better way to go. I am trying to build this up and test it out of curiosity. I have built up many projects before and all have worked. So just want to try it. Plus I have the chips available in my stash plus the connectors.
 
The FreHD emulates a real TRS80 hard drive, so you don't need to use custom drivers. It uses a FAT on the SD-card, and the image of the hard drive is compatible with the TRS80 emulators, so you can prepare/fill your hard drive image on your Mac/PC and use it directly on the real TRS80. You can also have multiple hard drive images on the same card, backup of your hard drive is easy, etc... The price is that you need more hardware (GAL/PIC), but you have more flexibility...

On the price side, a GAL and a PIC are cheap, but you need a PCB, etc... The design is open sourced, so enthusiasts can rebuild it. (At least one guy recreated it on a breadboard...)
 
"So to recap all Address lines and most of the control lines are being pulled up through a 1k resistor to VCC except /EXTIOSEL. Line correct?
just really want to be sure."

Yes, you have it correct. I added a 220 ohm pull-down resistor to the EXTIOSEL to help with the biasing.

Matt
 
Hey matt, Ok got it built and am not getting the correct response when check Hex port 40. According to the original schematic documentation. Says when checking the port should get a response of 80 or 88 I get 8. What do you get. (it's run from disk basic under TRS-DOS 6)

All address lines except A3 are pulled up. A3 is not connected. Should I pull up anyway? All control lines are pulled up except the aforementioned /extiosel. So you say use a 220 ohm and pull it down? Also does reset line get pulled up?

Do me a favor. Of these control lines which get pulled up? This is on the TRS-80 50 pin side.

/in /out /reset /iorq

on the 40 pin ide side /iow /ior /cs0

And last but not least the LS85. Verify pins 14,3 get pulled up and 9,11,1,2,4 are at ground. Sorry a lot of questions.
 
Hopefully I get all these question right and win the Twinkie.

1) You should get 80 with disk basic under TRS-DOS 6.

2) I have all the address lines pulled up but I guess you could leave A3 as is.

3) I added a 220 ohm pull down to the extiosel line to help with the biasing.

4) I added 1k pull-ups to: /in, /out, /reset and /iorq on the TRS-80 side.

5) LS85: 14 and 3 are pulled up. 9,11,1,2 and 4 are at ground.

If you have turbo pascal I can send over my test program. Might be a lot easier than basic if you know pascal. + its has the CP/M format routine.
Matt
 
Back
Top