Jump to content
IGNORED

Refurbishing a Horizon HRD+ RAMdisk Card


ckoba

Recommended Posts

So my self-imposed one-week timeout from AA is over. Although I do not apologize for my hard-won opinion of the HDX, I do apologize for conflating the hardware/software package with its designer, and also for my lack of understanding of the AA audience.

 

Fred, I apologize -- nothing that I said was meant to denigrate your character.

 

Moving on ... while I'm waiting for Mouser to deliver the parts for what will become the HDX+, I've turned my sights to repairing a Horizon HRD+. Not a 2000, 3000, or 4000, but the original item.

 

So as to not say the same thing in the same place twice, I've written it up and put the instructions (and gotchas) at https://www.disavowed.jp/index.php?/archives/15-Refurbishing-a-Horizon-HRD+-RAMdisk-Card.html

 

Thank you, schmitzi, for posting what appears to be the only copy of the HRD+ construction manual anywhere on the 'net. I've OCR'ed it and fixed the more egregious errors; perhaps this (and the errata) should be placed into the right directory on whtech.com?

  • Like 2
Link to comment
Share on other sites

Based on some conversations I've had with Bud Mills, the majority of all HRD boards out there are built on the HRD+ layout. About 1,500 of those boards were sold (I bought one of the very last ones he sold, purely by chance BITD, as I needed one right before he switched over to the 2000 boards). About 250 of the HRD2000 boards were sold, about 300 of the HRD3000, and about 150 of the HRD4000.

 

Your analysis here will be very useful, as a lot of these HRD+ boards are in definite need of some good TLC. . .a lot of the original builders took shortcuts or used low-quality components (mainly due to access to parts or knowledge level, as batches of these were often built a a group by interested users groups).

 

I'll have to look through the documentation you have--there may be another page of errata out there. . .

 

The early HRD used crazily stacked chips due to the way it was modified over time. Ron Gries found ways to extend the board from its original 180K format (the HRD (no "+") and its earlier Midwest Computing incarnation), but didn't do a new layout, he just published a series of modifications to allow the board to e extended. Eventually, he did the HRD2000 layout to reduce these issues and make it easier to build again.

 

The DSR changed so many times over the early years that people would have been replacing them on a quarterly basis. They actually considered the fact that it was in RAM to be an advantage. Time has shown otherwise there. . .and the workarounds people have in place to make restoration easy after it is blown are a good story in their own right. The SNUG HRD16 does allow the DSR to be in ROM, but it is the only ROM-capable HRD out there that I know of.

Edited by Ksarul
Link to comment
Share on other sites

Nice writeup. The switching regulators are very interesting. Is Minmax a brand? I was able to find a handful of switching regulators for $12-$14 but none of a minmax variety. I am tempted to buy and install a few in my heat-generating cards, i.e, Geneve and floppy controller.

 

From my personal experience with the Horizon Ramdisk from everything to storage to assembling programs to running a BBS from them, the later card revisions and ROS (DSR) have been relatively stable. They are certainly more reliable (IMHO) than the IDE cards; I don't trust my IDE card for mass storage. As Ksarul mentioned, the RAM DSR was considered an advantage, though there was at least one EPROM-based DSR released. I have not encountered any of them in the wild, so I don't know how many were actually sold and implemented.

 

ftp://kirklanduncorked.com/datasheets%20and%20manuals/Horizon%20RAM%20Disk%20EPROM.pdf

 

Edit: RAM prices might have been a contributing factor to the stacking. Here's something you might find interesting reading.

 

http://hof.ti99ers.org/bios/BudMills/bud_mills_interview.pdf

Edited by InsaneMultitasker
Link to comment
Share on other sites

Nice writeup. The switching regulators are very interesting. Is Minmax a brand? I was able to find a handful of switching regulators for $12-$14 but none of a minmax variety. I am tempted to buy and install a few in my heat-generating cards, i.e, Geneve and floppy controller.

 

From my personal experience with the Horizon Ramdisk from everything to storage to assembling programs to running a BBS from them, the later card revisions and ROS (DSR) have been relatively stable. They are certainly more reliable (IMHO) than the IDE cards; I don't trust my IDE card for mass storage. As Ksarul mentioned, the RAM DSR was considered an advantage, though there was at least one EPROM-based DSR released. I have not encountered any of them in the wild, so I don't know how many were actually sold and implemented.

 

ftp://kirklanduncorked.com/datasheets%20and%20manuals/Horizon%20RAM%20Disk%20EPROM.pdf

 

Edit: RAM prices might have been a contributing factor to the stacking. Here's something you might find interesting reading.

 

http://hof.ti99ers.org/bios/BudMills/bud_mills_interview.pdf

 

The Minmax are quite inexpensive here -- I get mine from Akizuki Denshi (practically the only component vendor left in Akihabara) for ¥380 (about USD$3.00) per. They're drop-in replacements for the 78xx series (with the caveat that they need to be *really* grounded), and the 0.5A M78 series appears to be sufficient for every card I've got ... and at that price, I use them in *everything*.

 

Datasheet is here: http://akizukidenshi.com/download/ds/minmax/m78a.pdf

 

Mouser carries another series made by Murata for about ¥550 per 5V1.5A unit, but their pins are a bit bigger than the holes on the TI PCBs I have, so I haven't used the Murata very much. Their part number is OKI-78SR-5/1.5-W36-C, and the series datasheet is http://www.mouser.com/ds/2/281/oki-78sr-56393.pdf

 

I highly, highly recommend replacing the linear regulators on each board with a switching replacement. Especially on the floppy controller, which went from scorching hot to indistinguishable from ambient after replacement.

 

I've seen references to the Hoddie EPROM DSR too, but so far I haven't found a EPROM dump. I'd very much like to try it in the card; you all know how I feel about RAM DSRs :)

Link to comment
Share on other sites

Based on some conversations I've had with Bud Mills, the majority of all HRD boards out there are built on the HRD+ layout. About 1,500 of those boards were sold (I bought one of the very last ones he sold, purely by chance BITD, as I needed one right before he switched over to the 2000 boards). About 250 of the HRD2000 boards were sold, about 300 of the HRD3000, and about 150 of the HRD4000.

 

Your analysis here will be very useful, as a lot of these HRD+ boards are in definite need of some good TLC. . .a lot of the original builders took shortcuts or used low-quality components (mainly due to access to parts or knowledge level, as batches of these were often built a a group by interested users groups).

 

I'll have to look through the documentation you have--there may be another page of errata out there. . .

 

The early HRD used crazily stacked chips due to the way it was modified over time. Ron Gries found ways to extend the board from its original 180K format (the HRD (no "+") and its earlier Midwest Computing incarnation), but didn't do a new layout, he just published a series of modifications to allow the board to e extended. Eventually, he did the HRD2000 layout to reduce these issues and make it easier to build again.

 

The DSR changed so many times over the early years that people would have been replacing them on a quarterly basis. They actually considered the fact that it was in RAM to be an advantage. Time has shown otherwise there. . .and the workarounds people have in place to make restoration easy after it is blown are a good story in their own right. The SNUG HRD16 does allow the DSR to be in ROM, but it is the only ROM-capable HRD out there that I know of.

 

If instructions exist on how to expand the HRD+ to greater than 384k, I would like to see them. I understand how the RAM would be expanded -- stack more 62256s, lift the CE pin, and probably wire them to the top '154, but it would be good to know the proper procedure, because ...

 

... I went ahead and drew up PCB replacements for the '138, '259, and '154 stacks (the latter is still made in a SOIC form factor). I exactly duplicated the stacks on the card, mostly because one of the '138s was bad on my board (left this out of the writeup), and I'm waiting on OSHPark now. If further expansion involves any or all of those three (and looking at the schematic, it'd have to), I would like to see the "canonical" way of doing this, revise the boards to match, and release the Eagle files for general use.

 

(I personally find troubleshooting stacked chips to be unpleasant, and I reckon others might too, hence the board design)

Link to comment
Share on other sites

The 384K HRD+ was as far as you could take the original Horizon boards. Later versions of the board were designed from the start to use larger chips--and thus expand further, but you have to start with one of those boards to get that larger size. I do have permission from Bud Mills to make a new release of the HRD 4000 boards, but he's still working on getting the artwork for them to me (he's not sure where the files are). I also have a bare HRD 400 board, so I can reconstruct it (I've done this for several other unobtainable TI boards in the past (always with permission)), but it is about third in my priority list right now (and I may just go with a variant using the NVRAM chips expandable to 20 MB or so. . .depending on available footprint for them). It will have the option of using a ROM DSR though--I would not want to lose the pointers to that much data because of a system burp. . .

  • Like 2
Link to comment
Share on other sites

I may just go with a variant using the NVRAM chips expandable to 20 MB or so. . .depending on available footprint for them.

 

Yeah, that's the trick with reproducing or refurbishing old gear; the specified parts may not have been made for thirty years and are unreliably obtainable. It's not just semiconductors -- I run into this all the time with my ancient VW squareback ('67, last year before FI, so most parts are one-year-only, plus the squareback was never officially released in this country).

 

If you decide to repop the 4000, I'd definitely want at least two. Especially if you go with a new clean layout with obtainable parts. I had a quick look at Mouser for a few of the RAM chips in the 4000 schematic, and they appear to be unavailable in DIP form nowadays.

 

On a related subject: which ROS is most stable with the HRD+? I'm using ROS001.DSK from whtech, which appears to be version 8.14F. There are a bunch of other disks in there, each probably containing a different version, and I'd like to upgrade/downgrade to the version that consensus says is the least dangerous.

Link to comment
Share on other sites

On a related subject: which ROS is most stable with the HRD+? I'm using ROS001.DSK from whtech, which appears to be version 8.14F. There are a bunch of other disks in there, each probably containing a different version, and I'd like to upgrade/downgrade to the version that consensus says is the least dangerous.

 

8.14F is fairly stable. I used it for years with no problems. As you may read in the forum, CFG and ROS 8.12 source have been reconciled to the 8.14F compiled programs. Corrections and enhancements were mostly unrelated to overall stability. I would stay away from anything below 8.14F with the possible exception of 7.38/7.39.

Link to comment
Share on other sites

 

8.14F is fairly stable. I used it for years with no problems. As you may read in the forum, CFG and ROS 8.12 source have been reconciled to the 8.14F compiled programs. Corrections and enhancements were mostly unrelated to overall stability. I would stay away from anything below 8.14F with the possible exception of 7.38/7.39.

 

Thank you. I'll keep this HRD+ at 8.14F.

Link to comment
Share on other sites

Mouser has over 2000 of the 512k sram pdips in stock.

 

Didn't Check on the 62256s but those are usually available from multiple sources.

 

Almost all 74ls ics are easily found in pdip (at least in the states.)

 

I was looking for the largest chip in the HRD 4000 construction guide -- yes, you're right, there's a plethora of the Alliance 512k that looks pin-compatible with the HM66205, but I can't seem to find a pin-compatible substitute for the 1M chip.

 

Some of the more esoteric LS chips have been long-discontinued in PDIP form. The 74LS154, for example, is unobtainium in PDIP, but available in HCT as SOIC. That's pertinent to this discussion, because the '154 handles most of the address decoding. If the original board artwork were used, a SOIC-to-PDIP adapter would be needed ... and who knows how long that chip will be available in *any* form.

 

(edit: '154 not available in any form as LS, but HCT SOIC exists)

Edited by ckoba
Link to comment
Share on other sites

I'm not sure if I'm qualified to make any comments, but as a user having read this thread and many others over the past couple of years I've begun to wonder if component accessibility, component durability and customer serviceability are taken into account in the design phase of new updated or replacement designs.

 

1) As the old guard are starting to die off, there are fewer and fewer people with the knowledge and skill to fix items like Geneve's, HRD's and other things. How long will it be before the last working TI on Earth silently passes away?

 

2) On the component issue, there are lots of cheap parts coming out of China, but I wonder how durable they are. Will these components being put into new cards last?

 

3) On the design, I know socketing chips is more expensive, but for future repair, this is a route I would want. Not many youngsters have ever picked up a soldering iron. Will the next generation even attempt repair?

 

4) Updated design choices. Are these new cards being designed to use old legacy parts that have already been on the shelves for 25 years, or are they being designed to use newer components that may have a chance of lasting and still being replaced in another 25 years?

Link to comment
Share on other sites

Unicorn Electronics actually has 74LS154s in stock. . .they also have the 74154s and the 74HCT154s, all in 24-pin PDIP.

 

(I assume you're talking about the one in PA)

 

Oh, huh. No kidding, and they're (relatively) cheap too. Good to know if my SMD '154 daughterboard doesn't work out. I see they also carry Apple 1 and ][ "period correct" repair kits. Am I correct in guessing that these guys are sitting on a big pile of old chips and cater to the retro repair crowd?

 

Really, though, that part is EOLed in DIP, I wouldn't count on it being available forever, and having silicon unavailable for a repair job is a serious bummer.

 

Anecdore: at my old job, we actually had to kill a very popular consumer device (that looked like an Intellivision controller) because we couldn't source drives for it anymore. The argument was made that it could be redesigned to use a SATA drive (prototypes exist, and some of us still have them), but management wanted to shoehorn other stuff into it (proprietary earbuds, for example) and the team finally gave up.

Link to comment
Share on other sites

(let's see if I can get piecemeal quoting working. Apologies if this doesn't format right)

 

 

 

as a user having read this thread and many others over the past couple of years I've begun to wonder if component accessibility, component durability and customer serviceability are taken into account in the design phase of new updated or replacement designs.

 

Thank you. That was what I was driving at. This is why I'm wary of using single-source parts, or obsolete parts, or GAL/PAL/FPGA in designs that I plan to keep around for more than a few years ... because without parts, they're just paperweights and wasted money.

 

 

 

1) As the old guard are starting to die off, there are fewer and fewer people with the knowledge and skill to fix items like Geneve's, HRD's and other things. How long will it be before the last working TI on Earth silently passes away?

 

*shrug* Depends on the newer generations' willingness to learn how things work, or the willingness of users to transform into repair techs. I personally think that retrocomputing using real iron (not emulated) is going to last about another decade, tops, before MESS takes over. There may be a few holdouts, and the TI chips appear durable, but they're doing very damned well to have lasted thirty-forty years -- the chip death rate curve will go exponential soonish.

 

 

2) On the component issue, there are lots of cheap parts coming out of China, but I wonder how durable they are. Will these components being put into new cards last?

 

 

They aren't. I have spent an unreasonable amount of time at mainland Chinese factories over the past decade (which contributes to my crankiness), and I can speak authoritatively on this subject. I would not use China-sourced retro/obsolete chips. In fact, I would not use China-sourced *anything* if I could possibly help it. This discussion really deserves a thread of its own; I have a lot of first-hand data to back up my assertions.

 

 

3) On the design, I know socketing chips is more expensive, but for future repair, this is a route I would want. Not many youngsters have ever picked up a soldering iron. Will the next generation even attempt repair?

 

 

I partially answered this in 1). Can they? Yes. Will they? No, probably not. Again, I could tell stories about the California-based "electrical engineers" that would be sent out to China to do a tour. They didn't solder. Soldering was beneath them, a thing that should be done by the Chinese working on the line. Truthfully, I don't think they knew how.

 

 

4) Updated design choices. Are these new cards being designed to use old legacy parts that have already been on the shelves for 25 years, or are they being designed to use newer components that may have a chance of lasting and still being replaced in another 25 years?

 

 

Well, that's Ksarul's baliwack, he's the guy that mentioned that he might do a run of HRD 4000s at some point. I'd hope he'd go with the latter, but I wouldn't blame him if he did the former. In that case, daughterboards to duplicate the functionality of unobtainable chips might be necessary if said chips accidentally fry.

 

Which, bringing this back to the HRD+, is why I designed a couple of daughterboards to replace the chip stacks (138, 259, 254). Cleaner, cheaper (taking shipping to Asia into consideration), and repairable. When I get them back from OSHPark, I will test them. If they work, I will post the .sch and .brd files here for others to use for repair. If they don't work, I'll fix the glitch and restart the process.

 

With the HDX+ (or HDX2), the hardware is all off-the-shelf. Based on Ksarul's excellent proto board, it'll have a couple of '138s for address decoding, an EPROM slot (27xx-compatible), and a 16550. Nothing exotic -- no PALs, GALs, just a ROM and an ACIA. It's being done that way because those parts are going to be in production for the viable lifetime of the TI hardware (and because RAM DSRs are sick and wrong). The last thing I (or anyone wants) is a solution that needs exotic and expensive parts (Thierry's IDE board comes to mind).

 

 

Edited by ckoba
Link to comment
Share on other sites

On board design and parts, one of the things I have regularly run into is the desire of the remaining folks within the community who like to build things to stay with through-hole parts, as their eyesight (or steadiness of hand, or even their available tools) are not well-suited to SMD soldering. I have the equipment, skills, and steadiness to work in that area, but a lot of the folks building my designs don't. I do hunt around to make sure that I can get sufficient parts to build a run of boards using one of the older designs at a reasonable price--or that project dies on the vine. In cases where the original parts cannot be found (but for which I can redesign it to use more modern parts that meet my primary design goal of easy assembly by a semi-skilled user of a soldering iron), I go that route with the project. If I know that some component or other will be HTF in the near future, I try to make sure I have sufficient stocks of that part to support the board indefinitely. I also check my go-to vendors for HTF parts (Unicorn Electronics in Alaquippa PA is great, as they have large quantities of HTF NOS parts on hand. I also go to some of the wholesale parts vendors that I've got a good relationship with, as they can often get me things that are otherwise unobtainiun at the retail level.

 

And I'm glad you like the Protoboard, ckoba. not many people have tried to use it yet (and I've still got about 20 of them on-hand from my last order, so they will be readily available for anyone wanting to build one once you have the design for the HDX2 finalized). And let me know if you find any issues with it--as you're probably going to push it harder than anything that it's been tested with yet. :) If anything does crop up, I will use that feedback to improve the next run of boards (and if you think it needs something that isn't already there, let me know and that can be implemented as well).

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...

The Mouser order finally cleared customs, so I could see if my daughterboards could replace the chip stacks. (and finish off The Prototype That Shall Not Be Mentioned )

 

The good news: the '138 worked fine. Three 74ACT138s, a 4.7k resistor, and a DIP header did the job. Uses around 30% of the power of the original stack, probably less. That's peanuts compared to the rows of 62256s sucking down power, but I have a cunning plan for them.

 

Writeup and discussion of the other two daughterboards is here: https://www.disavowed.jp/index.php?/archives/18-Daughterboard-replacement-for-Horizon-HRD+-chip-stacks.html

 

Cheers.

  • Like 2
Link to comment
Share on other sites

The 384K HRD+ was as far as you could take the original Horizon boards. Later versions of the board were designed from the start to use larger chips--and thus expand further, but you have to start with one of those boards to get that larger size. I do have permission from Bud Mills to make a new release of the HRD 4000 boards, but he's still working on getting the artwork for them to me (he's not sure where the files are). I also have a bare HRD 400 board, so I can reconstruct it (I've done this for several other unobtainable TI boards in the past (always with permission)), but it is about third in my priority list right now (and I may just go with a variant using the NVRAM chips expandable to 20 MB or so. . .depending on available footprint for them). It will have the option of using a ROM DSR though--I would not want to lose the pointers to that much data because of a system burp. . .

 

(been busy, haven't had much TI time, sorry for the late reply)

 

I think the HRD+ can go to 768 with a second layer of 62256s if the '154s are piggybacked, but I'm not going to try it just yet. I've been looking very hard at the schematic, trying to a) understand it and b) refactor it for replication, and I see the following:

 

The top three address bits (A0-A2 if you're TI, A13-A15 if you're the rest of the world) aren't buffered. They go straight into a '138, and one shows up later on in the chip select chain '259s. This results in one '245 and two '244s, versus the three on your proto board (which I consider the definition of the bus interface spec -- it's done right).

 

It looks like the low address lines (up through A11 or so) are taken directly from the buffered bus, then 13/14/15 are put through an additional 259 (buffer part), and further (generated) address lines are created by that same 259 by strobing the data in through A0; after all of that's over, it's presented to a '154 for demux/CS.

 

Were there odd address timing glitches on the HRD series? I ask because I see similar things in the HRD4000 schematic -- addresses showing up very late in the chip select chain, but I don't see any logic in the schematic that gets the address lines all set for the chip, then hits the CE/OE line and takes the chips out of tristate.

 

I can see situations where the wrong data would be presented to the bus because the correct address isn't set up in time to be read by the bus. Or am I missing something really basic about the design? Or is it just depending on the '154 CS to do the right thing regarding the bus?

 

I ask because I think this can be done better with the large SRAM now available, but am worried about timing.. A11 and upward need to be generated by the board, sure, which means that the DSR expects to map 4k chunks. I've pencilled out a design that takes the '154s out of the equation in favor of a couple of 512kx8 SRAMs, but I'm unsure if synthesizing A19 and A20 through a second '259 is going to introduce timing issues.

 

Thoughts?

Edited by ckoba
Link to comment
Share on other sites

It turns out that I'm an idiot (but you all knew that already). The '154s are a 4-to-16 demux, and as such their chip select is functionally the same as the chip select for a 512kx8 SRAM.

 

Remove them and plug inverters into the outputs of the 154-selecting '138, and that should do the right thing. Since the CS (actually OE, because that tends to be faster) appears at the very end of the gate chain, I think maybe this avoids putting data on the bus before the addresses are all set up.

 

Attached is a schematic (Eagle format) of a two-meg-capable HRD+ clone, incorporating known errata. I say "two-meg-capable" because I've only done the CS for two expansion memory chips; it can handle three megs as-is with no additional parts, and can go to four with an additional '04. There are no bypass caps yet, and the part for the polarized caps is too big.

 

Just in case someone is curious or is repairing a HRD+. The schematic matches the real HRD+ right up to the point where the '154s are connected, except I've converted the address and data lines to match normal convention versus backwards TI convention.

HRD+_Clone_Schematic_v1.0.zip

  • Like 1
Link to comment
Share on other sites

It turns out that I'm an idiot (but you all knew that already). The '154s are a 4-to-16 demux, and as such their chip select is functionally the same as the chip select for a 512kx8 SRAM.

 

Remove them and plug inverters into the outputs of the 154-selecting '138, and that should do the right thing. Since the CS (actually OE, because that tends to be faster) appears at the very end of the gate chain, I think maybe this avoids putting data on the bus before the addresses are all set up.

 

Attached is a schematic (Eagle format) of a two-meg-capable HRD+ clone, incorporating known errata. I say "two-meg-capable" because I've only done the CS for two expansion memory chips; it can handle three megs as-is with no additional parts, and can go to four with an additional '04. There are no bypass caps yet, and the part for the polarized caps is too big.

 

Just in case someone is curious or is repairing a HRD+. The schematic matches the real HRD+ right up to the point where the '154s are connected, except I've converted the address and data lines to match normal convention versus backwards TI convention.

Even an engineer can have a bad day :)

Link to comment
Share on other sites

Even an engineer can have a bad day icon_smile.gif

 

Thanks for that. All in all, it was a so-so day. The Project That Must Not Be Mentioned needs a minimal DSR to verify that it's wired in right, and apparently I suck at TMS9900 assembly code, so I played with the HRD+ clone instead.

 

I found an error or two relating to the battery backup circuit in the schematic (to wit, the RAM wasn't being powered by it). That's been fixed, and I think I have enough parts to do a quick prototype for design verification.

 

If the redaction of the '154s works, I'd like to route up a .brd file and make it available for people who want a RAM disk but can't find one. Ksarul, you've got a license to reproduce the HRD4000, but you mentioned that you didn't have everything you need to do so.

 

I don't know where this HRD+ clone stands from a copyright perspective (and I spent a *lot* of time in China, so "copyright" sort of dropped from my lexicon), but it's polite to ask: would you (or anyone you can think of) have a problem with a four-meg-capable HRD+ clone? I wouldn't sell them, because that's a) not feasible given where I am and b) against my rabid adherence to the GPL in both hardware and software ... but I would like to post the board file for people to fab from, say, Oshpark.

Link to comment
Share on other sites

As your board is actually a redesign of the HRD (and there are several others out there that did the same thing) that maintains compatibility with the original design, I have no problem with it--and based on Bud Mills transfer of the rights to build them to me last year, you have my permission to do this clone. My eventual plan is to extend the 4000 series board to something much larger than the 8MB it is now capable of, so your project is actually a complementary thing to mine.

  • Like 1
Link to comment
Share on other sites

I ask because I think this can be done better with the large SRAM now available, but am worried about timing.. A11 and upward need to be generated by the board, sure, which means that the DSR expects to map 4k chunks. I've pencilled out a design that takes the '154s out of the equation in favor of a couple of 512kx8 SRAMs, but I'm unsure if synthesizing A19 and A20 through a second '259 is going to introduce timing issues.

 

Thoughts?

 

To correlate what you are seeing, be aware the RAMdisk presents memory in the 0x4000-0x5fff space as follows:

 

0x4000-0x57ff 6K of the 8K static RAM, always visible while the card is actively in use, contains the device driver/DSR.

0x5800-0x5fff 2K pages, mapped in from the pool of 8/32/128/512K RAM chips housing the actual data for the 'ramdisks'.

 

The ROS/DSR accesses sectors by mapping in a corresponding 2k page, computed by adding the current disk's offset (in memory) to the desired sector within that disk. Calculations are relatively straightforward. There is also some primitive detection to determine whether the RAMdisk itself is an 8-bit or 16-bit RAMdisk, from the addressing perspective. This may or may not play into your re-design; I mention for awareness only.

 

Edit: here is how the configuration (CFG) program determines the card type. The 32K chip test implies 32K and higher capacities. Also, I should be careful about using the 8-bit/16-bit terminology above, as it means different things depending on context.

 

 

      CLR  R1
       LI   R2,>5800
       LI   R3,>5AA5
       LI   R4,>0909
       LI   R5,>8001
       LI   R6,>0101
       LI   R7,>0001
       LDCR R7,0              Turn on the card to be tested
       SBO  0                 Incase of a 8 bit CRU decoder
       MOV  *R2,R0            Save the test area of memory
       MOV  R3,*R2            Write the test value of >5AA5
       C    *R2,R3            Check if data has been written
       JNE  CHKEND            Nope, so card is not an HORIZON
 
       LDCR R4,8              Try to select a different 2K page
       C    *R2,R3            Check if data has changed
       JEQ  CHKEND            Nope, so card is not an HORIZON
 
       LDCR R6,8              Switch back to old 2K page
       C    *R2,R3            Check if data has changed back
       JNE  CHKEND            Nope, so card is not an HORIZON
 
       INC  R1                HORIZON 8K or 32K or RAMBO
       LDCR R7,0              Check if HORIZON is 8K*8 or 32K*8
       C    *R2,R3            Check if data has changed
       JNE  CHKEND            Yes,  so card is an  8K*8 HORIZON
       INC  R1                HORIZON 32K or RAMBO/HORIZON
 
* RAMBO option:
       LDCR R5,0              Try to select the 8K page mode
       C    *R2,R3            Check if data has changed
       JEQ  CHKEND            Nope, so card is an 32K*8 HORIZON
       INC  R1                Yes,  so card is an RAMBO/hORIZON
CHKEND LDCR R7,0              SWITCH BACK TO 2K MODE!
       SBO  0
       MOV  R0,*R2            RESTORE VALUE
       MOV  R1,R1
       JNE  ENDCHK
Edited by InsaneMultitasker
Link to comment
Share on other sites

As your board is actually a redesign of the HRD (and there are several others out there that did the same thing) that maintains compatibility with the original design, I have no problem with it--and based on Bud Mills transfer of the rights to build them to me last year, you have my permission to do this clone. My eventual plan is to extend the 4000 series board to something much larger than the 8MB it is now capable of, so your project is actually a complementary thing to mine.

 

Thanks for that. There goes another one of your prototype boards :)

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...