Cloning a Rare ISA Card to Use a Rare CD Drive

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

I wanted to share this with the community in case anyone needs this card for their computer!

Tech Tangents has open sourced the design in case you need one yourself!

πŸ‘οΈŽ︎ 8 πŸ‘€οΈŽ︎ u/billyfudger69 πŸ“…οΈŽ︎ Oct 01 2022 πŸ—«︎ replies

Lol why do I feel like I have this card in a box somewhere

πŸ‘οΈŽ︎ 5 πŸ‘€οΈŽ︎ u/t8ag πŸ“…οΈŽ︎ Oct 02 2022 πŸ—«︎ replies

Reminds me that I made a board to use a Panasonic MKE interface drive.

Not so much "made", but heavily re-wired a discrete component parallel port card. Using the driver source code and my knowledge of simpler computer busses. Worked okay.

I was poor and could not afford a proper IDE CD-ROM drive at the time.

πŸ‘οΈŽ︎ 5 πŸ‘€οΈŽ︎ u/classicsat πŸ“…οΈŽ︎ Oct 02 2022 πŸ—«︎ replies

It’s great to see weird stuff like this getting cloned so more people can have it.

πŸ‘οΈŽ︎ 3 πŸ‘€οΈŽ︎ u/leadedsolder πŸ“…οΈŽ︎ Oct 01 2022 πŸ—«︎ replies

This is great work. We need more of this!

πŸ‘οΈŽ︎ 3 πŸ‘€οΈŽ︎ u/willsowerbutts πŸ“…οΈŽ︎ Oct 02 2022 πŸ—«︎ replies

Pretty cool! If someone writes code to make cdrtools work with this drive, I'll take it.

πŸ‘οΈŽ︎ 3 πŸ‘€οΈŽ︎ u/FUZxxl πŸ“…οΈŽ︎ Oct 02 2022 πŸ—«︎ replies
Captions
this is a Philips cm100 the first CD-ROM drive ever this took me years to get and then took longer to get working but this is not the story of this drive I will tell that another day this is how I reverse engineered a part to get the drive working apart so rare I'm not sure I would ever be able to get one early CD drives used all sorts of different protocols for connecting IDE and scuzzy were standard but mitsumi Panasonic Sony and Hitachi all had their own interfaces at one point Phillips did this as well though being first this was more forgivable this interface was known as lmsi laser magnetic storage International it came in both an internal IDC header and external db15 form factor and almost all cards only have one or the other the drive I got did not come with its card which makes sense when you buy something like an expensive CD drive such as this mentally you consider the drive itself to be the investment in the card it came with is an afterthought so things like the cm100 are frequently kept and storage somewhere while the computer that had the card needed to use it got tossed out for being obsolete so I was on the hunt to get an lmsi card to go with my drive the vast majority of LMS side cards turned out to be internal and there were actually a number of sound cards that had integrated lmsi functionality unfortunately though these are electrically incompatible and this is somewhat obvious without much electrical knowledge because there are eye seeds missing right by the external connector on cards with the PCB that could be used for either type I asked around when I first bought my cm100 if anyone had any cards or pictures of them and we were able to figure out looking at some fuzzy photos that they were differential line buffers meaning the two are electrically incompatible but no cards were available so I started watching eBay much more closely for cards the sound cards could all be ruled out because none of them had an external connector only game ports now about a year and a half went by with no external cards coming up then one day while streaming I had one of my viewers let me know that they saw a cm260 lmsi card with an external connector show up on eBay there was hope so I bought the card which was overpriced and untested but literally the only one with an external interface that I'd ever seen for sale I was on pins and needles to test it I had no idea if my cm100 works and I had to buy whatever db15 cable I thought might work off Amazon to connect it drivers were actually not a problem thankfully because there was a fairly good Archive of many Philips CD drivers which include some for the cm100 and the cm260 but they were different and seemingly not compatible which was a little weird once the card was delivered I brought it to the office with my cm100 and put it in my test bench as soon as I could I got the Dos drivers for the cm260 installed and fired it all up and who's greeted with this it turns out there are different generations of lmsi has a protocol that are not compatible and the cm100 being the first drive needed a much older control card I had filmed all of this but I was pretty crushed and deleted all of the footage and frustration because I thought I was back to square one of waiting to buy an even rarer card that I had no idea how many years would go by before I even saw one but I had a wild hair of an idea the only reason I knew about the cm100 was one video from 2013 from someone who demonstrated working with an IBM this is to the best of my knowledge the only functional example of a cm100 known to exist this video was from nine years ago at the time I'm writing this script and their Channel only had 553 subscribers the video showed the control card they were using a cm153 it looked like all standard off-the-shelf logic chips unlike the cm260 which has a custom IC So in theory it might be possible to clone the card I've never done that before but I didn't really see a future where I could manage to buy a card like that in a reasonable amount of time so I decided to comment on the video to see if they can get some better images of the card and make them available again this was a total shot in the dark but they replied back and they were willing to make scans of the card we were able to get in contact outside of YouTube and who I now know as Roland was able to send me fantastic images of the card that were just what I needed this isn't the end of Roland helping but at this point alone I need to stop and thank them for this step because it's not uncommon for people with one-of-a-kind items like this to intentionally withhold information about them and keep the perceived Rarity and value up I am especially looking at you Prototype game collectors Roland was incredibly gracious gave me the images and had no problem with me publishing them so seriously thank you Roland and to everyone here I highly recommend you go check out his channel because he takes a look at a lot of really cool stuff there with the high resolution images of the card now available the ball was in my court if I wanted to get my cm100 working the only thing stopping me was figuring out how to make the card now I've done a bit of electrical engineering work and know my way around laying out a PCB but fully reverse engineering something and recreating it was not something I had done before and laying out a PCB takes enough time by itself but I had no idea what level of effort this would be and to be honest I still don't actually know how long I spent on it I streamed a lot of the process on Twitch and I have 22 hours of recordings of just the design time phase but I was probably spending just as much time working on it off stream as well it was an all-consuming project now I'm going to give you an overview breakdown of the process here but if you really want to see exactly how I did it I'm working on putting up all of the stream recordings on my second Channel which I'll link below the first thing I did for the project was set up a GitHub repository and add the images I got from Roland I had a rough plan for how I was going to tackle this project using the software for image editing and kicad for the PCB work the first step was getting the images from Roland into an easy to see and work with format this continued to evolve over time but the basic idea was to Overlay the front and back images of the cart then I used some of the layer blending options to try and make the two sides mostly visible at the same time I ended up making two files one untouched and the other that I could actively work on the next step was to figure out what all the parts on the card actually were as originally thought every single part was a standard off-the-shelf component that would be possible to source with one minor exception the AMD 8251a this is a programmable uart that does serial data transfers though it's not actually rs-232 serial this was the only component it I couldn't actually buy new the other non-chip parts were mostly straightforward the top had one electrolytic cap that just buffers power for the uart and a timing Crystal that had the frequency printed on the PCB for the SMD stuff there are a bunch of pull up and pull down resistors for the external connector and a few caps for power smoothing to some of the chips more complicatedly there were two passive filters and load caps for the crystal unlike resistors SMD capacitors don't have labels on them meaning there is no way to tell what they are from the photos but you can figure out some values from Context the Caps that were just smoothing power are almost always 100 nanofarad so that was a pretty safe bet to use here the load caps for the crystal are actually something unique to the particular Crystal Part you use the original crystal was a Phillips branded part that I wouldn't be able to find so I would be using a new one with a data sheet available to calculate this that fact was one of the things that I learned during this process thanks to help I got from viewers in chat while I was working on this live I want to give a very special shout out and thank you to Helen Croft and majenko who are there for most if not all of the streams giving me tips and helping me figure stuff out now the last two capacitors that are part of the filter circuits may have been possible to figure out once I'd finished the board but towards the end of the project I actually asked Roland if it would be possible to measure them amongst a couple other checks and he was able to tell us what they were this in the end meant that all of the parts were known and could be sourced so the project could continue on with an idea of what the parts are the circuit could start to be laid out in a schematic in kikad and start figuring out what the trace is connected this step isn't strictly necessary it's possible you could just copy the shape of the traces into the PCB editor directly and just hope you don't make any mistakes but making the schematic helps highlight logical issues with the design as you work on it I also want to to make this design as complete as possible so on the very off chance someone else wanted to make one it wouldn't be that hard to figure out how it worked and actually this isn't in my script here but literally today as I'm going to the office to record this I had someone email me asking about the compatibility of this card with a completely different lmsi drive so I'm really glad that I went ahead and fully documented this as much as possible because this part might actually end up working for some other drives with some modifications now as I was working on the schematic I was marking over traces in this let me keep track of my progress from day to day I could have done a better job than mostly a single color on one layer but this was something I didn't think too much about and developed a better understanding of when it comes to reverse engineering and I would definitely try to make this clearer instead but the way that I did it this time worked out well enough the most difficult part of this was the fact that many of the traces ran under chips the most ideal way to reverse engineer PCB would be to take off all of the chips and just scan the bare board so everything is visible doing that doesn't inherently damage anything but it can stress out the copper sticking to the fiberglass and cause lifted pads so it isn't something I would ask someone else to do to something they owned this is where making the schematic really came in handy there were sections like the 8-Bit parallel bus from the 595s where all of the traces were not completely visible but within the context of knowing where the other signals were going it was easy enough to figure out this process of finding the paths of all the traces made up the bulk of the streams but it went smoothly enough the schematic reached a pretty good point where almost all of the connections had been mapped and I decided it was time to move on to starting the PCB so the rest of the missing ones could be tested on a proper layout to see what made the most sense when it came to how the board would be laid out I wanted to make my card as close of a clone as possible I had a few reasons for doing this for one I plan on using the card in future videos with the drive and I didn't want something like a weird purple PCB in my 5150 that would obviously stand out not being period correct and distracting this also ruled out things like using modern SMD parts that would be easier to Source another reason was that following the paths of the original traces as close as possible would naturally present errors made in the schematic as things didn't work out or didn't make sense there were enough hidden traces that I really didn't want that to happen as well so going for a near exact clone just made sense now hopefully if you're watching this video in the not too distant future cloning a PCB like this is a simple process with Kai Ken but as I'm writing this script the feature for this is still under active development and not yet practical to use so to make this possible with kaikad I abused some features of KDE the desktop environment on Linux I use I would open my reference images of the PCB in and then the PCB editor for kicad and force it to always be on top of other windows then for the real trick I would adjust the opacity of the kicad window to see through to the image of underneath this sucked and I was constantly adjusting the zoom level of the two programs to be the same but despite being such a hack method it worked and I was able to make a lot of progress with it I used that setup to match the original locations of the components and traces as close as I possibly could again I'm not trying to fool anyone into thinking this is an original card and I intentionally omitted some small things so it can be differentiated it's not like it matters though and the research I've done on the cm100 I've seen photos of possibly six different examples out there including mine and Roland's so it's not like there's a high demand to fake these cards for the four other people who have one now I had been streaming this for three weeks straight and was getting really tired of it but I pushed through and I ended up doing most of the PCB layout off stream just to get it done but by the end of it the uart started to become a big problem it is relatively enormous and hid a lot of traces under it at this stage I began leaning a lot on the help I was getting from Helen Croft and majenco because we really had to study how the rest of the schematic worked to figure it out and I had little familiarity with the signal architecture of the ISA bus you can make guesses on the paths of the traces but each time you mark down a potential path with one Trace you block the possibility of another Trace going where it crosses since we could see the entire underside of the board we knew where traces jumped over each other so it was a puzzle to figure out how the traces would have to be routed to not Collide and make sense logically around this time I was also contacted by der samler on Twitter who also had a cm153 and was able to take some photos of it this was more help than expected because it was actually a slightly different revision of the card and some of the traces were routed differently it didn't specifically reveal anything but it did give enough clues that made us even more confident in the final connections we had decided on we got to a point where we were confident in the schematic and board layout it made logical sense but still had a few things we weren't completely sure of so this is when I asked Roland about the capacitors and to check out continuity between a few pins to know if we got them right I heard back the next day that everything was a perfect match that was it the layout was electrically complete now just to order pcbs and parts after a few weeks I had everything ready to go and it was time to put the first card together and find out if the design was truly good the level of anxiousness I felt at this point was just so high because the potential of finally getting my CM 100 to work was in my hands in approaching fast I'm no stranger to assembling pcbs so I did that during one of my streams now I've definitely made layouts before where I made a bone-headed mistake like using the wrong Footprints not leaving enough clearance or getting the distance wrong between Parts but this went really smoothly it helps it was a clone of an already made board though it's also kind of funny the SMD stuff was really easy because all those parts are 1206 which is just massive compared to something like the now much more common 0603 size I did realize I screwed up when I flipped the board over and I didn't order sockets for the two chips that were dipped 20s but I was able to cut up some extra dip 16 sockets I had to make it work then it was time for the marathon of getting all the pins tacked in after that I remembered I still haven't bought a lead forming tool and dip ICS don't come with the pins bent straight down so you have to do that yourself then it was just one big cap and the connector away from being done the bracket here is a particular note it's actually a new part Helen Croft found it and it is an exact match dimensionally to the original spacing for the connector which is a really awesome touch since I wanted it to look as original as possible there isn't much to test on the card other than for a dead short across 5 volts so once it was finished it was time to put it in a computer and try it out I got out my task bench I built and used a fairly clean install of MS-DOS 622 I popped in the card for the first time without any drivers just to make sure it didn't blow up or anything it seemed fine so now came the time to really test it I mentioned there is a good driver archive for Philips CD drives and it has two different drivers that were either for the cm100 or the cm153 from what I'd gathered the drivers were only for the cards themselves which then just translated the commands to the CD drives so I was looking at the files for the cm153 in both of these archives I picked one of the drivers that had a program named CD setup to try with the card and the drive first it was meant to automate the copying of the appropriate files and set up your config sets in auto exec back files for you this program turned out to be terrible and fundamentally broken though how is it important because I could set up the drivers myself but it wasn't a good sign I did get the files needed copied and set up though and on the first boot it didn't work the driver loaded but it gave me a nebulous LMS Code 17 error at this point I need to stress how little documentation there is about this hardware and software there is one weirdly large manual scan that contains information about the cm153 and cm100 the cm153 portion is almost useful but it's basically just a longer worded version of the readme that comes with the drivers that don't say much more than what the parameter options are it also conflicts directly with the readme's by saying the cm153 file is not compatible with standard file systems when the read means specifically State that's exactly what they're for and the mythical High Sierra driver that the manual mentions only exists in the manual on the internet so that's no help the cm100 portion of the manual is somehow even more useless because it just tells you what the connectors are though it does have the drive pin out which was nice to confirm against the card telling me the cable should just be mostly straight through the manual does mention the dip switches on the back but those are just for setting an ID on the cable as a bus If You Were Somehow able to afford more than one of these every single photo of the back of a cm100 I've ever seen has always had them set to id1 so I don't think this was common and I had mine set that way already which was how I got it back to the troubleshooting though after the first driver which was version 2.2 didn't work I tried the other driver which was version 3.21 through the same LMS Code 17 error on every single system I tried while I was doing this I was wondering what drivers Roland was using his video showed driver version 2.2 and it was probably the exact same copy of it I got but I asked him for a copy of his drivers he was using anyway just to be sure but later I found out they were actually the same I was pretty frazzled at this point it wasn't working and I didn't know why the drivers reportedly documented and kind of terrible and both the card I made and the cm100 drive itself we're in unknown condition I didn't have a solid footing to start troubleshooting from I tried some basic debugging of the card to see if it was doing anything and it seemed like it was working just fine with power going where it needed and even the timing Crystal working fine the CD drive itself actually gave one hint that the laser could read discs because I found out it would throw its own kind of error for anything that wasn't a yellow book disk so both seemed like they might be good I got to the end of my last stream of the weekend of just debugging this and was feeling pretty bad about it I took the drive home with my compact portable to try out more testing the only thing I learned was just more confirmation that the drivers are terrible because they couldn't print the error number on the screen most likely due to the compact being a PC clone I decided to give up with that and go back to the office and only try testing with a real IBM which was what Roland used after all but before I got there one of the members in my Discord server Mega Linux had been poking around the driver Arc archive and notice that the readme for a seemingly unrelated driver showed it being used as a replacement for the cm153 file it was from an archive dated seven years after the release of the cm100 though and I wasn't in any way inspired by the possibility of it working digging around myself I found mention in some of the other drivers that they were designed to work with specific combinations of cards and drives which made me think finding the right set that would work here might be impossible I got into the office for my test with the IBM only the next day I had made bootable MS-DOS 3.3 the most period correct version disk images with the 2.2 and 3.21 drivers at this point because I'd also been having a lot of issues with my XT ID adapters but even with an IBM the right dos these drivers still through the same LMS Code 17 error as a last-ditch effort I decided to make up a new disk image with the later driver that was found I booted the disk image with the newer driver and it just worked I wish I had the camera on but I was actually also getting set up to do a bonus stream to do more debugging and I didn't expect that but I went live almost immediately after that and here's what happened so here's what happens you see what I'm seeing there um so Darby things going on maybe here um so the rest of that you know the um the drive e all that stuff it always was uh putting that out all right but you know it's driving let's let's go drive e okay let's do a dirt here laughs I have a functional Philips CM 100 and cm153 the card works I made no electrical changes that is my clone cm153 controller in my IBM 5150 currently booted from a gotek that is the Philips cm100 that I have and it is currently booted I'm going to put this CD copy of Wolfenstein in here go ahead and start it up run a der on here the CM 100 and my clone cm153 card work you guys want to try uh Wolfenstein on the test match now D der spun the disc boo yeah oh that's so exciting That's so exciting it's not fast [Laughter] oh One X of speed oh yeah oh yeah uh I should maybe stop here before the pixels get any larger in some content recognition uh gets triggered on Twitch so that's it that's how I got my Philips cm100 CD drive working with just some pictures but also with some help from some amazing people so thank you again to Roland Helen Croft majenko Mega Linux and also wizard Tim who sent a prr and GitHub to clean up some stuff on that the card design is open source and available in the GitHub repository I'll link below so anyone who wants to get a cm100 and I think maybe a few other early external lmsi drives working now can by building up one of these cards this was an incredible conclusion too a long adventure that I'm glad I was able to experience and share with you and I'm still kind of in shock I have a working Philips CM 100 well I hope you enjoyed this one and if you did you may want to subscribe because I will eventually be making a video about the history of the cm100 itself if you want to help support the channel and my Endeavors like this you can find me on patreon but that's it for now and I'll see you next time
Info
Channel: Tech Tangents
Views: 172,947
Rating: undefined out of 5
Keywords:
Id: 0W1t2_EJG9w
Channel Id: undefined
Length: 26min 51sec (1611 seconds)
Published: Fri Sep 30 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.