XT-IDE on PCjr

Hardware questions and modifications

Re: XT-IDE on PCjr

Postby MattCarp » Fri Apr 15, 2011 5:06 pm

jmetal88 wrote:Oh, and I'd like to suggest that when the time comes we get the prototype PCBs done by Advanced Circuits at 33each.com. As the name suggests, prototypes are $33 each (not including shipping), which is probably the cheapest we can get boards done at this size without ordering large volumes. They state a minimum order of four boards (although I'm personally exempt from that, being a college student).


I'm totally in!
MattCarp
 
Posts: 60
Joined: Sun Aug 31, 2008 11:35 am

Re: XT-IDE on PCjr

Postby jmetal88 » Fri Apr 15, 2011 5:50 pm

No, the 8-bit application note recommended not using the configuration EEPROM, so I didn't put it in.

EDIT: Actually, it says an EEPROM is 'not supported' in 8-bit mode, so we can't put one in.
jmetal88
 
Posts: 793
Joined: Sun Jul 25, 2010 10:22 am

Re: XT-IDE on PCjr

Postby Brutman » Fri Apr 15, 2011 7:44 pm

MattCarp wrote:
Brutman wrote:The CS8900 was one of the candidate chipsets to use. But we need some flexibility on the I/O ports that it uses.


Flexibility? You got it. Check out page 75 of the datasheet: "On power up, the default value of the I/O base address is set at 300h. (Note that 300h is typically assigned to LAN peripherals). The I/O base address may be changed to any available XXX0h location, either by loading configuration data from the EEPROM, or dur- ing system setup."

Pretty slick, eh?


So how is that done? It has it's own decode logic too? It seems to be presuming more about the architecture that it is being used with than I am accustomed to. In ye old days, the device said it wanted 0xF ports and it was up to you to add the address decode logic to locate it in the memory map.

MattCarp wrote:On the ethernet controller, I think now the only question is, are the drivers that are available usable, or enough of a start to finish the job? Or, if not, can we roll our own? I think the general answer is "yes", so I think we're making progress here.

Oh, one question, jmetal88, did you drop in the 93C46 configuration EEPROM? It's optional, but to save the current configuration you need it. I could find the CS8900 on the picture, but the EEPROM may be too small for me to discern.

Brutman wrote:I was hoping to get some time to workout the changes on the XT-IDE address decoding myself; I need to get started with the tools. The port changes I was thinking of are pretty easy to do; adding another 1KB of memory is a bit more involved.


Whatch'ya thinking? I haven't followed the XT-IDE project, but I'd hope it uses fairly free I/O ports and memory addresses. I'm not sure what you mean about the 1KB reference.


The XT-IDE BIOS has to steal memory from reserved data areas to store the fixed disk parameter table (FDPT) and some status bytes. On a real XT the FDPT table entries (2 at 16 bytes each) would be selected by the DIP settings on the Xebec card. In an AT the drive table is already in the system BIOS. We don't have either on a PCjr so I need to steal 32 bytes from somewhere. And right now I'm stealing it from an area reserved for BASIC, so it might cause a problem.

The status bytes are also technically in use on a Jr.

The correct solution is to add 1KB of RAM so that we don't have to use storage that is already reserved. A cheaper, but less flexible option is to burn the values we need into the FLASH. That approach is similar to what the XT does. But if you want to use a CF card or swap devices that won't work without reflashing the BIOS, and that's no fun.

Also, I really want to fix the performance problems. We don't need perfect register set compatibility with normal IDE controllers - BIOS level compatibility is more than enough.
Brutman
Site Admin
 
Posts: 910
Joined: Sat Jun 21, 2008 5:03 pm

Re: XT-IDE on PCjr

Postby Brutman » Fri Apr 15, 2011 7:48 pm

jmetal88 wrote:Oh, and I'd like to suggest that when the time comes we get the prototype PCBs done by Advanced Circuits at 33each.com. As the name suggests, prototypes are $33 each (not including shipping), which is probably the cheapest we can get boards done at this size without ordering large volumes. They state a minimum order of four boards (although I'm personally exempt from that, being a college student).


I'd like to look at other options too ... whoever did the XT-IDE boards did a great job, and if they are close in price I'd be willing to throw them the business.

We should probably take a breather here and recap everything that we think we are doing. A sidecar might be too small to fit everything inside of it. If we have to run a cable outside to a hard drive they we need an external enclosure anyway.

The generic external expansion chassis with ISA slots would not be as nicely integrated, but would give us additional power, cooling, and standard slots.
Brutman
Site Admin
 
Posts: 910
Joined: Sat Jun 21, 2008 5:03 pm

Re: XT-IDE on PCjr

Postby jmetal88 » Fri Apr 15, 2011 8:47 pm

I managed to get a clearer render by exporting SVG directly from KiCAD, then using GIMP to convert it to png, if anyone wants a better look at what my board looks like so far.

I actually wouldn't mind an external expansion chassis, but I would like to find an inconspicuous way to connect it to the PCjr. Maybe have the connector attached to a plastic panel or something, but I'm not sure how we could do that on our own and get it to actually look nice.
Attachments
JR-IDE.PNG
PCjr IDE w/ Ethernet and RAM - Render
(192.58 KiB) Not downloaded yet
jmetal88
 
Posts: 793
Joined: Sun Jul 25, 2010 10:22 am

Re: XT-IDE on PCjr

Postby MattCarp » Fri Apr 15, 2011 8:52 pm

[qupte]
So how is that done? It has it's own decode logic too?
[/quote]

Sure does. It's a "Single-Chip IEEE 802.3 Ethernet Controller with Direct ISA-Bus Interface"

jmetal88, thanks for pointing out that 8-bit application note. I only looked at the data sheet, but there's good information in the 8-bit app note, the FAQ, and the technical reference manual. In fact, the tech reference manual has a schematic checklist and information about the pcb routing. That deserves a look.

The 8-bit information is a little concerning:

- EEPROM is not supported. Not a dealbreaker, but does mean the MAC address has to be stored set by the driver and in a file on the host.
- Chip has a status register pointer that has an autoincrement feature (read register 1, 2, 3,...) that can't be used. Doesn't seem to matter much
- Interrupts are not supported. What? Now this is a problem. The chip will work in a polled mode, but come on, that's crazy! Hook a timer interrupt just to see if there's any ethernet traffic? That will slow down the entire machine!

Given the interrupt disadvantage, I think I'll take a quick look at some of the other chips mentioned. It's unfortunate, everything was looking good.
MattCarp
 
Posts: 60
Joined: Sun Aug 31, 2008 11:35 am

Re: XT-IDE on PCjr

Postby jmetal88 » Fri Apr 15, 2011 9:02 pm

MattCarp wrote:[qupte]
- Interrupts are not supported. What? Now this is a problem. The chip will work in a polled mode, but come on, that's crazy! Hook a timer interrupt just to see if there's any ethernet traffic? That will slow down the entire machine!

Given the interrupt disadvantage, I think I'll take a quick look at some of the other chips mentioned. It's unfortunate, everything was looking good.


Yeah, that is a bit of a problem. I really like the look of the CP2200 chip I linked to earlier, but I think it would need a driver written from scratch to be usable in DOS. Also, it would have to have external address decode logic (at a minimum, lines A8 through A11 should be looked at to determine the upper digit of the base address).

EDIT: Also, it might hog too many IO addresses - there's a pretty long table of registers in the data sheet.
jmetal88
 
Posts: 793
Joined: Sun Jul 25, 2010 10:22 am

Re: XT-IDE on PCjr

Postby MattCarp » Fri Apr 15, 2011 9:10 pm

Brutman wrote:
The XT-IDE BIOS has to steal memory from reserved data areas to store the fixed disk parameter table (FDPT) and some status bytes.

The correct solution is to add 1KB of RAM so that we don't have to use storage that is already reserved. A cheaper, but less flexible option is to burn the values we need into the FLASH. That approach is similar to what the XT does. But if you want to use a CF card or swap devices that won't work without reflashing the BIOS, and that's no fun.


Ok, I'm with you now. Does this data need to be visible to the PCjr, or can it be local to the controller, and therefore is just a matter of enhancing the XT-IDE design?

Also, I really want to fix the performance problems. We don't need perfect register set compatibility with normal IDE controllers - BIOS level compatibility is more than enough.


That would be great. The hardware wouldn't be affected and the BIOS could be socketed and updated later.
MattCarp
 
Posts: 60
Joined: Sun Aug 31, 2008 11:35 am

Re: XT-IDE on PCjr

Postby MattCarp » Fri Apr 15, 2011 9:17 pm

jmetal88 wrote:I managed to get a clearer render by exporting SVG directly from KiCAD, then using GIMP to convert it to png, if anyone wants a better look at what my board looks like so far.


Looks really good!
MattCarp
 
Posts: 60
Joined: Sun Aug 31, 2008 11:35 am

Re: XT-IDE on PCjr

Postby jmetal88 » Fri Apr 15, 2011 9:21 pm

Here's another candidate for an ethernet controller:

http://www.jameco.com/webapp/wcs/stores ... 2132488_-1

EDIT: Eh, actually I don't like that one for the amount of registers it uses, either. Hmm.
jmetal88
 
Posts: 793
Joined: Sun Jul 25, 2010 10:22 am

PreviousNext

Return to PCjr Hardware

Who is online

Users browsing this forum: No registered users and 1 guest

cron