• Please review our updated Terms and Rules here

PC-Retro Design Files ( IBM 5150 Clone )

Alllllmost got it. The horizontal retrace stuff doesn't work. And the window bar is now becoming horribly incorrect.
 

Attachments

  • area5150.png
    area5150.png
    59.9 KB · Views: 12
I have such mixed feelings about the overscan. I doubt I'll implement it unfrotunately since it's wasted space 99.9% of the time. :-/ The only other alternative is to do something where the window itself literally overscans. Because 99.999% the border is either black or a boring extension of the background color.
 
The CGA is a fixed frequency device. You just need to pick a viewport into the 912x262 field it puts out. You can show the overscan when it has some use (like in Area 5150, AlleyCat, etc) and hide it otherwise.

The "boring extension" of the background color is essential to capture people's memories of a thing. Commander Keen IV just feels *wrong* without the cyan border...
 
I converted OP's original KiCad project to version 9. I made a few small edits to fix DRC errors and align it with an original IBM board I have in hand. I also augmented the BOM with links to currently in-stock parts(except for the ROMs), in case anyone wants to attempt to build one. FWIW, JLCPCB quoted $60 for 5 boards plus $24 shipping(standard mail), so you are better off ordering a pcb from OP, unless you want to customize the board.

Enjoy!
https://github.com/kev-ju/PC-Retro-MTM
 
I converted OP's original KiCad project to version 9. I made a few small edits to fix DRC errors and align it with an original IBM board I have in hand. I also augmented the BOM with links to currently in-stock parts(except for the ROMs), in case anyone wants to attempt to build one. FWIW, JLCPCB quoted $60 for 5 boards plus $24 shipping(standard mail), so you are better off ordering a pcb from OP, unless you want to customize the board.

Enjoy!
https://github.com/kev-ju/PC-Retro-MTM

I've been beaten to something twice in this thread :D

I was attempting to update the symbols and such to more modern equivalents, add page links and some other modern KiCad features, but it will take some time.

Just curious, can you elaborate on the differences on the PCB you tweaked?
 
I've been beaten to something twice in this thread :D
Sorry! I know you were working on this but I had some free time and got kind of impatient ;)

I was attempting to update the symbols and such to more modern equivalents, add page links and some other modern KiCad features, but it will take some time.
The symbols used threw me for a curve as well, but after reading up on the rationale of that design discipline, it makes sense. OP's schematic follows the original IBM drawing, so I decided not to mess with it beyond repositioning a few things and adding some notes.

Just curious, can you elaborate on the differences on the PCB you tweaked?
Here is OP's top gerber (red) XORed with mine (green):
  • You can't see it here, but I found that the board outline of the original was slightly skewed, maybe 1mm off, making the board not rectangular, so I fixed that.
  • I added the the pads around the mounting holes on the top and bottom layer to match the IBM board.
  • Along the top edge right of center, you can see where I removed a via that was connected on only one side. I also removed a capacitor footprint that was not placed on any version of the IBM board I could find pictures of. Under that, I moved a via and track slightly to provide a bit more clearance for the TD2 component pad.
  • At the top left edge, I added a capacitor that is on some versions of the IBM board and not on others. The IBM schematic called for a 47pF cap on the keyboard power pin for some reason. It's not enough capacitance to make any difference in parallel with the few-thousand pF between the 5V and GND planes. 🤷‍♂️ I changed it to 47n. The other capacitors in the area are 47pF and connected to the keyboard data lines. OP had this in his schematic (also in the IBM drawing) but on OP's board file they were connected between 5V and GND.
  • Moving down from there to just above the midline of the board is a trace and jumper I added to provide the option to connect the RESERVED line of the ISA bus. I have one IBM board with this connection and one without.
  • Moving across to the right, there are a few isolated or single-sided vias (red dots) that I removed.
  • On the right edge, I had to move a few traces over to make room for the metallic pad around the mounting hole. Under that are two decoupling caps that some versions of the IBM board place.
  • Moving left are two traces hanging off the RAM data lines that I removed. These are present in some early IBM board versions but not later ones (they look like copy-pasta).
  • I changed the silkscreen to more closely resemble the style used by IBM, with the angled indents used to denote pin 1 of ICs, and text height and width that match better. I did leave the text orientation that OP used; I like it better than the IBM version. I also left some notes around the dip switches and power connectors.
  • The small red circles near the power connectors and the large ones across the board are mounting holes covered by the drill file. I guess this is an early KiCad plot setting.

1774967529209.png
 
Sorry! I know you were working on this but I had some free time and got kind of impatient ;)


The symbols used threw me for a curve as well, but after reading up on the rationale of that design discipline, it makes sense. OP's schematic follows the original IBM drawing, so I decided not to mess with it beyond repositioning a few things and adding some notes.
Don't get me wrong, I was planning to keep everything more or less the visually same, it's just that the schematic uses the old Kicad 4 style symbols - if you did 'symbol rescue' you know this, they're just a bit large and look different than the new KiCad symbols. It may just be nitpicking.


Here is OP's top gerber (red) XORed with mine (green):
  • You can't see it here, but I found that the board outline of the original was slightly skewed, maybe 1mm off, making the board not rectangular, so I fixed that.
[snip]

Thanks for this. I may fork your fork. I am ultimately interested in having something as close to the OEM 5150 as possible - while still crediting MTM Scientific and mmruzek's work, of course. Someday I'd like to adapt it into a 5160 schematic as well.

I also happened to notice that the Tandy 1000 service manual printed all the PCB masks. I did a few experiments with auto-tracing them in Affinity, there may be a way to reproduce the Tandy 1000 motherboard without a lot of tedious labor as well, but it will also need verification against the real thing. And sadly they did not bother updating for the 1000A, they just circled "stuff that changed"
 
something as close to the OEM 5150 as possible
I was considering buying a late '84 board and depopulating it to do exactly that, but I would have felt bad about it. :cry: If anyone has good, undistorted front and back images of one, or a non-functional one that they are willing to sell cheap, I'd be willing to make a branch for that. OP's board isn't pixel perfect but it's not far off.
 
I was considering buying a late '84 board and depopulating it to do exactly that, but I would have felt bad about it. :cry: If anyone has good, undistorted front and back images of one, or a non-functional one that they are willing to sell cheap, I'd be willing to make a branch for that. OP's board isn't pixel perfect but it's not far off.

If I ever see a hopelessly corroded board on eBay I will snap it up for such a purpose. I've been doing exactly that with the Seequa Chameleon, and I discovered more than I ever wanted to know about the melting point of old phenolic resin....
 
I also happened to notice that the Tandy 1000 service manual printed all the PCB masks. I did a few experiments with auto-tracing them in Affinity, there may be a way to reproduce the Tandy 1000 motherboard without a lot of tedious labor as well, but it will also need verification against the real thing. And sadly they did not bother updating for the 1000A, they just circled "stuff that changed"

Is this the manual you are referring to? https://archive.org/details/tandy-1000-a-service-manual-supplement/page/n41/mode/1up

The updated schematics start on page 39, if I'm understanding correctly.
 
I converted OP's original KiCad project to version 9. I made a few small edits to fix DRC errors and align it with an original IBM board I have in hand. I also augmented the BOM with links to currently in-stock parts(except for the ROMs), in case anyone wants to attempt to build one. FWIW, JLCPCB quoted $60 for 5 boards plus $24 shipping(standard mail), so you are better off ordering a pcb from OP, unless you want to customize the board.

Enjoy!
https://github.com/kev-ju/PC-Retro-MTM
Have you already soldered the board on the updated project?
 
Have you already soldered the board on the updated project?
Welcome to the forum @DeCodeR !

I have not fabricated any boards from the updated design files. I have the same problem that GloriousCow described, in that I have no idea what I would do with yet another 5150 😆 I did this work mainly to help out people implementing simulators/emulators.

If you are interested in building one, please keep these points in mind:
  • OP sells single boards for $50, or a whole kit for $350
  • Several parts are hard to find. You will need to track down the ROMs, LS322, delay line, and possibly the OSC capacitor.
  • The delay line used on this board is a different (DIP8) footprint than the original 5150(DIP14). If you are interested in fabbing something that is closer to the original board, I can do this modification, and also back out a few changes I made during the update - let me know. If you do this yourself, I'm happy to accept a PR.
  • You can only put 256k of RAM on the board, to get to 640k, you will need to use an ISA expansion card. MicroCoreLabs XTMax, Monotech MicroRAM, or Lo-tech 1MB cards all offer 0 wait-state access.
  • The PC/XT computers use a different expansion slot pitch and alignment than AT, so there are no cases available in which to mount the board, aside from actual 5150/5160/clones. There are relatively inexpensive ATX to AT power supply adapter cables available, provided that you don't need the -5V rail.
 
The PC/XT computers use a different expansion slot pitch and alignment than AT, so there are no cases available in which to mount the board, aside from actual 5150/5160/clones.
I think you may have written that in a hurry. "XT" and "5160" should be excluded. The IBM 5160 (IBM XT) has:
- Different 'expansion slot pitch' to that of the 5150, and
- The connector for the keyboard is in a different location; and
- No hole in the case to accommodate the cassette port connector.

A 5150 versus 5160 comparison photo is at [here].
 
My five cents

I think you could squeeze even more if you changed the memories, both ROM and RAM, in your design.

You could chain every single image and program it in a single ROM. Regarding the RAM, a combination of a 512KB + 12KB SRAMs will give you the desired 640KB of max RAM supported by design.
You could also remove the original connector and employ an ATX one, with an optional power converter circuit to generate the -5V for all these ATX power supplies that don't provide it.

Also, make your ROM/Flash/Wathever compatible with a well-known programmable memory. MK36000/MOS 23xx were both mask-based or OTP. Sticking to them is clearly a bad idea. It adds more points of failure due to their age, add costs in various places and add select logic to make them work.

Please answer if you have answers or doubts about my proposals.
 
My five cents

I think you could squeeze even more if you changed the memories, both ROM and RAM, in your design.

You could chain every single image and program it in a single ROM. Regarding the RAM, a combination of a 512KB + 12KB SRAMs will give you the desired 640KB of max RAM supported by design.
You could also remove the original connector and employ an ATX one, with an optional power converter circuit to generate the -5V for all these ATX power supplies that don't provide it.

Also, make your ROM/Flash/Wathever compatible with a well-known programmable memory. MK36000/MOS 23xx were both mask-based or OTP. Sticking to them is clearly a bad idea. It adds more points of failure due to their age, add costs in various places and add select logic to make them work.

Please answer if you have answers or doubts about my proposals.

I don't see a need to complicate things with multiple SRAMs, just add one 1MB SRAM and call it a day.
 
The kit is described as, "a faithful reproduction of the classic IBM PC 5150 motherboard from 1982."
And so I don't believe that the creator, mmruzek, would entertain those kinds of changes.

Well, he has stopped selling the kit, so it is about what might be done with the design files in the future. In this post https://forum.vcfed.org/index.php?threads/pc-retro-design-files-ibm-5150-clone.1247940/post-1489306 he agreed to license the files CC BY-NC 4.0, unless he has changed his mind we can make all the modifications we like, we just cannot commercialize them.
 
Back
Top